From 169ef8ad368a4b228124bfcd9a4da6fa5b001925 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 12 Nov 2024 09:58:29 +0000 Subject: [PATCH] Deployed cb8e7b352 with MkDocs version: 1.6.0 --- admin/kpanda/workloads/pod-config/health-check.html | 4 ++-- end-user/baize/jobs/pytorch.html | 2 +- end-user/baize/jobs/tensorflow.html | 2 +- end-user/insight/infra/cluster.html | 6 +----- end-user/insight/infra/node.html | 4 ++-- end-user/insight/quickstart/otel/java/index.html | 8 +++++--- end-user/insight/quickstart/res-plan/vms-res-plan.html | 4 ++-- end-user/kpanda/backup/deployment.html | 4 ++-- end-user/kpanda/backup/etcd-backup.html | 4 ++-- end-user/kpanda/configmaps-secrets/create-configmap.html | 2 +- end-user/kpanda/configmaps-secrets/create-secret.html | 2 +- end-user/kpanda/custom-resources/create.html | 2 +- end-user/kpanda/helm/helm-app.html | 2 +- end-user/kpanda/helm/helm-repo.html | 2 +- end-user/kpanda/namespaces/createns.html | 2 +- end-user/kpanda/namespaces/podsecurity.html | 2 +- end-user/kpanda/network/create-ingress.html | 2 +- end-user/kpanda/network/create-services.html | 2 +- end-user/kpanda/permissions/cluster-ns-auth.html | 2 +- end-user/kpanda/permissions/custom-kpanda-role.html | 2 +- end-user/kpanda/scale/create-vpa.html | 4 ++-- end-user/kpanda/scale/install-cronhpa.html | 2 +- end-user/kpanda/scale/install-vpa.html | 2 +- end-user/kpanda/workloads/create-cronjob.html | 4 ++-- end-user/kpanda/workloads/create-daemonset.html | 4 ++-- end-user/kpanda/workloads/create-deployment.html | 4 ++-- end-user/kpanda/workloads/create-job.html | 4 ++-- end-user/kpanda/workloads/create-statefulset.html | 4 ++-- end-user/kpanda/workloads/pod-config/env-variables.html | 2 +- end-user/kpanda/workloads/pod-config/health-check.html | 4 ++-- end-user/kpanda/workloads/pod-config/job-parameters.html | 4 ++-- end-user/kpanda/workloads/pod-config/lifecycle.html | 4 ++-- openapi/insight/v0.28.0.json | 2 +- openapi/kpanda/v0.32.2.json | 2 +- search/search_index.json | 2 +- 35 files changed, 53 insertions(+), 55 deletions(-) diff --git a/admin/kpanda/workloads/pod-config/health-check.html b/admin/kpanda/workloads/pod-config/health-check.html index d2a7f8cd3a..e6b4b028a3 100644 --- a/admin/kpanda/workloads/pod-config/health-check.html +++ b/admin/kpanda/workloads/pod-config/health-check.html @@ -360,9 +360,9 @@

使用 HTTP GET 请求检查 - name: Custom-Header value: Awesome initialDelaySeconds: 3 # kubelet 在执行第一次探测前应该等待 3 秒 - periodSeconds: 3 #kubelet 每隔 3 秒执行一次存活探测 + periodSeconds: 3 # kubelet 每隔 3 秒执行一次存活探测 -

按照设定的规则,Kubelet 向容器内运行的服务(服务在监听 8080 端口)发送一个 HTTP GET 请求来执行探测。如果服务器上 /healthz 路径下的处理程序返回成功代码,则 kubelet 认为容器是健康存活的。 如果处理程序返回失败代码,则 kubelet 会杀死这个容器并将其重启。返回大于或等于 200 并且小于 400 的任何代码都标示成功,其它返回代码都标示失败。 容器存活期间的最开始 10 秒中, /healthz 处理程序返回 200 的状态码。 之后处理程序返回 500 的状态码。

+

按照设定的规则,kubelet 向容器内运行的服务(服务在监听 8080 端口)发送一个 HTTP GET 请求来执行探测。如果服务器上 /healthz 路径下的处理程序返回成功代码,则 kubelet 认为容器是健康存活的。 如果处理程序返回失败代码,则 kubelet 会杀死这个容器并将其重启。返回大于或等于 200 并且小于 400 的任何代码都标示成功,其它返回代码都标示失败。 容器存活期间的最开始 10 秒中, /healthz 处理程序返回 200 的状态码。 之后处理程序返回 500 的状态码。

使用 TCP 端口检查

TCP 端口参数说明:

diff --git a/end-user/baize/jobs/pytorch.html b/end-user/baize/jobs/pytorch.html index 7779226017..c6980c9422 100644 --- a/end-user/baize/jobs/pytorch.html +++ b/end-user/baize/jobs/pytorch.html @@ -607,7 +607,7 @@

任务配置介绍任务运行环境

在这里我们使用 baize-notebook 基础镜像 和 关联环境 的方式来作为任务基础运行环境。

-

了解如何创建环境,请参考 环境列表

+

了解如何创建环境,请参考环境列表

创建任务

Pytorch 单机任务

diff --git a/end-user/baize/jobs/tensorflow.html b/end-user/baize/jobs/tensorflow.html index b889bd512a..131840f768 100644 --- a/end-user/baize/jobs/tensorflow.html +++ b/end-user/baize/jobs/tensorflow.html @@ -605,7 +605,7 @@

任务配置介绍任务运行环境

在这里我们使用 baize-notebook 基础镜像 和 关联环境 的方式来作为任务基础运行环境。

-

了解如何创建环境,请参考 环境列表

+

了解如何创建环境,请参考环境列表

创建任务

示例 TFJob 单机任务

diff --git a/end-user/insight/infra/cluster.html b/end-user/insight/infra/cluster.html index 5029634121..85ed2c78d8 100644 --- a/end-user/insight/infra/cluster.html +++ b/end-user/insight/infra/cluster.html @@ -574,7 +574,7 @@

操作步骤
  • 切换到 资源水位线监控 页签,可查看当前集群的更多监控数据。

    -

    集群监控

    +

    集群监控

  • 参考指标说明

    @@ -604,10 +604,6 @@

    参考指标说明 -

    Note

    -

    使用的具体指标可参考可观测性参考指标说明

    - diff --git a/end-user/insight/infra/node.html b/end-user/insight/infra/node.html index 3a231c878c..70494ed7ac 100644 --- a/end-user/insight/infra/node.html +++ b/end-user/insight/infra/node.html @@ -558,11 +558,11 @@

    操作步骤
  • 资源消耗 :所选节点的 CPU、内存、磁盘的实际使用量和总量;
  • 指标说明 :所选节点的 CPU、内存、磁盘读写、网络接收发送的变化趋势。
  • -

    节点监控

    +

    节点监控

  • 切换到 资源水位线监控 页签,可查看当前节点的更多监控数据。

    -

    节点监控

    +

    节点监控

  • diff --git a/end-user/insight/quickstart/otel/java/index.html b/end-user/insight/quickstart/otel/java/index.html index 6cb0ba48a3..cfaaa4e9b1 100644 --- a/end-user/insight/quickstart/otel/java/index.html +++ b/end-user/insight/quickstart/otel/java/index.html @@ -225,7 +225,7 @@ -
    +
    -
    +

    diff --git a/end-user/kpanda/workloads/pod-config/job-parameters.html b/end-user/kpanda/workloads/pod-config/job-parameters.html index 6c0ab5786d..b781ac526f 100644 --- a/end-user/kpanda/workloads/pod-config/job-parameters.html +++ b/end-user/kpanda/workloads/pod-config/job-parameters.html @@ -597,7 +597,7 @@ -
    +
    - +
    【类型】选填
    【含义】容器在收到停止命令后执行的命令。确保升级或实例删除时可提前将实例中运行的业务排水。
    --
    @@ -824,7 +824,7 @@

    停止前命令节点地址 【类型】选填
    【含义】请求的 IP 地址,默认是容器所在的节点 IP。
    --- + diff --git a/openapi/insight/v0.28.0.json b/openapi/insight/v0.28.0.json index 86c7d0b6fd..5403471ee1 100644 --- a/openapi/insight/v0.28.0.json +++ b/openapi/insight/v0.28.0.json @@ -9533,7 +9533,7 @@ }, "deletionTimestamp": { "type": "string", - "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be\ndeleted. This field is set by the server when a graceful deletion is\nrequested by the user, and is not directly settable by a client. The\nresource is expected to be deleted (no longer visible from resource lists,\nand not reachable by name) after the time in this field, once the\nfinalizers list is empty. As long as the finalizers list contains items,\ndeletion is blocked. Once the deletionTimestamp is set, this value may not\nbe unset or be set further into the future, although it may be shortened or\nthe resource may be deleted prior to this time. For example, a user may\nrequest that a pod is deleted in 30 seconds. The Kubelet will react by\nsending a graceful termination signal to the containers in the pod. After\nthat 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)\nto the container and after cleanup, remove the pod from the API. In the\npresence of network partitions, this object may still exist after this\ntimestamp, until an administrator or automated process can determine the\nresource is fully terminated.\nIf not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested.\nRead-only.\nMore info:\nhttps://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata\n+optional" + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be\ndeleted. This field is set by the server when a graceful deletion is\nrequested by the user, and is not directly settable by a client. The\nresource is expected to be deleted (no longer visible from resource lists,\nand not reachable by name) after the time in this field, once the\nfinalizers list is empty. As long as the finalizers list contains items,\ndeletion is blocked. Once the deletionTimestamp is set, this value may not\nbe unset or be set further into the future, although it may be shortened or\nthe resource may be deleted prior to this time. For example, a user may\nrequest that a pod is deleted in 30 seconds. The kubelet will react by\nsending a graceful termination signal to the containers in the pod. After\nthat 30 seconds, the kubelet will send a hard termination signal (SIGKILL)\nto the container and after cleanup, remove the pod from the API. In the\npresence of network partitions, this object may still exist after this\ntimestamp, until an administrator or automated process can determine the\nresource is fully terminated.\nIf not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested.\nRead-only.\nMore info:\nhttps://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata\n+optional" }, "labels": { "type": "object", diff --git a/openapi/kpanda/v0.32.2.json b/openapi/kpanda/v0.32.2.json index 91044d2c27..63699c289e 100644 --- a/openapi/kpanda/v0.32.2.json +++ b/openapi/kpanda/v0.32.2.json @@ -23467,7 +23467,7 @@ "deletionTimestamp": { "type": "string", "format": "int64", - "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be\ndeleted. This field is set by the server when a graceful deletion is\nrequested by the user, and is not directly settable by a client. The\nresource is expected to be deleted (no longer visible from resource lists,\nand not reachable by name) after the time in this field, once the\nfinalizers list is empty. As long as the finalizers list contains items,\ndeletion is blocked. Once the deletionTimestamp is set, this value may not\nbe unset or be set further into the future, although it may be shortened or\nthe resource may be deleted prior to this time. For example, a user may\nrequest that a pod is deleted in 30 seconds. The Kubelet will react by\nsending a graceful termination signal to the containers in the pod. After\nthat 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)\nto the container and after cleanup, remove the pod from the API. In the\npresence of network partitions, this object may still exist after this\ntimestamp, until an administrator or automated process can determine the\nresource is fully terminated.\nIf not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested.\nRead-only.\nMore info:\nhttps://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata\n+optional" + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be\ndeleted. This field is set by the server when a graceful deletion is\nrequested by the user, and is not directly settable by a client. The\nresource is expected to be deleted (no longer visible from resource lists,\nand not reachable by name) after the time in this field, once the\nfinalizers list is empty. As long as the finalizers list contains items,\ndeletion is blocked. Once the deletionTimestamp is set, this value may not\nbe unset or be set further into the future, although it may be shortened or\nthe resource may be deleted prior to this time. For example, a user may\nrequest that a pod is deleted in 30 seconds. The kubelet will react by\nsending a graceful termination signal to the containers in the pod. After\nthat 30 seconds, the kubelet will send a hard termination signal (SIGKILL)\nto the container and after cleanup, remove the pod from the API. In the\npresence of network partitions, this object may still exist after this\ntimestamp, until an administrator or automated process can determine the\nresource is fully terminated.\nIf not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested.\nRead-only.\nMore info:\nhttps://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata\n+optional" }, "labels": { "type": "object", diff --git a/search/search_index.json b/search/search_index.json index 9ecb8525b7..a9f9a233df 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["zh","en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"admin/index.html","title":"\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 - \u7ba1\u7406\u5458","text":"

    \u8fd9\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9762\u5411\u7ba1\u7406\u5458\u7684\u8fd0\u7ef4\u6587\u6863\u3002

    • \u7528\u6237\u6ce8\u518c

      \u7528\u6237\u6ce8\u518c\u662f\u4f7f\u7528 AI \u7b97\u529b\u5e73\u53f0\u7684\u7b2c\u4e00\u6b65\u3002

      • \u7528\u6237\u6ce8\u518c
      • \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4
      • \u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90
    • \u72ec\u4eab\u4e91\u4e3b\u673a

      \u4e91\u4e3b\u673a\u662f\u90e8\u7f72\u5728\u4e91\u7aef\u7684\u865a\u62df\u673a\u3002

      • \u521b\u5efa\u4e91\u4e3b\u673a
      • \u4f7f\u7528\u4e91\u4e3b\u673a
    • \u5171\u4eab\u4e91\u8d44\u6e90

      \u5171\u4eab\u4e91\u7aef\u8d44\u6e90\u6784\u5efa AI \u8d1f\u8f7d\uff0c\u4f7f\u7528 Notebook \u521b\u5efa\u8bad\u7ec3\u548c\u63a8\u7406\u4efb\u52a1\u3002

      • \u914d\u989d\u7ba1\u7406
      • \u4f7f\u7528 Notebook
      • \u521b\u5efa\u8bad\u7ec3\u4efb\u52a1
      • \u521b\u5efa\u63a8\u7406\u670d\u52a1
    • \u4e91\u4e0a K8s \u96c6\u7fa4

      \u4f7f\u7528 K8s \u96c6\u7fa4\u9ad8\u6548\u8c03\u5ea6\u7b97\u529b\u8d44\u6e90\u3002

      • \u521b\u5efa\u4e91\u4e0a K8s \u96c6\u7fa4
      • \u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9
      • \u79fb\u9664 GPU \u5de5\u4f5c\u8282\u70b9
    • \u4e2a\u4eba\u4e2d\u5fc3

      \u5728\u4e2a\u4eba\u4e2d\u5fc3\u8bbe\u7f6e\u5bc6\u7801\u3001\u5bc6\u94a5\u548c\u8bed\u8a00\u3002

      • \u5b89\u5168\u8bbe\u7f6e
      • \u8bbf\u95ee\u5bc6\u94a5
      • \u8bed\u8a00\u8bbe\u7f6e

    "},{"location":"admin/baize/best-practice/add-scheduler.html","title":"\u589e\u52a0\u4efb\u52a1\u8c03\u5ea6\u5668","text":"

    5.0 AI Lab \u63d0\u4f9b\u4e86\u4efb\u52a1\u8c03\u5ea6\u5668\uff0c\u53ef\u4ee5\u5e2e\u52a9\u60a8\u66f4\u597d\u5730\u7ba1\u7406\u4efb\u52a1\uff0c\u9664\u4e86\u63d0\u4f9b\u57fa\u7840\u7684\u8c03\u5ea6\u5668\u4e4b\u5916\uff0c\u76ee\u524d\u4e5f\u652f\u6301\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u5668\u3002

    "},{"location":"admin/baize/best-practice/add-scheduler.html#_2","title":"\u4efb\u52a1\u8c03\u5ea6\u5668\u4ecb\u7ecd","text":"

    \u5728 Kubernetes \u4e2d\uff0c\u4efb\u52a1\u8c03\u5ea6\u5668\u8d1f\u8d23\u51b3\u5b9a\u5c06 Pod \u5206\u914d\u5230\u54ea\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002\u5b83\u8003\u8651\u591a\u79cd\u56e0\u7d20\uff0c\u5982\u8d44\u6e90\u9700\u6c42\u3001\u786c\u4ef6/\u8f6f\u4ef6\u7ea6\u675f\u3001\u4eb2\u548c\u6027/\u53cd\u4eb2\u548c\u6027\u89c4\u5219\u3001\u6570\u636e\u5c40\u90e8\u6027\u7b49\u3002

    \u9ed8\u8ba4\u8c03\u5ea6\u5668\u662f Kubernetes \u96c6\u7fa4\u4e2d\u7684\u4e00\u4e2a\u6838\u5fc3\u7ec4\u4ef6\uff0c\u8d1f\u8d23\u51b3\u5b9a\u5c06 Pod \u5206\u914d\u5230\u54ea\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002\u8ba9\u6211\u4eec\u6df1\u5165\u4e86\u89e3\u5b83\u7684\u5de5\u4f5c\u539f\u7406\u3001\u7279\u6027\u548c\u914d\u7f6e\u65b9\u6cd5\u3002

    "},{"location":"admin/baize/best-practice/add-scheduler.html#_3","title":"\u8c03\u5ea6\u5668\u7684\u5de5\u4f5c\u6d41\u7a0b","text":"

    \u9ed8\u8ba4\u8c03\u5ea6\u5668\u7684\u5de5\u4f5c\u6d41\u7a0b\u53ef\u4ee5\u5206\u4e3a\u4e24\u4e2a\u4e3b\u8981\u9636\u6bb5\uff1a\u8fc7\u6ee4\uff08Filtering\uff09\u548c\u8bc4\u5206\uff08Scoring\uff09\u3002

    "},{"location":"admin/baize/best-practice/add-scheduler.html#_4","title":"\u8fc7\u6ee4\u9636\u6bb5","text":"

    \u8c03\u5ea6\u5668\u4f1a\u904d\u5386\u6240\u6709\u8282\u70b9\uff0c\u6392\u9664\u4e0d\u6ee1\u8db3 Pod \u8981\u6c42\u7684\u8282\u70b9\uff0c\u8003\u8651\u7684\u56e0\u7d20\u5305\u62ec\uff1a

    • \u8d44\u6e90\u9700\u6c42
    • \u8282\u70b9\u9009\u62e9\u5668
    • \u8282\u70b9\u4eb2\u548c\u6027
    • \u6c61\u70b9\u548c\u5bb9\u5fcd

    \u4ee5\u4e0a\u53c2\u6570\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u521b\u5efa\u4efb\u52a1\u65f6\u7684\u9ad8\u7ea7\u914d\u7f6e\u6765\u8bbe\u7f6e\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

    "},{"location":"admin/baize/best-practice/add-scheduler.html#_5","title":"\u8bc4\u5206\u9636\u6bb5","text":"

    \u5bf9\u901a\u8fc7\u8fc7\u6ee4\u7684\u8282\u70b9\u8fdb\u884c\u6253\u5206\uff0c\u9009\u62e9\u5f97\u5206\u6700\u9ad8\u7684\u8282\u70b9\u6765\u8fd0\u884c Pod\uff0c\u8003\u8651\u56e0\u7d20\u5305\u62ec\uff1a

    • \u8d44\u6e90\u4f7f\u7528\u7387
    • Pod \u4eb2\u548c\u6027/\u53cd\u4eb2\u548c\u6027
    • \u8282\u70b9\u4eb2\u548c\u6027\u7b49\u3002
    "},{"location":"admin/baize/best-practice/add-scheduler.html#_6","title":"\u8c03\u5ea6\u5668\u63d2\u4ef6","text":"

    \u9664\u4e86\u57fa\u7840\u7684\u4e00\u4e9b\u4efb\u52a1\u8c03\u5ea6\u80fd\u529b\u4e4b\u5916\uff0c\u6211\u4eec\u8fd8\u652f\u6301\u4f7f\u7528 Scheduler Plugins\uff1aKubernetes SIG Scheduling \u7ef4\u62a4\u7684\u4e00\u7ec4\u8c03\u5ea6\u5668\u63d2\u4ef6\uff0c\u5305\u62ec Coscheduling (Gang Scheduling) \u7b49\u529f\u80fd\u3002

    "},{"location":"admin/baize/best-practice/add-scheduler.html#_7","title":"\u90e8\u7f72\u8c03\u5ea6\u5668\u63d2\u4ef6","text":"

    \u5728\u5de5\u4f5c\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u8c03\u5ea6\u5668\u63d2\u4ef6\uff0c\u8bf7\u53c2\u8003\u90e8\u7f72\u7b2c\u4e8c\u8c03\u5ea6\u5668\u63d2\u4ef6\u3002

    "},{"location":"admin/baize/best-practice/add-scheduler.html#ai-lab","title":"\u5728 AI Lab \u4e2d\u542f\u7528\u8c03\u5ea6\u5668\u63d2\u4ef6","text":"

    Danger

    \u589e\u52a0\u8c03\u5ea6\u5668\u63d2\u4ef6\u82e5\u64cd\u4f5c\u4e0d\u5f53\uff0c\u53ef\u80fd\u4f1a\u5f71\u54cd\u5230\u6574\u4e2a\u96c6\u7fa4\u7684\u7a33\u5b9a\u6027\uff0c\u5efa\u8bae\u5728\u6d4b\u8bd5\u73af\u5883\u4e2d\u8fdb\u884c\u6d4b\u8bd5\uff1b\u6216\u8005\u8054\u7cfb\u6211\u4eec\u7684\u6280\u672f\u652f\u6301\u56e2\u961f\u3002

    \u6ce8\u610f\uff0c\u5982\u679c\u5e0c\u671b\u5728\u8bad\u7ec3\u4efb\u52a1\u4e2d\u4f7f\u7528\u66f4\u591a\u7684\u8c03\u5ea6\u5668\u63d2\u4ef6\uff0c\u9700\u8981\u4e8b\u5148\u624b\u5de5\u5728\u5de5\u4f5c\u96c6\u7fa4\u4e2d\u6210\u529f\u5b89\u88c5\uff0c\u7136\u540e\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72 baize-agent \u65f6\uff0c\u589e\u52a0\u5bf9\u5e94\u7684\u8c03\u5ea6\u5668\u63d2\u4ef6\u914d\u7f6e\u3002

    \u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u63d0\u4f9b\u7684\u754c\u9762 Helm \u5e94\u7528 \u7ba1\u7406\u80fd\u529b\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u8c03\u5ea6\u5668\u63d2\u4ef6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

    \u7136\u540e\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u5b89\u88c5 \uff0c\uff08\u82e5\u5df2\u90e8\u7f72\u4e86 baize-agent\uff0c\u53ef\u4ee5\u5230 Helm \u5e94\u7528\u5217\u8868\u53bb\u66f4\u65b0\uff09\uff0c\u6839\u636e\u5982\u4e0b\u56fe\u6240\u793a\u7684\u914d\u7f6e\uff0c\u589e\u52a0\u8c03\u5ea6\u5668\u3002

    \u6ce8\u610f\u8c03\u5ea6\u5668\u7684\u53c2\u6570\u5c42\u7ea7\uff0c\u6dfb\u52a0\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

    \u6ce8\u610f\u4ee5\u540e\u5728\u66f4\u65b0 baize-agent \u65f6\uff0c\u4e0d\u8981\u9057\u6f0f\u8fd9\u4e2a\u914d\u7f6e\u3002

    "},{"location":"admin/baize/best-practice/add-scheduler.html#_8","title":"\u5728\u521b\u5efa\u4efb\u52a1\u65f6\u6307\u5b9a\u8c03\u5ea6\u5668","text":"

    \u5f53\u60a8\u5728\u96c6\u7fa4\u4e2d\u6210\u529f\u90e8\u7f72\u4e86\u5bf9\u5e94\u7684\u8c03\u5ea6\u5668\u63d2\u4ef6\uff0c\u5e76\u4e14\u5728 baize-agent \u4e5f\u6b63\u786e\u589e\u52a0\u4e86\u5bf9\u5e94\u7684\u8c03\u5ea6\u5668\u914d\u7f6e\u540e\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u4efb\u52a1\u65f6\uff0c\u6307\u5b9a\u8c03\u5ea6\u5668\u3002

    \u4e00\u5207\u6b63\u5e38\u7684\u60c5\u51b5\u4e0b\uff0c\u60a8\u53ef\u4ee5\u5728\u8c03\u5ea6\u5668\u4e0b\u62c9\u6846\u4e2d\u770b\u5230\u60a8\u90e8\u7f72\u7684\u8c03\u5ea6\u5668\u63d2\u4ef6\u3002

    \u4ee5\u4e0a\uff0c\u5c31\u662f\u6211\u4eec\u5728 AI Lab \u4e2d\uff0c\u4e3a\u4efb\u52a1\u589e\u52a0\u8c03\u5ea6\u5668\u9009\u9879\u7684\u914d\u7f6e\u4f7f\u7528\u8bf4\u660e\u3002

    "},{"location":"admin/baize/best-practice/change-notebook-image.html","title":"\u66f4\u65b0 Notebook \u5185\u7f6e\u955c\u50cf","text":"

    \u5728 Notebook \u4e2d\uff0c\u9ed8\u8ba4\u63d0\u4f9b\u4e86\u591a\u4e2a\u53ef\u7528\u7684\u57fa\u7840\u955c\u50cf\uff0c\u4f9b\u5f00\u53d1\u8005\u9009\u62e9\uff1b\u5927\u90e8\u5206\u60c5\u51b5\u4e0b\uff0c\u8fd9\u4f1a\u6ee1\u8db3\u5f00\u53d1\u8005\u7684\u4f7f\u7528\u3002

    DaoCloud \u63d0\u4f9b\u4e86\u4e00\u4e2a\u9ed8\u8ba4\u7684 Notebook \u955c\u50cf\uff0c\u5305\u542b\u4e86\u6240\u9700\u7684\u4efb\u4f55\u5f00\u53d1\u5de5\u5177\u548c\u8d44\u6599\u3002

    baize/baize-notebook\n

    \u8fd9\u4e2a Notebook \u91cc\u9762\u5305\u542b\u4e86\u57fa\u7840\u7684\u5f00\u53d1\u5de5\u5177\uff0c\u4ee5 baize-notebook:v0.5.0 \uff082024 \u5e74 5 \u6708 30 \u65e5\uff09\u4e3a\u4f8b\uff0c\u76f8\u5173\u4f9d\u8d56\u53ca\u7248\u672c\u5982\u4e0b\uff1a

    \u4f9d\u8d56 \u7248\u672c\u7f16\u53f7 \u4ecb\u7ecd Ubuntu 22.04.3 \u9ed8\u8ba4 OS Python 3.11.6 \u9ed8\u8ba4 Python \u7248\u672c pip 23.3.1 conda(mamba) 23.3.1 jupyterlab 3.6.6 JupyterLab \u955c\u50cf\uff0c\u63d0\u4f9b\u5b8c\u6574\u7684 Notebook \u5f00\u53d1\u4f53\u9a8c codeserver v4.89.1 \u4e3b\u6d41 Code \u5f00\u53d1\u5de5\u5177\uff0c\u65b9\u4fbf\u7528\u6237\u4f7f\u7528\u719f\u6089\u7684\u5de5\u5177\u8fdb\u884c\u5f00\u53d1\u4f53\u9a8c *baizectl v0.5.0 DaoCloud \u5185\u7f6e CLI \u4efb\u52a1\u7ba1\u7406\u5de5\u5177 *SSH - \u652f\u6301\u672c\u5730 SSH \u76f4\u63a5\u8bbf\u95ee\u5230 Notebook \u5bb9\u5668\u5185 *kubectl v1.27 Kubernetes CLI\uff0c\u53ef\u4ee5\u4f7f\u7528 kubectl \u5728 Notebook \u5185 \u7ba1\u7406\u5bb9\u5668\u8d44\u6e90

    \u4f46\u6709\u65f6\u7528\u6237\u53ef\u80fd\u9700\u8981\u81ea\u5b9a\u4e49\u955c\u50cf\uff0c\u672c\u6587\u4ecb\u7ecd\u4e86\u5982\u4f55\u66f4\u65b0\u955c\u50cf\uff0c\u5e76\u589e\u52a0\u5230 Notebook \u521b\u5efa\u754c\u9762\u4e2d\u8fdb\u884c\u9009\u62e9\u3002

    "},{"location":"admin/baize/best-practice/change-notebook-image.html#_1","title":"\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\uff08\u4ec5\u4f9b\u53c2\u8003\uff09","text":"

    Note

    \u6ce8\u610f\uff0c\u6784\u5efa\u65b0\u955c\u50cf \u9700\u8981\u4ee5 baize-notebook \u4f5c\u4e3a\u57fa\u7840\u955c\u50cf\uff0c\u4ee5\u4fdd\u8bc1 Notebook \u7684\u6b63\u5e38\u8fd0\u884c\u3002

    \u5728\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\u65f6\uff0c\u5efa\u8bae\u5148\u4e86\u89e3 baize-notebook \u955c\u50cf\u7684 Dockerfile\uff0c\u4ee5\u4fbf\u66f4\u597d\u5730\u7406\u89e3\u5982\u4f55\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\u3002

    "},{"location":"admin/baize/best-practice/change-notebook-image.html#baize-noteboook-dockerfile","title":"baize-noteboook \u7684 Dockerfile","text":"
    ARG BASE_IMG=docker.m.daocloud.io/kubeflownotebookswg/jupyter:v1.8.0\n\nFROM $BASE_IMG\n\nUSER root\n\n# install - useful linux packages\nRUN export DEBIAN_FRONTEND=noninteractive \\\n && apt-get -yq update \\\n && apt-get -yq install --no-install-recommends \\\n    openssh-server git git-lfs bash-completion \\\n && apt-get clean \\\n && rm -rf /var/lib/apt/lists/*\n\n# remove default s6 jupyterlab run script\nRUN rm -rf /etc/services.d/jupyterlab\n\n# install - useful jupyter plugins\nRUN mamba install -n base -y jupyterlab-language-pack-zh-cn \\\n  && mamba clean --all -y\n\nARG CODESERVER_VERSION=4.89.1\nARG TARGETARCH\n\nRUN curl -fsSL \"https://github.com/coder/code-server/releases/download/v$CODESERVER_VERSION/code-server_${CODESERVER_VERSION}_$TARGETARCH.deb\" -o /tmp/code-server.deb \\\n  && dpkg -i /tmp/code-server.deb \\\n  && rm -f /tmp/code-server.deb\n\nARG CODESERVER_PYTHON_VERSION=2024.4.1\nARG CODESERVER_JUPYTER_VERSION=2024.3.1\nARG CODESERVER_LANGUAGE_PACK_ZH_CN=1.89.0\nARG CODESERVER_YAML=1.14.0\nARG CODESERVER_DOTENV=1.0.1\nARG CODESERVER_EDITORCONFIG=0.16.6\nARG CODESERVER_TOML=0.19.1\nARG CODESERVER_GITLENS=15.0.4\n\n# configure for code-server extensions\n# # https://github.com/kubeflow/kubeflow/blob/709254159986d2cc99e675d0fad5a128ddeb0917/components/example-notebook-servers/codeserver-python/Dockerfile\n# # and\n# # https://github.com/kubeflow/kubeflow/blob/709254159986d2cc99e675d0fad5a128ddeb0917/components/example-notebook-servers/codeserver/Dockerfile\nRUN code-server --list-extensions --show-versions \\\n  && code-server --list-extensions --show-versions \\\n  && code-server \\\n    --install-extension MS-CEINTL.vscode-language-pack-zh-hans@$CODESERVER_LANGUAGE_PACK_ZH_CN \\\n    --install-extension ms-python.python@$CODESERVER_PYTHON_VERSION \\\n    --install-extension ms-toolsai.jupyter@$CODESERVER_JUPYTER_VERSION \\\n    --install-extension redhat.vscode-yaml@$CODESERVER_YAML \\\n    --install-extension mikestead.dotenv@$CODESERVER_DOTENV \\\n    --install-extension EditorConfig.EditorConfig@$CODESERVER_EDITORCONFIG \\\n    --install-extension tamasfe.even-better-toml@$CODESERVER_TOML \\\n    --install-extension eamodio.gitlens@$CODESERVER_GITLENS \\\n    --install-extension catppuccin.catppuccin-vsc-pack \\\n    --force \\\n  && code-server --list-extensions --show-versions\n\n# configure for code-server\nRUN mkdir -p /home/${NB_USER}/.local/share/code-server/User \\\n  && chown -R ${NB_USER}:users /home/${NB_USER} \\\n  && cat <<EOF > /home/${NB_USER}/.local/share/code-server/User/settings.json\n{\n  \"gitlens.showWelcomeOnInstall\": false,\n  \"workbench.colorTheme\": \"Catppuccin Mocha\",\n}\nEOF\n\nRUN mkdir -p /tmp_home/${NB_USER}/.local/share \\\n  && mv /home/${NB_USER}/.local/share/code-server /tmp_home/${NB_USER}/.local/share\n\n# set ssh configuration\nRUN mkdir -p /run/sshd \\\n && chown -R ${NB_USER}:users /etc/ssh \\\n && chown -R ${NB_USER}:users /run/sshd \\\n && sed -i \"/#\\?Port/s/^.*$/Port 2222/g\" /etc/ssh/sshd_config \\\n && sed -i \"/#\\?PasswordAuthentication/s/^.*$/PasswordAuthentication no/g\" /etc/ssh/sshd_config \\\n && sed -i \"/#\\?PubkeyAuthentication/s/^.*$/PubkeyAuthentication yes/g\" /etc/ssh/sshd_config \\\n && rclone_version=v1.65.0 && \\\n       arch=$(uname -m | sed -E 's/x86_64/amd64/g;s/aarch64/arm64/g') && \\\n       filename=rclone-${rclone_version}-linux-${arch} && \\\n       curl -fsSL https://github.com/rclone/rclone/releases/download/${rclone_version}/${filename}.zip -o ${filename}.zip && \\\n       unzip ${filename}.zip && mv ${filename}/rclone /usr/local/bin && rm -rf ${filename} ${filename}.zip\n\n# Init mamba\nRUN mamba init --system\n\n# init baize-base environment for essential python packages\nRUN mamba create -n baize-base -y python \\\n  && /opt/conda/envs/baize-base/bin/pip install tensorboard \\\n  && mamba clean --all -y \\\n  && ln -s /opt/conda/envs/baize-base/bin/tensorboard /usr/local/bin/tensorboard\n\n# prepare baize-runtime-env directory\nRUN mkdir -p /opt/baize-runtime-env \\\n  && chown -R ${NB_USER}:users /opt/baize-runtime-env\n\nARG APP\nARG PROD_NAME\nARG TARGETOS\n\nCOPY out/$TARGETOS/$TARGETARCH/data-loader /usr/local/bin/\nCOPY out/$TARGETOS/$TARGETARCH/baizectl /usr/local/bin/\n\nRUN chmod +x /usr/local/bin/baizectl /usr/local/bin/data-loader && \\\n    echo \"source /etc/bash_completion\" >> /opt/conda/etc/profile.d/conda.sh && \\\n    echo \"source <(baizectl completion bash)\" >> /opt/conda/etc/profile.d/conda.sh && \\\n    echo \"source <(kubectl completion bash)\" >> /opt/conda/etc/profile.d/conda.sh && \\\n    echo '[ -f /run/baize-env ] && export $(cat /run/baize-env | xargs)' >> /opt/conda/etc/profile.d/conda.sh && \\\n    echo 'alias conda=\"mamba\"' >> /opt/conda/etc/profile.d/conda.sh\n\nUSER ${NB_UID}\n
    "},{"location":"admin/baize/best-practice/change-notebook-image.html#_2","title":"\u6784\u5efa\u4f60\u7684\u955c\u50cf","text":"
    ARG BASE_IMG=release.daocloud.io/baize/baize-notebook:v0.5.0\n\nFROM $BASE_IMG\nUSER root\n\n# Do Customization\nRUN mamba install -n baize-base -y pytorch torchvision torchaudio cpuonly -c pytorch \\\n && mamba install -n baize-base -y tensorflow \\\n && mamba clean --all -y\n\nUSER ${NB_UID}\n
    "},{"location":"admin/baize/best-practice/change-notebook-image.html#notebook-helm","title":"\u589e\u52a0\u5230 Notebook \u955c\u50cf\u5217\u8868\uff08Helm\uff09","text":"

    Warning

    \u6ce8\u610f\uff0c\u5fc5\u987b\u7531\u5e73\u53f0\u7ba1\u7406\u5458\u64cd\u4f5c\uff0c\u8c28\u614e\u53d8\u66f4\u3002

    \u76ee\u524d\uff0c\u955c\u50cf\u9009\u62e9\u5668\u9700\u8981\u901a\u8fc7\u66f4\u65b0 baize \u7684 Helm \u53c2\u6570\u6765\u4fee\u6539\uff0c\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a

    \u5728 kpanda-global-cluster \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 Helm \u5e94\u7528\u5217\u8868\uff0c\u627e\u5230 baize\uff0c\u8fdb\u5165\u66f4\u65b0\u9875\u9762\uff0c\u5728 YAML \u53c2\u6570\u4e2d\u4fee\u6539 Notebook \u955c\u50cf\uff1a

    \u6ce8\u610f\u53c2\u6570\u4fee\u6539\u7684\u8def\u5f84\u5982\u4e0b global.config.notebook_images\uff1a

    ...\nglobal:\n  ...\n  config:\n    notebook_images:\n      ...\n      names: release.daocloud.io/baize/baize-notebook:v0.5.0\n      # \u5728\u8fd9\u91cc\u589e\u52a0\u4f60\u7684\u955c\u50cf\u4fe1\u606f\n

    \u66f4\u65b0\u5b8c\u6210\u4e4b\u540e\uff0c\u5f85 Helm \u5e94\u7528\u91cd\u542f\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u5728 Notebook \u521b\u5efa\u754c\u9762\u4e2d\u7684\u9009\u62e9\u955c\u50cf\u770b\u5230\u65b0\u7684\u955c\u50cf\u3002

    "},{"location":"admin/baize/best-practice/checkpoint.html","title":"Checkpoint \u673a\u5236\u53ca\u4f7f\u7528\u4ecb\u7ecd","text":"

    \u5728\u6df1\u5ea6\u5b66\u4e60\u7684\u5b9e\u9645\u573a\u666f\u4e2d\uff0c\u6a21\u578b\u8bad\u7ec3\u4e00\u822c\u90fd\u4f1a\u6301\u7eed\u4e00\u6bb5\u65f6\u95f4\uff0c\u8fd9\u5bf9\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u7684\u7a33\u5b9a\u6027\u548c\u6548\u7387\u63d0\u51fa\u4e86\u66f4\u9ad8\u7684\u8981\u6c42\u3002 \u800c\u4e14\uff0c\u5728\u5b9e\u9645\u8bad\u7ec3\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5f02\u5e38\u4e2d\u65ad\u4f1a\u5bfc\u81f4\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u6a21\u578b\u72b6\u6001\u4e22\u5931\uff0c\u9700\u8981\u91cd\u65b0\u5f00\u59cb\u8bad\u7ec3\uff0c \u8fd9\u4e0d\u4ec5\u6d6a\u8d39\u4e86\u65f6\u95f4\u548c\u8d44\u6e90\uff0c\u8fd9\u5728 LLM \u8bad\u7ec3\u4e2d\u5c24\u4e3a\u660e\u663e\uff0c\u800c\u4e14\u4e5f\u4f1a\u5f71\u54cd\u6a21\u578b\u7684\u8bad\u7ec3\u6548\u679c\u3002

    \u80fd\u591f\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4fdd\u5b58\u6a21\u578b\u7684\u72b6\u6001\uff0c\u4ee5\u4fbf\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u5f02\u5e38\u65f6\u80fd\u591f\u6062\u590d\u6a21\u578b\u72b6\u6001\uff0c\u53d8\u5f97\u81f3\u5173\u91cd\u8981\u3002 Checkpoint \u5c31\u662f\u76ee\u524d\u4e3b\u6d41\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u672c\u6587\u5c06\u4ecb\u7ecd Checkpoint \u673a\u5236\u7684\u57fa\u672c\u6982\u5ff5\u548c\u5728 PyTorch \u548c TensorFlow \u4e2d\u7684\u4f7f\u7528\u65b9\u6cd5\u3002

    "},{"location":"admin/baize/best-practice/checkpoint.html#checkpoint_1","title":"\u4ec0\u4e48\u662f Checkpoint\uff1f","text":"

    Checkpoint \u662f\u5728\u6a21\u578b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4fdd\u5b58\u6a21\u578b\u72b6\u6001\u7684\u673a\u5236\u3002\u901a\u8fc7\u5b9a\u671f\u4fdd\u5b58 Checkpoint\uff0c\u53ef\u4ee5\u5728\u4ee5\u4e0b\u60c5\u51b5\u4e0b\u6062\u590d\u6a21\u578b\uff1a

    • \u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u65ad\uff08\u5982\u7cfb\u7edf\u5d29\u6e83\u6216\u624b\u52a8\u4e2d\u65ad\uff09
    • \u9700\u8981\u5728\u67d0\u4e2a\u8bad\u7ec3\u9636\u6bb5\u8fdb\u884c\u8bc4\u4f30
    • \u5e0c\u671b\u5728\u4e0d\u540c\u7684\u5b9e\u9a8c\u4e2d\u590d\u7528\u6a21\u578b
    "},{"location":"admin/baize/best-practice/checkpoint.html#pytorch","title":"PyTorch","text":"

    \u5728 PyTorch \u4e2d\uff0ctorch.save \u548c torch.load \u662f\u7528\u4e8e\u4fdd\u5b58\u548c\u52a0\u8f7d\u6a21\u578b\u7684\u57fa\u672c\u51fd\u6570\u3002

    "},{"location":"admin/baize/best-practice/checkpoint.html#pytorch-checkpoint","title":"PyTorch \u4fdd\u5b58 Checkpoint","text":"

    \u5728 PyTorch \u4e2d\uff0c\u901a\u5e38\u4f7f\u7528 state_dict \u4fdd\u5b58\u6a21\u578b\u7684\u53c2\u6570\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u7b80\u5355\u7684\u793a\u4f8b\uff1a

    import torch\nimport torch.nn as nn\n\n# \u5047\u8bbe\u6211\u4eec\u6709\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc\nclass SimpleModel(nn.Module):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = nn.Linear(10, 2)\n\n    def forward(self, x):\n        return self.fc(x)\n\n# \u521d\u59cb\u5316\u6a21\u578b\u548c\u4f18\u5316\u5668\nmodel = SimpleModel()\noptimizer = torch.optim.Adam(model.parameters(), lr=0.001)\n\n# \u8bad\u7ec3\u6a21\u578b...\n# \u4fdd\u5b58 Checkpoint\ncheckpoint_path = 'model_checkpoint.pth'\ntorch.save({\n    'epoch': 10,\n    'model_state_dict': model.state_dict(),\n    'optimizer_state_dict': optimizer.state_dict(),\n    'loss': 0.02,\n}, checkpoint_path)\n
    "},{"location":"admin/baize/best-practice/checkpoint.html#pytorch-checkpoint_1","title":"PyTorch \u6062\u590d Checkpoint","text":"

    \u52a0\u8f7d\u6a21\u578b\u65f6\uff0c\u9700\u8981\u6062\u590d\u6a21\u578b\u53c2\u6570\u548c\u4f18\u5316\u5668\u72b6\u6001\uff0c\u5e76\u7ee7\u7eed\u8bad\u7ec3\u6216\u63a8\u7406\uff1a

    # \u6062\u590d Checkpoint\ncheckpoint = torch.load('model_checkpoint.pth')\nmodel.load_state_dict(checkpoint['model_state_dict'])\noptimizer.load_state_dict(checkpoint['optimizer_state_dict'])\nepoch = checkpoint['epoch']\nloss = checkpoint['loss']\n\n# \u7ee7\u7eed\u8bad\u7ec3\u6216\u63a8\u7406...\n
    • model_state_dict: \u6a21\u578b\u53c2\u6570
    • optimizer_state_dict: \u4f18\u5316\u5668\u72b6\u6001
    • epoch: \u5f53\u524d\u8bad\u7ec3\u8f6e\u6570
    • loss: \u635f\u5931\u503c
    • learning_rate: \u5b66\u4e60\u7387
    • best_accuracy: \u6700\u4f73\u51c6\u786e\u7387
    "},{"location":"admin/baize/best-practice/checkpoint.html#tensorflow","title":"TensorFlow","text":"

    TensorFlow \u63d0\u4f9b\u4e86 tf.train.Checkpoint \u7c7b\u6765\u7ba1\u7406\u6a21\u578b\u548c\u4f18\u5316\u5668\u7684\u4fdd\u5b58\u548c\u6062\u590d\u3002

    "},{"location":"admin/baize/best-practice/checkpoint.html#tensorflow-checkpoint","title":"TensorFlow \u4fdd\u5b58 Checkpoint","text":"

    \u4ee5\u4e0b\u662f\u4e00\u4e2a\u5728 TensorFlow \u4e2d\u4fdd\u5b58 Checkpoint \u7684\u793a\u4f8b\uff1a

    import tensorflow as tf\n\n# \u5047\u8bbe\u6211\u4eec\u6709\u4e00\u4e2a\u7b80\u5355\u7684\u6a21\u578b\nmodel = tf.keras.Sequential([\n    tf.keras.layers.Dense(2, input_shape=(10,))\n])\noptimizer = tf.keras.optimizers.Adam(learning_rate=0.001)\n\n# \u5b9a\u4e49 Checkpoint\ncheckpoint = tf.train.Checkpoint(optimizer=optimizer, model=model)\ncheckpoint_dir = './checkpoints'\ncheckpoint_prefix = f'{checkpoint_dir}/ckpt'\n\n# \u8bad\u7ec3\u6a21\u578b...\n# \u4fdd\u5b58 Checkpoint\ncheckpoint.save(file_prefix=checkpoint_prefix)\n

    Note

    \u4f7f\u7528 AI Lab \u7684\u7528\u6237\uff0c\u53ef\u4ee5\u76f4\u63a5\u5c06\u9ad8\u6027\u80fd\u5b58\u50a8\u6302\u8f7d\u4e3a Checkpoint \u76ee\u5f55\uff0c\u4ee5\u63d0\u9ad8 Checkpoint \u4fdd\u5b58\u548c\u6062\u590d\u7684\u901f\u5ea6\u3002

    "},{"location":"admin/baize/best-practice/checkpoint.html#tensorflow-checkpoint_1","title":"TensorFlow \u6062\u590d Checkpoint","text":"

    \u52a0\u8f7d Checkpoint \u5e76\u6062\u590d\u6a21\u578b\u548c\u4f18\u5316\u5668\u72b6\u6001\uff1a

    # \u6062\u590d Checkpoint\nlatest_checkpoint = tf.train.latest_checkpoint(checkpoint_dir)\ncheckpoint.restore(latest_checkpoint)\n\n# \u7ee7\u7eed\u8bad\u7ec3\u6216\u63a8\u7406...\n
    "},{"location":"admin/baize/best-practice/checkpoint.html#tensorflow-checkpoint_2","title":"TensorFlow \u5728\u5206\u5e03\u5f0f\u8bad\u7ec3\u7684 Checkpoint \u7ba1\u7406","text":"

    TensorFlow \u5728\u5206\u5e03\u5f0f\u8bad\u7ec3\u4e2d\u7ba1\u7406 Checkpoint \u7684\u4e3b\u8981\u65b9\u6cd5\u5982\u4e0b\uff1a

    • \u4f7f\u7528 tf.train.Checkpoint \u548c tf.train.CheckpointManager

      checkpoint = tf.train.Checkpoint(model=model, optimizer=optimizer)\nmanager = tf.train.CheckpointManager(checkpoint, directory='/tmp/model', max_to_keep=3)\n
    • \u5728\u5206\u5e03\u5f0f\u7b56\u7565\u4e2d\u4fdd\u5b58 Checkpoint

      strategy = tf.distribute.MirroredStrategy()\nwith strategy.scope():\n    checkpoint = tf.train.Checkpoint(model=model, optimizer=optimizer)\n    manager = tf.train.CheckpointManager(checkpoint, directory='/tmp/model', max_to_keep=3)\n
    • \u53ea\u5728\u4e3b\u8282\u70b9 (chief worker) \u4fdd\u5b58 Checkpoint

      if strategy.cluster_resolver.task_type == 'chief':\n    manager.save()\n
    • \u4f7f\u7528 MultiWorkerMirroredStrategy \u65f6\u7684\u7279\u6b8a\u5904\u7406

      strategy = tf.distribute.MultiWorkerMirroredStrategy()\nwith strategy.scope():\n    # \u6a21\u578b\u5b9a\u4e49\n    ...\n    checkpoint = tf.train.Checkpoint(model=model, optimizer=optimizer)\n    manager = tf.train.CheckpointManager(checkpoint, '/tmp/model', max_to_keep=3)\n\ndef _chief_worker(task_type, task_id):\n    return task_type is None or task_type == 'chief' or (task_type == 'worker' and task_id == 0)\n\nif _chief_worker(strategy.cluster_resolver.task_type, strategy.cluster_resolver.task_id):\n    manager.save()\n
    • \u4f7f\u7528\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf

      \u786e\u4fdd\u6240\u6709\u5de5\u4f5c\u8282\u70b9\u90fd\u80fd\u8bbf\u95ee\u5230\u540c\u4e00\u4e2a Checkpoint \u76ee\u5f55\uff0c\u901a\u5e38\u4f7f\u7528\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\u5982 HDFS \u6216 GCS\u3002

    • \u5f02\u6b65\u4fdd\u5b58

      \u4f7f\u7528 tf.keras.callbacks.ModelCheckpoint \u5e76\u8bbe\u7f6e save_freq \u53c2\u6570\u53ef\u4ee5\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u5f02\u6b65\u4fdd\u5b58 Checkpoint\u3002

    • Checkpoint \u6062\u590d

      status = checkpoint.restore(manager.latest_checkpoint)\nstatus.assert_consumed()  # (1)!\n
      1. \u786e\u4fdd\u6240\u6709\u53d8\u91cf\u90fd\u88ab\u6062\u590d
    • \u6027\u80fd\u4f18\u5316

      • \u4f7f\u7528 tf.train.experimental.enable_mixed_precision_graph_rewrite() \u542f\u7528\u6df7\u5408\u7cbe\u5ea6\u8bad\u7ec3
      • \u8c03\u6574\u4fdd\u5b58\u9891\u7387\uff0c\u907f\u514d\u8fc7\u4e8e\u9891\u7e41\u7684 I/O \u64cd\u4f5c
      • \u8003\u8651\u4f7f\u7528 tf.saved_model.save() \u4fdd\u5b58\u6574\u4e2a\u6a21\u578b\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u6743\u91cd
    "},{"location":"admin/baize/best-practice/checkpoint.html#_1","title":"\u6ce8\u610f\u4e8b\u9879","text":"
    1. \u5b9a\u671f\u4fdd\u5b58\uff1a\u6839\u636e\u8bad\u7ec3\u65f6\u95f4\u548c\u8d44\u6e90\u6d88\u8017\uff0c\u51b3\u5b9a\u5408\u9002\u7684\u4fdd\u5b58\u9891\u7387\u3002\u5982\u6bcf\u4e2a epoch \u6216\u6bcf\u9694\u4e00\u5b9a\u7684\u8bad\u7ec3\u6b65\u6570\u3002

    2. \u4fdd\u5b58\u591a\u4e2a Checkpoint\uff1a\u4fdd\u7559\u6700\u65b0\u7684\u51e0\u4e2a Checkpoint \u4ee5\u9632\u6b62\u6587\u4ef6\u635f\u574f\u6216\u4e0d\u9002\u7528\u7684\u60c5\u51b5\u3002

    3. \u8bb0\u5f55\u5143\u6570\u636e\uff1a\u5728 Checkpoint \u4e2d\u4fdd\u5b58\u989d\u5916\u7684\u4fe1\u606f\uff0c\u5982 epoch \u6570\u3001\u635f\u5931\u503c\u7b49\uff0c\u4ee5\u4fbf\u66f4\u597d\u5730\u6062\u590d\u8bad\u7ec3\u72b6\u6001\u3002

    4. \u4f7f\u7528\u7248\u672c\u63a7\u5236\uff1a\u4fdd\u5b58\u4e0d\u540c\u5b9e\u9a8c\u7684 Checkpoint\uff0c\u4fbf\u4e8e\u5bf9\u6bd4\u548c\u590d\u7528\u3002

    5. \u9a8c\u8bc1\u548c\u6d4b\u8bd5\uff1a\u5728\u8bad\u7ec3\u7684\u4e0d\u540c\u9636\u6bb5\u4f7f\u7528 Checkpoint \u8fdb\u884c\u9a8c\u8bc1\u548c\u6d4b\u8bd5\uff0c\u786e\u4fdd\u6a21\u578b\u6027\u80fd\u548c\u7a33\u5b9a\u6027\u3002

    "},{"location":"admin/baize/best-practice/checkpoint.html#_2","title":"\u7ed3\u8bba","text":"

    Checkpoint \u673a\u5236\u5728\u6df1\u5ea6\u5b66\u4e60\u8bad\u7ec3\u4e2d\u8d77\u5230\u4e86\u5173\u952e\u4f5c\u7528\u3002\u901a\u8fc7\u5408\u7406\u4f7f\u7528 PyTorch \u548c TensorFlow \u4e2d\u7684 Checkpoint \u529f\u80fd\uff0c \u53ef\u4ee5\u6709\u6548\u63d0\u9ad8\u8bad\u7ec3\u7684\u53ef\u9760\u6027\u548c\u6548\u7387\u3002\u5e0c\u671b\u672c\u6587\u6240\u8ff0\u7684\u65b9\u6cd5\u548c\u6700\u4f73\u5b9e\u8df5\u80fd\u5e2e\u52a9\u4f60\u66f4\u597d\u5730\u7ba1\u7406\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u3002

    "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html","title":"\u90e8\u7f72 NFS \u505a\u6570\u636e\u96c6\u9884\u70ed","text":"

    \u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf (NFS) \u5141\u8bb8\u8fdc\u7a0b\u4e3b\u673a\u901a\u8fc7\u7f51\u7edc\u6302\u8f7d\u6587\u4ef6\uff0c\u5e76\u50cf\u672c\u5730\u6587\u4ef6\u7cfb\u7edf\u4e00\u6837\u8fdb\u884c\u4ea4\u4e92\u3002 \u8fd9\u4f7f\u7cfb\u7edf\u7ba1\u7406\u5458\u80fd\u591f\u5c06\u8d44\u6e90\u96c6\u4e2d\u5230\u7f51\u7edc\u670d\u52a1\u5668\u4e0a\u8fdb\u884c\u7ba1\u7406\u3002

    \u6570\u636e\u96c6 \u662f AI Lab \u4e2d\u7684\u6838\u5fc3\u6570\u636e\u7ba1\u7406\u529f\u80fd\uff0c\u5c06 MLOps \u751f\u547d\u5468\u671f\u4e2d\u5bf9\u4e8e\u6570\u636e\u7684\u4f9d\u8d56\u7edf\u4e00\u62bd\u8c61\u4e3a\u6570\u636e\u96c6\uff1b \u652f\u6301\u7528\u6237\u5c06\u5404\u7c7b\u6570\u636e\u7eb3\u7ba1\u5230\u6570\u636e\u96c6\u5185\uff0c\u4ee5\u4fbf\u8bad\u7ec3\u4efb\u52a1\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u6570\u636e\u96c6\u4e2d\u7684\u6570\u636e\u3002

    \u5f53\u8fdc\u7aef\u6570\u636e\u4e0d\u5728\u5de5\u4f5c\u96c6\u7fa4\u5185\u65f6\uff0c\u6570\u636e\u96c6\u63d0\u4f9b\u4e86\u81ea\u52a8\u8fdb\u884c\u9884\u70ed\u7684\u80fd\u529b\uff0c\u652f\u6301 Git\u3001S3\u3001HTTP \u7b49\u6570\u636e\u63d0\u524d\u9884\u70ed\u5230\u96c6\u7fa4\u672c\u5730\u3002

    \u6570\u636e\u96c6\u9700\u8981\u4e00\u4e2a\u652f\u6301 ReadWriteMany \u6a21\u5f0f\u7684\u5b58\u50a8\u670d\u52a1\u5bf9\u8fdc\u7aef\u6570\u636e\u8fdb\u884c\u9884\u70ed\uff0c\u63a8\u8350\u5728\u96c6\u7fa4\u5185\u90e8\u7f72 NFS\u3002

    \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u4e86\u5982\u4f55\u5feb\u901f\u90e8\u7f72\u4e00\u4e2a NFS \u670d\u52a1\uff0c\u5e76\u5c06\u5176\u6dfb\u52a0\u4e3a\u96c6\u7fa4\u7684\u5b58\u50a8\u7c7b\u3002

    "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#_1","title":"\u51c6\u5907\u5de5\u4f5c","text":"
    • NFS \u9ed8\u8ba4\u4f7f\u7528\u8282\u70b9\u7684\u5b58\u50a8\u4f5c\u4e3a\u6570\u636e\u7f13\u5b58\u70b9\uff0c\u56e0\u6b64\u9700\u8981\u786e\u8ba4\u78c1\u76d8\u672c\u8eab\u6709\u8db3\u591f\u7684\u78c1\u76d8\u7a7a\u95f4\u3002
    • \u5b89\u88c5\u65b9\u5f0f\u4f7f\u7528 Helm \u4e0e Kubectl\uff0c\u8bf7\u786e\u4fdd\u5df2\u7ecf\u5b89\u88c5\u597d\u3002
    "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#_2","title":"\u90e8\u7f72\u8fc7\u7a0b","text":"

    \u4e00\u5171\u9700\u8981\u5b89\u88c5\u51e0\u4e2a\u7ec4\u4ef6\uff1a

    • NFS Server
    • csi-driver-nfs
    • StorageClass
    "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#_3","title":"\u521d\u59cb\u5316\u547d\u540d\u7a7a\u95f4","text":"

    \u6240\u6709\u7cfb\u7edf\u7ec4\u4ef6\u4f1a\u5b89\u88c5\u5230 nfs \u547d\u540d\u7a7a\u95f4\u5185\uff0c\u56e0\u6b64\u9700\u8981\u5148\u521b\u5efa\u6b64\u547d\u540d\u7a7a\u95f4\u3002

    kubectl create namespace nfs\n
    "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#nfs-server","title":"\u5b89\u88c5 NFS Server","text":"

    \u8fd9\u91cc\u662f\u4e00\u4e2a\u7b80\u5355\u7684 YAML \u90e8\u7f72\u6587\u4ef6\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u3002

    Note

    \u6ce8\u610f\u68c0\u67e5 image:\uff0c\u6839\u636e\u96c6\u7fa4\u6240\u5728\u4f4d\u7f6e\u60c5\u51b5\uff0c\u53ef\u80fd\u9700\u8981\u4fee\u6539\u4e3a\u56fd\u5185\u955c\u50cf\u3002

    nfs-server.yaml
    kind: Service\napiVersion: v1\nmetadata:\n  name: nfs-server\n  namespace: nfs\n  labels:\n    app: nfs-server\nspec:\n  type: ClusterIP\n  selector:\n    app: nfs-server\n  ports:\n    - name: tcp-2049\n      port: 2049\n      protocol: TCP\n    - name: udp-111\n      port: 111\n      protocol: UDP\n---\nkind: Deployment\napiVersion: apps/v1\nmetadata:\n  name: nfs-server\n  namespace: nfs\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: nfs-server\n  template:\n    metadata:\n      name: nfs-server\n      labels:\n        app: nfs-server\n    spec:\n      nodeSelector:\n        \"kubernetes.io/os\": linux\n      containers:\n        - name: nfs-server\n          image: itsthenetwork/nfs-server-alpine:latest\n          env:\n            - name: SHARED_DIRECTORY\n              value: \"/exports\"\n          volumeMounts:\n            - mountPath: /exports\n              name: nfs-vol\n          securityContext:\n            privileged: true\n          ports:\n            - name: tcp-2049\n              containerPort: 2049\n              protocol: TCP\n            - name: udp-111\n              containerPort: 111\n              protocol: UDP\n      volumes:\n        - name: nfs-vol\n          hostPath:\n            path: /nfsdata  # (1)!\n            type: DirectoryOrCreate\n
    1. \u4fee\u6539\u6b64\u5904\u4ee5\u6307\u5b9a\u53e6\u4e00\u4e2a\u8def\u5f84\u6765\u5b58\u50a8 NFS \u5171\u4eab\u6570\u636e

    \u5c06\u4e0a\u8ff0 YAML \u4fdd\u5b58\u4e3a nfs-server.yaml\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u90e8\u7f72\uff1a

    kubectl -n nfs apply -f nfs-server.yaml\n\n# \u68c0\u67e5\u90e8\u7f72\u7ed3\u679c\nkubectl -n nfs get pod,svc\n
    "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#csi-driver-nfs","title":"\u5b89\u88c5 csi-driver-nfs","text":"

    \u5b89\u88c5 csi-driver-nfs \u9700\u8981\u4f7f\u7528 Helm\uff0c\u8bf7\u6ce8\u610f\u63d0\u524d\u5b89\u88c5\u3002

    # \u6dfb\u52a0 Helm \u4ed3\u5e93\nhelm repo add csi-driver-nfs https://mirror.ghproxy.com/https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts\nhelm repo update csi-driver-nfs\n\n# \u90e8\u7f72 csi-driver-nfs\n# \u8fd9\u91cc\u53c2\u6570\u4e3b\u8981\u4f18\u5316\u4e86\u955c\u50cf\u5730\u5740\uff0c\u52a0\u901f\u56fd\u5185\u4e0b\u8f7d\nhelm upgrade --install csi-driver-nfs csi-driver-nfs/csi-driver-nfs \\\n    --set image.nfs.repository=k8s.m.daocloud.io/sig-storage/nfsplugin \\\n    --set image.csiProvisioner.repository=k8s.m.daocloud.io/sig-storage/csi-provisioner \\\n    --set image.livenessProbe.repository=k8s.m.daocloud.io/sig-storage/livenessprobe \\\n    --set image.nodeDriverRegistrar.repository=k8s.m.daocloud.io/sig-storage/csi-node-driver-registrar \\\n    --namespace nfs \\\n    --version v4.5.0\n

    Warning

    csi-nfs-controller \u7684\u955c\u50cf\u5e76\u672a\u5168\u90e8\u652f\u6301 helm \u53c2\u6570\uff0c\u9700\u8981\u624b\u5de5\u4fee\u6539 deployment \u7684 image \u5b57\u6bb5\u3002 \u5c06 image: registry.k8s.io \u6539\u4e3a image: k8s.dockerproxy.com \u4ee5\u52a0\u901f\u56fd\u5185\u4e0b\u8f7d\u3002

    "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#storageclass","title":"\u521b\u5efa StorageClass","text":"

    \u5c06\u4ee5\u4e0b YAML \u4fdd\u5b58\u4e3a nfs-sc.yaml\uff1a

    nfs-sc.yaml
    apiVersion: storage.k8s.io/v1\nkind: StorageClass\nmetadata:\n  name: nfs-csi\nprovisioner: nfs.csi.k8s.io\nparameters:\n  server: nfs-server.nfs.svc.cluster.local\n  share: /\n  # csi.storage.k8s.io/provisioner-secret is only needed for providing mountOptions in DeleteVolume\n  # csi.storage.k8s.io/provisioner-secret-name: \"mount-options\"\n  # csi.storage.k8s.io/provisioner-secret-namespace: \"default\"\nreclaimPolicy: Retain\nvolumeBindingMode: Immediate\nmountOptions:\n  - nfsvers=4.1\n

    \u7136\u540e\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u90e8\u7f72\uff1a

    kubectl apply -f nfs-sc.yaml\n
    "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#_4","title":"\u6d4b\u8bd5","text":"

    \u521b\u5efa\u6570\u636e\u96c6\uff0c\u5e76\u5c06\u6570\u636e\u96c6\u7684 \u5173\u8054\u5b58\u50a8\u7c7b \uff0c\u9884\u70ed\u65b9\u5f0f \u8bbe\u7f6e\u4e3a NFS\uff0c\u5373\u53ef\u5c06\u8fdc\u7aef\u6570\u636e\u9884\u70ed\u5230\u96c6\u7fa4\u5185\u3002

    \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u770b\u5230\u6570\u636e\u96c6\u7684\u72b6\u6001\u4e3a \u9884\u70ed\u4e2d\uff0c\u7b49\u5f85\u9884\u70ed\u5b8c\u6210\u540e\u5373\u53ef\u4f7f\u7528\u3002

    "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#_5","title":"\u5e38\u89c1\u95ee\u9898","text":""},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#nfs-sbinmount","title":"\u7f3a\u5c11\u5fc5\u8981\u7684 NFS \u5ba2\u6237\u7aef\u8f6f\u4ef6 /sbin/mount","text":"
    bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.\n

    \u5728\u8fd0\u884c Kubernetes \u7684\u8282\u70b9\u673a\u5668\u4e0a\uff0c\u786e\u4fdd\u5df2\u5b89\u88c5 NFS \u5ba2\u6237\u7aef\uff1a

    Ubuntu/DebianCentOS/RHEL

    \u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5b89\u88c5 NFS \u5ba2\u6237\u7aef\uff1a

    sudo apt-get update\nsudo apt-get install nfs-common\n

    \u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5b89\u88c5 NFS \u5ba2\u6237\u7aef\uff1a

    sudo yum install nfs-utils\n

    \u68c0\u67e5 NFS \u670d\u52a1\u5668\u914d\u7f6e\uff0c\u786e\u4fdd NFS \u670d\u52a1\u5668\u6b63\u5728\u8fd0\u884c\u4e14\u914d\u7f6e\u6b63\u786e\u3002\u4f60\u53ef\u4ee5\u5c1d\u8bd5\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u6302\u8f7d\u6765\u6d4b\u8bd5\uff1a

    sudo mkdir -p /mnt/test\nsudo mount -t nfs <nfs-server>:/nfsdata /mnt/test\n
    "},{"location":"admin/baize/best-practice/finetunel-llm.html","title":"\u4f7f\u7528 AI Lab \u5fae\u8c03 ChatGLM3 \u6a21\u578b","text":"

    \u672c\u6587\u4ee5 ChatGLM3 \u6a21\u578b\u4e3a\u4f8b\uff0c\u6f14\u793a\u5982\u4f55\u5728 AI Lab \u4e2d\u4f7f\u7528 LoRA\uff08Low-Rank Adaptation\uff0c\u4f4e\u79e9\u81ea\u9002\u5e94\uff09\u5fae\u8c03 ChatGLM3 \u6a21\u578b\u3002 Demo \u7a0b\u5e8f\u6765\u81ea ChatGLM3 \u5b98\u65b9\u6848\u4f8b\u3002

    \u5fae\u8c03\u7684\u5927\u81f4\u6d41\u7a0b\u4e3a\uff1a

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_1","title":"\u73af\u5883\u4f9d\u8d56","text":"
    • GPU \u663e\u5b58\u81f3\u5c11 20GB\uff0c\u63a8\u8350\u4f7f\u7528 RTX4090\u3001NVIDIA A/H \u7cfb\u5217\u663e\u5361
    • \u53ef\u7528\u78c1\u76d8\u7a7a\u95f4\u81f3\u5c11 200GB
    • CPU \u81f3\u5c11 8 \u6838\uff0c\u63a8\u8350 16 \u6838
    • \u5185\u5b58 64GB\uff0c\u63a8\u8350 128GB

    Info

    \u5728\u5f00\u59cb\u4f53\u9a8c\u4e4b\u524d\uff0c\u8bf7\u68c0\u67e5 AI \u7b97\u529b\u5e73\u53f0\u4ee5\u53ca AI Lab \u90e8\u7f72\u6b63\u786e\uff0cGPU \u961f\u5217\u8d44\u6e90\u521d\u59cb\u5316\u6210\u529f\uff0c\u4e14\u7b97\u529b\u8d44\u6e90\u5145\u8db3\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_2","title":"\u6570\u636e\u51c6\u5907","text":"

    \u5229\u7528 AI Lab \u63d0\u4f9b\u7684\u6570\u636e\u96c6\u7ba1\u7406\u529f\u80fd\uff0c\u5feb\u901f\u5c06\u5fae\u8c03\u5927\u6a21\u578b\u6240\u9700\u7684\u6570\u636e\u8fdb\u884c\u9884\u70ed\u53ca\u6301\u4e45\u5316\uff0c\u51cf\u5c11\u56e0\u4e3a\u51c6\u5907\u6570\u636e\u5bfc\u81f4\u7684 GPU \u8d44\u6e90\u5360\u7528\uff0c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

    \u5728\u6570\u636e\u96c6\u5217\u8868\u9875\u9762\uff0c\u521b\u5efa\u9700\u8981\u7684\u6570\u636e\u8d44\u6e90\uff0c\u8fd9\u4e9b\u8d44\u6e90\u5305\u542b\u4e86 ChatGLM3 \u4ee3\u7801\uff0c\u4e5f\u53ef\u4ee5\u662f\u6570\u636e\u6587\u4ef6\uff0c\u6240\u6709\u8fd9\u4e9b\u6570\u636e\u90fd\u53ef\u4ee5\u901a\u8fc7\u6570\u636e\u96c6\u5217\u8868\u6765\u7edf\u4e00\u7ba1\u7406\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_3","title":"\u4ee3\u7801\u53ca\u6a21\u578b\u6587\u4ef6","text":"

    ChatGLM3 \u662f\u667a\u8c31 AI \u548c\u6e05\u534e\u5927\u5b66 KEG \u5b9e\u9a8c\u5ba4\u8054\u5408\u53d1\u5e03\u7684\u5bf9\u8bdd\u9884\u8bad\u7ec3\u6a21\u578b\u3002

    \u5148\u62c9\u53d6 ChatGLM3 \u4ee3\u7801\u4ed3\u5e93\uff0c\u4e0b\u8f7d\u9884\u8bad\u7ec3\u6a21\u578b\uff0c\u7528\u4e8e\u540e\u7eed\u7684\u5fae\u8c03\u4efb\u52a1\u3002

    AI Lab \u4f1a\u5728\u540e\u53f0\u8fdb\u884c\u5168\u81ea\u52a8\u6570\u636e\u9884\u70ed\uff0c\u4ee5\u4fbf\u540e\u7eed\u7684\u4efb\u52a1\u80fd\u591f\u5feb\u901f\u8bbf\u95ee\u6570\u636e\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#advertisegen","title":"AdvertiseGen \u6570\u636e\u96c6","text":"

    \u56fd\u5185\u6570\u636e\u53ef\u4ee5\u4ece Tsinghua Cloud \u76f4\u63a5\u83b7\u53d6\uff0c\u8fd9\u91cc\u4f7f\u7528 HTTP \u7684\u6570\u636e\u6e90\u65b9\u5f0f\u3002

    \u6ce8\u610f\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u9700\u8981\u7b49\u5f85\u6570\u636e\u96c6\u9884\u70ed\u5b8c\u6210\uff0c\u4e00\u822c\u5f88\u5feb\uff0c\u6839\u636e\u60a8\u7684\u7f51\u7edc\u60c5\u51b5\u800c\u5b9a\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_4","title":"\u5fae\u8c03\u8f93\u51fa\u6570\u636e","text":"

    \u540c\u65f6\uff0c\u60a8\u9700\u8981\u51c6\u5907\u4e00\u4e2a\u7a7a\u7684\u6570\u636e\u96c6\uff0c\u7528\u4e8e\u5b58\u653e\u5fae\u8c03\u4efb\u52a1\u5b8c\u6210\u540e\u8f93\u51fa\u7684\u6a21\u578b\u6587\u4ef6\uff0c\u8fd9\u91cc\u521b\u5efa\u4e00\u4e2a\u7a7a\u7684\u6570\u636e\u96c6\uff0c\u4ee5 PVC \u4e3a\u4f8b\u3002

    Warning

    \u6ce8\u610f\u9700\u8981\u4f7f\u7528\u652f\u6301 ReadWriteMany \u7684\u5b58\u50a8\u7c7b\u578b\uff0c\u4ee5\u4fbf\u540e\u7eed\u7684\u4efb\u52a1\u80fd\u591f\u5feb\u901f\u8bbf\u95ee\u6570\u636e\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_5","title":"\u73af\u5883\u51c6\u5907","text":"

    \u5bf9\u4e8e\u6a21\u578b\u5f00\u53d1\u8005\u6765\u8bf4\uff0c\u51c6\u5907\u6a21\u578b\u5f00\u53d1\u9700\u8981\u7684 Python \u73af\u5883\u4f9d\u8d56\u662f\u975e\u5e38\u91cd\u8981\u7684\uff0c\u4f20\u7edf\u505a\u6cd5\u5c06\u73af\u5883\u4f9d\u8d56\u76f4\u63a5\u6253\u5305\u5230\u5f00\u53d1\u5de5\u5177\u7684\u955c\u50cf\u4e2d\uff0c \u6216\u8005\u76f4\u63a5\u5728\u672c\u5730\u73af\u5883\u4e2d\u5b89\u88c5\uff0c\u4f46\u662f\u8fd9\u6837\u505a\u4f1a\u5bfc\u81f4\u73af\u5883\u4f9d\u8d56\u7684\u4e0d\u4e00\u81f4\uff0c\u800c\u4e14\u4e0d\u5229\u4e8e\u73af\u5883\u7684\u7ba1\u7406\u548c\u4f9d\u8d56\u66f4\u65b0\u53ca\u540c\u6b65\u3002

    AI Lab \u63d0\u4f9b\u4e86\u73af\u5883\u7ba1\u7406\u7684\u80fd\u529b\uff0c\u5c06 Python \u73af\u5883\u4f9d\u8d56\u5305\u7ba1\u7406\u548c\u5f00\u53d1\u5de5\u5177\u3001\u4efb\u52a1\u955c\u50cf\u7b49\u8fdb\u884c\u89e3\u8026\uff0c\u89e3\u51b3\u4e86\u4f9d\u8d56\u7ba1\u7406\u6df7\u4e71\uff0c\u73af\u5883\u4e0d\u4e00\u81f4\u7b49\u95ee\u9898\u3002

    \u8fd9\u91cc\u4f7f\u7528 AI Lab \u63d0\u4f9b\u7684\u73af\u5883\u7ba1\u7406\u529f\u80fd\uff0c\u521b\u5efa ChatGLM3 \u5fae\u8c03\u6240\u9700\u7684\u73af\u5883\uff0c\u4ee5\u5907\u540e\u7eed\u4f7f\u7528\u3002

    Warning

    1. ChatGLM \u4ed3\u5e93\u5185\u6709 requirements.txt \u6587\u4ef6\uff0c\u91cc\u9762\u5305\u542b\u4e86 ChatGLM3 \u5fae\u8c03\u6240\u9700\u7684\u73af\u5883\u4f9d\u8d56
    2. \u672c\u6b21\u5fae\u8c03\u6ca1\u6709\u7528\u5230 deepspeed \u548c mpi4py \u5305\uff0c\u5efa\u8bae\u4ece requirements.txt \u6587\u4ef6\u4e2d\u5c06\u5176\u6ce8\u91ca\u6389\uff0c\u5426\u5219\u53ef\u80fd\u51fa\u73b0\u5305\u7f16\u8bd1\u4e0d\u901a\u8fc7\u7684\u60c5\u51b5

    \u5728\u73af\u5883\u7ba1\u7406\u5217\u8868\uff0c\u60a8\u53ef\u4ee5\u5feb\u901f\u521b\u5efa\u4e00\u4e2a Python \u73af\u5883\uff0c\u5e76\u901a\u8fc7\u7b80\u5355\u7684\u8868\u5355\u914d\u7f6e\u6765\u5b8c\u6210\u73af\u5883\u7684\u521b\u5efa\uff1b\u8fd9\u91cc\u9700\u8981\u4e00\u4e2a Python 3.11.x \u73af\u5883\uff0c

    \u56e0\u4e3a\u672c\u5b9e\u9a8c\u9700\u8981\u4f7f\u7528 CUDA\uff0c\u6240\u4ee5\u5728\u8fd9\u91cc\u9700\u8981\u914d\u7f6e GPU \u8d44\u6e90\uff0c\u7528\u4e8e\u9884\u70ed\u9700\u8981\u8d44\u6e90\u7684\u4f9d\u8d56\u5e93\u3002

    \u521b\u5efa\u73af\u5883\uff0c\u9700\u8981\u53bb\u4e0b\u8f7d\u4e00\u7cfb\u5217\u7684 Python \u4f9d\u8d56\uff0c\u6839\u636e\u60a8\u7684\u5b9e\u9645\u4f4d\u7f6e\u4e0d\u540c\uff0c\u53ef\u80fd\u4f1a\u6709\u4e0d\u540c\u7684\u4e0b\u8f7d\u901f\u5ea6\uff0c\u8fd9\u91cc\u4f7f\u7528\u4e86\u56fd\u5185\u7684\u955c\u50cf\u52a0\u901f\uff0c\u53ef\u4ee5\u52a0\u5feb\u4e0b\u8f7d\u901f\u5ea6\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#notebook-ide","title":"\u4f7f\u7528 Notebook \u4f5c\u4e3a IDE","text":"

    AI Lab \u63d0\u4f9b\u4e86 Notebook \u4f5c\u4e3a IDE \u7684\u529f\u80fd\uff0c\u53ef\u4ee5\u8ba9\u7528\u6237\u5728\u6d4f\u89c8\u5668\u4e2d\u76f4\u63a5\u7f16\u5199\u4ee3\u7801\uff0c\u8fd0\u884c\u4ee3\u7801\uff0c\u67e5\u770b\u4ee3\u7801\u8fd0\u884c\u7ed3\u679c\uff0c\u975e\u5e38\u9002\u5408\u4e8e\u6570\u636e\u5206\u6790\u3001\u673a\u5668\u5b66\u4e60\u3001\u6df1\u5ea6\u5b66\u4e60\u7b49\u9886\u57df\u7684\u5f00\u53d1\u3002

    \u60a8\u53ef\u4ee5\u4f7f\u7528 AI Lab \u63d0\u4f9b\u7684 JupyterLab Notebook \u6765\u8fdb\u884c ChatGLM3 \u7684\u5fae\u8c03\u4efb\u52a1\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#jupyterlab-notebook","title":"\u521b\u5efa JupyterLab Notebook","text":"

    \u5728 Notebook \u5217\u8868\u4e2d\uff0c\u53ef\u4ee5\u6839\u636e\u9875\u9762\u64cd\u4f5c\u6307\u5f15\uff0c\u521b\u5efa\u4e00\u4e2a Notebook\u3002\u6ce8\u610f\u60a8\u9700\u8981\u6839\u636e\u524d\u6587\u63d0\u5230\u7684\u8d44\u6e90\u8981\u6c42\u6765\u914d\u7f6e\u5bf9\u5e94\u7684 Notebook \u8d44\u6e90\u53c2\u6570\uff0c \u907f\u514d\u540e\u7eed\u56e0\u4e3a\u8d44\u6e90\u95ee\u9898\uff0c\u5f71\u54cd\u5fae\u8c03\u8fc7\u7a0b\u3002

    Note

    \u5728\u521b\u5efa Notebook \u65f6\uff0c\u53ef\u4ee5\u5c06\u4e4b\u524d\u9884\u52a0\u8f7d\u7684\u6a21\u578b\u4ee3\u7801\u6570\u636e\u96c6\u548c\u73af\u5883\uff0c\u76f4\u63a5\u6302\u8f7d\u5230 Notebook \u4e2d\uff0c\u6781\u5927\u8282\u7701\u4e86\u6570\u636e\u51c6\u5907\u7684\u65f6\u95f4\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_6","title":"\u6302\u8f7d\u6570\u636e\u96c6\u548c\u4ee3\u7801","text":"

    \u6ce8\u610f\uff1aChatGLM3 \u7684\u4ee3\u7801\u6587\u4ef6\u6302\u8f7d\u5230\u4e86 /home/jovyan/ChatGLM3 \u76ee\u5f55\u4e0b\uff0c\u540c\u65f6\u60a8\u4e5f\u9700\u8981\u5c06 AdvertiseGen \u6570\u636e\u96c6\u6302\u8f7d\u5230 /home/jovyan/ChatGLM3/finetune_demo/data/AdvertiseGen \u76ee\u5f55\u4e0b\uff0c\u4ee5\u4fbf\u540e\u7eed\u7684\u5fae\u8c03\u4efb\u52a1\u80fd\u591f\u8bbf\u95ee\u6570\u636e\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#pvc","title":"\u6302\u8f7d PVC \u5230\u6a21\u578b\u8f93\u51fa\u6587\u4ef6\u5939","text":"

    \u672c\u6b21\u4f7f\u7528\u7684\u6a21\u578b\u8f93\u51fa\u4f4d\u7f6e\u5728 /home/jovyan/ChatGLM3/finetune_demo/output \u76ee\u5f55\u4e0b\uff0c\u53ef\u4ee5\u5c06\u4e4b\u524d\u521b\u5efa\u7684 PVC \u6570\u636e\u96c6\u6302\u8f7d\u5230\u8fd9\u4e2a\u76ee\u5f55\u4e0b\uff0c \u8fd9\u6837\u8bad\u7ec3\u8f93\u51fa\u7684\u6a21\u578b\u5c31\u53ef\u4ee5\u4fdd\u5b58\u5230\u6570\u636e\u96c6\u4e2d\uff0c\u540e\u7eed\u6a21\u578b\u63a8\u7406\u7b49\u4efb\u52a1\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95ee\u3002

    \u521b\u5efa\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u770b\u5230 Notebook \u7684\u754c\u9762\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5728 Notebook \u4e2d\u7f16\u5199\u4ee3\u7801\uff0c\u8fd0\u884c\u4ee3\u7801\uff0c\u67e5\u770b\u4ee3\u7801\u8fd0\u884c\u7ed3\u679c\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#chatglm3","title":"\u5fae\u8c03 ChatGLM3","text":"

    \u5f53\u60a8\u8fdb\u5165\u5230 Notebook \u4e2d\u540e\uff0c\u53ef\u4ee5\u5728 Notebook \u4fa7\u8fb9\u680f\u4f1a\u53d1\u73b0\u6709\u4e00\u4e2a File Browser \u7684\u9009\u9879\uff0c\u53ef\u4ee5\u770b\u5230\u4e4b\u524d\u6302\u8f7d\u7684\u6570\u636e\u96c6\u548c\u4ee3\u7801\uff0c\u5728\u8fd9\u91cc\u627e\u5230 ChatGLM3 \u7684\u6587\u4ef6\u5939\u3002

    \u60a8\u53ef\u4ee5\u770b\u5230 ChatGLM3 \u7684\u5fae\u8c03\u4ee3\u7801\u5728 finetune_demo \u6587\u4ef6\u5939\u4e2d\uff0c\u8fd9\u91cc\u53ef\u4ee5\u76f4\u63a5\u6253\u5f00 lora_finetune.ipynb \u6587\u4ef6\uff0c\u8fd9\u662f ChatGLM3 \u7684\u5fae\u8c03\u4ee3\u7801\u3002

    \u9996\u5148\uff0c\u6839\u636e README.md \u7684\u8bf4\u660e\uff0c\u60a8\u53ef\u4ee5\u4e86\u89e3\u5230\u6574\u4e2a\u5fae\u8c03\u7684\u8fc7\u7a0b\uff0c\u5efa\u8bae\u5148\u9605\u8bfb\u4e00\u904d\uff0c\u786e\u4fdd\u57fa\u7840\u7684\u73af\u5883\u4f9d\u8d56\u548c\u6570\u636e\u51c6\u5907\u5de5\u4f5c\u90fd\u5df2\u7ecf\u5b8c\u6210\u3002

    \u6253\u5f00\u7ec8\u7aef\uff0c\u5e76\u4f7f\u7528 conda \u5207\u6362\u5230\u60a8\u63d0\u524d\u9884\u70ed\u7684\u73af\u5883\u4e2d\uff0c\u6b64\u73af\u5883\u4e0e JupyterLab Kernel \u4fdd\u6301\u4e00\u81f4\uff0c\u4ee5\u4fbf\u540e\u7eed\u7684\u4ee3\u7801\u8fd0\u884c\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_7","title":"\u6570\u636e\u9884\u5904\u7406","text":"

    \u9996\u5148\uff0c\u60a8\u9700\u8981\u5c06 AdvertiseGen \u6570\u636e\u96c6\u8fdb\u884c\u9884\u5904\u7406\uff0c\u5bf9\u6570\u636e\u8fdb\u884c\u6807\u51c6\u5316\u5904\u7406\uff0c\u4f7f\u5176\u7b26\u5408 Lora \u9884\u8bad\u7ec3\u7684\u6807\u51c6\u683c\u5f0f\u8981\u6c42\uff1b \u8fd9\u91cc\u5c06\u5904\u7406\u540e\u7684\u6570\u636e\u4fdd\u5b58\u5230 AdvertiseGen_fix \u6587\u4ef6\u5939\u4e2d\u3002

    import json\nfrom typing import Union\nfrom pathlib import Path\n\ndef _resolve_path(path: Union[str, Path]) -> Path:\n    return Path(path).expanduser().resolve()\n\ndef _mkdir(dir_name: Union[str, Path]):\n    dir_name = _resolve_path(dir_name)\n    if not dir_name.is_dir():\n        dir_name.mkdir(parents=True, exist_ok=False)\n\ndef convert_adgen(data_dir: Union[str, Path], save_dir: Union[str, Path]):\n    def _convert(in_file: Path, out_file: Path):\n        _mkdir(out_file.parent)\n        with open(in_file, encoding='utf-8') as fin:\n            with open(out_file, 'wt', encoding='utf-8') as fout:\n                for line in fin:\n                    dct = json.loads(line)\n                    sample = {'conversations': [{'role': 'user', 'content': dct['content']},\n                                                {'role': 'assistant', 'content': dct['summary']}]}\n                    fout.write(json.dumps(sample, ensure_ascii=False) + '\\n')\n\n    data_dir = _resolve_path(data_dir)\n    save_dir = _resolve_path(save_dir)\n\n    train_file = data_dir / 'train.json'\n    if train_file.is_file():\n        out_file = save_dir / train_file.relative_to(data_dir)\n        _convert(train_file, out_file)\n\n    dev_file = data_dir / 'dev.json'\n    if dev_file.is_file():\n        out_file = save_dir / dev_file.relative_to(data_dir)\n        _convert(dev_file, out_file)\n\nconvert_adgen('data/AdvertiseGen', 'data/AdvertiseGen_fix')\n

    \u4e3a\u4e86\u8282\u7701\u8c03\u8bd5\u7684\u65f6\u95f4\uff0c\u60a8\u53ef\u4ee5\u5c06 /home/jovyan/ChatGLM3/finetune_demo/data/AdvertiseGen_fix/dev.json \u4e2d\u7684\u6570\u636e\u91cf\u7f29\u51cf\u5230 50 \u6761\uff0c\u8fd9\u91cc\u7684\u6570\u636e\u662f JSON \u683c\u5f0f\uff0c\u5904\u7406\u8d77\u6765\u4e5f\u662f\u6bd4\u8f83\u65b9\u4fbf\u7684\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#lora","title":"\u672c\u5730 LoRA \u5fae\u8c03\u6d4b\u8bd5","text":"

    \u5b8c\u6210\u6570\u636e\u7684\u9884\u5904\u7406\u4e4b\u540e\uff0c\u57fa\u672c\u4e0a\u60a8\u5c31\u53ef\u4ee5\u76f4\u63a5\u5fae\u8c03\u6d4b\u8bd5\u4e86\uff0c\u53ef\u4ee5\u5728 /home/jovyan/ChatGLM3/finetune_demo/configs/lora.yaml \u6587\u4ef6\u4e2d\u914d\u7f6e\u5fae\u8c03\u7684\u53c2\u6570\uff0c\u4e00\u822c\u9700\u8981\u5173\u6ce8\u7684\u53c2\u6570\u57fa\u672c\u5982\u4e0b\uff1a

    \u65b0\u5f00\u4e00\u4e2a\u7ec8\u7aef\u7a97\u53e3\uff0c\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u5373\u53ef\u8fdb\u884c\u672c\u5730\u5fae\u8c03\u6d4b\u8bd5\uff0c\u8bf7\u786e\u4fdd\u53c2\u6570\u914d\u7f6e\u548c\u8def\u5f84\u6b63\u786e\uff1a

    !CUDA_VISIBLE_DEVICES=0 NCCL_P2P_DISABLE=\"1\" NCCL_IB_DISABLE=\"1\" python finetune_hf.py  data/AdvertiseGen_fix  ./chatglm3-6b  configs/lora.yaml\n

    \u5728\u8fd9\u6761\u547d\u4ee4\u4e2d\uff0c

    • finetune_hf.py \u662f ChatGLM3 \u4ee3\u7801\u4e2d\u7684\u5fae\u8c03\u811a\u672c
    • data/AdvertiseGen_fix \u662f\u60a8\u9884\u5904\u7406\u540e\u7684\u6570\u636e\u96c6
    • ./chatglm3-6b \u662f\u60a8\u9884\u8bad\u7ec3\u6a21\u578b\u7684\u8def\u5f84
    • configs/lora.yaml \u662f\u5fae\u8c03\u7684\u914d\u7f6e\u6587\u4ef6

    \u5fae\u8c03\u8fc7\u7a0b\u4e2d\u53ef\u4ee5\u4f7f\u7528 nvidia-smi \u547d\u4ee4\u67e5\u770b GPU \u663e\u5b58\u4f7f\u7528\u60c5\u51b5\uff1a

    \u5728\u5fae\u8c03\u5b8c\u6210\u540e\uff0c\u5728 finetune_demo \u76ee\u5f55\u4e0b\u4f1a\u751f\u6210\u4e00\u4e2a output \u76ee\u5f55\uff0c\u91cc\u9762\u5305\u542b\u4e86\u5fae\u8c03\u7684\u6a21\u578b\u6587\u4ef6\uff0c \u8fd9\u6837\u5fae\u8c03\u7684\u6a21\u578b\u6587\u4ef6\u5c31\u76f4\u63a5\u4fdd\u5b58\u5230\u60a8\u4e4b\u524d\u521b\u5efa\u7684 PVC \u6570\u636e\u96c6\u4e2d\u4e86\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_8","title":"\u5fae\u8c03\u4efb\u52a1\u63d0\u4ea4","text":"

    \u5728\u672c\u5730\u5fae\u8c03\u6d4b\u8bd5\u5b8c\u6210\u540e\uff0c\u786e\u4fdd\u60a8\u7684\u4ee3\u7801\u548c\u6570\u636e\u6ca1\u6709\u95ee\u9898\uff0c\u63a5\u4e0b\u6765\u53ef\u4ee5\u5c06\u5fae\u8c03\u4efb\u52a1\u63d0\u4ea4\u5230AI Lab \u4e2d\uff0c\u8fdb\u884c\u5927\u89c4\u6a21\u7684\u8bad\u7ec3\u548c\u5fae\u8c03\u4efb\u52a1\u3002

    \u8fd9\u4e5f\u662f\u63a8\u8350\u7684\u6a21\u578b\u5f00\u53d1\u548c\u5fae\u8c03\u6d41\u7a0b\uff0c\u5148\u5728\u672c\u5730\u8fdb\u884c\u5fae\u8c03\u6d4b\u8bd5\uff0c\u786e\u4fdd\u4ee3\u7801\u548c\u6570\u636e\u6ca1\u6709\u95ee\u9898\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_9","title":"\u4f7f\u7528\u754c\u9762\u63d0\u4ea4\u5fae\u8c03\u4efb\u52a1","text":"

    \u8fd9\u91cc\u4f7f\u7528 Pytorch \u6765\u521b\u5efa\u5fae\u8c03\u4efb\u52a1\uff0c\u6839\u636e\u60a8\u7684\u5b9e\u9645\u60c5\u51b5\uff0c\u9009\u62e9\u9700\u8981\u4f7f\u7528\u54ea\u4e2a\u96c6\u7fa4\u7684\u8d44\u6e90\uff0c\u6ce8\u610f\u9700\u8981\u6ee1\u8db3\u524d\u9762\u8d44\u6e90\u51c6\u5907\u4e2d\u63d0\u53ca\u7684\u8d44\u6e90\u8981\u6c42\u3002

    • \u955c\u50cf\uff1a\u53ef\u76f4\u63a5\u4f7f\u7528 baizectl \u63d0\u4f9b\u7684\u6a21\u578b\u955c\u50cf
    • \u542f\u52a8\u547d\u4ee4\uff0c\u6839\u636e\u60a8\u5728 Notebook \u4e2d\u4f7f\u7528 LoRA \u5fae\u8c03\u7684\u7ecf\u9a8c\uff0c\u4ee3\u7801\u6587\u4ef6\u548c\u6570\u636e\u5728 /home/jovyan/ChatGLM3/finetune_demo \u76ee\u5f55\u4e0b\uff0c\u6240\u4ee5\u60a8\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u8fd9\u4e2a\u8def\u5f84\uff1a

      bash -c \"cd /home/jovyan/ChatGLM3/finetune_demo && CUDA_VISIBLE_DEVICES=0 NCCL_P2P_DISABLE=\"1\" NCCL_IB_DISABLE=\"1\" python finetune_hf.py  data/AdvertiseGen_fix  ./chatglm3-6b  configs/lora.yaml\"\n
    • \u6302\u8f7d\u73af\u5883\uff0c\u8fd9\u6837\u4e4b\u524d\u9884\u52a0\u8f7d\u7684\u73af\u5883\u4f9d\u8d56\u4e0d\u4ec5\u53ef\u4ee5\u5728 Notebook \u4e2d\u4f7f\u7528\uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u5728\u4efb\u52a1\u4e2d\u4f7f\u7528

    • \u6570\u636e\u96c6\uff1a\u76f4\u63a5\u4f7f\u7528\u4e4b\u524d\u9884\u70ed\u7684\u6570\u636e\u96c6
      • \u5c06\u6a21\u578b\u8f93\u51fa\u8def\u5f84\u8bbe\u7f6e\u4e3a\u4e4b\u524d\u521b\u5efa\u7684 PVC \u6570\u636e\u96c6
      • \u5c06 AdvertiseGen \u6570\u636e\u96c6\u6302\u8f7d\u5230 /home/jovyan/ChatGLM3/finetune_demo/data/AdvertiseGen \u76ee\u5f55\u4e0b
    • \u914d\u7f6e\u8db3\u591f\u7684 GPU \u8d44\u6e90\uff0c\u786e\u4fdd\u5fae\u8c03\u4efb\u52a1\u80fd\u591f\u6b63\u5e38\u8fd0\u884c

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_10","title":"\u67e5\u770b\u4efb\u52a1\u72b6\u6001","text":"

    \u4efb\u52a1\u6210\u529f\u63d0\u4ea4\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u4efb\u52a1\u5217\u8868\u4e2d\u5b9e\u65f6\u67e5\u770b\u4efb\u52a1\u7684\u8bad\u7ec3\u8fdb\u5c55\uff0c\u8fd9\u91cc\u60a8\u53ef\u4ee5\u770b\u5230\u4efb\u52a1\u7684\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u65e5\u5fd7\u7b49\u4fe1\u606f\u3002

    \u67e5\u770b\u4efb\u52a1\u65e5\u5fd7

    \u4efb\u52a1\u8fd0\u884c\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u6570\u636e\u8f93\u51fa\u7684\u6570\u636e\u96c6\u4e2d\u67e5\u770b\u5fae\u8c03\u7684\u6a21\u578b\u6587\u4ef6\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u6a21\u578b\u6587\u4ef6\u8fdb\u884c\u540e\u7eed\u7684\u63a8\u7406\u4efb\u52a1\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#baizectl","title":"\u4f7f\u7528 baizectl \u63d0\u4ea4\u4efb\u52a1","text":"

    AI Lab \u7684 Notebook \u652f\u6301\u514d\u8ba4\u8bc1\u76f4\u63a5\u4f7f\u7528 baizectl \u547d\u4ee4\u884c\u5de5\u5177\uff0c \u5982\u679c\u60a8\u559c\u6b22\u4f7f\u7528 CLI\uff0c\u90a3\u4e48\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 baizectl \u63d0\u4f9b\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u63d0\u4ea4\u4efb\u52a1\u3002

    baizectl job submit --name finetunel-chatglm3 -t PYTORCH \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --resources cpu=8,memory=16Gi,nvidia.com/gpu=1 \\\n    --workers 1 \\\n    --queue default \\\n    --working-dir /home/jovyan/ChatGLM3 \\\n    --datasets AdvertiseGen:/home/jovyan/ChatGLM3/finetune_demo/data/AdvertiseGen  \\\n    --datasets output:/home/jovyan/ChatGLM3/finetune_demo/output  \\\n    --labels job_type=pytorch \\\n    --restart-policy on-failure \\\n    -- bash -c \"cd /home/jovyan/ChatGLM3/finetune_demo && CUDA_VISIBLE_DEVICES=0 NCCL_P2P_DISABLE=\"1\" NCCL_IB_DISABLE=\"1\" python finetune_hf.py  data/AdvertiseGen_fix  ./chatglm3-6b  configs/lora.yaml\"\n

    \u5982\u679c\u5e0c\u671b\u4e86\u89e3\u66f4\u591a baizectl \u7684\u4f7f\u7528\u8bf4\u660e\uff0c\u53ef\u4ee5\u67e5\u770b baizectl \u4f7f\u7528\u6587\u6863\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_11","title":"\u6a21\u578b\u63a8\u7406","text":"

    \u5728\u5fae\u8c03\u4efb\u52a1\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5fae\u8c03\u7684\u6a21\u578b\u8fdb\u884c\u63a8\u7406\u4efb\u52a1\uff0c\u8fd9\u91cc\u60a8\u53ef\u4ee5\u4f7f\u7528AI Lab \u63d0\u4f9b\u7684\u63a8\u7406\u670d\u52a1\uff0c\u5c06\u8f93\u51fa\u540e\u7684\u6a21\u578b\u521b\u5efa\u4e3a\u63a8\u7406\u670d\u52a1\u3002

    \u5728\u63a8\u7406\u670d\u52a1\u5217\u8868\u4e2d\uff0c\u60a8\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u63a8\u7406\u670d\u52a1\uff0c\u5728\u9009\u62e9\u6a21\u578b\u7684\u4f4d\u7f6e\uff0c\u9009\u62e9\u4e4b\u524d\u63a8\u7406\u8f93\u51fa\u7684\u6570\u636e\u96c6\uff0c\u5e76\u914d\u7f6e\u6a21\u578b\u8def\u5f84\u3002

    \u6709\u5173\u6a21\u578b\u8d44\u6e90\u8981\u6c42\u3001\u63a8\u7406\u670d\u52a1\u7684 GPU \u8d44\u6e90\u8981\u6c42\uff0c\u9700\u8981\u6839\u636e\u6a21\u578b\u7684\u5927\u5c0f\u548c\u63a8\u7406\u7684\u5e76\u53d1\u91cf\u6765\u914d\u7f6e\uff0c\u8fd9\u91cc\u60a8\u53ef\u4ee5\u6839\u636e\u4e4b\u524d\u5fae\u8c03\u4efb\u52a1\u7684\u8d44\u6e90\u914d\u7f6e\u6765\u914d\u7f6e\u3002

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_12","title":"\u914d\u7f6e\u6a21\u578b\u8fd0\u884c\u65f6","text":"

    \u914d\u7f6e\u6a21\u578b\u7684\u8fd0\u884c\u65f6\u5c24\u4e3a\u91cd\u8981\uff0c\u76ee\u524d AI Lab \u5df2\u7ecf\u652f\u6301 vLLM \u4f5c\u4e3a\u6a21\u578b\u63a8\u7406\u670d\u52a1\u7684\u8fd0\u884c\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u9009\u62e9 vLLM\u3002

    vLLM \u652f\u6301\u975e\u5e38\u4e30\u5bcc\u7684\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u5efa\u8bae\u8bbf\u95ee vLLM \u4e86\u89e3\u66f4\u591a\u4fe1\u606f\uff0c\u8fd9\u4e9b\u6a21\u578b\u90fd\u53ef\u4ee5\u5f88\u65b9\u4fbf\u5730\u5728 AI Lab \u4e2d\u4f7f\u7528\u3002

    \u521b\u5efa\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u63a8\u7406\u670d\u52a1\u5217\u8868\u4e2d\u770b\u5230\u60a8\u521b\u5efa\u7684\u63a8\u7406\u670d\u52a1\uff0c\u5728\u6a21\u578b\u670d\u52a1\u5217\u8868\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u83b7\u53d6\u6a21\u578b\u7684\u8bbf\u95ee\u5730\u5740

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_13","title":"\u4f7f\u7528\u6a21\u578b\u670d\u52a1\u6d4b\u8bd5","text":"

    \u7b80\u5355\u5728\u7ec8\u7aef\u4e2d\u5c1d\u8bd5\uff0c\u4f7f\u7528 curl \u547d\u4ee4\u6765\u6d4b\u8bd5\u6a21\u578b\u670d\u52a1\uff0c\u8fd9\u91cc\u60a8\u53ef\u4ee5\u770b\u5230\u8fd4\u56de\u7684\u7ed3\u679c\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u4f7f\u7528\u6a21\u578b\u670d\u52a1\u8fdb\u884c\u63a8\u7406\u4efb\u52a1\u4e86\u3002

    curl -X POST http://10.20.100.210:31118/v2/models/chatglm3-6b/generate \\\n  -d '{\"text_input\": \"hello\", \"stream\": false, \"sampling_parameters\": \"{\\\"temperature\\\": 0.7, \\\"top_p\\\": 0.95, \\'max_tokens\\\": 1024\uff5d\"\uff5d'\n

    "},{"location":"admin/baize/best-practice/finetunel-llm.html#_14","title":"\u7ed3\u8bed","text":"

    \u672c\u6587\u4ee5 ChatGLM3 \u4e3a\u4f8b\uff0c\u5e26\u60a8\u5feb\u901f\u4e86\u89e3\u548c\u4e0a\u624b AI Lab \u7684\u6a21\u578b\u5fae\u8c03\uff0c\u4f7f\u7528 LoRA \u5fae\u8c03\u4e86 ChatGLM3 \u6a21\u578b\u3002

    AI Lab \u63d0\u4f9b\u4e86\u975e\u5e38\u4e30\u5bcc\u7684\u529f\u80fd\uff0c\u53ef\u4ee5\u5e2e\u52a9\u6a21\u578b\u5f00\u53d1\u8005\u5feb\u901f\u8fdb\u884c\u6a21\u578b\u5f00\u53d1\u3001\u5fae\u8c03\u3001\u63a8\u7406\u7b49\u4efb\u52a1\uff0c\u540c\u65f6\u4e5f\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684 OpenAPI \u63a5\u53e3\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u4e0e\u7b2c\u4e09\u65b9\u5e94\u7528\u751f\u6001\u8fdb\u884c\u7ed3\u5408\u3002

    "},{"location":"admin/baize/best-practice/label-studio.html","title":"\u90e8\u7f72 Label Studio","text":"

    Label Studio \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u6570\u636e\u6807\u6ce8\u5de5\u5177\uff0c\u7528\u4e8e\u5404\u79cd\u673a\u5668\u5b66\u4e60\u548c\u4eba\u5de5\u667a\u80fd\u4efb\u52a1\u3002 \u4ee5\u4e0b\u662f Label Studio \u7684\u7b80\u8981\u4ecb\u7ecd\uff1a

    • \u652f\u6301\u56fe\u50cf\u3001\u97f3\u9891\u3001\u89c6\u9891\u3001\u6587\u672c\u7b49\u591a\u79cd\u6570\u636e\u7c7b\u578b\u7684\u6807\u6ce8
    • \u53ef\u7528\u4e8e\u76ee\u6807\u68c0\u6d4b\u3001\u56fe\u50cf\u5206\u7c7b\u3001\u8bed\u97f3\u8f6c\u5f55\u3001\u547d\u540d\u5b9e\u4f53\u8bc6\u522b\u7b49\u591a\u79cd\u4efb\u52a1
    • \u63d0\u4f9b\u53ef\u5b9a\u5236\u7684\u6807\u6ce8\u754c\u9762
    • \u652f\u6301\u591a\u79cd\u6807\u6ce8\u683c\u5f0f\u548c\u5bfc\u51fa\u9009\u9879

    Label Studio \u901a\u8fc7\u5176\u7075\u6d3b\u6027\u548c\u529f\u80fd\u4e30\u5bcc\u6027\uff0c\u4e3a\u6570\u636e\u79d1\u5b66\u5bb6\u548c\u673a\u5668\u5b66\u4e60\u5de5\u7a0b\u5e08\u63d0\u4f9b\u4e86\u5f3a\u5927\u7684\u6570\u636e\u6807\u6ce8\u89e3\u51b3\u65b9\u6848\u3002

    "},{"location":"admin/baize/best-practice/label-studio.html#ai","title":"\u90e8\u7f72\u5230 AI \u7b97\u529b\u5e73\u53f0","text":"

    \u8981\u60f3\u5728 AI Lab \u4e2d\u4f7f\u7528 Label Studio\uff0c\u9700\u5c06\u5176\u90e8\u7f72\u5230\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\uff0c \u4f60\u53ef\u4ee5\u901a\u8fc7 Helm \u7684\u65b9\u5f0f\u5feb\u901f\u90e8\u7f72\u3002

    Note

    \u66f4\u591a\u90e8\u7f72\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605 Deploy Label Studio on Kubernetes\u3002

    1. \u6253\u5f00\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u754c\u9762\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u627e\u5230 Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u9009\u62e9 \u521b\u5efa\u4ed3\u5e93 \u6309\u94ae\uff0c\u586b\u5199\u5982\u4e0b\u53c2\u6570\uff1a

    2. \u6dfb\u52a0\u6210\u529f\u540e\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u540c\u6b65\u4ed3\u5e93 \uff0c\u7a0d\u7b49\u7247\u523b\u540e\u5b8c\u6210\u540c\u6b65\u3002\uff08\u540e\u7eed\u66f4\u65b0 Label Studio \u4e5f\u4f1a\u7528\u5230\u8fd9\u4e2a\u540c\u6b65\u64cd\u4f5c\uff09\u3002

    3. \u7136\u540e\u8df3\u8f6c\u5230 Helm \u6a21\u677f \u9875\u9762\uff0c\u4f60\u53ef\u4ee5\u641c\u7d22\u627e\u5230 label-studio\uff0c\u70b9\u51fb\u5361\u7247\u3002

    4. \u9009\u62e9\u6700\u65b0\u7684\u7248\u672c\uff0c\u5982\u4e0b\u56fe\u914d\u7f6e\u5b89\u88c5\u53c2\u6570\uff0c\u540d\u79f0\u4e3a label-stuio\uff0c\u5efa\u8bae\u521b\u5efa\u65b0\u7684\u547d\u4ee4\u7a7a\u95f4\uff0c\u914d\u7f6e\u53c2\u6570\u5207\u6362\u5230 YAML \uff0c\u6839\u636e\u8bf4\u660e\u4fee\u6539\u5176\u4e2d\u914d\u7f6e\u3002

      global:\n  image:\n    repository: heartexlabs/label-studio   # \u5982\u679c\u65e0\u6cd5\u8bbf\u95ee docker.io\uff0c\u5728\u6b64\u5904\u914d\u7f6e\u4ee3\u7406\u5730\u5740\n  extraEnvironmentVars:\n    LABEL_STUDIO_HOST: https://{\u8bbf\u95ee\u5730\u5740}/label-studio    # \u4f7f\u7528\u7684\u767b\u5f55\u5730\u5740\uff0c\u8bf7\u53c2\u9605\u5f53\u524d\u7f51\u9875 URL\n    LABEL_STUDIO_USERNAME: {\u7528\u6237\u90ae\u7bb1}    # \u5fc5\u987b\u662f\u90ae\u7bb1\uff0c\u66ff\u6362\u4e3a\u81ea\u5df1\u7684\n    LABEL_STUDIO_PASSWORD: {\u7528\u6237\u5bc6\u7801}    \napp:\n  nginx:\n    livenessProbe:\n      path: /label-studio/nginx_health\n    readinessProbe:\n      path: /label-studio/version\n

    \u81f3\u6b64\uff0c\u5b8c\u6210\u4e86 Label studio \u7684\u5b89\u88c5\u3002

    Warning

    \u9ed8\u8ba4\u4f1a\u5b89\u88c5 PostgreSQL \u4f5c\u4e3a\u6570\u636e\u670d\u52a1\u4e2d\u95f4\u4ef6\uff0c\u5982\u679c\u955c\u50cf\u62c9\u53d6\u5931\u8d25\uff0c\u53ef\u80fd\u662f docker.io \u65e0\u6cd5\u8bbf\u95ee\uff0c\u6ce8\u610f\u5207\u6362\u5230\u53ef\u7528\u4ee3\u7406\u5373\u53ef\u3002

    \u5982\u679c\u4f60\u6709\u81ea\u5df1\u7684 PostgreSQL \u6570\u636e\u670d\u52a1\u4e2d\u95f4\u4ef6\uff0c\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u53c2\u6570\u914d\u7f6e\uff1a

    global:\n  image:\n    repository: heartexlabs/label-studio   # \u5982\u679c\u65e0\u6cd5\u8bbf\u95ee docker.io\uff0c\u5728\u6b64\u5904\u914d\u7f6e\u4ee3\u7406\u5730\u5740\n  extraEnvironmentVars:\n    LABEL_STUDIO_HOST: https://{\u8bbf\u95ee\u5730\u5740}/label-studio    # \u4f7f\u7528\u7684\u767b\u5f55\u5730\u5740\uff0c\u53c2\u9605\u5f53\u524d\u7f51\u9875 URL\n    LABEL_STUDIO_USERNAME: {\u7528\u6237\u90ae\u7bb1}    # \u5fc5\u987b\u662f\u90ae\u7bb1\uff0c\u66ff\u6362\u4e3a\u81ea\u5df1\u7684\n    LABEL_STUDIO_PASSWORD: {\u7528\u6237\u5bc6\u7801}    \napp:\n  nginx:\n    livenessProbe:\n      path: /label-studio/nginx_health\n    readinessProbe:\n      path: /label-studio/version\npostgresql:\n  enabled: false  # \u7981\u7528\u5185\u7f6e\u7684 PostgreSQL\nexternalPostgresql:\n  host: \"postgres-postgresql\"  # PostgreSQL \u5730\u5740\n  port: 5432\n  username: \"label_studio\"  # PostgreSQL \u7528\u6237\u540d\n  password: \"your_label_studio_password\"  # PostgreSQL \u5bc6\u7801\n  database: \"label_studio\"  # PostgreSQL \u6570\u636e\u5e93\u540d\n
    "},{"location":"admin/baize/best-practice/label-studio.html#gproduct","title":"\u6dfb\u52a0 GProduct \u5230\u5bfc\u822a\u680f","text":"

    \u5982\u679c\u8981\u6dfb\u52a0 Label Studio \u5230\u5bfc\u822a\u680f\uff0c\u53ef\u4ee5\u53c2\u8003\u5168\u5c40\u7ba1\u7406 OEM IN \u7684\u65b9\u5f0f\u3002 \u4ee5\u4e0b\u6848\u4f8b\u662f\u589e\u52a0\u5230 AI Lab \u4e8c\u7ea7\u5bfc\u822a\u7684\u6dfb\u52a0\u65b9\u5f0f\u3002

    "},{"location":"admin/baize/best-practice/label-studio.html#_1","title":"\u6dfb\u52a0\u4ee3\u7406\u8bbf\u95ee","text":"
    apiVersion: ghippo.io/v1alpha1\nkind: GProductProxy\nmetadata:\n  name: label-studio\nspec:\n  gproduct: label-studio\n  proxies:\n  - authnCheck: false\n    destination:\n      host: label-studio-ls-app.label-studio.svc.cluster.local\n      port: 80\n    match:\n      uri:\n        prefix: /label-studio\n
    "},{"location":"admin/baize/best-practice/label-studio.html#ai-lab","title":"\u6dfb\u52a0\u5230 AI Lab","text":"

    \u4fee\u6539 CRD \u4e3a GProductNavigator \u7684 CR baize \uff0c\u7136\u540e\u5728\u73b0\u6709\u914d\u7f6e\u4e2d\u8fdb\u884c\u5982\u4e0b\u53d8\u66f4\uff1a

    apiVersion: ghippo.io/v1alpha1\nkind: GProductNavigator\nmetadata:\n  annotations:\n    meta.helm.sh/release-name: baize\n    meta.helm.sh/release-namespace: baize-system\n  labels:\n    app.kubernetes.io/managed-by: Helm\n    gProductName: baize\n  name: baize\nspec:\n  category: cloudnativeai\n  gproduct: baize\n  iconUrl: ./ui/baize/logo.svg\n  isCustom: false\n  localizedName:\n    en-US: AI Lab\n    zh-CN: AI Lab\n  menus:\n    - iconUrl: ''\n      isCustom: false\n      localizedName:\n        en-US: AI Lab\n        zh-CN: AI Lab\n      name: workspace-view\n      order: 1\n      url: ./baize\n      visible: true\n    - iconUrl: ''\n      isCustom: false\n      localizedName:\n        en-US: Operator\n        zh-CN: \u8fd0\u7ef4\u7ba1\u7406\n      name: admin-view\n      order: 1\n      url: ./baize/admin\n      visible: true\n    # \u6dfb\u52a0\u5f00\u59cb\n    - iconUrl: ''\n      localizedName:\n        en-US: Data Annotation\n        zh-CN: \u6570\u636e\u6807\u6ce8\n      name: label-studio\n      order: 1\n      target: blank    # \u63a7\u5236\u65b0\u5f00\u9875\n      url: https://{\u8bbf\u95ee\u5730\u5740}/label-studio    # \u8bbf\u95ee\u5730\u5740\n      visible: true\n    # \u6dfb\u52a0\u7ed3\u675f\n  name: AI Lab\n  order: 10\n  url: ./baize\n  visible: true\n
    "},{"location":"admin/baize/best-practice/label-studio.html#_2","title":"\u6dfb\u52a0\u6548\u679c","text":""},{"location":"admin/baize/best-practice/label-studio.html#_3","title":"\u7ed3\u8bed","text":"

    \u4ee5\u4e0a\uff0c\u5c31\u662f\u5982\u4f55\u6dfb\u52a0 Label Studio \u5e76\u5c06\u5176\u4f5c\u4e3a AI Lab \u7684\u6807\u6ce8\u7ec4\u4ef6\uff0c\u901a\u8fc7\u5c06\u6807\u6ce8\u540e\u7684\u6570\u636e\u6dfb\u52a0\u5230 AI Lab \u7684\u6570\u636e\u96c6\u4e2d\uff0c \u8054\u52a8\u7b97\u6cd5\u5f00\u53d1\uff0c\u5b8c\u5584\u7b97\u6cd5\u5f00\u53d1\u6d41\u7a0b\uff0c\u540e\u7eed\u5982\u4f55\u4f7f\u7528\u8bf7\u5173\u6ce8\u5176\u4ed6\u6587\u6863\u53c2\u8003\u3002

    "},{"location":"admin/baize/best-practice/train-with-deepspeed.html","title":"\u5982\u4f55\u63d0\u4ea4 DeepSpeed \u8bad\u7ec3\u4efb\u52a1","text":"

    \u6839\u636e DeepSpeed \u5b98\u65b9\u6587\u6863\uff0c\u6211\u4eec\u63a8\u8350\u4f7f\u7528\u4fee\u6539\u4ee3\u7801\u7684\u65b9\u5f0f\u5b9e\u73b0\u3002

    \u5373\u4f7f\u7528 deepspeed.init_distributed() \u4ee3\u66ff torch.distributed.init_process_group(...)\u3002 \u7136\u540e\u8fd0\u884c\u547d\u4ee4\u4f7f\u7528 torchrun\uff0c\u63d0\u4ea4\u4e3a Pytorch \u5206\u5e03\u5f0f\u4efb\u52a1\uff0c\u65e2\u53ef\u8fd0\u884c DeepSpeed \u4efb\u52a1\u3002

    \u662f\u7684\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528 torchrun \u8fd0\u884c\u4f60\u7684 DeepSpeed \u8bad\u7ec3\u811a\u672c\u3002 torchrun \u662f PyTorch \u63d0\u4f9b\u7684\u4e00\u4e2a\u5b9e\u7528\u5de5\u5177\uff0c\u7528\u4e8e\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002\u4f60\u53ef\u4ee5\u7ed3\u5408 torchrun \u548c DeepSpeed API \u6765\u542f\u52a8\u4f60\u7684\u8bad\u7ec3\u4efb\u52a1\u3002

    \u4ee5\u4e0b\u662f\u4e00\u4e2a\u4f7f\u7528 torchrun \u8fd0\u884c DeepSpeed \u8bad\u7ec3\u811a\u672c\u7684\u793a\u4f8b\uff1a

    1. \u7f16\u5199\u8bad\u7ec3\u811a\u672c\uff1a

      train.py
      import torch\nimport deepspeed\nfrom torch.utils.data import DataLoader\n\n# \u6a21\u578b\u548c\u6570\u636e\u52a0\u8f7d\nmodel = YourModel()\ntrain_dataset = YourDataset()\ntrain_dataloader = DataLoader(train_dataset, batch_size=32)\n\n# \u914d\u7f6e\u6587\u4ef6\u8def\u5f84\ndeepspeed_config = \"deepspeed_config.json\"\n\n# \u521b\u5efa DeepSpeed \u8bad\u7ec3\u5f15\u64ce\nmodel_engine, optimizer, _, _ = deepspeed.initialize(\n    model=model,\n    model_parameters=model.parameters(),\n    config_params=deepspeed_config\n)\n\n# \u8bad\u7ec3\u5faa\u73af\nfor batch in train_dataloader:\n    loss = model_engine(batch)\n    model_engine.backward(loss)\n    model_engine.step()\n
    2. \u521b\u5efa DeepSpeed \u914d\u7f6e\u6587\u4ef6\uff1a

      deepspeed_config.json
      {\n  \"train_batch_size\": 32,\n  \"gradient_accumulation_steps\": 1,\n  \"fp16\": {\n    \"enabled\": true,\n    \"loss_scale\": 0\n  },\n  \"optimizer\": {\n    \"type\": \"Adam\",\n    \"params\": {\n      \"lr\": 0.00015,\n      \"betas\": [0.9, 0.999],\n      \"eps\": 1e-08,\n      \"weight_decay\": 0\n    }\n  }\n}\n
    3. \u4f7f\u7528 torchrun \u6216\u8005 baizectl \u8fd0\u884c\u8bad\u7ec3\u811a\u672c\uff1a

      torchrun train.py\n

      \u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\uff0c\u4f60\u53ef\u4ee5\u7ed3\u5408 PyTorch \u7684\u5206\u5e03\u5f0f\u8bad\u7ec3\u529f\u80fd\u548c DeepSpeed \u7684\u4f18\u5316\u6280\u672f\uff0c\u4ece\u800c\u5b9e\u73b0\u66f4\u9ad8\u6548\u7684\u8bad\u7ec3\u3002 \u60a8\u53ef\u4ee5\u5728 Notebook \u4e2d\uff0c\u4f7f\u7528 baizectl \u63d0\u4ea4\u547d\u4ee4\uff1a

      baizectl job submit --pytorch --workers 2 -- torchrun train.py\n
    "},{"location":"admin/baize/developer/index.html","title":"\u5f00\u53d1\u63a7\u5236\u53f0","text":"

    \u5f00\u53d1\u63a7\u5236\u53f0\u662f\u5f00\u53d1\u8005\u65e5\u5e38\u6267\u884c AI \u63a8\u7406\u3001\u5927\u6a21\u578b\u8bad\u7ec3\u7b49\u4efb\u52a1\u7684\u63a7\u5236\u53f0\u3002

    \u65b9\u4fbf\u7528\u6237\u901a\u8fc7\u6982\u89c8\u5feb\u901f\u4e86\u89e3\uff0c\u5f53\u524d\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u53ca\u7528\u91cf\u60c5\u51b5\uff0c\u5305\u542b\u4e86GPU\u8d44\u6e90\u3001Notebook\u3001\u4efb\u52a1\u4ee5\u53ca\u6570\u636e\u96c6\u7684\u6570\u91cf\u4fe1\u606f\u3002

    "},{"location":"admin/baize/developer/quick-start.html","title":"\u5feb\u901f\u5165\u95e8","text":"

    \u672c\u6587\u63d0\u4f9b\u4e86\u7b80\u5355\u7684\u64cd\u4f5c\u624b\u518c\u4ee5\u4fbf\u7528\u6237\u4f7f\u7528 AI Lab \u8fdb\u884c\u6570\u636e\u96c6\u3001Notebook\u3001\u4efb\u52a1\u8bad\u7ec3\u7684\u6574\u4e2a\u5f00\u53d1\u3001\u8bad\u7ec3\u6d41\u7a0b\u3002

    "},{"location":"admin/baize/developer/quick-start.html#_2","title":"\u51c6\u5907\u6570\u636e\u96c6","text":"

    \u70b9\u51fb \u6570\u636e\u7ba1\u7406 -> \u6570\u636e\u96c6 \uff0c\u9009\u62e9 \u521b\u5efa \u6309\u94ae\uff0c\u5206\u522b\u521b\u5efa\u4ee5\u4e0b\u4e09\u4e2a\u6570\u636e\u96c6\u3002

    "},{"location":"admin/baize/developer/quick-start.html#_3","title":"\u6570\u636e\u96c6\uff1a\u8bad\u7ec3\u4ee3\u7801","text":"
    • \u4ee3\u7801\u6570\u636e\u6e90\uff1ahttps://github.com/samzong/training-sample-code.git\uff0c\u4e3b\u8981\u662f\u4e00\u4e2a\u7b80\u5355\u7684 Tensorflow \u4ee3\u7801\u3002
    • \u5982\u679c\u662f\u4e2d\u56fd\u5883\u5185\u7684\u7528\u6237\uff0c\u53ef\u4ee5\u4f7f\u7528 Gitee \u52a0\u901f\uff1ahttps://gitee.com/samzong_lu/training-sample-code.git
    • \u4ee3\u7801\u8def\u5f84\u4e3a tensorflow/tf-fashion-mnist-sample

    Note

    \u76ee\u524d\u4ec5\u652f\u6301\u8bfb\u5199\u6a21\u5f0f\u4e3a ReadWriteMany \u7684 StorageClass\uff0c\u8bf7\u4f7f\u7528 NFS \u6216\u8005\u63a8\u8350\u7684 JuiceFS\u3002

    "},{"location":"admin/baize/developer/quick-start.html#_4","title":"\u6570\u636e\u96c6\uff1a\u8bad\u7ec3\u6570\u636e","text":"

    \u672c\u6b21\u8bad\u7ec3\u4f7f\u7528\u7684\u6570\u636e\u4e3a https://github.com/zalandoresearch/fashion-mnist.git\uff0c \u8fd9\u662f Fashion-MNIST \u6570\u636e\u96c6\u3002

    \u5982\u679c\u662f\u4e2d\u56fd\u5883\u5185\u7684\u7528\u6237\uff0c\u53ef\u4ee5\u4f7f\u7528 Gitee \u52a0\u901f\uff1ahttps://gitee.com/samzong_lu/fashion-mnist.git

    Note

    \u5982\u679c\u672a\u521b\u5efa\u8bad\u7ec3\u6570\u636e\u7684\u6570\u636e\u96c6\uff0c\u901a\u8fc7\u8bad\u7ec3\u811a\u672c\u4e5f\u4f1a\u81ea\u52a8\u4e0b\u8f7d\uff1b\u63d0\u524d\u51c6\u5907\u8bad\u7ec3\u6570\u636e\u53ef\u4ee5\u63d0\u9ad8\u8bad\u7ec3\u901f\u5ea6\u3002

    "},{"location":"admin/baize/developer/quick-start.html#_5","title":"\u6570\u636e\u96c6\uff1a\u7a7a\u6570\u636e\u96c6","text":"

    AI Lab \u652f\u6301\u5c06 PVC \u4f5c\u4e3a\u6570\u636e\u96c6\u7684\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u6240\u4ee5\u521b\u5efa\u4e00\u4e2a\u7a7a PVC \u7ed1\u5b9a\u5230\u6570\u636e\u96c6\u540e\uff0c\u53ef\u5c06\u7a7a\u6570\u636e\u96c6\u4f5c\u4e3a\u5b58\u653e\u540e\u7eed\u8bad\u7ec3\u4efb\u52a1\u7684\u8f93\u51fa\u6570\u636e\u96c6\uff0c\u5b58\u653e\u6a21\u578b\u548c\u65e5\u5fd7\u3002

    "},{"location":"admin/baize/developer/quick-start.html#tensorflow","title":"\u73af\u5883\u4f9d\u8d56: tensorflow","text":"

    \u811a\u672c\u5728\u8fd0\u884c\u65f6\uff0c\u9700\u8981\u4f9d\u8d56 Tensorflow \u7684 Python \u5e93\uff0c\u53ef\u4ee5\u4f7f\u7528 AI Lab \u7684\u73af\u5883\u4f9d\u8d56\u7ba1\u7406\u529f\u80fd\uff0c\u63d0\u524d\u5c06\u9700\u8981\u7684 Python \u5e93\u4e0b\u8f7d\u548c\u51c6\u5907\u5b8c\u6210\uff0c\u65e0\u9700\u4f9d\u8d56\u955c\u50cf\u6784\u5efa

    \u53c2\u8003 \u73af\u5883\u4f9d\u8d56 \u7684\u64cd\u4f5c\u65b9\u5f0f\uff0c\u6dfb\u52a0\u4e00\u4e2a CONDA \u73af\u5883.

    name: tensorflow\nchannels:\n  - defaults\n  - conda-forge\ndependencies:\n  - python=3.12\n  - tensorflow\nprefix: /opt/conda/envs/tensorflow\n

    Note

    \u7b49\u5f85\u73af\u5883\u9884\u70ed\u6210\u529f\u540e\uff0c\u53ea\u9700\u8981\u5c06\u6b64\u73af\u5883\u6302\u8f7d\u5230 Notebook\u3001\u8bad\u7ec3\u4efb\u52a1\u4e2d\uff0c\u4f7f\u7528 AI Lab \u63d0\u4f9b\u7684\u57fa\u7840\u955c\u50cf\u5c31\u53ef\u4ee5

    "},{"location":"admin/baize/developer/quick-start.html#notebook","title":"\u4f7f\u7528 Notebook \u8c03\u8bd5\u811a\u672c","text":"

    \u51c6\u5907\u5f00\u53d1\u73af\u5883\uff0c\u70b9\u51fb\u5bfc\u822a\u680f\u7684 Notebooks \uff0c\u70b9\u51fb \u521b\u5efa \u3002

    • \u5c06\u51c6\u5907\u597d\u7684\u4e09\u4e2a\u6570\u636e\u96c6\u8fdb\u884c\u5173\u8054\uff0c\u6302\u8f7d\u8def\u5f84\u8bf7\u53c2\u7167\u4e0b\u56fe\u586b\u5199\uff0c\u6ce8\u610f\u5c06\u9700\u8981\u4f7f\u7528\u7684\u7a7a\u6570\u636e\u96c6\u5728 \u8f93\u51fa\u6570\u636e\u96c6\u4f4d\u7f6e\u914d\u7f6e

    • \u9009\u62e9\u5e76\u7ed1\u5b9a\u73af\u5883\u4f9d\u8d56\u5305

      \u7b49\u5f85 Notebook \u521b\u5efa\u6210\u529f\uff0c\u70b9\u51fb\u5217\u8868\u4e2d\u7684\u8bbf\u95ee\u5730\u5740\uff0c\u8fdb\u5165 Notebook\u3002\u5e76\u5728 Notebook \u7684\u7ec8\u7aef\u4e2d\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u4efb\u52a1\u8bad\u7ec3\u3002

      Note

      \u811a\u672c\u4f7f\u7528 Tensorflow\uff0c\u5982\u679c\u5fd8\u8bb0\u5173\u8054\u4f9d\u8d56\u5e93\uff0c\u4e5f\u53ef\u4ee5\u4e34\u65f6\u7528 pip install tensorflow \u5b89\u88c5\u3002

      python /home/jovyan/code/tensorflow/tf-fashion-mnist-sample/train.py\n
    "},{"location":"admin/baize/developer/quick-start.html#_6","title":"\u521b\u5efa\u8bad\u7ec3\u4efb\u52a1","text":"
    1. \u70b9\u51fb\u5bfc\u822a\u680f\u7684 \u4efb\u52a1\u4e2d\u5fc3 -> \u8bad\u7ec3\u4efb\u52a1 \uff0c\u521b\u5efa\u4e00\u4e2a Tensorflow \u5355\u673a\u4efb\u52a1
    2. \u5148\u586b\u5199\u57fa\u672c\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65
    3. \u5728\u4efb\u52a1\u8d44\u6e90\u914d\u7f6e\u4e2d\uff0c\u6b63\u786e\u914d\u7f6e\u4efb\u52a1\u8d44\u6e90\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65

      • \u955c\u50cf\uff1a\u5982\u679c\u524d\u5e8f\u73af\u5883\u4f9d\u8d56\u5305\u51c6\u5907\u597d\u4e86\uff0c\u4f7f\u7528\u9ed8\u8ba4\u955c\u50cf\u5373\u53ef\uff1b \u5982\u679c\u672a\u51c6\u5907\uff0c\u8981\u786e\u8ba4\u955c\u50cf\u5185\u6709 tensorflow \u7684 Python \u5e93
      • shell\uff1a\u4f7f\u7528 bash \u5373\u53ef
      • \u542f\u7528\u547d\u4ee4\uff1a

        /home/jovyan/code/tensorflow/tf-fashion-mnist-sample/train.py\n
    4. \u5728\u9ad8\u7ea7\u914d\u7f6e\u4e2d\uff0c\u542f\u7528 \u4efb\u52a1\u5206\u6790\uff08Tensorboard\uff09 \uff0c\u70b9\u51fb \u786e\u5b9a \u3002

      Note

      \u65e5\u5fd7\u6240\u5728\u4f4d\u7f6e\u4e3a\u8f93\u51fa\u6570\u636e\u96c6\u7684 /home/jovyan/model/train/logs/

    5. \u8fd4\u56de\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\uff0c\u7b49\u5230\u72b6\u6001\u53d8\u4e3a \u6210\u529f \u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u8be6\u60c5\u3001\u514b\u9686\u4efb\u52a1\u3001\u66f4\u65b0\u4f18\u5148\u7ea7\u3001\u67e5\u770b\u65e5\u5fd7\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

    6. \u6210\u529f\u521b\u5efa\u4efb\u52a1\u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u4efb\u52a1\u5206\u6790 \uff0c\u53ef\u4ee5\u67e5\u770b\u4efb\u52a1\u72b6\u6001\u5e76\u5bf9\u4efb\u52a1\u8bad\u7ec3\u8fdb\u884c\u8c03\u4f18\u3002

    "},{"location":"admin/baize/developer/dataset/create-use-delete.html","title":"\u6570\u636e\u96c6\u5217\u8868","text":"

    AI Lab \u63d0\u4f9b\u6a21\u578b\u5f00\u53d1\u3001\u8bad\u7ec3\u4ee5\u53ca\u63a8\u7406\u8fc7\u7a0b\u6240\u6709\u9700\u8981\u7684\u6570\u636e\u96c6\u7ba1\u7406\u529f\u80fd\u3002\u76ee\u524d\u652f\u6301\u5c06\u591a\u79cd\u6570\u636e\u6e90\u7edf\u4e00\u63a5\u5165\u80fd\u529b\u3002

    \u901a\u8fc7\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5c06\u6570\u636e\u6e90\u63a5\u5165\u5230 AI Lab \u4e2d\uff0c\u5b9e\u73b0\u6570\u636e\u7684\u7edf\u4e00\u7eb3\u7ba1\u3001\u9884\u70ed\u3001\u6570\u636e\u96c6\u7ba1\u7406\u7b49\u529f\u80fd\u3002

    "},{"location":"admin/baize/developer/dataset/create-use-delete.html#_2","title":"\u521b\u5efa\u6570\u636e\u96c6","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u6570\u636e\u7ba1\u7406 -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

    2. \u9009\u62e9\u6570\u636e\u96c6\u5f52\u5c5e\u7684\u5de5\u4f5c\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4 \u4e0b\u4e00\u6b65 \u3002

    3. \u914d\u7f6e\u76ee\u6807\u6570\u636e\u7684\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

      \u76ee\u524d\u652f\u6301\u8fd9\u51e0\u79cd\u6570\u636e\u6e90\uff1a

      • GIT\uff1a\u652f\u6301 GitHub\u3001GitLab\u3001Gitee \u7b49\u4ed3\u5e93
      • S3\uff1a\u652f\u6301 Amazon \u4e91\u7b49\u5bf9\u8c61\u5b58\u50a8
      • HTTP\uff1a\u76f4\u63a5\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684 HTTP \u7f51\u5740
      • PVC\uff1a\u652f\u6301\u9884\u5148\u521b\u5efa\u7684 Kubernetes PersistentVolumeClaim
      • NFS\uff1a\u652f\u6301 NFS \u5171\u4eab\u5b58\u50a8
    4. \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u5c06\u8fd4\u56de\u6570\u636e\u96c6\u5217\u8868\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

    Info

    \u7cfb\u7edf\u81ea\u52a8\u4f1a\u5728\u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u7acb\u5373\u8fdb\u884c\u4e00\u6b21\u6027\u7684\u6570\u636e\u9884\u52a0\u8f7d\uff1b\u5728\u9884\u52a0\u8f7d\u5b8c\u6210\u4e4b\u524d\uff0c\u6570\u636e\u96c6\u4e0d\u53ef\u4ee5\u4f7f\u7528\u3002

    "},{"location":"admin/baize/developer/dataset/create-use-delete.html#_3","title":"\u6570\u636e\u96c6\u4f7f\u7528","text":"

    \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u5728\u6a21\u578b\u8bad\u7ec3\u3001\u63a8\u7406\u7b49\u4efb\u52a1\u4e2d\u4f7f\u7528\u3002

    "},{"location":"admin/baize/developer/dataset/create-use-delete.html#notebook","title":"\u5728 Notebook \u4e2d\u4f7f\u7528","text":"

    \u5728\u521b\u5efa Notebook \u4e2d\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u6570\u636e\u96c6\uff1b\u4f7f\u7528\u65b9\u5f0f\u5982\u4e0b\uff1a

    • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u8bad\u7ec3\u6570\u636e\u6302\u8f7d
    • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u4ee3\u7801\u6302\u8f7d

    "},{"location":"admin/baize/developer/dataset/create-use-delete.html#_4","title":"\u5728 \u8bad\u7ec3\u4efb\u52a1 \u4e2d\u4f7f\u7528","text":"
    • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u51fa
    • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u5165
    • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a TensorBoard \u8f93\u51fa
    "},{"location":"admin/baize/developer/dataset/create-use-delete.html#_5","title":"\u5728\u63a8\u7406\u670d\u52a1 \u4e2d\u4f7f\u7528","text":"
    • \u4f7f\u7528\u6570\u636e\u96c6\u6302\u8f7d\u6a21\u578b
    "},{"location":"admin/baize/developer/dataset/create-use-delete.html#_6","title":"\u5220\u9664\u6570\u636e\u96c6","text":"

    \u5982\u679c\u53d1\u73b0\u6570\u636e\u96c6\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u6570\u636e\u96c6\u5217\u8868\u4e2d\u5220\u9664\u3002

    1. \u5728\u6570\u636e\u96c6\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

    2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u6570\u636e\u96c6\uff0c\u8f93\u5165\u6570\u636e\u96c6\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

    3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u6570\u636e\u96c6\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

    Caution

    \u6570\u636e\u96c6\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"admin/baize/developer/dataset/environments.html","title":"\u7ba1\u7406\u73af\u5883","text":"

    \u672c\u6587\u8bf4\u660e\u5982\u4f55\u5728 AI Lab \u4e2d\u7ba1\u7406\u4f60\u7684\u73af\u5883\u4f9d\u8d56\u5e93\uff0c\u4ee5\u4e0b\u662f\u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

    1. \u73af\u5883\u7ba1\u7406\u6982\u8ff0
    2. \u521b\u5efa\u65b0\u73af\u5883
    3. \u914d\u7f6e\u73af\u5883
    4. \u6545\u969c\u6392\u9664
    "},{"location":"admin/baize/developer/dataset/environments.html#_2","title":"\u73af\u5883\u7ba1\u7406\u6982\u8ff0","text":"

    \u4f20\u7edf\u65b9\u5f0f\uff0c\u4e00\u822c\u4f1a\u5c06 Python \u73af\u5883\u4f9d\u8d56\u5728\u955c\u50cf\u4e2d\u6784\u5efa\uff0c\u955c\u50cf\u5e26\u6709 Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7684\u955c\u50cf\uff0c\u7ef4\u62a4\u6210\u672c\u8f83\u9ad8\u4e14\u66f4\u65b0\u4e0d\u65b9\u4fbf\uff0c\u5f80\u5f80\u9700\u8981\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

    \u800c\u5728 AI Lab \u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 \u73af\u5883\u7ba1\u7406 \u6a21\u5757\u6765\u7ba1\u7406\u7eaf\u7cb9\u7684\u73af\u5883\u4f9d\u8d56\uff0c\u5c06\u8fd9\u90e8\u5206\u4ece\u955c\u50cf\u4e2d\u89e3\u8026\uff0c\u5e26\u6765\u7684\u4f18\u52bf\u6709\uff1a

    • \u4e00\u4efd\u73af\u5883\u591a\u5904\u4f7f\u7528\uff0c\u540c\u65f6\u53ef\u4ee5\u5728 Notebook\u3001\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3001\u4e43\u81f3\u63a8\u7406\u670d\u52a1\u4e2d\u4f7f\u7528\u3002
    • \u66f4\u65b0\u4f9d\u8d56\u5305\u66f4\u52a0\u65b9\u4fbf\uff0c\u53ea\u9700\u8981\u66f4\u65b0\u73af\u5883\u4f9d\u8d56\u5373\u53ef\uff0c\u65e0\u9700\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

    \u4ee5\u4e0b\u4e3a\u73af\u5883\u7ba1\u7406\u7684\u4e3b\u8981\u7ec4\u6210\u90e8\u5206\uff1a

    • \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u64cd\u4f5c\u7684\u96c6\u7fa4\u3002
    • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4\u4ee5\u9650\u5b9a\u64cd\u4f5c\u8303\u56f4\u3002
    • \u73af\u5883\u5217\u8868 \uff1a\u5c55\u793a\u5f53\u524d\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u73af\u5883\u53ca\u5176\u72b6\u6001\u3002

    \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u73af\u5883\u7684\u540d\u79f0 my-environment \u72b6\u6001 \u73af\u5883\u5f53\u524d\u7684\u72b6\u6001\uff08\u6b63\u5e38\u6216\u5931\u8d25\uff09\uff0c\u65b0\u521b\u5efa\u73af\u5883\u6709\u4e00\u4e2a\u9884\u70ed\u8fc7\u7a0b\uff0c\u9884\u70ed\u6210\u529f\u540e\u5373\u53ef\u5728\u5176\u4ed6\u4efb\u52a1\u4e2d\u4f7f\u7528 \u6b63\u5e38 \u521b\u5efa\u65f6\u95f4 \u73af\u5883\u521b\u5efa\u7684\u65f6\u95f4 2023-10-01 10:00:00"},{"location":"admin/baize/developer/dataset/environments.html#_3","title":"\u521b\u5efa\u65b0\u73af\u5883","text":"

    \u5728 \u73af\u5883\u7ba1\u7406 \u754c\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u73af\u5883\u7684\u6d41\u7a0b\u3002

    \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u8f93\u5165\u73af\u5883\u7684\u540d\u79f0\uff0c\u957f\u5ea6\u4e3a 2-63 \u4e2a\u5b57\u7b26\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\u3002 my-environment \u90e8\u7f72\u4f4d\u7f6e \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u90e8\u7f72\u7684\u96c6\u7fa4 gpu-cluster \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4 default \u5907\u6ce8 \u586b\u5199\u5907\u6ce8\u4fe1\u606f\u3002 \u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u73af\u5883 \u6807\u7b7e \u4e3a\u73af\u5883\u6dfb\u52a0\u6807\u7b7e\u3002 env:test \u6ce8\u89e3 \u4e3a\u73af\u5883\u6dfb\u52a0\u6ce8\u89e3\u3002\u586b\u5199\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u73af\u5883\u914d\u7f6e\u3002 \u6ce8\u89e3\u793a\u4f8b"},{"location":"admin/baize/developer/dataset/environments.html#_4","title":"\u914d\u7f6e\u73af\u5883","text":"

    \u5728\u73af\u5883\u914d\u7f6e\u6b65\u9aa4\u4e2d\uff0c\u7528\u6237\u9700\u8981\u914d\u7f6e Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7ba1\u7406\u5de5\u5177\u3002

    \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c Python \u7248\u672c \u9009\u62e9\u6240\u9700\u7684 Python \u7248\u672c 3.12.3 \u5305\u7ba1\u7406\u5668 \u9009\u62e9\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u53ef\u9009 PIP \u6216 CONDA PIP Environment Data \u5982\u679c\u9009\u62e9 PIP\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 requirements.txt \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 numpy==1.21.0 \u5982\u679c\u9009\u62e9 CONDA\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 environment.yaml \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 \u5176\u4ed6\u9009\u9879 pip \u989d\u5916\u7d22\u5f15\u5730\u5740 \uff1a\u914d\u7f6e pip \u989d\u5916\u7684\u7d22\u5f15\u5730\u5740\uff1b\u9002\u7528\u4e8e\u4f01\u4e1a\u5185\u90e8\u6709\u81ea\u5df1\u7684\u79c1\u6709\u4ed3\u5e93\u6216\u8005 PIP \u52a0\u901f\u7ad9\u70b9\u3002 https://pypi.example.com GPU \u914d\u7f6e \uff1a\u542f\u7528\u6216\u7981\u7528 GPU \u914d\u7f6e\uff1b\u90e8\u5206\u6d89\u53ca\u5230 GPU \u7684\u4f9d\u8d56\u5305\u9700\u8981\u5728\u9884\u52a0\u8f7d\u65f6\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u542f\u7528 \u5173\u8054\u5b58\u50a8 \uff1a\u9009\u62e9\u5173\u8054\u7684\u5b58\u50a8\u914d\u7f6e\uff1b\u73af\u5883\u4f9d\u8d56\u5305\u4f1a\u5b58\u50a8\u5728\u5173\u8054\u5b58\u50a8\u4e2d\u3002\u6ce8\u610f\uff1a\u9700\u8981\u4f7f\u7528\u652f\u6301 ReadWriteMany \u7684\u5b58\u50a8\u3002 my-storage-config

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u521b\u5efa \u6309\u94ae\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa\u5e76\u914d\u7f6e\u65b0\u7684 Python \u73af\u5883\u3002

    "},{"location":"admin/baize/developer/dataset/environments.html#_5","title":"\u6545\u969c\u6392\u9664","text":"
    • \u5982\u679c\u73af\u5883\u521b\u5efa\u5931\u8d25\uff1a

      • \u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\u662f\u5426\u6b63\u5e38\u3002
      • \u786e\u8ba4\u586b\u5199\u7684 Python \u7248\u672c\u548c\u5305\u7ba1\u7406\u5668\u914d\u7f6e\u65e0\u8bef\u3002
      • \u786e\u4fdd\u6240\u9009\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u53ef\u7528\u3002
    • \u5982\u679c\u4f9d\u8d56\u9884\u70ed\u5931\u8d25\uff1a

      • \u68c0\u67e5 requirements.txt \u6216 environment.yaml \u6587\u4ef6\u683c\u5f0f\u662f\u5426\u6b63\u786e\u3002
      • \u786e\u8ba4\u4f9d\u8d56\u5305\u540d\u79f0\u548c\u7248\u672c\u662f\u5426\u6b63\u786e\u65e0\u8bef\u3002\u5982\u9047\u5230\u5176\u4ed6\u95ee\u9898\uff0c\u8bf7\u8054\u7cfb\u5e73\u53f0\u7ba1\u7406\u5458\u6216\u67e5\u770b\u5e73\u53f0\u5e2e\u52a9\u6587\u6863\u83b7\u53d6\u66f4\u591a\u652f\u6301\u3002

    \u4ee5\u4e0a\u5373\u4e3a\u5728 AI Lab \u4e2d\u7ba1\u7406 Python \u4f9d\u8d56\u5e93\u7684\u57fa\u672c\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

    "},{"location":"admin/baize/developer/inference/models.html","title":"\u4e86\u89e3\u6a21\u578b\u652f\u6301\u60c5\u51b5","text":"

    \u968f\u7740 AI Lab \u7684\u5feb\u901f\u8fed\u4ee3\uff0c\u6211\u4eec\u5df2\u7ecf\u652f\u6301\u4e86\u591a\u79cd\u6a21\u578b\u7684\u63a8\u7406\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6240\u652f\u6301\u7684\u6a21\u578b\u4fe1\u606f\u3002

    • AI Lab v0.3.0 \u4e0a\u7ebf\u4e86\u6a21\u578b\u63a8\u7406\u670d\u52a1\uff0c\u9488\u5bf9\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u65b9\u4fbf\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528AI Lab \u7684\u63a8\u7406\u670d\u52a1\uff0c\u65e0\u9700\u5173\u5fc3\u6a21\u578b\u7684\u90e8\u7f72\u548c\u7ef4\u62a4\u3002
    • AI Lab v0.6.0 \u652f\u6301\u4e86\u5b8c\u6574\u7248\u672c\u7684 vLLM \u63a8\u7406\u80fd\u529b\uff0c\u652f\u6301\u8bf8\u591a\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u5982 LLama\u3001Qwen\u3001ChatGLM \u7b49\u3002

    \u60a8\u53ef\u4ee5\u5728 AI Lab \u4e2d\u4f7f\u7528\u7ecf\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9a8c\u8bc1\u8fc7\u7684 GPU \u7c7b\u578b\uff1b \u66f4\u591a\u7ec6\u8282\u53c2\u9605 GPU \u652f\u6301\u77e9\u9635\u3002

    "},{"location":"admin/baize/developer/inference/models.html#triton-inference-server","title":"Triton Inference Server","text":"

    \u901a\u8fc7 Triton Inference Server \u53ef\u4ee5\u5f88\u597d\u7684\u652f\u6301\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u6211\u4eec\u76ee\u524d\u652f\u6301\u4e3b\u6d41\u7684\u63a8\u7406\u540e\u7aef\u670d\u52a1\uff1a

    Backend \u652f\u6301\u6a21\u578b\u683c\u5f0f \u4ecb\u7ecd pytorch TorchScript\u3001PyTorch 2.0 \u683c\u5f0f\u7684\u6a21\u578b triton-inference-server/pytorch_backend tensorflow TensorFlow 2.x triton-inference-server/tensorflow_backend vLLM(Deprecated) \u4e0e vLLM \u4e00\u81f4 \u652f\u6301\u7684\u6a21\u578b\u548c vLLM support Model \u4e00\u81f4

    Danger

    \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

    "},{"location":"admin/baize/developer/inference/models.html#vllm","title":"vLLM","text":"

    \u901a\u8fc7 vLLM \u6211\u4eec\u53ef\u4ee5\u5f88\u5feb\u7684\u4f7f\u7528\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6211\u4eec\u652f\u6301\u7684\u6a21\u578b\u5217\u8868\uff0c\u8fd9\u901a\u5e38\u548c vLLM Support Models \u4fdd\u6301\u4e00\u81f4\u3002

    • HuggingFace \u6a21\u578b\uff1a\u6211\u4eec\u652f\u6301\u4e86 HuggingFace \u7684\u5927\u90e8\u5206\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728 HuggingFace Model Hub \u67e5\u770b\u66f4\u591a\u6a21\u578b\u3002
    • vLLM \u652f\u6301\u6a21\u578b\u5217\u51fa\u4e86\u652f\u6301\u7684\u5927\u8bed\u8a00\u6a21\u578b\u548c\u89c6\u89c9\u8bed\u8a00\u6a21\u578b\u3002
    • \u4f7f\u7528 vLLM \u652f\u6301\u6846\u67b6\u7684\u6a21\u578b\u8fdb\u884c\u5fae\u8c03\u540e\u7684\u6a21\u578b\u3002
    "},{"location":"admin/baize/developer/inference/models.html#vllm_1","title":"vLLM \u65b0\u7279\u6027","text":"

    \u76ee\u524d\uff0cAI Lab \u8fd8\u652f\u6301\u5728\u4f7f\u7528 vLLM \u4f5c\u4e3a\u63a8\u7406\u5de5\u5177\u65f6\u7684\u4e00\u4e9b\u65b0\u7279\u6027\uff1a

    • \u5728\u63a8\u7406\u6a21\u578b\u65f6\uff0c\u542f\u7528 Lora Adapter \u6765\u4f18\u5316\u6a21\u578b\u63a8\u7406\u670d\u52a1
    • \u63d0\u4f9b\u517c\u5bb9 OpenAI \u7684 OpenAPI \u63a5\u53e3\uff0c\u65b9\u4fbf\u7528\u6237\u5207\u6362\u5230\u672c\u5730\u63a8\u7406\u670d\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f4e\u6210\u672c\u7684\u5feb\u901f\u5207\u6362
    "},{"location":"admin/baize/developer/inference/models.html#_2","title":"\u4e0b\u4e00\u6b65","text":"
    • \u521b\u5efa Triton \u63a8\u7406\u670d\u52a1
    • \u521b\u5efa vLLM \u63a8\u7406\u670d\u52a1
    "},{"location":"admin/baize/developer/inference/triton-inference.html","title":"\u521b\u5efa Triton \u63a8\u7406\u670d\u52a1","text":"

    AI Lab \u76ee\u524d\u63d0\u4f9b\u4ee5 Triton\u3001vLLM \u4f5c\u4e3a\u63a8\u7406\u6846\u67b6\uff0c\u7528\u6237\u53ea\u9700\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5feb\u901f\u542f\u52a8\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u63a8\u7406\u670d\u52a1\u3002

    Danger

    \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

    "},{"location":"admin/baize/developer/inference/triton-inference.html#triton_1","title":"Triton\u4ecb\u7ecd","text":"

    Triton \u662f\u7531 NVIDIA \u5f00\u53d1\u7684\u4e00\u4e2a\u5f00\u6e90\u63a8\u7406\u670d\u52a1\u5668\uff0c\u65e8\u5728\u7b80\u5316\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u90e8\u7f72\u548c\u63a8\u7406\u670d\u52a1\u3002\u5b83\u652f\u6301\u591a\u79cd\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5305\u62ec TensorFlow\u3001PyTorch \u7b49\uff0c\u4f7f\u5f97\u7528\u6237\u80fd\u591f\u8f7b\u677e\u7ba1\u7406\u548c\u90e8\u7f72\u4e0d\u540c\u7c7b\u578b\u7684\u6a21\u578b\u3002

    "},{"location":"admin/baize/developer/inference/triton-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\uff0c\u4e0b\u9762\u4ee5 mnist \u624b\u5199\u6570\u5b57\u8bc6\u522b\u7684 PyTorch \u6a21\u578b\u4e3a\u4f8b\u3002

    Note

    \u5f85\u63a8\u7406\u7684\u6a21\u578b\u5728\u6570\u636e\u96c6\u4e2d\u9700\u8981\u9075\u4ee5\u4e0b\u76ee\u5f55\u683c\u5f0f\uff1a

      <model-repository-name>\n  \u2514\u2500\u2500 <model-name>\n     \u2514\u2500\u2500 <version>\n        \u2514\u2500\u2500 <model-definition-file>\n

    \u672c\u4f8b\u4e2d\u7684\u76ee\u5f55\u683c\u5f0f\u4e3a\uff1a

        model-repo\n    \u2514\u2500\u2500 mnist-cnn\n        \u2514\u2500\u2500 1\n            \u2514\u2500\u2500 model.pt\n
    "},{"location":"admin/baize/developer/inference/triton-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"

    \u76ee\u524d\u5df2\u7ecf\u652f\u6301\u8868\u5355\u521b\u5efa\uff0c\u53ef\u4ee5\u754c\u9762\u5b57\u6bb5\u63d0\u793a\uff0c\u8fdb\u884c\u670d\u52a1\u521b\u5efa\u3002

    "},{"location":"admin/baize/developer/inference/triton-inference.html#_3","title":"\u914d\u7f6e\u6a21\u578b\u8def\u5f84","text":"

    \u6a21\u578b\u8def\u5f84 model-repo/mnist-cnn/1/model.pt \u9700\u8981\u548c\u6570\u636e\u96c6\u4e2d\u7684\u6a21\u578b\u76ee\u5f55\u683c\u5f0f\u4e00\u81f4\u3002

    "},{"location":"admin/baize/developer/inference/triton-inference.html#_4","title":"\u6a21\u578b\u914d\u7f6e","text":""},{"location":"admin/baize/developer/inference/triton-inference.html#_5","title":"\u914d\u7f6e\u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570","text":"

    Note

    \u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570\u7684\u7b2c\u4e00\u4e2a\u7ef4\u5ea6\u9ed8\u8ba4\u4e3a batchsize \u7684\u5927\u5c0f\uff0c\u8bbe\u7f6e\u4e3a -1 \u53ef\u4ee5\u6839\u636e\u8f93\u5165\u7684\u63a8\u7406\u6570\u636e\u81ea\u52a8\u8ba1\u7b97 batchsize\u3002\u53c2\u6570\u5176\u4f59\u7ef4\u5ea6\u548c\u6570\u636e\u7c7b\u578b\u9700\u8981\u4e0e\u6a21\u578b\u8f93\u5165\u5339\u914d\u3002

    "},{"location":"admin/baize/developer/inference/triton-inference.html#_6","title":"\u914d\u7f6e\u73af\u5883","text":"

    \u53ef\u4ee5\u5bfc\u5165 \u73af\u5883\u7ba1\u7406 \u4e2d\u521b\u5efa\u7684\u73af\u5883\u4f5c\u4e3a\u63a8\u7406\u65f6\u7684\u8fd0\u884c\u73af\u5883\u3002

    "},{"location":"admin/baize/developer/inference/triton-inference.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":""},{"location":"admin/baize/developer/inference/triton-inference.html#_8","title":"\u914d\u7f6e\u8ba4\u8bc1\u7b56\u7565","text":"

    \u652f\u6301 API key \u7684\u8bf7\u6c42\u65b9\u5f0f\u8ba4\u8bc1\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u5b9a\u4e49\u589e\u52a0\u8ba4\u8bc1\u53c2\u6570\u3002

    "},{"location":"admin/baize/developer/inference/triton-inference.html#_9","title":"\u4eb2\u548c\u6027\u8c03\u5ea6","text":"

    \u652f\u6301 \u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

    "},{"location":"admin/baize/developer/inference/triton-inference.html#_10","title":"\u8bbf\u95ee","text":""},{"location":"admin/baize/developer/inference/triton-inference.html#api","title":"API \u8bbf\u95ee","text":"
    • Triton \u63d0\u4f9b\u4e86\u4e00\u4e2a\u57fa\u4e8e REST \u7684 API\uff0c\u5141\u8bb8\u5ba2\u6237\u7aef\u901a\u8fc7 HTTP POST \u8bf7\u6c42\u8fdb\u884c\u6a21\u578b\u63a8\u7406\u3002
    • \u5ba2\u6237\u7aef\u53ef\u4ee5\u53d1\u9001 JSON \u683c\u5f0f\u7684\u8bf7\u6c42\u4f53\uff0c\u5176\u4e2d\u5305\u542b\u8f93\u5165\u6570\u636e\u548c\u76f8\u5173\u7684\u5143\u6570\u636e\u3002
    "},{"location":"admin/baize/developer/inference/triton-inference.html#http","title":"HTTP \u8bbf\u95ee","text":"
    1. \u53d1\u9001 HTTP POST \u8bf7\u6c42\uff1a\u4f7f\u7528\u5de5\u5177\u5982 curl \u6216 HTTP \u5ba2\u6237\u7aef\u5e93\uff08\u5982 Python \u7684 requests \u5e93\uff09\u5411 Triton Server \u53d1\u9001 POST \u8bf7\u6c42\u3002

    2. \u8bbe\u7f6e HTTP \u5934\uff1a\u6839\u636e\u7528\u6237\u914d\u7f6e\u9879\u81ea\u52a8\u751f\u6210\u7684\u914d\u7f6e\uff0c\u5305\u542b\u6a21\u578b\u8f93\u5165\u548c\u8f93\u51fa\u7684\u5143\u6570\u636e\u3002

    3. \u6784\u5efa\u8bf7\u6c42\u4f53\uff1a\u8bf7\u6c42\u4f53\u901a\u5e38\u5305\u542b\u8981\u8fdb\u884c\u63a8\u7406\u7684\u8f93\u5165\u6570\u636e\uff0c\u4ee5\u53ca\u6a21\u578b\u7279\u5b9a\u7684\u5143\u6570\u636e\u3002

    "},{"location":"admin/baize/developer/inference/triton-inference.html#curl","title":"\u793a\u4f8b curl \u547d\u4ee4","text":"
      curl -X POST \"http://<ip>:<port>/v2/models/<inference-name>/infer\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"inputs\": [\n      {\n        \"name\": \"model_input\",            \n        \"shape\": [1, 1, 32, 32],          \n        \"datatype\": \"FP32\",               \n        \"data\": [\n          [0.1234, 0.5678, 0.9101, ... ]  \n        ]\n      }\n    ]\n  }'\n
    • <ip> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u5730\u5740\u3002
    • <port> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u7aef\u53e3\u53f7\u3002
    • <inference-name> \u662f\u6240\u521b\u5efa\u7684\u63a8\u7406\u670d\u52a1\u7684\u540d\u79f0\u3002
    • \"name\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 name \u4e00\u81f4\u3002
    • \"shape\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 dims \u4e00\u81f4\u3002
    • \"datatype\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 Data Type \u4e00\u81f4\u3002
    • \"data\" \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u63a8\u7406\u6570\u636e\u3002

    \u8bf7\u6ce8\u610f\uff0c\u4e0a\u8ff0\u793a\u4f8b\u4ee3\u7801\u9700\u8981\u6839\u636e\u4f60\u7684\u5177\u4f53\u6a21\u578b\u548c\u73af\u5883\u8fdb\u884c\u8c03\u6574\uff0c\u8f93\u5165\u6570\u636e\u7684\u683c\u5f0f\u548c\u5185\u5bb9\u4e5f\u9700\u8981\u7b26\u5408\u6a21\u578b\u7684\u8981\u6c42\u3002

    "},{"location":"admin/baize/developer/inference/vllm-inference.html","title":"\u521b\u5efa vLLM \u63a8\u7406\u670d\u52a1","text":"

    AI Lab \u652f\u6301\u4ee5 vLLM \u4f5c\u4e3a\u63a8\u7406\u670d\u52a1\uff0c\u63d0\u4f9b\u5168\u90e8 vLLM \u7684\u80fd\u529b\uff0c\u540c\u65f6\u63d0\u4f9b\u4e86\u5b8c\u5168\u9002\u914d OpenAI \u63a5\u53e3\u5b9a\u4e49\u3002

    "},{"location":"admin/baize/developer/inference/vllm-inference.html#vllm_1","title":"vLLM \u4ecb\u7ecd","text":"

    vLLM \u662f\u4e00\u4e2a\u5feb\u901f\u4e14\u6613\u4e8e\u4f7f\u7528\u7684\u7528\u4e8e\u63a8\u7406\u548c\u670d\u52a1\u7684\u5e93\uff0cvLLM \u65e8\u5728\u6781\u5927\u5730\u63d0\u5347\u5b9e\u65f6\u573a\u666f\u4e0b\u7684\u8bed\u8a00\u6a21\u578b\u670d\u52a1\u7684\u541e\u5410\u4e0e\u5185\u5b58\u4f7f\u7528\u6548\u7387\u3002vLLM \u5728\u901f\u5ea6\u3001\u7075\u6d3b\u6027\u65b9\u9762\u5177\u6709\u4ee5\u4e0b\u90e8\u5206\u7279\u70b9\uff1a

    • \u8fde\u7eed\u6279\u5904\u7406\u4f20\u5165\u8bf7\u6c42\uff1b
    • \u4f7f\u7528 PagedAttention \u9ad8\u6548\u7ba1\u7406\u6ce8\u610f\u529b\u952e\u548c\u503c\u5185\u5b58\uff1b
    • \u4e0e\u6d41\u884c\u7684 HuggingFace \u578b\u53f7\u65e0\u7f1d\u96c6\u6210\uff1b
    • \u517c\u5bb9 OpenAI \u7684 API \u670d\u52a1\u5668\u3002
    "},{"location":"admin/baize/developer/inference/vllm-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\u3002

    "},{"location":"admin/baize/developer/inference/vllm-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"
    1. \u9009\u62e9 vLLM \u63a8\u7406\u6846\u67b6\uff0c\u5e76\u5728\u9009\u62e9\u6a21\u578b\u6a21\u5757\u9009\u62e9\u63d0\u524d\u521b\u5efa\u597d\u7684\u6a21\u578b\u6570\u636e\u96c6 hdd-models \u5e76\u586b\u5199\u6570\u636e\u96c6\u4e2d\u6a21\u578b\u6240\u5728\u7684\u8def\u5f84\u4fe1\u606f\u3002

      \u672c\u6587\u63a8\u7406\u670d\u52a1\u7684\u521b\u5efa\u4f7f\u7528 ChatGLM3 \u6a21\u578b\u3002

    2. \u914d\u7f6e\u63a8\u7406\u670d\u52a1\u7684\u8d44\u6e90\uff0c\u5e76\u8c03\u6574\u63a8\u7406\u670d\u52a1\u8fd0\u884c\u7684\u53c2\u6570\u3002

      \u53c2\u6570\u540d \u63cf\u8ff0 GPU \u8d44\u6e90 \u6839\u636e\u6a21\u578b\u89c4\u6a21\u4ee5\u53ca\u96c6\u7fa4\u8d44\u6e90\u53ef\u4ee5\u4e3a\u63a8\u7406\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u5141\u8bb8\u8fdc\u7a0b\u4ee3\u7801 \u63a7\u5236 vLLM \u662f\u5426\u4fe1\u4efb\u5e76\u6267\u884c\u6765\u81ea\u8fdc\u7a0b\u6e90\u7684\u4ee3\u7801 LoRA LoRA \u662f\u4e00\u79cd\u9488\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u7684\u53c2\u6570\u9ad8\u6548\u8c03\u6574\u6280\u672f\u3002\u5b83\u901a\u8fc7\u5c06\u539f\u59cb\u6a21\u578b\u53c2\u6570\u77e9\u9635\u5206\u89e3\u4e3a\u4f4e\u79e9\u77e9\u9635\uff0c\u4ece\u800c\u51cf\u5c11\u53c2\u6570\u6570\u91cf\u548c\u8ba1\u7b97\u590d\u6742\u5ea6\u3002 1. --lora-modules\uff1a\u7528\u6765\u6307\u5b9a\u7279\u5b9a\u6a21\u5757\u6216\u5c42\u8fdb\u884c\u4f4e\u79e9\u8fd1\u4f3c 2. max_loras_rank\uff1a\u7528\u6765\u6307\u5b9a LoRA \u6a21\u578b\u4e2d\u6bcf\u4e2a\u9002\u914d\u5c42\u7684\u6700\u5927\u79e9\uff0c\u5bf9\u4e8e\u7b80\u5355\u7684\u4efb\u52a1\uff0c\u53ef\u4ee5\u9009\u62e9\u8f83\u5c0f\u7684\u79e9\u503c\uff0c\u800c\u5bf9\u4e8e\u590d\u6742\u4efb\u52a1\uff0c\u53ef\u80fd\u9700\u8981\u8f83\u5927\u7684\u79e9\u503c\u6765\u4fdd\u8bc1\u6a21\u578b\u6027\u80fd\u3002 3. max_loras\uff1a\u8868\u793a\u6a21\u578b\u4e2d\u53ef\u4ee5\u5305\u542b\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u91cf\uff0c\u6839\u636e\u6a21\u578b\u5927\u5c0f\u3001\u63a8\u7406\u590d\u6742\u5ea6\u7b49\u56e0\u7d20\u81ea\u5b9a 4. max_cpu_loras\uff1a\u7528\u4e8e\u6307\u5b9a\u5728 CPU \u73af\u5883\u4e2d\u53ef\u4ee5\u5904\u7406\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u3002 \u5173\u8054\u73af\u5883 \u901a\u8fc7\u9009\u62e9\u73af\u5883\u9884\u5b9a\u4e49\u63a8\u7406\u65f6\u6240\u9700\u7684\u73af\u5883\u4f9d\u8d56\u3002

      Info

      \u652f\u6301\u914d\u7f6e LoRA \u53c2\u6570\u7684\u6a21\u578b\u53ef\u53c2\u8003 vLLM \u652f\u6301\u7684\u6a21\u578b\u3002

    3. \u5728 \u9ad8\u7ea7\u914d\u7f6e \u4e2d\uff0c\u652f\u6301\u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

    "},{"location":"admin/baize/developer/inference/vllm-inference.html#_3","title":"\u9a8c\u8bc1\u63a8\u7406\u670d\u52a1","text":"

    \u63a8\u7406\u670d\u52a1\u521b\u5efa\u5b8c\u6210\u4e4b\u540e\uff0c\u70b9\u51fb\u63a8\u7406\u670d\u52a1\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\uff0c\u67e5\u770b API \u8c03\u7528\u65b9\u6cd5\u3002\u901a\u8fc7\u4f7f\u7528 Curl\u3001Python\u3001Nodejs \u7b49\u65b9\u5f0f\u9a8c\u8bc1\u6267\u884c\u7ed3\u679c\u3002

    \u62f7\u8d1d\u8be6\u60c5\u4e2d\u7684 curl \u547d\u4ee4\uff0c\u5e76\u5728\u7ec8\u7aef\u4e2d\u6267\u884c\u547d\u4ee4\u53d1\u9001\u4e00\u6761\u6a21\u578b\u63a8\u7406\u8bf7\u6c42\uff0c\u9884\u671f\u8f93\u51fa\uff1a

    "},{"location":"admin/baize/developer/jobs/create.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

    \u4efb\u52a1\u7ba1\u7406\u662f\u6307\u901a\u8fc7\u4f5c\u4e1a\u8c03\u5ea6\u548c\u7ba1\u63a7\u7ec4\u4ef6\u6765\u521b\u5efa\u548c\u7ba1\u7406\u4efb\u52a1\u751f\u547d\u5468\u671f\u7684\u529f\u80fd\u3002

    AI Lab \u91c7\u7528 Kubernetes \u7684 Job \u673a\u5236\u6765\u8c03\u5ea6\u5404\u9879 AI \u63a8\u7406\u3001\u8bad\u7ec3\u4efb\u52a1\u3002

    "},{"location":"admin/baize/developer/jobs/create.html#_1","title":"\u901a\u7528\u6b65\u9aa4","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u4efb\u52a1\u4e2d\u5fc3 -> \u8bad\u7ec3\u4efb\u52a1 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

    2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u914d\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u4efb\u52a1\u7c7b\u578b\u3001\u961f\u5217\u3001\u4f18\u5148\u7ea7\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

    3. \u914d\u7f6e\u955c\u50cf\u5730\u5740\u3001\u8fd0\u884c\u53c2\u6570\u4ee5\u53ca\u5173\u8054\u7684\u6570\u636e\u96c6\u3001\u73af\u5883\u548c\u8d44\u6e90\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

    4. \u6309\u9700\u6dfb\u52a0\u6807\u7b7e\u3001\u6ce8\u89e3\u3001\u73af\u5883\u53d8\u91cf\u7b49\u4efb\u52a1\u53c2\u6570\uff0c\u9009\u62e9\u8c03\u5ea6\u7b56\u7565\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    5. \u4efb\u52a1\u521b\u5efa\u6210\u529f\u540e\uff0c\u4f1a\u6709\u51e0\u79cd\u8fd0\u884c\u72b6\u6001\uff1a

      • \u8fd0\u884c\u4e2d
      • \u6392\u961f\u4e2d
      • \u63d0\u4ea4\u6210\u529f\u3001\u63d0\u4ea4\u5931\u8d25
      • \u4efb\u52a1\u6210\u529f\u3001\u4efb\u52a1\u5931\u8d25
    "},{"location":"admin/baize/developer/jobs/create.html#_2","title":"\u521b\u5efa\u7279\u5b9a\u4efb\u52a1","text":"
    • \u521b\u5efa Pytorch \u4efb\u52a1
    • \u521b\u5efa TensorFlow \u4efb\u52a1
    • \u521b\u5efa MPI \u4efb\u52a1
    • \u521b\u5efa MXNet \u4efb\u52a1
    • \u521b\u5efa PaddlePaddle \u4efb\u52a1
    "},{"location":"admin/baize/developer/jobs/delete.html","title":"\u5220\u9664\u4efb\u52a1\uff08Job\uff09","text":"

    \u5982\u679c\u53d1\u73b0\u4efb\u52a1\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u5220\u9664\u3002

    1. \u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

    2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u4efb\u52a1\uff0c\u8f93\u5165\u4efb\u52a1\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

    3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u4efb\u52a1\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

    Caution

    \u4efb\u52a1\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"admin/baize/developer/jobs/mpi.html","title":"MPI \u4efb\u52a1","text":"

    MPI\uff08Message Passing Interface\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u5e76\u884c\u8ba1\u7b97\u7684\u901a\u4fe1\u534f\u8bae\uff0c\u5b83\u5141\u8bb8\u591a\u4e2a\u8ba1\u7b97\u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u6d88\u606f\u4f20\u9012\u548c\u534f\u4f5c\u3002 MPI \u4efb\u52a1\u662f\u4f7f\u7528 MPI \u534f\u8bae\u8fdb\u884c\u5e76\u884c\u8ba1\u7b97\u7684\u4efb\u52a1\uff0c\u9002\u7528\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u5904\u7406\u7684\u5e94\u7528\u573a\u666f\uff0c\u4f8b\u5982\u5206\u5e03\u5f0f\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

    \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 MPI \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MPI \u4efb\u52a1\uff0c\u8fdb\u884c\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u8ba1\u7b97\u3002 \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u4e2d\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002

    "},{"location":"admin/baize/developer/jobs/mpi.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
    • \u4efb\u52a1\u7c7b\u578b \uff1aMPI\uff0c\u7528\u4e8e\u8fd0\u884c\u5e76\u884c\u8ba1\u7b97\u4efb\u52a1\u3002
    • \u8fd0\u884c\u73af\u5883 \uff1a\u9009\u7528\u9884\u88c5\u4e86 MPI \u73af\u5883\u7684\u955c\u50cf\uff0c\u6216\u8005\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
    • MPIJob \u914d\u7f6e \uff1a\u7406\u89e3\u5e76\u914d\u7f6e MPIJob \u7684\u5404\u9879\u53c2\u6570\uff0c\u5982\u526f\u672c\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
    "},{"location":"admin/baize/developer/jobs/mpi.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

    \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf\u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002 \u786e\u4fdd\u8fd0\u884c\u73af\u5883\u4e2d\u5305\u542b MPI \u53ca\u76f8\u5173\u5e93\uff0c\u5982 OpenMPI\u3001mpi4py \u7b49\u3002

    \u6ce8\u610f \uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u5217\u8868\u3002

    "},{"location":"admin/baize/developer/jobs/mpi.html#mpi_1","title":"\u521b\u5efa MPI \u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/mpi.html#mpi_2","title":"MPI \u4efb\u52a1\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5e73\u53f0 \uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
    2. \u521b\u5efa\u4efb\u52a1 \uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b \uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MPI\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f \uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cbenchmarks-mpi\u201d\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570 \uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
    "},{"location":"admin/baize/developer/jobs/mpi.html#_3","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4 \uff1a\u4f7f\u7528 mpirun\uff0c\u8fd9\u662f\u8fd0\u884c MPI \u7a0b\u5e8f\u7684\u547d\u4ee4\u3002
    • \u547d\u4ee4\u53c2\u6570 \uff1a\u8f93\u5165\u60a8\u8981\u8fd0\u884c\u7684 MPI \u7a0b\u5e8f\u7684\u53c2\u6570\u3002

    \u793a\u4f8b\uff1a\u8fd0\u884c TensorFlow Benchmarks

    \u5728\u672c\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u5c06\u8fd0\u884c\u4e00\u4e2a TensorFlow \u7684\u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\uff0c\u4f7f\u7528 Horovod \u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002 \u9996\u5148\uff0c\u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u4e2d\u5305\u542b\u6240\u9700\u7684\u4f9d\u8d56\u9879\uff0c\u4f8b\u5982 TensorFlow\u3001Horovod\u3001Open MPI \u7b49\u3002

    \u955c\u50cf\u9009\u62e9 \uff1a\u4f7f\u7528\u5305\u542b TensorFlow \u548c MPI \u7684\u955c\u50cf\uff0c\u4f8b\u5982 mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\u3002

    \u547d\u4ee4\u53c2\u6570 \uff1a

    mpirun --allow-run-as-root -np 2 -bind-to none -map-by slot \\\n  -x NCCL_DEBUG=INFO -x LD_LIBRARY_PATH -x PATH \\\n  -mca pml ob1 -mca btl ^openib \\\n  python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \\\n  --model=resnet101 --batch_size=64 --variable_update=horovod\n

    \u8bf4\u660e \uff1a

    • mpirun\uff1aMPI \u7684\u542f\u52a8\u547d\u4ee4\u3002
    • --allow-run-as-root\uff1a\u5141\u8bb8\u4ee5 root \u7528\u6237\u8fd0\u884c\uff08\u5728\u5bb9\u5668\u4e2d\u901a\u5e38\u662f root \u7528\u6237\uff09\u3002
    • -np 2\uff1a\u6307\u5b9a\u8fd0\u884c\u7684\u8fdb\u7a0b\u6570\u4e3a 2\u3002
    • -bind-to none\uff0c-map-by slot\uff1aMPI \u8fdb\u7a0b\u7ed1\u5b9a\u548c\u6620\u5c04\u7684\u914d\u7f6e\u3002
    • -x NCCL_DEBUG=INFO\uff1a\u8bbe\u7f6e NCCL\uff08NVIDIA Collective Communication Library\uff09\u7684\u8c03\u8bd5\u4fe1\u606f\u7ea7\u522b\u3002
    • -x LD_LIBRARY_PATH\uff0c-x PATH\uff1a\u5728 MPI \u73af\u5883\u4e2d\u4f20\u9012\u5fc5\u8981\u7684\u73af\u5883\u53d8\u91cf\u3002
    • -mca pml ob1 -mca btl ^openib\uff1aMPI \u7684\u914d\u7f6e\u53c2\u6570\uff0c\u6307\u5b9a\u4f20\u8f93\u5c42\u548c\u6d88\u606f\u5c42\u534f\u8bae\u3002
    • python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\uff1a\u8fd0\u884c TensorFlow \u57fa\u51c6\u6d4b\u8bd5\u811a\u672c\u3002
    • --model=resnet101\uff0c--batch_size=64\uff0c--variable_update=horovod\uff1aTensorFlow \u811a\u672c\u7684\u53c2\u6570\uff0c\u6307\u5b9a\u6a21\u578b\u3001\u6279\u91cf\u5927\u5c0f\u548c\u4f7f\u7528 Horovod \u8fdb\u884c\u53c2\u6570\u66f4\u65b0\u3002
    "},{"location":"admin/baize/developer/jobs/mpi.html#_4","title":"\u8d44\u6e90\u914d\u7f6e","text":"

    \u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u4e3a\u6bcf\u4e2a\u8282\u70b9\uff08Launcher \u548c Worker\uff09\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u4f8b\u5982 CPU\u3001\u5185\u5b58\u548c GPU\u3002

    \u8d44\u6e90\u793a\u4f8b \uff1a

    • Launcher\uff08\u542f\u52a8\u5668\uff09 \uff1a

      • \u526f\u672c\u6570 \uff1a1
      • \u8d44\u6e90\u8bf7\u6c42 \uff1a
        • CPU\uff1a2 \u6838
        • \u5185\u5b58\uff1a4 GiB
    • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09 \uff1a

      • \u526f\u672c\u6570 \uff1a2
      • \u8d44\u6e90\u8bf7\u6c42 \uff1a
        • CPU\uff1a2 \u6838
        • \u5185\u5b58\uff1a4 GiB
        • GPU\uff1a\u6839\u636e\u9700\u6c42\u5206\u914d
    "},{"location":"admin/baize/developer/jobs/mpi.html#mpijob","title":"\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b","text":"

    \u4ee5\u4e0b\u662f\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b\uff0c\u4f9b\u60a8\u53c2\u8003\u3002

    apiVersion: kubeflow.org/v1\nkind: MPIJob\nmetadata:\n  name: tensorflow-benchmarks\nspec:\n  slotsPerWorker: 1\n  runPolicy:\n    cleanPodPolicy: Running\n  mpiReplicaSpecs:\n    Launcher:\n      replicas: 1\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              command:\n                - mpirun\n                - --allow-run-as-root\n                - -np\n                - \"2\"\n                - -bind-to\n                - none\n                - -map-by\n                - slot\n                - -x\n                - NCCL_DEBUG=INFO\n                - -x\n                - LD_LIBRARY_PATH\n                - -x\n                - PATH\n                - -mca\n                - pml\n                - ob1\n                - -mca\n                - btl\n                - ^openib\n                - python\n                - scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\n                - --model=resnet101\n                - --batch_size=64\n                - --variable_update=horovod\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 2\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpumem: 1k\n                  nvidia.com/vgpu: \"1\"\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

    \u914d\u7f6e\u89e3\u6790 \uff1a

    • apiVersion \u548c kind\uff1a\u8868\u793a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0cMPIJob \u662f Kubeflow \u5b9a\u4e49\u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u7528\u4e8e\u521b\u5efa MPI \u7c7b\u578b\u7684\u4efb\u52a1\u3002
    • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u542b\u4efb\u52a1\u7684\u540d\u79f0\u7b49\u4fe1\u606f\u3002
    • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
      • slotsPerWorker\uff1a\u6bcf\u4e2a Worker \u8282\u70b9\u7684\u69fd\u4f4d\u6570\u91cf\uff0c\u901a\u5e38\u8bbe\u7f6e\u4e3a 1\u3002
      • runPolicy\uff1a\u8fd0\u884c\u7b56\u7565\uff0c\u4f8b\u5982\u4efb\u52a1\u5b8c\u6210\u540e\u662f\u5426\u6e05\u7406 Pod\u3002
      • mpiReplicaSpecs\uff1aMPI \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
        • Launcher\uff1a\u542f\u52a8\u5668\uff0c\u8d1f\u8d23\u542f\u52a8 MPI \u4efb\u52a1\u3002
          • replicas\uff1a\u526f\u672c\u6570\uff0c\u901a\u5e38\u4e3a 1\u3002
          • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u7684\u955c\u50cf\u3001\u547d\u4ee4\u3001\u8d44\u6e90\u7b49\u3002
        • Worker\uff1a\u5de5\u4f5c\u8282\u70b9\uff0c\u5b9e\u9645\u6267\u884c\u4efb\u52a1\u7684\u8ba1\u7b97\u8282\u70b9\u3002
          • replicas\uff1a\u526f\u672c\u6570\uff0c\u6839\u636e\u5e76\u884c\u9700\u6c42\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 2\u3002
          • template\uff1aPod \u6a21\u677f\uff0c\u540c\u6837\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
    "},{"location":"admin/baize/developer/jobs/mpi.html#_5","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

    \u5728\u521b\u5efa MPI \u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mpiReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

    • \u603b\u526f\u672c\u6570 = Launcher \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
    • \u672c\u793a\u4f8b\u4e2d\uff1a

      • Launcher \u526f\u672c\u6570\uff1a1
      • Worker \u526f\u672c\u6570\uff1a2
      • \u603b\u526f\u672c\u6570 \uff1a1 + 2 = 3

    \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u60a8\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

    "},{"location":"admin/baize/developer/jobs/mpi.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MPI \u4efb\u52a1\u3002

    "},{"location":"admin/baize/developer/jobs/mpi.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

    \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002 \u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6bcf\u4e2a\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    \u793a\u4f8b\u8f93\u51fa\uff1a

    TensorFlow:  1.13\nModel:       resnet101\nMode:        training\nBatch size:  64\n...\n\nTotal images/sec: 125.67\n

    \u8fd9\u8868\u793a MPI \u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0cTensorFlow \u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\u5b8c\u6210\u4e86\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002

    "},{"location":"admin/baize/developer/jobs/mpi.html#_8","title":"\u5c0f\u7ed3","text":"

    \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MPIJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c \u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

    \u9644\u5f55 \uff1a

    • \u5982\u679c\u60a8\u7684\u8fd0\u884c\u73af\u5883\u672a\u9884\u88c5\u6240\u9700\u7684\u5e93\uff08\u5982 mpi4py\u3001Horovod \u7b49\uff09\uff0c\u8bf7\u5728\u4efb\u52a1\u4e2d\u6dfb\u52a0\u5b89\u88c5\u547d\u4ee4\uff0c\u6216\u8005\u4f7f\u7528\u9884\u88c5\u4e86\u76f8\u5173\u4f9d\u8d56\u7684\u955c\u50cf\u3002
    • \u5728\u5b9e\u9645\u5e94\u7528\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u4fee\u6539 MPIJob \u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u66f4\u6539\u955c\u50cf\u3001\u547d\u4ee4\u53c2\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
    "},{"location":"admin/baize/developer/jobs/mxnet.html","title":"MXNet \u4efb\u52a1","text":"

    Warning

    \u7531\u4e8e Apache MXNet \u9879\u76ee\u5df2\u5b58\u6863\uff0c\u56e0\u6b64 Kubeflow MXJob \u5c06\u5728\u672a\u6765\u7684 Training Operator 1.9 \u7248\u672c\u4e2d\u5f03\u7528\u548c\u5220\u9664\u3002

    Apache MXNet \u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u3002MXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bad\u7ec3\uff0c\u5305\u62ec\u5355\u673a\u6a21\u5f0f\u548c\u5206\u5e03\u5f0f\u6a21\u5f0f\u3002\u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 MXNet \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MXNet \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

    \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

    "},{"location":"admin/baize/developer/jobs/mxnet.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
    • \u4efb\u52a1\u7c7b\u578b\uff1aMXNet\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
    • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b MXNet \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
    "},{"location":"admin/baize/developer/jobs/mxnet.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

    \u6211\u4eec\u4f7f\u7528 release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 MXNet \u53ca\u5176\u76f8\u5173\u4f9d\u8d56\uff0c\u652f\u6301 GPU \u52a0\u901f\u3002

    \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

    "},{"location":"admin/baize/developer/jobs/mxnet.html#mxnet_1","title":"\u521b\u5efa MXNet \u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/mxnet.html#mxnet_2","title":"MXNet \u5355\u673a\u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/mxnet.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
    2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
    5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
    "},{"location":"admin/baize/developer/jobs/mxnet.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4\uff1apython3
    • \u547d\u4ee4\u53c2\u6570\uff1a

      /mxnet/mxnet/example/gluon/mnist/mnist.py --epochs 10 --cuda\n

      \u8bf4\u660e\uff1a

      • /mxnet/mxnet/example/gluon/mnist/mnist.py\uff1aMXNet \u63d0\u4f9b\u7684 MNIST \u624b\u5199\u6570\u5b57\u8bc6\u522b\u793a\u4f8b\u811a\u672c\u3002
      • --epochs 10\uff1a\u8bbe\u7f6e\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
      • --cuda\uff1a\u4f7f\u7528 CUDA \u8fdb\u884c GPU \u52a0\u901f\u3002
    "},{"location":"admin/baize/developer/jobs/mxnet.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
    • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
    • \u8d44\u6e90\u8bf7\u6c42\uff1a
      • CPU\uff1a2 \u6838
      • \u5185\u5b58\uff1a4 GiB
      • GPU\uff1a1 \u5757
    "},{"location":"admin/baize/developer/jobs/mxnet.html#mxjob","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

    \u4ee5\u4e0b\u662f\u5355\u673a MXJob \u7684 YAML \u914d\u7f6e\uff1a

    apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-single-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/gluon/mnist/mnist.py\",\n                  \"--epochs\",\n                  \"10\",\n                  \"--cuda\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n

    \u914d\u7f6e\u89e3\u6790\uff1a

    • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f MXJob\u3002
    • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u7b49\u4fe1\u606f\u3002
    • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
      • jobMode\uff1a\u8bbe\u7f6e\u4e3a MXTrain\uff0c\u8868\u793a\u8bad\u7ec3\u4efb\u52a1\u3002
      • mxReplicaSpecs\uff1aMXNet \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
        • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
          • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\u3002
          • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a Never\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u4e0d\u91cd\u542f\u3002
          • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
            • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
              • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
              • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
              • command \u548c args\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
              • ports\uff1a\u5bb9\u5668\u7aef\u53e3\u914d\u7f6e\u3002
              • resources\uff1a\u8d44\u6e90\u8bf7\u6c42\u548c\u9650\u5236\u3002
    "},{"location":"admin/baize/developer/jobs/mxnet.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5355\u673a\u4efb\u52a1\u3002

    "},{"location":"admin/baize/developer/jobs/mxnet.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

    \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    \u793a\u4f8b\u8f93\u51fa\uff1a

    Epoch 1: accuracy=0.95\nEpoch 2: accuracy=0.97\n...\nEpoch 10: accuracy=0.98\nTraining completed.\n

    \u8fd9\u8868\u793a MXNet \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

    "},{"location":"admin/baize/developer/jobs/mxnet.html#mxnet_3","title":"MXNet \u5206\u5e03\u5f0f\u4efb\u52a1","text":"

    \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cMXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

    "},{"location":"admin/baize/developer/jobs/mxnet.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
    2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
    5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
    "},{"location":"admin/baize/developer/jobs/mxnet.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4\uff1apython3
    • \u547d\u4ee4\u53c2\u6570\uff1a

      /mxnet/mxnet/example/image-classification/train_mnist.py --num-epochs 10 --num-layers 2 --kv-store dist_device_sync --gpus 0\n

      \u8bf4\u660e\uff1a

      • /mxnet/mxnet/example/image-classification/train_mnist.py\uff1aMXNet \u63d0\u4f9b\u7684\u56fe\u50cf\u5206\u7c7b\u793a\u4f8b\u811a\u672c\u3002
      • --num-epochs 10\uff1a\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
      • --num-layers 2\uff1a\u6a21\u578b\u7684\u5c42\u6570\u4e3a 2\u3002
      • --kv-store dist_device_sync\uff1a\u4f7f\u7528\u5206\u5e03\u5f0f\u8bbe\u5907\u540c\u6b65\u6a21\u5f0f\u3002
      • --gpus 0\uff1a\u4f7f\u7528 GPU \u8fdb\u884c\u52a0\u901f\u3002
    "},{"location":"admin/baize/developer/jobs/mxnet.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
    • \u4efb\u52a1\u526f\u672c\u6570\uff1a3\uff08\u5305\u62ec Scheduler\u3001Server \u548c Worker\uff09
    • \u5404\u89d2\u8272\u8d44\u6e90\u8bf7\u6c42\uff1a
      • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a
        • \u526f\u672c\u6570\uff1a1
        • \u8d44\u6e90\u8bf7\u6c42\uff1a
          • CPU\uff1a2 \u6838
          • \u5185\u5b58\uff1a4 GiB
          • GPU\uff1a1 \u5757
      • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a
        • \u526f\u672c\u6570\uff1a1
        • \u8d44\u6e90\u8bf7\u6c42\uff1a
          • CPU\uff1a2 \u6838
          • \u5185\u5b58\uff1a4 GiB
          • GPU\uff1a1 \u5757
      • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a
        • \u526f\u672c\u6570\uff1a1
        • \u8d44\u6e90\u8bf7\u6c42\uff1a
          • CPU\uff1a2 \u6838
          • \u5185\u5b58\uff1a4 GiB
          • GPU\uff1a1 \u5757
    "},{"location":"admin/baize/developer/jobs/mxnet.html#mxjob_1","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

    \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f MXJob \u7684 YAML \u914d\u7f6e\uff1a

    apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Scheduler:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Server:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/image-classification/train_mnist.py\",\n                  \"--num-epochs\",\n                  \"10\",\n                  \"--num-layers\",\n                  \"2\",\n                  \"--kv-store\",\n                  \"dist_device_sync\",\n                  \"--gpus\",\n                  \"0\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

    \u914d\u7f6e\u89e3\u6790\uff1a

    • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a\u8d1f\u8d23\u534f\u8c03\u96c6\u7fa4\u4e2d\u5404\u8282\u70b9\u7684\u4efb\u52a1\u8c03\u5ea6\u3002
    • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\uff0c\u5b9e\u73b0\u5206\u5e03\u5f0f\u53c2\u6570\u540c\u6b65\u3002
    • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a\u5b9e\u9645\u6267\u884c\u8bad\u7ec3\u4efb\u52a1\u3002
    • \u8d44\u6e90\u914d\u7f6e\uff1a\u4e3a\u5404\u89d2\u8272\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u4efb\u52a1\u987a\u5229\u8fd0\u884c\u3002
    "},{"location":"admin/baize/developer/jobs/mxnet.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

    \u5728\u521b\u5efa MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mxReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

    • \u603b\u526f\u672c\u6570 = Scheduler \u526f\u672c\u6570 + Server \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
    • \u672c\u793a\u4f8b\u4e2d\uff1a
      • Scheduler \u526f\u672c\u6570\uff1a1
      • Server \u526f\u672c\u6570\uff1a1
      • Worker \u526f\u672c\u6570\uff1a1
      • \u603b\u526f\u672c\u6570\uff1a1 + 1 + 1 = 3

    \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

    "},{"location":"admin/baize/developer/jobs/mxnet.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

    "},{"location":"admin/baize/developer/jobs/mxnet.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

    \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u89d2\u8272\uff08Scheduler\u3001Server\u3001Worker\uff09\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    \u793a\u4f8b\u8f93\u51fa\uff1a

    INFO:root:Epoch[0] Batch [50]     Speed: 1000 samples/sec   accuracy=0.85\nINFO:root:Epoch[0] Batch [100]    Speed: 1200 samples/sec   accuracy=0.87\n...\nINFO:root:Epoch[9] Batch [100]    Speed: 1300 samples/sec   accuracy=0.98\nTraining completed.\n

    \u8fd9\u8868\u793a MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

    "},{"location":"admin/baize/developer/jobs/mxnet.html#_14","title":"\u5c0f\u7ed3","text":"

    \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MXJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

    "},{"location":"admin/baize/developer/jobs/mxnet.html#_15","title":"\u9644\u5f55","text":"
    • \u6ce8\u610f\u4e8b\u9879\uff1a

      • \u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u5305\u542b\u6240\u9700\u7684 MXNet \u7248\u672c\u548c\u4f9d\u8d56\u3002
      • \u6839\u636e\u5b9e\u9645\u9700\u6c42\u8c03\u6574\u8d44\u6e90\u914d\u7f6e\uff0c\u907f\u514d\u8d44\u6e90\u4e0d\u8db3\u6216\u6d6a\u8d39\u3002
      • \u5982\u9700\u4f7f\u7528\u81ea\u5b9a\u4e49\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u8bf7\u4fee\u6539\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
    • \u53c2\u8003\u6587\u6863\uff1a

      • MXNet \u5b98\u65b9\u6587\u6863
      • Kubeflow MXJob \u6307\u5357
    "},{"location":"admin/baize/developer/jobs/paddle.html","title":"PaddlePaddle \u4efb\u52a1","text":"

    PaddlePaddle\uff08\u98de\u6868\uff09\u662f\u767e\u5ea6\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u5e73\u53f0\uff0c\u652f\u6301\u4e30\u5bcc\u7684\u795e\u7ecf\u7f51\u7edc\u6a21\u578b\u548c\u5206\u5e03\u5f0f\u8bad\u7ec3\u65b9\u5f0f\u3002PaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u901a\u8fc7\u5355\u673a\u6216\u5206\u5e03\u5f0f\u6a21\u5f0f\u8fdb\u884c\u8bad\u7ec3\u3002\u5728 AI Lab \u5e73\u53f0\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 PaddlePaddle \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa PaddlePaddle \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

    \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

    "},{"location":"admin/baize/developer/jobs/paddle.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
    • \u4efb\u52a1\u7c7b\u578b\uff1aPaddlePaddle\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
    • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b PaddlePaddle \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
    "},{"location":"admin/baize/developer/jobs/paddle.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

    \u6211\u4eec\u4f7f\u7528 registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 PaddlePaddle \u6846\u67b6\uff0c\u9002\u7528\u4e8e CPU \u8ba1\u7b97\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u8bf7\u9009\u62e9\u5bf9\u5e94\u7684 GPU \u7248\u672c\u955c\u50cf\u3002

    \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

    "},{"location":"admin/baize/developer/jobs/paddle.html#paddlepaddle_1","title":"\u521b\u5efa PaddlePaddle \u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/paddle.html#paddlepaddle_2","title":"PaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/paddle.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
    2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
    5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
    "},{"location":"admin/baize/developer/jobs/paddle.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4\uff1apython
    • \u547d\u4ee4\u53c2\u6570\uff1a

      -m paddle.distributed.launch run_check\n

      \u8bf4\u660e\uff1a

      • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\uff0c\u5373\u4f7f\u5728\u5355\u673a\u6a21\u5f0f\u4e0b\u4e5f\u53ef\u4ee5\u4f7f\u7528\uff0c\u65b9\u4fbf\u5c06\u6765\u8fc1\u79fb\u5230\u5206\u5e03\u5f0f\u3002
      • run_check\uff1aPaddlePaddle \u63d0\u4f9b\u7684\u6d4b\u8bd5\u811a\u672c\uff0c\u7528\u4e8e\u68c0\u67e5\u5206\u5e03\u5f0f\u73af\u5883\u662f\u5426\u6b63\u5e38\u3002
    "},{"location":"admin/baize/developer/jobs/paddle.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
    • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
    • \u8d44\u6e90\u8bf7\u6c42\uff1a
      • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
      • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
      • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
    "},{"location":"admin/baize/developer/jobs/paddle.html#paddlejob","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

    \u4ee5\u4e0b\u662f\u5355\u673a PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

    apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-simple-cpu\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 1\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'run_check',\n                              ]\n

    \u914d\u7f6e\u89e3\u6790\uff1a

    • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f PaddleJob\u3002
    • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u3002
    • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
      • paddleReplicaSpecs\uff1aPaddlePaddle \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
        • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
          • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\uff0c\u8868\u793a\u5355\u673a\u8bad\u7ec3\u3002
          • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a OnFailure\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u81ea\u52a8\u91cd\u542f\u3002
          • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
            • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
              • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
              • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
              • command\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
    "},{"location":"admin/baize/developer/jobs/paddle.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5355\u673a\u4efb\u52a1\u3002

    "},{"location":"admin/baize/developer/jobs/paddle.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

    \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    \u793a\u4f8b\u8f93\u51fa\uff1a

    run check success, PaddlePaddle is installed correctly on this node :)\n

    \u8fd9\u8868\u793a PaddlePaddle \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u73af\u5883\u914d\u7f6e\u6b63\u5e38\u3002

    "},{"location":"admin/baize/developer/jobs/paddle.html#paddlepaddle_3","title":"PaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1","text":"

    \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cPaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

    "},{"location":"admin/baize/developer/jobs/paddle.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
    2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
    4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
    5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
    "},{"location":"admin/baize/developer/jobs/paddle.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4\uff1apython
    • \u547d\u4ee4\u53c2\u6570\uff1a

      -m paddle.distributed.launch train.py --epochs=10\n

      \u8bf4\u660e\uff1a

      • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\u3002
      • train.py\uff1a\u60a8\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u9700\u8981\u653e\u5728\u955c\u50cf\u4e2d\u6216\u6302\u8f7d\u5230\u5bb9\u5668\u5185\u3002
      • --epochs=10\uff1a\u8bad\u7ec3\u7684\u8f6e\u6570\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 10\u3002
    "},{"location":"admin/baize/developer/jobs/paddle.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
    • \u4efb\u52a1\u526f\u672c\u6570\uff1a\u6839\u636e Worker \u526f\u672c\u6570\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u4e3a 2\u3002
    • \u8d44\u6e90\u8bf7\u6c42\uff1a
      • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
      • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
      • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
    "},{"location":"admin/baize/developer/jobs/paddle.html#paddlejob_1","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

    \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

    apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-distributed-job\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 2\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'train.py',\n                              ]\n                          args:\n                              - '--epochs=10'\n

    \u914d\u7f6e\u89e3\u6790\uff1a

    • Worker\uff1a
      • replicas\uff1a\u526f\u672c\u6570\uff0c\u8bbe\u7f6e\u4e3a 2\uff0c\u8868\u793a\u4f7f\u7528 2 \u4e2a\u5de5\u4f5c\u8282\u70b9\u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002
      • \u5176\u4ed6\u914d\u7f6e\u4e0e\u5355\u673a\u6a21\u5f0f\u7c7b\u4f3c\u3002
    "},{"location":"admin/baize/developer/jobs/paddle.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

    \u5728\u521b\u5efa PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e paddleReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

    • \u603b\u526f\u672c\u6570 = Worker \u526f\u672c\u6570
    • \u672c\u793a\u4f8b\u4e2d\uff1a
      • Worker \u526f\u672c\u6570\uff1a2
      • \u603b\u526f\u672c\u6570\uff1a2

    \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 2\u3002

    "},{"location":"admin/baize/developer/jobs/paddle.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

    \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

    "},{"location":"admin/baize/developer/jobs/paddle.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

    \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u5de5\u4f5c\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\uff0c\u786e\u8ba4\u5206\u5e03\u5f0f\u8bad\u7ec3\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

    \u793a\u4f8b\u8f93\u51fa\uff1a

    Worker 0: Epoch 1, Batch 100, Loss 0.5\nWorker 1: Epoch 1, Batch 100, Loss 0.6\n...\nTraining completed.\n

    \u8fd9\u8868\u793a PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

    "},{"location":"admin/baize/developer/jobs/paddle.html#_14","title":"\u5c0f\u7ed3","text":"

    \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 PaddleJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

    "},{"location":"admin/baize/developer/jobs/paddle.html#_15","title":"\u9644\u5f55","text":"
    • \u6ce8\u610f\u4e8b\u9879\uff1a

      • \u8bad\u7ec3\u811a\u672c\uff1a\u786e\u4fdd train.py\uff08\u6216\u5176\u4ed6\u8bad\u7ec3\u811a\u672c\uff09\u5728\u5bb9\u5668\u5185\u5b58\u5728\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u81ea\u5b9a\u4e49\u955c\u50cf\u3001\u6302\u8f7d\u6301\u4e45\u5316\u5b58\u50a8\u7b49\u65b9\u5f0f\u5c06\u811a\u672c\u653e\u5165\u5bb9\u5668\u3002
      • \u955c\u50cf\u9009\u62e9\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u955c\u50cf\uff0c\u4f8b\u5982\u4f7f\u7528 GPU \u65f6\u9009\u62e9 paddle:2.4.0rc0-gpu \u7b49\u3002
      • \u53c2\u6570\u8c03\u6574\uff1a\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 command \u548c args \u6765\u4f20\u9012\u4e0d\u540c\u7684\u8bad\u7ec3\u53c2\u6570\u3002
    • \u53c2\u8003\u6587\u6863\uff1a

      • PaddlePaddle \u5b98\u65b9\u6587\u6863
      • Kubeflow PaddleJob \u6307\u5357
    "},{"location":"admin/baize/developer/jobs/pytorch.html","title":"Pytorch \u4efb\u52a1","text":"

    Pytorch \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002 Pytorch \u4efb\u52a1\u662f\u4e00\u4e2a\u4f7f\u7528 Pytorch \u6846\u67b6\u7684\u4efb\u52a1\u3002

    \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 Pytorch \u4efb\u52a1\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c \u5feb\u901f\u521b\u5efa Pytorch \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

    "},{"location":"admin/baize/developer/jobs/pytorch.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
    • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Pytorch \u5355\u673a \u548c Pytorch \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
    • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Pytorch \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
    "},{"location":"admin/baize/developer/jobs/pytorch.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

    \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

    \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

    "},{"location":"admin/baize/developer/jobs/pytorch.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/pytorch.html#pytorch_1","title":"Pytorch \u5355\u673a\u4efb\u52a1","text":"
    1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
    4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
    "},{"location":"admin/baize/developer/jobs/pytorch.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
    • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
    import torch\nimport torch.nn as nn\nimport torch.optim as optim\n\n# \u5b9a\u4e49\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc\nclass SimpleNet(nn.Module):\n    def __init__(self):\n        super(SimpleNet, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\n# \u521b\u5efa\u6a21\u578b\u3001\u635f\u5931\u51fd\u6570\u548c\u4f18\u5316\u5668\nmodel = SimpleNet()\ncriterion = nn.MSELoss()\noptimizer = optim.SGD(model.parameters(), lr=0.01)\n\n# \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = torch.randn(100, 10)\ny = torch.randn(100, 1)\n\n# \u8bad\u7ec3\u6a21\u578b\nfor epoch in range(100):\n    # \u524d\u5411\u4f20\u64ad\n    outputs = model(x)\n    loss = criterion(outputs, y)\n\n    # \u53cd\u5411\u4f20\u64ad\u548c\u4f18\u5316\n    optimizer.zero_grad()\n    loss.backward()\n    optimizer.step()\n\n    if (epoch + 1) % 10 == 0:\n        print(f'Epoch [{epoch+1}/100], Loss: {loss.item():.4f}')\n\nprint('Training finished.')\n
    "},{"location":"admin/baize/developer/jobs/pytorch.html#_5","title":"\u8fd0\u884c\u7ed3\u679c","text":"

    \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa

    [HAMI-core Warn(1:140244541377408:utils.c:183)]: get default cuda from (null)\n[HAMI-core Msg(1:140244541377408:libvgpu.c:855)]: Initialized\nEpoch [10/100], Loss: 1.1248\nEpoch [20/100], Loss: 1.0486\nEpoch [30/100], Loss: 0.9969\nEpoch [40/100], Loss: 0.9611\nEpoch [50/100], Loss: 0.9360\nEpoch [60/100], Loss: 0.9182\nEpoch [70/100], Loss: 0.9053\nEpoch [80/100], Loss: 0.8960\nEpoch [90/100], Loss: 0.8891\nEpoch [100/100], Loss: 0.8841\nTraining finished.\n[HAMI-core Msg(1:140244541377408:multiprocess_memory_limit.c:468)]: Calling exit handler 1\n
    "},{"location":"admin/baize/developer/jobs/pytorch.html#pytorch_2","title":"Pytorch \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
    1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
    4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
    "},{"location":"admin/baize/developer/jobs/pytorch.html#_6","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
    • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
    import os\nimport torch\nimport torch.distributed as dist\nimport torch.nn as nn\nimport torch.optim as optim\nfrom torch.nn.parallel import DistributedDataParallel as DDP\n\nclass SimpleModel(nn.Module):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f'PyTorch version: {torch.__version__}')\n    print(f'CUDA available: {torch.cuda.is_available()}')\n    if torch.cuda.is_available():\n        print(f'CUDA version: {torch.version.cuda}')\n        print(f'CUDA device count: {torch.cuda.device_count()}')\n\n    rank = int(os.environ.get('RANK', '0'))\n    world_size = int(os.environ.get('WORLD_SIZE', '1'))\n\n    print(f'Rank: {rank}, World Size: {world_size}')\n\n    # \u521d\u59cb\u5316\u5206\u5e03\u5f0f\u73af\u5883\n    try:\n        if world_size > 1:\n            dist.init_process_group('nccl')\n            print('Distributed process group initialized successfully')\n        else:\n            print('Running in non-distributed mode')\n    except Exception as e:\n        print(f'Error initializing process group: {e}')\n        return\n\n    # \u8bbe\u7f6e\u8bbe\u5907\n    try:\n        if torch.cuda.is_available():\n            device = torch.device(f'cuda:{rank % torch.cuda.device_count()}')\n            print(f'Using CUDA device: {device}')\n        else:\n            device = torch.device('cpu')\n            print('CUDA not available, using CPU')\n    except Exception as e:\n        print(f'Error setting device: {e}')\n        device = torch.device('cpu')\n        print('Falling back to CPU')\n\n    try:\n        model = SimpleModel().to(device)\n        print('Model moved to device successfully')\n    except Exception as e:\n        print(f'Error moving model to device: {e}')\n        return\n\n    try:\n        if world_size > 1:\n            ddp_model = DDP(model, device_ids=[rank % torch.cuda.device_count()] if torch.cuda.is_available() else None)\n            print('DDP model created successfully')\n        else:\n            ddp_model = model\n            print('Using non-distributed model')\n    except Exception as e:\n        print(f'Error creating DDP model: {e}')\n        return\n\n    loss_fn = nn.MSELoss()\n    optimizer = optim.SGD(ddp_model.parameters(), lr=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    try:\n        data = torch.randn(100, 10, device=device)\n        labels = torch.randn(100, 1, device=device)\n        print('Data generated and moved to device successfully')\n    except Exception as e:\n        print(f'Error generating or moving data to device: {e}')\n        return\n\n    for epoch in range(10):\n        try:\n            ddp_model.train()\n            outputs = ddp_model(data)\n            loss = loss_fn(outputs, labels)\n            optimizer.zero_grad()\n            loss.backward()\n            optimizer.step()\n\n            if rank == 0:\n                print(f'Epoch {epoch}, Loss: {loss.item():.4f}')\n        except Exception as e:\n            print(f'Error during training epoch {epoch}: {e}')\n            break\n\n    if world_size > 1:\n        dist.destroy_process_group()\n\nif __name__ == '__main__':\n    train()\n
    "},{"location":"admin/baize/developer/jobs/pytorch.html#_7","title":"\u4efb\u52a1\u526f\u672c\u6570","text":"

    \u6ce8\u610f Pytorch \u5206\u5e03\u5f0f \u8bad\u7ec3\u4efb\u52a1\u4f1a\u521b\u5efa\u4e00\u7ec4 Master \u548c Worker \u7684\u8bad\u7ec3 Pod\uff0c Master \u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u4efb\u52a1\uff0cWorker \u8d1f\u8d23\u5b9e\u9645\u7684\u8bad\u7ec3\u5de5\u4f5c\u3002

    Note

    \u672c\u6b21\u6f14\u793a\u4e2d\uff1aMaster \u526f\u672c\u6570\u4e3a 1\uff0cWorker \u526f\u672c\u6570\u4e3a 2\uff1b \u6240\u4ee5\u6211\u4eec\u9700\u8981\u5728 \u4efb\u52a1\u914d\u7f6e \u4e2d\u8bbe\u7f6e\u526f\u672c\u6570\u4e3a 3\uff0c\u5373 Master \u526f\u672c\u6570 + Worker \u526f\u672c\u6570\u3002 Pytorch \u4f1a\u81ea\u52a8\u8c03\u8c10 Master \u548c Worker \u7684\u89d2\u8272\u3002

    "},{"location":"admin/baize/developer/jobs/pytorch.html#_8","title":"\u8fd0\u884c\u7ed3\u679c","text":"

    \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    "},{"location":"admin/baize/developer/jobs/tensorboard.html","title":"\u4efb\u52a1\u5206\u6790\u4ecb\u7ecd","text":"

    \u5728 AI Lab \u6a21\u5757\u4e2d\uff0c\u63d0\u4f9b\u4e86\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u91cd\u8981\u7684\u53ef\u89c6\u5316\u5206\u6790\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd \u4efb\u52a1\u5206\u6790\uff08Tensorboard\uff09\u7684\u57fa\u672c\u6982\u5ff5\u3001\u5728 AI Lab \u7cfb\u7edf\u4e2d\u7684\u4f7f\u7528\u65b9\u6cd5\uff0c\u4ee5\u53ca\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9\u3002

    Note

    Tensorboard \u662f TensorFlow \u63d0\u4f9b\u7684\u4e00\u4e2a\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u5b83\u53ef\u4ee5\u5e2e\u52a9\u5f00\u53d1\u8005\u66f4\u76f4\u89c2\u5730\u7406\u89e3\u6a21\u578b\u7684\u8bad\u7ec3\u52a8\u6001\uff0c\u5206\u6790\u6a21\u578b\u6027\u80fd\uff0c\u8c03\u8bd5\u6a21\u578b\u95ee\u9898\u7b49\u3002

    Tensorboard \u5728\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7684\u4f5c\u7528\u53ca\u4f18\u52bf\uff1a

    • \u53ef\u89c6\u5316\u8bad\u7ec3\u8fc7\u7a0b\uff1a\u901a\u8fc7\u56fe\u8868\u5c55\u793a\u8bad\u7ec3\u548c\u9a8c\u8bc1\u7684\u635f\u5931\u3001\u7cbe\u5ea6\u7b49\u6307\u6807\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u76f4\u89c2\u5730\u89c2\u5bdf\u6a21\u578b\u7684\u8bad\u7ec3\u6548\u679c\u3002
    • \u8c03\u8bd5\u548c\u4f18\u5316\u6a21\u578b\uff1a\u901a\u8fc7\u67e5\u770b\u4e0d\u540c\u5c42\u7684\u6743\u91cd\u3001\u68af\u5ea6\u5206\u5e03\u7b49\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u53d1\u73b0\u548c\u4fee\u6b63\u6a21\u578b\u4e2d\u7684\u95ee\u9898\u3002
    • \u5bf9\u6bd4\u4e0d\u540c\u5b9e\u9a8c\uff1a\u53ef\u4ee5\u540c\u65f6\u5c55\u793a\u591a\u4e2a\u5b9e\u9a8c\u7684\u7ed3\u679c\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u5bf9\u6bd4\u4e0d\u540c\u6a21\u578b\u548c\u8d85\u53c2\u6570\u914d\u7f6e\u7684\u6548\u679c\u3002
    • \u8ffd\u8e2a\u8bad\u7ec3\u6570\u636e\uff1a\u8bb0\u5f55\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u7684\u6570\u636e\u96c6\u548c\u53c2\u6570\uff0c\u786e\u4fdd\u5b9e\u9a8c\u7684\u53ef\u590d\u73b0\u6027\u3002
    "},{"location":"admin/baize/developer/jobs/tensorboard.html#tensorboard","title":"\u5982\u4f55\u521b\u5efa Tensorboard","text":"

    \u5728 AI Lab \u7cfb\u7edf\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u4fbf\u6377\u7684\u65b9\u5f0f\u6765\u521b\u5efa\u548c\u7ba1\u7406 Tensorboard\u3002\u4ee5\u4e0b\u662f\u5177\u4f53\u6b65\u9aa4\uff1a

    "},{"location":"admin/baize/developer/jobs/tensorboard.html#notebook-tensorboard","title":"\u5728\u521b\u5efa\u65f6 Notebook \u542f\u7528 Tensorboard","text":"
    1. \u521b\u5efa Notebook\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Notebook\u3002
    2. \u542f\u7528 Tensorboard\uff1a\u5728\u521b\u5efa Notebook \u7684\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002

    "},{"location":"admin/baize/developer/jobs/tensorboard.html#tensorboard_1","title":"\u5728\u5206\u5e03\u5f0f\u4efb\u52a1\u521b\u5efa\u53ca\u5b8c\u6210\u540e\u542f\u7528 Tensorboard","text":"
    1. \u521b\u5efa\u5206\u5e03\u5f0f\u4efb\u52a1\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3002
    2. \u914d\u7f6e Tensorboard\uff1a\u5728\u4efb\u52a1\u914d\u7f6e\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002
    3. \u4efb\u52a1\u5b8c\u6210\u540e\u67e5\u770b Tensorboard\uff1a\u4efb\u52a1\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u4efb\u52a1\u8be6\u60c5\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\uff0c\u70b9\u51fb\u94fe\u63a5\u5373\u53ef\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

    "},{"location":"admin/baize/developer/jobs/tensorboard.html#notebook-tensorboard_1","title":"\u5728 Notebook \u4e2d\u76f4\u63a5\u5f15\u7528 Tensorboard","text":"

    \u5728 Notebook \u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee3\u7801\u76f4\u63a5\u542f\u52a8 Tensorboard\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

    # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\nimport datetime\n\n# \u5b9a\u4e49\u65e5\u5fd7\u76ee\u5f55\nlog_dir = \"logs/fit/\" + datetime.datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n\n# \u521b\u5efa Tensorboard \u56de\u8c03\ntensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)\n\n# \u6784\u5efa\u5e76\u7f16\u8bd1\u6a21\u578b\nmodel = tf.keras.models.Sequential([\n    tf.keras.layers.Flatten(input_shape=(28, 28)),\n    tf.keras.layers.Dense(512, activation='relu'),\n    tf.keras.layers.Dropout(0.2),\n    tf.keras.layers.Dense(10, activation='softmax')\n])\n\nmodel.compile(optimizer='adam',\n              loss='sparse_categorical_crossentropy',\n              metrics=['accuracy'])\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u542f\u7528 Tensorboard \u56de\u8c03\nmodel.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])\n
    "},{"location":"admin/baize/developer/jobs/tensorboard.html#_2","title":"\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9","text":"

    \u5728\u4f7f\u7528 Tensorboard \u65f6\uff0c\u53ef\u4ee5\u8bb0\u5f55\u548c\u914d\u7f6e\u4e0d\u540c\u7684\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u5185\u5bb9\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5e38\u89c1\u7684\u914d\u7f6e\u65b9\u5f0f\uff1a

    "},{"location":"admin/baize/developer/jobs/tensorboard.html#_3","title":"\u914d\u7f6e\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7","text":"

    \u5728\u8bad\u7ec3\u6a21\u578b\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 TensorFlow \u7684 tf.summary API \u6765\u8bb0\u5f55\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

    # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\n\n# \u521b\u5efa\u65e5\u5fd7\u76ee\u5f55\ntrain_log_dir = 'logs/gradient_tape/train'\nval_log_dir = 'logs/gradient_tape/val'\ntrain_summary_writer = tf.summary.create_file_writer(train_log_dir)\nval_summary_writer = tf.summary.create_file_writer(val_log_dir)\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u8bb0\u5f55\u65e5\u5fd7\nfor epoch in range(EPOCHS):\n    for (x_train, y_train) in train_dataset:\n        # \u8bad\u7ec3\u6b65\u9aa4\n        train_step(x_train, y_train)\n        with train_summary_writer.as_default():\n            tf.summary.scalar('loss', train_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', train_accuracy.result(), step=epoch)\n\n    for (x_val, y_val) in val_dataset:\n        # \u9a8c\u8bc1\u6b65\u9aa4\n        val_step(x_val, y_val)\n        with val_summary_writer.as_default():\n            tf.summary.scalar('loss', val_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', val_accuracy.result(), step=epoch)\n
    "},{"location":"admin/baize/developer/jobs/tensorboard.html#_4","title":"\u914d\u7f6e\u81ea\u5b9a\u4e49\u65e5\u5fd7","text":"

    \u9664\u4e86\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5916\uff0c\u8fd8\u53ef\u4ee5\u8bb0\u5f55\u5176\u4ed6\u81ea\u5b9a\u4e49\u7684\u65e5\u5fd7\u5185\u5bb9\uff0c\u4f8b\u5982\u5b66\u4e60\u7387\u3001\u68af\u5ea6\u5206\u5e03\u7b49\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

    # \u8bb0\u5f55\u81ea\u5b9a\u4e49\u65e5\u5fd7\nwith train_summary_writer.as_default():\n    tf.summary.scalar('learning_rate', learning_rate, step=epoch)\n    tf.summary.histogram('gradients', gradients, step=epoch)\n
    "},{"location":"admin/baize/developer/jobs/tensorboard.html#tensorboard_2","title":"Tensorboard \u7ba1\u7406","text":"

    \u5728 AI Lab \u4e2d\uff0c\u901a\u8fc7\u5404\u79cd\u65b9\u5f0f\u521b\u5efa\u51fa\u6765\u7684 Tensorboard \u4f1a\u7edf\u4e00\u5c55\u793a\u5728\u4efb\u52a1\u5206\u6790\u7684\u9875\u9762\u4e2d\uff0c\u65b9\u4fbf\u7528\u6237\u67e5\u770b\u548c\u7ba1\u7406\u3002

    \u7528\u6237\u53ef\u4ee5\u5728\u4efb\u52a1\u5206\u6790\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\u3001\u72b6\u6001\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u4fe1\u606f\uff0c\u5e76\u901a\u8fc7\u94fe\u63a5\u76f4\u63a5\u8bbf\u95ee Tensorboard \u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

    "},{"location":"admin/baize/developer/jobs/tensorflow.html","title":"Tensorflow \u4efb\u52a1","text":"

    Tensorflow \u662f\u9664\u4e86 Pytorch \u53e6\u5916\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u7684\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002

    \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u540c\u6837\u63d0\u4f9b\u4e86 Tensorflow \u6846\u67b6\u7684\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa Tensorflow \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

    "},{"location":"admin/baize/developer/jobs/tensorflow.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
    • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Tensorflow \u5355\u673a \u548c Tensorflow \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
    • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Tensorflow \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
    "},{"location":"admin/baize/developer/jobs/tensorflow.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

    \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

    \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

    "},{"location":"admin/baize/developer/jobs/tensorflow.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/tensorflow.html#tfjob","title":"\u793a\u4f8b TFJob \u5355\u673a\u4efb\u52a1","text":"
    1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
    4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
    "},{"location":"admin/baize/developer/jobs/tensorflow.html#_4","title":"\u63d0\u524d\u9884\u70ed\u4ee3\u7801\u4ed3\u5e93","text":"

    \u4f7f\u7528 AI Lab -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u521b\u5efa\u4e00\u4e2a\u6570\u636e\u96c6\uff0c\u5e76\u5c06\u8fdc\u7aef Github \u7684\u4ee3\u7801\u62c9\u53d6\u5230\u6570\u636e\u96c6\u4e2d\uff0c \u8fd9\u6837\u5728\u521b\u5efa\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u9009\u62e9\u6570\u636e\u96c6\uff0c\u5c06\u4ee3\u7801\u6302\u8f7d\u5230\u4efb\u52a1\u4e2d\u3002

    \u6f14\u793a\u4ee3\u7801\u4ed3\u5e93\u5730\u5740\uff1ahttps://github.com/d-run/training-sample-code/

    "},{"location":"admin/baize/developer/jobs/tensorflow.html#_5","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
    • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tf-single.py
    \"\"\"\n  pip install tensorflow numpy\n\"\"\"\n\nimport tensorflow as tf\nimport numpy as np\n\n# \u521b\u5efa\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = np.random.rand(100, 1)\ny = 2 * x + 1 + np.random.rand(100, 1) * 0.1\n\n# \u521b\u5efa\u4e00\u4e2a\u7b80\u5355\u7684\u6a21\u578b\nmodel = tf.keras.Sequential([\n    tf.keras.layers.Dense(1, input_shape=(1,))\n])\n\n# \u7f16\u8bd1\u6a21\u578b\nmodel.compile(optimizer='adam', loss='mse')\n\n# \u8bad\u7ec3\u6a21\u578b\uff0c\u5c06 epochs \u6539\u4e3a 10\nhistory = model.fit(x, y, epochs=10, verbose=1)\n\n# \u6253\u5370\u6700\u7ec8\u635f\u5931\nprint('Final loss: {' + str(history.history['loss'][-1]) +'}')\n\n# \u4f7f\u7528\u6a21\u578b\u8fdb\u884c\u9884\u6d4b\ntest_x = np.array([[0.5]])\nprediction = model.predict(test_x)\nprint(f'Prediction for x=0.5: {prediction[0][0]}')\n
    "},{"location":"admin/baize/developer/jobs/tensorflow.html#_6","title":"\u8fd0\u884c\u7ed3\u679c","text":"

    \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    "},{"location":"admin/baize/developer/jobs/tensorflow.html#tfjob_1","title":"TFJob \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
    1. \u767b\u5f55 AI Lab \uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
    3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
    4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
    "},{"location":"admin/baize/developer/jobs/tensorflow.html#_7","title":"\u793a\u4f8b\u4efb\u52a1\u4ecb\u7ecd","text":"

    \u672c\u6b21\u5305\u542b\u4e86\u4e09\u79cd\u89d2\u8272\uff1aChief\u3001Worker \u548c Parameter Server (PS)\u3002

    • Chief: \u4e3b\u8981\u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u8fc7\u7a0b\u548c\u6a21\u578b\u68c0\u67e5\u70b9\u7684\u4fdd\u5b58\u3002
    • Worker: \u6267\u884c\u5b9e\u9645\u7684\u6a21\u578b\u8bad\u7ec3\u3002
    • PS: \u5728\u5f02\u6b65\u8bad\u7ec3\u4e2d\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\u3002

    \u4e3a\u4e0d\u540c\u7684\u89d2\u8272\u5206\u914d\u4e86\u4e0d\u540c\u7684\u8d44\u6e90\u3002Chief \u548c Worker \u4f7f\u7528 GPU\uff0c\u800c PS \u4f7f\u7528 CPU \u548c\u8f83\u5927\u7684\u5185\u5b58\u3002

    "},{"location":"admin/baize/developer/jobs/tensorflow.html#_8","title":"\u8fd0\u884c\u53c2\u6570","text":"
    • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
    • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tensorflow-distributed.py
    import os\nimport json\nimport tensorflow as tf\n\nclass SimpleModel(tf.keras.Model):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = tf.keras.layers.Dense(1, input_shape=(10,))\n\n    def call(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f\"TensorFlow version: {tf.__version__}\")\n    print(f\"GPU available: {tf.test.is_gpu_available()}\")\n    if tf.test.is_gpu_available():\n        print(f\"GPU device count: {len(tf.config.list_physical_devices('GPU'))}\")\n\n    # \u83b7\u53d6\u5206\u5e03\u5f0f\u8bad\u7ec3\u4fe1\u606f\n    tf_config = json.loads(os.environ.get('TF_CONFIG') or '{}')\n    task_type = tf_config.get('task', {}).get('type')\n    task_id = tf_config.get('task', {}).get('index')\n\n    print(f\"Task type: {task_type}, Task ID: {task_id}\")\n\n    # \u8bbe\u7f6e\u5206\u5e03\u5f0f\u7b56\u7565\n    strategy = tf.distribute.experimental.MultiWorkerMirroredStrategy()\n\n    with strategy.scope():\n        model = SimpleModel()\n        loss_fn = tf.keras.losses.MeanSquaredError()\n        optimizer = tf.keras.optimizers.SGD(learning_rate=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    data = tf.random.normal((100, 10))\n    labels = tf.random.normal((100, 1))\n\n    @tf.function\n    def train_step(inputs, labels):\n        with tf.GradientTape() as tape:\n            predictions = model(inputs)\n            loss = loss_fn(labels, predictions)\n        gradients = tape.gradient(loss, model.trainable_variables)\n        optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n        return loss\n\n    for epoch in range(10):\n        loss = train_step(data, labels)\n        if task_type == 'chief':\n            print(f'Epoch {epoch}, Loss: {loss.numpy():.4f}')\n\nif __name__ == '__main__':\n    train()\n
    "},{"location":"admin/baize/developer/jobs/tensorflow.html#_9","title":"\u8fd0\u884c\u7ed3\u679c","text":"

    \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

    "},{"location":"admin/baize/developer/jobs/view.html","title":"\u67e5\u770b\u4efb\u52a1\uff08Job\uff09\u5de5\u4f5c\u8d1f\u8f7d","text":"

    \u4efb\u52a1\u521b\u5efa\u597d\u540e\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u3002

    1. \u5728\u8bad\u7ec3\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u67d0\u4e2a\u4efb\u52a1\u53f3\u4fa7\u7684 \u2507 -> \u4efb\u52a1\u8d1f\u8f7d\u8be6\u60c5 \u3002

    2. \u51fa\u73b0\u4e00\u4e2a\u5f39\u7a97\u9009\u62e9\u8981\u67e5\u770b\u54ea\u4e2a Pod \u540e\uff0c\u70b9\u51fb \u8fdb\u5165 \u3002

    3. \u8df3\u8f6c\u5230\u5bb9\u5668\u7ba1\u7406\u754c\u9762\uff0c\u53ef\u4ee5\u67e5\u770b\u5bb9\u5668\u7684\u5de5\u4f5c\u72b6\u6001\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4ee5\u53ca\u53d1\u751f\u7684\u4e8b\u4ef6\u3002

    4. \u4f60\u8fd8\u53ef\u4ee5\u67e5\u770b\u5f53\u524d Pod \u6700\u8fd1\u4e00\u6bb5\u65f6\u95f4\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002 \u6b64\u5904\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u65e5\u5fd7\uff0c\u5982\u679c\u8981\u67e5\u770b\u66f4\u8be6\u7ec6\u7684\u65e5\u5fd7\u6d3b\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u8bf7\u70b9\u51fb\u9876\u90e8\u7684\u84dd\u8272 \u53ef\u89c2\u6d4b\u6027 \u6587\u5b57\u3002

    5. \u5f53\u7136\u4f60\u8fd8\u53ef\u4ee5\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684 ... \uff0c\u67e5\u770b\u5f53\u524d Pod \u7684 YAML\u3001\u4e0a\u4f20\u548c\u4e0b\u8f7d\u6587\u4ef6\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a Pod \u7684 YAML \u793a\u4f8b\u3002

    kind: Pod\napiVersion: v1\nmetadata:\n  name: neko-tensorboard-job-test-202404181843-skxivllb-worker-0\n  namespace: default\n  uid: ddedb6ff-c278-47eb-ae1e-0de9b7c62f8c\n  resourceVersion: '41092552'\n  creationTimestamp: '2024-04-18T10:43:36Z'\n  labels:\n    training.kubeflow.org/job-name: neko-tensorboard-job-test-202404181843-skxivllb\n    training.kubeflow.org/operator-name: pytorchjob-controller\n    training.kubeflow.org/replica-index: '0'\n    training.kubeflow.org/replica-type: worker\n  annotations:\n    cni.projectcalico.org/containerID: 0cfbb9af257d5e69027c603c6cb2d3890a17c4ae1a145748d5aef73a10d7fbe1\n    cni.projectcalico.org/podIP: ''\n    cni.projectcalico.org/podIPs: ''\n    hami.io/bind-phase: success\n    hami.io/bind-time: '1713437016'\n    hami.io/vgpu-devices-allocated: GPU-29d5fa0d-935b-2966-aff8-483a174d61d1,NVIDIA,1024,20:;\n    hami.io/vgpu-devices-to-allocate: ;\n    hami.io/vgpu-node: worker-a800-1\n    hami.io/vgpu-time: '1713437016'\n    k8s.v1.cni.cncf.io/network-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n    k8s.v1.cni.cncf.io/networks-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n  ownerReferences:\n    - apiVersion: kubeflow.org/v1\n      kind: PyTorchJob\n      name: neko-tensorboard-job-test-202404181843-skxivllb\n      uid: e5a8b05d-1f03-4717-8e1c-4ec928014b7b\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  volumes:\n    - name: 0-dataset-pytorch-examples\n      persistentVolumeClaim:\n        claimName: pytorch-examples\n    - name: kube-api-access-wh9rh\n      projected:\n        sources:\n          - serviceAccountToken:\n              expirationSeconds: 3607\n              path: token\n          - configMap:\n              name: kube-root-ca.crt\n              items:\n                - key: ca.crt\n                  path: ca.crt\n          - downwardAPI:\n              items:\n                - path: namespace\n                  fieldRef:\n                    apiVersion: v1\n                    fieldPath: metadata.namespace\n        defaultMode: 420\n  containers:\n    - name: pytorch\n      image: m.daocloud.io/docker.io/pytorch/pytorch\n      command:\n        - bash\n      args:\n        - '-c'\n        - >-\n          ls -la /root && which pip && pip install pytorch_lightning tensorboard\n          && python /root/Git/pytorch/examples/mnist/main.py\n      ports:\n        - name: pytorchjob-port\n          containerPort: 23456\n          protocol: TCP\n      env:\n        - name: PYTHONUNBUFFERED\n          value: '1'\n        - name: PET_NNODES\n          value: '1'\n      resources:\n        limits:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n        requests:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n      volumeMounts:\n        - name: 0-dataset-pytorch-examples\n          mountPath: /root/Git/pytorch/examples\n        - name: kube-api-access-wh9rh\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  restartPolicy: Never\n  terminationGracePeriodSeconds: 30\n  dnsPolicy: ClusterFirst\n  serviceAccountName: default\n  serviceAccount: default\n  nodeName: worker-a800-1\n  securityContext: {}\n  affinity: {}\n  schedulerName: hami-scheduler\n  tolerations:\n    - key: node.kubernetes.io/not-ready\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n    - key: node.kubernetes.io/unreachable\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n  priorityClassName: baize-high-priority\n  priority: 100000\n  enableServiceLinks: true\n  preemptionPolicy: PreemptLowerPriority\nstatus:\n  phase: Succeeded\n  conditions:\n    - type: Initialized\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n      reason: PodCompleted\n    - type: Ready\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: ContainersReady\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: PodScheduled\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n  hostIP: 10.20.100.211\n  podIP: 10.233.97.184\n  podIPs:\n    - ip: 10.233.97.184\n  startTime: '2024-04-18T10:43:36Z'\n  containerStatuses:\n    - name: pytorch\n      state:\n        terminated:\n          exitCode: 0\n          reason: Completed\n          startedAt: '2024-04-18T10:43:39Z'\n          finishedAt: '2024-04-18T10:46:34Z'\n          containerID: >-\n            containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      lastState: {}\n      ready: false\n      restartCount: 0\n      image: m.daocloud.io/docker.io/pytorch/pytorch:latest\n      imageID: >-\n        m.daocloud.io/docker.io/pytorch/pytorch@sha256:11691e035a3651d25a87116b4f6adc113a27a29d8f5a6a583f8569e0ee5ff897\n      containerID: >-\n        containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      started: false\n  qosClass: Guaranteed\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html","title":"baizectl \u547d\u4ee4\u884c\u5de5\u5177\u4f7f\u7528\u6307\u5357","text":"

    baizectl \u662f\u5728 AI Lab \u6a21\u5757\u4e2d\u4e13\u95e8\u670d\u52a1\u4e8e\u6a21\u578b\u5f00\u53d1\u8005\u4e0e\u6570\u636e\u79d1\u5b66\u5bb6\u4eec\u4f7f\u7528\u7684\u547d\u4ee4\u884c\u5de5\u5177\u3002 \u5b83\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u547d\u4ee4\u6765\u5e2e\u52a9\u7528\u6237\u7ba1\u7406\u5206\u5e03\u5f0f\u8bad\u7ec3\u4f5c\u4e1a\u3001\u67e5\u770b\u4efb\u52a1\u72b6\u6001\u3001\u7ba1\u7406\u6570\u636e\u96c6\u7b49\u64cd\u4f5c\uff0c\u540c\u65f6\u652f\u6301\u8fde\u63a5 Kubernetes \u5de5\u4f5c\u96c6\u7fa4\u548c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5de5\u4f5c\u7a7a\u95f4\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u9ad8\u6548\u5730\u4f7f\u7528\u548c\u7ba1\u7406 Kubernetes \u5e73\u53f0\u8d44\u6e90\u3002

    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_1","title":"\u5b89\u88c5","text":"

    \u76ee\u524d\uff0cbaizectl \u5df2\u7ecf\u96c6\u6210\u5728 AI Lab \u4e2d\u3002 \u4f60\u5728\u521b\u5efa Notebook \u540e\uff0c\u5373\u53ef\u5728 Notebook \u4e2d\u76f4\u63a5\u4f7f\u7528 baizectl\u3002

    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_2","title":"\u5feb\u901f\u4e0a\u624b","text":""},{"location":"admin/baize/developer/notebooks/baizectl.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

    baizectl \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

    jovyan@19d0197587cc:/$ baizectl\nAI platform management tool\n\nUsage:\n  baizectl [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  data        Management datasets\n  help        Help about any command\n  job         Manage jobs\n  login       Login to the platform\n  version     Show cli version\n\nFlags:\n      --cluster string     Cluster name to operate\n  -h, --help               help for baizectl\n      --mode string        Connection mode: auto, api, notebook (default \"auto\")\n  -n, --namespace string   Namespace to use for the operation. If not set, the default Namespace will be used.\n  -s, --server string      \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 access base url\n      --skip-tls-verify    Skip TLS certificate verification\n      --token string       \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 access token\n  -w, --workspace int32    Workspace ID to use for the operation\n\nUse \"baizectl [command] --help\" for more information about a command.\n

    \u4ee5\u4e0a\u662f baizectl \u7684\u57fa\u672c\u4fe1\u606f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl --help \u67e5\u770b\u5e2e\u52a9\u4fe1\u606f\uff0c \u6216\u8005\u901a\u8fc7 baizectl [command] --help \u67e5\u770b\u5177\u4f53\u547d\u4ee4\u7684\u5e2e\u52a9\u4fe1\u606f\u3002

    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_4","title":"\u67e5\u770b\u7248\u672c\u4fe1\u606f","text":"

    baizectl \u652f\u6301\u901a\u8fc7 version \u547d\u4ee4\u67e5\u770b\u7248\u672c\u4fe1\u606f\u3002

    (base) jovyan@den-0:~$ baizectl version \nbaizectl version: v0.5.0, commit sha: ac0837c4\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_5","title":"\u547d\u4ee4\u683c\u5f0f","text":"

    baizectl \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

    baizectl [command] [flags]\n

    \u5176\u4e2d\uff0c[command] \u662f\u5177\u4f53\u7684\u64cd\u4f5c\u547d\u4ee4\uff0c\u5982 data\u3001job \u7b49\uff0c[flags] \u662f\u53ef\u9009\u7684\u53c2\u6570\uff0c\u7528\u4e8e\u6307\u5b9a\u64cd\u4f5c\u7684\u8be6\u7ec6\u4fe1\u606f\u3002

    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_6","title":"\u5e38\u7528\u9009\u9879","text":"
    • --cluster string\uff1a\u6307\u5b9a\u8981\u64cd\u4f5c\u7684\u96c6\u7fa4\u540d\u79f0
    • -h, --help\uff1a\u663e\u793a\u5e2e\u52a9\u4fe1\u606f
    • --mode string\uff1a\u8fde\u63a5\u6a21\u5f0f\uff0c\u53ef\u9009\u503c\u4e3a auto\u3001api\u3001notebook\uff08\u9ed8\u8ba4\u503c\u4e3a auto\uff09
    • -n, --namespace string\uff1a\u6307\u5b9a\u64cd\u4f5c\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5982\u679c\u672a\u8bbe\u7f6e\uff0c\u5c06\u4f7f\u7528\u9ed8\u8ba4\u547d\u540d\u7a7a\u95f4
    • -s, --server string\uff1a\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8bbf\u95ee\u57fa\u7840 URL
    • --skip-tls-verify\uff1a\u8df3\u8fc7 TLS \u8bc1\u4e66\u9a8c\u8bc1
    • --token string\uff1a\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8bbf\u95ee\u4ee4\u724c
    • -w, --workspace int32\uff1a\u6307\u5b9a\u64cd\u4f5c\u7684\u5de5\u4f5c\u533a ID
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_7","title":"\u529f\u80fd\u4ecb\u7ecd","text":""},{"location":"admin/baize/developer/notebooks/baizectl.html#_8","title":"\u4efb\u52a1\u7ba1\u7406","text":"

    baizectl \u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u547d\u4ee4\u6765\u7ba1\u7406\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\uff0c\u5305\u542b\u4e86\u67e5\u770b\u4efb\u52a1\u5217\u8868\uff0c\u63d0\u4ea4\u4efb\u52a1\u3001\u67e5\u770b\u65e5\u5fd7\u3001\u91cd\u542f\u4efb\u52a1\u3001\u5220\u9664\u4efb\u52a1\u7b49\u3002

    jovyan@19d0197587cc:/$ baizectl job\nManage jobs\n\nUsage:\n  baizectl job [command]\n\nAvailable Commands:\n  delete      Delete a job\n  logs        Show logs of a job\n  ls          List jobs\n  restart     restart a job\n  submit      Submit a job\n\nFlags:\n  -h, --help            help for job\n  -o, --output string   Output format. One of: table, json, yaml (default \"table\")\n      --page int        Page number (default 1)\n      --page-size int   Page size (default -1)\n      --search string   Search query\n      --sort string     Sort order\n      --truncate int    Truncate output to the given length, 0 means no truncation (default 50)\n\nUse \"baizectl job [command] --help\" for more information about a command.\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_9","title":"\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1","text":"

    baizectl \u652f\u6301\u4f7f\u7528 submit \u547d\u4ee4\u63d0\u4ea4\u4e00\u4e2a\u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job submit --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

    (base) jovyan@den-0:~$ baizectl job submit --help\nSubmit a job\n\nUsage:\n  baizectl job submit [flags] -- command ...\n\nAliases:\n  submit, create\n\nExamples:\n# Submit a job to run the command \"torchrun python train.py\"\nbaizectl job submit -- torchrun python train.py\n# Submit a job with 2 workers(each pod use 4 gpus) to run the command \"torchrun python train.py\" and use the image \"pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime\"\nbaizectl job submit --image pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime --workers 2 --resources nvidia.com/gpu=4 -- torchrun python train.py\n# Submit a tensorflow job to run the command \"python train.py\"\nbaizectl job submit --tensorflow -- python train.py\n\n\nFlags:\n      --annotations stringArray                       The annotations of the job, the format is key=value\n      --auto-load-env                                 It only takes effect when executed in Notebook, the environment variables of the current environment will be automatically read and set to the environment variables of the Job, the specific environment variables to be read can be specified using the BAIZE_MAPPING_ENVS environment variable, the default is PATH,CONDA_*,*PYTHON*,NCCL_*, if set to false, the environment variables of the current environment will not be read. (default true)\n      --commands stringArray                          The default command of the job\n  -d, --datasets stringArray                          The dataset bind to the job, the format is datasetName:mountPath, e.g. mnist:/data/mnist\n  -e, --envs stringArray                              The environment variables of the job, the format is key=value\n  -x, --from-notebook string                          Define whether to read the configuration of the current Notebook and directly create tasks, including images, resources, Dataset, etc.\n                                                      auto: Automatically determine the mode according to the current environment. If the current environment is a Notebook, it will be set to notebook mode.\n                                                      false: Do not read the configuration of the current Notebook.\n                                                      true: Read the configuration of the current Notebook. (default \"auto\")\n  -h, --help                                          help for submit\n      --image string                                  The image of the job, it must be specified if fromNotebook is false.\n  -t, --job-type string                               Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --labels stringArray                            The labels of the job, the format is key=value\n      --max-retries int32                             number of retries before marking this job failed\n      --max-run-duration int                          Specifies the duration in seconds relative to the startTime that the job may be active before the system tries to terminate it\n      --name string                                   The name of the job, if empty, the name will be generated automatically.\n      --paddle                                        PaddlePaddle Job, has higher priority than --job-type\n      --priority string                               The priority of the job, current support baize-medium-priority, baize-low-priority, baize-high-priority\n      --pvcs stringArray                              The pvcs bind to the job, the format is pvcName:mountPath, e.g. mnist:/data/mnist\n      --pytorch                                       Pytorch Job, has higher priority than --job-type\n      --queue string                                  The queue to used\n      --requests-resources stringArray                Similar to resources, but sets the resources of requests\n      --resources stringArray                         The resources of the job, it is a string in the format of cpu=1,memory=1Gi,nvidia.com/gpu=1, it will be set to the limits and requests of the container.\n      --restart-policy string                         The job restart policy (default \"on-failure\")\n      --runtime-envs baizectl data ls --runtime-env   The runtime environment to use for the job, you can use baizectl data ls --runtime-env to get the runtime environment\n      --shm-size int32                                The shared memory size of the job, default is 0, which means no shared memory, if set to more than 0, the job will use the shared memory, the unit is MiB\n      --tensorboard-log-dir string                    The tensorboard log directory, if set, the job will automatically start tensorboard, else not. The format is /path/to/log, you can use relative path in notebook.\n      --tensorflow                                    Tensorflow Job, has higher priority than --job-type\n      --workers int                                   The workers of the job, default is 1, which means single worker, if set to more than 1, the job will be distributed. (default 1)\n      --working-dir string                            The working directory of job container, if in notebook mode, the default is the directory of the current file\n

    Note

    \u63d0\u4ea4\u4efb\u52a1\u7684\u547d\u4ee4\u53c2\u6570\u8bf4\u660e\uff1a

    • --name: \u4efb\u52a1\u540d\u79f0\uff0c\u5982\u679c\u4e3a\u7a7a\uff0c\u5219\u4f1a\u81ea\u52a8\u751f\u6210
    • --image: \u955c\u50cf\u540d\u79f0\uff0c\u5fc5\u987b\u6307\u5b9a
    • --priority: \u4efb\u52a1\u4f18\u5148\u7ea7\uff0c\u652f\u6301 \u9ad8=baize-high-priority\u3001\u4e2d=baize-medium-priority\u3001\u4f4e=baize-low-priority
    • --resources: \u4efb\u52a1\u8d44\u6e90\uff0c\u683c\u5f0f\u4e3a cpu=1 memory=1Gi,nvidia.com/gpu=1
    • --workers: \u4efb\u52a1\u5de5\u4f5c\u8282\u70b9\u6570\uff0c\u9ed8\u8ba4\u4e3a 1\uff0c\u5f53\u8bbe\u7f6e\u5927\u4e8e 1 \u65f6\uff0c\u4efb\u52a1\u5c06\u4f1a\u5206\u5e03\u5f0f\u8fd0\u884c
    • --queue: \u4efb\u52a1\u961f\u5217\uff0c\u9700\u8981\u63d0\u524d\u521b\u5efa\u961f\u5217\u8d44\u6e90
    • --working-dir: \u5de5\u4f5c\u76ee\u5f55\uff0c\u5982\u679c\u5728 Notebook \u6a21\u5f0f\u4e0b\uff0c\u4f1a\u9ed8\u8ba4\u4f7f\u7528\u5f53\u524d\u6587\u4ef6\u76ee\u5f55
    • --datasets: \u6570\u636e\u96c6\uff0c\u683c\u5f0f\u4e3a datasetName:mountPath\uff0c\u4f8b\u5982 mnist:/data/mnist
    • --shm-size: \u5171\u4eab\u5185\u5b58\u5927\u5c0f\uff0c\u5728\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u542f\u7528\uff0c\u8868\u793a\u4f7f\u7528\u5171\u4eab\u5185\u5b58\uff0c\u5355\u4f4d\u4e3a MiB
    • --labels: \u4efb\u52a1\u6807\u7b7e\uff0c\u683c\u5f0f\u4e3a key=value
    • --max-retries: \u6700\u5927\u91cd\u8bd5\u6b21\u6570\uff0c\u4efb\u52a1\u5931\u8d25\u540e\u91cd\u8bd5\u6b21\u6570\uff0c\u5931\u8d25\u540e\u4f1a\u91cd\u542f\u4efb\u52a1\uff0c\u9ed8\u8ba4\u4e0d\u9650\u5236
    • --max-run-duration: \u6700\u5927\u8fd0\u884c\u65f6\u95f4\uff0c\u4efb\u52a1\u8fd0\u884c\u65f6\u95f4\u8d85\u8fc7\u6307\u5b9a\u65f6\u95f4\u540e\uff0c\u4f1a\u88ab\u7cfb\u7edf\u7ec8\u6b62\uff0c\u9ed8\u8ba4\u4e0d\u9650\u5236
    • --restart-policy: \u91cd\u542f\u7b56\u7565\uff0c\u652f\u6301 on-failure\u3001never\u3001always\uff0c\u9ed8\u8ba4\u4e3a on-failure
    • --from-notebook: \u662f\u5426\u4ece Notebook \u4e2d\u8bfb\u53d6\u914d\u7f6e\uff0c\u652f\u6301 auto\u3001true\u3001false\uff0c\u9ed8\u8ba4\u4e3a auto
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#pytorch","title":"PyTorch \u5355\u673a\u4efb\u52a1\u793a\u4f8b","text":"

    \u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u793a\u4f8b\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u6c42\u4fee\u6539\u53c2\u6570\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a PyTorch \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

    baizectl job submit --name demojob-v2 -t PYTORCH \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --resources cpu=1,memory=1Gi \\\n    --workers 1 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#pytorch_1","title":"PyTorch \u5206\u5e03\u5f0f\u4efb\u52a1\u793a\u4f8b","text":"

    \u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u793a\u4f8b\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u6c42\u4fee\u6539\u53c2\u6570\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a PyTorch \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

    baizectl job submit --name demojob-v2 -t PYTORCH \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --resources cpu=1,memory=1Gi \\\n    --workers 2 \\   # \u591a\u4efb\u52a1\u526f\u672c\u4f1a\u81ea\u52a8\u521b\u5efa\u5206\u5e03\u5f0f\u4efb\u52a1\n    --shm-size 1024 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#tensorflow","title":"Tensorflow \u4efb\u52a1\u793a\u4f8b","text":"

    \u4f7f\u7528 -t \u53c2\u6570\u6307\u5b9a\u4efb\u52a1\u7c7b\u578b\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a Tensorflow \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

    baizectl job submit --name demojob-v2 -t TENSORFLOW \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --from-notebook auto \\\n    --workers 1 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n

    \u4e5f\u53ef\u4ee5\u4f7f\u7528 --job-type \u6216\u8005 --tensorflow \u53c2\u6570\u6307\u5b9a\u4efb\u52a1\u7c7b\u578b

    "},{"location":"admin/baize/developer/notebooks/baizectl.html#paddle","title":"Paddle \u4efb\u52a1\u793a\u4f8b","text":"
    baizectl job submit --name demojob-v2 -t PADDLE \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_10","title":"\u67e5\u770b\u4efb\u52a1\u5217\u8868","text":"

    baizectl job \u652f\u6301\u901a\u8fc7 ls \u547d\u4ee4\u67e5\u770b\u4efb\u52a1\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a pytroch \u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -t \u6307\u5b9a\u4efb\u52a1\u7c7b\u578b\u3002

    (base) jovyan@den-0:~$ baizectl job ls  # \u9ed8\u8ba4\u67e5\u770b pytorch \u4efb\u52a1\n NAME        TYPE     PHASE      DURATION  COMMAND    \n demong      PYTORCH  SUCCEEDED  1m2s      sleep 60   \n demo-sleep  PYTORCH  RUNNING    1h25m28s  sleep 7200 \n(base) jovyan@den-0:~$ baizectl job ls demo-sleep  # \u67e5\u770b\u6307\u5b9a\u4efb\u52a1\n NAME        TYPE     PHASE      DURATION  COMMAND     \n demo-sleep  PYTORCH  RUNNING    1h25m28s  sleep 7200 \n(base) jovyan@den-0:~$ baizectl job ls -t TENSORFLOW   # \u67e5\u770b tensorflow \u4efb\u52a1\n NAME       TYPE        PHASE    DURATION  COMMAND    \n demotfjob  TENSORFLOW  CREATED  0s        sleep 1000 \n

    \u4efb\u52a1\u5217\u8868\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4f7f\u7528 table \u4f5c\u4e3a\u5c55\u793a\u5f62\u5f0f\uff0c\u5982\u679c\u5e0c\u671b\u67e5\u770b\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 json \u6216 yaml \u683c\u5f0f\u5c55\u793a\uff0c\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u3002

    (base) jovyan@den-0:~$ baizectl job ls -t TENSORFLOW -o yaml\n- baseConfig:\n    args:\n    - sleep\n    - \"1000\"\n    image: release.daocloud.io/baize/baize-notebook:v0.5.0\n    labels:\n      app: den\n    podConfig:\n      affinity: {}\n      kubeEnvs:\n      - name: CONDA_EXE\n        value: /opt/conda/bin/conda\n      - name: CONDA_PREFIX\n        value: /opt/conda\n      - name: CONDA_PROMPT_MODIFIER\n        value: '(base) '\n      - name: CONDA_SHLVL\n        value: \"1\"\n      - name: CONDA_DIR\n        value: /opt/conda\n      - name: CONDA_PYTHON_EXE\n        value: /opt/conda/bin/python\n      - name: CONDA_PYTHON_EXE\n        value: /opt/conda/bin/python\n      - name: CONDA_DEFAULT_ENV\n        value: base\n      - name: PATH\n        value: /opt/conda/bin:/opt/conda/condabin:/command:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n      priorityClass: baize-high-priority\n      queue: default\n  creationTimestamp: \"2024-06-16T07:47:27Z\"\n  jobSpec:\n    runPolicy:\n      suspend: true\n    tfReplicaSpecs:\n      Worker:\n        replicas: 1\n        restartPolicy: OnFailure\n        template:\n          metadata:\n            creationTimestamp: null\n          spec:\n            affinity: {}\n            containers:\n            - args:\n              - sleep\n              - \"1000\"\n              env:\n              - name: CONDA_EXE\n                value: /opt/conda/bin/conda\n              - name: CONDA_PREFIX\n                value: /opt/conda\n              - name: CONDA_PROMPT_MODIFIER\n                value: '(base) '\n              - name: CONDA_SHLVL\n                value: \"1\"\n              - name: CONDA_DIR\n                value: /opt/conda\n              - name: CONDA_PYTHON_EXE\n                value: /opt/conda/bin/python\n              - name: CONDA_PYTHON_EXE\n                value: /opt/conda/bin/python\n              - name: CONDA_DEFAULT_ENV\n                value: base\n              - name: PATH\n                value: /opt/conda/bin:/opt/conda/condabin:/command:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n              image: release.daocloud.io/baize/baize-notebook:v0.5.0\n              name: tensorflow\n              resources:\n                limits:\n                  memory: 1Gi\n                requests:\n                  cpu: \"1\"\n                  memory: 2Gi\n              workingDir: /home/jovyan\n            priorityClassName: baize-high-priority\n  name: demotfjob\n  namespace: ns-chuanjia-ndx\n  phase: CREATED\n  roleConfig:\n    TF_WORKER:\n      replicas: 1\n      resources:\n        limits:\n          memory: 1Gi\n        requests:\n          cpu: \"1\"\n          memory: 2Gi\n  totalResources:\n    limits:\n      memory: \"1073741824\"\n    requests:\n      cpu: \"1\"\n      memory: \"2147483648\"\n  trainingConfig:\n    restartPolicy: RESTART_POLICY_ON_FAILURE\n  trainingMode: SINGLE\n  type: TENSORFLOW\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_11","title":"\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7","text":"

    baizectl job \u652f\u6301\u4f7f\u7528 logs \u547d\u4ee4\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job logs --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

    (base) jovyan@den-0:~$ baizectl job logs --help\nShow logs of a job\n\nUsage:\n  baizectl job logs <job-name> [pod-name] [flags]\n\nAliases:\n  logs, log\n\nFlags:\n  -f, --follow            Specify if the logs should be streamed.\n  -h, --help              help for logs\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tail int          Lines of recent log file to display.\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n      --timestamps        Show timestamps\n

    Note

    • --follow \u53c2\u6570\u5b9e\u65f6\u67e5\u770b\u65e5\u5fd7
    • --tail \u53c2\u6570\u6307\u5b9a\u67e5\u770b\u65e5\u5fd7\u7684\u884c\u6570\uff0c\u9ed8\u8ba4\u4e3a 50 \u884c
    • --timestamps \u53c2\u6570\u663e\u793a\u65f6\u95f4\u6233

    \u793a\u4f8b\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7\uff1a

    (base) jovyan@den-0:~$ baizectl job log -t TENSORFLOW tf-sample-job-v2-202406161632-evgrbrhn -f\n2024-06-16 08:33:06.083766: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n2024-06-16 08:33:06.086189: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.\n2024-06-16 08:33:06.132416: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.\n2024-06-16 08:33:06.132903: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\nTo enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n2024-06-16 08:33:07.223046: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\nModel: \"sequential\"\n_________________________________________________________________\n Layer (type)                Output Shape              Param #   \n=================================================================\n Conv1 (Conv2D)              (None, 13, 13, 8)         80        \n\n flatten (Flatten)           (None, 1352)              0         \n\n Softmax (Dense)             (None, 10)                13530     \n\n=================================================================\nTotal params: 13610 (53.16 KB)\nTrainable params: 13610 (53.16 KB)\nNon-trainable params: 0 (0.00 Byte)\n...\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_12","title":"\u5220\u9664\u4efb\u52a1","text":"

    baizectl job \u652f\u6301\u4f7f\u7528 delete \u547d\u4ee4\u5220\u9664\u4efb\u52a1\uff0c\u5e76\u4e14\u540c\u65f6\u652f\u6301\u5220\u9664\u591a\u4e2a\u4efb\u52a1\u3002

    (base) jovyan@den-0:~$ baizectl job delete --help\nDelete a job\n\nUsage:\n  baizectl job delete [flags]\n\nAliases:\n  delete, del, remove, rm\n\nFlags:\n  -h, --help              help for delete\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n

    \u793a\u4f8b\u5220\u9664\u4efb\u52a1\uff1a

    (base) jovyan@den-0:~$ baizectl job ls\n NAME        TYPE     PHASE      DURATION  COMMAND    \n demong      PYTORCH  SUCCEEDED  1m2s      sleep 60   \n demo-sleep  PYTORCH  RUNNING    1h20m51s  sleep 7200 \n demojob     PYTORCH  FAILED     16m46s    sleep 1000 \n demojob-v2  PYTORCH  RUNNING    3m13s     sleep 1000 \n demojob-v3  PYTORCH  CREATED    0s        sleep 1000 \n(base) jovyan@den-0:~$ baizectl job delete demojob      # \u5220\u9664\u5355\u4e2a\u4efb\u52a1\nDelete job demojob in ns-chuanjia-ndx successfully\n(base) jovyan@den-0:~$ baizectl job delete demojob-v2 demojob-v3     # \u5220\u9664\u591a\u4e2a\u4efb\u52a1\nDelete job demojob-v2 in ns-chuanjia-ndx successfully\nDelete job demojob-v3 in ns-chuanjia-ndx successfully\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_13","title":"\u91cd\u542f\u4efb\u52a1","text":"

    baizectl job \u652f\u6301\u4f7f\u7528 restart \u547d\u4ee4\u91cd\u542f\u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job restart --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

    (base) jovyan@den-0:~$ baizectl job restart --help\nrestart a job\n\nUsage:\n  baizectl job restart [flags] job\n\nAliases:\n  restart, rerun\n\nFlags:\n  -h, --help              help for restart\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_14","title":"\u6570\u636e\u96c6\u7ba1\u7406","text":"

    baizectl \u652f\u6301\u7ba1\u7406\u6570\u636e\u96c6\uff0c\u76ee\u524d\u652f\u6301\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868\uff0c\u65b9\u4fbf\u5728\u4efb\u52a1\u8bad\u7ec3\u65f6\uff0c\u5feb\u901f\u7ed1\u5b9a\u6570\u636e\u96c6\u3002

    (base) jovyan@den-0:~$ baizectl data \nManagement datasets\n\nUsage:\n  baizectl data [flags]\n  baizectl data [command]\n\nAliases:\n  data, dataset, datasets, envs, runtime-envs\n\nAvailable Commands:\n  ls          List datasets\n\nFlags:\n  -h, --help            help for data\n  -o, --output string   Output format. One of: table, json, yaml (default \"table\")\n      --page int        Page number (default 1)\n      --page-size int   Page size (default -1)\n      --search string   Search query\n      --sort string     Sort order\n      --truncate int    Truncate output to the given length, 0 means no truncation (default 50)\n\nUse \"baizectl data [command] --help\" for more information about a command.\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_15","title":"\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868","text":"

    baizectl data \u652f\u6301\u901a\u8fc7 ls \u547d\u4ee4\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a table \u683c\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002

    (base) jovyan@den-0:~$ baizectl data ls\n NAME             TYPE  URI                                                    PHASE \n fashion-mnist    GIT   https://gitee.com/samzong_lu/fashion-mnist.git         READY \n sample-code      GIT   https://gitee.com/samzong_lu/training-sample-code....  READY \n training-output  PVC   pvc://training-output                                  READY \n

    \u5728\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 -d \u6216\u8005 --datasets \u53c2\u6570\u6307\u5b9a\u6570\u636e\u96c6\uff0c\u4f8b\u5982\uff1a

    baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --datasets sample-code:/home/jovyan/code \\\n    -- sleep 1000\n

    \u540c\u65f6\u6302\u8f7d\u591a\u4e2a\u6570\u636e\u96c6\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u683c\u5f0f\uff1a

    baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --datasets sample-code:/home/jovyan/code fashion-mnist:/home/jovyan/data \\\n    -- sleep 1000\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_16","title":"\u67e5\u770b\u4f9d\u8d56\u5e93\uff08\u73af\u5883\uff09","text":"

    \u73af\u5883 runtime-env \u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u7279\u8272\u73af\u5883\u7ba1\u7406\u80fd\u529b\uff0c\u901a\u8fc7\u5c06\u6a21\u578b\u5f00\u53d1\u3001\u8bad\u7ec3\u4efb\u52a1\u4ee5\u53ca\u63a8\u7406\u4e2d\u6240\u9700\u7684\u4f9d\u8d56\u5e93\u89e3\u8026\uff0c \u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u52a0\u7075\u6d3b\u7684\u4f9d\u8d56\u5e93\u7ba1\u7406\u65b9\u5f0f\uff0c\u65e0\u9700\u91cd\u590d\u6784\u5efa\u590d\u6742\u7684 Docker \u955c\u50cf\uff0c\u53ea\u9700\u9009\u62e9\u5408\u9002\u7684\u73af\u5883\u5373\u53ef\u3002

    \u540c\u65f6 runtime-env \u652f\u6301\u70ed\u66f4\u65b0\uff0c\u52a8\u6001\u5347\u7ea7\uff0c\u65e0\u9700\u91cd\u65b0\u6784\u5efa\u955c\u50cf\uff0c\u5373\u53ef\u66f4\u65b0\u73af\u5883\u4f9d\u8d56\u5e93\u3002

    baizectl data \u652f\u6301\u901a\u8fc7 runtime-env \u547d\u4ee4\u67e5\u770b\u73af\u5883\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a table \u683c\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002

    (base) jovyan@den-0:~$ baizectl data ls --runtime-env \n NAME               TYPE   URI                                                    PHASE      \n fashion-mnist      GIT    https://gitee.com/samzong_lu/fashion-mnist.git         READY      \n sample-code        GIT    https://gitee.com/samzong_lu/training-sample-code....  READY      \n training-output    PVC    pvc://training-output                                  READY      \n tensorflow-sample  CONDA  conda://python?version=3.12.3                          PROCESSING \n

    \u5728\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 --runtime-env \u53c2\u6570\u6307\u5b9a\u73af\u5883\uff0c\u4f8b\u5982\uff1a

    baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --runtime-env tensorflow-sample \\\n    -- sleep 1000\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_17","title":"\u9ad8\u7ea7\u7528\u6cd5","text":"

    baizectl \u652f\u6301\u66f4\u591a\u9ad8\u7ea7\u7528\u6cd5\uff0c\u4f8b\u5982\u81ea\u52a8\u8865\u5168\u811a\u672c\u751f\u6210\u3001\u4f7f\u7528\u7279\u5b9a\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u3001\u4f7f\u7528\u7279\u5b9a\u5de5\u4f5c\u7a7a\u95f4\u7b49\u3002

    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_18","title":"\u81ea\u52a8\u8865\u5168\u811a\u672c\u751f\u6210","text":"
    baizectl completion bash > /etc/bash_completion.d/baizectl\n

    \u4e0a\u8ff0\u547d\u4ee4\u751f\u6210 bash \u7684\u81ea\u52a8\u8865\u5168\u811a\u672c\uff0c\u5e76\u5c06\u5176\u4fdd\u5b58\u5230 /etc/bash_completion.d/baizectl \u76ee\u5f55\u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 source /etc/bash_completion.d/baizectl \u52a0\u8f7d\u81ea\u52a8\u8865\u5168\u811a\u672c\u3002

    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_19","title":"\u4f7f\u7528\u7279\u5b9a\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4","text":"
    baizectl job ls --cluster my-cluster --namespace my-namespace\n

    \u8be5\u547d\u4ee4\u5c06\u5217\u51fa my-cluster \u96c6\u7fa4\u4e2d my-namespace \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u4f5c\u4e1a\u3002

    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_20","title":"\u4f7f\u7528\u7279\u5b9a\u5de5\u4f5c\u7a7a\u95f4","text":"
    baizectl job ls --workspace 123\n
    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_21","title":"\u5e38\u89c1\u95ee\u9898","text":"
    • \u95ee\u9898\uff1a\u4e3a\u4ec0\u4e48\u65e0\u6cd5\u8fde\u63a5\u5230\u670d\u52a1\u5668\uff1f

      \u89e3\u51b3\u65b9\u6cd5\uff1a\u68c0\u67e5 --server \u53c2\u6570\u662f\u5426\u6b63\u786e\u8bbe\u7f6e\uff0c\u5e76\u786e\u4fdd\u7f51\u7edc\u8fde\u63a5\u6b63\u5e38\u3002 \u5982\u679c\u670d\u52a1\u5668\u4f7f\u7528\u81ea\u7b7e\u540d\u8bc1\u4e66\uff0c\u53ef\u4ee5\u4f7f\u7528 --skip-tls-verify \u8df3\u8fc7 TLS \u8bc1\u4e66\u9a8c\u8bc1\u3002

    • \u95ee\u9898\uff1a\u5982\u4f55\u89e3\u51b3\u6743\u9650\u4e0d\u8db3\u7684\u95ee\u9898\uff1f

      \u89e3\u51b3\u65b9\u6cd5\uff1a\u786e\u4fdd\u4f7f\u7528\u6b63\u786e\u7684 --token \u53c2\u6570\u767b\u5f55\uff0c\u5e76\u68c0\u67e5\u5f53\u524d\u7528\u6237\u662f\u5426\u5177\u6709\u76f8\u5e94\u7684\u64cd\u4f5c\u6743\u9650\u3002

    • \u95ee\u9898\uff1a\u4e3a\u4ec0\u4e48\u65e0\u6cd5\u5217\u51fa\u6570\u636e\u96c6\uff1f

      \u89e3\u51b3\u65b9\u6cd5\uff1a\u68c0\u67e5\u547d\u540d\u7a7a\u95f4\u548c\u5de5\u4f5c\u533a\u662f\u5426\u6b63\u786e\u8bbe\u7f6e\uff0c\u786e\u4fdd\u5f53\u524d\u7528\u6237\u6709\u6743\u9650\u8bbf\u95ee\u8fd9\u4e9b\u8d44\u6e90\u3002

    "},{"location":"admin/baize/developer/notebooks/baizectl.html#_22","title":"\u7ed3\u8bed","text":"

    \u901a\u8fc7\u4ee5\u4e0a\u6307\u5357\uff0c\u7528\u6237\u53ef\u4ee5\u5feb\u901f\u4e0a\u624b baizectl \u547d\u4ee4\uff0c\u5e76\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u9ad8\u6548\u5730\u7ba1\u7406 AI \u5e73\u53f0\u8d44\u6e90\u3002 \u5982\u679c\u6709\u4efb\u4f55\u7591\u95ee\u6216\u95ee\u9898\uff0c\u5efa\u8bae\u53c2\u8003 baizectl [command] --help \u83b7\u53d6\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\u3002

    "},{"location":"admin/baize/developer/notebooks/baizess.html","title":"baizess \u6362\u6e90\u5de5\u5177\u4f7f\u7528\u6307\u5357","text":"

    baizess \u662f AI Lab \u6a21\u5757\u4e2d Notebook \u5185\u7f6e\u7684\u5f00\u7bb1\u5373\u7528\u7684\u6362\u6e90\u5c0f\u5de5\u5177\u3002\u5b83\u63d0\u4f9b\u4e86\u7b80\u6d01\u7684\u547d\u4ee4\u884c\u754c\u9762\uff0c\u65b9\u4fbf\u7528\u6237\u7ba1\u7406\u5404\u79cd\u7f16\u7a0b\u73af\u5883\u7684\u5305\u7ba1\u7406\u5668\u6e90\u3002 \u901a\u8fc7 baizess\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u5207\u6362\u5e38\u7528\u5305\u7ba1\u7406\u5668\u7684\u6e90\uff0c\u786e\u4fdd\u987a\u5229\u8bbf\u95ee\u6700\u65b0\u7684\u5e93\u548c\u4f9d\u8d56\u9879\u3002\u8be5\u5de5\u5177\u901a\u8fc7\u7b80\u5316\u5305\u6e90\u7ba1\u7406\u6d41\u7a0b\uff0c\u63d0\u5347\u4e86\u5f00\u53d1\u8005\u548c\u6570\u636e\u79d1\u5b66\u5bb6\u7684\u5de5\u4f5c\u6548\u7387\u3002

    "},{"location":"admin/baize/developer/notebooks/baizess.html#_1","title":"\u5b89\u88c5","text":"

    \u76ee\u524d\uff0cbaizess \u5df2\u7ecf\u96c6\u6210\u5728 AI Lab \u4e2d\u3002 \u4f60\u5728\u521b\u5efa Notebook \u540e\uff0c\u5373\u53ef\u5728 Notebook \u4e2d\u76f4\u63a5\u4f7f\u7528 baizess\u3002

    "},{"location":"admin/baize/developer/notebooks/baizess.html#_2","title":"\u5feb\u901f\u4e0a\u624b","text":""},{"location":"admin/baize/developer/notebooks/baizess.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

    baizess \u547d\u4ee4\u7684\u57fa\u672c\u4fe1\u606f\u5982\u4e0b\uff1a

    jovyan@19d0197587cc:/$ baizess\nsource switch tool\n\nUsage:\n  baizess [command] [package-manager]\n\nAvailable Commands:\n  set     Switch the source of specified package manager to current fastest source\n  reset   Reset the source of specified package manager to default source\n\nAvailable Package-managers:\n  apt     (require root privilege)\n  conda\n  pip\n
    "},{"location":"admin/baize/developer/notebooks/baizess.html#_4","title":"\u547d\u4ee4\u683c\u5f0f","text":"

    baizess \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

    baizess [command] [package-manager]\n

    \u5176\u4e2d\uff0c[command] \u662f\u5177\u4f53\u7684\u64cd\u4f5c\u547d\u4ee4\uff0c[package-manager] \u7528\u4e8e\u6307\u5b9a\u64cd\u4f5c\u5bf9\u5e94\u7684\u5305\u7ba1\u7406\u5668\u3002

    "},{"location":"admin/baize/developer/notebooks/baizess.html#command","title":"command","text":"
    • set\uff1a\u5907\u4efd\u6e90\uff0c\u6d4b\u901f\uff0c\u5c06\u6240\u6307\u5b9a\u7684\u5305\u7ba1\u7406\u5668\u7684\u6e90\u5207\u6362\u4e3a\u6d4b\u901f\u7ed3\u679c\u6700\u5feb\u7684\u56fd\u5185\u6e90\u3002
    • reset\uff1a\u5c06\u6240\u6307\u5b9a\u7684\u5305\u7ba1\u7406\u5668\u91cd\u7f6e\u4e3a\u9ed8\u8ba4\u6e90\u3002
    "},{"location":"admin/baize/developer/notebooks/baizess.html#package-manager","title":"\u76ee\u524d\u652f\u6301\u7684 package-manager","text":"
    • apt \uff08\u6e90\u7684\u5207\u6362\u4e0e\u91cd\u7f6e\u9700\u8981root\u6743\u9650\uff09
    • conda \uff08\u539f\u5148\u7684\u6e90\u5c06\u88ab\u5907\u4efd\u5728/etc/apt/backup/\uff09
    • pip \uff08\u66f4\u65b0\u540e\u6e90\u4fe1\u606f\u5c06\u88ab\u5199\u5165~/.condarc\uff09
    "},{"location":"admin/baize/developer/notebooks/create.html","title":"\u521b\u5efa Notebook","text":"

    Notebook \u63d0\u4f9b\u4e86\u4e00\u4e2a\u5728\u7ebf\u7684 Web \u4ea4\u4e92\u5f0f\u7f16\u7a0b\u73af\u5883\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u5feb\u901f\u8fdb\u884c\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u5b9e\u9a8c\u3002

    \u8fdb\u5165\u5f00\u53d1\u8005\u63a7\u5236\u53f0\u540e\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u5728\u4e0d\u540c\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u4e2d\u521b\u5efa\u548c\u7ba1\u7406 Notebook\u3002

    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb Notebooks \uff0c\u8fdb\u5165 Notebook \u5217\u8868\u3002\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

    2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u914d\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001Notebook \u955c\u50cf\u5730\u5740\u3001\u961f\u5217\u3001\u8d44\u6e90\u3001\u7528\u6237\u76ee\u5f55\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    3. \u521a\u521b\u5efa\u7684 Notebook \u72b6\u6001\u4e3a \u7b49\u5f85\u4e2d \uff0c\u7247\u523b\u540e\u5c06\u53d8\u4e3a \u8fd0\u884c\u4e2d \uff0c\u9ed8\u8ba4\u6700\u65b0\u7684\u4f4d\u4e8e\u5217\u8868\u9876\u90e8\u3002

    4. \u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u66f4\u591a\u64cd\u4f5c\uff1a\u66f4\u65b0\u53c2\u6570\u3001\u542f\u52a8/\u6682\u505c\u3001\u514b\u9686 Notebook \u3001\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u548c\u5220\u9664\u3002

    Note

    \u5982\u679c\u9009\u62e9\u7eaf CPU \u8d44\u6e90\u540e\uff0c\u53d1\u73b0\u6302\u8f7d\u4e86\u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5361\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u6dfb\u52a0 container env \u6765\u89e3\u51b3\u6b64\u95ee\u9898\uff1a

    NVIDIA_VISIBLE_DEVICES=\"\"\n
    "},{"location":"admin/baize/developer/notebooks/delete.html","title":"\u5220\u9664 Notebook","text":"

    \u5982\u679c\u53d1\u73b0 Notebook \u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece Notebook \u5217\u8868\u4e2d\u5220\u9664\u3002

    1. \u5728 Notebook \u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

    2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u4efb\u52a1\uff0c\u8f93\u5165 Notebook \u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

    3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5 Notebook \u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

    Caution

    Notebook \u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-auto-close.html","title":"Notebook \u95f2\u7f6e\u8d85\u65f6\u81ea\u52a8\u5173\u673a","text":"

    \u5728\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4f18\u5316\u8d44\u6e90\u5229\u7528\u7387\uff0cAI Lab \u542f\u7528\u4e86 Notebook \u95f2\u7f6e\u8d85\u65f6\u81ea\u52a8\u5173\u673a\u529f\u80fd\uff1b \u5f53 Notebook \u957f\u65f6\u95f4\u65e0\u64cd\u4f5c\u65f6\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5173\u673a Notebook\uff0c\u91ca\u653e\u8d44\u6e90\u3002

    • \u4f18\u70b9\uff1a\u901a\u8fc7\u8fd9\u4e2a\u65b9\u5f0f\uff0c\u53ef\u4ee5\u6781\u5927\u51cf\u5c11\u56e0\u4e3a\u957f\u65f6\u95f4\u65e0\u64cd\u4f5c\u5bfc\u81f4\u7684\u8d44\u6e90\u6d6a\u8d39\uff0c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002
    • \u7f3a\u70b9\uff1a\u5982\u679c Notebook \u672a\u914d\u7f6e\u76f8\u5173\u5907\u4efd\u7b56\u7565\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u4e22\u5931\u3002

    Note

    \u5f53\u524d\uff0c\u6b64\u529f\u80fd\u4e3a\u96c6\u7fa4\u7ea7\u522b\u914d\u7f6e\uff0c\u9ed8\u8ba4\u5f00\u542f\uff0c\u9ed8\u8ba4\u8d85\u65f6\u65f6\u957f\u4e3a 30 \u5206\u949f\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-auto-close.html#_1","title":"\u914d\u7f6e\u53d8\u66f4","text":"

    \u76ee\u524d\u914d\u7f6e\u4fee\u6539\u65b9\u5f0f\u4e3a\u624b\u52a8\u4fee\u6539\uff0c\u540e\u7eed\u4f1a\u63d0\u4f9b\u66f4\u52a0\u4fbf\u6377\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

    \u4fee\u6539\u5de5\u4f5c\u96c6\u7fa4\u4e2d baize-agent \u7684\u90e8\u7f72\u53c2\u6570\uff0c\u6b63\u786e\u7684\u4fee\u6539\u65b9\u5f0f\u4e3a\u66f4\u65b0 Helm \u5e94\u7528\uff0c

    "},{"location":"admin/baize/developer/notebooks/notebook-auto-close.html#_2","title":"\u754c\u9762\u5316\u4fee\u6539","text":"
    1. \u5728\u96c6\u7fa4\u7ba1\u7406\u754c\u9762\u627e\u5230\u5bf9\u5e94\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u8fdb\u5165\u96c6\u7fa4\u8be6\u60c5\uff0c\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u5728 baize-system \u547d\u540d\u7a7a\u95f4\u4e0b\u627e\u5230 baize-agent\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u66f4\u65b0 \u6309\u94ae\uff1a

    2. \u5982\u56fe\u4fee\u6539 YAML \u4ee3\u7801\uff1a

      ...\nnotebook-controller:\n  culling_enabled: false\n  cull_idle_time: 120\n  idleness_check_period: 1\n...\n
    3. \u786e\u8ba4\u53c2\u6570\u4fee\u6539\u6210\u529f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u548c \u786e\u5b9a \u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-auto-close.html#_3","title":"\u547d\u4ee4\u884c\u4fee\u6539","text":"

    \u8fdb\u5165\u63a7\u5236\u53f0\u4ee5\u540e\uff0c\u4f7f\u7528 helm upgrade \u547d\u4ee4\u66f4\u6539\u914d\u7f6e\uff1a

    # \u8bbe\u5b9a\u7248\u672c\u53f7\nexport VERSION=0.8.0\n\n# \u66f4\u65b0 Helm Chart \nhelm upgrade --install baize-agent baize/baize-agent \\\n    --namespace baize-system \\\n    --create-namespace \\\n    --set global.imageRegistry=release.daocloud.io \\\n    --set notebook-controller.culling_enabled=true \\    # \u5f00\u542f\u81ea\u52a8\u5173\u673a\uff0c\u9ed8\u8ba4\u4e3a true\n    --set notebook-controller.cull_idle_time=120 \\      # \u8bbe\u7f6e\u95f2\u7f6e\u8d85\u65f6\u65f6\u95f4\u4e3a 120 \u5206\u949f\uff0c\u9ed8\u8ba4\u4e3a 30 \u5206\u949f\n    --set notebook-controller.idleness_check_period=1 \\ # \u8bbe\u7f6e\u68c0\u67e5\u95f4\u9694\u4e3a 1 \u5206\u949f\uff0c\u9ed8\u8ba4\u4e3a 1 \u5206\u949f\n    --version=$VERSION\n

    Note

    \u4e3a\u4e86\u907f\u514d\u81ea\u52a8\u5173\u673a\u540e\u4e22\u5931\u6570\u636e\uff0c\u60a8\u53ef\u4ee5\u5c06 AI Lab \u5347\u7ea7\u5230 v0.8.0 \u53ca\u66f4\u9ad8\u7248\u672c\uff0c\u5728 Notebook \u914d\u7f6e\u4e2d\u542f\u7528\u5173\u673a\u81ea\u52a8\u4fdd\u5b58\u529f\u80fd\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html","title":"\u5728 Notebook \u4e2d\u4f7f\u7528\u73af\u5883","text":"

    \u73af\u5883\u7ba1\u7406\u662f AI Lab \u7684\u91cd\u8981\u529f\u80fd\u4e4b\u4e00\uff0c\u901a\u8fc7\u5728 Notebook \u4e2d\u5173\u8054\u5bf9\u5e94\u7684\u73af\u5883\uff0c\u53ef\u4ee5\u5feb\u901f\u5207\u6362\u4e0d\u540c\u7684\u73af\u5883\uff0c\u65b9\u4fbf\u7528\u6237\u8fdb\u884c\u5f00\u53d1\u548c\u8c03\u8bd5\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#notebook_1","title":"\u521b\u5efa Notebook \u65f6\u9009\u62e9\u73af\u5883","text":"

    \u5728\u521b\u5efa Notebook \u65f6\uff0c\u53ef\u4ee5\u9009\u62e9\u4e00\u4e2a\u6216\u591a\u4e2a\u7684\u73af\u5883 Envs \u3002\u5982\u679c\u6ca1\u6709\u5408\u9002\u7684\u73af\u5883\uff0c\u53ef\u4ee5\u53bb \u73af\u5883\u7ba1\u7406 \u4e2d\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u73af\u5883\u3002

    \u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u7ba1\u7406\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#notebook_2","title":"\u5728 Notebook \u4f7f\u7528\u73af\u5883","text":"

    Note

    \u5728 Notebook \u4e2d\uff0c\u6211\u4eec\u540c\u65f6\u63d0\u4f9b\u4e86 conda \u548c mamba \u4e24\u79cd\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u73af\u5883\u7ba1\u7406\u5de5\u5177\u3002

    AI Lab \u4e2d\uff0c\u6211\u4eec\u91c7\u7528\u4e86 conda \u73af\u5883\u7ba1\u7406\u5de5\u5177\uff0c\u7528\u6237\u53ef\u4ee5\u5728 Notebook \u4e2d\u901a\u8fc7 !conda env list \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u73af\u5883\u5217\u8868\u3002

    (base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda env list\n# conda environments:\n#\ndkj-python312-pure       /opt/baize-runtime-env/dkj-python312-pure/conda/envs/dkj-python312-pure\npython-3.10              /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10\ntorch-smaple             /opt/baize-runtime-env/torch-smaple/conda/envs/torch-smaple\nbase                  *  /opt/conda     # \u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\nbaize-base               /opt/conda/envs/baize-base\n

    \u8fd9\u4e2a\u547d\u4ee4\u4f1a\u5217\u51fa\u6240\u6709\u7684 conda \u73af\u5883\uff0c\u5e76\u5728\u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\u524d\u9762\u52a0\u4e0a\u4e00\u4e2a\u661f\u53f7\uff08*\uff09\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#jupyterlab-kernel","title":"JupyterLab \u7684 Kernel \u73af\u5883\u7ba1\u7406","text":"

    \u5728 Jupyterlab \u4e2d\uff0c\u6211\u4eec\u81ea\u52a8\u5c06 Notebook \u5173\u8054\u7684\u73af\u5883\u7ed1\u5b9a\u5230 Kernel \u5217\u8868\u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 Kernel \u5feb\u901f\u5207\u6362\u73af\u5883\u3002

    \u901a\u8fc7\u4ee5\u4e0a\u529e\u6cd5\uff0c\u53ef\u4ee5\u540c\u65f6\u5728\u4e00\u4e2a Notebook \u4e2d\u4f7f\u7528\u4e0d\u540c\u7f16\u5199\u548c\u8c03\u8bd5\u7b97\u6cd5\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#terminal","title":"Terminal \u5207\u6362\u73af\u5883","text":"

    AI Lab \u7684 Notebook \u76ee\u524d\u4e5f\u5df2\u7ecf\u652f\u6301\u4e86 VSCode\u3002

    \u5982\u679c\u60a8\u66f4\u559c\u6b22\u5728 Terminal \u4e2d\u7ba1\u7406\u548c\u5207\u6362\u73af\u5883\uff0c\u53ef\u4ee5\u5b89\u88c5\u5982\u4e0b\u6b65\u9aa4\uff1a

    \u5728\u9996\u6b21\u542f\u52a8\u5e76\u4f7f\u7528 Notebook \u65f6\uff0c\u9700\u8981\u5148\u6267\u884c conda init\uff0c\u7136\u540e\u518d\u6267\u884c conda activate <env_name> \u5207\u6362\u5230\u5bf9\u5e94\u7684\u73af\u5883\u3002

    (base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda init bash# \u521d\u59cb\u5316 bash \u73af\u5883, \u4ec5\u9996\u6b21\u4f7f\u7528\u9700\u8981\u6267\u884c\nno change     /opt/conda/condabin/conda\n change     /opt/conda/bin/conda\n change     /opt/conda/bin/conda-env\n change     /opt/conda/bin/activate\n change     /opt/conda/bin/deactivate\n change     /opt/conda/etc/profile.d/conda.sh\n change     /opt/conda/etc/fish/conf.d/conda.fish\n change     /opt/conda/shell/condabin/Conda.psm1\n change     /opt/conda/shell/condabin/conda-hook.ps1\n change     /opt/conda/lib/python3.11/site-packages/xontrib/conda.xsh\n change     /opt/conda/etc/profile.d/conda.csh\n change     /home/jovyan/.bashrc\n action taken.\nAdded mamba to /home/jovyan/.bashrc\n\n==> For changes to take effect, close and re-open your current shell. <==\n\n(base) jovyan@chuanjia-jupyter-0:~/yolov8$ source ~/.bashrc  # \u91cd\u65b0\u52a0\u8f7d bash \u73af\u5883\n(base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda activate python-3.10   # \u5207\u6362\u5230 python-3.10 \u73af\u5883\n(python-3.10) jovyan@chuanjia-jupyter-0:~/yolov8$ conda env list\n\n              mamba version : 1.5.1\n# conda environments:\n#\ndkj-python312-pure       /opt/baize-runtime-env/dkj-python312-pure/conda/envs/dkj-python312-pure\npython-3.10           *  /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10    # \u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\ntorch-smaple             /opt/baize-runtime-env/torch-smaple/conda/envs/torch-smaple\nbase                     /opt/conda\nbaize-base               /opt/conda/envs/baize-base\n

    \u5982\u679c\u60a8\u66f4\u559c\u6b22\u4f7f\u7528 mamba \uff0c\u8fd9\u91cc\u9700\u8981\u4f7f\u7528 mamaba init \u548c mamba activate <env_name>\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#_1","title":"\u67e5\u770b\u73af\u5883\u4e2d\u7684\u5305","text":"

    \u901a\u8fc7\u4e0d\u540c\u73af\u5883\u7ba1\u7406\u7684\u4e00\u4e2a\u5f88\u91cd\u8981\u7684\u529f\u80fd\u662f\uff0c\u53ef\u4ee5\u5728\u4e00\u4e2a Notebook \u4e2d\u901a\u8fc7\u5feb\u901f\u5207\u6362\u73af\u5883\uff0c\u4f7f\u7528\u4e0d\u7528\u7684\u5305\u3002

    \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e0b\u65b9\u7684\u547d\u4ee4\u6765\u4f7f\u7528 conda \u67e5\u770b\u5f53\u524d\u73af\u5883\u4e2d\u7684\u6240\u6709\u5305\u3002

    (python-3.10) jovyan@chuanjia-jupyter-0:~/yolov8$ conda list\n# packages in environment at /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10:\n#\n# Name                    Version                   Build  Channel\n_libgcc_mutex             0.1                        main    defaults\n_openmp_mutex             5.1                       1_gnu    defaults\n... # \u7701\u7565\u90e8\u5206\u8f93\u51fa\nidna                      3.7             py310h06a4308_0    defaults\nipykernel                 6.28.0          py310h06a4308_0    defaults\nipython                   8.20.0          py310h06a4308_0    defaults\nipython_genutils          0.2.0              pyhd3eb1b0_1    defaults\njedi                      0.18.1          py310h06a4308_1    defaults\njinja2                    3.1.4           py310h06a4308_0    defaults\njsonschema                4.19.2          py310h06a4308_0    defaults\njsonschema-specifications 2023.7.1        py310h06a4308_0    defaults\njupyter_client            7.4.9           py310h06a4308_0    defaults\njupyter_core              5.5.0           py310h06a4308_0    defaults\njupyter_events            0.8.0           py310h06a4308_0    defaults\njupyter_server            2.10.0          py310h06a4308_0    defaults\njupyter_server_terminals  0.4.4           py310h06a4308_1    defaults\njupyterlab_pygments       0.2.2           py310h06a4308_0    defaults\n... # \u7701\u7565\u90e8\u5206\u8f93\u51fa\nxz                        5.4.6                h5eee18b_1    defaults\nyaml                      0.2.5                h7b6447c_0    defaults\nzeromq                    4.3.5                h6a678d5_0    defaults\nzlib                      1.2.13               h5eee18b_1    defaults\n
    "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#_2","title":"\u66f4\u65b0\u73af\u5883\u7684\u5305","text":"

    \u76ee\u524d\uff0c\u53ef\u4ee5\u901a\u8fc7\u5728 AI Lab \u7684\u754c\u9762\u4e2d \u73af\u5883\u7ba1\u7406 \u6765\u66f4\u65b0\u73af\u5883\u4e2d\u7684\u5305\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html","title":"Notebook SSH \u8bbf\u95ee\u6307\u5357","text":"

    AI Lab \u63d0\u4f9b\u7684 Notebook \u652f\u6301\u5728\u672c\u5730\u901a\u8fc7 SSH \u7684\u65b9\u5f0f\u8bbf\u95ee\uff1b

    \u901a\u8fc7\u7b80\u5355\u7684\u914d\u7f6e\uff0c\u5373\u53ef\u4f7f\u7528 SSH \u8bbf\u95ee Jupyter Notebook \u7684\u529f\u80fd\u3002 \u65e0\u8bba\u60a8\u662f\u4f7f\u7528 Windows\u3001Mac \u8fd8\u662f Linux \u64cd\u4f5c\u7cfb\u7edf\uff0c\u90fd\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u64cd\u4f5c\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#ssh","title":"\u914d\u7f6e SSH \u8bbf\u95ee\u51ed\u8bc1","text":""},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#ssh_1","title":"\u751f\u6210 SSH \u5bc6\u94a5\u5bf9","text":"

    \u9996\u5148\uff0c\u60a8\u9700\u8981\u5728\u60a8\u7684\u8ba1\u7b97\u673a\u4e0a\u751f\u6210 SSH \u516c\u94a5\u548c\u79c1\u94a5\u5bf9\u3002\u8fd9\u4e2a\u5bc6\u94a5\u5bf9\u5c06\u7528\u4e8e\u8ba4\u8bc1\u8fc7\u7a0b\uff0c\u786e\u4fdd\u5b89\u5168\u8bbf\u95ee\u3002

    Mac/LinuxWindows
    1. \u6253\u5f00\u7ec8\u7aef
    2. \u8f93\u5165\u547d\u4ee4\uff1a

      ssh-keygen -t rsa -b 4096\n
    3. \u5f53\u7cfb\u7edf\u63d0\u793a\u60a8\u201cEnter a file in which to save the key\u201d\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u6572\u51fb Enter \u952e\u4f7f\u7528\u9ed8\u8ba4\u8def\u5f84\uff0c\u6216\u8005\u6307\u5b9a\u4e00\u4e2a\u65b0\u7684\u8def\u5f84\u3002

    4. \u63a5\u4e0b\u6765\uff0c\u7cfb\u7edf\u4f1a\u63d0\u793a\u60a8\u8f93\u5165\u5bc6\u7801\uff08\u53ef\u9009\uff09\uff0c\u8fd9\u5c06\u589e\u52a0\u4e00\u4e2a\u989d\u5916\u7684\u5b89\u5168\u5c42\u3002\u5982\u679c\u9009\u62e9\u8f93\u5165\u5bc6\u7801\uff0c\u8bf7\u8bb0\u4f4f\u8fd9\u4e2a\u5bc6\u7801\uff0c\u56e0\u4e3a\u6bcf\u6b21\u4f7f\u7528\u5bc6\u94a5\u65f6\u90fd\u4f1a\u9700\u8981\u5b83\u3002
    1. \u5b89\u88c5 Git Bash\uff08\u5982\u679c\u60a8\u5c1a\u672a\u5b89\u88c5\uff09
    2. \u6253\u5f00 Git Bash
    3. \u8f93\u5165\u547d\u4ee4\uff1a

      ssh-keygen -t rsa -b 4096\n
    4. \u540c Mac/Linux \u6b65\u9aa4

    "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#ssh_2","title":"\u6dfb\u52a0 SSH \u516c\u94a5\u5230\u4e2a\u4eba\u4e2d\u5fc3","text":"

    Note

    \u5177\u4f53\u64cd\u4f5c\u53ef\u4ee5\u53c2\u8003\uff1a\u914d\u7f6e SSH \u516c\u94a5

    1. \u6253\u5f00\u751f\u6210\u7684\u516c\u94a5\u6587\u4ef6\uff0c\u901a\u5e38\u4f4d\u4e8e ~/.ssh/id_rsa.pub\uff08\u5982\u679c\u60a8\u6ca1\u6709\u66f4\u6539\u9ed8\u8ba4\u8def\u5f84\uff09
    2. \u590d\u5236\u516c\u94a5\u5185\u5bb9
    3. \u767b\u5f55\u5230\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0, \u7136\u540e\u53f3\u4e0a\u89d2\u5e10\u53f7\u70b9\u5f00\uff0c\u9009\u62e9\u4e2a\u4eba\u4e2d\u5fc3
    4. \u5728 SSH \u516c\u94a5\u914d\u7f6e\u9875\uff0c\u6dfb\u52a0\u4f60\u672c\u5730\u751f\u6210\u7684\u516c\u94a5\u6587\u4ef6
    5. \u4fdd\u5b58\u66f4\u6539
    "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#notebook-ssh_1","title":"\u5728 Notebook \u4e2d\u5f00\u542f SSH \u8bbf\u95ee","text":"
    1. \u767b\u5f55\u5230 Jupyter Notebook \u7684 Web \u754c\u9762\u3002
    2. \u5bfb\u627e\u60a8\u60f3\u8981\u542f\u7528 SSH \u8bbf\u95ee\u7684 Notebook\u3002
    3. \u5728 Notebook \u7684\u8bbe\u7f6e\u6216\u8be6\u60c5\u9875\u9762\uff0c\u627e\u5230 \u5f00\u542f SSH \u8bbf\u95ee \u7684\u9009\u9879\u5e76\u542f\u7528\u5b83\u3002
    4. \u8bb0\u5f55\u6216\u590d\u5236\u663e\u793a\u7684 SSH \u8bbf\u95ee\u547d\u4ee4\u3002\u8fd9\u4e2a\u547d\u4ee4\u5c06\u7528\u4e8e\u540e\u7eed\u6b65\u9aa4\u4e2d\u7684 SSH \u8fde\u63a5\u3002
    "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#ssh_3","title":"\u4e0d\u540c\u73af\u5883\u4e0b\u7684 SSH \u8bbf\u95ee\u65b9\u5f0f","text":""},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#_1","title":"\u8bbf\u95ee\u793a\u4f8b","text":"

    \u5047\u8bbe\u60a8\u83b7\u5f97\u7684 SSH \u8bbf\u95ee\u547d\u4ee4\u5982\u4e0b\uff1a

        # ssh {USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{UI_LOGIN_IP} -p {UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n

    \u8bf7\u5c06 USERNAME \u66ff\u6362\u4e3a\u60a8\u7684\u7528\u6237\u540d\uff0cUI_LOGIN_IP \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u4e3b\u673a\u540d\uff0cUI_LOGIN_IP \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7aef\u53e3\u53f7\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#windows","title":"Windows","text":"

    \u63a8\u8350\u4f7f\u7528 PuTTY \u6216 Git Bash \u8fdb\u884c SSH \u8fde\u63a5\u3002

    PuTTYGit Bash
    1. \u6253\u5f00 PuTTY
    2. \u5728 Host Name (or IP address) \u680f\u8f93\u5165 mockhost\uff08\u5b9e\u9645\u7684\u4e3b\u673a\u540d\uff09
    3. \u8f93\u5165\u7aef\u53e3\u53f7 2222\uff08\u5b9e\u9645\u7684\u7aef\u53e3\u53f7\uff09
    4. \u70b9\u51fb Open \u5f00\u59cb\u8fde\u63a5
    5. \u7b2c\u4e00\u6b21\u8fde\u63a5\u65f6\uff0c\u53ef\u80fd\u4f1a\u63d0\u793a\u9a8c\u8bc1\u670d\u52a1\u5668\u7684\u8eab\u4efd\uff0c\u70b9\u51fb Yes
    1. \u6253\u5f00 Git Bash
    2. \u8f93\u5165\u8bbf\u95ee\u547d\u4ee4\uff1a

          # ssh {USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{UI_LOGIN_IP} -p {UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
    3. \u6309 Enter \u952e

    "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#maclinux","title":"Mac/Linux","text":"
    1. \u6253\u5f00\u7ec8\u7aef\u3002
    2. \u8f93\u5165\u8bbf\u95ee\u547d\u4ee4\uff1a

          # ssh {USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{UI_LOGIN_IP} -p {UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
    3. \u5982\u679c\u7cfb\u7edf\u63d0\u793a\u60a8\u63a5\u53d7\u4e3b\u673a\u7684\u8eab\u4efd\uff0c\u8bf7\u8f93\u5165yes\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#ide","title":"\u914d\u5408 IDE \u5b9e\u73b0\u8fdc\u7a0b\u5f00\u53d1","text":"

    \u9664\u4e86\u4f7f\u7528\u547d\u4ee4\u884c\u5de5\u5177\u8fdb\u884c SSH \u8fde\u63a5\uff0c\u60a8\u8fd8\u53ef\u4ee5\u5229\u7528\u73b0\u4ee3 IDE \u5982 Visual Studio Code (VSCode) \u548c PyCharm \u7684 SSH \u8fdc\u7a0b\u8fde\u63a5\u529f\u80fd\uff0c \u76f4\u63a5\u5728\u672c\u5730 IDE \u4e2d\u5f00\u53d1\u5e76\u5229\u7528\u8fdc\u7a0b\u670d\u52a1\u5668\u7684\u8d44\u6e90\u3002

    \u5728 VSCode \u4e2d\u4f7f\u7528 SSH \u8fdc\u7a0b\u8fde\u63a5\u5728 PyCharm \u4e2d\u4f7f\u7528 SSH \u8fdc\u7a0b\u8fde\u63a5

    VSCode \u901a\u8fc7 Remote - SSH \u6269\u5c55\u652f\u6301 SSH \u8fdc\u7a0b\u8fde\u63a5\uff0c\u5141\u8bb8\u60a8\u76f4\u63a5\u5728\u672c\u5730 VSCode \u73af\u5883\u4e2d\u7f16\u8f91\u8fdc\u7a0b\u670d\u52a1\u5668\u4e0a\u7684\u6587\u4ef6\uff0c\u5e76\u8fd0\u884c\u547d\u4ee4\u3002

    \u64cd\u4f5c\u6b65\u9aa4\u4e3a\uff1a

    1. \u786e\u4fdd\u60a8\u5df2\u5b89\u88c5 VSCode \u548c Remote - SSH \u6269\u5c55\u3002
    2. \u6253\u5f00 VSCode\uff0c\u70b9\u51fb\u5de6\u4fa7\u6d3b\u52a8\u680f\u5e95\u90e8\u7684\u8fdc\u7a0b\u8d44\u6e90\u7ba1\u7406\u5668\u56fe\u6807\u3002
    3. \u9009\u62e9 Remote-SSH: Connect to Host... \u9009\u9879\uff0c\u7136\u540e\u70b9\u51fb + Add New SSH Host...
    4. \u8f93\u5165 SSH \u8fde\u63a5\u547d\u4ee4\uff0c\u4f8b\u5982\uff1a

          # ssh {USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{UI_LOGIN_IP} -p {UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
    5. \u6572\u51fb Enter \u952e\u3002\u8bf7\u5c06 username\u3001mockhost \u548c 2222 \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7528\u6237\u540d\u3001\u4e3b\u673a\u540d\u548c\u7aef\u53e3\u53f7\u3002

    6. \u9009\u62e9\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\u6765\u4fdd\u5b58\u6b64 SSH \u4e3b\u673a\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u5373\u53ef\u3002

    \u5b8c\u6210\u540e\uff0c\u60a8\u7684 SSH \u4e3b\u673a\u5c06\u6dfb\u52a0\u5230 SSH \u76ee\u6807\u5217\u8868\u4e2d\u3002\u70b9\u51fb\u60a8\u7684\u4e3b\u673a\u8fdb\u884c\u8fde\u63a5\u3002 \u5982\u679c\u662f\u7b2c\u4e00\u6b21\u8fde\u63a5\uff0c\u53ef\u80fd\u4f1a\u63d0\u793a\u60a8\u9a8c\u8bc1\u4e3b\u673a\u7684\u6307\u7eb9\u3002\u63a5\u53d7\u540e\uff0c\u60a8\u5c06\u88ab\u8981\u6c42\u8f93\u5165\u5bc6\u7801\uff08\u5982\u679c SSH \u5bc6\u94a5\u8bbe\u7f6e\u4e86\u5bc6\u7801\uff09\u3002 \u8fde\u63a5\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u50cf\u5728\u672c\u5730\u5f00\u53d1\u4e00\u6837\u5728 VSCode \u4e2d\u7f16\u8f91\u8fdc\u7a0b\u6587\u4ef6\uff0c\u5e76\u5229\u7528\u8fdc\u7a0b\u8d44\u6e90\u3002

    PyCharm Professional \u7248\u652f\u6301\u901a\u8fc7 SSH \u8fde\u63a5\u5230\u8fdc\u7a0b\u670d\u52a1\u5668\uff0c\u5e76\u5728\u672c\u5730 PyCharm \u4e2d\u76f4\u63a5\u5f00\u53d1\u3002

    \u64cd\u4f5c\u6b65\u9aa4\u4e3a\uff1a

    1. \u6253\u5f00 PyCharm\uff0c\u5e76\u6253\u5f00\u6216\u521b\u5efa\u4e00\u4e2a\u9879\u76ee
    2. \u9009\u62e9 File -> Settings \uff08\u5728 Mac \u4e0a\u662f PyCharm -> Preferences
    3. \u5728\u8bbe\u7f6e\u7a97\u53e3\u4e2d\uff0c\u5bfc\u822a\u5230 Project: YourProjectName -> Python Interpreter
    4. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u9f7f\u8f6e\u56fe\u6807\uff0c\u9009\u62e9 Add...

      • \u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9 SSH Interpreter
      • \u8f93\u5165\u8fdc\u7a0b\u4e3b\u673a\u7684\u4fe1\u606f\uff1a\u4e3b\u673a\u540d\uff08mockhost\uff09\u3001\u7aef\u53e3\u53f7\uff082222\uff09\u3001\u7528\u6237\u540d\uff08username\uff09\u3002 \u8bf7\u4f7f\u7528\u60a8\u7684\u5b9e\u9645\u4fe1\u606f\u66ff\u6362\u8fd9\u4e9b\u5360\u4f4d\u7b26\u3002
      • \u70b9\u51fb Next \uff0cPyCharm \u5c06\u5c1d\u8bd5\u8fde\u63a5\u5230\u8fdc\u7a0b\u670d\u52a1\u5668\u3002\u5982\u679c\u8fde\u63a5\u6210\u529f\uff0c\u60a8\u5c06\u88ab\u8981\u6c42\u8f93\u5165\u5bc6\u7801\u6216\u9009\u62e9\u79c1\u94a5\u6587\u4ef6\u3002
    5. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb Finish \u3002\u73b0\u5728\uff0c\u60a8\u7684 PyCharm \u5c06\u4f7f\u7528\u8fdc\u7a0b\u670d\u52a1\u5668\u4e0a\u7684 Python \u89e3\u91ca\u5668\u3002

    "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#_2","title":"\u5b89\u5168\u9650\u5236","text":"

    \u5728\u540c\u4e00\u4e2a Workspace \u5185\uff0c\u4efb\u610f\u7528\u6237\u90fd\u53ef\u4ee5\u901a\u8fc7\u81ea\u5df1\u7684 SSH \u8bbf\u95ee\u51ed\u8bc1\u6765\u767b\u5f55\u5230\u542f\u7528\u4e86 SSH \u7684 Notebook\u3002 \u8fd9\u610f\u5473\u7740\uff0c\u53ea\u8981\u7528\u6237\u914d\u7f6e\u4e86\u81ea\u5df1\u7684 SSH \u516c\u94a5\u5230\u4e2a\u4eba\u4e2d\u5fc3\uff0c\u5e76\u4e14 Notebook \u542f\u7528\u4e86 SSH \u8bbf\u95ee\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528 SSH \u8fdb\u884c\u5b89\u5168\u8fde\u63a5\u3002

    \u8bf7\u6ce8\u610f\uff0c\u4e0d\u540c\u7528\u6237\u7684\u8bbf\u95ee\u6743\u9650\u53ef\u80fd\u4f1a\u6839\u636e Workspace \u7684\u914d\u7f6e\u800c\u6709\u6240\u4e0d\u540c\u3002\u786e\u4fdd\u60a8\u4e86\u89e3\u5e76\u9075\u5b88\u60a8\u6240\u5728\u7ec4\u7ec7\u7684\u5b89\u5168\u548c\u8bbf\u95ee\u7b56\u7565\u3002

    \u901a\u8fc7\u9075\u5faa\u4e0a\u8ff0\u6b65\u9aa4\uff0c\u60a8\u5e94\u8be5\u80fd\u591f\u6210\u529f\u914d\u7f6e\u5e76\u4f7f\u7528 SSH \u8bbf\u95ee Jupyter Notebook\u3002\u5982\u679c\u9047\u5230\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u7cfb\u7edf\u5e2e\u52a9\u6587\u6863\u6216\u8054\u7cfb\u7cfb\u7edf\u7ba1\u7406\u5458\u3002

    "},{"location":"admin/baize/developer/notebooks/start-pause.html","title":"\u542f\u52a8\u548c\u6682\u505c Notebook","text":"

    Notebook \u521b\u5efa\u6210\u529f\u540e\uff0c\u901a\u5e38\u4f1a\u6709\u51e0\u4e2a\u72b6\u6001\uff1a

    • \u7b49\u5f85\u4e2d
    • \u8fd0\u884c\u4e2d
    • \u5df2\u505c\u6b62

    \u5982\u679c\u67d0\u4e2a Notebook \u7684\u72b6\u6001\u4e3a \u5df2\u505c\u6b62 \uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u542f\u52a8 \u3002

    \u6b64 Notebook \u5c06\u8fdb\u5165\u8fd0\u884c\u961f\u5217\u4e2d\uff0c\u72b6\u6001\u53d8\u4e3a \u7b49\u5f85\u4e2d \uff0c\u5982\u679c\u4e00\u5207\u6b63\u5e38\uff0c\u7247\u523b\u540e\u5176\u72b6\u6001\u5c06\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002

    \u5982\u679c\u4f7f\u7528\u7ed3\u675f\uff0c\u53ef\u4ee5\u4ece\u83dc\u5355\u4e2d\u9009\u62e9 \u6682\u505c \uff0c\u5c06\u5176\u72b6\u6001\u53d8\u4e3a \u5df2\u505c\u6b62 \u3002

    "},{"location":"admin/baize/developer/notebooks/view.html","title":"Notebook \u5de5\u4f5c\u8d1f\u8f7d","text":"

    \u5982\u679c\u60f3\u8981\u67e5\u770b\u67d0\u4e2a Notebook \u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a

    1. \u5728 Notebook \u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u3002

    2. \u8df3\u8f6c\u5230\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\uff08StatefulSet\uff09\u5217\u8868\uff0c\u53ef\u4ee5\u67e5\u770b\uff1a

      • \u5bb9\u5668\u7ec4 Pod \u7684\u8fd0\u884c\u72b6\u6001\u3001IP\u3001\u8d44\u6e90\u8bf7\u6c42\u548c\u4f7f\u7528\u60c5\u51b5
      • \u5bb9\u5668\u914d\u7f6e\u4fe1\u606f
      • \u8bbf\u95ee\u65b9\u5f0f\uff1aClusterIP\u3001NodePort
      • \u8c03\u5ea6\u7b56\u7565\uff1a\u8282\u70b9\u548c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027
      • \u6807\u7b7e\u4e0e\u6ce8\u89e3\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u3001Pod \u7684\u6807\u7b7e\u4e0e\u6ce8\u89e3\u952e\u503c\u5bf9
      • \u5f39\u6027\u4f38\u7f29\uff1a\u652f\u6301 HPA\u3001CronHPA\u3001VPA \u7b49\u65b9\u5f0f
      • \u4e8b\u4ef6\u5217\u8868\uff1a\u8b66\u544a\u3001\u901a\u77e5\u7b49\u6d88\u606f

    3. \u5728 StatefulSet \u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u9488\u5bf9 Pod \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

    "},{"location":"admin/baize/oam/index.html","title":"\u8fd0\u7ef4\u7ba1\u7406","text":"

    \u8fd0\u7ef4\u7ba1\u7406\u662f IT \u8fd0\u7ef4\u4eba\u5458\u65e5\u5e38\u7ba1\u7406 IT \u8d44\u6e90\uff0c\u5904\u7406\u5de5\u4f5c\u7684\u7a7a\u95f4\u3002

    \u5728\u8fd9\u91cc\u53ef\u4ee5\u76f4\u89c2\u5730\u4e86\u89e3\u5f53\u524d\u96c6\u7fa4\u3001\u8282\u70b9\u3001CPU\u3001GPU\u3001vGPU \u7b49\u8d44\u6e90\u7684\u4f7f\u7528\u72b6\u51b5\u3002

    "},{"location":"admin/baize/oam/index.html#_2","title":"\u5e38\u89c1\u672f\u8bed","text":"
    • GPU \u5206\u914d\u7387\uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u5185\u6240\u6709\u672a\u5b8c\u6210\u7684\u4efb\u52a1\u7684 GPU \u5206\u914d\u60c5\u51b5\uff0c\u7edf\u8ba1\u8bf7\u6c42\u7684 GPU\uff08Request\uff09\u4e0e\u603b\u8d44\u6e90\u91cf\uff08Total\uff09\u4e4b\u95f4\u7684\u6bd4\u4f8b\u3002
    • GPU \u5229\u7528\u7387\uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4e2d\u6240\u6709\u8fd0\u884c\u4e2d\u7684\u4efb\u52a1\u7684\u5b9e\u9645\u8d44\u6e90\u5229\u7528\u60c5\u51b5\uff0c\u7edf\u8ba1\u5b9e\u9645\u4f7f\u7528\u7684 GPU\uff08Usage\uff09\u4e0e\u603b\u8d44\u6e90\u91cf\uff08Total\uff09\u4e4b\u95f4\u7684\u6bd4\u4f8b\u3002
    "},{"location":"admin/baize/oam/resource.html","title":"GPU \u5217\u8868","text":"

    \u81ea\u52a8\u5316\u6c47\u603b\u6574\u4e2a\u5e73\u53f0\u4e2d\u7684 GPU \u8d44\u6e90\u4fe1\u606f\uff0c\u63d0\u4f9b\u8be6\u5c3d\u7684 GPU \u8bbe\u5907\u4fe1\u606f\u5c55\u793a\uff0c\u53ef\u67e5\u770b\u5404\u79cd GPU \u5361\u7684\u8d1f\u8f7d\u7edf\u8ba1\u548c\u4efb\u52a1\u8fd0\u884c\u4fe1\u606f\u3002

    \u8fdb\u5165 \u8fd0\u7ef4\u7ba1\u7406 \u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u8d44\u6e90\u7ba1\u7406 -> GPU \u7ba1\u7406 \uff0c\u53ef\u4ee5\u67e5\u770b GPU \u5361\u548c\u4efb\u52a1\u4fe1\u606f\u3002

    "},{"location":"admin/baize/oam/queue/create.html","title":"\u521b\u5efa\u961f\u5217","text":"

    \u5728\u8fd0\u7ef4\u7ba1\u7406\u6a21\u5f0f\u4e2d\uff0c\u961f\u5217\u53ef\u7528\u4e8e\u8c03\u5ea6\u548c\u4f18\u5316\u6279\u5904\u7406\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5b83\u53ef\u4ee5\u6709\u6548\u5730\u7ba1\u7406\u5728\u96c6\u7fa4\u4e0a\u8fd0\u884c\u7684\u591a\u4e2a\u4efb\u52a1\uff0c\u901a\u8fc7\u961f\u5217\u7cfb\u7edf\u6765\u4f18\u5316\u8d44\u6e90\u5229\u7528\u7387\u3002

    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u961f\u5217\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

    2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u8bbe\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u6392\u961f\u7b56\u7565\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    3. \u5c4f\u5e55\u63d0\u793a\u521b\u5efa\uff0c\u8fd4\u56de\u961f\u5217\u7ba1\u7406\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u7b49\u66f4\u591a\u64cd\u4f5c\u3002

    "},{"location":"admin/baize/oam/queue/delete.html","title":"\u5220\u9664\u961f\u5217","text":"

    \u5728\u8fd0\u7ef4\u7ba1\u7406\u6a21\u5f0f\u4e2d\uff0c\u5982\u679c\u53d1\u73b0\u961f\u5217\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u961f\u5217\u5217\u8868\u4e2d\u5220\u9664\u3002

    1. \u5728\u961f\u5217\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

    2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u961f\u5217\uff0c\u8f93\u5165\u961f\u5217\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

    3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u961f\u5217\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

    Caution

    \u961f\u5217\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"admin/ghippo/password.html","title":"\u5bc6\u7801\u91cd\u7f6e","text":"

    \u5982\u679c\u60a8\u5fd8\u8bb0\u5bc6\u7801\uff0c\u53ef\u4ee5\u6309\u672c\u9875\u9762\u8bf4\u660e\u91cd\u7f6e\u5bc6\u7801\u3002

    "},{"location":"admin/ghippo/password.html#_2","title":"\u91cd\u7f6e\u5bc6\u7801\u6b65\u9aa4","text":"

    \u7ba1\u7406\u5458\u6700\u521d\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u65f6\uff0c\u4f1a\u4e3a\u5176\u8bbe\u7f6e\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002 \u8be5\u7528\u6237\u767b\u5f55\u540e\uff0c\u5728 \u4e2a\u4eba\u4e2d\u5fc3 \u586b\u5199\u90ae\u7bb1\u5e76\u4fee\u6539\u5bc6\u7801\u3002 \u82e5\u8be5\u7528\u6237\u672a\u8bbe\u7f6e\u90ae\u7bb1\uff0c\u5219\u53ea\u80fd\u8054\u7cfb\u7ba1\u7406\u5458\u8fdb\u884c\u5bc6\u7801\u91cd\u7f6e\u3002

    1. \u5982\u679c\u7528\u6237\u5fd8\u8bb0\u4e86\u5bc6\u7801\uff0c\u53ef\u4ee5\u5728\u767b\u5f55\u754c\u9762\u70b9\u51fb \u5fd8\u8bb0\u5bc6\u7801 \u3002

    2. \u8f93\u5165\u767b\u5f55\u90ae\u7bb1\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002

    3. \u5728\u90ae\u7bb1\u4e2d\u627e\u5230\u5bc6\u7801\u91cd\u7f6e\u90ae\u4ef6\uff0c\u70b9\u51fb\u4e0b\u65b9\u94fe\u63a5\u8fdb\u884c\u5bc6\u7801\u91cd\u7f6e\uff0c\u94fe\u63a5\u65f6\u6548 5 \u5206\u949f\u3002

    4. \u5728\u624b\u673a\u7b49\u7ec8\u7aef\u8bbe\u5907\u5b89\u88c5\u652f\u6301 2FA \u52a8\u6001\u53e3\u4ee4\u751f\u6210\u7684\u5e94\u7528\uff08\u5982 Google Authenticator\uff09\uff0c\u6309\u7167\u9875\u9762\u63d0\u793a\u914d\u7f6e\u52a8\u6001\u53e3\u4ee4\u4ee5\u6fc0\u6d3b\u8d26\u6237\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002

    5. \u8bbe\u7f6e\u65b0\u5bc6\u7801\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002\u8bbe\u7f6e\u65b0\u5bc6\u7801\u7684\u8981\u6c42\u4e0e\u521b\u5efa\u7528\u6237\u65f6\u7684\u5bc6\u7801\u89c4\u5219\u4e00\u81f4\u3002

    6. \u4fee\u6539\u5bc6\u7801\u6210\u529f\uff0c\u76f4\u63a5\u8df3\u8f6c\u9996\u9875\u3002

    "},{"location":"admin/ghippo/password.html#_3","title":"\u91cd\u7f6e\u5bc6\u7801\u6d41\u7a0b","text":"

    \u6574\u4e2a\u5bc6\u7801\u91cd\u7f6e\u7684\u6d41\u7a0b\u793a\u610f\u56fe\u5982\u4e0b\u3002

    graph TB\n\npass[\u5fd8\u8bb0\u5bc6\u7801] --> usern[\u8f93\u5165\u7528\u6237\u540d]\n--> button[\u70b9\u51fb\u53d1\u9001\u9a8c\u8bc1\u90ae\u4ef6\u7684\u6309\u94ae] --> judge1[\u5224\u65ad\u7528\u6237\u540d\u662f\u5426\u6b63\u786e]\n\n    judge1 -.\u6b63\u786e.-> judge2[\u5224\u65ad\u662f\u5426\u7ed1\u5b9a\u90ae\u7bb1]\n    judge1 -.\u9519\u8bef.-> tip1[\u63d0\u793a\u7528\u6237\u540d\u4e0d\u6b63\u786e]\n\n        judge2 -.\u5df2\u7ed1\u5b9a\u90ae\u7bb1.-> send[\u53d1\u9001\u91cd\u7f6e\u90ae\u4ef6]\n        judge2 -.\u672a\u7ed1\u5b9a\u90ae\u7bb1.-> tip2[\u63d0\u793a\u672a\u7ed1\u5b9a\u90ae\u7bb1<br>\u8054\u7cfb\u7ba1\u7406\u5458\u91cd\u7f6e\u5bc6\u7801]\n\nsend --> click[\u70b9\u51fb\u90ae\u4ef6\u4e2d\u7684\u94fe\u63a5] --> config[\u914d\u7f6e\u52a8\u6001\u53e3\u4ee4] --> reset[\u91cd\u7f6e\u5bc6\u7801]\n--> success[\u6210\u529f\u91cd\u7f6e\u5bc6\u7801]\n\nclassDef plain fill:#ddd,stroke:#fff,stroke-width:1px,color:#000;\nclassDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff;\nclassDef cluster fill:#fff,stroke:#bbb,stroke-width:1px,color:#326ce5;\n\nclass pass,usern,button,tip1,send,tip2,send,click,config,reset,success plain;\nclass judge1,judge2 k8s
    "},{"location":"admin/ghippo/access-control/custom-role.html","title":"\u81ea\u5b9a\u4e49\u89d2\u8272","text":"

    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u521b\u5efa\u4e09\u79cd\u8303\u56f4\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff1a

    • \u5e73\u53f0\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u5e73\u53f0\u6240\u6709\u76f8\u5173\u8d44\u6e90\u751f\u6548
    • \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u8be5\u7528\u6237\u6240\u5728\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u751f\u6548
    • \u6587\u4ef6\u5939\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u8be5\u7528\u6237\u6240\u5728\u7684\u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u8d44\u6e90\u751f\u6548
    "},{"location":"admin/ghippo/access-control/custom-role.html#_2","title":"\u521b\u5efa\u5e73\u53f0\u89d2\u8272","text":"

    \u5e73\u53f0\u89d2\u8272\u662f\u7c97\u7c92\u5ea6\u89d2\u8272\uff0c\u80fd\u591f\u5bf9\u6240\u9009\u6743\u9650\u5185\u7684\u6240\u6709\u8d44\u6e90\u751f\u6548\u3002\u5982\u6388\u6743\u540e\u7528\u6237\u53ef\u4ee5\u62e5\u6709\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\u3001\u6240\u6709\u96c6\u7fa4\u7684\u7f16\u8f91\u6743\u9650\u7b49\uff0c\u800c\u4e0d\u80fd\u9488\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u6216\u67d0\u4e2a\u96c6\u7fa4\u751f\u6548\u3002\u5e73\u53f0\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\u53ef\u4ee5\u5728\u7528\u6237/\u7528\u6237\u7ec4\u5217\u8868\u4e2d\u8fdb\u884c\u6388\u6743\u3002

    1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

    2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u5e73\u53f0\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

    4. \u5e73\u53f0\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\uff0c\u4e3a\u8fd9\u4e2a\u89d2\u8272\u6dfb\u52a0\u7528\u6237\u548c\u7528\u6237\u7ec4\u3002

    "},{"location":"admin/ghippo/access-control/custom-role.html#_3","title":"\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u662f\u7ec6\u7c92\u5ea6\u89d2\u8272\uff0c\u9488\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u751f\u6548\u3002\u5982\u5728\u8be5\u89d2\u8272\u4e2d\u9009\u62e9\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u5168\u90e8\u6743\u9650\uff0c\u7ed9\u7528\u6237\u5728\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u6388\u4e88\u8be5\u89d2\u8272\u540e\uff0c\u8be5\u7528\u6237\u5c06\u4ec5\u80fd\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u7684\u529f\u80fd\uff0c\u800c\u65e0\u6cd5\u4f7f\u7528\u5982\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u7b49\u5176\u4ed6\u6a21\u5757\u7684\u80fd\u529b\u3002\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u4e2d\u9009\u62e9\u5de5\u4f5c\u7a7a\u95f4\u540e\u8fdb\u884c\u6388\u6743\u3002

    1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

    2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

    4. \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\uff0c\u8bbe\u5b9a\u8fd9\u4e2a\u89d2\u8272\u53ef\u4ee5\u7ba1\u7406\u54ea\u4e9b\u5de5\u4f5c\u7a7a\u95f4\u3002

    "},{"location":"admin/ghippo/access-control/custom-role.html#_4","title":"\u521b\u5efa\u6587\u4ef6\u5939\u89d2\u8272","text":"

    \u6587\u4ef6\u5939\u89d2\u8272\u9488\u5bf9\u67d0\u4e2a\u6587\u4ef6\u5939\u548c\u8be5\u6587\u4ef6\u5939\u4e0b\u7684\u6240\u6709\u5b50\u6587\u4ef6\u5939\u53ca\u5de5\u4f5c\u7a7a\u95f4\u751f\u6548\u3002\u5982\u5728\u8be5\u89d2\u8272\u4e2d\u9009\u62e9\u5168\u5c40\u7ba1\u7406-\u5de5\u4f5c\u7a7a\u95f4\u548c\u5e94\u7528\u5de5\u4f5c\u53f0\uff0c\u7ed9\u7528\u6237\u5728\u67d0\u4e2a\u6587\u4ef6\u5939\u4e0b\u6388\u4e88\u8be5\u89d2\u8272\u540e\uff0c\u8be5\u7528\u6237\u5c06\u80fd\u591f\u5728\u5176\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u76f8\u5173\u529f\u80fd\uff0c\u800c\u65e0\u6cd5\u4f7f\u7528\u5982\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u7b49\u5176\u4ed6\u6a21\u5757\u7684\u80fd\u529b\u3002\u6587\u4ef6\u5939\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u4e2d\u9009\u62e9\u6587\u4ef6\u5939\u540e\u8fdb\u884c\u6388\u6743\u3002 \u8bf7\u6ce8\u610f\uff1a\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u591a\u4e91\u7f16\u6392\u3001\u955c\u50cf\u4ed3\u5e93\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u670d\u52a1\u7f51\u683c\u548c\u4e2d\u95f4\u4ef6\u5747\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u5728\u521b\u5efa\u6587\u4ef6\u5939\u89d2\u8272\u65f6\u5927\u90e8\u5206\u573a\u666f\u4e0b\u9700\u8981\u7528\u5230\u5de5\u4f5c\u7a7a\u95f4\uff0c\u8bf7\u6ce8\u610f\u5728\u5168\u5c40\u7ba1\u7406-\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u52fe\u9009\u3002

    1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

    2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u6587\u4ef6\u5939\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

    4. \u6587\u4ef6\u5939\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u6587\u4ef6\u5939\u6388\u6743\uff0c\u8bbe\u5b9a\u8fd9\u4e2a\u89d2\u8272\u53ef\u4ee5\u7ba1\u7406\u54ea\u4e9b\u6587\u4ef6\u5939\u3002

    "},{"location":"admin/ghippo/access-control/docking.html","title":"\u63a5\u5165\u7ba1\u7406","text":"

    \u5f53\u4e24\u4e2a\u6216\u4e24\u4e2a\u4ee5\u4e0a\u5e73\u53f0\u76f8\u4e92\u5bf9\u63a5\u6216\u5d4c\u5165\u65f6\uff0c\u901a\u5e38\u9700\u8981\u8fdb\u884c\u7528\u6237\u4f53\u7cfb\u6253\u901a\u3002 \u5728\u7528\u6237\u6253\u901a\u8fc7\u7a0b\u4e2d\uff0c \u63a5\u5165\u7ba1\u7406 \u4e3b\u8981\u63d0\u4f9b SSO \u63a5\u5165\u80fd\u529b\uff0c\u5f53\u60a8\u9700\u8981\u5c06\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f5c\u4e3a\u7528\u6237\u6e90\u63a5\u5165\u5ba2\u6237\u7cfb\u7edf\u65f6\uff0c \u60a8\u53ef\u4ee5\u901a\u8fc7 \u63a5\u5165\u7ba1\u7406 \u521b\u5efa SSO \u63a5\u5165\u6765\u5b9e\u73b0\u3002

    "},{"location":"admin/ghippo/access-control/docking.html#sso","title":"\u521b\u5efa SSO \u63a5\u5165","text":"

    \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u63a5\u5165\u7ba1\u7406 \uff0c\u8fdb\u5165\u63a5\u5165\u7ba1\u7406\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa SSO \u63a5\u5165 \u3002

    2. \u5728 \u521b\u5efa SSO \u63a5\u5165 \u9875\u9762\u586b\u5199\u5ba2\u6237\u7aef ID\u3002

      • \u5ba2\u6237\u7aef ID\uff1a\u5bf9\u5e94 client \u540d\u79f0
      • \u5ba2\u6237\u7aef\u8bbf\u95ee\u5730\u5740\uff1a\u7528\u6237\u5b8c\u6210\u767b\u5f55\u5e76\u901a\u8fc7\u8eab\u4efd\u9a8c\u8bc1\u540e\uff0c\u8ba4\u8bc1\u670d\u52a1\u5668\u7528\u6765\u91cd\u5b9a\u5411\u7528\u6237\u7684\u5730\u5740\uff0c\u5373 Callback URL

    3. \u521b\u5efa SSO \u63a5\u5165\u6210\u529f\u540e\uff0c\u5728 \u63a5\u5165\u7ba1\u7406 \u7ba1\u7406\u5217\u8868\uff0c\u70b9\u51fb\u521a\u521b\u5efa\u7684\u5ba2\u6237\u7aef ID \u8fdb\u5165\u8be6\u60c5\uff0c \u590d\u5236\u5ba2\u6237\u7aef ID\u3001\u5bc6\u94a5\u548c\u5355\u70b9\u767b\u5f55 URL \u4fe1\u606f\uff0c\u586b\u5199\u81f3\u5ba2\u6237\u7cfb\u7edf\u5b8c\u6210\u7528\u6237\u4f53\u7cfb\u6253\u901a\u3002

      Note

      realm \u540d\u79f0\u4e3a ghippo\u3002

    "},{"location":"admin/ghippo/access-control/global.html","title":"\u7cfb\u7edf\u89d2\u8272","text":""},{"location":"admin/ghippo/access-control/global.html#_2","title":"\u9002\u7528\u573a\u666f","text":"

    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86\u9884\u7f6e\u7684\u7cfb\u7edf\u89d2\u8272\uff0c\u5e2e\u52a9\u7528\u6237\u7b80\u5316\u89d2\u8272\u6743\u9650\u7684\u4f7f\u7528\u6b65\u9aa4\u3002

    Note

    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86\u4e09\u79cd\u7c7b\u578b\u7684\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u4e3a\u5e73\u53f0\u89d2\u8272\u3001\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u548c\u6587\u4ef6\u5939\u89d2\u8272\u3002

    - \u5e73\u53f0\u89d2\u8272\uff1a\u5bf9\u5e73\u53f0\u4e0a\u6240\u6709\u76f8\u5173\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u3002\n- \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff1a\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u5177\u4f53\u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\u3002\n- \u6587\u4ef6\u5939\u89d2\u8272\uff1a\u5bf9\u67d0\u4e2a\u6587\u4ef6\u5939\u3001\u5b50\u6587\u4ef6\u5939\u53ca\u5176\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u5177\u4f53\u6587\u4ef6\u5939\u6388\u6743\u3002\n
    "},{"location":"admin/ghippo/access-control/global.html#_3","title":"\u5e73\u53f0\u89d2\u8272","text":"

    \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 5 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aAdmin\u3001IAM Owner\u3001Audit Owner\u3001 Kpanda Owner \u548c Workspace and Folder Owner \u3002\u8fd9 5 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

    \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Admin \u7cfb\u7edf\u89d2\u8272 \u5168\u90e8 \u5e73\u53f0\u7ba1\u7406\u5458\uff0c\u7ba1\u7406\u6240\u6709\u5e73\u53f0\u8d44\u6e90\uff0c\u4ee3\u8868\u5e73\u53f0\u7684\u6700\u9ad8\u6743\u9650 IAM Owner \u7cfb\u7edf\u89d2\u8272 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u7ba1\u7406\u7528\u6237/\u7528\u6237\u7ec4\u53ca\u6388\u6743 Audit Owner \u7cfb\u7edf\u89d2\u8272 \u5ba1\u8ba1\u65e5\u5fd7 \u5ba1\u8ba1\u65e5\u5fd7\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u8bbe\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u7b56\u7565\uff0c\u5bfc\u51fa\u5ba1\u8ba1\u65e5\u5fd7 Kpanda Owner \u7cfb\u7edf\u89d2\u8272 \u5bb9\u5668\u7ba1\u7406 \u5bb9\u5668\u7ba1\u7406\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u521b\u5efa/\u63a5\u5165\u96c6\u7fa4\uff0c\u90e8\u7f72\u5e94\u7528\uff0c\u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u4e88\u96c6\u7fa4/\u547d\u540d\u7a7a\u95f4\u76f8\u5173\u7684\u6743\u9650 Workspace and Folder Owner \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u521b\u5efa\u6587\u4ef6\u5939/\u5de5\u4f5c\u7a7a\u95f4\uff0c\u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u6587\u4ef6\u5939/\u5de5\u4f5c\u7a7a\u95f4\u7684\u76f8\u5173\u6743\u9650\uff0c\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u7b49\u529f\u80fd"},{"location":"admin/ghippo/access-control/global.html#_4","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

    \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 3 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aWorkspace Admin\u3001Workspace Editor\u3001Workspace Viewer\u3002\u8fd9 3 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

    \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Workspace Admin \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650 Workspace Editor \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u7f16\u8f91\u6743\u9650 Workspace Viewer \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u53ea\u8bfb\u6743\u9650"},{"location":"admin/ghippo/access-control/global.html#_5","title":"\u6587\u4ef6\u5939\u89d2\u8272","text":"

    \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 3 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aFolder Admin\u3001Folder Editor\u3001Folder Viewer\u3002\u8fd9 3 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

    \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Folder Admin \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650 Folder Editor \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u7f16\u8f91\u6743\u9650 Folder Viewer \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u53ea\u8bfb\u6743\u9650"},{"location":"admin/ghippo/access-control/group.html","title":"\u7528\u6237\u7ec4","text":"

    \u7528\u6237\u7ec4\u662f\u7528\u6237\u7684\u96c6\u5408\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u52a0\u5165\u7528\u6237\u7ec4\uff0c\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u89d2\u8272\u6743\u9650\u3002\u901a\u8fc7\u7528\u6237\u7ec4\u6279\u91cf\u5730\u7ed9\u7528\u6237\u8fdb\u884c\u6388\u6743\uff0c\u53ef\u4ee5\u66f4\u597d\u5730\u7ba1\u7406\u7528\u6237\u53ca\u5176\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/group.html#_2","title":"\u9002\u7528\u573a\u666f","text":"

    \u5f53\u7528\u6237\u6743\u9650\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ea\u9700\u5c06\u5176\u79fb\u5230\u76f8\u5e94\u7684\u7528\u6237\u7ec4\u4e0b\uff0c\u4e0d\u4f1a\u5bf9\u5176\u4ed6\u7528\u6237\u4ea7\u751f\u5f71\u54cd\u3002

    \u5f53\u7528\u6237\u7ec4\u7684\u6743\u9650\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ea\u9700\u4fee\u6539\u7528\u6237\u7ec4\u7684\u89d2\u8272\u6743\u9650\uff0c\u5373\u53ef\u5e94\u7528\u5230\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u3002

    "},{"location":"admin/ghippo/access-control/group.html#_3","title":"\u521b\u5efa\u7528\u6237\u7ec4","text":"

    \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \uff0c\u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa\u7528\u6237\u7ec4 \u3002

    2. \u5728 \u521b\u5efa\u7528\u6237\u7ec4 \u9875\u9762\u586b\u5199\u7528\u6237\u7ec4\u4fe1\u606f\u3002

    3. \u70b9\u51fb \u786e\u5b9a \uff0c\u521b\u5efa\u7528\u6237\u7ec4\u6210\u529f\uff0c\u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\u9875\u9762\u3002\u5217\u8868\u4e2d\u7684\u7b2c\u4e00\u884c\u662f\u65b0\u521b\u5efa\u7684\u7528\u6237\u7ec4\u3002

    "},{"location":"admin/ghippo/access-control/group.html#_4","title":"\u4e3a\u7528\u6237\u7ec4\u6388\u6743","text":"

    \u524d\u63d0\uff1a\u8be5\u7528\u6237\u7ec4\u5df2\u5b58\u5728\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \uff0c\u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb ... -> \u6388\u6743 \u3002

    2. \u5728 \u6388\u6743 \u9875\u9762\u52fe\u9009\u9700\u8981\u7684\u89d2\u8272\u6743\u9650\uff08\u53ef\u591a\u9009\uff09\u3002

    3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u4e3a\u7528\u6237\u7ec4\u7684\u6388\u6743\u3002\u81ea\u52a8\u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb\u67d0\u4e2a\u7528\u6237\u7ec4\uff0c\u53ef\u4ee5\u67e5\u770b\u7528\u6237\u7ec4\u88ab\u6388\u4e88\u7684\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/group.html#_5","title":"\u7ed9\u7528\u6237\u7ec4\u6dfb\u52a0\u7528\u6237","text":"
    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5728\u67d0\u4e2a\u7528\u6237\u7ec4\u53f3\u4fa7\uff0c\u70b9\u51fb ... -> \u6dfb\u52a0\u7528\u6237 \u3002

    2. \u5728 \u6dfb\u52a0\u7528\u6237 \u9875\u9762\u70b9\u9009\u9700\u8981\u6dfb\u52a0\u7684\u7528\u6237\uff08\u53ef\u591a\u9009\uff09\u3002\u82e5\u6ca1\u6709\u53ef\u9009\u7684\u7528\u6237\uff0c\u70b9\u51fb \u524d\u5f80\u521b\u5efa\u65b0\u7528\u6237 \uff0c\u5148\u524d\u5f80\u521b\u5efa\u7528\u6237\uff0c\u518d\u8fd4\u56de\u8be5\u9875\u9762\u70b9\u51fb \u5237\u65b0 \u6309\u94ae\uff0c\u663e\u793a\u521a\u521b\u5efa\u7684\u7528\u6237\u3002

    3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u7ed9\u7528\u6237\u7ec4\u6dfb\u52a0\u7528\u6237\u3002

    Note

    \u7528\u6237\u7ec4\u4e2d\u7684\u7528\u6237\u4f1a\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u6743\u9650\uff1b\u53ef\u4ee5\u5728\u7528\u6237\u7ec4\u8be6\u60c5\u4e2d\u67e5\u770b\u52a0\u5165\u8be5\u7ec4\u7684\u7528\u6237\u3002

    "},{"location":"admin/ghippo/access-control/group.html#_6","title":"\u5220\u9664\u7528\u6237\u7ec4","text":"

    \u8bf4\u660e\uff1a\u5220\u9664\u7528\u6237\u7ec4\uff0c\u4e0d\u4f1a\u5220\u9664\u7ec4\u5185\u7684\u7528\u6237\uff0c\u4f46\u7ec4\u5185\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u7ee7\u627f\u8be5\u7ec4\u7684\u6743\u9650

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5728\u67d0\u4e2a\u7528\u6237\u7ec4\u53f3\u4fa7\uff0c\u70b9\u51fb ... -> \u5220\u9664 \u3002

    2. \u70b9\u51fb \u79fb\u9664 \u5220\u9664\u7528\u6237\u7ec4\u3002

    3. \u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5c4f\u5e55\u4e0a\u65b9\u5c06\u63d0\u793a\u5220\u9664\u6210\u529f\u3002

    Note

    \u8bf4\u660e\uff1a\u5220\u9664\u7528\u6237\u7ec4\uff0c\u4e0d\u4f1a\u5220\u9664\u7ec4\u5185\u7684\u7528\u6237\uff0c\u4f46\u7ec4\u5185\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u7ee7\u627f\u8be5\u7ec4\u7684\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/iam.html","title":"\u4ec0\u4e48\u662f\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236","text":"

    IAM\uff08Identity and Access Management\uff0c\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\uff09\u662f\u5168\u5c40\u7ba1\u7406\u7684\u4e00\u4e2a\u91cd\u8981\u6a21\u5757\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u6a21\u5757\u521b\u5efa\u3001\u7ba1\u7406\u548c\u9500\u6bc1\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\uff0c\u5e76\u4f7f\u7528\u7cfb\u7edf\u89d2\u8272\u548c\u81ea\u5b9a\u4e49\u89d2\u8272\u63a7\u5236\u5176\u4ed6\u7528\u6237\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/iam.html#_2","title":"\u4f18\u52bf","text":"
    • \u7b80\u6d01\u6d41\u7545

      \u4f01\u4e1a\u5185\u90e8\u7684\u7ed3\u6784\u548c\u89d2\u8272\u53ef\u80fd\u975e\u5e38\u590d\u6742\uff0c\u9879\u76ee\u3001\u5de5\u4f5c\u5c0f\u7ec4\u53ca\u6388\u6743\u7684\u7ba1\u7406\u90fd\u5728\u4e0d\u65ad\u5730\u53d8\u5316\u3002\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u91c7\u7528\u6e05\u6670\u6574\u6d01\u7684\u9875\u9762\uff0c\u6253\u901a\u7528\u6237\u3001\u7528\u6237\u7ec4\u3001\u89d2\u8272\u4e4b\u95f4\u7684\u6388\u6743\u5173\u7cfb\uff0c\u4ee5\u6700\u77ed\u94fe\u8def\u5b9e\u73b0\u5bf9\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u7684\u6388\u6743\u3002

    • \u9002\u5f53\u7684\u89d2\u8272

      \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e3a\u6bcf\u4e2a\u5b50\u6a21\u5757\u9884\u5b9a\u4e49\u4e86\u4e00\u4e2a\u7ba1\u7406\u5458\u89d2\u8272\uff0c\u65e0\u9700\u7528\u6237\u7ef4\u62a4\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5c06\u5e73\u53f0\u9884\u5b9a\u4e49\u7684\u7cfb\u7edf\u89d2\u8272\u6388\u6743\u7ed9\u7528\u6237\uff0c\u5b9e\u73b0\u5e73\u53f0\u7684\u6a21\u5757\u5316\u7ba1\u7406\uff08\u7ec6\u7c92\u5ea6\u6743\u9650\u8bf7\u53c2\u9605\u6743\u9650\u7ba1\u7406\u3002

    • \u4f01\u4e1a\u7ea7\u8bbf\u95ee\u63a7\u5236

      \u5f53\u60a8\u5e0c\u671b\u672c\u4f01\u4e1a\u5458\u5de5\u53ef\u4ee5\u4f7f\u7528\u4f01\u4e1a\u5185\u90e8\u7684\u8ba4\u8bc1\u7cfb\u7edf\u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\uff0c\u800c\u4e0d\u9700\u8981\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u521b\u5efa\u5bf9\u5e94\u7684\u7528\u6237\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u5efa\u7acb\u60a8\u6240\u5728\u4f01\u4e1a\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u4fe1\u4efb\u5173\u7cfb\uff0c\u901a\u8fc7\u8054\u5408\u8ba4\u8bc1\u4f7f\u5458\u5de5\u4f7f\u7528\u4f01\u4e1a\u5df2\u6709\u8d26\u53f7\u76f4\u63a5\u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5b9e\u73b0\u5355\u70b9\u767b\u5f55\u3002

    "},{"location":"admin/ghippo/access-control/iam.html#_3","title":"\u4f7f\u7528\u6d41\u7a0b","text":"

    \u6709\u5173\u8bbf\u95ee\u63a7\u5236\u7684\u5e38\u89c4\u6d41\u7a0b\u4e3a\uff1a

    graph TD\n    login[\u767b\u5f55] --> user[\u521b\u5efa\u7528\u6237]\n    user --> auth[\u4e3a\u7528\u6237\u6388\u6743]\n    auth --> group[\u521b\u5efa\u7528\u6237\u7ec4]\n    group --> role[\u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272]\n    role --> id[\u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546]\n\n classDef plain fill:#ddd,stroke:#fff,stroke-width:4px,color:#000;\n classDef k8s fill:#326ce5,stroke:#fff,stroke-width:4px,color:#fff;\n classDef cluster fill:#fff,stroke:#bbb,stroke-width:1px,color:#326ce5;\n class login,user,auth,group,role,id cluster;\n\nclick login \"https://docs.daocloud.io/ghippo/install/login.html\"\nclick user \"https://docs.daocloud.io/ghippo/access-control/user.html\"\nclick auth \"https://docs.daocloud.io/ghippo/access-control/role.html\"\nclick group \"https://docs.daocloud.io/ghippo/access-control/group.html\"\nclick role \"https://docs.daocloud.io/ghippo/access-control/custom-role.html\"\nclick id \"https://docs.daocloud.io/ghippo/access-control/idprovider.html\"
    "},{"location":"admin/ghippo/access-control/idprovider.html","title":"\u8eab\u4efd\u63d0\u4f9b\u5546","text":"

    \u5168\u5c40\u7ba1\u7406\u652f\u6301\u57fa\u4e8e LDAP \u548c OIDC \u534f\u8bae\u7684\u5355\u70b9\u767b\u5f55\uff0c\u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u5e0c\u671b\u7ba1\u7406\u7ec4\u7ec7\u5185\u7684\u6210\u5458\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8d44\u6e90\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728\u60a8\u7684\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002\u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8d44\u6e90\u7684\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/idprovider.html#_2","title":"\u57fa\u672c\u6982\u5ff5","text":"
    • \u8eab\u4efd\u63d0\u4f9b\u5546\uff08Identity Provider\uff0c\u7b80\u79f0 IdP\uff09

      \u8d1f\u8d23\u6536\u96c6\u548c\u5b58\u50a8\u7528\u6237\u8eab\u4efd\u4fe1\u606f\u3001\u7528\u6237\u540d\u3001\u5bc6\u7801\u7b49\uff0c\u5728\u7528\u6237\u767b\u5f55\u65f6\u8d1f\u8d23\u8ba4\u8bc1\u7528\u6237\u7684\u670d\u52a1\u3002\u5728\u4f01\u4e1a\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u7684\u8fc7\u7a0b\u4e2d\uff0c\u8eab\u4efd\u63d0\u4f9b\u5546\u6307\u4f01\u4e1a\u81ea\u8eab\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u3002

    • \u670d\u52a1\u63d0\u4f9b\u5546\uff08Service Provider\uff0c\u7b80\u79f0 SP\uff09

      \u670d\u52a1\u63d0\u4f9b\u5546\u901a\u8fc7\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546 IdP \u5efa\u7acb\u4fe1\u4efb\u5173\u7cfb\uff0c\u4f7f\u7528 IDP \u63d0\u4f9b\u7684\u7528\u6237\u4fe1\u606f\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u5177\u4f53\u7684\u670d\u52a1\u3002\u5728\u4f01\u4e1a\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u7684\u8fc7\u7a0b\u4e2d\uff0c\u670d\u52a1\u63d0\u4f9b\u5546\u6307 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u3002

    • LDAP

      LDAP \u6307\u8f7b\u578b\u76ee\u5f55\u8bbf\u95ee\u534f\u8bae\uff08Lightweight Directory Access Protocol\uff09\uff0c\u5e38\u7528\u4e8e\u5355\u70b9\u767b\u5f55\uff0c\u5373\u7528\u6237\u53ef\u4ee5\u5728\u591a\u4e2a\u670d\u52a1\u4e2d\u4f7f\u7528\u4e00\u4e2a\u8d26\u53f7\u5bc6\u7801\u8fdb\u884c\u767b\u5f55\u3002\u5168\u5c40\u7ba1\u7406\u652f\u6301 LDAP \u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\uff0c\u56e0\u6b64\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u901a\u8fc7 LDAP \u534f\u8bae\u5efa\u7acb\u8eab\u4efd\u8ba4\u8bc1\u7684\u4f01\u4e1a IdP \u5fc5\u987b\u652f\u6301 LDAP \u534f\u8bae\u3002\u5173\u4e8e LDAP \u7684\u8be6\u7ec6\u63cf\u8ff0\u8bf7\u53c2\u89c1\uff1a\u6b22\u8fce\u4f7f\u7528 LDAP\u3002

    • OIDC

      OIDC \u662f OpenID Connect \u7684\u7b80\u79f0\uff0c\u662f\u4e00\u4e2a\u57fa\u4e8e OAuth 2.0 \u534f\u8bae\u7684\u8eab\u4efd\u8ba4\u8bc1\u6807\u51c6\u534f\u8bae\u3002\u5168\u5c40\u7ba1\u7406\u652f\u6301\u4f7f\u7528 OIDC \u534f\u8bae\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\uff0c\u56e0\u6b64\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u901a\u8fc7 OIDC \u534f\u8bae\u5efa\u7acb\u8eab\u4efd\u8ba4\u8bc1\u7684\u4f01\u4e1a IdP \u5fc5\u987b\u652f\u6301 OIDC \u534f\u8bae\u3002\u5173\u4e8e OIDC \u7684\u8be6\u7ec6\u63cf\u8ff0\u8bf7\u53c2\u89c1\uff1a\u6b22\u8fce\u4f7f\u7528 OpenID Connect\u3002

    • OAuth 2.0

      OAuth 2.0 \u662f Open Authorization 2.0 \u7684\u7b80\u79f0\uff0c\u662f\u4e00\u79cd\u5f00\u653e\u6388\u6743\u534f\u8bae\uff0c\u6388\u6743\u6846\u67b6\u652f\u6301\u7b2c\u4e09\u65b9\u5e94\u7528\u7a0b\u5e8f\u4ee5\u81ea\u5df1\u7684\u540d\u4e49\u83b7\u53d6\u8bbf\u95ee\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/idprovider.html#_3","title":"\u529f\u80fd\u7279\u6027","text":"
    • \u7ba1\u7406\u5458\u65e0\u9700\u91cd\u65b0\u521b\u5efa\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7528\u6237

      \u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u524d\uff0c\u7ba1\u7406\u5458\u9700\u8981\u5728\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u548c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u5206\u522b\u4e3a\u7528\u6237\u521b\u5efa\u8d26\u53f7\uff1b\u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u540e\uff0c\u4f01\u4e1a\u7ba1\u7406\u5458\u53ea\u9700\u8981\u5728\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u4e2d\u4e3a\u7528\u6237\u521b\u5efa\u8d26\u53f7\uff0c\u7528\u6237\u5373\u53ef\u540c\u65f6\u8bbf\u95ee\u4e24\u4e2a\u7cfb\u7edf\uff0c\u964d\u4f4e\u4e86\u4eba\u5458\u7ba1\u7406\u6210\u672c\u3002

    • \u7528\u6237\u65e0\u9700\u8bb0\u4f4f\u4e24\u5957\u5e73\u53f0\u8d26\u53f7

      \u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u524d\uff0c\u7528\u6237\u8bbf\u95ee\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u548c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9700\u8981\u4f7f\u7528\u4e24\u4e2a\u7cfb\u7edf\u7684\u8d26\u53f7\u767b\u5f55\uff1b\u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u540e\uff0c\u7528\u6237\u5728\u672c\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u4e2d\u767b\u5f55\u5373\u53ef\u8bbf\u95ee\u4e24\u4e2a\u7cfb\u7edf\u3002

    "},{"location":"admin/ghippo/access-control/ldap.html","title":"LDAP","text":"

    LDAP \u82f1\u6587\u5168\u79f0\u4e3a Lightweight Directory Access Protocol\uff0c\u5373\u8f7b\u578b\u76ee\u5f55\u8bbf\u95ee\u534f\u8bae\uff0c\u8fd9\u662f\u4e00\u4e2a\u5f00\u653e\u7684\u3001\u4e2d\u7acb\u7684\u5de5\u4e1a\u6807\u51c6\u5e94\u7528\u534f\u8bae\uff0c \u901a\u8fc7 IP \u534f\u8bae\u63d0\u4f9b\u8bbf\u95ee\u63a7\u5236\u548c\u7ef4\u62a4\u5206\u5e03\u5f0f\u4fe1\u606f\u7684\u76ee\u5f55\u4fe1\u606f\u3002

    \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u60a8\u7684\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u652f\u6301 LDAP \u534f\u8bae\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e LDAP \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8d44\u6e90\u7684\u6743\u9650\u3002

    \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\uff0c\u5176\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5de6\u4e0b\u89d2\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb \u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546 \u6309\u94ae\u3002

    3. \u5728 LDAP \u9875\u7b7e\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u540e\u70b9\u51fb \u4fdd\u5b58 \uff0c\u5efa\u7acb\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u4fe1\u4efb\u5173\u7cfb\u53ca\u7528\u6237\u7684\u6620\u5c04\u5173\u7cfb\u3002

      \u5b57\u6bb5 \u63cf\u8ff0 \u7c7b\u578b\uff08Vendor\uff09 \u652f\u6301 LDAP (Lightweight Directory Access Protocol) \u548c AD (Active Directory) \u8eab\u4efd\u63d0\u4f9b\u5546\u540d\u79f0\uff08UI display name\uff09 \u7528\u4e8e\u533a\u5206\u4e0d\u540c\u7684\u8eab\u4efd\u63d0\u4f9b\u5546 \u670d\u52a1\u5668\uff08Connection URL\uff09 LDAP \u670d\u52a1\u7684\u5730\u5740\u548c\u7aef\u53e3\u53f7\uff0c\u5982 ldap://10.6.165.2:30061 \u7528\u6237\u540d\u79f0\uff08Bind DN\uff09 LDAP \u7ba1\u7406\u5458\u7684 DN\uff0cKeycloak \u5c06\u4f7f\u7528\u8be5 DN \u6765\u8bbf\u95ee LDAP \u670d\u52a1\u5668 \u5bc6\u7801\uff08Bind credentials\uff09 LDAP \u7ba1\u7406\u5458\u7684\u5bc6\u7801\u3002\u8be5\u5b57\u6bb5\u53ef\u4ee5\u4ece vault \u4e2d\u83b7\u53d6\u5176\u503c\uff0c\u4f7f\u7528 ${vault.ID} \u683c\u5f0f\u3002 \u7528\u6237 DN\uff08Users DN\uff09 \u60a8\u7684\u7528\u6237\u6240\u5728\u7684 LDAP \u6811\u7684\u5b8c\u6574 DN\u3002\u6b64 DN \u662f LDAP \u7528\u6237\u7684\u7236\u7ea7\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u60a8\u7684\u5178\u578b\u7528\u6237\u7684 DN \u7c7b\u4f3c\u4e8e\u201cuid='john',ou=users,dc=example,dc=com\u201d\uff0c\u5219\u53ef\u4ee5\u662f\u201cou=users,dc=example,dc=com\u201d\u3002 \u7528\u6237\u5bf9\u8c61\u7c7b\uff08User object classes\uff09 LDAP \u4e2d\u7528\u6237\u7684 LDAP objectClass \u5c5e\u6027\u7684\u6240\u6709\u503c\uff0c\u4ee5\u9017\u53f7\u5206\u9694\u3002\u4f8b\u5982\uff1a\u201cinetOrgPerson\uff0corganizationalPerson\u201d\u3002\u65b0\u521b\u5efa\u7684 Keycloak \u7528\u6237\u5c06\u4e0e\u6240\u6709\u8fd9\u4e9b\u5bf9\u8c61\u7c7b\u4e00\u8d77\u5199\u5165 L\u200b\u200bDAP\uff0c\u5e76\u4e14\u53ea\u8981\u73b0\u6709 LDAP \u7528\u6237\u8bb0\u5f55\u5305\u542b\u6240\u6709\u8fd9\u4e9b\u5bf9\u8c61\u7c7b\uff0c\u5c31\u4f1a\u627e\u5230\u5b83\u4eec\u3002 \u662f\u5426\u542f\u7528TLS\uff08Enable StartTLS\uff09 \u542f\u7528\u540e\u5c06\u52a0\u5bc6\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0e LDAP \u7684\u8fde\u63a5 \u9884\u8bbe\u6743\u9650\uff08Default permission\uff09 \u540c\u6b65\u540e\u7684\u7528\u6237/\u7528\u6237\u7ec4\u9ed8\u8ba4\u6ca1\u6709\u4efb\u4f55\u6743\u9650 \u5168\u540d\u6620\u5c04\uff08First/Last name mapping\uff09 \u5bf9\u5e94 First name \u548c Last Name \u7528\u6237\u540d\u6620\u5c04\uff08User name mapping\uff09 \u7528\u6237\u552f\u4e00\u7684\u7528\u6237\u540d \u90ae\u7bb1\u6620\u5c04\uff08Mailbox mapping\uff09 \u7528\u6237\u7684\u90ae\u7bb1

      \u9ad8\u7ea7\u914d\u7f6e

      \u5b57\u6bb5 \u63cf\u8ff0 \u662f\u5426\u542f\u7528\uff08Enable or not\uff09 \u9ed8\u8ba4\u542f\u7528\uff0c\u5173\u95ed\u540e\u8be5 LDAP \u914d\u7f6e\u4e0d\u751f\u6548 \u81ea\u52a8\u540c\u6b65\u7528\u6237\uff08Periodic full sync\uff09 \u9ed8\u8ba4\u4e0d\u542f\u7528\uff0c\u542f\u7528\u540e\u53ef\u914d\u7f6e\u540c\u6b65\u5468\u671f\uff0c\u5982\u6bcf\u5c0f\u65f6\u540c\u6b65\u4e00\u6b21 \u6570\u636e\u540c\u6b65\u6a21\u5f0f\uff08Edit mode\uff09 \u53ea\u8bfb\u6a21\u5f0f\u4e0d\u4f1a\u4fee\u6539 LDAP \u7684\u6e90\u6570\u636e\uff1b\u5199\u5165\u6a21\u5f0f\u5728\u5e73\u53f0\u7f16\u8f91\u7528\u6237\u4fe1\u606f\u540e\uff0c\u6570\u636e\u5c06\u540c\u6b65\u56deLDAP \u8bfb\u53d6\u8d85\u65f6\uff08Read timeout\uff09 \u5f53LDAP\u6570\u636e\u91cf\u8f83\u5927\u65f6\uff0c\u8c03\u6574\u8be5\u6570\u503c\u53ef\u4ee5\u6709\u6548\u907f\u514d\u63a5\u53e3\u8d85\u65f6 \u7528\u6237\u5bf9\u8c61\u8fc7\u6ee4\u5668\uff08User LDAP filter\uff09 \u7528\u4e8e\u8fc7\u6ee4\u641c\u7d22\u7528\u6237\u7684\u9644\u52a0 LDAP \u8fc7\u6ee4\u5668\u3002\u5982\u679c\u60a8\u4e0d\u9700\u8981\u989d\u5916\u7684\u8fc7\u6ee4\u5668\uff0c\u8bf7\u5c06\u5176\u7559\u7a7a\u3002\u786e\u4fdd\u5b83\u4ee5\u201c(\u201d\u5f00\u5934\uff0c\u5e76\u4ee5\u201c)\u201d\u7ed3\u5c3e\u3002 \u7528\u6237\u540d\u5c5e\u6027\uff08Username LDAP attribute\uff09 LDAP \u5c5e\u6027\u7684\u540d\u79f0\uff0c\u6620\u5c04\u4e3a Keycloak \u7528\u6237\u540d\u3002\u5bf9\u4e8e\u8bb8\u591a LDAP \u670d\u52a1\u5668\u4f9b\u5e94\u5546\u6765\u8bf4\uff0c\u5b83\u53ef\u4ee5\u662f\u201cuid\u201d\u3002\u5bf9\u4e8e Active Directory\uff0c\u5b83\u53ef\u4ee5\u662f\u201csAMAccountName\u201d\u6216\u201ccn\u201d\u3002\u5e94\u4e3a\u60a8\u60f3\u8981\u4ece LDAP \u5bfc\u5165\u5230 Keycloak \u7684\u6240\u6709 LDAP \u7528\u6237\u8bb0\u5f55\u586b\u5199\u8be5\u5c5e\u6027\u3002 RDN\u5c5e\u6027\uff08RDN LDAP attribute\uff09 LDAP \u5c5e\u6027\u540d\u79f0\uff0c\u4f5c\u4e3a\u5178\u578b\u7528\u6237DN\u7684RDN\uff08\u9876\u7ea7\u5c5e\u6027\uff09\u3002\u901a\u5e38\u5b83\u4e0e\u7528\u6237\u540d LDAP \u5c5e\u6027\u76f8\u540c\uff0c\u4f46\u8fd9\u4e0d\u662f\u5fc5\u9700\u7684\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e Active Directory\uff0c\u5f53\u7528\u6237\u540d\u5c5e\u6027\u53ef\u80fd\u662f\u201csAMAccountName\u201d\u65f6\uff0c\u901a\u5e38\u4f7f\u7528\u201ccn\u201d\u4f5c\u4e3a RDN \u5c5e\u6027\u3002 UUID\u5c5e\u6027\uff08UUID LDAP attribute\uff09 LDAP \u5c5e\u6027\u7684\u540d\u79f0\uff0c\u7528\u4f5c LDAP \u4e2d\u5bf9\u8c61\u7684\u552f\u4e00\u5bf9\u8c61\u6807\u8bc6\u7b26 (UUID)\u3002\u5bf9\u4e8e\u8bb8\u591a LDAP \u670d\u52a1\u5668\u4f9b\u5e94\u5546\u6765\u8bf4\uff0c\u5b83\u662f\u201centryUUID\u201d\uff1b\u7136\u800c\u6709\u4e9b\u662f\u4e0d\u540c\u7684\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e Active Directory\uff0c\u5b83\u5e94\u8be5\u662f\u201cobjectGUID\u201d\u3002\u5982\u679c\u60a8\u7684 LDAP \u670d\u52a1\u5668\u4e0d\u652f\u6301 UUID \u6982\u5ff5\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5728\u6811\u4e2d\u7684 LDAP \u7528\u6237\u4e4b\u95f4\u5e94\u8be5\u552f\u4e00\u7684\u4efb\u4f55\u5176\u4ed6\u5c5e\u6027\u3002\u4f8b\u5982\u201cuid\u201d\u6216\u201centryDN\u201d\u3002
    4. \u5728 \u540c\u6b65\u7528\u6237\u7ec4 \u9875\u7b7e\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u914d\u7f6e\u7528\u6237\u7ec4\u7684\u6620\u5c04\u5173\u7cfb\u540e\uff0c\u518d\u6b21\u70b9\u51fb \u4fdd\u5b58 \u3002

      \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u57fa\u51c6 DN \u7528\u6237\u7ec4\u5728 LDAP \u6811\u72b6\u7ed3\u6784\u4e2d\u7684\u4f4d\u7f6e ou=groups,dc=example,dc=org \u7528\u6237\u7ec4\u5bf9\u8c61\u8fc7\u6ee4\u5668 \u7528\u6237\u7ec4\u7684\u5bf9\u8c61\u7c7b\uff0c\u5982\u679c\u9700\u8981\u66f4\u591a\u7c7b\uff0c\u5219\u7528\u9017\u53f7\u5206\u9694\u3002\u5728\u5178\u578b\u7684 LDAP \u90e8\u7f72\u4e2d\uff0c\u901a\u5e38\u662f \u201cgroupOfNames\u201d\uff0c\u7cfb\u7edf\u5df2\u81ea\u52a8\u586b\u5165\uff0c\u5982\u9700\u66f4\u6539\u8bf7\u76f4\u63a5\u7f16\u8f91\u3002* \u8868\u793a\u6240\u6709\u3002 * \u7528\u6237\u7ec4\u540d cn \u4e0d\u53ef\u66f4\u6539

    Note

    1. \u5f53\u60a8\u901a\u8fc7 LDAP \u534f\u8bae\u5c06\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5efa\u7acb\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u53ef\u901a\u8fc7\u624b\u52a8\u540c\u6b65\u6216\u81ea\u52a8\u540c\u6b65\u7684\u65b9\u5f0f\uff0c\u5c06\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u7528\u6237\u6216\u7528\u6237\u7ec4\u4e00\u6b21\u6027\u540c\u6b65\u81f3 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u3002
    2. \u540c\u6b65\u540e\u7ba1\u7406\u5458\u53ef\u5bf9\u7528\u6237\u7ec4/\u7528\u6237\u7ec4\u8fdb\u884c\u6279\u91cf\u6388\u6743\uff0c\u540c\u65f6\u7528\u6237\u53ef\u901a\u8fc7\u5728\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u8d26\u53f7/\u5bc6\u7801\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002
    "},{"location":"admin/ghippo/access-control/oauth2.0.html","title":"OAuth 2.0 - \u4f01\u4e1a\u5fae\u4fe1","text":"

    \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u4e2d\u7684\u6210\u5458\u5747\u7ba1\u7406\u5728\u4f01\u4e1a\u5fae\u4fe1\u4e2d\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e OAuth 2.0 \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c \u800c\u4e0d\u5fc5\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8d44\u6e90\u7684\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/oauth2.0.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb OAuth2.0 \u9875\u7b7e\u3002\u586b\u5199\u8868\u5355\u5b57\u6bb5\uff0c\u5efa\u7acb\u4e0e\u4f01\u4e1a\u5fae\u4fe1\u7684\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

    "},{"location":"admin/ghippo/access-control/oauth2.0.html#_2","title":"\u4f01\u4e1a\u5fae\u4fe1\u4e2d\u5bf9\u5e94\u7684\u5b57\u6bb5","text":"

    Note

    \u5bf9\u63a5\u524d\u9700\u8981\u5728\u4f01\u4e1a\u5fae\u4fe1\u7ba1\u7406\u540e\u53f0\u4e2d\u521b\u5efa\u81ea\u5efa\u5e94\u7528\uff0c\u53c2\u9605\u5982\u4f55\u521b\u5efa\u81ea\u5efa\u5e94\u7528\u94fe\u63a5\u3002

    \u5b57\u6bb5 \u63cf\u8ff0 \u4f01\u4e1a ID \u4f01\u4e1a\u5fae\u4fe1\u7684 ID Agent ID \u81ea\u5efa\u5e94\u7528\u7684 ID ClientSecret \u81ea\u5efa\u5e94\u7528\u7684 Secret

    \u4f01\u4e1a\u5fae\u4fe1 ID\uff1a

    Agent ID \u548c ClientSecret\uff1a

    "},{"location":"admin/ghippo/access-control/oidc.html","title":"\u521b\u5efa\u548c\u7ba1\u7406 OIDC","text":"

    OIDC\uff08OpenID Connect\uff09\u662f\u5efa\u7acb\u5728 OAuth 2.0 \u57fa\u7840\u4e0a\u7684\u4e00\u4e2a\u8eab\u4efd\u5c42\uff0c\u662f\u57fa\u4e8e OAuth2 \u534f\u8bae\u7684\u8eab\u4efd\u8ba4\u8bc1\u6807\u51c6\u534f\u8bae\u3002

    \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u60a8\u7684\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u652f\u6301 OIDC \u534f\u8bae\uff0c \u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e OIDC \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8d44\u6e90\u7684\u6743\u9650\u3002

    \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\u3002

    1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb OIDC \u9875\u7b7e -> \u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546 \u6309\u94ae\u3002

    3. \u586b\u5199\u8868\u5355\u5b57\u6bb5\uff0c\u5efa\u7acb\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

      \u5b57\u6bb5 \u63cf\u8ff0 \u63d0\u4f9b\u5546\u540d\u79f0 \u663e\u793a\u5728\u767b\u5f55\u9875\u4e0a\uff0c\u662f\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u5165\u53e3 \u8ba4\u8bc1\u65b9\u5f0f \u5ba2\u6237\u7aef\u8eab\u4efd\u9a8c\u8bc1\u65b9\u6cd5\u3002\u5982\u679c JWT \u4f7f\u7528\u79c1\u94a5\u7b7e\u540d\uff0c\u8bf7\u4e0b\u62c9\u9009\u62e9 JWT signed with private key \u3002\u5177\u4f53\u53c2\u9605 Client Authentication\u3002 \u5ba2\u6237\u7aef ID \u5ba2\u6237\u7aef\u7684 ID \u5ba2\u6237\u7aef\u5bc6\u94a5 \u5ba2\u6237\u7aef\u5bc6\u7801 \u5ba2\u6237\u7aef URL \u53ef\u901a\u8fc7\u8eab\u4efd\u63d0\u4f9b\u5546 well-known \u63a5\u53e3\u4e00\u952e\u83b7\u53d6\u767b\u5f55 URL\u3001Token URL\u3001\u7528\u6237\u4fe1\u606f URL \u548c\u767b\u51fa URL \u81ea\u52a8\u5173\u8054 \u5f00\u542f\u540e\u5f53\u8eab\u4efd\u63d0\u4f9b\u5546\u7528\u6237\u540d/\u90ae\u7bb1\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7528\u6237\u540d/\u90ae\u7bb1\u91cd\u590d\u65f6\u5c06\u81ea\u52a8\u4f7f\u4e8c\u8005\u5173\u8054

    Note

    1. \u5f53\u7528\u6237\u901a\u8fc7\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u5b8c\u6210\u7b2c\u4e00\u6b21\u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u540e\uff0c\u7528\u6237\u4fe1\u606f\u624d\u4f1a\u88ab\u540c\u6b65\u81f3\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237\u5217\u8868 \u3002
    2. \u521d\u6b21\u767b\u5f55\u7684\u7528\u6237\u4e0d\u4f1a\u88ab\u8d4b\u4e88\u4efb\u4f55\u9ed8\u8ba4\u6743\u9650\uff0c\u9700\u8981\u6709\u7ba1\u7406\u5458\u7ed9\u5176\u8d4b\u6743\uff08\u7ba1\u7406\u5458\u53ef\u4ee5\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u3001\u5b50\u6a21\u5757\u7ba1\u7406\u5458\u6216\u8d44\u6e90\u7ba1\u7406\u5458\uff09\u3002
    3. \u53c2\u8003 Azure OpenID Connect (OIDC) \u63a5\u5165\u6d41\u7a0b\u3002
    "},{"location":"admin/ghippo/access-control/oidc.html#_1","title":"\u7528\u6237\u8eab\u4efd\u8ba4\u8bc1\u4ea4\u4e92\u6d41\u7a0b","text":"

    \u7528\u6237\u8eab\u4efd\u8ba4\u8bc1\u7684\u4ea4\u4e92\u6d41\u7a0b\u4e3a\uff1a

    1. \u4f7f\u7528\u6d4f\u89c8\u5668\u53d1\u8d77\u5355\u70b9\u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u8bf7\u6c42\u3002 1.\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u6839\u636e\u767b\u5f55\u94fe\u63a5\u4e2d\u643a\u5e26\u7684\u4fe1\u606f\uff0c\u67e5\u627e \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u8eab\u4efd\u63d0\u4f9b\u5546 \u4e2d\u5bf9\u5e94\u7684\u914d\u7f6e\u4fe1\u606f\uff0c \u6784\u5efa OIDC \u6388\u6743 Request\uff0c\u53d1\u9001\u7ed9\u6d4f\u89c8\u5668\u3002
    2. \u6d4f\u89c8\u5668\u6536\u5230\u8bf7\u6c42\u540e\uff0c\u8f6c\u53d1 OIDC \u6388\u6743 Request \u7ed9\u4f01\u4e1a IdP\u3002
    3. \u5728\u4f01\u4e1a IdP \u7684\u767b\u5f55\u9875\u9762\u4e2d\u8f93\u5165\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u4f01\u4e1a IdP \u5bf9\u63d0\u4f9b\u7684\u8eab\u4efd\u4fe1\u606f\u8fdb\u884c\u9a8c\u8bc1\uff0c\u5e76\u6784\u5efa\u643a\u5e26\u7528\u6237\u4fe1\u606f\u7684 ID Token\uff0c\u5411\u6d4f\u89c8\u5668\u53d1\u9001 OIDC \u6388\u6743 Response\u3002
    4. \u6d4f\u89c8\u5668\u54cd\u5e94\u540e\u8f6c\u53d1 OIDC \u6388\u6743 Response \u7ed9 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u3002 1.\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4ece OIDC \u6388\u6743 Response \u4e2d\u53d6\u51fa ID Token\uff0c\u5e76\u6839\u636e\u5df2\u914d\u7f6e\u7684\u8eab\u4efd\u8f6c\u6362\u89c4\u5219\u6620\u5c04\u5230\u5177\u4f53\u7684\u7528\u6237\u5217\u8868\uff0c\u9881\u53d1 Token\u3002
    5. \u5b8c\u6210\u5355\u70b9\u767b\u5f55\uff0c\u8bbf\u95ee \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u3002
    "},{"location":"admin/ghippo/access-control/role.html","title":"\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406","text":"

    \u4e00\u4e2a\u89d2\u8272\u5bf9\u5e94\u4e00\u7ec4\u6743\u9650\u3002\u6743\u9650\u51b3\u5b9a\u4e86\u53ef\u4ee5\u5bf9\u8d44\u6e90\u6267\u884c\u7684\u64cd\u4f5c\u3002\u5411\u7528\u6237\u6388\u4e88\u67d0\u89d2\u8272\uff0c\u5373\u6388\u4e88\u8be5\u89d2\u8272\u6240\u5305\u542b\u7684\u6240\u6709\u6743\u9650\u3002

    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5b58\u5728\u4e09\u79cd\u89d2\u8272\u8303\u56f4\uff0c\u80fd\u591f\u7075\u6d3b\u3001\u6709\u6548\u5730\u89e3\u51b3\u60a8\u5728\u6743\u9650\u4e0a\u7684\u4f7f\u7528\u95ee\u9898\uff1a

    • \u5e73\u53f0\u89d2\u8272
    • \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272
    • \u6587\u4ef6\u5939\u89d2\u8272
    "},{"location":"admin/ghippo/access-control/role.html#_2","title":"\u5e73\u53f0\u89d2\u8272","text":"

    \u5e73\u53f0\u89d2\u8272\u662f\u7c97\u7c92\u5ea6\u6743\u9650\uff0c\u5bf9\u5e73\u53f0\u4e0a\u6240\u6709\u76f8\u5173\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\u3002\u901a\u8fc7\u5e73\u53f0\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u5bf9\u6240\u6709\u96c6\u7fa4\u3001\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7b49\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\uff0c \u800c\u4e0d\u80fd\u5177\u4f53\u5230\u67d0\u4e00\u4e2a\u96c6\u7fa4\u6216\u67d0\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86 5 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u7684\u5e73\u53f0\u89d2\u8272\uff1a

    • Admin
    • Kpanda Owner
    • Workspace and Folder Owner
    • IAM Owner
    • Audit Owner

    \u540c\u65f6\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u5e73\u53f0\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002 \u5982\u521b\u5efa\u4e00\u4e2a\u5e73\u53f0\u89d2\u8272\uff0c\u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\uff0c\u7531\u4e8e\u5e94\u7528\u5de5\u4f5c\u53f0\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c \u56e0\u6b64\u5e73\u53f0\u4f1a\u5e2e\u52a9\u7528\u6237\u9ed8\u8ba4\u52fe\u9009\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\uff0c\u8bf7\u4e0d\u8981\u624b\u52a8\u53d6\u6d88\u52fe\u9009\u3002 \u82e5\u7528\u6237 A \u88ab\u6388\u4e88\u8be5 Workbench\uff08\u5e94\u7528\u5de5\u4f5c\u53f0\uff09\u89d2\u8272\uff0c\u5c06\u81ea\u52a8\u62e5\u6709\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7b49\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/role.html#_3","title":"\u5e73\u53f0\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

    \u7ed9\u5e73\u53f0\u89d2\u8272\u6388\u6743\u5171\u6709\u4e09\u79cd\u65b9\u5f0f\uff1a

    • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237 \u7684\u7528\u6237\u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u7528\u6237\uff0c\u70b9\u51fb ... \uff0c\u9009\u62e9 \u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u5e73\u53f0\u89d2\u8272\u6743\u9650\u3002

    • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237\u7ec4 \u7684\u7528\u6237\u7ec4\u5217\u8868\u4e2d\u521b\u5efa\u7528\u6237\u7ec4\uff0c\u5c06\u8be5\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4\uff0c\u5e76\u7ed9\u7528\u6237\u7ec4\u6388\u6743 \uff08\u5177\u4f53\u64cd\u4f5c\u4e3a\uff1a\u5728\u7528\u6237\u7ec4\u5217\u8868\u627e\u5230\u8be5\u7528\u6237\u7ec4\uff0c\u70b9\u51fb ... \uff0c\u9009\u62e9 \u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u7ec4\u8d4b\u4e88\u5e73\u53f0\u89d2\u8272\uff09\u3002

    • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \u7684\u89d2\u8272\u5217\u8868\u4e2d\uff0c\u627e\u5230\u76f8\u5e94\u7684\u5e73\u53f0\u89d2\u8272\uff0c \u70b9\u51fb\u89d2\u8272\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\uff0c\u70b9\u51fb \u5173\u8054\u6210\u5458 \u6309\u94ae\uff0c\u9009\u4e2d\u8be5\u7528\u6237\u6216\u7528\u6237\u6240\u5728\u7684\u7528\u6237\u7ec4\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

    "},{"location":"admin/ghippo/access-control/role.html#_4","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u662f\u7ec6\u7c92\u5ea6\u89d2\u8272\uff0c\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650\u3001\u67e5\u770b\u6743\u9650\u6216\u8be5\u5de5\u4f5c\u7a7a\u95f4\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u7684\u6743\u9650\u7b49\u3002 \u83b7\u5f97\u8be5\u89d2\u8272\u6743\u9650\u7684\u7528\u6237\u53ea\u80fd\u7ba1\u7406\u8be5\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u65e0\u6cd5\u8bbf\u95ee\u5176\u4ed6\u5de5\u4f5c\u7a7a\u95f4\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86 3 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u7684\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff1a

    • Workspace Admin
    • Workspace Editor
    • Workspace Viewer

    \u540c\u65f6\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002\u5982\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff0c \u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\uff0c\u7531\u4e8e\u5e94\u7528\u5de5\u4f5c\u53f0\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u5e73\u53f0\u4f1a\u5e2e\u52a9\u7528\u6237\u9ed8\u8ba4\u52fe\u9009\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\uff0c \u8bf7\u4e0d\u8981\u624b\u52a8\u53d6\u6d88\u52fe\u9009\u3002\u82e5\u7528\u6237 A \u5728\u5de5\u4f5c\u7a7a\u95f4 01 \u4e2d\u88ab\u6388\u4e88\u8be5\u89d2\u8272\uff0c\u5c06\u62e5\u6709\u5de5\u4f5c\u7a7a\u95f4 01 \u4e0b\u7684\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\u3002

    Note

    \u4e0e\u5e73\u53f0\u89d2\u8272\u4e0d\u540c\uff0c\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u88ab\u521b\u5efa\u540e\u9700\u8981\u524d\u5f80\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u88ab\u6388\u6743\u540e\u7528\u6237\u4ec5\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u62e5\u6709\u8be5\u89d2\u8272\u4e2d\u7684\u529f\u80fd\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/role.html#_5","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

    \u5728 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u5de5\u4f5c\u7a7a\u95f4\uff0c\u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/role.html#_6","title":"\u6587\u4ef6\u5939\u89d2\u8272","text":"

    \u6587\u4ef6\u5939\u89d2\u8272\u7684\u6743\u9650\u7c92\u5ea6\u4ecb\u4e8e\u5e73\u53f0\u89d2\u8272\u4e0e\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u4e4b\u95f4\uff0c\u901a\u8fc7\u6587\u4ef6\u5939\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u67d0\u4e2a\u6587\u4ef6\u5939\u53ca\u5176\u5b50\u6587\u4ef6\u5939\u548c\u8be5\u6587\u4ef6\u5939\u4e0b\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650\u3001\u67e5\u770b\u6743\u9650\u7b49\uff0c \u5e38\u9002\u7528\u4e8e\u4f01\u4e1a\u4e2d\u7684\u90e8\u95e8\u573a\u666f\u3002\u6bd4\u5982\u7528\u6237 B \u662f\u4e00\u7ea7\u90e8\u95e8\u7684 Leader\uff0c\u901a\u5e38\u7528\u6237 B \u80fd\u591f\u7ba1\u7406\u8be5\u4e00\u7ea7\u90e8\u95e8\u3001\u5176\u4e0b\u7684\u6240\u6709\u4e8c\u7ea7\u90e8\u95e8\u548c\u90e8\u95e8\u4e2d\u7684\u9879\u76ee\u7b49\uff0c \u5728\u6b64\u573a\u666f\u4e2d\u7ed9\u7528\u6237 B \u6388\u4e88\u4e00\u7ea7\u6587\u4ef6\u5939\u7684\u7ba1\u7406\u5458\u6743\u9650\uff0c\u7528\u6237 B \u4e5f\u5c06\u62e5\u6709\u5176\u4e0b\u7684\u4e8c\u7ea7\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u7684\u76f8\u5e94\u6743\u9650\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86 3 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u6587\u4ef6\u5939\u89d2\u8272\uff1a

    • Folder Admin
    • Folder Editor
    • Folder Viewer

    \u540c\u65f6\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u6587\u4ef6\u5939\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002 \u5982\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u89d2\u8272\uff0c\u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\u3002\u82e5\u7528\u6237 A \u5728\u6587\u4ef6\u5939 01 \u4e2d\u88ab\u6388\u4e88\u8be5\u89d2\u8272\uff0c \u5c06\u62e5\u6709\u8be5\u6587\u4ef6\u5939\u4e0b\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\u3002

    Note

    \u529f\u80fd\u6a21\u5757\u672c\u8eab\u4f9d\u8d56\u7684\u662f\u5de5\u4f5c\u7a7a\u95f4\uff0c\u6587\u4ef6\u5939\u662f\u5de5\u4f5c\u7a7a\u95f4\u4e0a\u7684\u8fdb\u4e00\u6b65\u5206\u7ec4\u673a\u5236\u4e14\u5177\u6709\u6743\u9650\u7ee7\u627f\u80fd\u529b\uff0c \u56e0\u6b64\u6587\u4ef6\u5939\u6743\u9650\u4e0d\u5149\u5305\u542b\u6587\u4ef6\u5939\u672c\u8eab\uff0c\u8fd8\u5305\u62ec\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u3002

    "},{"location":"admin/ghippo/access-control/role.html#_7","title":"\u6587\u4ef6\u5939\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

    \u5728 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u6587\u4ef6\u5939\uff0c\u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u6587\u4ef6\u5939\u89d2\u8272\u6743\u9650\u3002

    "},{"location":"admin/ghippo/access-control/user.html","title":"\u7528\u6237","text":"

    \u7528\u6237\u6307\u7684\u662f\u7531\u5e73\u53f0\u7ba1\u7406\u5458 admin \u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237 \u9875\u9762\u521b\u5efa\u7684\u7528\u6237\uff0c\u6216\u8005\u901a\u8fc7 LDAP / OIDC \u5bf9\u63a5\u8fc7\u6765\u7684\u7528\u6237\u3002 \u7528\u6237\u540d\u4ee3\u8868\u8d26\u53f7\uff0c\u7528\u6237\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u3002

    \u62e5\u6709\u4e00\u4e2a\u7528\u6237\u8d26\u53f7\u662f\u7528\u6237\u8bbf\u95ee\u5e73\u53f0\u7684\u524d\u63d0\u3002\u65b0\u5efa\u7684\u7528\u6237\u9ed8\u8ba4\u6ca1\u6709\u4efb\u4f55\u6743\u9650\uff0c\u4f8b\u5982\u60a8\u9700\u8981\u7ed9\u7528\u6237\u8d4b\u4e88\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\uff0c\u6bd4\u5982\u5728 \u7528\u6237\u5217\u8868 \u6216 \u7528\u6237\u8be6\u60c5 \u6388\u4e88\u5b50\u6a21\u5757\u7684\u7ba1\u7406\u5458\u6743\u9650\u3002 \u5b50\u6a21\u5757\u7ba1\u7406\u5458\u62e5\u6709\u8be5\u5b50\u6a21\u5757\u7684\u6700\u9ad8\u6743\u9650\uff0c\u80fd\u591f\u521b\u5efa\u3001\u7ba1\u7406\u3001\u5220\u9664\u8be5\u6a21\u5757\u7684\u6240\u6709\u8d44\u6e90\u3002 \u5982\u679c\u7528\u6237\u9700\u8981\u88ab\u6388\u4e88\u5177\u4f53\u8d44\u6e90\u7684\u6743\u9650\uff0c\u6bd4\u5982\u67d0\u4e2a\u8d44\u6e90\u7684\u4f7f\u7528\u6743\u9650\uff0c\u8bf7\u67e5\u770b\u8d44\u6e90\u6388\u6743\u8bf4\u660e\u3002

    \u672c\u9875\u4ecb\u7ecd\u7528\u6237\u7684\u521b\u5efa\u3001\u6388\u6743\u3001\u7981\u7528\u3001\u542f\u7528\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

    "},{"location":"admin/ghippo/access-control/user.html#_2","title":"\u521b\u5efa\u7528\u6237","text":"

    \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa\u7528\u6237 \u3002

    2. \u5728 \u521b\u5efa\u7528\u6237 \u9875\u9762\u586b\u5199\u7528\u6237\u540d\u548c\u767b\u5f55\u5bc6\u7801\u3002\u5982\u9700\u4e00\u6b21\u6027\u521b\u5efa\u591a\u4e2a\u7528\u6237\uff0c\u53ef\u4ee5\u70b9\u51fb \u521b\u5efa\u7528\u6237 \u540e\u8fdb\u884c\u6279\u91cf\u521b\u5efa\uff0c\u4e00\u6b21\u6027\u6700\u591a\u521b\u5efa 5 \u4e2a\u7528\u6237\u3002\u6839\u636e\u60a8\u7684\u5b9e\u9645\u60c5\u51b5\u786e\u5b9a\u662f\u5426\u8bbe\u7f6e\u7528\u6237\u5728\u9996\u6b21\u767b\u5f55\u65f6\u91cd\u7f6e\u5bc6\u7801\u3002

    3. \u70b9\u51fb \u786e\u5b9a \uff0c\u521b\u5efa\u7528\u6237\u6210\u529f\uff0c\u8fd4\u56de\u7528\u6237\u5217\u8868\u9875\u3002

    Note

    \u6b64\u5904\u8bbe\u7f6e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u5c06\u7528\u4e8e\u767b\u5f55\u5e73\u53f0\u3002

    "},{"location":"admin/ghippo/access-control/user.html#grant-admin-permissions","title":"\u4e3a\u7528\u6237\u6388\u4e88\u5b50\u6a21\u5757\u7ba1\u7406\u5458\u6743\u9650","text":"

    \u524d\u63d0\uff1a\u8be5\u7528\u6237\u5df2\u5b58\u5728\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u6388\u6743 \u3002

    2. \u5728 \u6388\u6743 \u9875\u9762\u52fe\u9009\u9700\u8981\u7684\u89d2\u8272\u6743\u9650\uff08\u53ef\u591a\u9009\uff09\u3002

    3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u4e3a\u7528\u6237\u7684\u6388\u6743\u3002

    Note

    \u5728\u7528\u6237\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u67d0\u4e2a\u7528\u6237\uff0c\u53ef\u4ee5\u8fdb\u5165\u7528\u6237\u8be6\u60c5\u9875\u9762\u3002

    "},{"location":"admin/ghippo/access-control/user.html#_3","title":"\u5c06\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4","text":"
    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u52a0\u5165\u7528\u6237\u7ec4 \u3002

    2. \u5728 \u52a0\u5165\u7528\u6237\u7ec4 \u9875\u9762\u52fe\u9009\u9700\u8981\u52a0\u5165\u7684\u7528\u6237\u7ec4\uff08\u53ef\u591a\u9009\uff09\u3002\u82e5\u6ca1\u6709\u53ef\u9009\u7684\u7528\u6237\u7ec4\uff0c\u70b9\u51fb \u521b\u5efa\u7528\u6237\u7ec4 \u521b\u5efa\u7528\u6237\u7ec4\uff0c\u518d\u8fd4\u56de\u8be5\u9875\u9762\u70b9\u51fb \u5237\u65b0 \u6309\u94ae\uff0c\u663e\u793a\u521a\u521b\u5efa\u7684\u7528\u6237\u7ec4\u3002

    3. \u70b9\u51fb \u786e\u5b9a \u5c06\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4\u3002

    Note

    \u7528\u6237\u4f1a\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u6743\u9650\uff0c\u53ef\u4ee5\u5728 \u7528\u6237\u8be6\u60c5 \u4e2d\u67e5\u770b\u8be5\u7528\u6237\u5df2\u52a0\u5165\u7684\u7528\u6237\u7ec4\u3002

    "},{"location":"admin/ghippo/access-control/user.html#_4","title":"\u542f\u7528/\u7981\u7528\u7528\u6237","text":"

    \u7981\u7528\u7528\u6237\u540e\uff0c\u8be5\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u8bbf\u95ee\u5e73\u53f0\u3002\u4e0e\u5220\u9664\u7528\u6237\u4e0d\u540c\uff0c\u7981\u7528\u7684\u7528\u6237\u53ef\u4ee5\u6839\u636e\u9700\u8981\u518d\u6b21\u542f\u7528\uff0c\u5efa\u8bae\u5220\u9664\u7528\u6237\u524d\u5148\u7981\u7528\uff0c\u4ee5\u786e\u4fdd\u6ca1\u6709\u5173\u952e\u670d\u52a1\u5728\u4f7f\u7528\u8be5\u7528\u6237\u521b\u5efa\u7684\u5bc6\u94a5\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb\u4e00\u4e2a\u7528\u6237\u540d\u8fdb\u5165\u7528\u6237\u8be6\u60c5\u3002

    2. \u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u7f16\u8f91 \uff0c\u5173\u95ed\u72b6\u6001\u6309\u94ae\uff0c\u4f7f\u6309\u94ae\u7f6e\u7070\u4e14\u5904\u4e8e\u672a\u542f\u7528\u72b6\u6001\u3002

    3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u7981\u7528\u7528\u6237\u7684\u64cd\u4f5c\u3002

    "},{"location":"admin/ghippo/access-control/user.html#_5","title":"\u5fd8\u8bb0\u5bc6\u7801","text":"

    \u524d\u63d0\uff1a\u9700\u8981\u8bbe\u7f6e\u7528\u6237\u90ae\u7bb1\uff0c\u6709\u4e24\u79cd\u65b9\u5f0f\u53ef\u4ee5\u8bbe\u7f6e\u7528\u6237\u90ae\u7bb1\u3002

    • \u7ba1\u7406\u5458\u5728\u8be5\u7528\u6237\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u7f16\u8f91 \uff0c\u5728\u5f39\u51fa\u6846\u8f93\u5165\u7528\u6237\u90ae\u7bb1\u5730\u5740\uff0c\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u90ae\u7bb1\u8bbe\u7f6e\u3002

    • \u7528\u6237\u8fd8\u53ef\u4ee5\u8fdb\u5165 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u5728 \u5b89\u5168\u8bbe\u7f6e \u9875\u9762\u8bbe\u7f6e\u90ae\u7bb1\u5730\u5740\u3002

    \u5982\u679c\u7528\u6237\u767b\u5f55\u65f6\u5fd8\u8bb0\u5bc6\u7801\uff0c\u8bf7\u53c2\u8003\u91cd\u7f6e\u5bc6\u7801\u3002

    "},{"location":"admin/ghippo/access-control/user.html#_6","title":"\u5220\u9664\u7528\u6237","text":"

    Warning

    \u5220\u9664\u7528\u6237\u540e\uff0c\u8be5\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u901a\u8fc7\u4efb\u4f55\u65b9\u5f0f\u8bbf\u95ee\u5e73\u53f0\u8d44\u6e90\uff0c\u8bf7\u8c28\u614e\u5220\u9664\u3002 \u5728\u5220\u9664\u7528\u6237\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5173\u952e\u7a0b\u5e8f\u4e0d\u518d\u4f7f\u7528\u8be5\u7528\u6237\u521b\u5efa\u7684\u5bc6\u94a5\u3002 \u5982\u679c\u60a8\u4e0d\u786e\u5b9a\uff0c\u5efa\u8bae\u5728\u5220\u9664\u524d\u5148\u7981\u7528\u8be5\u7528\u6237\u3002 \u5982\u679c\u60a8\u5220\u9664\u4e86\u4e00\u4e2a\u7528\u6237\uff0c\u7136\u540e\u518d\u521b\u5efa\u4e00\u4e2a\u540c\u540d\u7684\u65b0\u7528\u6237\uff0c\u5219\u65b0\u7528\u6237\u5c06\u88ab\u89c6\u4e3a\u4e00\u4e2a\u65b0\u7684\u72ec\u7acb\u8eab\u4efd\uff0c\u5b83\u4e0d\u4f1a\u7ee7\u627f\u5df2\u5220\u9664\u7528\u6237\u7684\u89d2\u8272\u3002

    1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u5220\u9664 \u3002

    2. \u70b9\u51fb \u79fb\u9664 \u5b8c\u6210\u5220\u9664\u7528\u6237\u7684\u64cd\u4f5c\u3002

    "},{"location":"admin/ghippo/access-control/webhook.html","title":"Webhook \u6d88\u606f\u901a\u77e5","text":"

    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5728\u63a5\u5165\u5ba2\u6237\u7684\u7cfb\u7edf\u540e\uff0c\u53ef\u4ee5\u521b\u5efa Webhook\uff0c\u5728\u7528\u6237\u521b\u5efa/\u66f4\u65b0/\u5220\u9664/\u767b\u5f55/\u767b\u51fa\u4e4b\u65f6\u53d1\u9001\u6d88\u606f\u901a\u77e5\u3002

    Webhook \u662f\u4e00\u79cd\u7528\u4e8e\u5b9e\u73b0\u5b9e\u65f6\u4e8b\u4ef6\u901a\u77e5\u7684\u673a\u5236\u3002\u5b83\u5141\u8bb8\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u5c06\u6570\u636e\u6216\u4e8b\u4ef6\u63a8\u9001\u5230\u53e6\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c \u800c\u65e0\u9700\u8f6e\u8be2\u6216\u6301\u7eed\u67e5\u8be2\u3002\u901a\u8fc7\u914d\u7f6e Webhook\uff0c\u60a8\u53ef\u4ee5\u6307\u5b9a\u5728\u67d0\u4e2a\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u7531\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u63a5\u6536\u5e76\u5904\u7406\u901a\u77e5\u3002

    Webhook \u7684\u5de5\u4f5c\u539f\u7406\u5982\u4e0b\uff1a

    1. \u6e90\u5e94\u7528\u7a0b\u5e8f\uff08\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\uff09\u6267\u884c\u67d0\u4e2a\u7279\u5b9a\u64cd\u4f5c\u6216\u4e8b\u4ef6\u3002
    2. \u6e90\u5e94\u7528\u7a0b\u5e8f\u5c06\u76f8\u5173\u6570\u636e\u548c\u4fe1\u606f\u6253\u5305\u6210 HTTP \u8bf7\u6c42\uff0c\u5e76\u5c06\u5176\u53d1\u9001\u5230\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u6307\u5b9a\u7684 URL\uff08\u4f8b\u5982\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\uff09\u3002
    3. \u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u63a5\u6536\u5230\u8bf7\u6c42\u540e\uff0c\u6839\u636e\u5176\u4e2d\u7684\u6570\u636e\u548c\u4fe1\u606f\u8fdb\u884c\u76f8\u5e94\u7684\u5904\u7406\u3002

    \u901a\u8fc7\u4f7f\u7528 Webhook\uff0c\u60a8\u53ef\u4ee5\u5b9e\u73b0\u4ee5\u4e0b\u529f\u80fd\uff1a

    • \u5b9e\u65f6\u901a\u77e5\uff1a\u5f53\u67d0\u4e2a\u7279\u5b9a\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u901a\u8fc7 Webhook \u53ca\u65f6\u901a\u77e5\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002
    • \u81ea\u52a8\u5316\u5904\u7406\uff1a\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u6839\u636e\u6536\u5230\u7684 Webhook \u8bf7\u6c42\u81ea\u52a8\u89e6\u53d1\u4e8b\u5148\u5b9a\u4e49\u597d\u7684\u64cd\u4f5c\uff0c\u65e0\u9700\u624b\u52a8\u5e72\u9884\u3002
    • \u6570\u636e\u540c\u6b65\uff1a\u901a\u8fc7 Webhook \u5c06\u6570\u636e\u4ece\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u4f20\u9012\u5230\u53e6\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c\u5b9e\u73b0\u6570\u636e\u7684\u540c\u6b65\u66f4\u65b0\u3002

    \u5e38\u89c1\u7684\u5e94\u7528\u573a\u666f\u5305\u62ec\uff1a

    • \u7248\u672c\u63a7\u5236\u7cfb\u7edf\uff08\u4f8b\u5982 GitHub\u3001GitLab\uff09\u4e2d\uff0c\u5f53\u4ee3\u7801\u4ed3\u5e93\u53d1\u751f\u53d8\u52a8\u65f6\uff0c\u81ea\u52a8\u89e6\u53d1\u6784\u5efa\u548c\u90e8\u7f72\u64cd\u4f5c\u3002
    • \u7535\u5b50\u5546\u52a1\u5e73\u53f0\u4e2d\uff0c\u5f53\u8ba2\u5355\u72b6\u6001\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u5411\u7269\u6d41\u7cfb\u7edf\u53d1\u9001\u66f4\u65b0\u901a\u77e5\u3002
    • \u804a\u5929\u673a\u5668\u4eba\u5e73\u53f0\u4e2d\uff0c\u5f53\u63a5\u6536\u5230\u7528\u6237\u6d88\u606f\u65f6\uff0c\u901a\u8fc7 Webhook \u5c06\u6d88\u606f\u63a8\u9001\u5230\u76ee\u6807\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\u3002
    "},{"location":"admin/ghippo/access-control/webhook.html#_1","title":"\u914d\u7f6e\u6b65\u9aa4","text":"

    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u56fe\u5f62\u5316\u914d\u7f6e Webhook \u7684\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u63a5\u5165\u7ba1\u7406 \uff0c\u521b\u5efa\u4e00\u4e2a\u5ba2\u6237\u7aef ID\u3002

    2. \u70b9\u51fb\u67d0\u4e2a\u5ba2\u6237\u7aef ID\uff0c\u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u70b9\u51fb \u521b\u5efa Webhook \u6309\u94ae\u3002

    3. \u5728\u5f39\u7a97\u4e2d\u586b\u5165\u5b57\u6bb5\u4fe1\u606f\u540e\u70b9\u51fb \u786e\u5b9a \u3002

      • \u5bf9\u8c61\uff1a\u76ee\u524d\u4ec5\u652f\u6301 \u7528\u6237 \u5bf9\u8c61
      • \u884c\u4e3a\uff1a\u7528\u6237\u521b\u5efa/\u66f4\u65b0/\u5220\u9664/\u767b\u5f55/\u767b\u5f55\u65f6\u53d1\u9001 Webhook \u6d88\u606f
      • URL\uff1a\u63a5\u6536\u6d88\u606f\u7684\u5730\u5740
      • Method\uff1a\u89c6\u60c5\u51b5\u9009\u62e9\u9002\u7528\u7684\u65b9\u6cd5\uff0c\u4f8b\u5982\u4f01\u4e1a\u5fae\u4fe1\u63a8\u8350\u4f7f\u7528 POST \u65b9\u6cd5
      • \u9ad8\u7ea7\u914d\u7f6e\uff1a\u53ef\u4ee5\u7528 Json \u7f16\u5199\u6d88\u606f\u4f53\u3002\u5982\u679c\u662f\u4f01\u4e1a\u5fae\u4fe1\u7fa4\uff0c\u8bf7\u53c2\u9605\u7fa4\u673a\u5668\u4eba\u914d\u7f6e\u8bf4\u660e

    4. \u5c4f\u5e55\u63d0\u793a Webhook \u521b\u5efa\u6210\u529f\u3002

    5. \u73b0\u5728\u53bb\u8bd5\u7740\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u3002

    6. \u7528\u6237\u521b\u5efa\u6210\u529f\uff0c\u53ef\u4ee5\u770b\u5230\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u6536\u5230\u4e86\u4e00\u6761\u6d88\u606f\u3002

    "},{"location":"admin/ghippo/access-control/webhook.html#_2","title":"\u9ad8\u7ea7\u914d\u7f6e\u793a\u4f8b","text":"

    \u7cfb\u7edf\u9ed8\u8ba4\u7684\u6d88\u606f\u4f53

    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u5148\u5b9a\u4e49\u4e86\u4e00\u4e9b\u53d8\u91cf\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u60c5\u51b5\u5728\u6d88\u606f\u4f53\u4e2d\u4f7f\u7528\u8fd9\u4e9b\u53d8\u91cf\u3002

    {\n  \"id\": \"{{$$.ID$$}}\",\n  \"email\": \"{{$$.Email$$}}\",\n  \"username\": \"{{$$.Name$$}}\",\n  \"last_name\": \"{{$$.LastName$$}}\",\n  \"first_name\": \"{{$$.FirstName$$}}\",\n  \"created_at\": \"{{$$.CreatedAt$$}}\",\n  \"enabled\": \"{{$$.Enabled$$}}\"\n}\n

    \u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\u7684 Message Body

    {\n    \"msgtype\": \"text\",\n    \"text\": {\n      \"content\": \"{{$$.Name$$}} hello world\"\n    }\n}\n
    "},{"location":"admin/ghippo/access-control/webhook.html#_3","title":"\u53c2\u8003\u6587\u6863","text":"
    • OEM OUT \u6587\u6863
    • OEM IN \u6587\u6863
    "},{"location":"admin/ghippo/audit/audit-log.html","title":"\u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u5ba1\u8ba1\u65e5\u5fd7\u5e2e\u52a9\u60a8\u76d1\u63a7\u5e76\u8bb0\u5f55\u6bcf\u4e2a\u7528\u6237\u7684\u6d3b\u52a8\uff0c\u63d0\u4f9b\u4e86\u4e0e\u5b89\u5168\u76f8\u5173\u7684\u3001\u6309\u65f6\u95f4\u987a\u5e8f\u6392\u5217\u7684\u8bb0\u5f55\u7684\u6536\u96c6\u3001\u5b58\u50a8\u548c\u67e5\u8be2\u529f\u80fd\u3002 \u501f\u52a9\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u6301\u7eed\u76d1\u63a7\u5e76\u4fdd\u7559\u7528\u6237\u5728\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u7684\u4f7f\u7528\u884c\u4e3a\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u521b\u5efa\u7528\u6237\u3001\u7528\u6237\u767b\u5f55/\u767b\u51fa\u3001\u7528\u6237\u6388\u6743\u4ee5\u53ca\u4e0e Kubernetes \u76f8\u5173\u7684\u7528\u6237\u64cd\u4f5c\u884c\u4e3a\u3002

    "},{"location":"admin/ghippo/audit/audit-log.html#_2","title":"\u529f\u80fd\u7279\u6027","text":"

    \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u5177\u6709\u4ee5\u4e0b\u7279\u70b9\uff1a

    • \u5f00\u7bb1\u5373\u7528\uff1a\u5728\u5b89\u88c5\u4f7f\u7528\u8be5\u5e73\u53f0\u65f6\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u5c06\u4f1a\u88ab\u9ed8\u8ba4\u542f\u7528\uff0c\u81ea\u52a8\u8bb0\u5f55\u4e0e\u7528\u6237\u76f8\u5173\u7684\u5404\u79cd\u884c\u4e3a\uff0c \u5982\u521b\u5efa\u7528\u6237\u3001\u6388\u6743\u3001\u767b\u5f55/\u767b\u51fa\u7b49\u3002\u9ed8\u8ba4\u53ef\u4ee5\u5728\u5e73\u53f0\u5185\u67e5\u770b 365 \u5929\u7684\u7528\u6237\u884c\u4e3a\u3002
    • \u5b89\u5168\u5206\u6790\uff1a\u5ba1\u8ba1\u65e5\u5fd7\u4f1a\u5bf9\u7528\u6237\u64cd\u4f5c\u8fdb\u884c\u8be6\u7ec6\u7684\u8bb0\u5f55\u5e76\u63d0\u4f9b\u5bfc\u51fa\u529f\u80fd\uff0c\u901a\u8fc7\u8fd9\u4e9b\u4e8b\u4ef6\u60a8\u53ef\u4ee5\u5224\u65ad\u8d26\u53f7\u662f\u5426\u5b58\u5728\u98ce\u9669\u3002
    • \u5b9e\u65f6\u8bb0\u5f55\uff1a\u8fc5\u901f\u6536\u96c6\u64cd\u4f5c\u4e8b\u4ef6\uff0c\u7528\u6237\u64cd\u4f5c\u540e\u53ef\u5728\u5ba1\u8ba1\u65e5\u5fd7\u5217\u8868\u8fdb\u884c\u8ffd\u6eaf\uff0c\u968f\u65f6\u53d1\u73b0\u53ef\u7591\u884c\u4e3a\u3002
    • \u65b9\u4fbf\u53ef\u9760\uff1a\u5ba1\u8ba1\u65e5\u5fd7\u652f\u6301\u624b\u52a8\u6e05\u7406\u548c\u81ea\u52a8\u6e05\u7406\u4e24\u79cd\u65b9\u5f0f\uff0c\u53ef\u6839\u636e\u60a8\u7684\u5b58\u50a8\u5927\u5c0f\u914d\u7f6e\u6e05\u7406\u7b56\u7565\u3002
    "},{"location":"admin/ghippo/audit/audit-log.html#_3","title":"\u67e5\u770b\u5ba1\u8ba1\u65e5\u5fd7","text":"
    1. \u4f7f\u7528\u5177\u6709 admin \u6216 Audit Owner \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002

    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\uff0c\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u5ba1\u8ba1\u65e5\u5fd7 \u3002

    "},{"location":"admin/ghippo/audit/audit-log.html#_4","title":"\u7528\u6237\u64cd\u4f5c","text":"

    \u5728 \u7528\u6237\u64cd\u4f5c \u9875\u7b7e\u4e2d\uff0c\u53ef\u4ee5\u6309\u65f6\u95f4\u8303\u56f4\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6a21\u7cca\u641c\u7d22\u3001\u7cbe\u786e\u641c\u7d22\u6765\u67e5\u627e\u7528\u6237\u64cd\u4f5c\u4e8b\u4ef6\u3002

    \u70b9\u51fb\u67d0\u4e2a\u4e8b\u4ef6\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u4e8b\u4ef6\u8be6\u60c5\u3002

    \u4e8b\u4ef6\u8be6\u60c5\u5982\u4e0b\u56fe\u6240\u793a\u3002

    \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u5bfc\u51fa \u6309\u94ae\uff0c\u53ef\u4ee5\u6309 CSV \u548c Excel \u683c\u5f0f\u5bfc\u51fa\u5f53\u524d\u6240\u9009\u65f6\u95f4\u8303\u56f4\u5185\u7684\u7528\u6237\u64cd\u4f5c\u65e5\u5fd7\u3002

    "},{"location":"admin/ghippo/audit/audit-log.html#_5","title":"\u7cfb\u7edf\u64cd\u4f5c","text":"

    \u5728 \u7cfb\u7edf\u64cd\u4f5c \u9875\u7b7e\u4e2d\uff0c\u53ef\u4ee5\u6309\u65f6\u95f4\u8303\u56f4\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6a21\u7cca\u641c\u7d22\u3001\u7cbe\u786e\u641c\u7d22\u6765\u67e5\u627e\u7cfb\u7edf\u64cd\u4f5c\u4e8b\u4ef6\u3002

    \u540c\u6837\u70b9\u51fb\u67d0\u4e2a\u4e8b\u4ef6\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u4e8b\u4ef6\u8be6\u60c5\u3002

    \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u5bfc\u51fa \u6309\u94ae\uff0c\u53ef\u4ee5\u6309 CSV \u548c Excel \u683c\u5f0f\u5bfc\u51fa\u5f53\u524d\u6240\u9009\u65f6\u95f4\u8303\u56f4\u5185\u7684\u7cfb\u7edf\u64cd\u4f5c\u65e5\u5fd7\u3002

    "},{"location":"admin/ghippo/audit/audit-log.html#_6","title":"\u8bbe\u7f6e","text":"

    \u5728 \u8bbe\u7f6e \u9875\u7b7e\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6e05\u7406\u7528\u6237\u64cd\u4f5c\u548c\u7cfb\u7edf\u64cd\u4f5c\u7684\u5ba1\u8ba1\u65e5\u5fd7\u3002

    \u53ef\u4ee5\u624b\u52a8\u6e05\u7406\uff0c\u5efa\u8bae\u6e05\u7406\u524d\u5148\u5bfc\u51fa\u5e76\u4fdd\u5b58\u3002\u4e5f\u53ef\u4ee5\u8bbe\u7f6e\u65e5\u5fd7\u7684\u6700\u957f\u4fdd\u5b58\u65f6\u95f4\u5b9e\u73b0\u81ea\u52a8\u6e05\u7406\u3002

    Note

    \u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u4e0e Kubernetes \u76f8\u5173\u7684\u65e5\u5fd7\u8bb0\u5f55\u7531\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u63d0\u4f9b\uff0c\u4e3a\u51cf\u8f7b\u5ba1\u8ba1\u65e5\u5fd7\u7684\u5b58\u50a8\u538b\u529b\uff0c\u5168\u5c40\u7ba1\u7406\u9ed8\u8ba4\u4e0d\u91c7\u96c6 Kubernetes \u76f8\u5173\u65e5\u5fd7\u3002 \u5982\u9700\u8bb0\u5f55\u8bf7\u53c2\u9605\u5f00\u542f K8s \u5ba1\u8ba1\u65e5\u5fd7\u3002\u5f00\u542f\u540e\u7684\u6e05\u7406\u529f\u80fd\u4e0e\u5168\u5c40\u7ba1\u7406\u7684\u6e05\u7406\u529f\u80fd\u4e00\u81f4\uff0c\u4f46\u4e92\u4e0d\u5f71\u54cd\u3002

    "},{"location":"admin/ghippo/audit/open-audit.html","title":"\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"
    • \u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\uff1aK8s \u672c\u8eab\u751f\u6210\u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u5f00\u542f\u8be5\u529f\u80fd\u540e\uff0c\u4f1a\u5728\u6307\u5b9a\u76ee\u5f55\u4e0b\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\u7684\u65e5\u5fd7\u6587\u4ef6
    • \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\uff1a\u901a\u8fc7 insight-agent \u91c7\u96c6\u4e0a\u8ff0 \u2018K8s \u5ba1\u8ba1\u65e5\u5fd7\u2019\u7684\u65e5\u5fd7\u6587\u4ef6\uff0c\u2019\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u2018 \u7684\u524d\u63d0\u6761\u4ef6\u662f\uff1a
      • \u96c6\u7fa4\u751f\u6210\u4e86 \u2018K8s \u5ba1\u8ba1\u65e5\u5fd7\u2018
      • \u65e5\u5fd7\u8f93\u51fa\u5f00\u5173\u5df2\u6253\u5f00
      • \u65e5\u5fd7\u91c7\u96c6\u5f00\u5173\u5df2\u6253\u5f00
    "},{"location":"admin/ghippo/audit/open-audit.html#ai","title":"\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5b89\u88c5\u5b8c\u6210\u65f6\u72b6\u6001","text":"
    • \u7ba1\u7406\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173\u9ed8\u8ba4\u5f00\u542f
    • \u7ba1\u7406\u96c6\u7fa4\u7684\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173\u9ed8\u8ba4\u5173\u95ed
      • \u9ed8\u8ba4\u8bbe\u7f6e\u4e0d\u652f\u6301\u914d\u7f6e
    "},{"location":"admin/ghippo/audit/open-audit.html#k8s_1","title":"\u7ba1\u7406\u96c6\u7fa4\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173","text":""},{"location":"admin/ghippo/audit/open-audit.html#k8s_2","title":"\u786e\u8ba4\u662f\u5426\u5f00\u542f\u4e86 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\u3002 \u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

    ls /var/log/kubernetes/audit\n

    \u82e5\u672a\u5f00\u542f\uff0c\u8bf7\u53c2\u8003\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\u3002

    "},{"location":"admin/ghippo/audit/open-audit.html#k8s_3","title":"\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u6d41\u7a0b","text":"
    1. \u6dfb\u52a0 chartmuseum \u5230 helm repo \u4e2d

      helm repo add chartmuseum http://10.5.14.30:8081\n

      \u8fd9\u6761\u547d\u4ee4\u4e2d\u7684 IP \u9700\u8981\u4fee\u6539\u4e3a\u706b\u79cd\u8282\u70b9\u7684 IP \u5730\u5740\u3002

      Note

      \u4f7f\u7528\u81ea\u5efa Harbor \u4ed3\u5e93\u7684\u60c5\u51b5\u4e0b\uff0c\u8bf7\u4fee\u6539\u7b2c\u4e00\u6b65\u4e2d\u7684 chart repo \u5730\u5740\u4e3a\u81ea\u5efa\u4ed3\u5e93\u7684 insight-agent chart \u5730\u5740\u3002

    2. \u4fdd\u5b58\u5f53\u524d insight-agent helm value

      helm get values insight-agent -n insight-system -o yaml > insight-agent-values-bak.yaml\n
    3. \u83b7\u53d6\u5f53\u524d\u7248\u672c\u53f7 ${insight_version_code}

      insight_version_code=`helm list -n insight-system |grep insight-agent | awk {'print $10'}`\n
    4. \u66f4\u65b0 helm value \u914d\u7f6e

      helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent chartmuseum/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=true\n
    5. \u91cd\u542f insight-system \u4e0b\u7684\u6240\u6709 fluentBit pod

      fluent_pod=`kubectl get pod -n insight-system | grep insight-agent-fluent-bit | awk {'print $1'} | xargs`\nkubectl delete pod ${fluent_pod} -n insight-system\n
    "},{"location":"admin/ghippo/audit/open-audit.html#k8s_4","title":"\u5173\u95ed\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u5176\u4f59\u6b65\u9aa4\u548c\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u4e00\u81f4\uff0c\u4ec5\u9700\u4fee\u6539\u4e0a\u4e00\u8282\u4e2d\u7b2c 4 \u6b65\uff1a\u66f4\u65b0 helm value \u914d\u7f6e\u3002

    helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent chartmuseum/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=false\n
    "},{"location":"admin/ghippo/audit/open-audit.html#_1","title":"\u5de5\u4f5c\u96c6\u7fa4\u5f00\u5173","text":"

    \u5404\u5de5\u4f5c\u96c6\u7fa4\u5f00\u5173\u72ec\u7acb\uff0c\u6309\u9700\u5f00\u542f\u3002

    "},{"location":"admin/ghippo/audit/open-audit.html#_2","title":"\u521b\u5efa\u96c6\u7fa4\u65f6\u6253\u5f00\u91c7\u96c6\u5ba1\u8ba1\u65e5\u5fd7\u6b65\u9aa4","text":"

    \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u9ed8\u8ba4\u4e3a\u5173\u95ed\u72b6\u6001\u3002\u82e5\u9700\u8981\u5f00\u542f\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u6b65\u9aa4\uff1a

    \u5c06\u8be5\u6309\u94ae\u8bbe\u7f6e\u4e3a\u542f\u7528\u72b6\u6001\uff0c\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u3002

    \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u65f6\uff0c\u786e\u8ba4\u8be5\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u9009\u62e9 \u2018true'\uff0c\u8fd9\u6837\u521b\u5efa\u51fa\u6765\u7684\u5de5\u4f5c\u96c6\u7fa4 K8s \u5ba1\u8ba1\u65e5\u5fd7\u662f\u5f00\u542f\u7684\u3002

    \u7b49\u5f85\u96c6\u7fa4\u521b\u5efa\u6210\u529f\u540e\uff0c\u8be5\u5de5\u4f5c\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5c06\u88ab\u91c7\u96c6\u3002

    "},{"location":"admin/ghippo/audit/open-audit.html#_3","title":"\u63a5\u5165\u7684\u96c6\u7fa4\u548c\u521b\u5efa\u5b8c\u6210\u540e\u5f00\u5173\u6b65\u9aa4","text":""},{"location":"admin/ghippo/audit/open-audit.html#k8s_5","title":"\u786e\u8ba4\u5f00\u542f K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\uff0c\u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

    ls /var/log/kubernetes/audit\n

    \u82e5\u672a\u5f00\u542f\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u7684\u5f00\u542f\u5173\u95ed K8s \u5ba1\u8ba1\u65e5\u5fd7

    "},{"location":"admin/ghippo/audit/open-audit.html#k8s_6","title":"\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u9ed8\u8ba4\u4e3a\u5173\u95ed\u72b6\u6001\uff0c\u82e5\u9700\u8981\u5f00\u542f\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u6b65\u9aa4\uff1a

    1. \u9009\u4e2d\u5df2\u63a5\u5165\u5e76\u4e14\u9700\u8981\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u7684\u96c6\u7fa4

    2. \u8fdb\u5165 helm \u5e94\u7528\u7ba1\u7406\u9875\u9762\uff0c\u66f4\u65b0 insight-agent \u914d\u7f6e \uff08\u82e5\u672a\u5b89\u88c5 insight-agent\uff0c\u53ef\u4ee5\u5b89\u88c5 insight-agent\uff09

    3. \u5f00\u542f/\u5173\u95ed\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u6309\u94ae

    4. \u63a5\u5165\u96c6\u7fa4\u7684\u60c5\u51b5\u4e0b\u5f00\u5173\u540e\u4ecd\u9700\u8981\u91cd\u542f fluent-bit pod \u624d\u80fd\u751f\u6548

    "},{"location":"admin/ghippo/audit/open-k8s-audit.html","title":"\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

    \u9ed8\u8ba4 Kubernetes \u96c6\u7fa4\u4e0d\u4f1a\u751f\u6210\u5ba1\u8ba1\u65e5\u5fd7\u4fe1\u606f\u3002\u901a\u8fc7\u4ee5\u4e0b\u914d\u7f6e\uff0c\u53ef\u4ee5\u5f00\u542f Kubernetes \u7684\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u3002

    Note

    \u516c\u6709\u4e91\u73af\u5883\u4e2d\u53ef\u80fd\u65e0\u6cd5\u63a7\u5236 Kubernetes \u5ba1\u8ba1\u65e5\u5fd7\u8f93\u51fa\u53ca\u8f93\u51fa\u8def\u5f84\u3002

    1. \u51c6\u5907\u5ba1\u8ba1\u65e5\u5fd7\u7684 Policy \u6587\u4ef6
    2. \u914d\u7f6e API \u670d\u52a1\u5668\uff0c\u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7
    3. \u91cd\u542f\u5e76\u9a8c\u8bc1
    "},{"location":"admin/ghippo/audit/open-k8s-audit.html#policy","title":"\u51c6\u5907\u5ba1\u8ba1\u65e5\u5fd7 Policy \u6587\u4ef6","text":"\u70b9\u51fb\u67e5\u770b\u5ba1\u8ba1\u65e5\u5fd7 Policy YAML \u6587\u4ef6 policy.yaml
    apiVersion: audit.k8s.io/v1\nkind: Policy\nrules:\n# The following requests were manually identified as high-volume and low-risk,\n# so drop them.\n- level: None\n  users: [\"system:kube-proxy\"]\n  verbs: [\"watch\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"endpoints\", \"services\", \"services/status\"]\n- level: None\n  # Ingress controller reads `configmaps/ingress-uid` through the unsecured port.\n  # TODO(#46983): Change this to the ingress controller service account.\n  users: [\"system:unsecured\"]\n  namespaces: [\"kube-system\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"configmaps\"]\n- level: None\n  users: [\"kubelet\"] # legacy kubelet identity\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"nodes\", \"nodes/status\"]\n- level: None\n  userGroups: [\"system:nodes\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"nodes\", \"nodes/status\"]\n- level: None\n  users:\n   - system:kube-controller-manager\n   - system:kube-scheduler\n   - system:serviceaccount:kube-system:endpoint-controller\n     verbs: [\"get\", \"update\"]\n     namespaces: [\"kube-system\"]\n     resources:\n   - group: \"\" # core\n     resources: [\"endpoints\"]\n- level: None\n  users: [\"system:apiserver\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"namespaces\", \"namespaces/status\", \"namespaces/finalize\"]\n# Don't log HPA fetching metrics.\n- level: None\n  users:\n   - system:kube-controller-manager\n     verbs: [\"get\", \"list\"]\n     resources:\n   - group: \"metrics.k8s.io\"\n# Don't log these read-only URLs.\n- level: None\n  nonResourceURLs:\n   - /healthz*\n   - /version\n   - /swagger*\n# Don't log events requests.\n- level: None\n  resources:\n   - group: \"\" # core\n     resources: [\"events\"]\n# Secrets, ConfigMaps, TokenRequest and TokenReviews can contain sensitive & binary data,\n# so only log at the Metadata level.\n- level: Metadata\n  resources:\n   - group: \"\" # core\n     resources: [\"secrets\", \"configmaps\", \"serviceaccounts/token\"]\n   - group: authentication.k8s.io\n     resources: [\"tokenreviews\"]\n     omitStages:\n   - \"RequestReceived\"\n# Get responses can be large; skip them.\n- level: Request\n  verbs: [\"get\", \"list\", \"watch\"]\n  resources:\n   - group: \"\" # core\n   - group: \"admissionregistration.k8s.io\"\n   - group: \"apiextensions.k8s.io\"\n   - group: \"apiregistration.k8s.io\"\n   - group: \"apps\"\n   - group: \"authentication.k8s.io\"\n   - group: \"authorization.k8s.io\"\n   - group: \"autoscaling\"\n   - group: \"batch\"\n   - group: \"certificates.k8s.io\"\n   - group: \"extensions\"\n   - group: \"metrics.k8s.io\"\n   - group: \"networking.k8s.io\"\n   - group: \"policy\"\n   - group: \"rbac.authorization.k8s.io\"\n   - group: \"settings.k8s.io\"\n   - group: \"storage.k8s.io\"\n     omitStages:\n   - \"RequestReceived\"\n# Default level for known APIs\n- level: RequestResponse\n  resources:\n   - group: \"\" # core\n   - group: \"admissionregistration.k8s.io\"\n   - group: \"apiextensions.k8s.io\"\n   - group: \"apiregistration.k8s.io\"\n   - group: \"apps\"\n   - group: \"authentication.k8s.io\"\n   - group: \"authorization.k8s.io\"\n   - group: \"autoscaling\"\n   - group: \"batch\"\n   - group: \"certificates.k8s.io\"\n   - group: \"extensions\"\n   - group: \"metrics.k8s.io\"\n   - group: \"networking.k8s.io\"\n   - group: \"policy\"\n   - group: \"rbac.authorization.k8s.io\"\n   - group: \"settings.k8s.io\"\n   - group: \"storage.k8s.io\"\n     omitStages:\n   - \"RequestReceived\"\n# Default level for all other requests.\n- level: Metadata\n  omitStages:\n   - \"RequestReceived\"\n

    \u5c06\u4ee5\u4e0a\u5ba1\u8ba1\u65e5\u5fd7\u6587\u4ef6\u653e\u5230 /etc/kubernetes/audit-policy/ \u6587\u4ef6\u5939\u4e0b\uff0c\u5e76\u53d6\u540d\u4e3a apiserver-audit-policy.yaml \u3002

    "},{"location":"admin/ghippo/audit/open-k8s-audit.html#api","title":"\u914d\u7f6e API \u670d\u52a1\u5668","text":"

    \u6253\u5f00 API \u670d\u52a1\u5668\u7684\u914d\u7f6e\u6587\u4ef6 kube-apiserver.yaml \uff0c\u4e00\u822c\u4f1a\u5728 /etc/kubernetes/manifests/ \u6587\u4ef6\u5939\u4e0b\uff0c\u5e76\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\u4fe1\u606f\uff1a

    \u8fd9\u4e00\u6b65\u64cd\u4f5c\u524d\u8bf7\u5907\u4efd kube-apiserver.yaml \uff0c\u5e76\u4e14\u5907\u4efd\u7684\u6587\u4ef6\u4e0d\u80fd\u653e\u5728 /etc/kubernetes/manifests/ \u4e0b\uff0c\u5efa\u8bae\u653e\u5728 /etc/kubernetes/tmp \u3002

    1. \u5728 spec.containers.command \u4e0b\u6dfb\u52a0\u547d\u4ee4\uff1a

      --audit-log-maxage=30\n--audit-log-maxbackup=10\n--audit-log-maxsize=100\n--audit-log-path=/var/log/audit/kube-apiserver-audit.log\n--audit-policy-file=/etc/kubernetes/audit-policy/apiserver-audit-policy.yaml\n
    2. \u5728 spec.containers.volumeMounts \u4e0b\u6dfb\u52a0\uff1a

      - mountPath: /var/log/audit\n  name: audit-logs\n- mountPath: /etc/kubernetes/audit-policy\n  name: audit-policy\n
    3. \u5728 spec.volumes \u4e0b\u6dfb\u52a0\uff1a

      - hostPath:\n  path: /var/log/kubernetes/audit\n  type: \"\"\n  name: audit-logs\n- hostPath:\n  path: /etc/kubernetes/audit-policy\n  type: \"\"\n  name: audit-policy\n
    "},{"location":"admin/ghippo/audit/open-k8s-audit.html#_1","title":"\u6d4b\u8bd5\u5e76\u9a8c\u8bc1","text":"

    \u7a0d\u7b49\u4e00\u4f1a\uff0cAPI \u670d\u52a1\u5668\u4f1a\u81ea\u52a8\u91cd\u542f\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\uff0c\u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

    ls /var/log/kubernetes/audit\n

    \u5982\u679c\u60f3\u5173\u95ed\uff0c\u53bb\u6389 spec.containers.command \u4e2d\u7684\u76f8\u5173\u547d\u4ee4\u5373\u53ef\u3002

    "},{"location":"admin/ghippo/audit/source-ip.html","title":"\u5ba1\u8ba1\u65e5\u5fd7\u83b7\u53d6\u6e90 IP","text":"

    \u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u5728\u7cfb\u7edf\u548c\u7f51\u7edc\u7ba1\u7406\u4e2d\u626e\u6f14\u7740\u5173\u952e\u89d2\u8272\uff0c\u5b83\u6709\u52a9\u4e8e\u8ffd\u8e2a\u6d3b\u52a8\u3001\u7ef4\u62a4\u5b89\u5168\u3001\u89e3\u51b3\u95ee\u9898\u5e76\u786e\u4fdd\u7cfb\u7edf\u5408\u89c4\u6027\u3002 \u4f46\u662f\u83b7\u53d6\u6e90 IP \u4f1a\u5e26\u6765\u4e00\u5b9a\u7684\u6027\u80fd\u635f\u8017\uff0c\u6240\u4ee5\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u5ba1\u8ba1\u65e5\u5fd7\u5e76\u4e0d\u603b\u662f\u5f00\u542f\u7684\uff0c \u5728\u4e0d\u540c\u7684\u5b89\u88c5\u6a21\u5f0f\u4e0b\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u7684\u9ed8\u8ba4\u5f00\u542f\u60c5\u51b5\u4e0d\u540c\uff0c\u5e76\u4e14\u5f00\u542f\u7684\u65b9\u5f0f\u4e0d\u540c\u3002 \u4e0b\u9762\u4f1a\u6839\u636e\u5b89\u88c5\u6a21\u5f0f\u5206\u522b\u4ecb\u7ecd\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u7684\u9ed8\u8ba4\u5f00\u542f\u60c5\u51b5\u4ee5\u53ca\u5982\u4f55\u5f00\u542f\u3002

    Note

    \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u4f1a\u4fee\u6539 istio-ingressgateway \u7684\u526f\u672c\u6570\uff0c\u5e26\u6765\u4e00\u5b9a\u7684\u6027\u80fd\u635f\u8017\u3002 \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u9700\u8981\u5173\u95ed kube-proxy \u7684\u8d1f\u8f7d\u5747\u8861\u4ee5\u53ca\u62d3\u6251\u611f\u77e5\u8def\u7531\uff0c\u4f1a\u5bf9\u96c6\u7fa4\u6027\u80fd\u4ea7\u751f\u4e00\u5b9a\u7684\u5f71\u54cd\u3002 \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u540e\uff0c\u8bbf\u95eeIP\u6240\u5bf9\u5e94\u7684\u8282\u70b9\u4e0a\u5fc5\u987b\u4fdd\u8bc1\u5b58\u5728 istio-ingressgateway \uff0c\u82e5\u56e0\u4e3a\u8282\u70b9\u5065\u5eb7\u6216\u5176\u4ed6\u95ee\u9898\u5bfc\u81f4 istio-ingressgateway \u53d1\u751f\u6f02\u79fb\uff0c\u9700\u8981\u624b\u52a8\u8c03\u5ea6\u56de\u8be5\u8282\u70b9\uff0c\u5426\u5219\u4f1a\u5f71\u54cd\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u6b63\u5e38\u4f7f\u7528\u3002

    "},{"location":"admin/ghippo/audit/source-ip.html#_1","title":"\u5224\u65ad\u5b89\u88c5\u6a21\u5f0f\u7684\u65b9\u6cd5","text":"
    kubectl get pod -n metallb-system\n

    \u5728\u96c6\u7fa4\u4e2d\u6267\u884c\u4e0a\u9762\u7684\u547d\u4ee4\uff0c\u82e5\u8fd4\u56de\u7ed3\u679c\u5982\u4e0b\uff0c\u5219\u8868\u793a\u8be5\u96c6\u7fa4\u4e3a\u975e MetalLB \u5b89\u88c5\u6a21\u5f0f

    No resources found in metallbs-system namespace.\n
    "},{"location":"admin/ghippo/audit/source-ip.html#nodeport","title":"NodePort \u5b89\u88c5\u6a21\u5f0f","text":"

    \u8be5\u6a21\u5f0f\u5b89\u88c5\u4e0b\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u9ed8\u8ba4\u662f\u5173\u95ed\u7684\uff0c\u5f00\u542f\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u8bbe\u7f6e istio-ingressgateway \u7684 HPA \u7684\u6700\u5c0f\u526f\u672c\u6570\u4e3a\u63a7\u5236\u9762\u8282\u70b9\u6570

      count=$(kubectl get nodes --selector=node-role.kubernetes.io/control-plane | wc -l)\ncount=$((count-1))\n\nkubectl patch hpa istio-ingressgateway -n istio-system -p '{\"spec\":{\"minReplicas\":'$count'}}'\n
    2. \u4fee\u6539 istio-ingressgateway \u7684 service \u7684 externalTrafficPolicy \u548c internalTrafficPolicy \u503c\u4e3a \"Local\"

      kubectl patch svc istio-ingressgateway -n istio-system -p '{\"spec\":{\"externalTrafficPolicy\":\"Local\",\"internalTrafficPolicy\":\"Local\"}}'\n
    "},{"location":"admin/ghippo/audit/source-ip.html#metallb","title":"MetalLB \u5b89\u88c5\u6a21\u5f0f","text":"

    \u8be5\u6a21\u5f0f\u4e0b\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u4f1a\u9ed8\u8ba4\u83b7\u53d6\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP\u3002

    "},{"location":"admin/ghippo/audit/gproduct-audit/amamba.html","title":"\u5e94\u7528\u5de5\u4f5c\u53f0\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u539f\u751f\u5e94\u7528\uff1aCreate-Application Application \u66f4\u65b0\u539f\u751f\u5e94\u7528\uff1aUpdate-Application Application \u7f16\u8f91yaml\u3001\u521b\u5efa\u7248\u672c\u5feb\u7167\u3001\u56de\u6eda \u5220\u9664\u539f\u751f\u5e94\u7528\uff1aDelete-Application Application \u521b\u5efa OAM \u5e94\u7528\uff1aCreate-OAMApplication OAMApplication \u66f4\u65b0 OAM \u5e94\u7528\uff1aUpdate-OAMApplication OAMApplication \u7f16\u8f91yaml \u6dfb\u52a0 OAM \u5e94\u7528\u7ec4\u4ef6\uff1aAdd-OAMApplicationComponent OAMApplicationComponent \u6dfb\u52a0\u7ec4\u4ef6 \u66f4\u65b0 OAM \u7ec4\u4ef6\u8fd0\u7ef4\u7279\u5f81\uff1aUpdate-OAMApplicationComponentTrait OAMApplicationComponentTrait \u66f4\u65b0\u5e94\u7528\u7ec4\u4ef6\u8fd0\u7ef4\u7279\u5f81 \u5220\u9664 OAM \u5e94\u7528\uff1aDelete-OAMApplication OAMApplication \u521b\u5efa HELM \u5e94\u7528\uff1aCreate-HelmApplication HelmApplication \u521b\u5efaOLM \u5e94\u7528\uff1aCreate-OLMApplication OLMApplication \u66f4\u65b0OLM \u5e94\u7528\uff1aUpdate-OLMApplication OLMApplication \u521b\u5efaOLM \u5e94\u7528\uff1aDelete-OLMApplication OLMApplication \u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff1aCreate-Namespace Namespace \u66f4\u65b0\u547d\u540d\u7a7a\u95f4\u914d\u989d\uff1aUpdate-NamespaceQuota NamespaceQuota \u5220\u9664\u547d\u540d\u7a7a\u95f4\uff1aDelete-Namespace Namespace \u521b\u5efa\u6d41\u6c34\u7ebf\uff1aCreate-Pipeline Pipeline \u66f4\u65b0\u6d41\u6c34\u7ebf\uff1aUpdate-Pipeline Pipeline \u5305\u542b\u6240\u6709\u7684\u66f4\u65b0\u64cd\u4f5c(\u7f16\u8f91jenkinsfile\u3001\u7f16\u8f91\u914d\u7f6e\u3001\u7f16\u8f91\u56fe\u5f62\u5316\u3001) \u8fd0\u884c\u6d41\u6c34\u7ebf\uff1aRun-Pipeline Pipeline \u7acb\u5373\u8fd0\u884cc\u5965\u505a \u91cd\u65b0\u8fd0\u884c\uff1aReRun-Pipeline Pipeline \u91cd\u65b0\u6267\u884c\u64cd\u4f5c \u7ec8\u6b62\u6d41\u6c34\u7ebf\uff1aAbort-Pipeline Pipeline \u7ec8\u6b62\u64cd\u4f5c+\u5ba1\u6279\u6b65\u9aa4\u7684\u7ec8\u6b62\u64cd\u4f5c \u5ba1\u6279\u6d41\u6c34\u7ebf\uff1aApproval-Pipeline Pipeline \u5ba1\u6279\u901a\u8fc7\u6d41\u6c34\u7ebf \u5220\u9664\u6d41\u6c34\u7ebf\uff1aDelete-Pipeline Pipeline \u521b\u5efa\u6d41\u6c34\u7ebf\u51ed\u8bc1\uff1aCreate-PipelineCredential PipelineCredential \u5220\u9664\u6d41\u6c34\u7ebf\u51ed\u8bc1\uff1aDelete-PipelineCredential PipelineCredential \u521b\u5efa\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aCreate-GrayscaleTask GrayscaleTask \u662f\u5426\u8981\u533a\u5206\u662f\u84dd\u7eff\u8fd8\u662f\u91d1\u4e1d\u96c0 \u66f4\u65b0\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aUpdate-GrayscaleTask GrayscaleTask \u66f4\u65b0\u53d1\u5e03\u4efb\u52a1\u3001\u66f4\u65b0\u7248\u672c\u3001\u7f16\u8f91 yaml\u3001\u66f4\u65b0\u5b9e\u4f8b\u6570 \u53d1\u5e03\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\u4efb\u52a1\uff1aUpgrade-GrayscaleTask GrayscaleTask \u7ec8\u6b62\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aAbort-GrayscaleTask GrayscaleTask \u56de\u6eda\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aUndo-GrayscaleTask GrayscaleTask \u5220\u9664\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aDelete-GrayscaleTask GrayscaleTask \u521b\u5efaGitOps\u5e94\u7528\uff1aCreate-GitOpsApplication GitOpsApplication \u66f4\u65b0GitOps\u5e94\u7528\uff1aUpdate-GitOpsApplication GitOpsApplication \u540c\u6b65GitOps\u5e94\u7528\uff1aSync-GitOpsApplication GitOpsApplication \u5220\u9664GitOps\u5e94\u7528\uff1aDelete-GitOpsApplication GitOpsApplication \u5bfc\u5165 GitOps \u4ed3\u5e93\uff1aImport-GitOpsRepository GitOpsRepository \u5220\u9664 GitOps \u4ed3\u5e93\uff1aDelete-GitOpsRepository GitOpsRepository \u5de5\u5177\u94fe\u96c6\u6210\uff1aIntegrated-Toolchain Toolchain \u89e3\u9664\u96c6\u6210\u5de5\u5177\u94fe\uff1aDelete-Toolchain Toolchain \u7ed1\u5b9a\u5de5\u5177\u94fe\u9879\u76ee\uff1aBind-ToolchainProject ToolchainProject jira\u3001gitlab \u652f\u6301\u7ba1\u7406\u5458\u89c6\u89d2\u4e0b sonarqube \u4e5f\u652f\u6301 \u89e3\u9664\u7ed1\u5b9a\u5de5\u5177\u94fe\u5de5\u5177\u94fe\u9879\u76ee\uff1aUnbind-ToolchainProject ToolchainProject jira\u3001gitlab \u652f\u6301\u7ba1\u7406\u5458\u89c6\u89d2\u4e0b sonarqube \u4e5f\u652f\u6301"},{"location":"admin/ghippo/audit/gproduct-audit/ghippo.html","title":"\u5168\u5c40\u7ba1\u7406\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u4fee\u6539\u7528\u6237email\uff1aUpdateEmail-Account Account \u4fee\u6539\u7528\u6237\u5bc6\u7801\uff1aUpdatePassword-Account Account \u521b\u5efask\uff1aCreateAccessKeys-Account Account \u4fee\u6539sk\uff1aUpdateAccessKeys-Account Account \u5220\u9664sk\uff1aDeleteAccessKeys-Account Account \u521b\u5efa\u7528\u6237\uff1aCreate-User User \u5220\u9664\u7528\u6237\uff1aDelete-User User \u66f4\u65b0\u7528\u6237\u4fe1\u606f\uff1aUpdate-User User \u66f4\u65b0\u7528\u6237\u89d2\u8272\uff1a UpdateRoles-User User \u8bbe\u7f6e\u7528\u6237\u5bc6\u7801\uff1a UpdatePassword-User User \u521b\u5efa\u7528\u6237\u5bc6\u94a5\uff1a CreateAccessKeys-User User \u66f4\u65b0\u7528\u6237\u5bc6\u94a5\uff1a UpdateAccessKeys-User User \u5220\u9664\u7528\u6237\u5bc6\u94a5\uff1aDeleteAccessKeys-User User \u521b\u5efa\u7528\u6237\u7ec4\uff1aCreate-Group Group \u5220\u9664\u7528\u6237\u7ec4\uff1aDelete-Group Group \u66f4\u65b0\u7528\u6237\u7ec4\uff1aUpdate-Group Group \u6dfb\u52a0\u7528\u6237\u81f3\u7528\u6237\u7ec4\uff1aAddUserTo-Group Group \u4ece\u7528\u6237\u7ec4\u5220\u9664\u7528\u6237\uff1a RemoveUserFrom-Group Group \u66f4\u65b0\u7528\u6237\u7ec4\u89d2\u8272\uff1a UpdateRoles-Group Group \u89d2\u8272\u5173\u8054\u7528\u6237\uff1aUpdateRoles-User User \u521b\u5efaLdap \uff1aCreate-LADP LADP \u66f4\u65b0Ldap\uff1aUpdate-LADP LADP \u5220\u9664Ldap \uff1a Delete-LADP LADP OIDC\u6ca1\u6709\u8d70APIserver\u5ba1\u8ba1\u4e0d\u5230 \u767b\u5f55\uff1aLogin-User User \u767b\u51fa\uff1aLogout-User User \u8bbe\u7f6e\u5bc6\u7801\u7b56\u7565\uff1aUpdatePassword-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u4f1a\u8bdd\u8d85\u65f6\uff1aUpdateSessionTimeout-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u8d26\u53f7\u9501\u5b9a\uff1aUpdateAccountLockout-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u81ea\u52a8\u767b\u51fa\uff1aUpdateLogout-SecurityPolicy SecurityPolicy \u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e MailServer-SecurityPolicy SecurityPolicy \u5916\u89c2\u5b9a\u5236 CustomAppearance-SecurityPolicy SecurityPolicy \u6b63\u7248\u6388\u6743 OfficialAuthz-SecurityPolicy SecurityPolicy \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\uff1aCreate-Workspace Workspace \u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\uff1aDelete-Workspace Workspace \u7ed1\u5b9a\u8d44\u6e90\uff1aBindResourceTo-Workspace Workspace \u89e3\u7ed1\u8d44\u6e90\uff1aUnBindResource-Workspace Workspace \u7ed1\u5b9a\u5171\u4eab\u8d44\u6e90\uff1aBindShared-Workspace Workspace \u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff1aSetQuota-Workspace Workspace \u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\uff1aAuthorize-Workspace Workspace \u5220\u9664\u6388\u6743 DeAuthorize-Workspace Workspace \u7f16\u8f91\u6388\u6743 UpdateDeAuthorize-Workspace Workspace \u66f4\u65b0\u5de5\u4f5c\u7a7a\u95f4 Update-Workspace Workspace \u521b\u5efa\u6587\u4ef6\u5939\uff1aCreate-Folder Folder \u5220\u9664\u6587\u4ef6\u5939\uff1aDelete-Folder Folder \u7f16\u8f91\u6587\u4ef6\u5939\u6388\u6743\uff1aUpdateAuthorize-Folder Folder \u66f4\u65b0\u6587\u4ef6\u5939\uff1aUpdate-Folder Folder \u65b0\u589e\u6587\u4ef6\u5939\u6388\u6743\uff1aAuthorize-Folder Folder \u5220\u9664\u6587\u4ef6\u5939\u6388\u6743\uff1aDeAuthorize-Folder Folder \u8bbe\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u81ea\u52a8\u6e05\u7406\uff1aAutoCleanup-Audit Audit \u624b\u52a8\u6e05\u7406\u5ba1\u8ba1\u65e5\u5fd7\uff1aManualCleanup-Audit Audit \u5bfc\u51fa\u5ba1\u8ba1\u65e5\u5fd7\uff1aExport-Audit Audit"},{"location":"admin/ghippo/audit/gproduct-audit/insight.html","title":"\u53ef\u89c2\u6d4b\u6027\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u62e8\u6d4b\u4efb\u52a1\uff1aCreate-ProbeJob ProbeJob \u7f16\u8f91\u62e8\u6d4b\u4efb\u52a1\uff1aUpdate-ProbeJob ProbeJob \u5220\u9664\u62e8\u6d4b\u4efb\u52a1\uff1aDelete-ProbeJob ProbeJob \u521b\u5efa\u544a\u8b66\u7b56\u7565\uff1aCreate-AlertPolicy AlertPolicy \u7f16\u8f91\u544a\u8b66\u7b56\u7565\uff1aUpdate-AlertPolicy AlertPolicy \u5220\u9664\u544a\u8b66\u7b56\u7565\uff1aDelete-AlertPolicy AlertPolicy \u5bfc\u5165\u544a\u8b66\u7b56\u7565\uff1aImport-AlertPolicy AlertPolicy \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u6dfb\u52a0\u89c4\u5219\uff1aCreate-AlertRule AlertRule \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u7f16\u8f91\u89c4\u5219\uff1aUpdate-AlertRule AlertRule \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u5220\u9664\u89c4\u5219\uff1aDelete-AlertRule AlertRule \u521b\u5efa\u544a\u8b66\u6a21\u677f\uff1aCreate-RuleTemplate RuleTemplate \u7f16\u8f91\u544a\u8b66\u6a21\u677f\uff1aUpdate-RuleTemplate RuleTemplate \u5220\u9664\u544a\u8b66\u6a21\u677f\uff1aDelete-RuleTemplate RuleTemplate \u521b\u5efa\u90ae\u7bb1\u7ec4\uff1aCreate-email email \u7f16\u8f91\u90ae\u7bb1\u7ec4\uff1aUpdate-email email \u5220\u9664\u90ae\u7bb1\u7ec4\uff1aDelete-Receiver Receiver \u521b\u5efa\u9489\u9489\u673a\u5668\u4eba\uff1aCreate-dingtalk dingtalk \u7f16\u8f91\u9489\u9489\u673a\u5668\u4eba\uff1aUpdate-dingtalk dingtalk \u5220\u9664\u9489\u9489\u673a\u5668\u4eba\uff1aDelete-Receiver Receiver \u521b\u5efa\u4f01\u5fae\u673a\u5668\u4eba\uff1aCreate-wecom wecom \u7f16\u8f91\u4f01\u5fae\u673a\u5668\u4eba\uff1aUpdate-wecom wecom \u5220\u9664\u4f01\u5fae\u673a\u5668\u4eba\uff1aDelete-Receiver Receiver \u521b\u5efa Webhook\uff1aCreate-webhook webhook \u7f16\u8f91 Webhook\uff1aUpdate-webhook webhook \u5220\u9664 Webhook\uff1aDelete-Receiver Receiver \u521b\u5efa SMS\uff1aCreate-sms sms \u7f16\u8f91 SMS\uff1aUpdate-sms sms \u5220\u9664 SMS\uff1aDelete-Receiver Receiver \u521b\u5efa SMS \u670d\u52a1\u5668\uff1aCreate-aliyun(\u6216\u8005\uff1atencent\uff0ccustom) aliyun, tencent, custom \u7f16\u8f91 SMS \u670d\u52a1\u5668\uff1aUpdate-aliyun(\u6216\u8005\uff1atencent\uff0ccustom) aliyun, tencent, custom \u5220\u9664 SMS \u670d\u52a1\u5668\uff1aDelete-SMSserver SMSserver \u521b\u5efa\u6d88\u606f\u6a21\u677f\uff1aCreate-MessageTemplate MessageTemplate \u7f16\u8f91\u6d88\u606f\u6a21\u677f\uff1aUpdate-MessageTemplate MessageTemplate \u5220\u9664\u6d88\u606f\u6a21\u677f\uff1aDelete-MessageTemplate MessageTemplate \u521b\u5efa\u544a\u8b66\u9759\u9ed8\uff1aCreate-AlertSilence AlertSilence \u7f16\u8f91\u544a\u8b66\u9759\u9ed8\uff1aUpdate-AlertSilence AlertSilence \u5220\u9664\u544a\u8b66\u9759\u9ed8\uff1aDelete-AlertSilence AlertSilence \u521b\u5efa\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aCreate-AlertInhibition AlertInhibition \u7f16\u8f91\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aUpdate-AlertInhibition AlertInhibition \u5220\u9664\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aDelete-AlertInhibition AlertInhibition \u66f4\u65b0\u7cfb\u7edf\u914d\u7f6e\uff1aUpdate-SystemSettings SystemSettings"},{"location":"admin/ghippo/audit/gproduct-audit/kairship.html","title":"\u591a\u4e91\u7f16\u6392\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u6dfb\u52a0\u591a\u4e91\u5b9e\u4f8b\uff1aCreate-Instance Instance \u5220\u9664\u591a\u4e91\u5b9e\u4f8b\uff1aDelete-Instance Instance \u63a5\u5165\u96c6\u7fa4\uff1aIntegrate-Cluster Cluster \u79fb\u9664\u96c6\u7fa4\uff1aRemove-Cluster Cluster \u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-Deployment Deployment \u66f4\u65b0\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aUpdate-Deployment Deployment \u5220\u9664\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-Deployment Deployment \u521b\u5efa\u4efb\u52a1\uff1aCreate-Job Job \u66f4\u65b0\u4efb\u52a1\uff1aUpdate-Job Job \u5220\u9664\u4efb\u52a1\uff1aDelete-Job Job \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff1aCreate-CronJob CronJob \u66f4\u65b0\u5b9a\u65f6\u4efb\u52a1\uff1aUpdate-CronJob CronJob \u5220\u9664\u5b9a\u65f6\u4efb\u52a1\uff1aDelete-CronJob CronJob \u521b\u5efa\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aCreate-CRD CRD \u66f4\u65b0\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aUpdate-CRD CRD \u5220\u9664\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aDelete-CRD CRD \u521b\u5efa\u591a\u4e91\u670d\u52a1\uff1aCreate-Multicloud Services Multicloud Services \u66f4\u65b0\u591a\u4e91\u670d\u52a1\uff1aUpdate-Multicloud Services Multicloud Services \u5220\u9664\u591a\u4e91\u670d\u52a1\uff1aDelete-Multicloud Services Multicloud Services \u521b\u5efa\u591a\u4e91\u8def\u7531\uff1aCreate-Multicloud Ingress Multicloud Ingress \u66f4\u65b0\u591a\u4e91\u8def\u7531\uff1aUpdate-Multicloud Ingress Multicloud Ingress \u5220\u9664\u591a\u4e91\u8def\u7531\uff1aDelete-Multicloud Ingress Multicloud Ingress \u521b\u5efa\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aCreate-Multicloud Namespace Multicloud Namespace \u66f4\u65b0\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aUpdate-Multicloud Namespace Multicloud Namespace \u5220\u9664\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aDelete-Multicloud Namespace Multicloud Namespace \u521b\u5efa\u591a\u4e91\u914d\u7f6e\u9879\uff1aCreate-Multicloud ConfigMaps Multicloud ConfigMaps \u66f4\u65b0\u591a\u4e91\u914d\u7f6e\u9879\uff1aUpdate-Multicloud ConfigMaps Multicloud ConfigMaps \u5220\u9664\u591a\u4e91\u914d\u7f6e\u9879\uff1aDelete-Multicloud ConfigMaps Multicloud ConfigMaps \u521b\u5efa\u591a\u4e91\u5bc6\u94a5\uff1aCreate-Multicloud Secret Multicloud Secret \u66f4\u65b0\u591a\u4e91\u5bc6\u94a5\uff1aUpdate-Multicloud Secret Multicloud Secret \u5220\u9664\u591a\u4e91\u5bc6\u94a5\uff1aDelete-Multicloud Secret Multicloud Secret \u521b\u5efa\u90e8\u7f72\u7b56\u7565\uff1aCreate-Propagation Policies Propagation Policies \u66f4\u65b0\u90e8\u7f72\u7b56\u7565\uff1aUpdate-Propagation Policies Propagation Policies \u5220\u9664\u90e8\u7f72\u7b56\u7565\uff1aDelete-Propagation Policies Propagation Policies \u521b\u5efa\u5dee\u5f02\u5316\u7b56\u7565\uff1aCreate-Override Policies Override Policies \u66f4\u65b0\u5dee\u5f02\u5316\u7b56\u7565\uff1aUpdate-Override Policies Override Policies \u5220\u9664\u5dee\u5f02\u5316\u7b56\u7565\uff1aDelete-Override Policies Override Policies"},{"location":"admin/ghippo/audit/gproduct-audit/kangaroo.html","title":"\u955c\u50cf\u4ed3\u5e93\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u955c\u50cf\u5220\u9664\uff1aDelete-Image Image artifact\u5220\u9664\uff1aDelete-Artifacts Artifacts \u521b\u5efa\u56de\u6536\u89c4\u5219\uff1aCreate-ReclaimRule ReclaimRule \u540c\u4e00\u4e2a\u63a5\u53e3\uff0c\u53ea\u80fd\u8bb0\u5f55\u4e00\u6761 \u5220\u9664\u56de\u6536\u89c4\u5219\uff1aDelete-ReclaimRule ReclaimRule \u5b9a\u65f6\u8fd0\u884c\u56de\u6536\u89c4\u5219\uff1aSheduled-ReclaimRule ReclaimRule \u624b\u52a8\u8fd0\u884c\u56de\u6536\u89c4\u5219\uff1aManual-ReclaimRule ReclaimRule \u5355\u72ec\u8bb0\u5f55 \u521b\u5efa\u4ed3\u5e93\u96c6\u6210\uff1aCreate-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u5220\u9664\u4ed3\u5e93\u96c6\u6210\uff1aDelete-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u66f4\u65b0\u4ed3\u5e93\u96c6\u6210\uff1aUpdate-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u521b\u5efa\u4ed3\u5e93\u96c6\u6210\uff1aCreate-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u5220\u9664\u4ed3\u5e93\u96c6\u6210\uff1aDelete-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u66f4\u65b0\u4ed3\u5e93\u96c6\u6210\uff1aUpdate-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u521b\u5efa\u6258\u7ba1harbor\uff1aCreate-Harbor Harbor \u5220\u9664\u6258\u7ba1Harbor\uff1aDelete-Harbor Harbor \u66f4\u65b0\u6258\u7ba1Harbor\uff1aUpdate-Harbor Harbor"},{"location":"admin/ghippo/audit/gproduct-audit/kpanda.html","title":"\u5bb9\u5668\u7ba1\u7406\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u521b\u5efa\u96c6\u7fa4\uff1aCreate-Cluster Cluster \u5378\u8f7d\u96c6\u7fa4\uff1aDelete-Cluster Cluster \u63a5\u5165\u96c6\u7fa4\uff1aIntegrate-Cluster Cluster \u89e3\u9664\u63a5\u5165\u7684\u96c6\u7fa4\uff1aRemove-Cluster Cluster \u96c6\u7fa4\u5347\u7ea7\uff1aUpgrade-Cluster Cluster \u96c6\u7fa4\u63a5\u5165\u8282\u70b9\uff1aIntegrate-Node Node \u96c6\u7fa4\u8282\u70b9\u79fb\u9664\uff1aRemove-Node Node \u96c6\u7fa4\u8282\u70b9 GPU \u6a21\u5f0f\u5207\u6362\uff1aUpdate-NodeGPUMode NodeGPUMode helm\u4ed3\u5e93\u521b\u5efa\uff1aCreate-HelmRepo HelmRepo helm\u5e94\u7528\u90e8\u7f72\uff1aCreate-HelmApp HelmApp helm\u5e94\u7528\u5220\u9664\uff1aDelete-HelmApp HelmApp \u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-Deployment Deployment \u5220\u9664\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-Deployment Deployment \u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\uff1aCreate-DaemonSet DaemonSet \u5220\u9664\u5b88\u62a4\u8fdb\u7a0b\uff1aDelete-DaemonSet DaemonSet \u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-StatefulSet StatefulSet \u5220\u9664\u6709\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-StatefulSet StatefulSet \u521b\u5efa\u4efb\u52a1\uff1aCreate-Job Job \u5220\u9664\u4efb\u52a1\uff1aDelete-Job Job \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff1aCreate-CronJob CronJob \u5220\u9664\u5b9a\u65f6\u4efb\u52a1\uff1aDelete-CronJob CronJob \u5220\u9664\u5bb9\u5668\u7ec4\uff1aDelete-Pod Pod \u521b\u5efa\u670d\u52a1\uff1aCreate-Service Service \u5220\u9664\u670d\u52a1\uff1aDelete-Service Service \u521b\u5efa\u8def\u7531\uff1aCreate-Ingress Ingress \u5220\u9664\u8def\u7531\uff1aDelete-Ingress Ingress \u521b\u5efa\u5b58\u50a8\u6c60\uff1aCreate-StorageClass StorageClass \u5220\u9664\u5b58\u50a8\u6c60\uff1aDelete-StorageClass StorageClass \u521b\u5efa\u6570\u636e\u5377\uff1aCreate-PersistentVolume PersistentVolume \u5220\u9664\u6570\u636e\u5377\uff1aDelete-PersistentVolume PersistentVolume \u521b\u5efa\u6570\u636e\u5377\u58f0\u660e\uff1aCreate-PersistentVolumeClaim PersistentVolumeClaim \u5220\u9664\u6570\u636e\u5377\u58f0\u660e\uff1aDelete-PersistentVolumeClaim PersistentVolumeClaim \u5220\u9664\u526f\u672c\u96c6\uff1aDelete-ReplicaSet ReplicaSet ns\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\uff1aBindResourceTo-Workspace Workspace ns\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4 \uff1aUnBindResource-Workspace Workspace \u96c6\u7fa4\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\uff1aBindResourceTo-Workspace Workspace \u96c6\u7fa4\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\uff1aUnBindResource-Workspace Workspace \u6253\u5f00\u63a7\u5236\u53f0\uff1aCreate-CloudShell CloudShell \u5173\u95ed\u63a7\u5236\u53f0\uff1aDelete-CloudShell CloudShell"},{"location":"admin/ghippo/audit/gproduct-audit/mcamel.html","title":"\u4e2d\u95f4\u4ef6\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa es\uff1acreate-ElasticsearchInstance ElasticsearchInstance \u521b\u5efa kafka\uff1acreate-KafkaInstance KafkaInstance \u521b\u5efa MinIO\uff1acreate-MinIOInstance MinIOInstance \u521b\u5efa PostgreSQL\uff1acreate-PostgreSQLInstance PostgreSQLInstance \u521b\u5efa RabbitMQ\uff1acreate-RabbitMQInstance RabbitMQInstance \u521b\u5efa\u6570\u636e\u5e93\uff1acreate-MySQLInstance MySQLInstance \u521b\u5efa\u6570\u636e\u5e93\uff1acreate-RedisInstance RedisInstance \u5220\u9664 es\uff1adelete-ElasticsearchInstance ElasticsearchInstance \u5220\u9664 kafka\uff1adelete-KafkaInstance KafkaInstance \u5220\u9664 MinIO\uff1adelete-MinIOInstance MinIOInstance \u5220\u9664 PostgreSQL\uff1adelete-PostgreSQLInstance PostgreSQLInstance \u5220\u9664 RabbitMQ\uff1adelete-RabbitMQInstance RabbitMQInstance \u5220\u9664\u6570\u636e\u5e93\uff1adelete-MySQLInstance MySQLInstance \u5220\u9664\u6570\u636e\u5e93\uff1adelete-RedisInstance RedisInstance \u66f4\u65b0\u5907\u4efd\u8bbe\u7f6e\uff1aupdate-MySQLBackup MySQLBackup \u66f4\u65b0\u5907\u4efd\u8bbe\u7f6e\uff1aupdate-RedisBackup RedisBackup \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-ElasticsearchInstance ElasticsearchInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-KafkaInstance KafkaInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-MinIOInstance MinIOInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-MySQLInstance MySQLInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-PostgreSQLInstance PostgreSQLInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-RabbitMQInstance RabbitMQInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-RedisInstance RedisInstance"},{"location":"admin/ghippo/audit/gproduct-audit/mspider.html","title":"\u670d\u52a1\u7f51\u683c\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u7f51\u683c\uff1acreate-MeshInstance MeshInstance \u5220\u9664\u7f51\u683c\uff1adelete-MeshInstance MeshInstance \u63a5\u5165\u96c6\u7fa4\uff1aAdd-Cluster cluster \u79fb\u9664\u96c6\u7fa4\uff1aRemove-Cluster cluster \u547d\u540d\u7a7a\u95f4\u8fb9\u8f66\u6ce8\u5165\u542f\u7528\uff1aInjectSidecarTo-Namespace Namespace \u547d\u540d\u7a7a\u95f4\u8fb9\u8f66\u6ce8\u5165\u7981\u7528\uff1aForbiddenInjectSidecarTo-Namespace Namespace \u5de5\u4f5c\u8d1f\u8f7d\u8fb9\u8f66\u6ce8\u5165\u542f\u7528\uff1aInjectSidecarTo-Workload workload \u5de5\u4f5c\u8d1f\u8f7d\u8fb9\u8f66\u6ce8\u5165\u7981\u7528\uff1aForbiddenInjectSidecarTo-Workload workload \u521b\u5efa\u7f51\u683c\u7f51\u5173\uff1acreate-MeshGateway MeshGateway \u5220\u9664\u7f51\u683c\u7f51\u5173\uff1adelete-MeshGateway MeshGateway \u542f\u7528\u591a\u4e91\uff1aEnable-Multicloud Multicloud \u5173\u95ed\u591a\u4e91\uff1aClose-Multicloud Multicloud \u542f\u7528\u4e92\u8054\uff1aEnableInterconnection MulticloudGroup \u79fb\u51fa\u4e92\u8054\uff1aDisableInterconnection MulticloudGroup"},{"location":"admin/ghippo/audit/gproduct-audit/skoala.html","title":"\u5fae\u670d\u52a1\u5f15\u64ce\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u7f51\u5173\uff1aCreate-Gateway Gateway \u66f4\u65b0\u7f51\u5173\uff1aUpdate-Gateway Gateway \u96c6\u7fa4\u4e2d\u7f51\u5173\u5217\u8868\uff1aListClusterGateway-Gateway Gateway \u5220\u9664\u7f51\u5173\uff1aDelete-Gateway Gateway API \u4e0a\u4e0b\u7ebf\uff1aUpdateAPIStatus-GatewayAPI GatewayAPI API \u8c03\u7528\u6d4b\u8bd5\uff1aDebugGatewayAPI-GatewayAPI GatewayAPI \u521b\u5efa API\uff1aCreateGatewayAPI-GatewayAPI GatewayAPI \u5bfc\u5165 API \u68c0\u67e5\uff1aImportAPICheck-GatewayAPI GatewayAPI \u5bfc\u5165 API\uff1aImportAPI-GatewayAPI GatewayAPI \u66f4\u65b0 API \u9ad8\u7ea7\u7b56\u7565\uff1aUpdateGatewayAPIAdvancedPolicy-GatewayAPI GatewayAPI \u66f4\u65b0 API\uff1aUpdateGatewayAPI-GatewayAPI GatewayAPI \u6279\u91cf\u66f4\u65b0 API \u72b6\u6001\uff1aBatchOperationAPI-GatewayAPI GatewayAPI \u5220\u9664 API\uff1aDeleteAPI-GatewayAPI GatewayAPI \u521b\u5efa\u7f51\u5173\u63a5\u5165\u670d\u52a1\uff1aCreateService-GatewayService GatewayService \u66f4\u65b0\u7f51\u5173\u670d\u52a1\u7b56\u7565\uff1aUpdateServicePolicy-GatewayService GatewayService \u66f4\u65b0\u7f51\u5173\u63a5\u5165\u670d\u52a1\uff1aUpdateService-GatewayService GatewayService \u5220\u9664\u7f51\u5173\u670d\u52a1\uff1aDeleteService-GatewayService GatewayService \u521b\u5efa\u6d41\u91cf\u6cf3\u9053\uff1aCreateLane-Lane Lane \u521b\u5efa\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aCreateLaneDrainageRule-Lane Lane \u66f4\u65b0\u6d41\u91cf\u6cf3\u9053\u72b6\u6001\uff1aActionLane-Lane Lane \u66f4\u65b0\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\u72b6\u6001\uff1aUpdateLaneDrainageRuleStatus-Lane Lane \u66f4\u65b0\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aUpdateLaneDrainageRule-Lane Lane \u5220\u9664\u6d41\u91cf\u6cf3\u9053\uff1aDeleteLane-Lane Lane \u5220\u9664\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aDeleteLaneDrainageRule-Lane Lane \u6dfb\u52a0\u6d41\u91cf\u6cf3\u9053\u670d\u52a1\uff1aAddLaneService-Lane Lane \u79fb\u9664\u6d41\u91cf\u6cf3\u9053\u670d\u52a1\uff1aDeleteLaneService-Lane Lane \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aCreateServiceIstioPlugin-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aCreateTimeout-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aCreateFault-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aCreateOutlierDetection-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aCreateConnectionPool-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aCreateRetry-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aCreateRewrite-Mesh Mesh \u5bf9\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\u6392\u5e8f\uff1aSortServiceIstioPlugin-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aUpdateServiceIstioPlugin-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aUpdateTimeout-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d1f\u8f7d\u5747\u8861\uff1aUpdateLb-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aUpdateFault-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aUpdateOutlierDetection-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aUpdateConnectionPool-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aUpdateRetry-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aUpdateRewrite-Mesh Mesh \u5c06\u7f51\u683c\u670d\u52a1\u5bfc\u5165\u5230\u4e91\u539f\u751f\u5fae\u670d\u52a1\u4e2d\uff1aExportService-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aDeleteServiceIstioPlugin-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aDeleteTimeout-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aDeleteFault-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aDeleteOutlierDetection-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aDeleteConnectionPool-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aDeleteRetry-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aDeleteRewrite-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u7ed1\u5b9a\u9650\u6d41\u89c4\u5219\uff1aCreateServiceIstioPluginRLSRules-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u66f4\u65b0\u9650\u6d41\u89c4\u5219\uff1aUpdateServiceIstioPluginRLSRules-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u5220\u9664\u9650\u6d41\u89c4\u5219\uff1aDeleteServiceIstioPluginRLSRules-Mesh Mesh \u79fb\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\uff1aRemoveService-Mesh Mesh \u6309metadata\u67e5\u8be2\u6258\u7ba1 Nacos\u670d\u52a1\u7684\u5b9e\u4f8b\u5217\u8868\uff1aQueryServiceInstance-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aCreateConfig-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684 API \u4fe1\u606f\uff1aCreateServiceAPI-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aCreateNamespace-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos\uff1aCreate-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u670d\u52a1\uff1aUpdateService-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aUpdateConfig-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684 API \u4fe1\u606f\uff1aUpdateServiceAPI-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684\u5b9e\u4f8b\u8be6\u60c5\uff1aUpdateServiceInstance-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aUpdateNamespace-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos\uff1aUpdate-Nacos Nacos \u56de\u6eda\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aRollbackConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aDeleteConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u914d\u7f6e\u7684\u7070\u5ea6\u914d\u7f6e\uff1aDeleteBetaConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aDeleteNamespace-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos\uff1aDelete-Nacos Nacos \u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u670d\u52a1\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetServiceInsight-Nacos Nacos \u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684\u5b9e\u4f8b\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetServiceInstanceInsight-Nacos Nacos \u4fee\u6539\u6258\u7ba1 Nacos \u7528\u6237\u5bc6\u7801\uff1aUpdateUserPassword-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u7684\u63d2\u4ef6\u8be6\u60c5\uff1aUpdate-Plugin Plugin \u521b\u5efa\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684 API \u6587\u6863\uff1aCreateServiceAPI-Registry Registry \u521b\u5efa\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aCreate-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684 API \u6587\u6863\uff1aUpdateServiceAPI-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u5b9e\u4f8b\uff1aUpdateInstance-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aUpdate-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u53ef\u89c2\u6d4b\u6570\u636e\uff1aGetServiceInsight-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u5b9e\u4f8b\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetInstanceInsight-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u53ef\u7528\u6027\u68c0\u6d4b\uff1aPing-Registry Registry \u79fb\u9664\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aDelete-Registry Registry \u521b\u5efa/\u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel Token \u670d\u52a1\u5668\uff1aCreateOrUpdateTokenServer-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aCreateFlowRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aCreateParamFlowRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aCreateDegradeRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aCreateAuthorityRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aCreateSystemRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aUpdateFlowRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aUpdateParamFlowRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aUpdateDegradeRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aUpdateAuthorityRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aUpdateSystemRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u96c6\u7fa4\u6d41\u63a7\uff1aDeleteClusterFlow-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aDeleteFlowRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aDeleteParamFlowRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aDeleteDegradeRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aDeleteAuthorityRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aDeleteSystemRule-Sentinel Sentinel \u79fb\u9664\u670d\u52a1\u5b9e\u4f8b\u4e2d\u7684 Sentinel \u6cbb\u7406\u8be6\u60c5\uff1aDeleteInsGovern-Sentinel Sentinel \u521b\u5efa\u63d2\u4ef6\uff1aCreatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\u72b6\u6001\uff1aUpdatePluginStatus-SkoalaPlugin SkoalaPlugin \u66f4\u65b0\u63d2\u4ef6\uff1aUpdatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\uff1aDeletePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u63d2\u4ef6\u6a21\u677f\uff1aCreatePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u63d2\u4ef6\uff1aCreatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\u6a21\u677f\uff1aUpdatePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\uff1aUpdatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\u6a21\u677f\uff1aDeletePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\uff1aDeletePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u57df\u540d\uff1aCreateVirtualhost-Virtualhost Virtualhost \u66f4\u65b0\u57df\u540d\uff1aUpdateVirtualhost-Virtualhost Virtualhost \u5220\u9664\u57df\u540d\uff1aDeleteVirtualhost-Virtualhost Virtualhost"},{"location":"admin/ghippo/audit/gproduct-audit/virtnest.html","title":"\u4e91\u4e3b\u673a\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u91cd\u542f\u4e91\u4e3b\u673a\uff1aRestart-VMs VM \u4e91\u4e3b\u673a\u8f6c\u6362\u4e3a\u6a21\u677f\uff1aConvertToTemplate-VMs VM \u7f16\u8f91\u4e91\u4e3b\u673a\uff1aEdit-VMs VM \u66f4\u65b0\u4e91\u4e3b\u673a\uff1aUpdate-VMs VM \u5feb\u7167\u6062\u590d\uff1aRestore-VMs VM \u5f00\u673a\u4e91\u4e3b\u673a\uff1aPower on-VMs VM \u5b9e\u65f6\u8fc1\u79fb\uff1aLiveMigrate-VMs VM \u5220\u9664\u4e91\u4e3b\u673a\uff1aDelete-VMs VM \u5220\u9664\u4e91\u4e3b\u673a\u6a21\u677f\uff1aDelete-VM Template VM Template \u521b\u5efa\u4e91\u4e3b\u673a\uff1aCreate-VMs VM \u521b\u5efa\u5feb\u7167\uff1aCreateSnapshot-VMs VM \u5173\u673a\u4e91\u4e3b\u673a\uff1aPower off-VMs VM \u514b\u9686\u4e91\u4e3b\u673a\uff1aClone-VMs VM"},{"location":"admin/ghippo/permissions/baize.html","title":"AI Lab \u6743\u9650\u8bf4\u660e","text":"

    AI Lab \u652f\u6301\u56db\u79cd\u7528\u6237\u89d2\u8272\uff1a

    • Admin / Baize Owner\uff1a\u62e5\u6709 \u5f00\u53d1\u63a7\u5236\u53f0 \u548c \u8fd0\u7ef4\u7ba1\u7406 \u5168\u90e8\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7684\u6743\u9650\u3002
    • Workspace Admin\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7684\u6743\u9650\u3002
    • Workspace Editor\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u66f4\u65b0\u3001\u67e5\u8be2\u7684\u6743\u9650\u3002
    • Workspace Viewer\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u67e5\u8be2\u7684\u6743\u9650\u3002

    \u6bcf\u79cd\u89d2\u8272\u5177\u6709\u4e0d\u540c\u7684\u6743\u9650\uff0c\u5177\u4f53\u8bf4\u660e\u5982\u4e0b\u3002

    \u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Admin / Baize Owner Workspace Admin Workspace Editor Workspace Viewer \u5f00\u53d1\u63a7\u5236\u53f0 \u6982\u89c8 \u67e5\u770b\u6982\u89c8 \u2713 \u2713 \u2713 \u2713 Notebooks \u67e5\u770b Notebooks \u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b Notebooks \u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 \u521b\u5efa Notebooks \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0 Notebooks \u2713 \u2713 \u2713 \u2717 \u514b\u9686 Notebooks \u2713 \u2713 \u2717 \u2717 \u505c\u6b62 Notebooks \u2713 \u2713 \u2713 \u2717 \u542f\u52a8 Notebooks \u2713 \u2713 \u2713 \u2717 \u5220\u9664 Notebooks \u2713 \u2713 \u2717 \u2717 \u4efb\u52a1\u5217\u8868 \u67e5\u770b\u4efb\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4efb\u52a1\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u514b\u9686\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b\u4efb\u52a1\u8d1f\u8f7d\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u4efb\u52a1\u5206\u6790 \u67e5\u770b\u4efb\u52a1\u5206\u6790 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4efb\u52a1\u5206\u6790\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u5220\u9664\u4efb\u52a1\u5206\u6790 \u2713 \u2713 \u2717 \u2717 \u6570\u636e\u96c6\u5217\u8868 \u67e5\u770b\u6570\u636e\u96c6\u5217\u8868 \u2713 \u2713 \u2713 \u2717 \u521b\u5efa\u6570\u636e\u96c6 \u2713 \u2713 \u2717 \u2717 \u91cd\u65b0\u540c\u6b65\u6570\u636e\u96c6 \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0\u51ed\u8bc1 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u6570\u636e\u96c6 \u2713 \u2713 \u2717 \u2717 \u73af\u5883\u7ba1\u7406 \u67e5\u770b\u73af\u5883\u7ba1\u7406\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u73af\u5883 \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0\u73af\u5883 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u73af\u5883 \u2713 \u2713 \u2717 \u2717 \u63a8\u7406\u670d\u52a1 \u67e5\u770b\u63a8\u7406\u670d\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u63a8\u7406\u670d\u52a1\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u505c\u6b62\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u542f\u52a8\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2717 \u2717 \u8fd0\u7ef4\u7ba1\u7406 \u6982\u89c8 \u67e5\u770b\u6982\u89c8 \u2713 \u2717 \u2717 \u2717 GPU \u7ba1\u7406 \u67e5\u770b GPU \u7ba1\u7406\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u961f\u5217\u7ba1\u7406 \u67e5\u770b\u961f\u5217\u7ba1\u7406\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u961f\u5217\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u961f\u5217 \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u961f\u5217 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u961f\u5217 \u2713 \u2717 \u2717 \u2717"},{"location":"admin/ghippo/permissions/kpanda.html","title":"\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e","text":"

    \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4f7f\u7528\u4ee5\u4e0b\u89d2\u8272\uff1a

    • Admin / Kpanda Owner
    • Cluster Admin
    • NS Admin
    • NS Editor
    • NS Viewer

    Note

    • \u6709\u5173\u6743\u9650\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u4f53\u7cfb\u8bf4\u660e\u3002
    • \u6709\u5173\u89d2\u8272\u7684\u521b\u5efa\u3001\u7ba1\u7406\u548c\u5220\u9664\uff0c\u8bf7\u53c2\u9605\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u3002
    • Cluster Admin , NS Admin , NS Editor , NS Viewer \u7684\u6743\u9650\u4ec5\u5728\u5f53\u524d\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u5185\u751f\u6548\u3002

    \u5404\u89d2\u8272\u6240\u5177\u5907\u7684\u6743\u9650\u5982\u4e0b\uff1a

    \u4e00\u7ea7\u529f\u80fd \u4e8c\u7ea7\u529f\u80fd \u6743\u9650\u70b9 Cluster Admin Ns Admin Ns Editor NS Viewer \u96c6\u7fa4 \u96c6\u7fa4\u5217\u8868 \u67e5\u770b\u96c6\u7fa4\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u63a5\u5165\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u521b\u5efa\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u64cd\u4f5c \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713\uff08\u4ec5\u5217\u8868\u5185\u53ef\u4ee5\u8fdb\u5165\uff09 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91\u57fa\u7840\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u4e0b\u8f7d kubeconfig \u2713 \u2713\uff08\u4e0b\u8f7dns\u6743\u9650\u7684kubeconfig\uff09 \u2713\uff08\u4e0b\u8f7d ns \u6743\u9650\u7684 kubeconfig\uff09 \u2713\uff08\u4e0b\u8f7d ns \u6743\u9650\u7684 kubeconfig\uff09 \u89e3\u9664\u63a5\u5165 \u2717 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u91cd\u8bd5 \u2717 \u2717 \u2717 \u2717 \u5378\u8f7d\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u6982\u89c8 \u67e5\u770b\u96c6\u7fa4\u6982\u89c8 \u2713 \u2717 \u2717 \u2717 \u8282\u70b9\u7ba1\u7406 \u63a5\u5165\u8282\u70b9 \u2717 \u2717 \u2717 \u2717 \u67e5\u770b\u8282\u70b9\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u8282\u70b9\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u6682\u505c\u8c03\u5ea6 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6c61\u70b9 \u2713 \u2717 \u2717 \u2717 \u79fb\u9664\u8282\u70b9 \u2717 \u2717 \u2717 \u2717 \u65e0\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9 ns \u7ed1\u5b9a\u7684 ws \u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 IP \u6c60\u67e5\u770b \u2713 \u2713 \u2713 \u2717 \u7f51\u5361\u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u6682\u505c\u5347\u7ea7 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u6709\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b88\u62a4\u8fdb\u7a0b \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u5b9e\u4f8b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b9a\u65f6\u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4efb\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bb9\u5668\u7ec4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u4e0a\u4f20\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u4e0b\u8f7d\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u5bb9\u5668\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 ReplicaSet \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 Helm \u5e94\u7528 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 Helm \u6a21\u677f \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u5b89\u88c5\u6a21\u677f \u2713 \u2713\uff08ns\u7ea7\u522b\u7684\u53ef\u4ee5\uff09 \u2717 \u2717 \u4e0b\u8f7d\u6a21\u677f \u2713 \u2713 \u2713\uff08\u548c\u67e5\u770b\u63a5\u53e3\u4e00\u81f4\uff09 \u2713 Helm \u4ed3\u5e93 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u514b\u9686\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u5237\u65b0\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u670d\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u8def\u7531 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u7f51\u7edc\u7b56\u7565 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u7f51\u7edc\u914d\u7f6e \u914d\u7f6e\u7f51\u7edc \u2713 \u2713 \u2713 \u2717 \u81ea\u5b9a\u4e49\u8d44\u6e90 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91 YAML \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 PVC \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9sc \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u514b\u9686 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 PV \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91 YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0 \u2713 \u2717 \u2717 \u2717 \u514b\u9686 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 SC \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0 \u2713 \u2717 \u2717 \u2717 \u6388\u6743\u547d\u540d\u7a7a\u95f4 \u2713 \u2717 \u2717 \u2717 \u89e3\u9664\u6388\u6743 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u914d\u7f6e\u9879 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u5bfc\u51fa\u914d\u7f6e\u9879 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bc6\u94a5 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u5bfc\u51fa\u5bc6\u94a5 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u547d\u540d\u7a7a\u95f4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2713 \u2717 \u2717 \u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4 \u2717 \u2717 \u2717 \u2717 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u2717 \u2717 \u2717 \u2717 \u914d\u989d\u7ba1\u7406 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u64cd\u4f5c \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 helm \u64cd\u4f5c \u8bbe\u7f6e\u4fdd\u7559\u6761\u6570 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u96c6\u7fa4\u5347\u7ea7 \u67e5\u770b\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5347\u7ea7 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u8bbe\u7f6e addon \u63d2\u4ef6\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u9ad8\u7ea7\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u547d\u540d\u7a7a\u95f4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2713 \u2717 \u2717 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u2713 \u2717 \u2717 \u2717 \u914d\u989d\u7ba1\u7406 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5de5\u4f5c\u8d1f\u8f7d \u65e0\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u6682\u505c\u5347\u7ea7 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u56de\u9000 \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e\u6ce8\u89e3 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u6709\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b88\u62a4\u8fdb\u7a0b \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b9a\u65f6\u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bb9\u5668\u7ec4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u4e0a\u4f20\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u4e0b\u8f7d\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u5bb9\u5668\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5907\u4efd\u6062\u590d \u5e94\u7528\u5907\u4efd \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u5907\u4efd\u8ba1\u5212 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u8ba1\u5212 \u2713 \u2717 \u2717 \u2717 \u6682\u505c \u2713 \u2717 \u2717 \u2717 \u7acb\u5373\u6267\u884c \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u6062\u590d\u5907\u4efd \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u6062\u590d\u5907\u4efd \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5907\u4efd\u70b9 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5bf9\u8c61\u5b58\u50a8 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 ETCD\u5907\u4efd \u67e5\u770b\u5907\u4efd\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u5907\u4efd\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u5907\u4efd\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u505c\u6b62/\u542f\u52a8 \u2713 \u2717 \u2717 \u2717 \u7acb\u5373\u6267\u884c \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u5907\u4efd\u8bb0\u5f55 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u5907\u4efd\u70b9\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u5de1\u68c0 \u96c6\u7fa4\u5de1\u68c0 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u5de1\u68c0 \u2713 \u2717 \u2717 \u2717 \u8bbe\u7f6e \u2713 \u2717 \u2717 \u2717 \u6743\u9650\u7ba1\u7406 \u96c6\u7fa4\u6743\u9650 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a cluster admin \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u547d\u540d\u7a7a\u95f4\u6743\u9650 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns admin \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns editor \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns viewer \u2713 \u2713 \u2717 \u2717 \u7f16\u8f91\u6743\u9650 \u2713 \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u5b89\u5168\u7ba1\u7406 \u5408\u89c4\u6027\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u4e0b\u8f7d\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u914d\u7f6e\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u914d\u7f6e\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u6743\u9650\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u6f0f\u6d1e\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717"},{"location":"admin/ghippo/personal-center/accesstoken.html","title":"\u8bbf\u95ee\u5bc6\u94a5","text":"

    \u8bbf\u95ee\u5bc6\u94a5\uff08Access Key\uff09\u53ef\u7528\u4e8e\u8bbf\u95ee\u5f00\u653e API \u548c\u6301\u7eed\u53d1\u5e03\uff0c\u7528\u6237\u53ef\u5728\u4e2a\u4eba\u4e2d\u5fc3\u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u83b7\u53d6\u5bc6\u94a5\u5e76\u8bbf\u95ee API\u3002

    "},{"location":"admin/ghippo/personal-center/accesstoken.html#_2","title":"\u83b7\u53d6\u5bc6\u94a5","text":"

    \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728\u53f3\u4e0a\u89d2\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\u627e\u5230 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u53ef\u4ee5\u5728 \u8bbf\u95ee\u5bc6\u94a5 \u9875\u9762\u7ba1\u7406\u8d26\u53f7\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

    Info

    \u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\u4ec5\u663e\u793a\u4e00\u6b21\u3002\u5982\u679c\u60a8\u5fd8\u8bb0\u4e86\u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\uff0c\u60a8\u9700\u8981\u91cd\u65b0\u521b\u5efa\u65b0\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

    "},{"location":"admin/ghippo/personal-center/accesstoken.html#api","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbf\u95ee API","text":"

    \u5728\u8bbf\u95ee\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0openAPI \u65f6\uff0c\u5728\u8bf7\u6c42\u4e2d\u52a0\u4e0a\u8bf7\u6c42\u5934 Authorization:Bearer ${token} \u4ee5\u6807\u8bc6\u8bbf\u95ee\u8005\u7684\u8eab\u4efd\uff0c \u5176\u4e2d ${token} \u662f\u4e0a\u4e00\u6b65\u4e2d\u83b7\u53d6\u5230\u7684\u5bc6\u94a5\uff0c\u5177\u4f53\u63a5\u53e3\u4fe1\u606f\u53c2\u89c1 OpenAPI \u63a5\u53e3\u6587\u6863\u3002

    \u8bf7\u6c42\u793a\u4f8b

    curl -X GET -H 'Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRKVjlBTHRBLXZ4MmtQUC1TQnVGS0dCSWc1cnBfdkxiQVVqM2U3RVByWnMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NjE0MTU5NjksImlhdCI6MTY2MDgxMTE2OSwiaXNzIjoiZ2hpcHBvLmlvIiwic3ViIjoiZjdjOGIxZjUtMTc2MS00NjYwLTg2MWQtOWI3MmI0MzJmNGViIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiYWRtaW4iLCJncm91cHMiOltdfQ.RsUcrAYkQQ7C6BxMOrdD3qbBRUt0VVxynIGeq4wyIgye6R8Ma4cjxG5CbU1WyiHKpvIKJDJbeFQHro2euQyVde3ygA672ozkwLTnx3Tu-_mB1BubvWCBsDdUjIhCQfT39rk6EQozMjb-1X1sbLwzkfzKMls-oxkjagI_RFrYlTVPwT3Oaw-qOyulRSw7Dxd7jb0vINPq84vmlQIsI3UuTZSNO5BCgHpubcWwBss-Aon_DmYA-Et_-QtmPBA3k8E2hzDSzc7eqK0I68P25r9rwQ3DeKwD1dbRyndqWORRnz8TLEXSiCFXdZT2oiMrcJtO188Ph4eLGut1-4PzKhwgrQ' https://demo-dev.daocloud.io/apis/ghippo.io/v1alpha1/users?page=1&pageSize=10 -k\n

    \u8bf7\u6c42\u7ed3\u679c

    {\n    \"items\": [\n        {\n            \"id\": \"a7cfd010-ebbe-4601-987f-d098d9ef766e\",\n            \"name\": \"a\",\n            \"email\": \"\",\n            \"description\": \"\",\n            \"firstname\": \"\",\n            \"lastname\": \"\",\n            \"source\": \"locale\",\n            \"enabled\": true,\n            \"createdAt\": \"1660632794800\",\n            \"updatedAt\": \"0\",\n            \"lastLoginAt\": \"\"\n        }\n    ],\n    \"pagination\": {\n        \"page\": 1,\n        \"pageSize\": 10,\n        \"total\": 1\n    }\n}\n
    "},{"location":"admin/ghippo/personal-center/language.html","title":"\u8bed\u8a00\u8bbe\u7f6e","text":"

    \u672c\u8282\u8bf4\u660e\u5982\u4f55\u8bbe\u7f6e\u754c\u9762\u8bed\u8a00\u3002\u76ee\u524d\u652f\u6301\u4e2d\u6587\u3001English \u4e24\u4e2a\u8bed\u8a00\u3002

    \u8bed\u8a00\u8bbe\u7f6e\u662f\u5e73\u53f0\u63d0\u4f9b\u591a\u8bed\u8a00\u670d\u52a1\u7684\u5165\u53e3\uff0c\u5e73\u53f0\u9ed8\u8ba4\u663e\u793a\u4e3a\u4e2d\u6587\uff0c\u7528\u6237\u53ef\u6839\u636e\u9700\u8981\u9009\u62e9\u82f1\u8bed\u6216\u81ea\u52a8\u68c0\u6d4b\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u7684\u65b9\u5f0f\u6765\u5207\u6362\u5e73\u53f0\u8bed\u8a00\u3002 \u6bcf\u4e2a\u7528\u6237\u7684\u591a\u8bed\u8a00\u670d\u52a1\u662f\u76f8\u4e92\u72ec\u7acb\u7684\uff0c\u5207\u6362\u540e\u4e0d\u4f1a\u5f71\u54cd\u5176\u4ed6\u7528\u6237\u3002

    \u5e73\u53f0\u63d0\u4f9b\u4e09\u79cd\u5207\u6362\u8bed\u8a00\u65b9\u5f0f\uff1a\u4e2d\u6587\u3001\u82f1\u8bed-English\u3001\u81ea\u52a8\u68c0\u6d4b\u60a8\u7684\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u3002

    \u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\u3002

    1. \u4f7f\u7528\u60a8\u7684\u7528\u6237\u540d/\u5bc6\u7801\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

    3. \u70b9\u51fb \u8bed\u8a00\u8bbe\u7f6e \u9875\u7b7e\u3002

    4. \u5207\u6362\u8bed\u8a00\u9009\u9879\u3002

    "},{"location":"admin/ghippo/personal-center/security-setting.html","title":"\u5b89\u5168\u8bbe\u7f6e","text":"

    \u529f\u80fd\u8bf4\u660e\uff1a\u7528\u4e8e\u586b\u5199\u90ae\u7bb1\u5730\u5740\u548c\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

    • \u90ae\u7bb1\uff1a\u5f53\u7ba1\u7406\u5458\u914d\u7f6e\u90ae\u7bb1\u670d\u52a1\u5668\u5730\u5740\u4e4b\u540e\uff0c\u7528\u6237\u80fd\u591f\u901a\u8fc7\u767b\u5f55\u9875\u7684\u5fd8\u8bb0\u5bc6\u7801\u6309\u94ae\uff0c\u586b\u5199\u8be5\u5904\u7684\u90ae\u7bb1\u5730\u5740\u4ee5\u627e\u56de\u5bc6\u7801\u3002
    • \u5bc6\u7801\uff1a\u7528\u4e8e\u767b\u5f55\u5e73\u53f0\u7684\u5bc6\u7801\uff0c\u5efa\u8bae\u5b9a\u671f\u4fee\u6539\u5bc6\u7801\u3002

    \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

    2. \u70b9\u51fb \u5b89\u5168\u8bbe\u7f6e \u9875\u7b7e\u3002\u586b\u5199\u60a8\u7684\u90ae\u7bb1\u5730\u5740\u6216\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

    "},{"location":"admin/ghippo/personal-center/ssh-key.html","title":"\u914d\u7f6e SSH \u516c\u94a5","text":"

    \u672c\u6587\u8bf4\u660e\u5982\u4f55\u914d\u7f6e SSH \u516c\u94a5\u3002

    "},{"location":"admin/ghippo/personal-center/ssh-key.html#1-ssh","title":"\u6b65\u9aa4 1\uff1a\u67e5\u770b\u5df2\u5b58\u5728\u7684 SSH \u5bc6\u94a5","text":"

    \u5728\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\u524d\uff0c\u8bf7\u5148\u786e\u8ba4\u662f\u5426\u9700\u8981\u4f7f\u7528\u672c\u5730\u5df2\u751f\u6210\u7684 SSH \u5bc6\u94a5\uff0cSSH \u5bc6\u94a5\u5bf9\u4e00\u822c\u5b58\u653e\u5728\u672c\u5730\u7528\u6237\u7684\u6839\u76ee\u5f55\u4e0b\u3002 Linux\u3001Mac \u8bf7\u76f4\u63a5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u5b58\u5728\u7684\u516c\u94a5\uff0cWindows \u7528\u6237\u5728 WSL\uff08\u9700\u8981 Windows 10 \u6216\u4ee5\u4e0a\uff09\u6216 Git Bash \u4e0b\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u751f\u6210\u7684\u516c\u94a5\u3002

    • ED25519 \u7b97\u6cd5\uff1a

      cat ~/.ssh/id_ed25519.pub\n
    • RSA \u7b97\u6cd5\uff1a

      cat ~/.ssh/id_rsa.pub\n

    \u5982\u679c\u8fd4\u56de\u4e00\u957f\u4e32\u4ee5 ssh-ed25519 \u6216 ssh-rsa \u5f00\u5934\u7684\u5b57\u7b26\u4e32\uff0c\u8bf4\u660e\u5df2\u5b58\u5728\u672c\u5730\u516c\u94a5\uff0c \u60a8\u53ef\u4ee5\u8df3\u8fc7\u6b65\u9aa4 2 \u751f\u6210 SSH \u5bc6\u94a5\uff0c\u76f4\u63a5\u64cd\u4f5c\u6b65\u9aa4 3\u3002

    "},{"location":"admin/ghippo/personal-center/ssh-key.html#2-ssh","title":"\u6b65\u9aa4 2\uff1a\u751f\u6210 SSH \u5bc6\u94a5","text":"

    \u82e5\u6b65\u9aa4 1 \u672a\u8fd4\u56de\u6307\u5b9a\u7684\u5185\u5bb9\u5b57\u7b26\u4e32\uff0c\u8868\u793a\u672c\u5730\u6682\u65e0\u53ef\u7528 SSH \u5bc6\u94a5\uff0c\u9700\u8981\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\uff0c\u8bf7\u6309\u5982\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

    1. \u8bbf\u95ee\u7ec8\u7aef\uff08Windows \u8bf7\u4f7f\u7528 WSL \u6216 Git Bash\uff09\uff0c \u8fd0\u884c ssh-keygen -t\u3002

    2. \u8f93\u5165\u5bc6\u94a5\u7b97\u6cd5\u7c7b\u578b\u548c\u53ef\u9009\u7684\u6ce8\u91ca\u3002

      \u6ce8\u91ca\u4f1a\u51fa\u73b0\u5728 .pub \u6587\u4ef6\u4e2d\uff0c\u4e00\u822c\u53ef\u4f7f\u7528\u90ae\u7bb1\u4f5c\u4e3a\u6ce8\u91ca\u5185\u5bb9\u3002

      • \u57fa\u4e8e ED25519 \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

        ssh-keygen -t ed25519 -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
      • \u57fa\u4e8e RSA \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

        ssh-keygen -t rsa -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
    3. \u70b9\u51fb\u56de\u8f66\uff0c\u9009\u62e9 SSH \u5bc6\u94a5\u751f\u6210\u8def\u5f84\u3002

      \u4ee5 ED25519 \u7b97\u6cd5\u4e3a\u4f8b\uff0c\u9ed8\u8ba4\u8def\u5f84\u5982\u4e0b\uff1a

      Generating public/private ed25519 key pair.\nEnter file in which to save the key (/home/user/.ssh/id_ed25519):\n

      \u5bc6\u94a5\u9ed8\u8ba4\u751f\u6210\u8def\u5f84\uff1a/home/user/.ssh/id_ed25519\uff0c\u516c\u94a5\u4e0e\u4e4b\u5bf9\u5e94\u4e3a\uff1a/home/user/.ssh/id_ed25519.pub\u3002

    4. \u8bbe\u7f6e\u4e00\u4e2a\u5bc6\u94a5\u53e3\u4ee4\u3002

      Enter passphrase (empty for no passphrase):\nEnter same passphrase again:\n

      \u53e3\u4ee4\u9ed8\u8ba4\u4e3a\u7a7a\uff0c\u60a8\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528\u53e3\u4ee4\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u3002 \u5982\u679c\u60a8\u4e0d\u60f3\u5728\u6bcf\u6b21\u4f7f\u7528 SSH \u534f\u8bae\u8bbf\u95ee\u4ed3\u5e93\u65f6\uff0c\u90fd\u8981\u8f93\u5165\u7528\u4e8e\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u7684\u53e3\u4ee4\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u8f93\u5165\u7a7a\u53e3\u4ee4\u3002

    5. \u70b9\u51fb\u56de\u8f66\uff0c\u5b8c\u6210\u5bc6\u94a5\u5bf9\u521b\u5efa\u3002

    "},{"location":"admin/ghippo/personal-center/ssh-key.html#3","title":"\u6b65\u9aa4 3\uff1a\u62f7\u8d1d\u516c\u94a5","text":"

    \u9664\u4e86\u5728\u547d\u4ee4\u884c\u6253\u5370\u51fa\u5df2\u751f\u6210\u7684\u516c\u94a5\u4fe1\u606f\u624b\u52a8\u590d\u5236\u5916\uff0c\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u62f7\u8d1d\u516c\u94a5\u5230\u7c98\u8d34\u677f\u4e0b\uff0c\u8bf7\u53c2\u8003\u64cd\u4f5c\u7cfb\u7edf\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u62f7\u8d1d\u3002

    • Windows\uff08\u5728 WSL \u6216 Git Bash \u4e0b\uff09\uff1a

      cat ~/.ssh/id_ed25519.pub | clip\n
    • Mac\uff1a

      tr -d '\\n'< ~/.ssh/id_ed25519.pub | pbcopy\n
    • GNU/Linux (requires xclip):

      xclip -sel clip < ~/.ssh/id_ed25519.pub\n
    "},{"location":"admin/ghippo/personal-center/ssh-key.html#4-ai","title":"\u6b65\u9aa4 4\uff1a\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u8bbe\u7f6e\u516c\u94a5","text":"
    1. \u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0UI \u9875\u9762\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 -> SSH \u516c\u94a5 \u3002

    2. \u6dfb\u52a0\u751f\u6210\u7684 SSH \u516c\u94a5\u4fe1\u606f\u3002

      1. SSH \u516c\u94a5\u5185\u5bb9\u3002

      2. \u516c\u94a5\u6807\u9898\uff1a\u652f\u6301\u81ea\u5b9a\u4e49\u516c\u94a5\u540d\u79f0\uff0c\u7528\u4e8e\u533a\u5206\u7ba1\u7406\u3002

      3. \u8fc7\u671f\u65f6\u95f4\uff1a\u8bbe\u7f6e\u516c\u94a5\u8fc7\u671f\u65f6\u95f4\uff0c\u5230\u671f\u540e\u516c\u94a5\u5c06\u81ea\u52a8\u5931\u6548\uff0c\u4e0d\u53ef\u4f7f\u7528\uff1b\u5982\u679c\u4e0d\u8bbe\u7f6e\uff0c\u5219\u6c38\u4e45\u6709\u6548\u3002

    "},{"location":"admin/ghippo/platform-setting/about.html","title":"\u5173\u4e8e\u5e73\u53f0","text":"

    \u5173\u4e8e\u5e73\u53f0 \u4e3b\u8981\u5448\u73b0\u5e73\u53f0\u5404\u4e2a\u5b50\u6a21\u5757\u5f53\u524d\u66f4\u65b0\u7684\u7248\u672c\uff0c\u58f0\u660e\u4e86\u5e73\u53f0\u4f7f\u7528\u7684\u5404\u4e2a\u5f00\u6e90\u8f6f\u4ef6\uff0c\u5e76\u4ee5\u52a8\u753b\u89c6\u9891\u7684\u65b9\u5f0f\u81f4\u8c22\u4e86\u5e73\u53f0\u7684\u6280\u672f\u56e2\u961f\u3002

    \u67e5\u770b\u6b65\u9aa4\uff1a

    1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

    2. \u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e \uff0c\u9009\u62e9 \u5173\u4e8e\u5e73\u53f0 \uff0c\u67e5\u770b\u4ea7\u54c1\u7248\u672c\u3001\u5f00\u6e90\u8f6f\u4ef6\u58f0\u660e\u548c\u6280\u672f\u56e2\u961f\u3002

      License \u58f0\u660e

      \u6280\u672f\u56e2\u961f

    "},{"location":"admin/ghippo/platform-setting/appearance.html","title":"\u5916\u89c2\u5b9a\u5236","text":"

    \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c\u53ef\u901a\u8fc7 \u5916\u89c2\u5b9a\u5236 \u66f4\u6362\u767b\u5f55\u754c\u9762\u3001\u9876\u90e8\u5bfc\u822a\u680f\u4ee5\u53ca\u5e95\u90e8\u7248\u6743\u548c\u5907\u6848\u4fe1\u606f\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u8fa8\u8bc6\u4ea7\u54c1\u3002

    "},{"location":"admin/ghippo/platform-setting/appearance.html#_2","title":"\u5b9a\u5236\u8bf4\u660e","text":"
    1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5e73\u53f0\u8bbe\u7f6e \u3002

    2. \u9009\u62e9 \u5916\u89c2\u5b9a\u5236 \uff0c\u5728 \u767b\u5f55\u9875\u5b9a\u5236 \u9875\u7b7e\u4e2d\uff0c\u4fee\u6539\u767b\u5f55\u9875\u7684\u56fe\u6807\u548c\u6587\u5b57\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

    3. \u9000\u51fa\u767b\u5f55\uff0c\u5728\u767b\u5f55\u9875\u5237\u65b0\u540e\u53ef\u770b\u5230\u914d\u7f6e\u540e\u7684\u6548\u679c

    4. \u70b9\u51fb \u9876\u90e8\u5bfc\u822a\u680f\u5b9a\u5236 \u9875\u7b7e\uff0c\u4fee\u6539\u5bfc\u822a\u680f\u7684\u56fe\u6807\u548c\u6587\u5b57\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

    5. \u70b9\u51fb \u9ad8\u7ea7\u5b9a\u5236 \uff0c\u53ef\u4ee5\u7528 CSS \u6837\u5f0f\u8bbe\u7f6e\u767b\u5f55\u9875\u3001\u5bfc\u822a\u680f\u3001\u5e95\u90e8\u7248\u6743\u53ca\u5907\u6848\u4fe1\u606f\u3002

    "},{"location":"admin/ghippo/platform-setting/appearance.html#_3","title":"\u9ad8\u7ea7\u5b9a\u5236","text":"

    \u9ad8\u7ea7\u5b9a\u5236\u80fd\u591f\u901a\u8fc7 CSS \u6837\u5f0f\u6765\u4fee\u6539\u6574\u4e2a\u5bb9\u5668\u5e73\u53f0\u7684\u989c\u8272\u3001\u5b57\u4f53\u95f4\u9694\u3001\u5b57\u53f7\u7b49\u3002 \u60a8\u9700\u8981\u719f\u6089 CSS \u8bed\u6cd5\u3002\u5220\u9664\u9ed1\u8272\u8f93\u5165\u6846\u7684\u5185\u5bb9\uff0c\u53ef\u6062\u590d\u5230\u9ed8\u8ba4\u72b6\u6001\uff0c\u5f53\u7136\u4e5f\u53ef\u4ee5\u70b9\u51fb \u4e00\u952e\u8fd8\u539f \u6309\u94ae\u3002

    \u767b\u5f55\u9875\u5b9a\u5236\u7684 CSS \u6837\u4f8b\uff1a

    .test {\n  width: 12px;\n}\n\n#kc-login {\n /* color: red!important; */\n}\n

    \u767b\u5f55\u540e\u9875\u9762\u5b9a\u5236\u7684 CSS \u6837\u4f8b\uff1a

    .dao-icon.dao-iconfont.icon-service-global.dao-nav__head-icon {\n   color: red!important;\n}\n.ghippo-header-logo {\n  background-color: green!important;\n}\n.ghippo-header {\n  background-color: rgb(128, 115, 0)!important;\n}\n.ghippo-header-nav-main {\n  background-color: rgb(0, 19, 128)!important;\n}\n.ghippo-header-sub-nav-main .dao-popper-inner {\n  background-color: rgb(231, 82, 13) !important;\n}\n

    Footer\uff08\u9875\u9762\u5e95\u90e8\u7684\u7248\u6743\u3001\u5907\u6848\u7b49\u4fe1\u606f\uff09\u5b9a\u5236\u793a\u4f8b

    <div class=\"footer-content\">\n  <span class=\"footer-item\">Copyright \u00a9 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4fdd\u7559\u6240\u6709\u6743\u5229</span>\n  <a class=\"footer-item\" href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"noopener noreferrer\">\u6caa ICP \u5907 xxxxxx \u53f7 - 1</a>\n  <a class=\"footer-item\" href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"noopener noreferrer\">\u6caa ICP \u5907 xxxxxx \u53f7 - 2</a>\n</div>\n<div class=\"footer-content\">\n  <img class=\"gongan-icon\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAQjSURBVHjaVNNZbFRlGIDh95w525zpdGa6TVtbykBbyiICxQY0AhYTJUCiiYqGqEEiJhKQmBg0ESPeeCGRENEYb4jhBr0gNQrRlCBiSgyLaSlSaKEs3Wemy+xnzuqFYdD/6rt6ku/N9wue55EcPwWArCgIgkx5ZRuYVxsnJ801Z05f3jY1MRnb/HxHV+uSph9RKq4mhkdwbZVgdQ2SHkPTwgj/h1QUWWi8/tfg/hM/XN/Y2zfaZnkSnuRDtLMsXhBOvrJtya/LlrcdMs1Qb1lVRQmSAEDAsU1kxpgamXp3y+azu1esreK9dyRqs9PIjkW6OsLx7lTV1ld/237s8HRV57MbnvO8CA+e9GCQFTk6Mza+4/0P+t9a9VSEI3uyTH/eR27aB2Ed31Q/Hx1sI6BHOPT13c5Frd0HW9p3HPUQEwAigJW9RDp+bstrOy981nVGLN/7RpHUV70YfXnEAtjxFPasxPDBQXatjzNTdOQXtg983H/51AFFy1KCIg2bNIdC+8270NwmUmelsXqSqHkDK5PDl8iCW0QcnEW+lqCjvcjQuMZ4YnQRTkotQUZu4GkjcfZNv19G011kXw4vayNYNvqCCvSVTciOgABgeuhBGwhgz5zbkI2ff7HUqJiNR2QktbbSYnBYYqbMT/ilKI4SIbT/GcRylbnvLmJ2X8N7tJ7rR8OE/BbliqEYea81WIotmOs02WFpc55Lf0f5/mSI3dsamOgxSX7ZjaALuBmB6M6FnB+S+POCwmOLk1QFFAqZyQWl1YrpiRZJLvDkygyC5NJ1XCax7xYNiTQVEYVIuUulayIcGeLkpw6WK7GuPY/fb2CkhleXIFFe8XPGaKBj9QxLW1Ik0bg8EuT2zRCJYZvZIYepe0EGbvi4bQUJVZhs2phADFYj+df0lBqJUnaekS4SUHXe3jrOnoE2PhSewHfRpfZGgcryIvfHdQruQlLo7Ns6QizqkJ31CIUlqwQJXuWUpDXj6qOsW32HT3YNImll9FwJsb4jyaLmWQ4fa6a+2sQw0ry8YZSiHcPxxXBtMfCv4XkUCrfliWs/fTE31rtTVfv9vsIorvQIniMhqXM4popVcJFVMHMpfMEaLPdxR1Tnna1b1vl6tGntpAjgCTNWONZyIFBR8Ydtr6EgrCI3VySfzZPLBDHyIq5gkpmzcOUmTGMF+bh7M9LYulfWzMmHBzk7Fpq9deWEYxjrtaCMXjWfstp6BCGNXZzBdYqYhogWqkMum4+oBVD0YnP63u/fFqbv1D+M7VSlBbmmK5uYaLYLYwslfwFVAyXQiOfcx3XyyGIM8DDn0lgWyGokHogu/0UJxpL/+f2e569s/CZQZ53OpzJr0+NXludUfb5jVdf7VUGXJUPIZast1S9PeII6jFDT5xMjFwO1S4c8zwTgnwEAxufYSzA67PMAAAAASUVORK5CYII=\" >\n  <a class=\"footer-item\" href=\"http://www.beian.gov.cn/portal/registerSystemInfo\">\u6caa\u516c\u7f51\u5b89\u5907 12345678912345\u53f7</a>\n</div>\n<style>\n.footer-content {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: center;\n}\n.footer-content + .footer-content {\n  margin-top: 8px;\n}\n.login-pf .footer-item {\n  color: white;\n}\n.footer-item {\n  color: var(--dao-gray-010);\n  text-decoration: none;\n}\n.footer-item + .footer-item {\n  margin-left: 8px;\n}\n.gongan-icon {\n  width: 18px;\n  height: 18px;\n  margin-right: 4px;\n}\n</style>\n

    Note

    \u5982\u679c\u60f3\u8981\u6062\u590d\u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u70b9\u51fb \u4e00\u952e\u8fd8\u539f \u3002\u8bf7\u6ce8\u610f\uff0c\u4e00\u952e\u8fd8\u539f\u540e\u5c06\u4e22\u5f03\u6240\u6709\u81ea\u5b9a\u4e49\u8bbe\u7f6e\u3002

    "},{"location":"admin/ghippo/platform-setting/mail-server.html","title":"\u90ae\u4ef6\u670d\u52a1\u5668","text":"

    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f1a\u5728\u7528\u6237\u5fd8\u8bb0\u5bc6\u7801\u65f6\uff0c\u5411\u7528\u6237\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u4ee5\u9a8c\u8bc1\u7535\u5b50\u90ae\u4ef6\u5730\u5740\uff0c\u786e\u4fdd\u7528\u6237\u662f\u672c\u4eba\u64cd\u4f5c\u3002 \u8981\u4f7f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u80fd\u591f\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\uff0c\u9700\u8981\u5148\u63d0\u4f9b\u60a8\u7684\u90ae\u4ef6\u670d\u52a1\u5668\u5730\u5740\u3002

    \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

    2. \u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e \uff0c\u9009\u62e9 \u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e \u3002

      \u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u914d\u7f6e\u90ae\u4ef6\u670d\u52a1\u5668\uff1a

      \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c SMTP \u670d\u52a1\u5668\u5730\u5740 \u80fd\u591f\u63d0\u4f9b\u90ae\u4ef6\u670d\u52a1\u7684 SMTP \u670d\u52a1\u5668\u5730\u5740 smtp.163.com SMTP \u670d\u52a1\u5668\u7aef\u53e3 \u53d1\u9001\u90ae\u4ef6\u7684\u7aef\u53e3 25 \u7528\u6237\u540d SMTP \u7528\u6237\u7684\u540d\u79f0 test@163.com \u5bc6\u7801 SMTP \u8d26\u53f7\u7684\u5bc6\u7801 123456 \u53d1\u4ef6\u4eba\u90ae\u7bb1 \u53d1\u4ef6\u4eba\u7684\u90ae\u7bb1\u5730\u5740 test@163.com \u4f7f\u7528 SSL \u5b89\u5168\u8fde\u63a5 SSL \u53ef\u4ee5\u7528\u4e8e\u52a0\u5bc6\u90ae\u4ef6\uff0c\u4ece\u800c\u63d0\u9ad8\u901a\u8fc7\u90ae\u4ef6\u4f20\u8f93\u7684\u4fe1\u606f\u7684\u5b89\u5168\u6027\uff0c\u901a\u5e38\u9700\u4e3a\u90ae\u4ef6\u670d\u52a1\u5668\u914d\u7f6e\u8bc1\u4e66 \u4e0d\u5f00\u542f
    3. \u914d\u7f6e\u5b8c\u6210\u540e\u70b9\u51fb \u4fdd\u5b58 \uff0c\u70b9\u51fb \u6d4b\u8bd5\u90ae\u4ef6\u670d\u52a1\u5668 \u3002

    4. \u5c4f\u5e55\u53f3\u4e0a\u89d2\u51fa\u73b0\u6210\u529f\u53d1\u9001\u90ae\u4ef6\u7684\u63d0\u793a\uff0c\u5219\u8868\u793a\u90ae\u4ef6\u670d\u52a1\u5668\u88ab\u6210\u529f\u8bbe\u7f6e\u3002

    "},{"location":"admin/ghippo/platform-setting/mail-server.html#_2","title":"\u5e38\u89c1\u95ee\u9898","text":"

    \u95ee\uff1a\u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e\u540e\u7528\u6237\u4ecd\u65e0\u6cd5\u627e\u56de\u5bc6\u7801\u662f\u4ec0\u4e48\u539f\u56e0\uff1f

    \u7b54\uff1a\u7528\u6237\u53ef\u80fd\u672a\u8bbe\u7f6e\u90ae\u7bb1\u6216\u8005\u8bbe\u7f6e\u4e86\u9519\u8bef\u7684\u90ae\u7bb1\u5730\u5740\uff1b\u6b64\u65f6\u53ef\u4ee5\u8ba9 admin \u89d2\u8272\u7684\u7528\u6237\u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u4e2d\u901a\u8fc7\u7528\u6237\u540d\u627e\u5230\u8be5\u7528\u6237\uff0c\u5e76\u5728\u7528\u6237\u8be6\u60c5\u4e2d\u4e3a\u8be5\u7528\u6237\u8bbe\u7f6e\u65b0\u7684\u767b\u5f55\u5bc6\u7801\u3002

    \u5982\u679c\u90ae\u4ef6\u670d\u52a1\u5668\u6ca1\u6709\u8fde\u901a\uff0c\u8bf7\u68c0\u67e5\u90ae\u4ef6\u670d\u52a1\u5668\u5730\u5740\u3001\u7528\u6237\u540d\u53ca\u5bc6\u7801\u662f\u5426\u6b63\u786e\u3002

    "},{"location":"admin/ghippo/platform-setting/security.html","title":"\u5b89\u5168\u7b56\u7565","text":"

    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5728\u56fe\u5f62\u754c\u9762\u4e0a\u63d0\u4f9b\u4e86\u57fa\u4e8e\u5bc6\u7801\u548c\u8bbf\u95ee\u63a7\u5236\u7684\u5b89\u5168\u7b56\u7565\u3002

    \u5bc6\u7801\u7b56\u7565

    • \u65b0\u5bc6\u7801\u4e0d\u80fd\u4e0e\u6700\u8fd1\u7684\u5386\u53f2\u5bc6\u7801\u76f8\u540c\u3002
    • \u5bc6\u7801\u8fc7\u671f\u540e\uff0c\u7cfb\u7edf\u5f3a\u5236\u8981\u6c42\u4fee\u6539\u5bc6\u7801\u3002
    • \u5bc6\u7801\u4e0d\u80fd\u4e0e\u7528\u6237\u540d\u76f8\u540c\u3002
    • \u5bc6\u7801\u4e0d\u80fd\u548c\u7528\u6237\u7684\u90ae\u7bb1\u5730\u5740\u76f8\u540c\u3002
    • \u81ea\u5b9a\u4e49\u5bc6\u7801\u89c4\u5219\u3002
    • \u81ea\u5b9a\u4e49\u5bc6\u7801\u6700\u5c0f\u957f\u5ea6\u3002

    \u8bbf\u95ee\u63a7\u5236\u7b56\u7565

    • \u4f1a\u8bdd\u8d85\u65f6\u7b56\u7565\uff1a\u7528\u6237\u5728 x \u5c0f\u65f6\u5185\u6ca1\u6709\u64cd\u4f5c\uff0c\u9000\u51fa\u5f53\u524d\u8d26\u53f7\u3002
    • \u8d26\u53f7\u9501\u5b9a\u7b56\u7565\uff1a\u9650\u5236\u65f6\u95f4\u5185\u591a\u6b21\u767b\u5f55\u5931\u8d25\uff0c\u8d26\u53f7\u5c06\u88ab\u9501\u5b9a\u3002
    • \u767b\u5f55/\u9000\u51fa\u7b56\u7565\uff1a\u5173\u95ed\u6d4f\u89c8\u5668\u7684\u540c\u65f6\u9000\u51fa\u767b\u5f55\u3002

    \u8fdb\u5165\u5168\u5c40\u7ba1\u7406\u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e -> \u5b89\u5168\u7b56\u7565 \uff0c\u5373\u53ef\u8bbe\u7f6e\u5bc6\u7801\u7b56\u7565\u548c\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u3002

    "},{"location":"admin/ghippo/report-billing/index.html","title":"\u8fd0\u8425\u7ba1\u7406","text":"

    \u8fd0\u8425\u7ba1\u7406\u901a\u8fc7\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\uff0c\u4e3a\u60a8\u5c55\u793a\u5e73\u53f0\u4e0a\u7edf\u8ba1\u65f6\u95f4\u8303\u56f4\u5185\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u3001\u5de5\u4f5c\u7a7a\u95f4\u7b49\u7ef4\u5ea6\u7684 CPU/\u5185\u5b58/\u5b58\u50a8/GPU \u7684\u4f7f\u7528\u603b\u91cf\u548c\u4f7f\u7528\u7387\u7b49\u4fe1\u606f\u3002 \u4ee5\u53ca\u901a\u8fc7\u4f7f\u7528\u91cf\u3001\u4f7f\u7528\u65f6\u95f4\u53ca\u5355\u4ef7\u7b49\u4fe1\u606f\uff0c\u81ea\u52a8\u8ba1\u7b97\u51fa\u7684\u5e73\u53f0\u6d88\u8d39\u4fe1\u606f\u3002\u8be5\u6a21\u5757\u9ed8\u8ba4\u5f00\u542f\u6240\u6709\u62a5\u8868\u7edf\u8ba1\uff0c\u540c\u65f6\u4e5f\u652f\u6301\u5e73\u53f0\u7ba1\u7406\u5458\u5bf9\u5355\u4e2a\u62a5\u8868\u8fdb\u884c\u624b\u52a8\u5f00\u542f\u6216\u5173\u95ed\uff0c \u5f00\u542f/\u5173\u95ed\u540e\u5c06\u5728\u6700\u957f 20 \u5206\u949f\u5185\uff0c\u5e73\u53f0\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u62a5\u8868\u6570\u636e\uff0c\u5f80\u671f\u5df2\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u5c55\u793a\u3002 \u8fd0\u8425\u7ba1\u7406\u6570\u636e\u6700\u591a\u53ef\u5728\u5e73\u53f0\u4e0a\u4fdd\u7559 365 \u5929\uff0c\u8d85\u8fc7\u4fdd\u7559\u65f6\u95f4\u7684\u7edf\u8ba1\u6570\u636e\u5c06\u88ab\u81ea\u52a8\u5220\u9664\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7 CSV \u6216 Excel \u65b9\u5f0f\u4e0b\u8f7d\u62a5\u8868\u540e\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u7edf\u8ba1\u548c\u5206\u6790\u3002

    \u62a5\u8868\u7ba1\u7406\u901a\u8fc7 CPU \u5229\u7528\u7387\u3001\u5185\u5b58\u5229\u7528\u7387\u3001\u5b58\u50a8\u5229\u7528\u7387\u3001GPU \u7b97\u529b\u5229\u7528\u7387\u3001GPU \u663e\u5b58\u5229\u7528\u7387 5 \u4e2a\u7ef4\u5ea6\uff0c\u5bf9\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4 5 \u79cd\u8d44\u6e90\u8fdb\u884c\u6570\u636e\u7edf\u8ba1\u3002\u540c\u65f6\u8054\u52a8\u5ba1\u8ba1\u548c\u544a\u8b66\u6a21\u5757\uff0c\u652f\u6301\u5bf9\u5ba1\u8ba1\u6570\u636e\u548c\u544a\u8b66\u6570\u636e\u8fdb\u884c\u7edf\u8ba1\u7ba1\u7406\u3002\u5171\u8ba1\u652f\u6301 7 \u79cd\u7c7b\u578b\u62a5\u8868\u3002

    \u8ba1\u91cf\u8ba1\u8d39\u9488\u5bf9\u5e73\u53f0\u4e0a\u7684\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u547d\u540d\u7a7a\u95f4\u548c\u5de5\u4f5c\u7a7a\u95f4 5 \u79cd\u8d44\u6e90\u8fdb\u884c\u8ba1\u8d39\u7edf\u8ba1\u3002 \u6839\u636e\u4e0d\u540c\u8d44\u6e90\u4e2d CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u548c GPU \u7684\u4f7f\u7528\u91cf\uff0c\u4ee5\u53ca\u7528\u6237\u624b\u52a8\u914d\u7f6e\u7684\u4ef7\u683c\u548c\u8d27\u5e01\u5355\u4f4d\u81ea\u52a8\u8ba1\u7b97\u51fa\u6bcf\u79cd\u8d44\u6e90\u5728\u7edf\u8ba1\u65f6\u95f4\u7684\u6d88\u8d39\u60c5\u51b5\uff0c \u6839\u636e\u6240\u9009\u65f6\u95f4\u8de8\u5ea6\u4e0d\u540c\uff0c\u53ef\u5feb\u901f\u8ba1\u7b97\u51fa\u8be5\u8de8\u5ea6\u5185\u7684\u5b9e\u9645\u6d88\u8d39\u60c5\u51b5\uff0c\u5982\u6708\u5ea6\u3001\u5b63\u5ea6\u3001\u5e74\u5ea6\u7b49\u3002

    "},{"location":"admin/ghippo/report-billing/billing.html","title":"\u8ba1\u91cf\u8ba1\u8d39","text":"

    \u8ba1\u91cf\u8ba1\u8d39\u5728\u62a5\u8868\u7684\u57fa\u7840\u4e0a\uff0c\u5bf9\u8d44\u6e90\u7684\u4f7f\u7528\u6570\u636e\u505a\u4e86\u8fdb\u4e00\u6b65\u7684\u8ba1\u8d39\u5904\u7406\u3002\u652f\u6301\u7528\u6237\u624b\u52a8\u8bbe\u7f6e CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u3001GPU \u7684\u5355\u4ef7\u4ee5\u53ca\u8d27\u5e01\u5355\u4f4d\u7b49\uff0c\u8bbe\u7f6e\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u7edf\u8ba1\u51fa\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5de5\u4f5c\u7a7a\u95f4\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u82b1\u8d39\u60c5\u51b5\uff0c\u65f6\u95f4\u6bb5\u7528\u6237\u53ef\u81ea\u7531\u8c03\u6574\uff0c\u53ef\u6309\u7167\u5468\u3001\u6708\u3001\u5b63\u5ea6\u3001\u5e74\u7b5b\u9009\u8c03\u6574\u540e\u5bfc\u51fa Excel \u6216 Csv \u683c\u5f0f\u7684\u8ba1\u8d39\u62a5\u8868\u3002

    "},{"location":"admin/ghippo/report-billing/billing.html#_2","title":"\u8ba1\u8d39\u89c4\u5219\u53ca\u751f\u6548\u65f6\u95f4","text":"
    • \u8ba1\u8d39\u89c4\u5219\uff1a\u9ed8\u8ba4\u6309\u7167\u8bf7\u6c42\u503c\u548c\u4f7f\u7528\u91cf\u7684\u6700\u5927\u503c\u8ba1\u8d39\u3002
    • \u751f\u6548\u65f6\u95f4\uff1a\u6b21\u65e5\u751f\u6548\uff0c\u4ee5\u6b21\u65e5\u51cc\u6668\u65f6\u83b7\u53d6\u7684\u5355\u4ef7\u548c\u6570\u91cf\u8ba1\u7b97\u5f53\u5929\u4ea7\u751f\u7684\u8d39\u7528\u3002
    "},{"location":"admin/ghippo/report-billing/billing.html#_3","title":"\u529f\u80fd\u7279\u6027","text":"
    • \u652f\u6301\u81ea\u5b9a\u4e49\u8bbe\u7f6e CPU \u3001\u5185\u5b58\u3001\u5b58\u50a8\u4ee5\u53ca GPU \u7684\u8ba1\u8d39\u5355\u4f4d\uff0c\u4ee5\u53ca\u8d27\u5e01\u5355\u4f4d\u3002
    • \u652f\u6301\u67e5\u8be2\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u7684\u7edf\u8ba1\u6570\u636e\uff0c\u6839\u636e\u6240\u9009\u65f6\u95f4\u6bb5\u81ea\u52a8\u8ba1\u7b97\u51fa\u8be5\u65f6\u95f4\u6bb5\u5185\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
    • \u652f\u6301\u4ee5 CSV \u548c Excel \u4e24\u79cd\u683c\u5f0f\u5bfc\u51fa\u8ba1\u8d39\u62a5\u8868\u3002
    • \u652f\u6301\u5f00\u542f/\u5173\u95ed\u5355\u4e2a\u8ba1\u8d39\u62a5\u8868\uff0c\u5f00\u542f/\u5173\u95ed\u540e\uff0c\u5e73\u53f0\u5c06\u5728 20 \u5206\u949f\u5185\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u6570\u636e\uff0c\u5f80\u671f\u5df2\u7ecf\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u663e\u793a\u3002
    • \u652f\u6301\u5bf9 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u6570\u636e\u7684\u9009\u62e9\u6027\u5c55\u793a\u3002
    "},{"location":"admin/ghippo/report-billing/billing.html#_4","title":"\u62a5\u8868\u7ef4\u5ea6","text":"

    \u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u62a5\u8868\uff1a

    • \u96c6\u7fa4\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u6570\u91cf\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u8282\u70b9\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u8282\u70b9\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u8ba1\u8d39\u60c5\u51b5\u3002
    • \u8282\u70b9\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u8282\u70b9\u7684 IP\u3001\u7c7b\u578b\u548c\u6240\u5c5e\u96c6\u7fa4\u3002
    • \u5bb9\u5668\u7ec4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u5bb9\u5668\u7ec4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u7684\u6240\u5c5e\u547d\u540d\u7a7a\u95f4\u3001\u6240\u5c5e\u96c6\u7fa4\u548c\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\u3002
    • \u5de5\u4f5c\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u5de5\u4f5c\u7a7a\u95f4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u548c\u5bb9\u5668\u7ec4\u6570\u91cf\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u547d\u540d\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u547d\u540d\u7a7a\u95f4\u7684\u8ba1\u8d39\u60c5\u51b5\uff1b\u540c\u6837\u7684\u65b9\u5f0f\u53ef\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
    • \u547d\u540d\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff1a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u547d\u540d\u7a7a\u95f4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u6570\u91cf\u3001\u6240\u5c5e\u96c6\u7fa4\u3001\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u5bb9\u5668\u7ec4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u5bb9\u5668\u7ec4\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
    "},{"location":"admin/ghippo/report-billing/billing.html#_5","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u8fd0\u8425\u7ba1\u7406 \u3002

    2. \u8fdb\u5165 \u8fd0\u8425\u7ba1\u7406 \u540e\u5207\u6362\u4e0d\u540c\u83dc\u5355\u53ef\u67e5\u770b\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u7b49\u8ba1\u8d39\u62a5\u8868\u3002

    "},{"location":"admin/ghippo/report-billing/report.html","title":"\u62a5\u8868\u7ba1\u7406","text":"

    \u62a5\u8868\u7ba1\u7406\u4ee5\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4e86\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5ba1\u8ba1\u53ca\u544a\u8b66\u7ef4\u5ea6\u7684\u7edf\u8ba1\u6570\u636e\uff0c\u4e3a\u5e73\u53f0\u7684\u8ba1\u8d39\u53ca\u4f7f\u7528\u60c5\u51b5\u7684\u8c03\u4f18\u63d0\u4f9b\u4e86\u53ef\u9760\u7684\u57fa\u7840\u6570\u636e\u3002

    "},{"location":"admin/ghippo/report-billing/report.html#_2","title":"\u529f\u80fd\u7279\u6027","text":"
    • \u652f\u6301\u67e5\u8be2\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u7684\u7edf\u8ba1\u6570\u636e
    • \u652f\u6301\u4ee5 CSV \u548c Excel \u4e24\u79cd\u683c\u5f0f\u5bfc\u51fa\u62a5\u8868
    • \u652f\u6301\u5f00\u542f/\u5173\u95ed\u5355\u4e2a\u62a5\u8868\uff0c\u5f00\u542f/\u5173\u95ed\u540e\uff0c\u5e73\u53f0\u5c06\u5728 20 \u5206\u949f\u5185\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u6570\u636e\uff0c\u5f80\u671f\u5df2\u7ecf\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u663e\u793a
    • \u652f\u6301\u5c55\u793a CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c
    "},{"location":"admin/ghippo/report-billing/report.html#_3","title":"\u62a5\u8868\u7ef4\u5ea6","text":"

    \u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u62a5\u8868\uff1a

    • \u96c6\u7fa4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u96c6\u7fa4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u8be5\u6bb5\u65f6\u95f4\u5185\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u6570\u91cf\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u8282\u70b9\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u8282\u70b9\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u4f7f\u7528\u60c5\u51b5\u3002
    • \u8282\u70b9\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u8282\u70b9\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u8282\u70b9\u7684 IP\u3001\u7c7b\u578b\u548c\u6240\u5c5e\u96c6\u7fa4\u3002
    • \u5bb9\u5668\u7ec4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u7684\u6240\u5c5e\u547d\u540d\u7a7a\u95f4\u3001\u6240\u5c5e\u96c6\u7fa4\u548c\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\u3002
    • \u5de5\u4f5c\u7a7a\u95f4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u548c\u5bb9\u5668\u7ec4\u6570\u91cf\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u547d\u540d\u7a7a\u95f4\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u547d\u540d\u7a7a\u95f4\u7684\u4f7f\u7528\u60c5\u51b5\uff1b\u540c\u6837\u7684\u65b9\u5f0f\u53ef\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u4e0b\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u4f7f\u7528\u60c5\u51b5\u3002
    • \u547d\u540d\u7a7a\u95f4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u547d\u540d\u7a7a\u95f4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u6570\u91cf\u3001\u6240\u5c5e\u96c6\u7fa4\u3001\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u5bb9\u5668\u7ec4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u5bb9\u5668\u7ec4\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u4f7f\u7528\u60c5\u51b5\u3002
    • \u5ba1\u8ba1\u62a5\u8868\uff1a\u5206\u4e3a\u7528\u6237\u64cd\u4f5c\u548c\u8d44\u6e90\u64cd\u4f5c\u4e24\u4e2a\u62a5\u8868\u3002\u7528\u6237\u64cd\u4f5c\u62a5\u8868\u4e3b\u8981\u7edf\u8ba1\u5355\u4e2a\u7528\u6237\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u64cd\u4f5c\u6b21\u6570\uff0c\u4ee5\u53ca\u6210\u529f\u548c\u5931\u8d25\u7684\u6b21\u6570\uff1b \u8d44\u6e90\u64cd\u4f5c\u62a5\u8868\u4e3b\u8981\u7edf\u8ba1\u6240\u6709\u7528\u6237\u5bf9\u67d0\u79cd\u7c7b\u578b\u8d44\u6e90\u7684\u64cd\u4f5c\u6b21\u6570\u3002
    • \u544a\u8b66\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u8282\u70b9\u7684\u544a\u8b66\u6570\u91cf\uff0c\u4ee5\u53ca\u81f4\u547d\u3001\u4e25\u91cd\u3001\u544a\u8b66\u5206\u522b\u4ea7\u751f\u7684\u6b21\u6570\u3002
    "},{"location":"admin/ghippo/report-billing/report.html#_4","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u8fd0\u8425\u7ba1\u7406 \u3002

    2. \u8fdb\u5165\u8fd0\u8425\u7ba1\u7406\u540e\u5207\u6362\u4e0d\u540c\u83dc\u5355\u53ef\u67e5\u770b\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u7b49\u62a5\u8868\u3002

    "},{"location":"admin/ghippo/workspace/folder-permission.html","title":"\u6587\u4ef6\u5939\u6743\u9650\u8bf4\u660e","text":"

    \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

    \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u662f Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5b50\u6587\u4ef6\u5939\u4ecd\u4e3a Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4\u5219\u4e3a Workspace Admin\uff1b \u82e5\u5728 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 -> \u8d44\u6e90\u7ec4 \u4e2d\u7ed1\u5b9a\u4e86 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fd8\u662f Namespace Admin\u3002

    Note

    \u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

    "},{"location":"admin/ghippo/workspace/folder-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

    \u6587\u4ef6\u5939\u5177\u6709\u5c42\u7ea7\u80fd\u529b\uff0c\u56e0\u6b64\u5c06\u6587\u4ef6\u5939\u5bf9\u5e94\u4e8e\u4f01\u4e1a\u4e2d\u7684\u90e8\u95e8/\u4f9b\u5e94\u5546/\u9879\u76ee\u7b49\u5c42\u7ea7\u65f6\uff0c

    • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u7ba1\u7406\u6743\u9650\uff08Admin\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u7ba1\u7406\u6743\u9650\uff1b
    • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u4f7f\u7528\u6743\u9650\uff08Editor\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u4f7f\u7528\u6743\u9650\uff1b
    • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u53ea\u8bfb\u6743\u9650\uff08Viewer\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u53ea\u8bfb\u6743\u9650\u3002
    \u5bf9\u8c61 \u64cd\u4f5c Folder Admin Folder Editor Folder Viewer \u5bf9\u6587\u4ef6\u5939\u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5b50\u6587\u4ef6\u5939 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717"},{"location":"admin/ghippo/workspace/folders.html","title":"\u521b\u5efa/\u5220\u9664\u6587\u4ef6\u5939","text":"

    \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u3002

    1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u6587\u4ef6\u5939 \u6309\u94ae\u3002

    3. \u586b\u5199\u6587\u4ef6\u5939\u540d\u79f0\u3001\u4e0a\u4e00\u7ea7\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u6587\u4ef6\u5939\u3002

    Tip

    \u521b\u5efa\u6210\u529f\u540e\u6587\u4ef6\u5939\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

    Note

    \u9009\u4e2d\u67d0\u4e00\u4e2a\u6587\u4ef6\u5939\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

    • \u5f53\u8be5\u6587\u4ef6\u5939\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002

    • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u6587\u4ef6\u5939\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u6587\u4ef6\u5939\u3002

    "},{"location":"admin/ghippo/workspace/quota.html","title":"\u8d44\u6e90\u914d\u989d\uff08Quota\uff09","text":"

    \u5171\u4eab\u8d44\u6e90\u5e76\u975e\u610f\u5473\u7740\u88ab\u5171\u4eab\u8005\u53ef\u4ee5\u65e0\u9650\u5236\u5730\u4f7f\u7528\u88ab\u5171\u4eab\u7684\u8d44\u6e90\u3002 Admin\u3001Kpanda Owner \u548c Workspace Admin \u53ef\u4ee5\u901a\u8fc7\u5171\u4eab\u8d44\u6e90\u4e2d\u7684 \u8d44\u6e90\u914d\u989d \u529f\u80fd\u9650\u5236\u67d0\u4e2a\u7528\u6237\u7684\u6700\u5927\u4f7f\u7528\u989d\u5ea6\u3002 \u82e5\u4e0d\u9650\u5236\uff0c\u5219\u8868\u793a\u53ef\u4ee5\u65e0\u9650\u5236\u4f7f\u7528\u3002

    • CPU \u8bf7\u6c42\uff08Core\uff09
    • CPU \u9650\u5236\uff08Core\uff09
    • \u5185\u5b58\u8bf7\u6c42\uff08MB\uff09
    • \u5185\u5b58\u9650\u5236\uff08MB\uff09
    • \u5b58\u50a8\u8bf7\u6c42\u603b\u91cf\uff08GB\uff09
    • \u5b58\u50a8\u5377\u58f0\u660e\uff08\u4e2a\uff09
    • GPU \u7c7b\u578b\u3001\u89c4\u683c\u3001\u6570\u91cf\uff08\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e Nvidia\u3001Ascend\u3001lluvatar\u7b49GPU\u5361\u7c7b\u578b\uff09

    \u4e00\u4e2a\u8d44\u6e90\uff08\u96c6\u7fa4\uff09\u53ef\u4ee5\u88ab\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5171\u4eab\uff0c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u53ef\u4ee5\u540c\u65f6\u4f7f\u7528\u591a\u4e2a\u5171\u4eab\u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u3002

    "},{"location":"admin/ghippo/workspace/quota.html#_1","title":"\u8d44\u6e90\u7ec4\u548c\u5171\u4eab\u8d44\u6e90","text":"

    \u5171\u4eab\u8d44\u6e90\u548c\u8d44\u6e90\u7ec4\u4e2d\u7684\u96c6\u7fa4\u8d44\u6e90\u5747\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\uff0c\u4f46\u662f\u96c6\u7fa4\u7ed1\u5b9a\u548c\u5171\u4eab\u7ed9\u540c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5c06\u4f1a\u4ea7\u751f\u4e24\u79cd\u622a\u7136\u4e0d\u540c\u7684\u6548\u679c\u3002

    1. \u7ed1\u5b9a\u8d44\u6e90

      \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u7684\u5168\u90e8\u7ba1\u7406\u548c\u4f7f\u7528\u6743\u9650\uff0cWorkspace Admin \u5c06\u88ab\u6620\u5c04\u4e3a Cluster Admin\u3002 Workspace Admin \u80fd\u591f\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7ba1\u7406\u8be5\u96c6\u7fa4\u3002

      Note

      \u5f53\u524d\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u6682\u65e0 Cluster Editor \u548c Cluster Viewer \u89d2\u8272\uff0c\u56e0\u6b64 Workspace Editor\u3001Workspace Viewer \u8fd8\u65e0\u6cd5\u6620\u5c04\u3002

    2. \u65b0\u589e\u5171\u4eab\u8d44\u6e90

      \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u8d44\u6e90\u7684\u4f7f\u7528\u6743\u9650\uff0c\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff08Namespace\uff09\u65f6\u4f7f\u7528\u3002

      \u4e0e\u8d44\u6e90\u7ec4\u4e0d\u540c\uff0c\u5c06\u96c6\u7fa4\u5171\u4eab\u5230\u5de5\u4f5c\u7a7a\u95f4\u65f6\uff0c\u7528\u6237\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u89d2\u8272\u4e0d\u4f1a\u6620\u5c04\u5230\u8d44\u6e90\u4e0a\uff0c\u56e0\u6b64 Workspace Admin \u4e0d\u4f1a\u88ab\u6620\u5c04\u4e3a Cluster admin\u3002

    \u672c\u8282\u5c55\u793a 3 \u4e2a\u4e0e\u8d44\u6e90\u914d\u989d\u6709\u5173\u7684\u573a\u666f\u3002

    "},{"location":"admin/ghippo/workspace/quota.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

    \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u4f1a\u6d89\u53ca\u5230\u8d44\u6e90\u914d\u989d\u3002

    1. \u5728\u5de5\u4f5c\u7a7a\u95f4 ws01 \u65b0\u589e\u4e00\u4e2a\u5171\u4eab\u96c6\u7fa4\u3002

    2. \u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u9009\u62e9\u5de5\u4f5c\u7a7a\u95f4 ws01 \u548c\u5171\u4eab\u96c6\u7fa4\uff0c\u521b\u5efa\u547d\u540d\u7a7a\u95f4 ns01\u3002

      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4e0d\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\u3002
      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff08\u4f8b\u5982 CPU \u8bf7\u6c42 = 100 core\uff09\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6 CPU \u8bf7\u6c42 \u2264 100 core \u3002
    "},{"location":"admin/ghippo/workspace/quota.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

    \u524d\u63d0\uff1a\u5de5\u4f5c\u7a7a\u95f4 ws01 \u5df2\u65b0\u589e\u5171\u4eab\u96c6\u7fa4\uff0c\u64cd\u4f5c\u8005\u4e3a Workspace Admin + Kpanda Owner \u6216 Admin \u89d2\u8272\u3002

    \u4ee5\u4e0b\u4e24\u79cd\u7ed1\u5b9a\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

    • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u521b\u5efa\u7684\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
    • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\uff0c\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
    "},{"location":"admin/ghippo/workspace/quota.html#_4","title":"\u4ece\u5de5\u4f5c\u7a7a\u95f4\u89e3\u7ed1\u547d\u540d\u7a7a\u95f4","text":"

    \u4ee5\u4e0b\u4e24\u79cd\u89e3\u7ed1\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

    • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
    • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
      • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
    "},{"location":"admin/ghippo/workspace/res-gp-and-shared-res.html","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u533a\u522b","text":"

    \u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u5747\u652f\u6301\u7ed1\u5b9a\u96c6\u7fa4\uff0c\u4f46\u4f7f\u7528\u4e0a\u5b58\u5728\u5f88\u5927\u533a\u522b\u3002

    "},{"location":"admin/ghippo/workspace/res-gp-and-shared-res.html#_2","title":"\u4f7f\u7528\u573a\u666f\u533a\u522b","text":"
    • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u6279\u91cf\u6388\u6743\u3002\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u540e\uff0c \u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u96c6\u7fa4\u7ba1\u7406\u5458\uff0c\u80fd\u591f\u7ba1\u7406\u5e76\u4f7f\u7528\u96c6\u7fa4\u8d44\u6e90\u3002
    • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u5171\u4eab\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u505a\u8d44\u6e90\u9650\u989d\u3002 \u5178\u578b\u7684\u573a\u666f\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u5c06\u96c6\u7fa4\u5206\u914d\u7ed9\u4e00\u7ea7\u4f9b\u5e94\u5546\u540e\uff0c\u518d\u7531\u4e00\u7ea7\u4f9b\u5e94\u5546\u5206\u914d\u7ed9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u5e76\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u989d\u3002

    \u8bf4\u660e\uff1a\u5728\u8be5\u573a\u666f\u4e2d\uff0c\u9700\u8981\u5e73\u53f0\u7ba1\u7406\u5458\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u5236\uff0c\u6682\u65f6\u8fd8\u4e0d\u652f\u6301\u4e00\u7ea7\u4f9b\u5e94\u5546\u9650\u5236\u4e8c\u7ea7\u4f9b\u5e94\u5546\u7684\u96c6\u7fa4\u989d\u5ea6\u3002

    "},{"location":"admin/ghippo/workspace/res-gp-and-shared-res.html#_3","title":"\u96c6\u7fa4\u989d\u5ea6\u7684\u4f7f\u7528\u533a\u522b","text":"
    • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u8be5\u96c6\u7fa4\u7684\u7ba1\u7406\u5458\uff0c\u76f8\u5f53\u4e8e\u5728\u5bb9\u5668\u7ba1\u7406-\u6743\u9650\u7ba1\u7406\u4e2d\u88ab\u6388\u4e88 Cluster Admin \u89d2\u8272\uff0c \u80fd\u591f\u65e0\u9650\u5236\u652f\u914d\u8be5\u96c6\u7fa4\u8d44\u6e90\uff0c\u7ba1\u7406\u8282\u70b9\u7b49\u91cd\u8981\u5185\u5bb9\uff0c\u4e14\u8d44\u6e90\u7ec4\u4e0d\u80fd\u591f\u88ab\u8d44\u6e90\u9650\u989d\u3002
    • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u8d44\u6e90\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u4ec5\u80fd\u591f\u4f7f\u7528\u96c6\u7fa4\u4e2d\u7684\u989d\u5ea6\u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\u3002 \u82e5\u5bf9\u8be5\u5de5\u4f5c\u7a7a\u95f4\u9650\u5236\u989d\u5ea6\uff0c\u5219\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u4ec5\u80fd\u591f\u5728\u989d\u5ea6\u8303\u56f4\u5185\u521b\u5efa\u5e76\u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u3002
    "},{"location":"admin/ghippo/workspace/res-gp-and-shared-res.html#_4","title":"\u8d44\u6e90\u7c7b\u578b\u7684\u533a\u522b","text":"
    • \u8d44\u6e90\u7ec4\uff1a\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4\u3001\u96c6\u7fa4-\u547d\u540d\u7a7a\u95f4\u3001\u591a\u4e91\u3001\u591a\u4e91-\u547d\u540d\u7a7a\u95f4\u3001\u7f51\u683c\u3001\u7f51\u683c-\u547d\u540d\u7a7a\u95f4
    • \u5171\u4eab\u8d44\u6e90\uff1a\u4ec5\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4
    "},{"location":"admin/ghippo/workspace/res-gp-and-shared-res.html#_5","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u76f8\u540c\u70b9","text":"

    \u5728\u8d44\u6e90\u7ec4/\u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\u540e\u90fd\u53ef\u4ee5\u524d\u5f80\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u521b\u5efa\u540e\u547d\u540d\u7a7a\u95f4\u5c06\u81ea\u52a8\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\u3002

    "},{"location":"admin/ghippo/workspace/workspace.html","title":"\u521b\u5efa/\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u662f\u4e00\u79cd\u8d44\u6e90\u8303\u7574\uff0c\u4ee3\u8868\u4e00\u79cd\u8d44\u6e90\u5c42\u7ea7\u5173\u7cfb\u3002 \u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5305\u542b\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u6ce8\u518c\u4e2d\u5fc3\u7b49\u8d44\u6e90\u3002 \u901a\u5e38\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5bf9\u5e94\u4e00\u4e2a\u9879\u76ee\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u4e0d\u540c\u7684\u8d44\u6e90\uff0c\u6307\u6d3e\u4e0d\u540c\u7684\u7528\u6237\u548c\u7528\u6237\u7ec4\u3002

    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002

    1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

    2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4 \u6309\u94ae\u3002

    3. \u586b\u5199\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u3001\u6240\u5c5e\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u3002

    Tip

    \u521b\u5efa\u6210\u529f\u540e\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u3002

    Note

    \u9009\u4e2d\u67d0\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 ... \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

    • \u5f53\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002
    • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
    • \u5f53\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u955c\u50cf\u7a7a\u95f4\u6216\u96c6\u6210\u4ed3\u5e93\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u955c\u50cf\u7a7a\u95f4\u89e3\u7ed1\uff0c\u5c06\u4ed3\u5e93\u96c6\u6210\u5220\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
    "},{"location":"admin/ghippo/workspace/ws-folder.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u662f\u4e00\u4e2a\u5177\u6709\u5c42\u7ea7\u7684\u8d44\u6e90\u9694\u79bb\u548c\u8d44\u6e90\u5206\u7ec4\u7279\u6027\uff0c\u4e3b\u8981\u89e3\u51b3\u8d44\u6e90\u7edf\u4e00\u6388\u6743\u3001\u8d44\u6e90\u5206\u7ec4\u4ee5\u53ca\u8d44\u6e90\u9650\u989d\u95ee\u9898\u3002

    \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u6709\u4e24\u4e2a\u6982\u5ff5\uff1a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

    "},{"location":"admin/ghippo/workspace/ws-folder.html#_2","title":"\u5de5\u4f5c\u7a7a\u95f4","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u53ef\u901a\u8fc7 \u6388\u6743 \u3001 \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u6765\u7ba1\u7406\u8d44\u6e90\uff0c\u4f7f\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u4e4b\u95f4\u80fd\u591f\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u3002

    • \u8d44\u6e90

      \u8d44\u6e90\u5904\u4e8e\u8d44\u6e90\u7ba1\u7406\u6a21\u5757\u5c42\u7ea7\u7ed3\u6784\u7684\u6700\u4f4e\u5c42\u7ea7\uff0c\u8d44\u6e90\u5305\u62ec Cluster\u3001Namespace\u3001Pipeline\u3001\u7f51\u5173\u7b49\u3002 \u6240\u6709\u8fd9\u4e9b\u8d44\u6e90\u7684\u7236\u7ea7\u53ea\u80fd\u662f\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4f5c\u4e3a\u8d44\u6e90\u5bb9\u5668\u662f\u4e00\u79cd\u8d44\u6e90\u5206\u7ec4\u5355\u4f4d\u3002

    • \u5de5\u4f5c\u7a7a\u95f4

      \u5de5\u4f5c\u7a7a\u95f4\u901a\u5e38\u4ee3\u6307\u4e00\u4e2a\u9879\u76ee\u6216\u73af\u5883\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u76f8\u5bf9\u4e8e\u5176\u4ed6\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u65f6\u903b\u8f91\u9694\u79bb\u7684\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u6388\u6743\uff0c\u6388\u4e88\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u540c\u4e00\u7ec4\u8d44\u6e90\u7684\u4e0d\u540c\u8bbf\u95ee\u6743\u9650\u3002

      \u4ece\u5c42\u6b21\u7ed3\u6784\u7684\u5e95\u5c42\u7b97\u8d77\uff0c\u5de5\u4f5c\u7a7a\u95f4\u4f4d\u4e8e\u7b2c\u4e00\u5c42\uff0c\u4e14\u5305\u542b\u8d44\u6e90\u3002 \u9664\u5171\u4eab\u8d44\u6e90\u5916\uff0c\u6240\u6709\u8d44\u6e90\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u9879\u3002\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\u3002

      \u8d44\u6e90\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5b58\u5728\u4e24\u79cd\u5206\u7ec4\u6a21\u5f0f\uff0c\u5206\u522b\u662f \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u3002

    • \u8d44\u6e90\u7ec4

      \u4e00\u4e2a\u8d44\u6e90\u53ea\u80fd\u52a0\u5165\u4e00\u4e2a\u8d44\u6e90\u7ec4\uff0c\u8d44\u6e90\u7ec4\u4e0e\u5de5\u4f5c\u7a7a\u95f4\u4e00\u4e00\u5bf9\u5e94\u3002 \u8d44\u6e90\u88ab\u52a0\u5165\u5230\u8d44\u6e90\u7ec4\u540e\uff0cWorkspace Admin \u5c06\u83b7\u5f97\u8d44\u6e90\u7684\u7ba1\u7406\u6743\u9650\uff0c\u76f8\u5f53\u4e8e\u8be5\u8d44\u6e90\u7684\u6240\u6709\u8005\u3002

    • \u5171\u4eab\u8d44\u6e90

      \u800c\u5bf9\u4e8e\u5171\u4eab\u8d44\u6e90\u6765\u8bf4\uff0c\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u8d44\u6e90\u3002 \u8d44\u6e90\u7684\u6240\u6709\u8005\uff0c\u53ef\u4ee5\u9009\u62e9\u5c06\u81ea\u5df1\u62e5\u6709\u7684\u8d44\u6e90\u5171\u4eab\u7ed9\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u4e00\u822c\u5171\u4eab\u65f6\u8d44\u6e90\u6240\u6709\u8005\u4f1a\u9650\u5236\u88ab\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u989d\u5ea6\u3002 \u8d44\u6e90\u88ab\u5171\u4eab\u540e\uff0cWorkspace Admin \u4ec5\u5177\u6709\u8d44\u6e90\u9650\u989d\u4e0b\u7684\u8d44\u6e90\u4f7f\u7528\u6743\u9650\uff0c\u65e0\u6cd5\u7ba1\u7406\u8d44\u6e90\u6216\u8005\u8c03\u6574\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u91cf\u3002

      \u540c\u65f6\u5171\u4eab\u8d44\u6e90\u5bf9\u4e8e\u8d44\u6e90\u672c\u8eab\u4e5f\u5177\u6709\u4e00\u5b9a\u7684\u8981\u6c42\uff0c\u53ea\u6709 Cluster\uff08\u96c6\u7fa4\uff09\u8d44\u6e90\u53ef\u4ee5\u88ab\u5171\u4eab\u3002 Cluster Admin \u80fd\u591f\u5c06 Cluster \u8d44\u6e90\u5206\u4eab\u7ed9\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u5e76\u4e14\u9650\u5236\u5de5\u4f5c\u7a7a\u95f4\u5728\u6b64 Cluster \u4e0a\u7684\u4f7f\u7528\u989d\u5ea6\u3002

      Workspace Admin \u5728\u8d44\u6e90\u9650\u989d\u5185\u80fd\u591f\u521b\u5efa\u591a\u4e2a Namespace\uff0c\u4f46\u662f Namespace \u7684\u8d44\u6e90\u989d\u5ea6\u603b\u548c\u4e0d\u80fd\u8d85\u8fc7 Cluster \u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u9650\u989d\u3002 \u5bf9\u4e8e Kubernetes \u8d44\u6e90\uff0c\u5f53\u524d\u80fd\u591f\u5206\u4eab\u7684\u8d44\u6e90\u7c7b\u578b\u4ec5\u6709 Cluster\u3002

    "},{"location":"admin/ghippo/workspace/ws-folder.html#_3","title":"\u6587\u4ef6\u5939","text":"

    \u6587\u4ef6\u5939\u53ef\u7528\u4e8e\u6784\u5efa\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\u3002

    • \u6587\u4ef6\u5939\u662f\u5728\u5de5\u4f5c\u7a7a\u95f4\u57fa\u7840\u4e4b\u4e0a\u7684\u8fdb\u4e00\u6b65\u5206\u7ec4\u673a\u5236\uff0c\u5177\u6709\u5c42\u7ea7\u7ed3\u6784\u3002 \u4e00\u4e2a\u6587\u4ef6\u5939\u53ef\u4ee5\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u3001\u5176\u4ed6\u6587\u4ef6\u5939\u6216\u4e24\u8005\u7684\u7ec4\u5408\uff0c\u80fd\u591f\u5f62\u6210\u6811\u72b6\u7684\u7ec4\u7ec7\u5173\u7cfb\u3002

    • \u501f\u52a9\u6587\u4ef6\u5939\u60a8\u53ef\u4ee5\u6620\u5c04\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\uff0c\u6309\u7167\u90e8\u95e8\u5bf9\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\u3002 \u6587\u4ef6\u5939\u4e0d\u76f4\u63a5\u4e0e\u8d44\u6e90\u6302\u94a9\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u95f4\u63a5\u5b9e\u73b0\u8d44\u6e90\u5206\u7ec4\u3002

    • \u6587\u4ef6\u5939\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\uff0c\u800c\u6839\u6587\u4ef6\u5939\u662f\u5c42\u6b21\u7ed3\u6784\u7684\u6700\u9ad8\u5c42\u7ea7\u3002 \u6839\u6587\u4ef6\u5939\u6ca1\u6709\u7236\u7ea7\uff0c\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u5747\u6302\u9760\u5230\u6839\u6587\u4ef6\u5939\u4e0b\u3002

    \u53e6\u5916\uff0c\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u5728\u6587\u4ef6\u5939\u4e2d\u80fd\u591f\u901a\u8fc7\u5c42\u7ea7\u7ed3\u6784\u7ee7\u627f\u6765\u81ea\u7236\u9879\u7684\u6743\u9650\u3002 \u7528\u6237\u5728\u5c42\u6b21\u7ed3\u6784\u4e2d\u7684\u6743\u9650\u6765\u81ea\u5f53\u524d\u5c42\u7ea7\u7684\u6743\u9650\u4ee5\u53ca\u7ee7\u627f\u5176\u7236\u9879\u6743\u9650\u7684\u7ec4\u5408\u7ed3\u679c\uff0c\u6743\u9650\u4e4b\u95f4\u662f\u52a0\u5408\u5173\u7cfb\u4e0d\u5b58\u5728\u4e92\u65a5\u3002

    "},{"location":"admin/ghippo/workspace/ws-permission.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u6743\u9650\u8bf4\u660e","text":"

    \u5de5\u4f5c\u7a7a\u95f4\u5177\u6709\u6743\u9650\u6620\u5c04\u548c\u8d44\u6e90\u9694\u79bb\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u8d44\u6e90\u4e0a\u3002 \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u662f Workspace Admin \u89d2\u8272\uff0c\u540c\u65f6\u5de5\u4f5c\u7a7a\u95f4-\u8d44\u6e90\u7ec4\u4e2d\u7ed1\u5b9a\u4e86\u8d44\u6e90 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u5c06\u6210\u4e3a Namespace Admin\u3002

    Note

    \u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

    "},{"location":"admin/ghippo/workspace/ws-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

    \u901a\u8fc7\u5c06\u8d44\u6e90\u7ed1\u5b9a\u5230\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u5b9e\u73b0\u8d44\u6e90\u9694\u79bb\u3002 \u56e0\u6b64\u501f\u52a9\u6743\u9650\u6620\u5c04\u3001\u8d44\u6e90\u9694\u79bb\u548c\u5171\u4eab\u8d44\u6e90\u80fd\u529b\u80fd\u591f\u5c06\u8d44\u6e90\u7075\u6d3b\u5206\u914d\u7ed9\u5404\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff08\u79df\u6237\uff09\u3002

    \u901a\u5e38\u9002\u7528\u4e8e\u4ee5\u4e0b\u4e24\u4e2a\u573a\u666f\uff1a

    • \u96c6\u7fa4\u4e00\u5bf9\u4e00

      \u666e\u901a\u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u7528\u9014 \u96c6\u7fa4 01 A \u7ba1\u7406\u548c\u4f7f\u7528 \u96c6\u7fa4 02 B \u7ba1\u7406\u548c\u4f7f\u7528
    • \u96c6\u7fa4\u4e00\u5bf9\u591a

      \u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u8d44\u6e90\u9650\u989d \u96c6\u7fa4 01 A 100 \u6838 CPU B 50 \u6838 CPU
    "},{"location":"admin/ghippo/workspace/ws-permission.html#_3","title":"\u6743\u9650\u8bf4\u660e","text":"\u64cd\u4f5c\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 - \u6388\u6743 \u2713 \u2717 \u2717 - \u4fee\u6539\u522b\u540d \u2713 \u2713 \u2717 \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 - \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 - \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 - \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 - \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 - \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717 - \u4f7f\u7528\u5171\u4eab\u8d44\u6e90 [^1] \u2713 \u2717 \u2717"},{"location":"admin/ghippo/workspace/wsbind-permission.html","title":"\u8d44\u6e90\u7ed1\u5b9a\u6743\u9650\u8bf4\u660e","text":"

    \u5047\u5982\u7528\u6237\u5c0f\u660e\uff08\u201c\u5c0f\u660e\u201d\u4ee3\u8868\u4efb\u4f55\u6709\u8d44\u6e90\u7ed1\u5b9a\u9700\u6c42\u7684\u7528\u6237\uff09\u5df2\u7ecf\u5177\u5907\u4e86 Workspace Admin \u89d2\u8272\u6216\u5df2\u901a\u8fc7\u81ea\u5b9a\u4e49\u89d2\u8272\u6388\u6743\uff0c \u540c\u65f6\u81ea\u5b9a\u4e49\u89d2\u8272\u4e2d\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u5e0c\u671b\u5c06\u67d0\u4e2a\u96c6\u7fa4\u6216\u8005\u67d0\u4e2a\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5176\u6240\u5728\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

    \u8981\u5c06\u96c6\u7fa4/\u547d\u540d\u7a7a\u95f4\u8d44\u6e90\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\uff0c\u4e0d\u4ec5\u9700\u8981\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u8fd8\u9700\u8981 Cluster Admin \u7684\u8d44\u6e90\u6743\u9650\u3002

    "},{"location":"admin/ghippo/workspace/wsbind-permission.html#_2","title":"\u7ed9\u5c0f\u660e\u6388\u6743","text":"
    1. \u4f7f\u7528\u5e73\u53f0 Admin \u89d2\u8272\uff0c \u5728 \u5de5\u4f5c\u7a7a\u95f4 -> \u6388\u6743 \u9875\u9762\u7ed9\u5c0f\u660e\u6388\u4e88 Workspace Admin \u89d2\u8272\u3002

    2. \u7136\u540e\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u6743\u9650\u7ba1\u7406 \u9875\u9762\uff0c\u901a\u8fc7 \u6dfb\u52a0\u6388\u6743 \u5c06\u5c0f\u660e\u6388\u6743\u4e3a Cluster Admin\u3002

    "},{"location":"admin/ghippo/workspace/wsbind-permission.html#_3","title":"\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

    \u4f7f\u7528\u5c0f\u660e\u7684\u8d26\u53f7\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u901a\u8fc7 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u529f\u80fd\uff0c \u5c0f\u660e\u53ef\u4ee5\u5c06\u6307\u5b9a\u96c6\u7fa4\u7ed1\u5b9a\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

    Note

    \u5c0f\u660e\u80fd\u4e14\u53ea\u80fd\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5c06\u96c6\u7fa4\u6216\u8005\u8be5\u96c6\u7fa4\u4e0b\u7684\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u65e0\u6cd5\u5728\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u5b8c\u6210\u6b64\u64cd\u4f5c\u3002

    \u7ed1\u5b9a\u547d\u540d\u7a7a\u95f4\u5230\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u81f3\u5c11\u9700\u8981 Workspace Admin + Cluster Admin \u6743\u9650\u3002

    "},{"location":"admin/host/createhost.html","title":"\u521b\u5efa\u548c\u542f\u52a8\u4e91\u4e3b\u673a","text":"

    \u7528\u6237\u5b8c\u6210\u6ce8\u518c\uff0c\u4e3a\u5176\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4\u548c\u8d44\u6e90\u540e\uff0c\u5373\u53ef\u4ee5\u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a\u3002

    "},{"location":"admin/host/createhost.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
    • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
    • \u4e3a\u7528\u6237\u7ed1\u5b9a\u4e86\u5de5\u4f5c\u7a7a\u95f4
    • \u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u4e86\u8d44\u6e90
    "},{"location":"admin/host/createhost.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
    2. \u70b9\u51fb \u521b\u5efa\u865a\u62df\u673a -> \u901a\u8fc7\u6a21\u677f\u521b\u5efa

    3. \u5b9a\u4e49\u7684\u4e91\u4e3b\u673a\u5404\u9879\u914d\u7f6e\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

      \u57fa\u672c\u914d\u7f6e\u6a21\u677f\u914d\u7f6e\u5b58\u50a8\u4e0e\u7f51\u7edc

    4. \u914d\u7f6e root \u5bc6\u7801\u6216 ssh \u5bc6\u94a5\u540e\u70b9\u51fb \u786e\u5b9a

    5. \u8fd4\u56de\u4e3b\u673a\u5217\u8868\uff0c\u7b49\u5f85\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u4e4b\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u542f\u52a8\u4e3b\u673a\u3002

    \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u4e91\u4e3b\u673a

    "},{"location":"admin/host/usehost.html","title":"\u4f7f\u7528\u4e91\u4e3b\u673a","text":"

    \u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a\u4e4b\u540e\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u4e91\u4e3b\u673a\u3002

    "},{"location":"admin/host/usehost.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
    • \u7528\u6237\u5df2\u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a
    "},{"location":"admin/host/usehost.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
    2. \u5bfc\u822a\u5230 \u5bb9\u5668\u7ba1\u7406 -> \u5bb9\u5668\u7f51\u7edc -> \u670d\u52a1 \uff0c\u70b9\u51fb\u670d\u52a1\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u670d\u52a1\u8be6\u60c5\u9875\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u66f4\u65b0

    3. \u66f4\u6539\u7aef\u53e3\u8303\u56f4\u4e3a 30900-30999\uff0c\u4f46\u4e0d\u80fd\u51b2\u7a81\u3002

    4. \u4ee5\u7ec8\u7aef\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5bfc\u822a\u5230\u5bf9\u5e94\u7684\u670d\u52a1\uff0c\u67e5\u770b\u8bbf\u95ee\u7aef\u53e3\u3002

    5. \u5728\u5916\u7f51\u4f7f\u7528 SSH \u5ba2\u6237\u7aef\u767b\u5f55\u4e91\u4e3b\u673a

    6. \u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u5728\u4e91\u4e3b\u673a\u4e0a\u6267\u884c\u5404\u9879\u64cd\u4f5c\u3002

    \u4e0b\u4e00\u6b65\uff1a\u4e91\u8d44\u6e90\u5171\u4eab\uff1a\u914d\u989d\u7ba1\u7406

    "},{"location":"admin/insight/alert-center/index.html","title":"\u544a\u8b66\u4e2d\u5fc3","text":"

    \u544a\u8b66\u4e2d\u5fc3\u662f AI \u7b97\u529b\u5e73\u53f0 \u63d0\u4f9b\u7684\u4e00\u4e2a\u91cd\u8981\u529f\u80fd\uff0c\u5b83\u8ba9\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u65b9\u4fbf\u5730\u6309\u7167\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u67e5\u770b\u6240\u6709\u6d3b\u52a8\u548c\u5386\u53f2\u544a\u8b66\uff0c \u5e76\u6839\u636e\u544a\u8b66\u7ea7\u522b\uff08\u7d27\u6025\u3001\u8b66\u544a\u3001\u63d0\u793a\uff09\u6765\u641c\u7d22\u544a\u8b66\u3002

    \u6240\u6709\u544a\u8b66\u90fd\u662f\u57fa\u4e8e\u9884\u8bbe\u7684\u544a\u8b66\u89c4\u5219\u8bbe\u5b9a\u7684\u9608\u503c\u6761\u4ef6\u89e6\u53d1\u7684\u3002\u5728 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c\u5185\u7f6e\u4e86\u4e00\u4e9b\u5168\u5c40\u544a\u8b66\u7b56\u7565\uff0c\u540c\u65f6\u60a8\u4e5f\u53ef\u4ee5\u968f\u65f6\u521b\u5efa\u3001\u5220\u9664\u544a\u8b66\u7b56\u7565\uff0c\u5bf9\u4ee5\u4e0b\u6307\u6807\u8fdb\u884c\u8bbe\u7f6e\uff1a

    • CPU \u4f7f\u7528\u91cf
    • \u5185\u5b58\u4f7f\u7528\u91cf
    • \u78c1\u76d8\u4f7f\u7528\u91cf
    • \u78c1\u76d8\u6bcf\u79d2\u8bfb\u6b21\u6570
    • \u78c1\u76d8\u6bcf\u79d2\u5199\u6b21\u6570
    • \u96c6\u7fa4\u78c1\u76d8\u8bfb\u53d6\u541e\u5410\u91cf
    • \u96c6\u7fa4\u78c1\u76d8\u5199\u5165\u541e\u5410\u91cf
    • \u7f51\u7edc\u53d1\u9001\u901f\u7387
    • \u7f51\u7edc\u63a5\u6536\u901f\u7387

    \u8fd8\u53ef\u4ee5\u4e3a\u544a\u8b66\u89c4\u5219\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002\u544a\u8b66\u89c4\u5219\u5206\u4e3a\u6d3b\u8dc3\u548c\u8fc7\u671f\u89c4\u5219\uff0c\u652f\u6301\u542f\u7528/\u7981\u7528\u67d0\u4e9b\u89c4\u5219\u6765\u5b9e\u73b0\u544a\u8b66\u9759\u9ed8\u3002

    \u5f53\u8fbe\u5230\u9608\u503c\u6761\u4ef6\u540e\uff0c\u53ef\u4ee5\u914d\u7f6e\u544a\u8b66\u901a\u77e5\u65b9\u5f0f\uff0c\u5305\u62ec\u90ae\u4ef6\u3001\u9489\u9489\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001Webhook \u548c\u77ed\u4fe1\u901a\u77e5\u3002 \u6240\u6709\u901a\u77e5\u7684\u6d88\u606f\u6a21\u677f\u90fd\u53ef\u4ee5\u81ea\u5b9a\u4e49\uff0c\u540c\u65f6\u8fd8\u652f\u6301\u6309\u8bbe\u5b9a\u7684\u95f4\u9694\u65f6\u95f4\u53d1\u9001\u901a\u77e5\u3002

    \u6b64\u5916\uff0c\u544a\u8b66\u4e2d\u5fc3\u8fd8\u652f\u6301\u901a\u8fc7\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u7b49\u63d0\u4f9b\u7684\u77ed\u4fe1\u670d\u52a1\u5c06\u544a\u8b66\u6d88\u606f\u53d1\u9001\u7ed9\u6307\u5b9a\u7528\u6237\uff0c\u5b9e\u73b0\u591a\u79cd\u65b9\u5f0f\u7684\u544a\u8b66\u901a\u77e5\u3002

    AI \u7b97\u529b\u5e73\u53f0 \u544a\u8b66\u4e2d\u5fc3\u662f\u4e00\u4e2a\u529f\u80fd\u5f3a\u5927\u7684\u544a\u8b66\u7ba1\u7406\u5e73\u53f0\uff0c\u53ef\u5e2e\u52a9\u7528\u6237\u53ca\u65f6\u53d1\u73b0\u548c\u89e3\u51b3\u96c6\u7fa4\u4e2d\u51fa\u73b0\u7684\u95ee\u9898\uff0c \u63d0\u9ad8\u4e1a\u52a1\u7a33\u5b9a\u6027\u548c\u53ef\u7528\u6027\uff0c\u4fbf\u4e8e\u96c6\u7fa4\u5de1\u68c0\u548c\u6545\u969c\u6392\u67e5\u3002

    "},{"location":"admin/insight/alert-center/alert-policy.html","title":"\u544a\u8b66\u7b56\u7565","text":"

    \u544a\u8b66\u7b56\u7565\u662f\u5728\u53ef\u89c2\u6d4b\u6027\u7cfb\u7edf\u4e2d\u5b9a\u4e49\u7684\u4e00\u7ec4\u89c4\u5219\u548c\u6761\u4ef6\uff0c\u7528\u4e8e\u68c0\u6d4b\u548c\u89e6\u53d1\u8b66\u62a5\uff0c\u4ee5\u4fbf\u5728\u7cfb\u7edf\u51fa\u73b0\u5f02\u5e38\u6216\u8fbe\u5230\u9884\u5b9a\u7684\u9608\u503c\u65f6\u53ca\u65f6\u901a\u77e5\u76f8\u5173\u4eba\u5458\u6216\u7cfb\u7edf\u3002

    \u6bcf\u6761\u544a\u8b66\u7b56\u7565\u662f\u4e00\u7ec4\u544a\u8b66\u89c4\u5219\u7684\u96c6\u5408\uff0c\u652f\u6301\u5bf9\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7b49\u8d44\u6e90\u3001\u65e5\u5fd7\u3001\u4e8b\u4ef6\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219\u3002\u5f53\u544a\u8b66\u5bf9\u8c61\u8fbe\u5230\u7b56\u7565\u4e0b\u4efb\u4e00\u89c4\u5219\u8bbe\u5b9a\u7684\u9608\u503c\uff0c\u5219\u4f1a\u81ea\u52a8\u89e6\u53d1\u544a\u8b66\u5e76\u53d1\u9001\u901a\u77e5\u3002

    "},{"location":"admin/insight/alert-center/alert-policy.html#_2","title":"\u67e5\u770b\u544a\u8b66\u7b56\u7565","text":"
    1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027\u3002
    2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u544a\u8b66\u7b56\u7565\u3002

      • \u96c6\u7fa4\uff1a\u5355\u51fb\u96c6\u7fa4\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\uff1b
      • \u547d\u540d\u7a7a\u95f4\uff1a\u5355\u51fb\u547d\u540d\u7a7a\u95f4\u5207\u6362\u4e0b\u62c9\u6846\u3002

    3. \u70b9\u51fb\u544a\u8b66\u7b56\u7565\u540d\u79f0\u53ef\u67e5\u770b\u7b56\u7565\u7684\u57fa\u672c\u4fe1\u606f\u3001\u89c4\u5219\u4ee5\u53ca\u901a\u77e5\u914d\u7f6e\u3002

      1. \u5728\u89c4\u5219\u5217\u8868\u4e2d\u53ef\u67e5\u770b\u89c4\u5219\u7c7b\u578b\u3001\u89c4\u5219\u7684\u8868\u8fbe\u5f0f\u3001\u7ea7\u522b\u3001\u72b6\u6001\u7b49\u4fe1\u606f\u3002
      2. \u8fdb\u5165\u7b56\u7565\u8be6\u60c5\uff0c\u53ef\u4ee5\u6dfb\u52a0\u3001\u7f16\u8f91\u3001\u5220\u9664\u5176\u4e0b\u7684\u544a\u8b66\u89c4\u5219\u3002

    "},{"location":"admin/insight/alert-center/alert-policy.html#_3","title":"\u521b\u5efa\u544a\u8b66\u7b56\u7565","text":"
    1. \u586b\u5199\u57fa\u672c\u4fe1\u606f\uff0c\u9009\u62e9\u4e00\u4e2a\u6216\u591a\u4e2a\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\u4e3a\u544a\u8b66\u5bf9\u8c61\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002

      Note

      • \u9009\u62e9\u5168\u90e8\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\uff1a\u521b\u5efa\u7684\u544a\u8b66\u89c4\u5219\u5bf9\u6240\u6709\u5df2\u5b89\u88c5 insight-agent \u7684\u96c6\u7fa4\u751f\u6548\u3002
      • \u9009\u62e9\u5355\u4e2a\u6216\u591a\u4e2a\u96c6\u7fa4\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\uff1a\u521b\u5efa\u7684\u544a\u8b66\u89c4\u5219\u4ec5\u5bf9\u6240\u9009\u7684\u8d44\u6e90\u5bf9\u8c61\u751f\u6548\u3002
      • \u540c\u65f6\uff0c\u7528\u6237\u53ea\u80fd\u5bf9\u5df2\u6743\u9650\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219\u3002
    "},{"location":"admin/insight/alert-center/alert-policy.html#_4","title":"\u624b\u52a8\u6dfb\u52a0\u89c4\u5219","text":"
    1. \u5728\u521b\u5efa\u544a\u8b66\u7b56\u7565\u7684\u7b2c\u4e8c\u90e8\u4e2d\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4e0a\u89d2\u7684\u6dfb\u52a0\u89c4\u5219\u3002

    2. \u5728\u5f39\u7a97\u4e2d\u521b\u5efa\u544a\u8b66\u89c4\u5219\uff0c\u586b\u5199\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a\u3002

      • \u6a21\u677f\u89c4\u5219\uff1a\u9884\u5b9a\u4e49\u4e86\u57fa\u7840\u6307\u6807\uff0c\u53ef\u4ee5\u6309 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edc\u8bbe\u5b9a\u8981\u76d1\u63a7\u7684\u6307\u6807\u3002
      • PromQL \u89c4\u5219\uff1a\u8f93\u5165\u4e00\u4e2a PromQL \u8868\u8fbe\u5f0f\uff0c\u5177\u4f53\u8bf7\u67e5\u8be2 Prometheus \u8868\u8fbe\u5f0f\u3002
      • \u6301\u7eed\u65f6\u957f\uff1a\u544a\u8b66\u88ab\u89e6\u53d1\u4e14\u6301\u7eed\u65f6\u95f4\u8fbe\u5230\u8be5\u8bbe\u5b9a\u503c\u540e\uff0c\u544a\u8b66\u7b56\u7565\u5c06\u53d8\u4e3a\u89e6\u53d1\u4e2d\u72b6\u6001\u3002
      • \u544a\u8b66\u7ea7\u522b\uff1a\u5305\u542b\u7d27\u6025\u3001\u8b66\u544a\u3001\u4fe1\u606f\u4e09\u79cd\u7ea7\u522b\u3002
      • \u9ad8\u7ea7\u8bbe\u7f6e\uff1a\u53ef\u4ee5\u81ea\u5b9a\u4e49\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

      Info

      \u7cfb\u7edf\u5b9a\u4e49\u4e86\u5185\u7f6e\u6807\u7b7e\uff0c\u82e5\u81ea\u5b9a\u4e49\u6807\u7b7e\u4e0e\u5185\u7f6e\u6807\u7b7e\u7684\u952e\u503c\u76f8\u540c\uff0c\u5219\u81ea\u5b9a\u4e49\u6807\u7b7e\u4e0d\u751f\u6548\u3002 \u5185\u7f6e\u6807\u7b7e\u6709\uff1aseverity\u3001rule_id\uff0csource\u3001cluster_name\u3001group_id\u3001 target_type \u548c target\u3002

    "},{"location":"admin/insight/alert-center/alert-policy.html#_5","title":"\u521b\u5efa\u65e5\u5fd7\u89c4\u5219","text":"

    \u5b8c\u6210\u57fa\u672c\u4fe1\u606f\u7684\u586b\u5199\u540e\uff0c\u70b9\u51fb \u6dfb\u52a0\u89c4\u5219\uff0c\u89c4\u5219\u7c7b\u578b\u9009\u62e9 \u65e5\u5fd7\u89c4\u5219\u3002

    Note

    \u4ec5\u5f53\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u652f\u6301\u521b\u5efa\u65e5\u5fd7\u89c4\u5219\u3002

    \u5b57\u6bb5\u8bf4\u660e\uff1a

    • \u8fc7\u6ee4\u6761\u4ef6\uff1a\u67e5\u8be2\u65e5\u5fd7\u5185\u5bb9\u7684\u5b57\u6bb5\uff0c\u652f\u6301\u4e0e\u3001\u6216\u3001\u6b63\u5219\u5339\u914d\u3001\u6a21\u7cca\u5339\u914d\u56db\u79cd\u8fc7\u6ee4\u6761\u4ef6\u3002
    • \u5224\u65ad\u6761\u4ef6\uff1a\u6839\u636e \u8fc7\u6ee4\u6761\u4ef6\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u5339\u914d\u6761\u4ef6\u3002
    • \u65f6\u95f4\u8303\u56f4\uff1a\u65e5\u5fd7\u67e5\u8be2\u7684\u65f6\u95f4\u8303\u56f4\u3002
    • \u9608\u503c\u6761\u4ef6\uff1a\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u544a\u8b66\u9608\u503c\u3002\u5f53\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u65f6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u3002\u652f\u6301\u7684\u6bd4\u8f83\u8fd0\u7b97\u7b26\u6709\uff1a >\u3001\u2265\u3001=\u3001\u2264\u3001<\u3002
    • \u544a\u8b66\u7ea7\u522b\uff1a\u9009\u62e9\u544a\u8b66\u7ea7\u522b\uff0c\u7528\u4e8e\u8868\u793a\u544a\u8b66\u7684\u4e25\u91cd\u7a0b\u5ea6\u3002
    "},{"location":"admin/insight/alert-center/alert-policy.html#_6","title":"\u521b\u5efa\u4e8b\u4ef6\u89c4\u5219","text":"

    \u5b8c\u6210\u57fa\u672c\u4fe1\u606f\u7684\u586b\u5199\u540e\uff0c\u70b9\u51fb \u6dfb\u52a0\u89c4\u5219\uff0c\u89c4\u5219\u7c7b\u578b\u9009\u62e9 \u4e8b\u4ef6\u89c4\u5219\u3002

    Note

    \u4ec5\u5f53\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u652f\u6301\u521b\u5efa\u4e8b\u4ef6\u89c4\u5219\u3002

    \u5b57\u6bb5\u8bf4\u660e\uff1a

    • \u4e8b\u4ef6\u89c4\u5219\uff1a\u4ec5\u652f\u6301\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u5de5\u4f5c\u8d1f\u8f7d
    • \u4e8b\u4ef6\u539f\u56e0\uff1a\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u7684\u4e8b\u4ef6\u539f\u56e0\u4e0d\u540c\uff0c\u4e8b\u4ef6\u539f\u56e0\u4e4b\u95f4\u662f\u201c\u548c\u201d\u7684\u5173\u7cfb\u3002
    • \u65f6\u95f4\u8303\u56f4\uff1a\u68c0\u6d4b\u8be5\u65f6\u95f4\u8303\u56f4\u5185\u4ea7\u751f\u6570\u636e\uff0c\u82e5\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u6761\u4ef6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u4e8b\u4ef6\u3002
    • \u9608\u503c\u6761\u4ef6\uff1a\u5f53\u4ea7\u751f\u7684\u4e8b\u4ef6\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u65f6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u4e8b\u4ef6\u3002
    • \u8d8b\u52bf\u56fe\uff1a\u9ed8\u8ba4\u67e5\u8be2 10 \u5206\u949f\u5185\u7684\u4e8b\u4ef6\u53d8\u5316\u8d8b\u52bf\uff0c\u6bcf\u4e2a\u70b9\u7684\u6570\u503c\u7edf\u8ba1\u7684\u662f\u5f53\u524d\u65f6\u95f4\u70b9\u5230\u4e4b\u524d\u7684\u67d0\u6bb5\u65f6\u95f4\uff08\u65f6\u95f4\u8303\u56f4\uff09\u5185\u53d1\u751f\u7684\u603b\u6b21\u6570\u3002
    "},{"location":"admin/insight/alert-center/alert-policy.html#_7","title":"\u5bfc\u5165\u89c4\u5219\u6a21\u677f","text":"
    1. \u53ef\u70b9\u51fb \u6a21\u677f\u5bfc\u5165\uff0c\u9009\u62e9\u5e73\u53f0\u7ba1\u7406\u5458\u5df2\u521b\u5efa\u597d\u7684\u544a\u8b66\u6a21\u677f\u6279\u91cf\u5bfc\u5165\u544a\u8b66\u89c4\u5219\u3002

    2. \u70b9\u51fb \u4e0b\u4e00\u6b65 \u540e\u914d\u7f6e\u901a\u77e5\u3002

    3. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u8fd4\u56de\u544a\u8b66\u7b56\u7565\u5217\u8868\u3002

    Tip

    \u65b0\u5efa\u7684\u544a\u8b66\u7b56\u7565\u4e3a \u672a\u89e6\u53d1 \u72b6\u6001\u3002\u4e00\u65e6\u6ee1\u8db3\u89c4\u5219\u4e2d\u7684\u9608\u503c\u6761\u4ef6\u548c\u6301\u7eed\u65f6\u95f4\u540e\uff0c\u5c06\u53d8\u4e3a \u89e6\u53d1\u4e2d \u72b6\u6001\u3002

    Warning

    \u5220\u9664\u540e\u7684\u544a\u8b66\u7b56\u7565\u5c06\u5b8c\u5168\u6d88\u5931\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"admin/insight/alert-center/alert-policy.html#yaml","title":"\u901a\u8fc7 YAML \u5bfc\u5165\u544a\u8b66\u7b56\u7565","text":"
    1. \u8fdb\u5165\u544a\u8b66\u7b56\u7565\u5217\u8868\uff0c\u70b9\u51fb YAML \u521b\u5efa\u3002

    2. \u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u7684\u9009\u62e9\u662f\u4e3a\u4e86\u544a\u8b66\u7b56\u7565\u7684\u7ba1\u7406\u6743\u9650\u3002

    3. YAML \u7f16\u8f91\u5668\u4e2d\u8bf7\u586b\u5199 spec \u53ca\u5176\u4e2d\u7684\u5185\u5bb9\uff0c\u4ec5\u652f\u6301\u5bfc\u5165\u4e00\u4e2a group\u3002
    4. \u544a\u8b66\u89c4\u5219\u540d\u79f0 \u9700\u8981\u7b26\u5408\u89c4\u8303\uff1a\u540d\u79f0\u53ea\u80fd\u5305\u542b\u5927\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\uff08_\uff09\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002
    5. \u5fc5\u586b severity \u4e14\u7b26\u5408\u89c4\u8303\uff1acritical\u3001warning\u3001info\u3002
    6. \u5fc5\u586b\u8868\u8fbe\u5f0f expr\u3002

    7. \u5bfc\u5165 YAML \u6587\u4ef6\u540e\uff0c\u70b9\u51fb \u9884\u89c8\uff0c\u53ef\u4ee5\u5bf9\u5bfc\u5165\u7684 YAML \u683c\u5f0f\u8fdb\u884c\u9a8c\u8bc1\uff0c\u5e76\u5feb\u901f\u786e\u8ba4\u5bfc\u5165\u7684\u544a\u8b66\u89c4\u5219\u3002

    "},{"location":"admin/insight/alert-center/alert-template.html","title":"\u544a\u8b66\u6a21\u677f","text":"

    \u544a\u8b66\u6a21\u677f\u53ef\u652f\u6301\u5e73\u53f0\u7ba1\u7406\u5458\u521b\u5efa\u544a\u8b66\u6a21\u677f\u53ca\u89c4\u5219\uff0c\u4e1a\u52a1\u4fa7\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u544a\u8b66\u6a21\u677f\u521b\u5efa\u544a\u8b66\u7b56\u7565\u3002 \u8fd9\u4e2a\u529f\u80fd\u53ef\u4ee5\u51cf\u5c11\u4e1a\u52a1\u4eba\u5458\u5bf9\u544a\u8b66\u89c4\u5219\u7684\u7ba1\u7406\uff0c\u4e14\u53ef\u4ee5\u6839\u636e\u73af\u5883\u5b9e\u9645\u60c5\u51b5\u81ea\u884c\u4fee\u6539\u544a\u8b66\u9608\u503c\u3002

    "},{"location":"admin/insight/alert-center/alert-template.html#_2","title":"\u521b\u5efa\u544a\u8b66\u6a21\u677f","text":"
    1. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u7b56\u7565\uff0c\u5355\u51fb\u9876\u90e8\u7684 \u544a\u8b66\u6a21\u677f \u3002

    2. \u70b9\u51fb \u521b\u5efa\u544a\u8b66\u6a21\u677f \uff0c\u8bbe\u7f6e\u544a\u8b66\u6a21\u677f\u7684\u540d\u79f0\u3001\u63cf\u8ff0\u7b49\u4fe1\u606f\u3002

      \u53c2\u6570 \u8bf4\u660e \u6a21\u677f\u540d\u79f0 \u540d\u79f0\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002 \u63cf\u8ff0 \u63cf\u8ff0\u53ef\u5305\u542b\u4efb\u610f\u5b57\u7b26\uff0c\u6700\u957f 256 \u4e2a\u5b57\u7b26\u3002 \u8d44\u6e90\u7c7b\u578b \u7528\u4e8e\u6307\u5b9a\u544a\u8b66\u6a21\u677f\u7684\u5339\u914d\u7c7b\u578b\u3002 \u544a\u8b66\u89c4\u5219 \u652f\u6301\u9884\u5b9a\u4e49\u591a\u4e2a\u544a\u8b66\u89c4\u5219\uff0c\u53ef\u6dfb\u52a0\u6a21\u677f\u89c4\u5219\u3001PromQL \u89c4\u5219\u3002
    3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u540e\u8fd4\u56de\u544a\u8b66\u6a21\u677f\u5217\u8868\uff0c\u70b9\u51fb\u6a21\u677f\u540d\u79f0\u540e\u53ef\u67e5\u770b\u6a21\u677f\u8be6\u60c5\u3002

    "},{"location":"admin/insight/alert-center/alert-template.html#_3","title":"\u7f16\u8f91\u544a\u8b66\u6a21\u677f","text":"

    \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u7684 \u2507 \uff0c\u70b9\u51fb \u7f16\u8f91\uff0c\u8fdb\u5165\u6291\u5236\u89c4\u5219\u7684\u7f16\u8f91\u9875\u3002

    "},{"location":"admin/insight/alert-center/alert-template.html#_4","title":"\u5220\u9664\u544a\u8b66\u6a21\u677f","text":"

    \u70b9\u51fb\u76ee\u6807\u6a21\u677f\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u5220\u9664\uff0c\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u544a\u8b66\u6a21\u677f\u7684\u540d\u79f0\u5373\u53ef\u5220\u9664\u3002

    "},{"location":"admin/insight/alert-center/inhibition.html","title":"\u544a\u8b66\u6291\u5236","text":"

    \u544a\u8b66\u6291\u5236\u4e3b\u8981\u662f\u5bf9\u4e8e\u67d0\u4e9b\u4e0d\u9700\u8981\u7acb\u5373\u5173\u6ce8\u7684\u544a\u8b66\u8fdb\u884c\u4e34\u65f6\u9690\u85cf\u6216\u8005\u964d\u4f4e\u5176\u4f18\u5148\u7ea7\u7684\u4e00\u79cd\u673a\u5236\u3002\u8fd9\u4e2a\u529f\u80fd\u7684\u76ee\u7684\u662f\u4e3a\u4e86\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u544a\u8b66\u4fe1\u606f\u5bf9\u8fd0\u7ef4\u4eba\u5458\u7684\u5e72\u6270\uff0c\u4f7f\u4ed6\u4eec\u80fd\u591f\u96c6\u4e2d\u7cbe\u529b\u5904\u7406\u66f4\u91cd\u8981\u7684\u95ee\u9898\u3002

    \u544a\u8b66\u6291\u5236\u901a\u8fc7\u5b9a\u4e49\u4e00\u7ec4\u89c4\u5219\u6765\u8bc6\u522b\u548c\u5ffd\u7565\u67d0\u4e9b\u544a\u8b66\uff0c\u5f53\u5b83\u4eec\u5728\u7279\u5b9a\u6761\u4ef6\u4e0b\u53d1\u751f\u65f6\u3002\u4e3b\u8981\u6709\u4ee5\u4e0b\u51e0\u79cd\u60c5\u51b5\uff1a

    • \u7236\u5b50\u5173\u7cfb\u6291\u5236\uff1a\u5f53\u4e00\u4e2a\u7236\u544a\u8b66\uff08\u4f8b\u5982\u67d0\u4e2a\u8282\u70b9\u7684\u5d29\u6e83\uff09\u89e6\u53d1\u65f6\uff0c\u53ef\u4ee5\u6291\u5236\u6240\u6709\u7531\u6b64\u5f15\u8d77\u7684\u5b50\u544a\u8b66\uff08\u4f8b\u5982\u8be5\u8282\u70b9\u4e0a\u8fd0\u884c\u7684\u5bb9\u5668\u5d29\u6e83\uff09\u3002
    • \u76f8\u4f3c\u544a\u8b66\u6291\u5236\uff1a\u5f53\u591a\u4e2a\u544a\u8b66\u5177\u6709\u76f8\u540c\u7684\u7279\u5f81\uff08\u4f8b\u5982\u540c\u4e00\u5b9e\u4f8b\u4e0a\u7684\u76f8\u540c\u95ee\u9898\uff09\u65f6\uff0c\u53ef\u4ee5\u6291\u5236\u91cd\u590d\u7684\u544a\u8b66\u901a\u77e5\u3002
    "},{"location":"admin/insight/alert-center/inhibition.html#_2","title":"\u521b\u5efa\u6291\u5236\u89c4\u5219","text":"
    1. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u964d\u566a\uff0c\u5355\u51fb\u9876\u90e8\u7684 \u544a\u8b66\u6291\u5236 \u3002

    2. \u70b9\u51fb \u65b0\u5efa\u6291\u5236\u89c4\u5219 \uff0c\u8bbe\u7f6e\u6291\u5236\u89c4\u5219\u7684\u540d\u79f0\u3001\u89c4\u5219\u7b49\u3002

      Note

      \u901a\u8fc7\u89c4\u5219\u6807\u7b7e\u548c\u544a\u8b66\u6807\u7b7e\u5b9a\u4e49\u4e00\u7ec4\u89c4\u5219\u6765\u8bc6\u522b\u548c\u5ffd\u7565\u67d0\u4e9b\u544a\u8b66\uff0c\u8fbe\u5230\u907f\u514d\u540c\u4e00\u95ee\u9898\u53ef\u80fd\u4f1a\u89e6\u53d1\u591a\u4e2a\u76f8\u4f3c\u6216\u76f8\u5173\u7684\u544a\u8b66\u7684\u95ee\u9898\u3002

      \u53c2\u6570\u65f6\u95f4 \u8bf4\u660e \u6291\u5236\u89c4\u5219\u540d\u79f0 \u6291\u5236\u89c4\u5219\u540d\u79f0\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002 \u63cf\u8ff0 \u63cf\u8ff0\u53ef\u5305\u542b\u4efb\u610f\u5b57\u7b26\uff0c\u6700\u957f 256 \u4e2a\u5b57\u7b26\u3002 \u96c6\u7fa4 \u8be5\u6291\u5236\u89c4\u5219\u4f5c\u7528\u7684\u96c6\u7fa4\u3002 \u547d\u540d\u7a7a\u95f4 \u8be5\u6291\u5236\u89c4\u5219\u4f5c\u7528\u7684\u547d\u540d\u7a7a\u95f4\u3002 \u6839\u6e90\u544a\u8b66 \u901a\u8fc7\u586b\u5199\u7684\u6807\u7b7e\u6761\u4ef6\u5339\u914d\u544a\u8b66\uff0c\u4f1a\u5c06\u7b26\u5408\u6240\u6709\u6807\u7b7e\u6761\u4ef6\u7684\u544a\u8b66\u4e0e\u7b26\u5408\u6291\u5236\u6761\u4ef6\u7684\u8fdb\u884c\u5bf9\u6bd4\uff0c\u4e0d\u7b26\u5408\u6291\u5236\u6761\u4ef6\u7684\u544a\u8b66\u5c06\u7167\u5e38\u53d1\u9001\u6d88\u606f\u7ed9\u7528\u6237\u3002 \u53d6\u503c\u8303\u56f4\u8bf4\u660e\uff1a - \u544a\u8b66\u7ea7\u522b\uff1a\u6307\u6807\u6216\u4e8b\u4ef6\u544a\u8b66\u7684\u7ea7\u522b\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a\uff1a\u7d27\u6025\u3001\u91cd\u8981\u3001\u63d0\u793a\u3002 - \u8d44\u6e90\u7c7b\u578b\uff1a\u544a\u8b66\u5bf9\u8c61\u6240\u5bf9\u5e94\u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a\uff1a\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u65e0\u72b6\u6001\u8d1f\u8f7d\u3001\u6709\u72b6\u5bb9\u8d1f\u8f7d\u3001\u5b88\u62a4\u8fdb\u7a0b\u3001\u5bb9\u5668\u7ec4\u3002 - \u6807\u7b7e\uff1a\u544a\u8b66\u6807\u8bc6\u5c5e\u6027\uff0c\u7531\u6807\u7b7e\u540d\u548c\u6807\u7b7e\u503c\u6784\u6210\uff0c\u652f\u6301\u7528\u6237\u81ea\u5b9a\u4e49\u3002 \u6291\u5236\u544a\u8b66 \u7528\u4e8e\u6307\u5b9a\u76ee\u6807\u8b66\u62a5\uff08\u5c06\u88ab\u6291\u5236\u7684\u8b66\u62a5\uff09\u7684\u5339\u914d\u6761\u4ef6\uff0c\u7b26\u5408\u6240\u6709\u6807\u7b7e\u6761\u4ef6\u7684\u544a\u8b66\u5c06\u4e0d\u4f1a\u518d\u53d1\u9001\u6d88\u606f\u7ed9\u7528\u6237\u3002 \u5339\u914d\u6807\u7b7e \u7528\u4e8e\u6307\u5b9a\u5e94\u8be5\u6bd4\u8f83\u7684\u6807\u7b7e\u5217\u8868\uff0c\u4ee5\u786e\u5b9a\u6e90\u8b66\u62a5\u548c\u76ee\u6807\u8b66\u62a5\u662f\u5426\u5339\u914d\u3002\u53ea\u6709\u5728\u00a0equal\u00a0\u4e2d\u6307\u5b9a\u7684\u6807\u7b7e\u5728\u6e90\u548c\u76ee\u6807\u8b66\u62a5\u4e2d\u7684\u503c\u5b8c\u5168\u76f8\u540c\u7684\u60c5\u51b5\u4e0b\uff0c\u624d\u4f1a\u89e6\u53d1\u6291\u5236\u3002equal\u00a0\u5b57\u6bb5\u662f\u53ef\u9009\u7684\u3002\u5982\u679c\u7701\u7565\u00a0equal\u00a0\u5b57\u6bb5\uff0c\u5219\u4f1a\u5c06\u6240\u6709\u6807\u7b7e\u7528\u4e8e\u5339\u914d
    3. \u70b9\u51fb**\u786e\u5b9a**\u5b8c\u6210\u521b\u5efa\u540e\u8fd4\u56de\u544a\u8b66\u6291\u5236\u5217\u8868\uff0c\u70b9\u51fb\u544a\u8b66\u6291\u5236\u540d\u79f0\u540e\u53ef\u67e5\u770b\u6291\u5236\u89c4\u5219\u8be6\u60c5\u3002

    "},{"location":"admin/insight/alert-center/inhibition.html#_3","title":"\u67e5\u770b\u89c4\u5219\u6807\u7b7e","text":"
    1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u7b56\u7565 \uff0c\u70b9\u51fb\u89c4\u5219\u6240\u5728\u7684\u7b56\u7565\u8be6\u60c5\u3002
    2. \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540d\u79f0\uff0c\u67e5\u770b\u89c4\u5219\u8be6\u60c5\uff0c\u67e5\u770b\u5bf9\u5e94\u544a\u8b66\u89c4\u5219\u7684\u6807\u7b7e\u3002

      Note

      \u5728\u6dfb\u52a0\u89c4\u5219\u65f6\u53ef\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

    "},{"location":"admin/insight/alert-center/inhibition.html#_4","title":"\u67e5\u770b\u544a\u8b66\u6807\u7b7e","text":"
    1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u5217\u8868 \uff0c\u70b9\u51fb\u544a\u8b66\u6240\u5728\u884c\u67e5\u770b\u544a\u8b66\u8be6\u60c5\u3002

      Note

      \u544a\u8b66\u6807\u7b7e\u7528\u4e8e\u63cf\u8ff0\u544a\u8b66\u7684\u8be6\u7ec6\u4fe1\u606f\u548c\u5c5e\u6027\uff0c\u53ef\u4ee5\u7528\u6765\u521b\u5efa\u6291\u5236\u89c4\u5219\u3002

    "},{"location":"admin/insight/alert-center/inhibition.html#_5","title":"\u7f16\u8f91\u6291\u5236\u89c4\u5219","text":"
    1. \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u7f16\u8f91\uff0c\u8fdb\u5165\u6291\u5236\u89c4\u5219\u7684\u7f16\u8f91\u9875\u3002

    "},{"location":"admin/insight/alert-center/inhibition.html#_6","title":"\u5220\u9664\u6291\u5236\u89c4\u5219","text":"

    \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u5220\u9664\uff0c\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u6291\u5236\u89c4\u5219\u7684\u540d\u79f0\u5373\u53ef\u5220\u9664\u3002

    "},{"location":"admin/insight/alert-center/message.html","title":"\u901a\u77e5\u914d\u7f6e","text":"

    \u5728 \u901a\u77e5\u914d\u7f6e \u9875\u9762\uff0c\u53ef\u4ee5\u914d\u7f6e\u901a\u8fc7\u90ae\u4ef6\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001\u9489\u9489\u3001Webhook \u548c\u77ed\u4fe1\u7b49\u65b9\u5f0f\u5411\u7528\u6237\u53d1\u9001\u6d88\u606f\u3002

    "},{"location":"admin/insight/alert-center/message.html#_2","title":"\u90ae\u4ef6\u7ec4","text":"
    1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e\uff0c\u9ed8\u8ba4\u4f4d\u4e8e\u90ae\u4ef6\u901a\u77e5\u5bf9\u8c61\u3002

    2. \u70b9\u51fb \u6dfb\u52a0\u90ae\u7bb1\u7ec4\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u90ae\u4ef6\u5730\u5740\u3002

    3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u90ae\u7bb1\u7ec4\u3002

    "},{"location":"admin/insight/alert-center/message.html#_3","title":"\u4f01\u4e1a\u5fae\u4fe1","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u4f01\u4e1a\u5fae\u4fe1\u3002

      \u6709\u5173\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\u7684 URL\uff0c\u8bf7\u53c2\u9605\u4f01\u4e1a\u5fae\u4fe1\u5b98\u65b9\u6587\u6863\uff1a\u5982\u4f55\u4f7f\u7528\u7fa4\u673a\u5668\u4eba\u3002

    2. \u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

    3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

    "},{"location":"admin/insight/alert-center/message.html#_4","title":"\u9489\u9489","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u9489\u9489\uff0c\u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

      \u6709\u5173\u9489\u9489\u7fa4\u673a\u5668\u4eba\u7684 URL\uff0c\u8bf7\u53c2\u9605\u9489\u9489\u5b98\u65b9\u6587\u6863\uff1a\u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u63a5\u5165\u3002

      Note

      \u52a0\u7b7e\u7684\u65b9\u5f0f\u662f\u9489\u9489\u673a\u5668\u4eba\u4e0e\u5f00\u53d1\u8005\u53cc\u5411\u8fdb\u884c\u5b89\u5168\u8ba4\u8bc1\uff0c\u82e5\u5728\u521b\u5efa\u9489\u9489\u673a\u5668\u4eba\u65f6\u5f00\u542f\u4e86\u52a0\u7b7e\uff0c\u5219\u9700\u8981\u5728\u6b64\u5904\u8f93\u5165\u9489\u9489\u751f\u6210\u7684\u5bc6\u94a5\u3002 \u53ef\u53c2\u8003\u9489\u9489\u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u5b89\u5168\u8bbe\u7f6e\u3002

    2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

    "},{"location":"admin/insight/alert-center/message.html#_5","title":"\u98de\u4e66","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u98de\u4e66\uff0c\u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

      Note

      \u5f53\u98de\u4e66\u7684\u7fa4\u673a\u5668\u4eba\u5f00\u542f\u7b7e\u540d\u6821\u9a8c\u65f6\uff0c\u6dfb\u52a0\u98de\u4e66\u901a\u77e5\u65f6\u9700\u8981\u586b\u5199\u5bf9\u5e94\u7684\u7b7e\u540d\u5bc6\u94a5\u3002\u8bf7\u67e5\u9605 \u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u4f7f\u7528\u6307\u5357\u3002

    2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

    "},{"location":"admin/insight/alert-center/message.html#webhook","title":"Webhook","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> Webhook\u3002

      \u6709\u5173 Webhook URL \u53ca\u66f4\u591a\u914d\u7f6e\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605 webhook \u6587\u6863\u3002

    2. \u70b9\u51fb \u65b0\u5efa Webhook\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a Webhook\u3002

      HTTP Headers\uff1a\u975e\u5fc5\u586b\uff0c\u8bbe\u7f6e\u8bf7\u6c42\u5934\u3002\u53ef\u4ee5\u6dfb\u52a0\u591a\u4e2a Headers\u3002

      Note

      \u6709\u5173 Webhook URL \u53ca\u66f4\u591a\u914d\u7f6e\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605 webhook \u6587\u6863\u3002

    3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664 Webhook\u3002

    "},{"location":"admin/insight/alert-center/message.html#_6","title":"\u7ad9\u5185\u4fe1","text":"

    Note

    \u544a\u8b66\u6d88\u606f\u53d1\u9001\u81f3\u7528\u6237\u4e2a\u4eba\u7684\u7ad9\u5185\u4fe1\uff0c\u70b9\u51fb\u9876\u90e8\u7684 \ud83d\udd14 \u7b26\u53f7\u53ef\u4ee5\u67e5\u770b\u901a\u77e5\u6d88\u606f\u3002

    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u7ad9\u5185\u4fe1\uff0c\u70b9\u51fb\u521b\u5efa\u3002

      • \u7ad9\u5185\u4fe1\u901a\u77e5\u5141\u8bb8\u6dfb\u52a0\u591a\u4e2a\u7528\u6237\u3002

    2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de \u7ad9\u5185\u4fe1\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\u3002

    "},{"location":"admin/insight/alert-center/message.html#_7","title":"\u77ed\u4fe1\u7ec4","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u77ed\u4fe1\uff0c\u70b9\u51fb \u6dfb\u52a0\u77ed\u4fe1\u7ec4\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u77ed\u4fe1\u7ec4\u3002

    2. \u5728\u5f39\u7a97\u4e2d\u8f93\u5165\u540d\u79f0\u3001\u63a5\u6536\u77ed\u4fe1\u7684\u5bf9\u8c61\u3001\u624b\u673a\u53f7\u4ee5\u53ca\u901a\u77e5\u670d\u52a1\u5668\u3002

      \u901a\u77e5\u670d\u52a1\u5668\u9700\u8981\u9884\u5148\u5728 \u901a\u77e5\u914d\u7f6e -> \u901a\u77e5\u670d\u52a1\u5668 \u4e2d\u6dfb\u52a0\u521b\u5efa\u3002\u76ee\u524d\u652f\u6301\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u4e24\u79cd\u4e91\u670d\u52a1\u5668\uff0c\u5177\u4f53\u914d\u7f6e\u7684\u53c2\u6570\u8bf7\u53c2\u9605\u81ea\u5df1\u7684\u4e91\u670d\u52a1\u5668\u4fe1\u606f\u3002

    3. \u77ed\u4fe1\u7ec4\u6dfb\u52a0\u6210\u529f\u540e\uff0c\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u77ed\u4fe1\u7ec4\u3002

    "},{"location":"admin/insight/alert-center/msg-template.html","title":"\u6d88\u606f\u6a21\u677f","text":"

    \u53ef\u89c2\u6d4b\u6027\u63d0\u4f9b\u81ea\u5b9a\u4e49\u6d88\u606f\u6a21\u677f\u5185\u5bb9\u7684\u80fd\u529b\uff0c\u652f\u6301\u90ae\u4ef6\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001\u9489\u9489\u3001Webhook\u3001\u98de\u4e66\u3001\u7ad9\u5185\u4fe1\u7b49\u4e0d\u540c\u7684\u901a\u77e5\u5bf9\u8c61\u5b9a\u4e49\u4e0d\u540c\u7684\u6d88\u606f\u901a\u77e5\u5185\u5bb9\u3002

    "},{"location":"admin/insight/alert-center/msg-template.html#_2","title":"\u521b\u5efa\u6d88\u606f\u6a21\u677f","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u6d88\u606f\u6a21\u677f\u3002

      Insight \u9ed8\u8ba4\u5185\u7f6e\u4e2d\u82f1\u6587\u4e24\u4e2a\u6a21\u677f\uff0c\u4ee5\u4fbf\u7528\u6237\u4f7f\u7528\u3002

    2. \u70b9\u51fb \u65b0\u5efa\u6d88\u606f\u6a21\u677f \u6309\u94ae\uff0c\u586b\u5199\u6a21\u677f\u5185\u5bb9\u3002

    Info

    \u53ef\u89c2\u6d4b\u6027\u9884\u7f6e\u4e86\u6d88\u606f\u6a21\u677f\u3002\u82e5\u9700\u8981\u5b9a\u4e49\u6a21\u677f\u7684\u5185\u5bb9\uff0c\u8bf7\u53c2\u8003\u914d\u7f6e\u901a\u77e5\u6a21\u677f\u3002

    "},{"location":"admin/insight/alert-center/msg-template.html#_3","title":"\u6d88\u606f\u6a21\u677f\u8be6\u60c5","text":"

    \u70b9\u51fb\u67d0\u4e00\u6d88\u606f\u6a21\u677f\u7684\u540d\u79f0\uff0c\u53f3\u4fa7\u6ed1\u5757\u53ef\u67e5\u770b\u6d88\u606f\u6a21\u677f\u7684\u8be6\u60c5\u3002

    \u53c2\u6570 \u53d8\u91cf \u63cf\u8ff0 \u89c4\u5219\u540d\u79f0 {{ .Labels.alertname }} \u89e6\u53d1\u544a\u8b66\u7684\u89c4\u5219\u540d\u79f0 \u7b56\u7565\u540d\u79f0 {{ .Labels.alertgroup }} \u89e6\u53d1\u544a\u8b66\u89c4\u5219\u6240\u5c5e\u7684\u544a\u8b66\u7b56\u7565\u540d\u79f0 \u544a\u8b66\u7ea7\u522b {{ .Labels.severity }} \u89e6\u53d1\u544a\u8b66\u7684\u7ea7\u522b \u96c6\u7fa4 {{ .Labels.cluster }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u96c6\u7fa4 \u547d\u540d\u7a7a\u95f4 {{ .Labels.namespace }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4 \u8282\u70b9 {{ .Labels.node }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u8282\u70b9 \u8d44\u6e90\u7c7b\u578b {{ .Labels.target_type }} \u544a\u8b66\u5bf9\u8c61\u7684\u8d44\u6e90\u7c7b\u578b \u8d44\u6e90\u540d\u79f0 {{ .Labels.target }} \u89e6\u53d1\u544a\u8b66\u7684\u5bf9\u8c61\u540d\u79f0 \u89e6\u53d1\u503c {{ .Annotations.value }} \u89e6\u53d1\u544a\u8b66\u901a\u77e5\u65f6\u7684\u6307\u6807\u503c \u53d1\u751f\u65f6\u95f4 {{ .StartsAt }} \u544a\u8b66\u5f00\u59cb\u53d1\u751f\u7684\u65f6\u95f4 \u7ed3\u675f\u65f6\u95f4 {{ .EndsAT }} \u544a\u8b66\u7ed3\u675f\u7684\u65f6\u95f4 \u63cf\u8ff0 {{ .Annotations.description }} \u544a\u8b66\u7684\u8be6\u7ec6\u63cf\u8ff0 \u6807\u7b7e {{ for .labels}} {{end}} \u544a\u8b66\u7684\u6240\u6709\u6807\u7b7e\uff0c\u4f7f\u7528 for \u51fd\u6570\u904d\u5386 labels \u5217\u8868\uff0c\u83b7\u53d6\u544a\u8b66\u7684\u6240\u6709\u6807\u7b7e\u5185\u5bb9\u3002"},{"location":"admin/insight/alert-center/msg-template.html#_4","title":"\u7f16\u8f91\u6216\u5220\u9664\u6d88\u606f\u6a21\u677f","text":"

    \u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u7f16\u8f91 \u6216 \u5220\u9664\uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6d88\u606f\u6a21\u677f\u3002

    Warning

    \u8bf7\u6ce8\u610f\uff0c\u5220\u9664\u6a21\u677f\u540e\u65e0\u6cd5\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"admin/insight/alert-center/silent.html","title":"\u544a\u8b66\u9759\u9ed8","text":"

    \u544a\u8b66\u9759\u9ed8\u662f\u6307\u5728\u7279\u5b9a\u7684\u65f6\u95f4\u8303\u56f4\u5185\uff0c\u6839\u636e\u5b9a\u4e49\u597d\u7684\u89c4\u5219\u5bf9\u7b26\u5408\u6761\u4ef6\u7684\u544a\u8b66\u4e0d\u518d\u53d1\u9001\u544a\u8b66\u901a\u77e5\u3002\u8be5\u529f\u80fd\u53ef\u4ee5\u5e2e\u52a9\u8fd0\u7ef4\u4eba\u5458\u907f\u514d\u5728\u67d0\u4e9b\u64cd\u4f5c\u6216\u4e8b\u4ef6\u671f\u95f4\u63a5\u6536\u5230\u8fc7\u591a\u7684\u566a\u58f0\u544a\u8b66\uff0c\u540c\u65f6\u4fbf\u4e8e\u66f4\u52a0\u7cbe\u786e\u5730\u5904\u7406\u771f\u6b63\u9700\u8981\u89e3\u51b3\u7684\u95ee\u9898\u3002

    \u5728\u544a\u8b66\u9759\u9ed8\u9875\u9762\u4e0a\uff0c\u7528\u6237\u53ef\u4ee5\u770b\u5230\u4e24\u4e2a\u9875\u7b7e\uff1a\u6d3b\u8dc3\u89c4\u5219\u548c\u8fc7\u671f\u89c4\u5219\u3002 \u5176\u4e2d\uff0c\u6d3b\u8dc3\u89c4\u5219\u8868\u793a\u76ee\u524d\u6b63\u5728\u751f\u6548\u7684\u89c4\u5219\uff0c\u800c\u8fc7\u671f\u89c4\u5219\u5219\u662f\u4ee5\u524d\u5b9a\u4e49\u8fc7\u4f46\u5df2\u7ecf\u8fc7\u671f\uff08\u6216\u8005\u7528\u6237\u4e3b\u52a8\u5220\u9664\uff09\u7684\u89c4\u5219\u3002

    "},{"location":"admin/insight/alert-center/silent.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u544a\u8b66\u9759\u9ed8 ,\u70b9\u51fb \u65b0\u5efa\u9759\u9ed8\u89c4\u5219 \u6309\u94ae\u3002

    2. \u586b\u5199\u9759\u9ed8\u89c4\u5219\u7684\u5404\u9879\u53c2\u6570\uff0c\u5982\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u6807\u7b7e\u3001\u65f6\u95f4\u7b49\uff0c\u4ee5\u5b9a\u4e49\u8fd9\u6761\u89c4\u5219\u7684\u4f5c\u7528\u8303\u56f4\u548c\u751f\u6548\u65f6\u95f4\u3002

    3. \u8fd4\u56de\u89c4\u5219\u5217\u8868\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u9759\u9ed8\u89c4\u5219\u3002

    \u901a\u8fc7\u544a\u8b66\u9759\u9ed8\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u7075\u6d3b\u5730\u63a7\u5236\u54ea\u4e9b\u544a\u8b66\u9700\u8981\u88ab\u5ffd\u7565\uff0c\u5728\u4ec0\u4e48\u65f6\u95f4\u6bb5\u5185\u751f\u6548\uff0c\u4ece\u800c\u63d0\u9ad8\u8fd0\u7ef4\u6548\u7387\uff0c\u51cf\u5c11\u8bef\u62a5\u7684\u53ef\u80fd\u6027\u3002

    "},{"location":"admin/insight/alert-center/sms-provider.html","title":"\u914d\u7f6e\u901a\u77e5\u670d\u52a1\u5668","text":"

    \u53ef\u89c2\u6d4b\u6027 Insight \u652f\u6301\u77ed\u4fe1\u901a\u77e5\uff0c\u76ee\u524d\u901a\u8fc7\u96c6\u6210\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u7684\u77ed\u4fe1\u670d\u52a1\u53d1\u9001\u544a\u8b66\u6d88\u606f\u3002\u672c\u6587\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728 insight \u4e2d\u914d\u7f6e\u77ed\u4fe1\u901a\u77e5\u7684\u670d\u52a1\u5668\u3002\u77ed\u4fe1\u7b7e\u540d\u4e2d\u652f\u6301\u7684\u53d8\u91cf\u4e3a\u6d88\u606f\u6a21\u677f\u4e2d\u7684\u9ed8\u8ba4\u53d8\u91cf\uff0c\u540c\u65f6\u7531\u4e8e\u77ed\u4fe1\u5b57\u6570\u6709\u9650\uff0c\u5efa\u8bae\u9009\u62e9\u8f83\u4e3a\u660e\u786e\u7684\u53d8\u91cf\u3002

    \u5982\u4f55\u914d\u7f6e\u77ed\u4fe1\u63a5\u6536\u4eba\u53ef\u53c2\u8003\u6587\u6863\uff1a\u914d\u7f6e\u77ed\u4fe1\u901a\u77e5\u7ec4\u3002

    "},{"location":"admin/insight/alert-center/sms-provider.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u8fdb\u5165 \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u901a\u77e5\u670d\u52a1\u5668 \u3002

    2. \u70b9\u51fb \u6dfb\u52a0\u901a\u77e5\u670d\u52a1\u5668 \u3002

      1. \u914d\u7f6e\u963f\u91cc\u4e91\u670d\u52a1\u5668\u3002

        \u7533\u8bf7\u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1\uff0c\u8bf7\u53c2\u8003\u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1\u3002

        \u5b57\u6bb5\u8bf4\u660e\uff1a

        • AccessKey ID \uff1a\u963f\u91cc\u4e91\u7528\u4e8e\u6807\u8bc6\u7528\u6237\u7684\u53c2\u6570\u3002
        • AccessKey Secret \uff1a\u963f\u91cc\u4e91\u7528\u4e8e\u9a8c\u8bc1\u7528\u6237\u7684\u5bc6\u94a5\u3002AccessKey Secret \u5fc5\u987b\u4fdd\u5bc6\u3002
        • \u77ed\u4fe1\u7b7e\u540d \uff1a\u77ed\u4fe1\u670d\u52a1\u652f\u6301\u6839\u636e\u7528\u6237\u9700\u6c42\u521b\u5efa\u7b26\u5408\u8981\u6c42\u7684\u7b7e\u540d\u3002\u53d1\u9001\u77ed\u4fe1\u65f6\uff0c\u77ed\u4fe1\u5e73\u53f0\u4f1a\u5c06\u5df2\u5ba1\u6838\u901a\u8fc7\u7684\u77ed\u4fe1\u7b7e\u540d\u6dfb\u52a0\u5230\u77ed\u4fe1\u5185\u5bb9\u4e2d\uff0c\u518d\u53d1\u9001\u7ed9\u77ed\u4fe1\u63a5\u6536\u65b9\u3002
        • \u6a21\u677f CODE \uff1a\u77ed\u4fe1\u6a21\u677f\u662f\u53d1\u9001\u77ed\u4fe1\u7684\u5177\u4f53\u5185\u5bb9\u3002
        • \u53c2\u6570\u6a21\u677f \uff1a\u77ed\u4fe1\u6b63\u6587\u6a21\u677f\u53ef\u4ee5\u5305\u542b\u53d8\u91cf\uff0c\u7528\u6237\u53ef\u901a\u8fc7\u53d8\u91cf\u5b9e\u73b0\u81ea\u5b9a\u4e49\u77ed\u4fe1\u5185\u5bb9\u3002

        \u8bf7\u53c2\u8003\u963f\u91cc\u4e91\u53d8\u91cf\u89c4\u8303\u3002

        Note

        \u4e3e\u4f8b\uff1a\u5728\u963f\u91cc\u4e91\u5b9a\u4e49\u7684\u6a21\u677f\u5185\u5bb9\u4e3a\uff1a\\({severity}\uff1a\\) \u88ab\u89e6\u53d1\u3002\u53c2\u6570\u6a21\u677f\u4e2d\u7684\u914d\u7f6e\u53c2\u8003\u4e0a\u56fe\u3002} \u5728 ${startat

      2. \u914d\u7f6e\u817e\u8baf\u4e91\u670d\u52a1\u5668\u3002

        \u7533\u8bf7\u817e\u8baf\u4e91\u77ed\u4fe1\u670d\u52a1\uff0c\u8bf7\u53c2\u8003\u817e\u8baf\u4e91\u77ed\u4fe1\u3002

        \u5b57\u6bb5\u8bf4\u660e\uff1a

        • Secret ID \uff1a\u817e\u8baf\u4e91\u7528\u4e8e\u6807\u8bc6 API \u8c03\u7528\u8005\u8eab\u4efd\u53c2\u6570\u3002
        • SecretKey \uff1a\u817e\u8baf\u4e91\u7528\u4e8e\u9a8c\u8bc1 API \u8c03\u7528\u8005\u7684\u8eab\u4efd\u7684\u53c2\u6570\u3002
        • \u77ed\u4fe1\u6a21\u677f ID \uff1a\u77ed\u4fe1\u6a21\u677f ID\uff0c\u7531\u817e\u8baf\u4e91\u7cfb\u7edf\u81ea\u52a8\u751f\u6210\u3002
        • \u7b7e\u540d\u5185\u5bb9 \uff1a\u77ed\u4fe1\u7b7e\u540d\u5185\u5bb9\uff0c\u5373\u5728\u817e\u8baf\u4e91\u77ed\u4fe1\u7b7e\u540d\u4e2d\u5b9a\u4e49\u7684\u5b9e\u9645\u7f51\u7ad9\u540d\u7684\u5168\u79f0\u6216\u7b80\u79f0\u3002
        • SdkAppId \uff1a\u77ed\u4fe1 SdkAppId\uff0c\u5728\u817e\u8baf\u4e91\u77ed\u4fe1\u63a7\u5236\u53f0\u6dfb\u52a0\u5e94\u7528\u540e\u751f\u6210\u7684\u5b9e\u9645 SdkAppId\u3002
        • \u53c2\u6570\u6a21\u677f \uff1a\u77ed\u4fe1\u6b63\u6587\u6a21\u677f\u53ef\u4ee5\u5305\u542b\u53d8\u91cf\uff0c\u7528\u6237\u53ef\u901a\u8fc7\u53d8\u91cf\u5b9e\u73b0\u81ea\u5b9a\u4e49\u77ed\u4fe1\u5185\u5bb9\u3002\u8bf7\u53c2\u8003\uff1a\u817e\u8baf\u4e91\u53d8\u91cf\u89c4\u8303\u3002

        Note

        \u4e3e\u4f8b\uff1a\u5728\u817e\u8baf\u4e91\u5b9a\u4e49\u7684\u6a21\u677f\u5185\u5bb9\u4e3a\uff1a{1}\uff1a{2} \u5728 {3} \u88ab\u89e6\u53d1\u3002\u53c2\u6570\u6a21\u677f\u4e2d\u7684\u914d\u7f6e\u53c2\u8003\u4e0a\u56fe\u3002

    "},{"location":"admin/insight/collection-manag/agent-status.html","title":"insight-agent \u7ec4\u4ef6\u72b6\u6001\u8bf4\u660e","text":"

    \u5728 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u89c2\u6d4b\u4ea7\u54c1\uff0c\u4e3a\u4e86\u5b9e\u73b0\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u7edf\u4e00\u91c7\u96c6\uff0c\u9700\u8981\u7528\u6237\u5b89\u88c5 Helm \u5e94\u7528 insight-agent \uff08\u9ed8\u8ba4\u5b89\u88c5\u5728 insight-system \u547d\u540d\u7a7a\u95f4\uff09\u3002\u53c2\u9605\u5982\u4f55\u5b89\u88c5 insight-agent \u3002

    "},{"location":"admin/insight/collection-manag/agent-status.html#_1","title":"\u72b6\u6001\u8bf4\u660e","text":"

    \u5728 \u53ef\u89c2\u6d4b\u6027 -> \u91c7\u96c6\u7ba1\u7406 \u90e8\u5206\u53ef\u67e5\u770b\u5404\u96c6\u7fa4\u5b89\u88c5 insight-agent \u7684\u60c5\u51b5\u3002

    • \u672a\u5b89\u88c5 \uff1a\u8be5\u96c6\u7fa4\u4e2d\u672a\u5728 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u5b89\u88c5 insight-agent
    • \u8fd0\u884c\u4e2d \uff1a\u8be5\u96c6\u7fa4\u4e2d\u6210\u529f\u5b89\u88c5 insight-agent \uff0c\u4e14\u90e8\u7f72\u7684\u6240\u6709\u7ec4\u4ef6\u5747\u5904\u4e8e\u8fd0\u884c\u4e2d\u72b6\u6001
    • \u5f02\u5e38 \uff1a\u82e5 insight-agent \u5904\u4e8e\u6b64\u72b6\u6001\uff0c\u8bf4\u660e helm \u90e8\u7f72\u5931\u8d25\u6216\u5b58\u5728\u90e8\u7f72\u7684\u7ec4\u4ef6\u5904\u4e8e\u975e\u8fd0\u884c\u4e2d\u72b6\u6001

    \u53ef\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u6392\u67e5\uff1a

    1. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u82e5\u72b6\u6001\u4e3a deployed \uff0c\u5219\u6267\u884c\u4e0b\u4e00\u6b65\u3002\u82e5\u4e3a failed \uff0c\u7531\u4e8e\u4f1a\u5f71\u54cd\u5e94\u7528\u7684\u5347\u7ea7\uff0c\u5efa\u8bae\u5728 \u5bb9\u5668\u7ba1\u7406 -> helm \u5e94\u7528 \u5378\u8f7d\u540e\u91cd\u65b0\u5b89\u88c5 :

      helm list -n insight-system\n
    2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6216\u5728 \u53ef\u89c2\u6d4b\u6027 -> \u91c7\u96c6\u7ba1\u7406 \u4e2d\u67e5\u770b\u8be5\u96c6\u7fa4\u90e8\u7f72\u7684\u7ec4\u4ef6\u7684\u72b6\u6001\uff0c\u82e5\u5b58\u5728\u975e \u8fd0\u884c\u4e2d \u72b6\u6001\u7684\u5bb9\u5668\u7ec4\uff0c\u8bf7\u91cd\u542f\u5f02\u5e38\u7684\u5bb9\u5668\u7ec4\u3002

      kubectl get pods -n insight-system\n
    "},{"location":"admin/insight/collection-manag/agent-status.html#_2","title":"\u8865\u5145\u8bf4\u660e","text":"
    1. insight-agent \u4e2d\u6307\u6807\u91c7\u96c6\u7ec4\u4ef6 Prometheus \u7684\u8d44\u6e90\u6d88\u8017\u4e0e\u96c6\u7fa4\u4e2d\u8fd0\u884c\u7684\u5bb9\u5668\u7ec4\u6570\u91cf\u5b58\u5728\u6b63\u6bd4\u5173\u7cfb\uff0c \u8bf7\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 Prometheus \u7684\u8d44\u6e90\uff0c\u8bf7\u53c2\u8003\uff1aPrometheus \u8d44\u6e90\u89c4\u5212

    2. \u7531\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u6307\u6807\u5b58\u50a8\u7ec4\u4ef6 vmstorage \u7684\u5b58\u50a8\u5bb9\u91cf\u4e0e\u5404\u4e2a\u96c6\u7fa4\u5bb9\u5668\u7ec4\u6570\u91cf\u603b\u548c\u5b58\u5728\u6b63\u6bd4\u5173\u7cfb\u3002

      • \u8bf7\u8054\u7cfb\u5e73\u53f0\u7ba1\u7406\u5458\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf\uff0c\u53c2\u9605 vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212
      • \u6839\u636e\u591a\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u78c1\u76d8\uff0c\u53c2\u9605 vmstorge \u78c1\u76d8\u6269\u5bb9
    "},{"location":"admin/insight/collection-manag/collection-manag.html","title":"\u91c7\u96c6\u7ba1\u7406","text":"

    \u91c7\u96c6\u7ba1\u7406 \u4e3b\u8981\u662f\u96c6\u4e2d\u7ba1\u7406\u3001\u5c55\u793a\u96c6\u7fa4\u5b89\u88c5\u91c7\u96c6\u63d2\u4ef6 insight-agent \u7684\u5165\u53e3\uff0c\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u7684\u67e5\u770b\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u5e76\u63d0\u4f9b\u4e86\u5feb\u6377\u5165\u53e3\u914d\u7f6e\u91c7\u96c6\u89c4\u5219\u3002

    \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

    1. \u70b9\u51fb\u5de6\u4e0a\u89d2\u7684\uff0c\u9009\u62e9 \u53ef\u89c2\u6d4b\u6027 \u3002

    2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u91c7\u96c6\u7ba1\u7406 \uff0c\u67e5\u770b\u5168\u90e8\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u72b6\u6001\u3002

    3. \u96c6\u7fa4\u63a5\u5165 insight-agent \u4e14\u5904\u4e8e\u8fd0\u884c\u4e2d\u72b6\u6001\u65f6\uff0c\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\u3002

    4. \u5728 \u670d\u52a1\u76d1\u63a7 \u9875\u7b7e\u4e2d\uff0c\u70b9\u51fb\u5feb\u6377\u94fe\u63a5\u8df3\u8f6c\u5230 \u5bb9\u5668\u7ba1\u7406 -> \u81ea\u5b9a\u4e49\u8d44\u6e90 \u6dfb\u52a0\u670d\u52a1\u53d1\u73b0\u89c4\u5219\u3002

    "},{"location":"admin/insight/collection-manag/metric-collect.html","title":"\u6307\u6807\u6293\u53d6\u65b9\u5f0f","text":"

    Prometheus \u4e3b\u8981\u901a\u8fc7 Pull \u7684\u65b9\u5f0f\u6765\u6293\u53d6\u76ee\u6807\u670d\u52a1\u66b4\u9732\u51fa\u6765\u7684\u76d1\u63a7\u63a5\u53e3\uff0c\u56e0\u6b64\u9700\u8981\u914d\u7f6e\u5bf9\u5e94\u7684\u6293\u53d6\u4efb\u52a1\u6765\u8bf7\u6c42\u76d1\u63a7\u6570\u636e\u5e76\u5199\u5165\u5230 Prometheus \u63d0\u4f9b\u7684\u5b58\u50a8\u4e2d\uff0c\u76ee\u524d Prometheus \u670d\u52a1\u63d0\u4f9b\u4e86\u5982\u4e0b\u51e0\u4e2a\u4efb\u52a1\u7684\u914d\u7f6e\uff1a

    • \u539f\u751f Job \u914d\u7f6e\uff1a\u63d0\u4f9b Prometheus \u539f\u751f\u6293\u53d6 Job \u7684\u914d\u7f6e\u3002
    • Pod Monitor\uff1a\u5728 K8S \u751f\u6001\u4e0b\uff0c\u57fa\u4e8e Prometheus Operator \u6765\u6293\u53d6 Pod \u4e0a\u5bf9\u5e94\u7684\u76d1\u63a7\u6570\u636e\u3002
    • Service Monitor\uff1a\u5728 K8S \u751f\u6001\u4e0b\uff0c\u57fa\u4e8e Prometheus Operator \u6765\u6293\u53d6 Service \u5bf9\u5e94 Endpoints \u4e0a\u7684\u76d1\u63a7\u6570\u636e\u3002

    Note

    [ ] \u4e2d\u7684\u914d\u7f6e\u9879\u4e3a\u53ef\u9009\u3002

    "},{"location":"admin/insight/collection-manag/metric-collect.html#job","title":"\u539f\u751f Job \u914d\u7f6e","text":"

    \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

    # \u6293\u53d6\u4efb\u52a1\u540d\u79f0\uff0c\u540c\u65f6\u4f1a\u5728\u5bf9\u5e94\u6293\u53d6\u7684\u6307\u6807\u4e2d\u52a0\u4e86\u4e00\u4e2a label(job=job_name)\njob_name: <job_name>\n\n# \u6293\u53d6\u4efb\u52a1\u65f6\u95f4\u95f4\u9694\n[ scrape_interval: <duration> | default = <global_config.scrape_interval> ]\n\n# \u6293\u53d6\u8bf7\u6c42\u8d85\u65f6\u65f6\u95f4\n[ scrape_timeout: <duration> | default = <global_config.scrape_timeout> ]\n\n# \u6293\u53d6\u4efb\u52a1\u8bf7\u6c42 URI \u8def\u5f84\n[ metrics_path: <path> | default = /metrics ]\n\n# \u89e3\u51b3\u5f53\u6293\u53d6\u7684 label \u4e0e\u540e\u7aef Prometheus \u6dfb\u52a0 label \u51b2\u7a81\u65f6\u7684\u5904\u7406\u3002\n# true: \u4fdd\u7559\u6293\u53d6\u5230\u7684 label\uff0c\u5ffd\u7565\u4e0e\u540e\u7aef Prometheus \u51b2\u7a81\u7684 label\uff1b\n# false: \u5bf9\u51b2\u7a81\u7684 label\uff0c\u628a\u6293\u53d6\u7684 label \u524d\u52a0\u4e0a exported_<original-label>\uff0c\u6dfb\u52a0\u540e\u7aef Prometheus \u589e\u52a0\u7684 label\uff1b\n[ honor_labels: <boolean> | default = false ]\n\n# \u662f\u5426\u4f7f\u7528\u6293\u53d6\u5230 target \u4e0a\u4ea7\u751f\u7684\u65f6\u95f4\u3002\n# true: \u5982\u679c target \u4e2d\u6709\u65f6\u95f4\uff0c\u4f7f\u7528 target \u4e0a\u7684\u65f6\u95f4\uff1b\n# false: \u76f4\u63a5\u5ffd\u7565 target \u4e0a\u7684\u65f6\u95f4\uff1b\n[ honor_timestamps: <boolean> | default = true ]\n\n# \u6293\u53d6\u534f\u8bae: http \u6216\u8005 https\n[ scheme: <scheme> | default = http ]\n\n# \u6293\u53d6\u8bf7\u6c42\u5bf9\u5e94 URL \u53c2\u6570\nparams:\n  [ <string>: [<string>, ...] ]\n\n# \u901a\u8fc7 basic auth \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` \u7684\u503c\uff0cpassword/password_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 password_file \u91cc\u9762\u7684\u503c\u3002\nbasic_auth:\n  [ username: <string> ]\n  [ password: <secret> ]\n  [ password_file: <string> ]\n\n# \u901a\u8fc7 bearer token \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` bearer_token/bearer_token_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 bearer_token \u91cc\u9762\u7684\u503c\u3002\n[ bearer_token: <secret> ]\n\n# \u901a\u8fc7 bearer token \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` bearer_token/bearer_token_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 bearer_token \u91cc\u9762\u7684\u503c\u3002\n[ bearer_token_file: <filename> ]\n\n# \u6293\u53d6\u8fde\u63a5\u662f\u5426\u901a\u8fc7 TLS \u5b89\u5168\u901a\u9053\uff0c\u914d\u7f6e\u5bf9\u5e94\u7684 TLS \u53c2\u6570\ntls_config:\n  [ <tls_config> ]\n\n# \u901a\u8fc7\u4ee3\u7406\u670d\u52a1\u6765\u6293\u53d6 target \u4e0a\u7684\u6307\u6807\uff0c\u586b\u5199\u5bf9\u5e94\u7684\u4ee3\u7406\u670d\u52a1\u5730\u5740\u3002\n[ proxy_url: <string> ]\n\n# \u901a\u8fc7\u9759\u6001\u914d\u7f6e\u6765\u6307\u5b9a target\uff0c\u8be6\u89c1\u4e0b\u9762\u7684\u8bf4\u660e\u3002\nstatic_configs:\n  [ - <static_config> ... ]\n\n# CVM \u670d\u52a1\u53d1\u73b0\u914d\u7f6e\uff0c\u8be6\u89c1\u4e0b\u9762\u7684\u8bf4\u660e\u3002\ncvm_sd_configs:\n  [ - <cvm_sd_config> ... ]\n\n# \u5728\u6293\u53d6\u6570\u636e\u4e4b\u540e\uff0c\u628a target \u4e0a\u5bf9\u5e94\u7684 label \u901a\u8fc7 relabel \u7684\u673a\u5236\u8fdb\u884c\u6539\u5199\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\u3002\nrelabel_configs:\n  [ - <relabel_config> ... ]\n\n# \u6570\u636e\u6293\u53d6\u5b8c\u6210\u5199\u5165\u4e4b\u524d\uff0c\u901a\u8fc7 relabel \u673a\u5236\u8fdb\u884c\u6539\u5199 label \u5bf9\u5e94\u7684\u503c\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\u3002\nmetric_relabel_configs:\n  [ - <relabel_config> ... ]\n\n# \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n[ sample_limit: <int> | default = 0 ]\n\n# \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n[ target_limit: <int> | default = 0 ]\n
    "},{"location":"admin/insight/collection-manag/metric-collect.html#pod-monitor","title":"Pod Monitor","text":"

    \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

    # Prometheus Operator CRD \u7248\u672c\napiVersion: monitoring.coreos.com/v1\n# \u5bf9\u5e94 K8S \u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u8fd9\u91cc\u9762 Pod Monitor\nkind: PodMonitor\n# \u5bf9\u5e94 K8S \u7684 Metadata\uff0c\u8fd9\u91cc\u53ea\u7528\u5173\u5fc3 name\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a jobLabel\uff0c\u5bf9\u5e94\u6293\u53d6\u6307\u6807 label \u4e2d job \u7684\u503c\u4e3a <namespace>/<name>\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus  # namespace \u56fa\u5b9a\uff0c\u4e0d\u9700\u8981\u4fee\u6539\n# \u63cf\u8ff0\u6293\u53d6\u76ee\u6807 Pod \u7684\u9009\u53d6\u53ca\u6293\u53d6\u4efb\u52a1\u7684\u914d\u7f6e\n  label:\n    operator.insight.io/managed-by: insight # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\nspec:\n  # \u586b\u5199\u5bf9\u5e94 Pod \u7684 label\uff0cpod monitor \u4f1a\u53d6\u5bf9\u5e94\u7684\u503c\u4f5c\u4e3a job label \u7684\u503c\u3002\n  # \u5982\u679c\u67e5\u770b\u7684\u662f Pod Yaml\uff0c\u53d6 pod.metadata.labels \u4e2d\u7684\u503c\u3002\n  # \u5982\u679c\u67e5\u770b\u7684\u662f Deployment/Daemonset/Statefulset\uff0c\u53d6 spec.template.metadata.labels\u3002\n  [ jobLabel: string ]\n  # \u628a\u5bf9\u5e94 Pod \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ podTargetLabels: []string ]\n  # \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ sampleLimit: uint64 ]\n  # \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ targetLimit: uint64 ]\n  # \u914d\u7f6e\u9700\u8981\u6293\u53d6\u66b4\u9732\u7684 Prometheus HTTP \u63a5\u53e3\uff0c\u53ef\u4ee5\u914d\u7f6e\u591a\u4e2a Endpoint\n  podMetricsEndpoints:\n  [ - <endpoint_config> ... ] # \u8be6\u89c1\u4e0b\u9762 endpoint \u8bf4\u660e\n  # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\uff0c\u4e0d\u586b\u4e3a\u9009\u53d6\u6240\u6709 namespace\n  [ namespaceSelector: ]\n    # \u662f\u5426\u9009\u53d6\u6240\u6709 namespace\n    [ any: bool ]\n    # \u9700\u8981\u9009\u53d6 namespace \u5217\u8868\n    [ matchNames: []string ]\n  # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 Pod [K8S metav1.LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta)\n  selector:\n    [ matchExpressions: array ]\n      [ example: - {key: tier, operator: In, values: [cache]} ]\n    [ matchLabels: object ]\n      [ example: k8s-app: redis-exporter ]\n
    "},{"location":"admin/insight/collection-manag/metric-collect.html#1","title":"\u4e3e\u4f8b 1","text":"
    apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus # namespace \u56fa\u5b9a\uff0c\u4e0d\u8981\u4fee\u6539\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  podMetricsEndpoints:\n    - interval: 30s\n      port: metric-port # \u586b\u5199 pod yaml \u4e2d Prometheus Exporter \u5bf9\u5e94\u7684 Port \u7684 Name\n      path: /metrics # \u586b\u5199 Prometheus Exporter \u5bf9\u5e94\u7684 Path \u7684\u503c\uff0c\u4e0d\u586b\u9ed8\u8ba4 /metrics\n      relabelings:\n        - action: replace\n          sourceLabels:\n            - instance\n          regex: (.*)\n          targetLabel: instance\n          replacement: \"crs-xxxxxx\" # \u8c03\u6574\u6210\u5bf9\u5e94\u7684 Redis \u5b9e\u4f8b ID\n        - action: replace\n          sourceLabels:\n            - instance\n          regex: (.*)\n          targetLabel: ip\n          replacement: \"1.x.x.x\" # \u8c03\u6574\u6210\u5bf9\u5e94\u7684 Redis \u5b9e\u4f8b IP\n  namespaceSelector: # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\n    matchNames:\n      - redis-test\n  selector: # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 pod\n    matchLabels:\n      k8s-app: redis-exporter\n
    "},{"location":"admin/insight/collection-manag/metric-collect.html#2","title":"\u4e3e\u4f8b 2","text":"
    job_name: prometheus\nscrape_interval: 30s\nstatic_configs:\n- targets:\n  - 127.0.0.1:9090\n
    "},{"location":"admin/insight/collection-manag/metric-collect.html#service-monitor","title":"Service Monitor","text":"

    \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

    # Prometheus Operator CRD \u7248\u672c\napiVersion: monitoring.coreos.com/v1\n# \u5bf9\u5e94 K8S \u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u8fd9\u91cc\u9762 Service Monitor\nkind: ServiceMonitor\n# \u5bf9\u5e94 K8S \u7684 Metadata\uff0c\u8fd9\u91cc\u53ea\u7528\u5173\u5fc3 name\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a jobLabel\uff0c\u5bf9\u5e94\u6293\u53d6\u6307\u6807 label \u4e2d job \u7684\u503c\u4e3a Service \u7684\u540d\u79f0\u3002\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus  # namespace \u56fa\u5b9a\uff0c\u4e0d\u9700\u8981\u4fee\u6539\n# \u63cf\u8ff0\u6293\u53d6\u76ee\u6807 Pod \u7684\u9009\u53d6\u53ca\u6293\u53d6\u4efb\u52a1\u7684\u914d\u7f6e\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  # \u586b\u5199\u5bf9\u5e94 Pod \u7684 label(metadata/labels)\uff0cservice monitor \u4f1a\u53d6\u5bf9\u5e94\u7684\u503c\u4f5c\u4e3a job label \u7684\u503c\n  [ jobLabel: string ]\n  # \u628a\u5bf9\u5e94 service \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ targetLabels: []string ]\n  # \u628a\u5bf9\u5e94 Pod \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ podTargetLabels: []string ]\n  # \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ sampleLimit: uint64 ]\n  # \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ targetLimit: uint64 ]\n  # \u914d\u7f6e\u9700\u8981\u6293\u53d6\u66b4\u9732\u7684 Prometheus HTTP \u63a5\u53e3\uff0c\u53ef\u4ee5\u914d\u7f6e\u591a\u4e2a Endpoint\n  endpoints:\n  [ - <endpoint_config> ... ] # \u8be6\u89c1\u4e0b\u9762 endpoint \u8bf4\u660e\n  # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\uff0c\u4e0d\u586b\u4e3a\u9009\u53d6\u6240\u6709 namespace\n  [ namespaceSelector: ]\n    # \u662f\u5426\u9009\u53d6\u6240\u6709 namespace\n    [ any: bool ]\n    # \u9700\u8981\u9009\u53d6 namespace \u5217\u8868\n    [ matchNames: []string ]\n  # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 Pod [K8S metav1.LabelSelector](https://v1-17.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#labelselector-v1-meta)\n  selector:\n    [ matchExpressions: array ]\n      [ example: - {key: tier, operator: In, values: [cache]} ]\n    [ matchLabels: object ]\n      [ example: k8s-app: redis-exporter ]\n
    "},{"location":"admin/insight/collection-manag/metric-collect.html#_2","title":"\u4e3e\u4f8b","text":"
    apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: go-demo # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus # namespace \u56fa\u5b9a\uff0c\u4e0d\u8981\u4fee\u6539\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  endpoints:\n    - interval: 30s\n      # \u586b\u5199 service yaml \u4e2d Prometheus Exporter \u5bf9\u5e94\u7684 Port \u7684 Name\n      port: 8080-8080-tcp\n      # \u586b\u5199 Prometheus Exporter \u5bf9\u5e94\u7684 Path \u7684\u503c\uff0c\u4e0d\u586b\u9ed8\u8ba4 /metrics\n      path: /metrics\n      relabelings:\n        # ** \u5fc5\u987b\u8981\u6709\u4e00\u4e2a label \u4e3a application\uff0c\u8fd9\u91cc\u5047\u8bbe k8s \u6709\u4e00\u4e2a label \u4e3a app\uff0c\n        # \u6211\u4eec\u901a\u8fc7 relabel \u7684 replace \u52a8\u4f5c\u628a\u5b83\u66ff\u6362\u6210\u4e86 application\n        - action: replace\n          sourceLabels: [__meta_kubernetes_pod_label_app]\n          targetLabel: application\n  # \u9009\u62e9\u8981\u76d1\u63a7 service \u6240\u5728\u7684 namespace\n  namespaceSelector:\n    matchNames:\n      - golang-demo\n  # \u586b\u5199\u8981\u76d1\u63a7 service \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 service\n  selector:\n    matchLabels:\n      app: golang-app-demo\n
    "},{"location":"admin/insight/collection-manag/metric-collect.html#endpoint_config","title":"endpoint_config","text":"

    \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

    # \u5bf9\u5e94 port \u7684\u540d\u79f0\uff0c\u8fd9\u91cc\u9700\u8981\u6ce8\u610f\u4e0d\u662f\u5bf9\u5e94\u7684\u7aef\u53e3\uff0c\u9ed8\u8ba4\uff1a80\uff0c\u5bf9\u5e94\u7684\u53d6\u503c\u5982\u4e0b\uff1a\n# ServiceMonitor: \u5bf9\u5e94 Service>spec/ports/name;\n# PodMonitor: \u8bf4\u660e\u5982\u4e0b\uff1a\n#   \u5982\u679c\u67e5\u770b\u7684\u662f Pod Yaml\uff0c\u53d6 pod.spec.containers.ports.name \u4e2d\u7684\u503c\u3002\n#   \u5982\u679c\u67e5\u770b\u7684\u662f Deployment/Daemonset/Statefulset\uff0c\u53d6\u503c spec.template.spec.containers.ports.name\n[ port: string | default = 80]\n# \u6293\u53d6\u4efb\u52a1\u8bf7\u6c42 URI \u8def\u5f84\n[ path: string | default = /metrics ]\n# \u6293\u53d6\u534f\u8bae: http \u6216\u8005 https\n[ scheme: string | default = http]\n# \u6293\u53d6\u8bf7\u6c42\u5bf9\u5e94 URL \u53c2\u6570\n[ params: map[string][]string]\n# \u6293\u53d6\u4efb\u52a1\u95f4\u9694\u7684\u65f6\u95f4\n[ interval: string | default = 30s ]\n# \u6293\u53d6\u4efb\u52a1\u8d85\u65f6\n[ scrapeTimeout: string | default = 30s]\n# \u6293\u53d6\u8fde\u63a5\u662f\u5426\u901a\u8fc7 TLS \u5b89\u5168\u901a\u9053\uff0c\u914d\u7f6e\u5bf9\u5e94\u7684 TLS \u53c2\u6570\n[ tlsConfig: TLSConfig ]\n# \u901a\u8fc7\u5bf9\u5e94\u7684\u6587\u4ef6\u8bfb\u53d6 bearer token \u5bf9\u5e94\u7684\u503c\uff0c\u653e\u5230\u6293\u53d6\u4efb\u52a1\u7684 header \u4e2d\n[ bearerTokenFile: string ]\n# \u901a\u8fc7\u5bf9\u5e94\u7684 K8S secret key \u8bfb\u53d6\u5bf9\u5e94\u7684 bearer token\uff0c\u6ce8\u610f secret namespace \u9700\u8981\u548c PodMonitor/ServiceMonitor \u76f8\u540c\n[ bearerTokenSecret: string ]\n# \u89e3\u51b3\u5f53\u6293\u53d6\u7684 label \u4e0e\u540e\u7aef Prometheus \u6dfb\u52a0 label \u51b2\u7a81\u65f6\u7684\u5904\u7406\u3002\n# true: \u4fdd\u7559\u6293\u53d6\u5230\u7684 label\uff0c\u5ffd\u7565\u4e0e\u540e\u7aef Prometheus \u51b2\u7a81\u7684 label\uff1b\n# false: \u5bf9\u51b2\u7a81\u7684 label\uff0c\u628a\u6293\u53d6\u7684 label \u524d\u52a0\u4e0a exported_<original-label>\uff0c\u6dfb\u52a0\u540e\u7aef Prometheus \u589e\u52a0\u7684 label\uff1b\n[ honorLabels: bool | default = false ]\n# \u662f\u5426\u4f7f\u7528\u6293\u53d6\u5230 target \u4e0a\u4ea7\u751f\u7684\u65f6\u95f4\u3002\n# true: \u5982\u679c target \u4e2d\u6709\u65f6\u95f4\uff0c\u4f7f\u7528 target \u4e0a\u7684\u65f6\u95f4\uff1b\n# false: \u76f4\u63a5\u5ffd\u7565 target \u4e0a\u7684\u65f6\u95f4\uff1b\n[ honorTimestamps: bool | default = true ]\n# basic auth \u7684\u8ba4\u8bc1\u4fe1\u606f\uff0cusername/password \u586b\u5199\u5bf9\u5e94 K8S secret key \u7684\u503c\uff0c\u6ce8\u610f secret namespace \u9700\u8981\u548c PodMonitor/ServiceMonitor \u76f8\u540c\u3002\n[ basicAuth: BasicAuth ]\n# \u901a\u8fc7\u4ee3\u7406\u670d\u52a1\u6765\u6293\u53d6 target \u4e0a\u7684\u6307\u6807\uff0c\u586b\u5199\u5bf9\u5e94\u7684\u4ee3\u7406\u670d\u52a1\u5730\u5740\n[ proxyUrl: string ]\n# \u5728\u6293\u53d6\u6570\u636e\u4e4b\u540e\uff0c\u628a target \u4e0a\u5bf9\u5e94\u7684 label \u901a\u8fc7 relabel \u7684\u673a\u5236\u8fdb\u884c\u6539\u5199\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\nrelabelings:\n[ - <relabel_config> ...]\n# \u6570\u636e\u6293\u53d6\u5b8c\u6210\u5199\u5165\u4e4b\u524d\uff0c\u901a\u8fc7 relabel \u673a\u5236\u8fdb\u884c\u6539\u5199 label \u5bf9\u5e94\u7684\u503c\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\nmetricRelabelings:\n[ - <relabel_config> ...]\n
    "},{"location":"admin/insight/collection-manag/metric-collect.html#relabel_config","title":"relabel_config","text":"

    \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

    # \u4ece\u539f\u59cb labels \u4e2d\u53d6\u54ea\u4e9b label \u7684\u503c\u8fdb\u884c relabel\uff0c\u53d6\u51fa\u6765\u7684\u503c\u901a\u8fc7 separator \u4e2d\u7684\u5b9a\u4e49\u8fdb\u884c\u5b57\u7b26\u62fc\u63a5\u3002\n# \u5982\u679c\u662f PodMonitor/ServiceMonitor \u5bf9\u5e94\u7684\u914d\u7f6e\u9879\u4e3a sourceLabels\n[ source_labels: '[' <labelname> [, ...] ']' ]\n# \u5b9a\u4e49\u9700\u8981 relabel \u7684 label \u503c\u62fc\u63a5\u7684\u5b57\u7b26\uff0c\u9ed8\u8ba4\u4e3a ';'\n[ separator: <string> | default = ; ]\n\n# action \u4e3a replace/hashmod \u65f6\uff0c\u901a\u8fc7 target_label \u6765\u6307\u5b9a\u5bf9\u5e94 label name\u3002\n# \u5982\u679c\u662f PodMonitor/ServiceMonitor \u5bf9\u5e94\u7684\u914d\u7f6e\u9879\u4e3a targetLabel\n[ target_label: <labelname> ]\n\n# \u9700\u8981\u5bf9 source labels \u5bf9\u5e94\u503c\u8fdb\u884c\u6b63\u5219\u5339\u914d\u7684\u8868\u8fbe\u5f0f\n[ regex: <regex> | default = (.*) ]\n\n# action \u4e3a hashmod \u65f6\u7528\u5230\uff0c\u6839\u636e source label \u5bf9\u5e94\u503c md5 \u53d6\u6a21\u503c\n[ modulus: <int> ]\n\n# action \u4e3a replace \u7684\u65f6\u5019\uff0c\u901a\u8fc7 replacement \u6765\u5b9a\u4e49\u5f53 regex \u5339\u914d\u4e4b\u540e\u9700\u8981\u66ff\u6362\u7684\u8868\u8fbe\u5f0f\uff0c\u53ef\u4ee5\u7ed3\u5408 regex \u6b63\u89c4\u5219\u8868\u8fbe\u5f0f\u66ff\u6362\n[ replacement: <string> | default = $1 ]\n\n# \u57fa\u4e8e regex \u5339\u914d\u5230\u7684\u503c\u8fdb\u884c\u76f8\u5173\u7684\u64cd\u4f5c\uff0c\u5bf9\u5e94\u7684 action \u5982\u4e0b\uff0c\u9ed8\u8ba4\u4e3a replace\uff1a\n# replace: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u901a\u8fc7 replacement \u4e2d\u5b9a\u4e49\u7684\u503c\u66ff\u6362\u76f8\u5e94\u7684\u503c\uff0c\u5e76\u901a\u8fc7 target_label \u8bbe\u503c\u5e76\u6dfb\u52a0\u76f8\u5e94\u7684 label\n# keep: \u5982\u679c regex \u6ca1\u6709\u5339\u914d\u5230\uff0c\u4e22\u5f03\n# drop: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u4e22\u5f03\n# hashmod: \u901a\u8fc7 moduels \u6307\u5b9a\u7684\u503c\u628a source label \u5bf9\u5e94\u7684 md5 \u503c\u53d6\u6a21\n# \u5e76\u6dfb\u52a0\u4e00\u4e2a\u65b0\u7684 label\uff0clabel name \u901a\u8fc7 target_label \u6307\u5b9a\n# labelmap: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u4f7f\u7528 replacement \u66ff\u6362\u5bf9\u5c31\u7684 label name\n# labeldrop: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u5220\u9664\u5bf9\u5e94\u7684 label\n# labelkeep: \u5982\u679c regex \u6ca1\u6709\u5339\u914d\u5230\uff0c\u5220\u9664\u5bf9\u5e94\u7684 label\n[ action: <relabel_action> | default = replace ]\n
    "},{"location":"admin/insight/collection-manag/probe-module.html","title":"\u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f","text":"

    Insight \u4f7f\u7528 Prometheus \u5b98\u65b9\u63d0\u4f9b\u7684 Blackbox Exporter \u4f5c\u4e3a\u9ed1\u76d2\u76d1\u63a7\u89e3\u51b3\u65b9\u6848\uff0c\u53ef\u4ee5\u901a\u8fc7 HTTP\u3001HTTPS\u3001DNS\u3001ICMP\u3001TCP \u548c gRPC \u65b9\u5f0f\u5bf9\u76ee\u6807\u5b9e\u4f8b\u8fdb\u884c\u68c0\u6d4b\u3002\u53ef\u7528\u4e8e\u4ee5\u4e0b\u4f7f\u7528\u573a\u666f\uff1a

    • HTTP/HTTPS\uff1aURL/API\u53ef\u7528\u6027\u68c0\u6d4b
    • ICMP\uff1a\u4e3b\u673a\u5b58\u6d3b\u68c0\u6d4b
    • TCP\uff1a\u7aef\u53e3\u5b58\u6d3b\u68c0\u6d4b
    • DNS\uff1a\u57df\u540d\u89e3\u6790

    \u5728\u672c\u6587\u4e2d\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u5df2\u6709\u7684 Blackbox ConfigMap \u4e2d\u914d\u7f6e\u81ea\u5b9a\u4e49\u7684\u63a2\u6d4b\u65b9\u5f0f\u3002

    Insight \u9ed8\u8ba4\u672a\u5f00\u542f ICMP \u63a2\u6d4b\u65b9\u5f0f\uff0c\u56e0\u4e3a ICMP \u9700\u8981\u66f4\u9ad8\u6743\u9650\uff0c\u56e0\u6b64\uff0c\u6211\u4eec\u5c06\u4ee5 ICMP \u548c HTTP \u63a2\u6d4b\u65b9\u5f0f\u4f5c\u4e3a\u793a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u4fee\u6539 ConfigMap \u4ee5\u5b9e\u73b0\u81ea\u5b9a\u4e49\u7684 ICMP \u548c HTTP \u63a2\u6d4b\u3002

    "},{"location":"admin/insight/collection-manag/probe-module.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u8fdb\u5165\u76ee\u6807\u96c6\u7fa4\u7684\u8be6\u60c5\uff1b
    2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\uff0c\u9009\u62e9 \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff1b
    3. \u627e\u5230\u540d\u4e3a insight-agent-prometheus-blackbox-exporter \u7684\u914d\u7f6e\u9879\uff0c\u70b9\u51fb \u7f16\u8f91 YAML\uff1b

      \u5728 modules \u4e0b\u6dfb\u52a0\u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f\uff1a

    HTTP \u63a2\u6d4bICMP \u63a2\u6d4b
    module:\n  http_2xx:\n    prober: http\n    timeout: 5s\n    http:\n      valid_http_versions: [HTTP/1.1, HTTP/2]\n      valid_status_codes: []  # Defaults to 2xx\n      method: GET\n

    module:\n  ICMP: # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b\n    prober: icmp\n    timeout: 5s\n    icmp:\n      preferred_ip_protocol: ip4\nicmp_example: # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b 2\n  prober: icmp\n  timeout: 5s\n  icmp:\n    preferred_ip_protocol: \"ip4\"\n    source_ip_address: \"127.0.0.1\"\n
    \u7531\u4e8e ICMP \u9700\u8981\u66f4\u9ad8\u6743\u9650\uff0c\u56e0\u6b64\uff0c\u6211\u4eec\u8fd8\u9700\u8981\u63d0\u5347 Pod \u6743\u9650\uff0c\u5426\u5219\u4f1a\u51fa\u73b0 operation not permitted \u7684\u9519\u8bef\u3002\u6709\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\u63d0\u5347\u6743\u9650\uff1a

    • \u65b9\u5f0f\u4e00\uff1a \u76f4\u63a5\u7f16\u8f91 BlackBox Exporter \u90e8\u7f72\u6587\u4ef6\u5f00\u542f

      apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: insight-agent-prometheus-blackbox-exporter\n  namespace: insight-system\nspec:\n  template:\n    spec:\n      containers:\n        - name: blackbox-exporter\n          image: # ... (image, args, ports \u7b49\u4fdd\u6301\u4e0d\u53d8)\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            allowPrivilegeEscalation: false\n            capabilities:\n              add:\n              - NET_RAW\n              drop:\n              - ALL\n            readOnlyRootFilesystem: true\n            runAsGroup: 0\n            runAsNonRoot: false\n            runAsUser: 0\n
    • \u65b9\u5f0f\u4e8c\uff1a \u901a\u8fc7 Helm Upgrade \u65b9\u5f0f\u63d0\u6743

      prometheus-blackbox-exporter:\n  enabled: true\n  securityContext:\n    runAsUser: 0\n    runAsGroup: 0\n    readOnlyRootFilesystem: true\n    runAsNonRoot: false\n    allowPrivilegeEscalation: false\n    capabilities:\n      add: [\"NET_RAW\"]\n

    Info

    \u66f4\u591a\u63a2\u6d4b\u65b9\u5f0f\u53ef\u53c2\u8003 blackbox_exporter Configuration\u3002

    "},{"location":"admin/insight/collection-manag/probe-module.html#_3","title":"\u5176\u4ed6\u53c2\u8003","text":"

    \u4ee5\u4e0b YAML \u6587\u4ef6\u4e2d\u5305\u542b\u4e86 HTTP\u3001TCP\u3001SMTP\u3001ICMP\u3001DNS \u7b49\u591a\u79cd\u63a2\u6d4b\u65b9\u5f0f\uff0c\u53ef\u6839\u636e\u9700\u6c42\u81ea\u884c\u4fee\u6539 insight-agent-prometheus-blackbox-exporter \u7684\u914d\u7f6e\u6587\u4ef6\u3002

    \u70b9\u51fb\u67e5\u770b\u5b8c\u6574\u7684 YAML \u6587\u4ef6
    kind: ConfigMap\napiVersion: v1\nmetadata:\n  name: insight-agent-prometheus-blackbox-exporter\n  namespace: insight-system\n  labels:\n    app.kubernetes.io/instance: insight-agent\n    app.kubernetes.io/managed-by: Helm\n    app.kubernetes.io/name: prometheus-blackbox-exporter\n    app.kubernetes.io/version: v0.24.0\n    helm.sh/chart: prometheus-blackbox-exporter-8.8.0\n  annotations:\n    meta.helm.sh/release-name: insight-agent\n    meta.helm.sh/release-namespace: insight-system\ndata:\n  blackbox.yaml: |\n    modules:\n      HTTP_GET:\n        prober: http\n        timeout: 5s\n        http:\n          method: GET\n          valid_http_versions: [\"HTTP/1.1\", \"HTTP/2.0\"]\n          follow_redirects: true\n          preferred_ip_protocol: \"ip4\"\n      HTTP_POST:\n        prober: http\n        timeout: 5s\n        http:\n          method: POST\n          body_size_limit: 1MB\n      TCP:\n        prober: tcp\n        timeout: 5s\n      # \u9ed8\u8ba4\u672a\u5f00\u542f\uff1a\n      # ICMP:\n      #   prober: icmp\n      #   timeout: 5s\n      #   icmp:\n      #     preferred_ip_protocol: ip4\n      SSH:\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n          - expect: \"^SSH-2.0-\"\n      POP3S:\n        prober: tcp\n        tcp:\n          query_response:\n          - expect: \"^+OK\"\n          tls: true\n          tls_config:\n            insecure_skip_verify: false\n      http_2xx_example:               # http \u63a2\u6d4b\u793a\u4f8b\n        prober: http\n        timeout: 5s                   # \u63a2\u6d4b\u7684\u8d85\u65f6\u65f6\u95f4\n        http:\n          valid_http_versions: [\"HTTP/1.1\", \"HTTP/2.0\"]                   # \u8fd4\u56de\u4fe1\u606f\u4e2d\u7684 Version\uff0c\u4e00\u822c\u9ed8\u8ba4\u5373\u53ef\n          valid_status_codes: []  # Defaults to 2xx                       # \u6709\u6548\u7684\u8fd4\u56de\u7801\u8303\u56f4\uff0c\u5982\u679c\u8bf7\u6c42\u7684\u8fd4\u56de\u7801\u5728\u8be5\u8303\u56f4\u5185\uff0c\u89c6\u4e3a\u63a2\u6d4b\u6210\u529f\n          method: GET                 # \u8bf7\u6c42\u65b9\u6cd5\n          headers:                    # \u8bf7\u6c42\u7684\u5934\u90e8\n            Host: vhost.example.com\n            Accept-Language: en-US\n            Origin: example.com\n          no_follow_redirects: false  # \u662f\u5426\u5141\u8bb8\u91cd\u5b9a\u5411\n          fail_if_ssl: false   \n          fail_if_not_ssl: false\n          fail_if_body_matches_regexp:\n            - \"Could not connect to database\"\n          fail_if_body_not_matches_regexp:\n            - \"Download the latest version here\"\n          fail_if_header_matches: # Verifies that no cookies are set\n            - header: Set-Cookie\n              allow_missing: true\n              regexp: '.*'\n          fail_if_header_not_matches:\n            - header: Access-Control-Allow-Origin\n              regexp: '(\\*|example\\.com)'\n          tls_config:                  # \u9488\u5bf9 https \u8bf7\u6c42\u7684 tls \u7684\u914d\u7f6e\n            insecure_skip_verify: false\n          preferred_ip_protocol: \"ip4\" # defaults to \"ip6\"                 # \u9996\u9009\u7684 IP \u534f\u8bae\u7248\u672c\n          ip_protocol_fallback: false  # no fallback to \"ip6\"            \n      http_post_2xx:                   # \u5e26 Body \u7684 http \u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: http\n        timeout: 5s\n        http:\n          method: POST                 # \u63a2\u6d4b\u7684\u8bf7\u6c42\u65b9\u6cd5\n          headers:\n            Content-Type: application/json\n          body: '{\"username\":\"admin\",\"password\":\"123456\"}'                   # \u63a2\u6d4b\u65f6\u643a\u5e26\u7684 body\n      http_basic_auth_example:         # \u5e26\u7528\u6237\u540d\u5bc6\u7801\u7684\u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: http\n        timeout: 5s\n        http:\n          method: POST\n          headers:\n            Host: \"login.example.com\"\n          basic_auth:                  # \u63a2\u6d4b\u65f6\u8981\u52a0\u7684\u7528\u6237\u540d\u5bc6\u7801\n            username: \"username\"\n            password: \"mysecret\"\n      http_custom_ca_example:\n        prober: http\n        http:\n          method: GET\n          tls_config:                  # \u6307\u5b9a\u63a2\u6d4b\u65f6\u4f7f\u7528\u7684\u6839\u8bc1\u4e66\n            ca_file: \"/certs/my_cert.crt\"\n      http_gzip:\n        prober: http\n        http:\n          method: GET\n          compression: gzip            # \u63a2\u6d4b\u65f6\u4f7f\u7528\u7684\u538b\u7f29\u65b9\u6cd5\n      http_gzip_with_accept_encoding:\n        prober: http\n        http:\n          method: GET\n          compression: gzip\n          headers:\n            Accept-Encoding: gzip\n      tls_connect:                     # TCP \u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          tls: true                    # \u662f\u5426\u4f7f\u7528 TLS\n      tcp_connect_example:\n        prober: tcp\n        timeout: 5s\n      imap_starttls:                   # \u63a2\u6d4b IMAP \u90ae\u7bb1\u670d\u52a1\u5668\u7684\u914d\u7f6e\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - expect: \"OK.*STARTTLS\"\n            - send: \". STARTTLS\"\n            - expect: \"OK\"\n            - starttls: true\n            - send: \". capability\"\n            - expect: \"CAPABILITY IMAP4rev1\"\n      smtp_starttls:                   # \u63a2\u6d4b SMTP \u90ae\u7bb1\u670d\u52a1\u5668\u7684\u914d\u7f6e\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - expect: \"^220 ([^ ]+) ESMTP (.+)$\"\n            - send: \"EHLO prober\\r\"\n            - expect: \"^250-STARTTLS\"\n            - send: \"STARTTLS\\r\"\n            - expect: \"^220\"\n            - starttls: true\n            - send: \"EHLO prober\\r\"\n            - expect: \"^250-AUTH\"\n            - send: \"QUIT\\r\"\n      irc_banner_example:\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - send: \"NICK prober\"\n            - send: \"USER prober prober prober :prober\"\n            - expect: \"PING :([^ ]+)\"\n              send: \"PONG ${1}\"\n            - expect: \"^:[^ ]+ 001\"\n      # icmp_example:                    # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b\n      #   prober: icmp\n      #   timeout: 5s\n      #   icmp:\n      #     preferred_ip_protocol: \"ip4\"\n      #     source_ip_address: \"127.0.0.1\"\n      dns_udp_example:                 # \u4f7f\u7528 UDP \u8fdb\u884c DNS \u67e5\u8be2\u7684\u793a\u4f8b\n        prober: dns\n        timeout: 5s\n        dns:\n          query_name: \"www.prometheus.io\"                 # \u8981\u89e3\u6790\u7684\u57df\u540d\n          query_type: \"A\"              # \u8be5\u57df\u540d\u5bf9\u5e94\u7684\u7c7b\u578b\n          valid_rcodes:\n          - NOERROR\n          validate_answer_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n            fail_if_all_match_regexp:\n            - \".*127.0.0.1\"\n            fail_if_not_matches_regexp:\n            - \"www.prometheus.io.\\t300\\tIN\\tA\\t127.0.0.1\"\n            fail_if_none_matches_regexp:\n            - \"127.0.0.1\"\n          validate_authority_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n          validate_additional_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n      dns_soa:\n        prober: dns\n        dns:\n          query_name: \"prometheus.io\"\n          query_type: \"SOA\"\n      dns_tcp_example:               # \u4f7f\u7528 TCP \u8fdb\u884c DNS \u67e5\u8be2\u7684\u793a\u4f8b\n        prober: dns\n        dns:\n          transport_protocol: \"tcp\" # defaults to \"udp\"\n          preferred_ip_protocol: \"ip4\" # defaults to \"ip6\"\n          query_name: \"www.prometheus.io\"\n
    "},{"location":"admin/insight/collection-manag/service-monitor.html","title":"\u914d\u7f6e\u670d\u52a1\u53d1\u73b0\u89c4\u5219","text":"

    \u53ef\u89c2\u6d4b Insight \u652f\u6301\u901a\u8fc7 \u5bb9\u5668\u7ba1\u7406 \u521b\u5efa CRD ServiceMonitor \u7684\u65b9\u5f0f\u6765\u6ee1\u8db3\u60a8\u81ea\u5b9a\u4e49\u670d\u52a1\u53d1\u73b0\u7684\u91c7\u96c6\u9700\u6c42\u3002 \u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 ServiceMonitor \u81ea\u884c\u5b9a\u4e49 Pod \u53d1\u73b0\u7684 Namespace \u8303\u56f4\u4ee5\u53ca\u901a\u8fc7 matchLabel \u6765\u9009\u62e9\u76d1\u542c\u7684 Service\u3002

    "},{"location":"admin/insight/collection-manag/service-monitor.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u96c6\u7fa4\u5df2\u5b89\u88c5 Helm \u5e94\u7528 insight-agent \u4e14\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

    "},{"location":"admin/insight/collection-manag/service-monitor.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u91c7\u96c6\u7ba1\u7406 \uff0c\u67e5\u770b\u5168\u90e8\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u72b6\u6001\u3002

    2. \u70b9\u51fb\u5217\u8868\u4e2d\u7684\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\u8fdb\u5165\u91c7\u96c6\u914d\u7f6e\u8be6\u60c5\u3002

    3. \u70b9\u51fb\u94fe\u63a5\u8df3\u8f6c\u5230 \u5bb9\u5668\u7ba1\u7406 \u4e2d\u521b\u5efa Service Monitor\u3002

      apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: micrometer-demo # (1)\n  namespace: insight-system # (2)\n    labels: \n      operator.insight.io/managed-by: insight\nspec:\n  endpoints: # (3)\n    - honorLabels: true\n        interval: 15s\n        path: /actuator/prometheus\n        port: http\n  namespaceSelector: # (4)\n    matchNames:\n      - insight-system  # (5)\n  selector: # (6)\n    matchLabels:\n          micrometer-prometheus-discovery: \"true\"\n
      1. \u6307\u5b9a ServiceMonitor \u7684\u540d\u79f0
      2. \u6307\u5b9a ServiceMonitor \u7684\u547d\u540d\u7a7a\u95f4
      3. \u8fd9\u662f\u670d\u52a1\u7aef\u70b9\uff0c\u4ee3\u8868 Prometheus \u6240\u9700\u7684\u91c7\u96c6 Metrics \u7684\u5730\u5740\u3002 endpoints \u4e3a\u4e00\u4e2a\u6570\u7ec4\uff0c \u540c\u65f6\u53ef\u4ee5\u521b\u5efa\u591a\u4e2a endpoints \u3002\u6bcf\u4e2a endpoints \u5305\u542b\u4e09\u4e2a\u5b57\u6bb5\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u7684\u542b\u4e49\u5982\u4e0b\uff1a

        • interval \uff1a\u6307\u5b9a Prometheus \u5bf9\u5f53\u524d endpoints \u91c7\u96c6\u7684\u5468\u671f\u3002\u5355\u4f4d\u4e3a\u79d2\uff0c\u5728\u672c\u6b21\u793a\u4f8b\u4e2d\u8bbe\u5b9a\u4e3a 15s \u3002
        • path \uff1a\u6307\u5b9a Prometheus \u7684\u91c7\u96c6\u8def\u5f84\u3002\u5728\u672c\u6b21\u793a\u4f8b\u4e2d\uff0c\u6307\u5b9a\u4e3a /actuator/prometheus \u3002
        • port \uff1a\u6307\u5b9a\u91c7\u96c6\u6570\u636e\u9700\u8981\u901a\u8fc7\u7684\u7aef\u53e3\uff0c\u8bbe\u7f6e\u7684\u7aef\u53e3\u4e3a\u91c7\u96c6\u7684 Service \u7aef\u53e3\u6240\u8bbe\u7f6e\u7684 name \u3002
      4. \u8fd9\u662f\u9700\u8981\u53d1\u73b0\u7684 Service \u7684\u8303\u56f4\u3002 namespaceSelector \u5305\u542b\u4e24\u4e2a\u4e92\u65a5\u5b57\u6bb5\uff0c\u5b57\u6bb5\u7684\u542b\u4e49\u5982\u4e0b\uff1a

        • any \uff1a\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u503c true \uff0c\u5f53\u8be5\u5b57\u6bb5\u88ab\u8bbe\u7f6e\u65f6\uff0c\u5c06\u76d1\u542c\u6240\u6709\u7b26\u5408 Selector \u8fc7\u6ee4\u6761\u4ef6\u7684 Service \u7684\u53d8\u52a8\u3002
        • matchNames \uff1a\u6570\u7ec4\u503c\uff0c\u6307\u5b9a\u9700\u8981\u76d1\u542c\u7684 namespace \u7684\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u53ea\u60f3\u76d1\u542c default \u548c insight-system \u4e24\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u7684 Service\uff0c\u90a3\u4e48 matchNames \u8bbe\u7f6e\u5982\u4e0b\uff1a

          namespaceSelector:\n  matchNames:\n    - default\n    - insight-system\n
      5. \u6b64\u5904\u5339\u914d\u7684\u547d\u540d\u7a7a\u95f4\u4e3a\u9700\u8981\u66b4\u9732\u6307\u6807\u7684\u5e94\u7528\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

      6. \u7528\u4e8e\u9009\u62e9 Service
    "},{"location":"admin/insight/dashboard/dashboard.html","title":"\u4eea\u8868\u76d8","text":"

    Grafana \u662f\u4e00\u79cd\u5f00\u6e90\u7684\u6570\u636e\u53ef\u89c6\u5316\u548c\u76d1\u63a7\u5e73\u53f0\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u56fe\u8868\u548c\u9762\u677f\uff0c\u7528\u4e8e\u5b9e\u65f6\u76d1\u63a7\u3001\u5206\u6790\u548c\u53ef\u89c6\u5316\u5404\u79cd\u6570\u636e\u6e90\u7684\u6307\u6807\u548c\u65e5\u5fd7\u3002\u53ef\u89c2\u6d4b\u6027 Insight \u4f7f\u7528\u5f00\u6e90 Grafana \u63d0\u4f9b\u76d1\u63a7\u670d\u52a1\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u591a\u7ef4\u5ea6\u67e5\u770b\u8d44\u6e90\u6d88\u8017\u60c5\u51b5\uff0c

    \u5173\u4e8e\u5f00\u6e90 Grafana \u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 Grafana \u5b98\u65b9\u6587\u6863\u3002

    "},{"location":"admin/insight/dashboard/dashboard.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u4eea\u8868\u76d8 \u3002

      • \u5728 Insight /\u6982\u89c8 \u4eea\u8868\u76d8\u4e2d\uff0c\u53ef\u67e5\u770b\u591a\u9009\u96c6\u7fa4\u7684\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff0c\u5e76\u4ee5\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u7b49\u591a\u4e2a\u7ef4\u5ea6\u5206\u6790\u4e86\u8d44\u6e90\u4f7f\u7528\u3001\u7f51\u7edc\u3001\u5b58\u50a8\u7b49\u60c5\u51b5\u3002

      • \u70b9\u51fb\u4eea\u8868\u76d8\u5de6\u4e0a\u4fa7\u7684\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\u3002

      • \u70b9\u51fb\u4eea\u8868\u76d8\u53f3\u4e0b\u4fa7\u53ef\u5207\u6362\u67e5\u8be2\u7684\u65f6\u95f4\u8303\u56f4\u3002

    2. Insight \u7cbe\u9009\u591a\u4e2a\u793e\u533a\u63a8\u8350\u4eea\u8868\u76d8\uff0c\u53ef\u4ece\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7b49\u591a\u4e2a\u7ef4\u5ea6\u8fdb\u884c\u76d1\u63a7\u3002\u70b9\u51fb insight-system / Insight /\u6982\u89c8 \u533a\u57df\u5207\u6362\u4eea\u8868\u76d8\u3002

    Note

    1. \u8bbf\u95ee Grafana UI \u8bf7\u53c2\u8003\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 Grafana\u3002

    2. \u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8\u8bf7\u53c2\u8003\u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8\u3002

    "},{"location":"admin/insight/dashboard/import-dashboard.html","title":"\u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8","text":"

    \u901a\u8fc7\u4f7f\u7528 Grafana CRD\uff0c\u53ef\u4ee5\u5c06\u4eea\u8868\u677f\u7684\u7ba1\u7406\u548c\u90e8\u7f72\u7eb3\u5165\u5230 Kubernetes \u7684\u751f\u547d\u5468\u671f\u7ba1\u7406\u4e2d\uff0c\u5b9e\u73b0\u4eea\u8868\u677f\u7684\u7248\u672c\u63a7\u5236\u3001\u81ea\u52a8\u5316\u90e8\u7f72\u548c\u96c6\u7fa4\u7ea7\u7684\u7ba1\u7406\u3002\u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 CRD \u548c UI \u754c\u9762\u5bfc\u5165\u81ea\u5b9a\u4e49\u7684\u4eea\u8868\u76d8\u3002

    "},{"location":"admin/insight/dashboard/import-dashboard.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0 \u5e73\u53f0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u9009\u62e9 kpanda-global-cluster \u3002

    2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u5728\u5217\u8868\u4e2d\u67e5\u627e grafanadashboards.integreatly.org \u6587\u4ef6\uff0c\u8fdb\u5165\u8be6\u60c5\u3002

    3. \u70b9\u51fb Yaml \u521b\u5efa \uff0c\u4f7f\u7528\u4ee5\u4e0b\u6a21\u677f\uff0c\u5728 Json \u5b57\u6bb5\u4e2d\u66ff\u6362\u4eea\u8868\u76d8 JSON\u3002

      • namespace \uff1a\u586b\u5199\u76ee\u6807\u547d\u540d\u7a7a\u95f4\uff1b
      • name \uff1a\u586b\u5199\u4eea\u8868\u76d8\u7684\u540d\u79f0\u3002
      • label \uff1a\u5fc5\u586b\uff0c operator.insight.io/managed-by: insight \u3002
      apiVersion: integreatly.org/v1alpha1\nkind: GrafanaDashboard\nmetadata:\n  labels:\n    app: insight-grafana-operator\n    operator.insight.io/managed-by: insight\n  name: sample-dashboard\n  namespace: insight-system\nspec:\n  json: >\n    {\n      \"id\": null,\n      \"title\": \"Simple Dashboard\",\n      \"tags\": [],\n      \"style\": \"dark\",\n      \"timezone\": \"browser\",\n      \"editable\": true,\n      \"hideControls\": false,\n      \"graphTooltip\": 1,\n      \"panels\": [],\n      \"time\": {\n        \"from\": \"now-6h\",\n        \"to\": \"now\"\n      },\n      \"timepicker\": {\n        \"time_options\": [],\n        \"refresh_intervals\": []\n      },\n      \"templating\": {\n        \"list\": []\n      },\n      \"annotations\": {\n        \"list\": []\n      },\n      \"refresh\": \"5s\",\n      \"schemaVersion\": 17,\n      \"version\": 0,\n      \"links\": []\n    }\n
    4. \u70b9\u51fb \u786e\u8ba4 \u540e\uff0c\u7a0d\u7b49\u7247\u523b\u5373\u53ef\u5728 \u4eea\u8868\u76d8 \u4e2d\u67e5\u770b\u521a\u521a\u5bfc\u5165\u7684\u4eea\u8868\u76d8\u3002

    Info

    \u81ea\u5b9a\u4e49\u8bbe\u8ba1\u4eea\u8868\u76d8\uff0c\u8bf7\u53c2\u8003\u6dfb\u52a0\u4eea\u8868\u76d8\u9762\u677f\u3002

    "},{"location":"admin/insight/dashboard/login-grafana.html","title":"\u8bbf\u95ee\u539f\u751f Grafana","text":"

    Insight \u501f\u52a9 Grafana \u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u53ef\u89c6\u5316\u80fd\u529b\uff0c\u540c\u65f6\u4fdd\u7559\u4e86\u8bbf\u95ee\u539f\u751f Grafana \u7684\u5165\u53e3\u3002

    "},{"location":"admin/insight/dashboard/login-grafana.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u6d4f\u89c8\u5668\uff0c\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165 Grafana \u5730\u5740\u3002

      \u8bbf\u95ee\u5730\u5740\uff1a http://ip:\u8bbf\u95ee\u7aef\u53e3/ui/insight-grafana/login

      \u4f8b\u5982\uff1a http://10.6.10.233:30209/ui/insight-grafana/login

    2. \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u767b\u5f55\uff0c\u4f7f\u7528\u9ed8\u8ba4\u7528\u6237\u540d\u3001\u5bc6\u7801\uff08admin/admin\uff09\u8fdb\u884c\u767b\u5f55\u3002

    3. \u70b9\u51fb Log in \u5b8c\u6210\u767b\u5f55\u3002

    "},{"location":"admin/insight/dashboard/overview.html","title":"\u6982\u89c8","text":"

    \u6982\u7387 \u4ec5\u7edf\u8ba1\u5df2\u5b89\u88c5 insight-agent \u4e14\u5176\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u7684\u96c6\u7fa4\u6570\u636e\u3002\u53ef\u5728\u6982\u89c8\u4e2d\u591a\u96c6\u7fa4\u7684\u8d44\u6e90\u6982\u51b5\uff1a

    • \u544a\u8b66\u7edf\u8ba1\uff1a\u53ef\u67e5\u770b\u6240\u6709\u96c6\u7fa4\u7684\u6b63\u5728\u544a\u8b66\u7684\u7edf\u8ba1\u6570\u636e\u3002
    • \u8d44\u6e90\u6d88\u8017\uff1a\u53ef\u6309 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u548c\u78c1\u76d8\u4f7f\u7528\u7387\u5206\u522b\u67e5\u770b\u8fd1\u4e00\u5c0f\u65f6 TOP5 \u96c6\u7fa4\u3001\u8282\u70b9\u7684\u8d44\u6e90\u53d8\u5316\u8d8b\u52bf\u3002
    • \u9ed8\u8ba4\u6309\u7167\u6839\u636e CPU \u4f7f\u7528\u7387\u6392\u5e8f\u3002\u60a8\u53ef\u5207\u6362\u6307\u6807\u5207\u6362\u96c6\u7fa4\u3001\u8282\u70b9\u7684\u6392\u5e8f\u65b9\u5f0f\u3002
    • \u8d44\u6e90\u53d8\u5316\u8d8b\u52bf\uff1a\u53ef\u67e5\u770b\u8fd1 15 \u5929\u7684\u8282\u70b9\u4e2a\u6570\u8d8b\u52bf\u4ee5\u53ca\u4e00\u5c0f\u65f6 Pod \u7684\u8fd0\u884c\u8d8b\u52bf\u3002
    • \u670d\u52a1\u8bf7\u6c42\u6392\u884c\uff1a\u53ef\u67e5\u770b\u591a\u96c6\u7fa4\u4e2d\u8bf7\u6c42\u5ef6\u65f6\u3001\u9519\u8bef\u7387\u6392\u884c TOP5 \u7684\u670d\u52a1\u53ca\u6240\u5728\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u3002
    "},{"location":"admin/insight/dashboard/overview.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

    \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u6982\u89c8 \u3002

    "},{"location":"admin/insight/data-query/log.html","title":"\u65e5\u5fd7\u67e5\u8be2","text":"

    Insight \u9ed8\u8ba4\u91c7\u96c6\u8282\u70b9\u65e5\u5fd7\u3001\u5bb9\u5668\u65e5\u5fd7\u4ee5\u53ca kubernetes \u5ba1\u8ba1\u65e5\u5fd7\u3002\u5728\u65e5\u5fd7\u67e5\u8be2\u9875\u9762\u4e2d\uff0c\u53ef\u67e5\u8be2\u767b\u5f55\u8d26\u53f7\u6743\u9650\u5185\u7684\u6807\u51c6\u8f93\u51fa (stdout) \u65e5\u5fd7\uff0c\u5305\u62ec\u8282\u70b9\u65e5\u5fd7\u3001\u4ea7\u54c1\u65e5\u5fd7\u3001Kubenetes \u5ba1\u8ba1\u65e5\u5fd7\u7b49\uff0c\u5feb\u901f\u5728\u5927\u91cf\u65e5\u5fd7\u4e2d\u67e5\u8be2\u5230\u6240\u9700\u7684\u65e5\u5fd7\uff0c\u540c\u65f6\u7ed3\u5408\u65e5\u5fd7\u7684\u6765\u6e90\u4fe1\u606f\u548c\u4e0a\u4e0b\u6587\u539f\u59cb\u6570\u636e\u8f85\u52a9\u5b9a\u4f4d\u95ee\u9898\u3002

    "},{"location":"admin/insight/data-query/log.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002
    2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u65e5\u5fd7 \u3002

      • \u9ed8\u8ba4\u67e5\u8be2\u6700\u8fd1 24 \u5c0f\u65f6\uff1b
      • \u7b2c\u4e00\u6b21\u8fdb\u5165\u65f6\uff0c\u9ed8\u8ba4\u6839\u636e\u767b\u5f55\u8d26\u53f7\u6743\u9650\u67e5\u8be2\u6709\u6743\u9650\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u7684\u5bb9\u5668\u65e5\u5fd7\uff1b

    3. \u9876\u90e8 Tab \u9ed8\u8ba4\u8fdb\u5165 \u666e\u901a\u67e5\u8be2 \u3002

      1. \u70b9\u51fb \u7b5b\u9009 \u5c55\u5f00\u8fc7\u6ee4\u9762\u677f\uff0c\u53ef\u5207\u6362\u65e5\u5fd7\u641c\u7d22\u6761\u4ef6\u548c\u7c7b\u578b\u3002
      2. \u65e5\u5fd7\u7c7b\u578b\uff1a

        • \u5bb9\u5668\u65e5\u5fd7 \uff1a\u8bb0\u5f55\u96c6\u7fa4\u4e2d\u5bb9\u5668\u5185\u90e8\u7684\u6d3b\u52a8\u548c\u4e8b\u4ef6\uff0c\u5305\u62ec\u5e94\u7528\u7a0b\u5e8f\u7684\u8f93\u51fa\u3001\u9519\u8bef\u6d88\u606f\u3001\u8b66\u544a\u548c\u8c03\u8bd5\u4fe1\u606f\u7b49\u3002\u652f\u6301\u901a\u8fc7\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u3001\u5bb9\u5668\u8fc7\u6ee4\u65e5\u5fd7\u3002
        • \u8282\u70b9\u65e5\u5fd7 \uff1a\u8bb0\u5f55\u96c6\u7fa4\u4e2d\u6bcf\u4e2a\u8282\u70b9\u7684\u7cfb\u7edf\u7ea7\u522b\u65e5\u5fd7\u3002\u8fd9\u4e9b\u65e5\u5fd7\u5305\u542b\u8282\u70b9\u7684\u64cd\u4f5c\u7cfb\u7edf\u3001\u5185\u6838\u3001\u670d\u52a1\u548c\u7ec4\u4ef6\u7684\u76f8\u5173\u4fe1\u606f\u3002\u652f\u6301\u901a\u8fc7\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u6587\u4ef6\u8def\u5f84\u8fc7\u6ee4\u65e5\u5fd7\u3002
      3. \u652f\u6301\u5bf9\u5355\u4e2a\u5173\u952e\u5b57\u8fdb\u884c\u6a21\u7cca\u641c\u7d22\u3002

    4. \u9876\u90e8\u5207\u6362 Tab \u9009\u62e9 Lucene \u8bed\u6cd5\u67e5\u8be2 \u3002

      \u7b2c\u4e00\u6b21\u8fdb\u5165\u65f6\uff0c\u9ed8\u8ba4\u9009\u62e9\u767b\u5f55\u8d26\u53f7\u6743\u9650\u67e5\u8be2\u6709\u6743\u9650\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u7684\u5bb9\u5668\u65e5\u5fd7\u3002

      Lucene \u8bed\u6cd5\u8bf4\u660e\uff1a

      1. \u4f7f\u7528 \u903b\u8f91\u64cd\u4f5c\u7b26\uff08AND\u3001OR\u3001NOT\u3001\"\" \uff09\u7b26\u67e5\u8be2\u591a\u4e2a\u5173\u952e\u5b57\uff0c\u4f8b\u5982\uff1akeyword1 AND (keyword2 OR keyword3) NOT keyword4\u3002
      2. \u4f7f\u7528\u6ce2\u6d6a\u53f7 (~) \u5b9e\u73b0\u6a21\u7cca\u67e5\u8be2\uff0c\u5728 \"~\" \u540e\u53ef\u6307\u5b9a\u53ef\u9009\u7684\u53c2\u6570\uff0c\u7528\u4e8e\u63a7\u5236\u6a21\u7cca\u67e5\u8be2\u7684\u76f8\u4f3c\u5ea6\uff0c\u4e0d\u6307\u5b9a\u5219\u9ed8\u8ba4\u4f7f\u7528 0.5\u3002\u4f8b\u5982\uff1aerror~\u3002
      3. \u4f7f\u7528\u901a\u914d\u7b26 (*\u3001?) \u7528\u4f5c\u5355\u5b57\u7b26\u901a\u914d\u7b26\uff0c\u8868\u793a\u5339\u914d\u4efb\u610f\u4e00\u4e2a\u5b57\u7b26\u3002
      4. \u4f7f\u7528\u65b9\u62ec\u53f7 [ ] \u6216\u82b1\u62ec\u53f7 { } \u6765\u67e5\u8be2\u8303\u56f4\uff0c\u65b9\u62ec\u53f7\u00a0[ ]\u00a0\u8868\u793a\u95ed\u533a\u95f4\uff0c\u5305\u542b\u8fb9\u754c\u503c\u3002\u82b1\u62ec\u53f7\u00a0{ }\u00a0\u8868\u793a\u5f00\u533a\u95f4\uff0c\u6392\u9664\u8fb9\u754c\u503c\u3002\u8303\u56f4\u67e5\u8be2\u53ea\u9002\u7528\u4e8e\u80fd\u591f\u8fdb\u884c\u6392\u5e8f\u7684\u5b57\u6bb5\u7c7b\u578b\uff0c\u5982\u6570\u5b57\u3001\u65e5\u671f\u7b49\u3002\u4f8b\u5982\uff1atimestamp:[2022-01-01 TO 2022-01-31]\u3002
      5. \u66f4\u591a\u7528\u6cd5\u8bf7\u67e5\u770b\uff1aLucene \u8bed\u6cd5\u8bf4\u660e\u3002
    "},{"location":"admin/insight/data-query/log.html#_3","title":"\u5176\u4ed6\u64cd\u4f5c","text":""},{"location":"admin/insight/data-query/log.html#_4","title":"\u67e5\u770b\u65e5\u5fd7\u4e0a\u4e0b\u6587","text":"

    \u70b9\u51fb\u65e5\u5fd7\u540e\u7684\u6309\u94ae\uff0c\u5728\u53f3\u4fa7\u5212\u51fa\u9762\u677f\u4e2d\u53ef\u67e5\u770b\u8be5\u6761\u65e5\u5fd7\u7684\u9ed8\u8ba4 100 \u6761\u4e0a\u4e0b\u6587\u3002\u53ef\u5207\u6362 \u663e\u793a\u884c\u6570 \u67e5\u770b\u66f4\u591a\u4e0a\u4e0b\u6587\u5185\u5bb9\u3002

    "},{"location":"admin/insight/data-query/log.html#_5","title":"\u5bfc\u51fa\u65e5\u5fd7\u6570\u636e","text":"

    \u70b9\u51fb\u5217\u8868\u53f3\u4e0a\u4fa7\u7684\u4e0b\u8f7d\u6309\u94ae\u3002

    • \u652f\u6301\u914d\u7f6e\u5bfc\u51fa\u7684\u65e5\u5fd7\u5b57\u6bb5\uff0c\u6839\u636e\u65e5\u5fd7\u7c7b\u578b\u53ef\u914d\u7f6e\u7684\u5b57\u6bb5\u4e0d\u540c\uff0c\u5176\u4e2d \u65e5\u5fd7\u5185\u5bb9 \u5b57\u6bb5\u4e3a\u5fc5\u9009\u3002
    • \u652f\u6301\u5c06\u65e5\u5fd7\u67e5\u8be2\u7ed3\u679c\u5bfc\u51fa\u4e3a .txt \u6216 .csv \u683c\u5f0f\u3002

    "},{"location":"admin/insight/data-query/metric.html","title":"\u6307\u6807\u67e5\u8be2","text":"

    \u6307\u6807\u67e5\u8be2\u652f\u6301\u67e5\u8be2\u5bb9\u5668\u5404\u8d44\u6e90\u7684\u6307\u6807\u6570\u636e\uff0c\u53ef\u67e5\u770b\u76d1\u63a7\u6307\u6807\u7684\u8d8b\u52bf\u53d8\u5316\u3002\u540c\u65f6\uff0c\u9ad8\u7ea7\u67e5\u8be2\u652f\u6301\u539f\u751f PromQL \u8bed\u53e5\u8fdb\u884c\u6307\u6807\u67e5\u8be2\u3002

    "},{"location":"admin/insight/data-query/metric.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
    • \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002
    "},{"location":"admin/insight/data-query/metric.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002

    2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u6307\u6807 \u3002

    3. \u9009\u62e9\u96c6\u7fa4\u3001\u7c7b\u578b\u3001\u8282\u70b9\u3001\u6307\u6807\u540d\u79f0\u67e5\u8be2\u6761\u4ef6\u540e\uff0c\u70b9\u51fb \u641c\u7d22 \uff0c\u5c4f\u5e55\u53f3\u4fa7\u5c06\u663e\u793a\u5bf9\u5e94\u6307\u6807\u56fe\u8868\u53ca\u6570\u636e\u8be6\u60c5\u3002

    4. \u652f\u6301\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002\u53ef\u624b\u52a8\u70b9\u51fb \u5237\u65b0 \u56fe\u6807\u6216\u9009\u62e9\u9ed8\u8ba4\u65f6\u95f4\u95f4\u9694\u8fdb\u884c\u5237\u65b0\u3002

    5. \u70b9\u51fb \u9ad8\u7ea7\u67e5\u8be2 \u9875\u7b7e\u901a\u8fc7\u539f\u751f\u7684 PromQL \u67e5\u8be2\u3002

    Note

    \u53c2\u9605 PromQL \u8bed\u6cd5\u3002

    "},{"location":"admin/insight/infra/cluster.html","title":"\u96c6\u7fa4\u76d1\u63a7","text":"

    \u901a\u8fc7\u96c6\u7fa4\u76d1\u63a7\uff0c\u4f60\u53ef\u4ee5\u67e5\u770b\u96c6\u7fa4\u7684\u57fa\u672c\u4fe1\u606f\u3001\u8be5\u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u6d88\u8017\u4ee5\u53ca\u4e00\u6bb5\u65f6\u95f4\u7684\u8d44\u6e90\u6d88\u8017\u53d8\u5316\u8d8b\u52bf\u7b49\u3002

    "},{"location":"admin/insight/infra/cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

    "},{"location":"admin/insight/infra/cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

    2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u96c6\u7fa4 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

      • \u8d44\u6e90\u6982\u89c8 \uff1a\u591a\u9009\u96c6\u7fa4\u4e2d\u7684\u8282\u70b9\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6b63\u5e38\u548c\u5168\u90e8\u7684\u6570\u91cf\u7edf\u8ba1\uff1b
      • \u6545\u969c \uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
      • \u8d44\u6e90\u6d88\u8017 \uff1a\u6240\u9009\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7684\u5b9e\u9645\u4f7f\u7528\u91cf\u548c\u603b\u91cf\uff1b
      • \u6307\u6807\u8bf4\u660e \uff1a\u6240\u9009\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u8bfb\u5199\u3001\u7f51\u7edc\u63a5\u6536\u53d1\u9001\u7684\u53d8\u5316\u8d8b\u52bf\u3002

    3. \u5207\u6362\u5230 \u8d44\u6e90\u6c34\u4f4d\u7ebf\u76d1\u63a7 \u9875\u7b7e\uff0c\u53ef\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u66f4\u591a\u76d1\u63a7\u6570\u636e\u3002

    "},{"location":"admin/insight/infra/cluster.html#_4","title":"\u53c2\u8003\u6307\u6807\u8bf4\u660e","text":"\u6307\u6807\u540d \u8bf4\u660e CPU \u4f7f\u7528\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u8d44\u6e90\u7684\u5b9e\u9645 CPU \u7528\u91cf\u4e0e\u6240\u6709\u8282\u70b9\u7684 CPU \u603b\u91cf\u7684\u6bd4\u7387\u3002 CPU \u5206\u914d\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u7684 CPU \u8bf7\u6c42\u91cf\u7684\u603b\u548c\u4e0e\u6240\u6709\u8282\u70b9\u7684 CPU \u603b\u91cf\u7684\u6bd4\u7387\u3002 \u5185\u5b58\u4f7f\u7528\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u8d44\u6e90\u7684\u5b9e\u9645\u5185\u5b58\u7528\u91cf\u4e0e\u6240\u6709\u8282\u70b9\u7684\u5185\u5b58\u603b\u91cf\u7684\u6bd4\u7387\u3002 \u5185\u5b58\u5206\u914d\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u7684\u5185\u5b58\u8bf7\u6c42\u91cf\u7684\u603b\u548c\u4e0e\u6240\u6709\u8282\u70b9\u7684\u5185\u5b58\u603b\u91cf\u7684\u6bd4\u7387\u3002"},{"location":"admin/insight/infra/container.html","title":"\u5bb9\u5668\u76d1\u63a7","text":"

    \u5bb9\u5668\u76d1\u63a7\u662f\u5bf9\u96c6\u7fa4\u7ba1\u7406\u4e2d\u5de5\u4f5c\u8d1f\u8f7d\u7684\u76d1\u63a7\uff0c\u5728\u5217\u8868\u4e2d\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u57fa\u672c\u4fe1\u606f\u548c\u72b6\u6001\u3002\u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\uff0c\u53ef\u67e5\u770b\u6b63\u5728\u544a\u8b66\u7684\u6570\u91cf\u4ee5\u53ca CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u6d88\u8017\u7684\u53d8\u5316\u8d8b\u52bf\u3002

    "},{"location":"admin/insight/infra/container.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u96c6\u7fa4\u5df2\u5b89\u88c5 insight-agent\uff0c\u4e14\u6240\u6709\u7684\u5bb9\u5668\u7ec4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

    • \u5b89\u88c5 insight-agent\uff0c\u8bf7\u53c2\u8003\u5728\u7ebf\u5b89\u88c5 insight-agent \u6216\u79bb\u7ebf\u5347\u7ea7 insight-agent\u3002
    "},{"location":"admin/insight/infra/container.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

    \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u770b\u670d\u52a1\u76d1\u63a7\u6307\u6807\uff1a

    1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

    2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u5de5\u4f5c\u8d1f\u8f7d \u3002

    3. \u5207\u6362\u9876\u90e8 Tab\uff0c\u67e5\u770b\u4e0d\u540c\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u3002

    4. \u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u540d\u79f0\u67e5\u770b\u8be6\u60c5\u3002

      1. \u6545\u969c\uff1a\u5728\u6545\u969c\u5361\u7247\u4e2d\u7edf\u8ba1\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u5f53\u524d\u6b63\u5728\u544a\u8b66\u7684\u603b\u6570\u3002
      2. \u8d44\u6e90\u6d88\u8017\uff1a\u5728\u8be5\u5361\u7247\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684 CPU\u3001\u5185\u5b58\u3001\u7f51\u7edc\u7684\u4f7f\u7528\u60c5\u51b5\u3002
      3. \u76d1\u63a7\u6307\u6807\uff1a\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u9ed8\u8ba4 1 \u5c0f\u65f6\u7684 CPU\u3001\u5185\u5b58\u3001\u7f51\u7edc\u548c\u78c1\u76d8\u7684\u53d8\u5316\u8d8b\u52bf\u3002

    5. \u5207\u6362 Tab \u5230 \u5bb9\u5668\u7ec4\u5217\u8868 \uff0c\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u5404\u4e2a\u5bb9\u5668\u7ec4\u72b6\u6001\u3001\u6240\u5728\u8282\u70b9\u3001\u91cd\u542f\u6b21\u6570\u7b49\u4fe1\u606f\u3002

    6. \u5207\u6362 Tab \u5230 JVM \u76d1\u63a7 \uff0c\u53ef\u67e5\u770b\u5404\u4e2a\u5bb9\u5668\u7ec4\u7684 JVM \u6307\u6807\u3002

      Note

      1. JVM \u76d1\u63a7\u529f\u80fd\u4ec5\u652f\u6301 Java \u8bed\u8a00\u3002
      2. \u5f00\u542f JVM \u76d1\u63a7\u529f\u80fd\uff0c\u8bf7\u53c2\u8003\u5f00\u59cb\u76d1\u63a7 Java \u5e94\u7528\u3002
    "},{"location":"admin/insight/infra/container.html#_4","title":"\u6307\u6807\u53c2\u8003\u8bf4\u660e","text":"\u6307\u6807\u540d\u79f0 \u8bf4\u660e CPU \u4f7f\u7528\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf\u4e4b\u548c\u3002 CPU \u8bf7\u6c42\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u8bf7\u6c42\u91cf\u4e4b\u548c\u3002 CPU \u9650\u5236\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u9650\u5236\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u4f7f\u7528\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u8bf7\u6c42\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u9650\u5236\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u9650\u5236\u91cf\u4e4b\u548c\u3002 \u78c1\u76d8\u8bfb\u5199\u901f\u7387 \u6307\u5b9a\u65f6\u95f4\u8303\u56f4\u5185\u78c1\u76d8\u6bcf\u79d2\u8fde\u7eed\u8bfb\u53d6\u548c\u5199\u5165\u7684\u603b\u548c\uff0c\u8868\u793a\u78c1\u76d8\u6bcf\u79d2\u8bfb\u53d6\u548c\u5199\u5165\u64cd\u4f5c\u6570\u7684\u6027\u80fd\u5ea6\u91cf\u3002 \u7f51\u7edc\u53d1\u9001\u63a5\u6536\u901f\u7387 \u6307\u5b9a\u65f6\u95f4\u8303\u56f4\u5185\uff0c\u6309\u5de5\u4f5c\u8d1f\u8f7d\u7edf\u8ba1\u7684\u7f51\u7edc\u6d41\u91cf\u7684\u6d41\u5165\u3001\u6d41\u51fa\u901f\u7387\u3002"},{"location":"admin/insight/infra/event.html","title":"\u4e8b\u4ef6\u67e5\u8be2","text":"

    AI \u7b97\u529b\u5e73\u53f0 Insight \u652f\u6301\u6309\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u67e5\u8be2\u4e8b\u4ef6\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\uff0c\u5bf9\u91cd\u8981\u4e8b\u4ef6\u8fdb\u884c\u7edf\u8ba1\u3002

    "},{"location":"admin/insight/infra/event.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002
    2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u57fa\u7840\u8bbe\u7f6e > \u4e8b\u4ef6 \u3002

    "},{"location":"admin/insight/infra/event.html#_3","title":"\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03","text":"

    \u9ed8\u8ba4\u663e\u793a\u6700\u8fd1 12 \u5c0f\u65f6\u5185\u53d1\u751f\u7684\u4e8b\u4ef6\uff0c\u60a8\u53ef\u4ee5\u5728\u53f3\u4e0a\u89d2\u9009\u62e9\u4e0d\u540c\u7684\u65f6\u95f4\u8303\u56f4\u6765\u67e5\u770b\u8f83\u957f\u6216\u8f83\u77ed\u7684\u65f6\u95f4\u6bb5\u3002 \u60a8\u8fd8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u91c7\u6837\u95f4\u9694\u4e3a 1 \u5206\u949f\u81f3 5 \u5c0f\u65f6\u3002

    \u901a\u8fc7\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\uff0c\u60a8\u53ef\u4ee5\u76f4\u89c2\u5730\u4e86\u89e3\u4e8b\u4ef6\u7684\u5bc6\u96c6\u7a0b\u5ea6\u548c\u5206\u6563\u60c5\u51b5\u3002 \u8fd9\u6709\u52a9\u4e8e\u5bf9\u540e\u7eed\u7684\u96c6\u7fa4\u8fd0\u7ef4\u8fdb\u884c\u8bc4\u4f30\uff0c\u5e76\u505a\u597d\u51c6\u5907\u548c\u5b89\u6392\u5de5\u4f5c\u3002 \u5982\u679c\u4e8b\u4ef6\u5bc6\u96c6\u53d1\u751f\u5728\u7279\u5b9a\u65f6\u6bb5\uff0c\u60a8\u53ef\u80fd\u9700\u8981\u8c03\u914d\u66f4\u591a\u7684\u8d44\u6e90\u6216\u91c7\u53d6\u76f8\u5e94\u63aa\u65bd\u6765\u786e\u4fdd\u96c6\u7fa4\u7a33\u5b9a\u6027\u548c\u9ad8\u53ef\u7528\u6027\u3002 \u800c\u5982\u679c\u4e8b\u4ef6\u8f83\u4e3a\u5206\u6563\uff0c\u5728\u6b64\u671f\u95f4\u60a8\u53ef\u4ee5\u5408\u7406\u5b89\u6392\u5176\u4ed6\u8fd0\u7ef4\u5de5\u4f5c\uff0c\u4f8b\u5982\u7cfb\u7edf\u4f18\u5316\u3001\u5347\u7ea7\u6216\u5904\u7406\u5176\u4ed6\u4efb\u52a1\u3002

    \u901a\u8fc7\u7efc\u5408\u8003\u8651\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\u548c\u65f6\u95f4\u8303\u56f4\uff0c\u60a8\u80fd\u66f4\u597d\u5730\u89c4\u5212\u548c\u7ba1\u7406\u96c6\u7fa4\u7684\u8fd0\u7ef4\u5de5\u4f5c\uff0c\u786e\u4fdd\u7cfb\u7edf\u7a33\u5b9a\u6027\u548c\u53ef\u9760\u6027\u3002

    "},{"location":"admin/insight/infra/event.html#_4","title":"\u4e8b\u4ef6\u603b\u6570\u548c\u7edf\u8ba1","text":"

    \u901a\u8fc7\u91cd\u8981\u4e8b\u4ef6\u7edf\u8ba1\uff0c\u60a8\u53ef\u4ee5\u65b9\u4fbf\u5730\u4e86\u89e3\u955c\u50cf\u62c9\u53d6\u5931\u8d25\u6b21\u6570\u3001\u5065\u5eb7\u68c0\u67e5\u5931\u8d25\u6b21\u6570\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u8fd0\u884c\u5931\u8d25\u6b21\u6570\u3001 Pod \u8c03\u5ea6\u5931\u8d25\u6b21\u6570\u3001\u5bb9\u5668 OOM \u5185\u5b58\u8017\u5c3d\u6b21\u6570\u3001\u5b58\u50a8\u5377\u6302\u8f7d\u5931\u8d25\u6b21\u6570\u4ee5\u53ca\u6240\u6709\u4e8b\u4ef6\u7684\u603b\u6570\u3002\u8fd9\u4e9b\u4e8b\u4ef6\u901a\u5e38\u5206\u4e3a\u300cWarning\u300d\u548c\u300cNormal\u300d\u4e24\u7c7b\u3002

    "},{"location":"admin/insight/infra/event.html#_5","title":"\u4e8b\u4ef6\u5217\u8868","text":"

    \u4e8b\u4ef6\u5217\u8868\u4ee5\u65f6\u95f4\u4e3a\u8f74\uff0c\u4ee5\u6d41\u6c34\u7684\u5f62\u5f0f\u5c55\u793a\u53d1\u751f\u7684\u4e8b\u4ef6\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u300c\u6700\u8fd1\u53d1\u751f\u65f6\u95f4\u300d\u548c\u300c\u7ea7\u522b\u300d\u8fdb\u884c\u6392\u5e8f\u3002

    \u70b9\u51fb\u53f3\u4fa7\u7684 \u2699\ufe0f \u56fe\u6807\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u559c\u597d\u548c\u9700\u6c42\u6765\u81ea\u5b9a\u4e49\u663e\u793a\u7684\u5217\u3002

    \u5728\u9700\u8981\u7684\u65f6\u5019\uff0c\u60a8\u8fd8\u53ef\u4ee5\u70b9\u51fb\u5237\u65b0\u56fe\u6807\u6765\u66f4\u65b0\u5f53\u524d\u7684\u4e8b\u4ef6\u5217\u8868\u3002

    "},{"location":"admin/insight/infra/event.html#_6","title":"\u5176\u4ed6\u64cd\u4f5c","text":"
    1. \u5728\u4e8b\u4ef6\u5217\u8868\u4e2d\u64cd\u4f5c\u5217\u7684\u56fe\u6807\uff0c\u53ef\u67e5\u770b\u67d0\u4e00\u4e8b\u4ef6\u7684\u5143\u6570\u636e\u4fe1\u606f\u3002

    2. \u70b9\u51fb\u9876\u90e8\u9875\u7b7e\u7684 \u4e0a\u4e0b\u6587 \u53ef\u67e5\u770b\u8be5\u4e8b\u4ef6\u5bf9\u5e94\u8d44\u6e90\u7684\u5386\u53f2\u4e8b\u4ef6\u8bb0\u5f55\u3002

    "},{"location":"admin/insight/infra/event.html#_7","title":"\u53c2\u8003","text":"

    \u6709\u5173\u7cfb\u7edf\u81ea\u5e26\u7684 Event \u4e8b\u4ef6\u7684\u8be6\u7ec6\u542b\u4e49\uff0c\u8bf7\u53c2\u9605 Kubenetest API \u4e8b\u4ef6\u5217\u8868\u3002

    "},{"location":"admin/insight/infra/namespace.html","title":"\u547d\u540d\u7a7a\u95f4\u76d1\u63a7","text":"

    \u4ee5\u547d\u540d\u7a7a\u95f4\u4e3a\u7ef4\u5ea6\uff0c\u5feb\u901f\u67e5\u8be2\u547d\u540d\u7a7a\u95f4\u5185\u7684\u8d44\u6e90\u6d88\u8017\u548c\u53d8\u5316\u8d8b\u52bf\u3002

    "},{"location":"admin/insight/infra/namespace.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

    "},{"location":"admin/insight/infra/namespace.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

    2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd > \u547d\u540d\u7a7a\u95f4 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

      1. \u5207\u6362\u547d\u540d\u7a7a\u95f4\uff1a\u5728\u9876\u90e8\u5207\u6362\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\uff1b
      2. \u8d44\u6e90\u6982\u89c8\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6b63\u5e38\u548c\u5168\u90e8\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u91cf\uff1b
      3. \u6545\u969c\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
      4. \u4e8b\u4ef6\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b 24 \u5c0f\u65f6\u5185 Warning \u7ea7\u522b\u7684\u4e8b\u4ef6\u6570\u91cf\uff1b
      5. \u8d44\u6e90\u6d88\u8017\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u5bb9\u5668\u7ec4\u7684 CPU\u3001\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c \u53ca CPU\u3001\u5185\u5b58\u914d\u989d\u60c5\u51b5\u3002

    "},{"location":"admin/insight/infra/namespace.html#_4","title":"\u6307\u6807\u8bf4\u660e","text":"\u6307\u6807\u540d \u8bf4\u660e CPU \u4f7f\u7528\u91cf \u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e2d\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf\u4e4b\u548c \u5185\u5b58\u4f7f\u7528\u91cf \u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e2d\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c \u5bb9\u5668\u7ec4 CPU \u4f7f\u7528\u91cf \u547d\u540d\u7a7a\u95f4\u4e2d\u5404\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf \u5bb9\u5668\u7ec4\u5185\u5b58\u4f7f\u7528\u91cf \u547d\u540d\u7a7a\u95f4\u4e2d\u5404\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf"},{"location":"admin/insight/infra/node.html","title":"\u8282\u70b9\u76d1\u63a7","text":"

    \u901a\u8fc7\u8282\u70b9\u76d1\u63a7\uff0c\u4f60\u53ef\u4ee5\u6982\u89c8\u6240\u9009\u96c6\u7fa4\u4e0b\u8282\u70b9\u7684\u5f53\u524d\u5065\u5eb7\u72b6\u6001\u3001\u5bf9\u5e94\u5bb9\u5668\u7ec4\u7684\u5f02\u5e38\u6570\u91cf\uff1b \u5728\u5f53\u524d\u8282\u70b9\u8be6\u60c5\u9875\uff0c\u4f60\u53ef\u4ee5\u67e5\u770b\u6b63\u5728\u544a\u8b66\u7684\u6570\u91cf\u4ee5\u53ca CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7b49\u8d44\u6e90\u6d88\u8017\u7684\u53d8\u5316\u8d8b\u52bf\u56fe\u3002

    "},{"location":"admin/insight/infra/node.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

    "},{"location":"admin/insight/infra/node.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

    2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u8282\u70b9 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

      • \u96c6\u7fa4\u5207\u6362 \uff1a\u5207\u6362\u9876\u90e8\u7684\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\uff1b
      • \u8282\u70b9\u5217\u8868 \uff1a\u6240\u9009\u96c6\u7fa4\u4e2d\u7684\u8282\u70b9\u5217\u8868\uff0c\u5355\u51fb\u5207\u6362\u8282\u70b9\u3002
      • \u6545\u969c \uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
      • \u8d44\u6e90\u6d88\u8017 \uff1a\u6240\u9009\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7684\u5b9e\u9645\u4f7f\u7528\u91cf\u548c\u603b\u91cf\uff1b
      • \u6307\u6807\u8bf4\u660e \uff1a\u6240\u9009\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u8bfb\u5199\u3001\u7f51\u7edc\u63a5\u6536\u53d1\u9001\u7684\u53d8\u5316\u8d8b\u52bf\u3002

    3. \u5207\u6362\u5230 \u8d44\u6e90\u6c34\u4f4d\u7ebf\u76d1\u63a7 \u9875\u7b7e\uff0c\u53ef\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684\u66f4\u591a\u76d1\u63a7\u6570\u636e\u3002

    "},{"location":"admin/insight/infra/probe.html","title":"\u62e8\u6d4b","text":"

    \u62e8\u6d4b\uff08Probe\uff09\u6307\u7684\u662f\u57fa\u4e8e\u9ed1\u76d2\u76d1\u63a7\uff0c\u5b9a\u671f\u901a\u8fc7 HTTP\u3001TCP \u7b49\u65b9\u5f0f\u5bf9\u76ee\u6807\u8fdb\u884c\u8fde\u901a\u6027\u6d4b\u8bd5\uff0c\u5feb\u901f\u53d1\u73b0\u6b63\u5728\u53d1\u751f\u7684\u6545\u969c\u3002

    Insight \u57fa\u4e8e Prometheus Blackbox Exporter \u5de5\u5177\u901a\u8fc7 HTTP\u3001HTTPS\u3001DNS\u3001TCP \u548c ICMP \u7b49\u534f\u8bae\uff0c\u5bf9\u7f51\u7edc\u8fdb\u884c\u63a2\u6d4b\u5e76\u8fd4\u56de\u63a2\u6d4b\u7ed3\u679c\u4ee5\u4fbf\u4e86\u89e3\u7f51\u7edc\u72b6\u6001\u3002

    "},{"location":"admin/insight/infra/probe.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u76ee\u6807\u96c6\u7fa4\u4e2d\u5df2\u6210\u529f\u90e8\u7f72 insight-agent\uff0c\u4e14\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

    "},{"location":"admin/insight/infra/probe.html#_3","title":"\u67e5\u770b\u62e8\u6d4b\u4efb\u52a1","text":"
    1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff1b
    2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u62e8\u6d4b\u3002

      • \u70b9\u51fb\u8868\u683c\u4e2d\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u4e0b\u62c9\u6846\uff0c\u53ef\u5207\u6362\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4
      • \u4f60\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u2699\ufe0f \u4fee\u6539\u663e\u793a\u7684\u5217\uff0c\u9ed8\u8ba4\u4e3a\u62e8\u6d4b\u540d\u79f0\u3001\u63a2\u6d4b\u65b9\u5f0f\u3001\u63a2\u6d4b\u76ee\u6807\u3001\u8fde\u901a\u72b6\u6001\u3001\u521b\u5efa\u65f6\u95f4
      • \u8fde\u901a\u72b6\u6001\u6709 3 \u79cd\uff1a
        • \u6b63\u5e38\uff1aProbe \u6210\u529f\u8fde\u63a5\u5230\u4e86\u76ee\u6807\uff0c\u76ee\u6807\u8fd4\u56de\u4e86\u9884\u671f\u7684\u54cd\u5e94
        • \u5f02\u5e38\uff1aProbe \u65e0\u6cd5\u8fde\u63a5\u5230\u76ee\u6807\uff0c\u6216\u76ee\u6807\u6ca1\u6709\u8fd4\u56de\u9884\u671f\u7684\u54cd\u5e94
        • Pending\uff1aProbe \u6b63\u5728\u5c1d\u8bd5\u8fde\u63a5\u76ee\u6807
      • \u4f60\u53ef\u4ee5\u5728 \ud83d\udd0d \u641c\u7d22\u6846\u4e2d\u952e\u5165\u540d\u79f0\uff0c\u6a21\u7cca\u641c\u7d22\u67d0\u4e9b\u62e8\u6d4b\u4efb\u52a1

    "},{"location":"admin/insight/infra/probe.html#_4","title":"\u521b\u5efa\u62e8\u6d4b\u4efb\u52a1","text":"
    1. \u70b9\u51fb \u521b\u5efa\u62e8\u6d4b\u4efb\u52a1\u3002
    2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

      • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u62e8\u6d4b\u7684\u96c6\u7fa4
      • \u547d\u540d\u7a7a\u95f4\uff1a\u62e8\u6d4b\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

    3. \u914d\u7f6e\u63a2\u6d4b\u53c2\u6570\u3002

      • Blackbox \u5b9e\u4f8b\uff1a\u9009\u62e9\u8d1f\u8d23\u63a2\u6d4b\u7684 blackbox \u5b9e\u4f8b
      • \u63a2\u6d4b\u65b9\u5f0f\uff1a
        • HTTP\uff1a\u901a\u8fc7\u53d1\u9001 HTTP \u6216 HTTPS \u8bf7\u6c42\u5230\u76ee\u6807 URL\uff0c\u68c0\u6d4b\u5176\u8fde\u901a\u6027\u548c\u54cd\u5e94\u65f6\u95f4\uff0c\u8fd9\u53ef\u4ee5\u7528\u4e8e\u76d1\u6d4b\u7f51\u7ad9\u6216 Web \u5e94\u7528\u7684\u53ef\u7528\u6027\u548c\u6027\u80fd
        • TCP\uff1a\u901a\u8fc7\u5efa\u7acb\u5230\u76ee\u6807\u4e3b\u673a\u548c\u7aef\u53e3\u7684 TCP \u8fde\u63a5\uff0c\u68c0\u6d4b\u5176\u8fde\u901a\u6027\u548c\u54cd\u5e94\u65f6\u95f4\u3002\u8fd9\u53ef\u4ee5\u7528\u4e8e\u76d1\u6d4b\u57fa\u4e8e TCP \u7684\u670d\u52a1\uff0c\u5982 Web \u670d\u52a1\u5668\u3001\u6570\u636e\u5e93\u670d\u52a1\u5668\u7b49
        • \u5176\u4ed6\uff1a\u652f\u6301\u901a\u8fc7\u914d\u7f6e ConfigMap \u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f\uff0c\u53ef\u53c2\u8003\u81ea\u5b9a\u4e49\u62e8\u6d4b\u65b9\u5f0f
      • \u63a2\u6d4b\u76ee\u6807\uff1a\u63a2\u6d4b\u7684\u76ee\u6807\u5730\u5740\uff0c\u652f\u6301\u57df\u540d\u6216 IP \u5730\u5740\u7b49
      • \u6807\u7b7e\uff1a\u81ea\u5b9a\u4e49\u6807\u7b7e\uff0c\u8be5\u6807\u7b7e\u4f1a\u81ea\u52a8\u6dfb\u52a0\u5230 Prometheus \u7684 Label \u4e2d
      • \u63a2\u6d4b\u95f4\u9694\uff1a\u63a2\u6d4b\u95f4\u9694\u65f6\u95f4
      • \u63a2\u6d4b\u8d85\u65f6\uff1a\u63a2\u6d4b\u76ee\u6807\u65f6\u7684\u6700\u957f\u7b49\u5f85\u65f6\u95f4

    4. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

    Warning

    \u62e8\u6d4b\u4efb\u52a1\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u9700\u8981\u5927\u6982 3 \u5206\u949f\u7684\u65f6\u95f4\u6765\u540c\u6b65\u914d\u7f6e\u3002\u5728\u6b64\u671f\u95f4\uff0c\u4e0d\u4f1a\u8fdb\u884c\u63a2\u6d4b\uff0c\u65e0\u6cd5\u67e5\u770b\u63a2\u6d4b\u7ed3\u679c\u3002

    "},{"location":"admin/insight/infra/probe.html#_5","title":"\u7f16\u8f91\u62e8\u6d4b\u4efb\u52a1","text":"

    \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 -> \u7f16\u8f91\uff0c\u5b8c\u6210\u7f16\u8f91\u540e\u70b9\u51fb \u786e\u5b9a\u3002

    "},{"location":"admin/insight/infra/probe.html#_6","title":"\u67e5\u770b\u76d1\u63a7\u9762\u677f","text":"

    \u70b9\u51fb\u62e8\u6d4b\u540d\u79f0 \u67e5\u770b\u62e8\u6d4b\u4efb\u52a1\u4e2d\u6bcf\u4e2a\u76ee\u6807\u7684\u76d1\u63a7\u72b6\u6001\uff0c\u4ee5\u56fe\u8868\u65b9\u5f0f\u663e\u793a\u9488\u5bf9\u7f51\u7edc\u72b6\u51b5\u7684\u63a2\u6d4b\u7ed3\u679c\u3002

    \u6307\u6807\u540d\u79f0 \u63cf\u8ff0 Current Status Response \u8868\u793a HTTP \u63a2\u6d4b\u8bf7\u6c42\u7684\u54cd\u5e94\u72b6\u6001\u7801\u3002 Ping Status \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u662f\u5426\u6210\u529f\u30021 \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u6210\u529f\uff0c0 \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u5931\u8d25\u3002 IP Protocol \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u4f7f\u7528\u7684 IP \u534f\u8bae\u7248\u672c\u3002 SSL Expiry \u8868\u793a SSL/TLS \u8bc1\u4e66\u7684\u6700\u65e9\u5230\u671f\u65f6\u95f4\u3002 DNS Response (Latency) \u8868\u793a\u6574\u4e2a\u63a2\u6d4b\u8fc7\u7a0b\u7684\u6301\u7eed\u65f6\u95f4\uff0c\u5355\u4f4d\u662f\u79d2\u3002 HTTP Duration \u8868\u793a\u4ece\u53d1\u9001\u8bf7\u6c42\u5230\u63a5\u6536\u5230\u5b8c\u6574\u54cd\u5e94\u7684\u6574\u4e2a\u8fc7\u7a0b\u7684\u65f6\u95f4\u3002"},{"location":"admin/insight/infra/probe.html#_7","title":"\u5220\u9664\u62e8\u6d4b\u4efb\u52a1","text":"

    \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 -> \u5220\u9664\uff0c\u786e\u8ba4\u65e0\u8bef\u540e\u70b9\u51fb \u786e\u5b9a\u3002

    Caution

    \u5220\u9664\u64cd\u4f5c\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

    "},{"location":"admin/insight/quickstart/install/index.html","title":"\u5f00\u59cb\u89c2\u6d4b","text":"

    AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u5b9e\u73b0\u4e86\u5bf9\u591a\u4e91\u591a\u96c6\u7fa4\u7684\u7eb3\u7ba1\uff0c\u5e76\u652f\u6301\u521b\u5efa\u96c6\u7fa4\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u7edf\u4e00\u89c2\u6d4b\u65b9\u6848\uff0c\u901a\u8fc7\u90e8\u7f72 insight-agent \u63d2\u4ef6\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u91c7\u96c6\uff0c\u5e76\u652f\u6301\u901a\u8fc7 AI \u7b97\u529b\u4e2d\u5fc3 \u53ef\u89c2\u6d4b\u6027\u4ea7\u54c1\u5b9e\u73b0\u5bf9\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u6570\u636e\u7684\u67e5\u8be2\u3002

    insight-agent \u662f\u53ef\u89c2\u6d4b\u6027\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u6570\u636e\u91c7\u96c6\u7684\u5de5\u5177\uff0c\u5b89\u88c5\u540e\u65e0\u9700\u4efb\u4f55\u4fee\u6539\uff0c\u5373\u53ef\u5b9e\u73b0\u5bf9\u6307\u6807\u3001\u65e5\u5fd7\u4ee5\u53ca\u94fe\u8def\u6570\u636e\u7684\u81ea\u52a8\u5316\u91c7\u96c6\u3002

    \u901a\u8fc7 \u5bb9\u5668\u7ba1\u7406 \u521b\u5efa\u7684\u96c6\u7fa4\u9ed8\u8ba4\u4f1a\u5b89\u88c5 insight-agent\uff0c\u6545\u5728\u6b64\u4ec5\u9488\u5bf9\u63a5\u5165\u7684\u96c6\u7fa4\u5982\u4f55\u5f00\u542f\u89c2\u6d4b\u80fd\u529b\u63d0\u4f9b\u6307\u5bfc\u3002

    • \u5728\u7ebf\u5b89\u88c5 insight-agent

    \u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u7684\u7edf\u4e00\u89c2\u6d4b\u5e73\u53f0\uff0c\u5176\u90e8\u5206\u7ec4\u4ef6\u7684\u8d44\u6e90\u6d88\u8017\u4e0e\u521b\u5efa\u96c6\u7fa4\u7684\u6570\u636e\u3001\u63a5\u5165\u96c6\u7fa4\u7684\u6570\u91cf\u606f\u606f\u76f8\u5173\uff0c\u5728\u5b89\u88c5 insight-agent \u65f6\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u5bf9\u76f8\u5e94\u7ec4\u4ef6\u7684\u8d44\u6e90\u8fdb\u884c\u8c03\u6574\u3002

    1. \u6839\u636e\u521b\u5efa\u96c6\u7fa4\u7684\u89c4\u6a21\u6216\u63a5\u5165\u96c6\u7fa4\u7684\u89c4\u6a21\uff0c\u8c03\u6574 insight-agent \u4e2d\u91c7\u96c6\u7ec4\u4ef6 Prometheus \u7684 CPU \u548c\u5185\u5b58\uff0c\u8bf7\u53c2\u8003: Prometheus \u8d44\u6e90\u89c4\u5212

    2. \u7531\u4e8e\u591a\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u4f1a\u7edf\u4e00\u5b58\u50a8\uff0c\u5219\u9700\u8981 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u7ba1\u7406\u5458\u6839\u636e\u521b\u5efa\u96c6\u7fa4\u7684\u89c4\u6a21\u3001\u63a5\u5165\u96c6\u7fa4\u7684\u89c4\u6a21\u5bf9\u5e94\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\uff0c\u8bf7\u53c2\u8003\uff1avmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212\u3002

    3. \u5982\u4f55\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\uff0c\u8bf7\u53c2\u8003\uff1avmstorge \u78c1\u76d8\u6269\u5bb9\u3002

    \u7531\u4e8e AI \u7b97\u529b\u4e2d\u5fc3 \u652f\u6301\u5bf9\u591a\u4e91\u591a\u96c6\u7fa4\u7684\u7eb3\u7ba1\uff0cinsight-agent \u76ee\u524d\u4e5f\u5b8c\u6210\u4e86\u90e8\u5206\u9a8c\u8bc1\uff0c\u7531\u4e8e\u76d1\u63a7\u7ec4\u4ef6\u51b2\u7a81\u95ee\u9898\u5bfc\u81f4\u5728 DCE 4.0 \u96c6\u7fa4\u548c Openshift 4.x \u96c6\u7fa4\u4e2d\u5b89\u88c5 insight-agent \u4f1a\u51fa\u73b0\u95ee\u9898\uff0c\u82e5\u60a8\u9047\u5230\u540c\u6837\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6587\u6863\uff1a

    • \u5728 DCE 4.0.x \u5b89\u88c5 insight-agent
    • \u5728 Openshift 4.x \u5b89\u88c5 insight-agent
    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html","title":"\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f","text":"

    \u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e3a\u4e86\u63d0\u9ad8\u5927\u89c4\u6a21\u73af\u5883\u4e0b\u7684\u6570\u636e\u5199\u5165\u80fd\u529b\uff0c\u652f\u6301\u5c06\u65e5\u5fd7\u5207\u6362\u4e3a \u5927\u65e5\u5fd7 \u6a21\u5f0f\u3001\u5c06\u94fe\u8def\u5207\u6362\u4e3a \u5927\u94fe\u8def \u6a21\u5f0f\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u4ee5\u4e0b\u51e0\u79cd\u5f00\u542f\u65b9\u5f0f\uff1a

    • \u901a\u8fc7\u5b89\u88c5\u5668\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\uff08\u901a\u8fc7 manifest.yaml \u4e2d\u540c\u4e00\u4e2a\u53c2\u6570\u503c\u63a7\u5236\uff09
    • \u901a\u8fc7 Helm \u547d\u4ee4\u624b\u52a8\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f
    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_2","title":"\u65e5\u5fd7","text":"

    \u672c\u8282\u8bf4\u660e\u666e\u901a\u65e5\u5fd7\u6a21\u5f0f\u548c\u5927\u65e5\u5fd7\u6a21\u5f0f\u7684\u533a\u522b\u3002

    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_3","title":"\u65e5\u5fd7\u6a21\u5f0f","text":"

    \u7ec4\u4ef6\uff1aFluentbit + Elasticsearch

    \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a ES \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_4","title":"\u5927\u65e5\u5fd7\u6a21\u5f0f","text":"

    \u7ec4\u4ef6\uff1aFluentbit + Kafka + Vector + Elasticsearch

    \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a Kafka \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_5","title":"\u94fe\u8def","text":"

    \u672c\u8282\u8bf4\u660e\u666e\u901a\u94fe\u8def\u6a21\u5f0f\u548c\u5927\u94fe\u8def\u6a21\u5f0f\u7684\u533a\u522b\u3002

    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_6","title":"\u94fe\u8def\u6a21\u5f0f","text":"

    \u7ec4\u4ef6\uff1aAgent opentelemetry-collector + Global opentelemetry-collector + Jaeger-collector + Elasticsearch

    \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a OTlp \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_7","title":"\u5927\u94fe\u8def\u6a21\u5f0f","text":"

    \u7ec4\u4ef6\uff1aAgent opentelemetry-collector + Kafka + Global opentelemetry-collector + Jaeger-collector + Elasticsearch

    \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a Kafka \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_8","title":"\u901a\u8fc7\u5b89\u88c5\u5668\u5f00\u542f","text":"

    \u901a\u8fc7\u5b89\u88c5\u5668\u90e8\u7f72/\u5347\u7ea7 AI \u7b97\u529b\u4e2d\u5fc3 \u65f6\u4f7f\u7528\u7684 manifest.yaml \u4e2d\u5b58\u5728 infrastructures.kafka \u5b57\u6bb5\uff0c \u5982\u679c\u60f3\u5f00\u542f\u53ef\u89c2\u6d4b\u7684\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\uff0c\u5219\u9700\u8981\u542f\u7528 kafka\uff1a

    manifest.yaml
    apiVersion: manifest.daocloud.io/v1alpha1\nkind: DCEManifest\n...\ninfrastructures:\n  ...\n  kafka:\n    enable: true # \u9ed8\u8ba4\u4e3a false\n    cpuLimit: 1\n    memLimit: 2Gi\n    pvcSize: 15Gi\n
    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_9","title":"\u5f00\u542f","text":"

    \u5b89\u88c5\u65f6\u4f7f\u7528\u542f\u7528 kafka \u7684 manifest.yaml\uff0c\u5219\u4f1a\u9ed8\u8ba4\u5b89\u88c5 kafka \u4e2d\u95f4\u4ef6\uff0c \u5e76\u5728\u5b89\u88c5 Insight \u65f6\u9ed8\u8ba4\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\u3002\u5b89\u88c5\u547d\u4ee4\u4e3a\uff1a

    ./dce5-installer cluster-create -c clusterConfig.yaml -m manifest.yaml\n
    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_10","title":"\u5347\u7ea7","text":"

    \u5347\u7ea7\u540c\u6837\u662f\u4fee\u6539 kafka \u5b57\u6bb5\u3002\u4f46\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u56e0\u4e3a\u8001\u73af\u5883\u5b89\u88c5\u65f6\u4f7f\u7528\u7684\u662f kafka: false\uff0c \u6240\u4ee5\u73af\u5883\u4e2d\u65e0 kafka\u3002\u6b64\u65f6\u5347\u7ea7\u9700\u8981\u6307\u5b9a\u5347\u7ea7 middleware\uff0c\u624d\u4f1a\u540c\u65f6\u5b89\u88c5 kafka \u4e2d\u95f4\u4ef6\u3002\u5347\u7ea7\u547d\u4ee4\u4e3a\uff1a

    ./dce5-installer cluster-create -c clusterConfig.yaml -m manifest.yaml -u gproduct,middleware\n

    Note

    \u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u8981\u624b\u52a8\u91cd\u542f\u4ee5\u4e0b\u7ec4\u4ef6\uff1a

    • insight-agent-fluent-bit
    • insight-agent-opentelemetry-collector
    • insight-opentelemetry-collector
    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#helm","title":"\u901a\u8fc7 Helm \u547d\u4ee4\u5f00\u542f","text":"

    \u524d\u63d0\u6761\u4ef6\uff1a\u9700\u8981\u4fdd\u8bc1\u5b58\u5728 \u53ef\u7528\u7684 kafka \u4e14\u5730\u5740\u53ef\u6b63\u5e38\u8bbf\u95ee\u3002

    \u6839\u636e\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6\u8001\u7248\u672c insight \u548c insight-agent \u7684 values\uff08\u5efa\u8bae\u505a\u597d\u5907\u4efd\uff09\uff1a

    helm get values insight -n insight-system -o yaml > insight.yaml\nhelm get values insight-agent -n insight-system -o yaml > insight-agent.yaml\n
    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_11","title":"\u5f00\u542f\u5927\u65e5\u5fd7","text":"

    \u6709\u4ee5\u4e0b\u51e0\u79cd\u65b9\u5f0f\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u65e5\u5fd7\u6a21\u5f0f\uff1a

    \u5728 helm upgrade \u547d\u4ee4\u4e2d\u4f7f\u7528 --set\u4fee\u6539 YAML \u540e\u8fd0\u884c helm upgrade\u5bb9\u5668\u7ba1\u7406 UI \u5347\u7ea7

    \u5148\u8fd0\u884c\u4ee5\u4e0b insight \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

    helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --set global.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.kafka.enabled=true \\\n  --set vector.enabled=true \\\n  --version 0.30.1\n

    \u7136\u540e\u8fd0\u884c\u4ee5\u4e0b insight-agent \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

    helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --set global.exporters.logging.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.exporters.logging.output=kafka \\\n  --version 0.30.1\n

    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539 YAMl \u540e\u8fd0\u884c helm upgrade \u547d\u4ee4\uff1a

    1. \u4fee\u6539 insight.yaml

      insight.yaml
      global:\n  ...\n  kafka:\n    brokers: 10.6.216.111:30592\n    enabled: true\n...\nvector:\n  enabled: true\n
    2. \u5347\u7ea7 insight \u7ec4\u4ef6\uff1a

      helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --version 0.30.1\n
    3. \u4fee\u6539 insight-agent.yaml

      insight-agent.yaml
      global:\n  ...\n  exporters:\n    ...\n    logging:\n      ...\n      kafka:\n        brokers: 10.6.216.111:30592\n      output: kafka\n
    4. \u5347\u7ea7 insight-agent\uff1a

      helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --version 0.30.1\n

    \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u627e\u5230\u5bf9\u5e94\u7684\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u627e\u5230\u5e76\u66f4\u65b0 insight-agent\u3002

    \u5728 Logging Settings \u4e2d\uff0c\u4e3a output \u9009\u62e9 kafka\uff0c\u5e76\u586b\u5199\u6b63\u786e\u7684 brokers \u5730\u5740\u3002

    \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u624b\u52a8\u91cd\u542f insight-agent-fluent-bit \u7ec4\u4ef6\u3002

    "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_12","title":"\u5f00\u542f\u5927\u94fe\u8def","text":"

    \u6709\u4ee5\u4e0b\u51e0\u79cd\u65b9\u5f0f\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u94fe\u8def\u6a21\u5f0f\uff1a

    \u5728 helm upgrade \u547d\u4ee4\u4e2d\u4f7f\u7528 --set\u4fee\u6539 YAML \u540e\u8fd0\u884c helm upgrade\u5bb9\u5668\u7ba1\u7406 UI \u5347\u7ea7

    \u5148\u8fd0\u884c\u4ee5\u4e0b insight \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

    helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --set global.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.kafka.enabled=true \\\n  --set global.tracing.kafkaReceiver.enabled=true \\\n  --version 0.30.1\n

    \u7136\u540e\u8fd0\u884c\u4ee5\u4e0b insight-agent \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

    helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --set global.exporters.trace.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.exporters.trace.output=kafka \\\n  --version 0.30.1\n

    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539 YAMl \u540e\u8fd0\u884c helm upgrade \u547d\u4ee4\uff1a

    1. \u4fee\u6539 insight.yaml

      insight.yaml
      global:\n  ...\n  kafka:\n    brokers: 10.6.216.111:30592\n    enabled: true\n...\ntracing:\n  ...\n  kafkaReceiver:\n    enabled: true\n
    2. \u5347\u7ea7 insight \u7ec4\u4ef6\uff1a

      helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --version 0.30.1\n
    3. \u4fee\u6539 insight-agent.yaml

      insight-agent.yaml
      global:\n  ...\n  exporters:\n    ...\n    trace:\n      ...\n      kafka:\n        brokers: 10.6.216.111:30592\n      output: kafka\n
    4. \u5347\u7ea7 insight-agent\uff1a

      helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --version 0.30.1\n

    \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u627e\u5230\u5bf9\u5e94\u7684\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u627e\u5230\u5e76\u66f4\u65b0 insight-agent\u3002

    \u5728 Trace Settings \u4e2d\uff0c\u4e3a output \u9009\u62e9 kafka\uff0c\u5e76\u586b\u5199\u6b63\u786e\u7684 brokers \u5730\u5740\u3002

    \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u624b\u52a8 \u91cd\u542f insight-agent-opentelemetry-collector \u548c insight-opentelemetry-collector \u7ec4\u4ef6\u3002

    "},{"location":"admin/insight/quickstart/install/component-scheduling.html","title":"\u81ea\u5b9a\u4e49 Insight \u7ec4\u4ef6\u8c03\u5ea6\u7b56\u7565","text":"

    \u5f53\u90e8\u7f72\u53ef\u89c2\u6d4b\u5e73\u53f0 Insight \u5230 Kubernetes \u73af\u5883\u65f6\uff0c\u6b63\u786e\u7684\u8d44\u6e90\u7ba1\u7406\u548c\u4f18\u5316\u81f3\u5173\u91cd\u8981\u3002 Insight \u5305\u542b\u591a\u4e2a\u6838\u5fc3\u7ec4\u4ef6\uff0c\u5982 Prometheus\u3001OpenTelemetry\u3001FluentBit\u3001Vector\u3001Elasticsearch \u7b49\uff0c \u8fd9\u4e9b\u7ec4\u4ef6\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u53ef\u80fd\u56e0\u4e3a\u8d44\u6e90\u5360\u7528\u95ee\u9898\u5bf9\u96c6\u7fa4\u5185\u5176\u4ed6 Pod \u7684\u6027\u80fd\u4ea7\u751f\u8d1f\u9762\u5f71\u54cd\u3002 \u4e3a\u4e86\u6709\u6548\u5730\u7ba1\u7406\u8d44\u6e90\u5e76\u4f18\u5316\u96c6\u7fa4\u7684\u8fd0\u884c\uff0c\u8282\u70b9\u4eb2\u548c\u6027\u6210\u4e3a\u4e00\u9879\u91cd\u8981\u7684\u914d\u7f6e\u9009\u9879\u3002

    \u672c\u6587\u5c06\u91cd\u70b9\u63a2\u8ba8\u5982\u4f55\u901a\u8fc7\u6c61\u70b9\u548c\u8282\u70b9\u4eb2\u548c\u6027\u7684\u914d\u7f6e\u7b56\u7565\uff0c\u4f7f\u5f97\u6bcf\u4e2a\u7ec4\u4ef6\u80fd\u591f\u5728\u9002\u5f53\u7684\u8282\u70b9\u4e0a\u8fd0\u884c\uff0c \u5e76\u907f\u514d\u8d44\u6e90\u7ade\u4e89\u6216\u4e89\u7528\uff0c\u4ece\u800c\u786e\u4fdd\u6574\u4e2a Kubernetes \u96c6\u7fa4\u7684\u7a33\u5b9a\u6027\u548c\u9ad8\u6548\u6027\u3002

    "},{"location":"admin/insight/quickstart/install/component-scheduling.html#insight_1","title":"\u901a\u8fc7\u6c61\u70b9\u4e3a Insight \u914d\u7f6e\u4e13\u6709\u8282\u70b9","text":"

    \u7531\u4e8e Insight Agent \u5305\u542b\u4e86 DaemonSet \u7ec4\u4ef6\uff0c\u6240\u4ee5\u672c\u8282\u6240\u8ff0\u7684\u914d\u7f6e\u65b9\u5f0f\u662f\u8ba9\u9664\u4e86 Insight DameonSet \u4e4b\u5916\u7684\u5176\u4f59\u7ec4\u4ef6\u5747\u8fd0\u884c\u5728\u4e13\u6709\u8282\u70b9\u4e0a\u3002

    \u8be5\u65b9\u5f0f\u662f\u901a\u8fc7\u4e3a\u4e13\u6709\u8282\u70b9\u6dfb\u52a0\u6c61\u70b9\uff08taint\uff09\uff0c\u5e76\u914d\u5408\u6c61\u70b9\u5bb9\u5fcd\u5ea6\uff08tolerations\uff09\u6765\u5b9e\u73b0\u7684\u3002 \u66f4\u591a\u7ec6\u8282\u53ef\u4ee5\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u3002

    \u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u547d\u4ee4\u4e3a\u8282\u70b9\u6dfb\u52a0\u53ca\u79fb\u9664\u6c61\u70b9\uff1a

    # \u6dfb\u52a0\u6c61\u70b9\nkubectl taint nodes worker1 node.daocloud.io=insight-only:NoSchedule\n\n# \u79fb\u9664\u6c61\u70b9\nkubectl taint nodes worker1 node.daocloud.io:NoSchedule-\n

    \u6709\u4ee5\u4e0b\u4e24\u79cd\u9014\u5f84\u8ba9 Insight \u7ec4\u4ef6\u8c03\u5ea6\u81f3\u4e13\u6709\u8282\u70b9\uff1a

    "},{"location":"admin/insight/quickstart/install/component-scheduling.html#1","title":"1. \u4e3a\u6bcf\u4e2a\u7ec4\u4ef6\u6dfb\u52a0\u6c61\u70b9\u5bb9\u5fcd\u5ea6","text":"

    \u9488\u5bf9 insight-server \u548c insight-agent \u4e24\u4e2a Chart \u5206\u522b\u8fdb\u884c\u914d\u7f6e\uff1a

    insight-server Chart \u914d\u7f6einsight-agent Chart \u914d\u7f6e
    server:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nui:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nrunbook:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\n# mysql:\nvictoria-metrics-k8s-stack:\n  victoria-metrics-operator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  vmcluster:\n    spec:\n      vmstorage:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n      vmselect:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n      vminsert:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n  vmalert:\n    spec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n  alertmanager:\n    spec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n\njaeger:\n  collector:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  query:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n\nopentelemetry-collector-aggregator:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nopentelemetry-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\ngrafana-operator:\n  operator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  grafana:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\nkibana:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nelastic-alert:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nvector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n
    kube-prometheus-stack:\n  prometheus:\n    prometheusSpec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n  prometheus-node-exporter:\n    tolerations:\n      - effect: NoSchedule\n        operator: Exists\n  prometheusOperator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n\nkube-state-metrics:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-operator:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\ntailing-sidecar-operator:\n  operator:\n    tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-kubernetes-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nprometheus-blackbox-exporter:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\netcd-exporter:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\" \n
    "},{"location":"admin/insight/quickstart/install/component-scheduling.html#2","title":"2. \u901a\u8fc7\u547d\u540d\u7a7a\u95f4\u7ea7\u522b\u914d\u7f6e","text":"

    \u8ba9 insight-system \u547d\u540d\u7a7a\u95f4\u7684 Pod \u90fd\u5bb9\u5fcd node.daocloud.io=insight-only \u6c61\u70b9\u3002

    1. \u8c03\u6574 apiserver \u7684\u914d\u7f6e\u6587\u4ef6 /etc/kubernetes/manifests/kube-apiserver.yaml\uff0c\u653e\u5f00 PodTolerationRestriction,PodNodeSelector, \u53c2\u8003\u4e0b\u56fe\uff1a

    2. \u7ed9 insight-system \u547d\u540d\u7a7a\u95f4\u589e\u52a0\u6ce8\u89e3\uff1a

      apiVersion: v1\nkind: Namespace\nmetadata:\n  name: insight-system\n  annotations:\n    scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Equal\", \"effect\": \"NoSchedule\", \"key\": \"node.daocloud.io\", \"value\": \"insight-only\"}]'\n

    \u91cd\u542f insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u9762\u7684\u7ec4\u4ef6\u5373\u53ef\u6b63\u5e38\u5bb9\u5fcd insight-system \u4e0b\u7684 Pod \u8c03\u5ea6\u3002

    "},{"location":"admin/insight/quickstart/install/component-scheduling.html#label","title":"\u4e3a\u8282\u70b9\u6dfb\u52a0 Label \u548c\u8282\u70b9\u4eb2\u548c\u6027\u6765\u7ba1\u7406\u7ec4\u4ef6\u8c03\u5ea6","text":"

    Info

    \u8282\u70b9\u4eb2\u548c\u6027\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e nodeSelector\uff0c\u5b83\u4f7f\u4f60\u53ef\u4ee5\u6839\u636e\u8282\u70b9\u4e0a\u7684 \u6807\u7b7e(label) \u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002 \u8282\u70b9\u4eb2\u548c\u6027\u6709\u4e24\u79cd\uff1a

    1. requiredDuringSchedulingIgnoredDuringExecution\uff1a\u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector\uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002
    2. preferredDuringSchedulingIgnoredDuringExecution\uff1a\u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002

    \u66f4\u8fc7\u7ec6\u8282\u8bf7\u53c2\u8003 kubernetes \u5b98\u65b9\u6587\u6863\u3002

    \u4e3a\u4e86\u5b9e\u73b0\u4e0d\u540c\u7528\u6237\u5bf9 Insight \u7ec4\u4ef6\u8c03\u5ea6\u7684\u7075\u6d3b\u9700\u6c42\uff0cInsight \u5206\u522b\u63d0\u4f9b\u4e86\u8f83\u4e3a\u7ec6\u7c92\u5ea6\u7684 Label \u6765\u5b9e\u73b0\u4e0d\u540c\u7ec4\u4ef6\u7684\u8c03\u5ea6\u7b56\u7565\uff0c\u4ee5\u4e0b\u662f\u6807\u7b7e\u4e0e\u7ec4\u4ef6\u7684\u5173\u7cfb\u8bf4\u660e\uff1a

    \u6807\u7b7e Key \u6807\u7b7e Value \u8bf4\u660e node.daocloud.io/insight-any \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u4ee3\u8868 Insight \u6240\u6709\u7ec4\u4ef6\u4f18\u5148\u8003\u8651\u5e26\u4e86\u8be5\u6807\u7b7e\u7684\u8282\u70b9 node.daocloud.io/insight-prometheus \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 Prometheus \u7ec4\u4ef6 node.daocloud.io/insight-vmstorage \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 VictoriaMetrics vmstorage \u7ec4\u4ef6 node.daocloud.io/insight-vector \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 Vector \u7ec4\u4ef6 node.daocloud.io/insight-otel-col \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 OpenTelemetry \u7ec4\u4ef6

    \u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u547d\u4ee4\u4e3a\u8282\u70b9\u6dfb\u52a0\u53ca\u79fb\u9664\u6807\u7b7e\uff1a

    # \u4e3a node8 \u6dfb\u52a0\u6807\u7b7e\uff0c\u5148\u5c06 insight-prometheus \u8c03\u5ea6\u5230 node8 \nkubectl label nodes node8 node.daocloud.io/insight-prometheus=true\n\n# \u79fb\u9664 node8 \u7684 node.daocloud.io/insight-prometheus \u6807\u7b7e\nkubectl label nodes node8 node.daocloud.io/insight-prometheus-\n

    \u4ee5\u4e0b\u662f insight-prometheus \u7ec4\u4ef6\u5728\u90e8\u7f72\u65f6\u9ed8\u8ba4\u7684\u4eb2\u548c\u6027\u504f\u597d\uff1a

    affinity:\n  nodeAffinity:\n    preferredDuringSchedulingIgnoredDuringExecution:\n    - preference:\n        matchExpressions:\n        - key: node-role.kubernetes.io/control-plane\n          operator: DoesNotExist\n      weight: 1\n    - preference:\n        matchExpressions:\n        - key: node.daocloud.io/insight-prometheus # (1)!\n          operator: Exists\n      weight: 2\n    - preference:\n        matchExpressions:\n        - key: node.daocloud.io/insight-any\n          operator: Exists\n      weight: 3\n    podAntiAffinity:\n      preferredDuringSchedulingIgnoredDuringExecution:\n        - weight: 1\n          podAffinityTerm:\n            topologyKey: kubernetes.io/hostname\n            labelSelector:\n              matchExpressions:\n                - key: app.kubernetes.io/instance\n                  operator: In\n                  values:\n                    - insight-agent-kube-prometh-prometheus\n
    1. \u5148\u5c06 insight-prometheus \u8c03\u5ea6\u5230\u5e26\u6709 node.daocloud.io/insight-prometheus \u6807\u7b7e\u7684\u8282\u70b9
    "},{"location":"admin/insight/quickstart/install/gethosturl.html","title":"\u83b7\u53d6\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u6570\u636e\u5b58\u50a8\u5730\u5740","text":"

    \u53ef\u89c2\u6d4b\u6027\u662f\u591a\u96c6\u7fa4\u7edf\u4e00\u89c2\u6d4b\u7684\u4ea7\u54c1\uff0c\u4e3a\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u7edf\u4e00\u5b58\u50a8\u3001\u67e5\u8be2\uff0c \u5b50\u96c6\u7fa4\u9700\u8981\u5c06\u91c7\u96c6\u7684\u89c2\u6d4b\u6570\u636e\u4e0a\u62a5\u7ed9\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u8fdb\u884c\u7edf\u4e00\u5b58\u50a8\u3002 \u672c\u6587\u63d0\u4f9b\u4e86\u5728\u5b89\u88c5\u91c7\u96c6\u7ec4\u4ef6 insight-agent \u65f6\u5fc5\u586b\u7684\u5b58\u50a8\u7ec4\u4ef6\u7684\u5730\u5740\u3002

    "},{"location":"admin/insight/quickstart/install/gethosturl.html#insight-agent","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 insight-agent","text":"

    \u5982\u679c\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 insight-agent\uff0c\u63a8\u8350\u901a\u8fc7\u57df\u540d\u6765\u8bbf\u95ee\u96c6\u7fa4\uff1a

    export vminsert_host=\"vminsert-insight-victoria-metrics-k8s-stack.insight-system.svc.cluster.local\" # (1)!\nexport es_host=\"insight-es-master.insight-system.svc.cluster.local\" # (2)!\nexport otel_col_host=\"insight-opentelemetry-collector.insight-system.svc.cluster.local\" # (3)!\n
    "},{"location":"admin/insight/quickstart/install/gethosturl.html#insight-agent_1","title":"\u5728\u5176\u4ed6\u96c6\u7fa4\u5b89\u88c5 insight-agent","text":""},{"location":"admin/insight/quickstart/install/gethosturl.html#insight-server","title":"\u901a\u8fc7 Insight Server \u63d0\u4f9b\u7684\u63a5\u53e3\u83b7\u53d6\u5730\u5740","text":"
    1. \u7ba1\u7406\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer \u65b9\u5f0f\u66b4\u9732

      \u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

      export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam'\n

      Note

      \u8bf7\u66ff\u6362\u547d\u4ee4\u4e2d\u7684 ${INSIGHT_SERVER_IP} \u53c2\u6570\u3002

      \u83b7\u5f97\u5982\u4e0b\u8fd4\u56de\u503c\uff1a

      {\n  \"values\": {\n    \"global\": {\n      \"exporters\": {\n        \"logging\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"metric\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"auditLog\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"trace\": {\n          \"host\": \"10.6.182.32\"\n        }\n      }\n    },\n    \"opentelemetry-operator\": {\n      \"enabled\": true\n    },\n    \"opentelemetry-collector\": {\n      \"enabled\": true\n    }\n  }\n}\n
      • global.exporters.logging.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff0c\u4e0d\u9700\u8981\u518d\u8bbe\u7f6e\u5bf9\u5e94\u670d\u52a1\u7684\u7aef\u53e3\uff0c\u90fd\u4f1a\u4f7f\u7528\u76f8\u5e94\u9ed8\u8ba4\u503c
      • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740
      • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740
      • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff08\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3\uff09
    2. \u7ba1\u7406\u96c6\u7fa4\u7981\u7528 LoadBalancer

      \u8c03\u7528\u63a5\u53e3\u65f6\u9700\u8981\u989d\u5916\u4f20\u9012\u96c6\u7fa4\u4e2d\u4efb\u610f\u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u8282\u70b9 IP\uff0c\u4f1a\u4f7f\u7528\u8be5 IP \u62fc\u63a5\u51fa\u5bf9\u5e94\u670d\u52a1\u7684\u5b8c\u6574\u8bbf\u95ee\u5730\u5740\u3002

      export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam' --data '{\"extra\": {\"EXPORTER_EXTERNAL_IP\": \"10.5.14.51\"}}'\n

      \u5c06\u83b7\u5f97\u5982\u4e0b\u7684\u8fd4\u56de\u503c\uff1a

      {\n  \"values\": {\n    \"global\": {\n      \"exporters\": {\n        \"logging\": {\n          \"scheme\": \"https\",\n          \"host\": \"10.5.14.51\",\n          \"port\": 32007,\n          \"user\": \"elastic\",\n          \"password\": \"j8V1oVoM1184HvQ1F3C8Pom2\"\n        },\n        \"metric\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30683\n        },\n        \"auditLog\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30884\n        },\n        \"trace\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30274\n        }\n      }\n    },\n    \"opentelemetry-operator\": {\n      \"enabled\": true\n    },\n    \"opentelemetry-collector\": {\n      \"enabled\": true\n    }\n  }\n}\n
      • global.exporters.logging.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740
      • global.exporters.logging.port \u662f\u65e5\u5fd7\u670d\u52a1\u66b4\u9732\u7684 NodePort
      • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740
      • global.exporters.metric.port \u662f\u6307\u6807\u670d\u52a1\u66b4\u9732\u7684 NodePort
      • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740
      • global.exporters.trace.port \u662f\u94fe\u8def\u670d\u52a1\u66b4\u9732\u7684 NodePort
      • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff08\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3\uff09
      • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u66b4\u9732\u7684 NodePort
    "},{"location":"admin/insight/quickstart/install/gethosturl.html#loadbalancer","title":"\u901a\u8fc7 LoadBalancer \u8fde\u63a5","text":"
    1. \u82e5\u96c6\u7fa4\u4e2d\u5f00\u542f LoadBalancer \u4e14\u4e3a Insight \u8bbe\u7f6e\u4e86 VIP \u65f6\uff0c\u60a8\u4e5f\u53ef\u4ee5\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6 vminsert \u4ee5\u53ca opentelemetry-collector \u7684\u5730\u5740\u4fe1\u606f\uff1a

      $ kubectl get service -n insight-system | grep lb\nlb-insight-opentelemetry-collector               LoadBalancer   10.233.23.12    <pending>     4317:31286/TCP,8006:31351/TCP  24d\nlb-vminsert-insight-victoria-metrics-k8s-stack   LoadBalancer   10.233.63.67    <pending>     8480:31629/TCP                 24d\n
      • lb-vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740
      • lb-insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740
    2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6 elasticsearch \u5730\u5740\u4fe1\u606f\uff1a

      $ kubectl get service -n mcamel-system | grep es\nmcamel-common-es-cluster-masters-es-http               NodePort    10.233.16.120   <none>        9200:30465/TCP               47d\n

      mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740

    "},{"location":"admin/insight/quickstart/install/gethosturl.html#nodeport","title":"\u901a\u8fc7 NodePort \u8fde\u63a5","text":"

    \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7981\u7528 LB \u7279\u6027

    \u5728\u8be5\u60c5\u51b5\u4e0b\uff0c\u9ed8\u8ba4\u4e0d\u4f1a\u521b\u5efa\u4e0a\u8ff0\u7684 LoadBalancer \u8d44\u6e90\uff0c\u5bf9\u5e94\u670d\u52a1\u540d\u4e3a\uff1a

    • vminsert-insight-victoria-metrics-k8s-stack\uff08\u6307\u6807\u670d\u52a1\uff09
    • common-es\uff08\u65e5\u5fd7\u670d\u52a1\uff09
    • insight-opentelemetry-collector\uff08\u94fe\u8def\u670d\u52a1\uff09

    \u4e0a\u9762\u4e24\u79cd\u60c5\u51b5\u83b7\u53d6\u5230\u5bf9\u5e94\u670d\u52a1\u7684\u5bf9\u5e94\u7aef\u53e3\u4fe1\u606f\u540e\uff0c\u8fdb\u884c\u5982\u4e0b\u8bbe\u7f6e\uff1a

    --set global.exporters.logging.host=  # (1)!\n--set global.exporters.logging.port=  # (2)!\n--set global.exporters.metric.host=   # (3)!\n--set global.exporters.metric.port=   # (4)!\n--set global.exporters.trace.host=    # (5)!\n--set global.exporters.trace.port=    # (6)!\n--set global.exporters.auditLog.host= # (7)!\n
    1. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
    2. \u65e5\u5fd7\u670d\u52a1 9200 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
    3. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
    4. \u6307\u6807\u670d\u52a1 8480 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
    5. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
    6. \u94fe\u8def\u670d\u52a1 4317 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
    7. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
    "},{"location":"admin/insight/quickstart/install/helm-installagent.html","title":"\u901a\u8fc7 Helm \u90e8\u7f72 Insight Agent","text":"

    \u672c\u6587\u63cf\u8ff0\u4e86\u5728\u547d\u4ee4\u884c\u4e2d\u901a\u8fc7 Helm \u547d\u4ee4\u5b89\u88c5 Insight Agent \u793e\u533a\u7248\u7684\u64cd\u4f5c\u6b65\u9aa4\u3002

    "},{"location":"admin/insight/quickstart/install/helm-installagent.html#insight-agent","title":"\u5b89\u88c5 Insight Agent","text":"
    1. \u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6dfb\u52a0\u955c\u50cf\u4ed3\u5e93\u7684\u5730\u5740

      helm repo add insight https://release.daocloud.io/chartrepo/insight\nhelm repo upgrade\nhelm search repo  insight/insight-agent --versions\n
    2. \u5b89\u88c5 Insight Agent \u9700\u8981\u786e\u4fdd\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u7684 Insight Server \u6b63\u5e38\u8fd0\u884c\uff0c\u6267\u884c\u4ee5\u4e0b\u5b89\u88c5\u547d\u4ee4\u5b89\u88c5 Insight Agent \u793e\u533a\u7248\uff0c\u8be5\u914d\u7f6e\u4e0d\u542f\u7528 Tracing \u529f\u80fd\uff1a

      helm upgrade --install --create-namespace --cleanup-on-fail \\\n    --version ${version} \\      # \u8bf7\u6307\u5b9a\u90e8\u7f72\u7248\u672c\n    insight-agent  insight/insight-agent \\\n    --set global.exporters.logging.elasticsearch.host=10.10.10.x \\    # \u8bf7\u66ff\u6362\u201c10.10.10.x\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u5730\u5740\n    --set global.exporters.logging.elasticsearch.port=32517 \\     # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u66b4\u9732\u7684\u7aef\u53e3\n    --set global.exporters.logging.elasticsearch.user=elastic \\     # \u8bf7\u66ff\u6362\u201celastic\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u7528\u6237\u540d\n    --set global.exporters.logging.elasticsearch.password=dangerous \\  # \u8bf7\u66ff\u6362\u201cdangerous\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u5bc6\u7801\n    --set global.exporters.metric.host=${vminsert_address} \\    # \u8bf7\u66ff\u6362\u201c10.10.10.x\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d vminsert \u7684\u5730\u5740\n    --set global.exporters.metric.port=${vminsert_port} \\    # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d vminsert \u7684\u5730\u5740\n    --set global.exporters.auditLog.host=${opentelemetry-collector address} \\     # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d opentelemetry-collector \u7684\u7aef\u53e3\n    --set global.exporters.auditLog.port=${otel_col_auditlog_port}\\   # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d opentelemetry-collector \u5bb9\u5668\u7aef\u53e3\u4e3a 8006 \u7684 service \u5bf9\u5916\u8bbf\u95ee\u7684\u5730\u5740\n    -n insight-system\n

      Info

      \u53ef\u53c2\u8003 \u5982\u4f55\u83b7\u53d6\u8fde\u63a5\u5730\u5740 \u83b7\u53d6\u5730\u5740\u4fe1\u606f\u3002

    3. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u5b89\u88c5\u72b6\u6001\uff1a

      helm list -A\nkubectl get pods -n insight-system\n
    "},{"location":"admin/insight/quickstart/install/helm-installagent.html#_1","title":"\u5982\u4f55\u83b7\u53d6\u8fde\u63a5\u5730\u5740","text":""},{"location":"admin/insight/quickstart/install/helm-installagent.html#insight-agent_1","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 Insight Agent","text":"

    \u5982\u679c Agent \u662f\u5b89\u88c5\u5728\u7ba1\u7406\u96c6\u7fa4\uff0c\u63a8\u8350\u901a\u8fc7\u57df\u540d\u6765\u8bbf\u95ee\u96c6\u7fa4\uff1a

    export vminsert_host=\"vminsert-insight-victoria-metrics-k8s-stack.insight-system.svc.cluster.local\" # \u6307\u6807\nexport es_host=\"insight-es-master.insight-system.svc.cluster.local\" # \u65e5\u5fd7\nexport otel_col_host=\"insight-opentelemetry-collector.insight-system.svc.cluster.local\" # \u94fe\u8def\n
    "},{"location":"admin/insight/quickstart/install/helm-installagent.html#insight-agent_2","title":"\u5728\u5de5\u4f5c\u96c6\u7fa4\u5b89\u88c5 Insight Agent","text":"\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\u64cd\u4f5c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528 Nodeport

    \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer \u65b9\u5f0f\u66b4\u9732\u670d\u52a1\u65f6\uff0c\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

    export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam'\n

    \u5c06\u83b7\u5f97\u5982\u4e0b\u7684\u8fd4\u56de\u503c\uff1a

    {\"global\":{\"exporters\":{\"logging\":{\"output\":\"elasticsearch\",\"elasticsearch\":{\"host\":\"10.6.182.32\"},\"kafka\":{},\"host\":\"10.6.182.32\"},\"metric\":{\"host\":\"10.6.182.32\"},\"auditLog\":    {\"host\":\"10.6.182.32\"}}},\"opentelemetry-operator\":{\"enabled\":true},\"opentelemetry-collector\":{\"enabled\":true}}\n

    \u5176\u4e2d\uff1a

    • global.exporters.logging.elasticsearch.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740\u3010\u4e0d\u9700\u8981\u518d\u8bbe\u7f6e\u5bf9\u5e94\u670d\u52a1\u7684\u7aef\u53e3\uff0c\u90fd\u4f1a\u4f7f\u7528\u76f8\u5e94\u9ed8\u8ba4\u503c\u3011\uff1b
    • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740\uff1b
    • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740\uff1b
    • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740 (\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3)\uff1b

    \u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

    kubectl get service -n insight-system | grep lb\nkubectl get service -n mcamel-system | grep es\n

    \u5176\u4e2d\uff1a

    • lb-vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740\uff1b
    • lb-insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740;
    • mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740;

    \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528 Nodeport \u65b9\u5f0f\u66b4\u9732\u670d\u52a1\u65f6\uff0c\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

    kubectl get service -n insight-system\nkubectl get service -n mcamel-system\n

    \u5176\u4e2d\uff1a

    • vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740\uff1b
    • insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740;
    • mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740;
    "},{"location":"admin/insight/quickstart/install/helm-installagent.html#insight-agent_3","title":"\u5347\u7ea7 Insight Agent","text":"
    1. \u767b\u5f55\u76ee\u6807\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5907\u4efd --set \u53c2\u6570\u3002

      helm get values insight-agent -n insight-system -o yaml > insight-agent.yaml\n
    2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0\u4ed3\u5e93\u3002

      helm repo upgrade\n
    3. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5347\u7ea7\u3002

      helm upgrade insight-agent insight/insight-agent \\\n-n insight-system \\\n-f ./insight-agent.yaml \\\n--version ${version}   # \u6307\u5b9a\u5347\u7ea7\u7248\u672c\n
    4. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u5b89\u88c5\u72b6\u6001\uff1a

      kubectl get pods -n insight-system\n
    "},{"location":"admin/insight/quickstart/install/helm-installagent.html#insight-agent_4","title":"\u5378\u8f7d Insight Agent","text":"
    helm uninstall insight-agent -n insight-system --timeout 10m\n
    "},{"location":"admin/insight/quickstart/install/install-agent.html","title":"\u5728\u7ebf\u5b89\u88c5 insight-agent","text":"

    insight-agent \u662f\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u91c7\u96c6\u7684\u63d2\u4ef6\uff0c\u652f\u6301\u5bf9\u6307\u6807\u3001\u94fe\u8def\u3001\u65e5\u5fd7\u6570\u636e\u7684\u7edf\u4e00\u89c2\u6d4b\u3002\u672c\u6587\u63cf\u8ff0\u4e86\u5982\u4f55\u5728\u5728\u7ebf\u73af\u5883\u4e2d\u4e3a\u63a5\u5165\u96c6\u7fa4\u5b89\u88c5 insight-agent\u3002

    "},{"location":"admin/insight/quickstart/install/install-agent.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
    • \u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165 \u5bb9\u5668\u7ba1\u7406 \u6a21\u5757\u3002\u5982\u4f55\u63a5\u5165\u96c6\u7fa4\uff0c\u8bf7\u53c2\u8003\uff1a\u63a5\u5165\u96c6\u7fa4
    "},{"location":"admin/insight/quickstart/install/install-agent.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u6a21\u5757\uff0c\u5728 \u96c6\u7fa4\u5217\u8868 \u4e2d\u627e\u5230\u8981\u5b89\u88c5 insight-agent \u7684\u96c6\u7fa4\u540d\u79f0\u3002

    2. \u9009\u62e9 \u7acb\u5373\u5b89\u88c5 \u8df3\u8f6c\uff0c\u6216\u70b9\u51fb\u96c6\u7fa4\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u5185\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u641c\u7d22\u6846\u67e5\u8be2 insight-agent \uff0c\u70b9\u51fb\u8be5\u5361\u7247\u8fdb\u5165\u8be6\u60c5\u3002

    3. \u67e5\u770b insight-agent \u7684\u5b89\u88c5\u9875\u9762\uff0c\u70b9\u51fb \u5b89\u88c5 \u8fdb\u5165\u4e0b\u4e00\u6b65\u3002

    4. \u9009\u62e9\u5b89\u88c5\u7684\u7248\u672c\u5e76\u5728\u4e0b\u65b9\u8868\u5355\u5206\u522b\u586b\u5199\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u5bf9\u5e94\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\u7684\u5730\u5740\uff0c\u786e\u8ba4\u586b\u5199\u7684\u4fe1\u606f\u65e0\u8bef\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

      • insight-agent \u9ed8\u8ba4\u90e8\u7f72\u5728\u96c6\u7fa4\u7684 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u3002
      • \u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\u7684 insight-agent\u3002
      • \u7cfb\u7edf\u9ed8\u8ba4\u5df2\u586b\u5199\u6570\u636e\u4e0a\u62a5\u7684\u7ec4\u4ef6\u7684\u5730\u5740\uff0c\u4ecd\u8bf7\u60a8\u68c0\u67e5\u65e0\u8bef\u540e\u518d\u70b9\u51fb \u786e\u5b9a \u00a0\u8fdb\u884c\u5b89\u88c5\u3002 \u5982\u9700\u4fee\u6539\u6570\u636e\u4e0a\u62a5\u5730\u5740\uff0c\u8bf7\u53c2\u8003\uff1a\u83b7\u53d6\u6570\u636e\u4e0a\u62a5\u5730\u5740\u3002

    5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u00a0 Helm \u5e94\u7528 \u5217\u8868\uff0c\u5f53\u5e94\u7528 insight-agent \u7684\u72b6\u6001\u4ece\u00a0 \u672a\u5c31\u7eea \u53d8\u4e3a \u5df2\u90e8\u7f72 \uff0c\u4e14\u6240\u6709\u7684\u7ec4\u4ef6\u72b6\u6001\u4e3a \u8fd0\u884c\u4e2d \u65f6\uff0c\u5219\u5b89\u88c5\u6210\u529f\u3002\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u53ef\u5728 \u53ef\u89c2\u6d4b\u6027 \u6a21\u5757\u67e5\u770b\u8be5\u96c6\u7fa4\u7684\u6570\u636e\u3002

    Note

    • \u70b9\u51fb\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u60a8\u53ef\u4ee5\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u6267\u884c\u66f4\u591a\u64cd\u4f5c\uff0c\u5982 \u66f4\u65b0 \u3001 \u67e5\u770b YAML \u548c \u5220\u9664 \u3002
    "},{"location":"admin/insight/quickstart/install/knownissues.html","title":"\u5df2\u77e5\u95ee\u9898","text":"

    \u672c\u9875\u5217\u51fa\u4e00\u4e9b Insight Agent \u5b89\u88c5\u548c\u5378\u8f7d\u6709\u5173\u7684\u95ee\u9898\u53ca\u5176\u89e3\u51b3\u529e\u6cd5\u3002

    "},{"location":"admin/insight/quickstart/install/knownissues.html#v0230","title":"v0.23.0","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#insight-agent","title":"Insight Agent","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#insight-agent_1","title":"Insight Agent \u5378\u8f7d\u5931\u8d25","text":"

    \u5f53\u4f60\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5378\u8f7d Insight Agent \u65f6\u3002

    helm uninstall insight-agent -n insight-system\n

    otel-oprator \u6240\u4f7f\u7528\u7684 tls secret \u672a\u88ab\u5378\u8f7d\u6389\u3002

    otel-operator \u5b9a\u4e49\u7684\u201c\u91cd\u590d\u5229\u7528 tls secret\u201d\u7684\u903b\u8f91\u4e2d\uff0c\u4f1a\u53bb\u5224\u65ad otel-oprator \u7684 MutationConfiguration \u662f\u5426\u5b58\u5728\u5e76\u91cd\u590d\u5229\u7528 MutationConfiguration \u4e2d\u7ed1\u5b9a\u7684 CA cert\u3002\u4f46\u662f\u7531\u4e8e helm uninstall \u5df2\u5378\u8f7d MutationConfiguration\uff0c\u5bfc\u81f4\u51fa\u73b0\u7a7a\u503c\u3002

    \u7efc\u4e0a\u8bf7\u624b\u52a8\u5220\u9664\u5bf9\u5e94\u7684 secret\uff0c\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\u4efb\u9009\u4e00\u79cd\u5373\u53ef\uff1a

    • \u901a\u8fc7\u547d\u4ee4\u884c\u5220\u9664\uff1a\u767b\u5f55\u76ee\u6807\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

      kubectl -n insight-system delete secret insight-agent-opentelemetry-operator-controller-manager-service-cert\n
    • \u901a\u8fc7 UI \u5220\u9664\uff1a\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5bb9\u5668\u7ba1\u7406\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u8fdb\u5165\u5bc6\u94a5\uff0c\u8f93\u5165 insight-agent-opentelemetry-operator-controller-manager-service-cert\uff0c\u9009\u62e9\u5220\u9664\u3002

    "},{"location":"admin/insight/quickstart/install/knownissues.html#v0220","title":"v0.22.0","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#insight-agent_2","title":"Insight Agent","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#insight-agent_3","title":"\u5347\u7ea7 Insight Agent \u65f6\u66f4\u65b0\u65e5\u5fd7\u6536\u96c6\u7aef\uff0c\u672a\u751f\u6548","text":"

    \u66f4\u65b0 insight-agent \u65e5\u5fd7\u914d\u7f6e\u4ece elasticsearch \u6539\u4e3a kafka \u6216\u8005\u4ece kafka \u6539\u4e3a elasticsearch\uff0c\u5b9e\u9645\u4e0a\u90fd\u672a\u751f\u6548\uff0c\u8fd8\u662f\u4f7f\u7528\u66f4\u65b0\u524d\u914d\u7f6e\u3002

    \u89e3\u51b3\u65b9\u6848 \uff1a

    \u624b\u52a8\u91cd\u542f\u96c6\u7fa4\u4e2d\u7684 fluentbit\u3002

    "},{"location":"admin/insight/quickstart/install/knownissues.html#v0210","title":"v0.21.0","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#insight-agent_4","title":"Insight Agent","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#podmonitor-jvm","title":"PodMonitor \u91c7\u96c6\u591a\u4efd JVM \u6307\u6807\u6570\u636e","text":"
    1. \u8fd9\u4e2a\u7248\u672c\u7684 PodMonitor/insight-kubernetes-pod \u5b58\u5728\u7f3a\u9677\uff1a\u4f1a\u9519\u8bef\u5730\u521b\u5efa Job \u53bb\u91c7\u96c6\u6807\u8bb0\u4e86 insight.opentelemetry.io/metric-scrape=true \u7684 Pod \u7684\u6240\u6709 container\uff1b\u800c\u5b9e\u9645\u4e0a\u53ea\u9700\u91c7\u96c6 insight.opentelemetry.io/metric-port \u6240\u5bf9\u5e94 container \u7684\u7aef\u53e3\u3002

    2. \u56e0\u4e3a PodMonitor \u58f0\u660e\u4e4b\u540e\uff0cPromethuesOperator \u4f1a\u9884\u8bbe\u7f6e\u4e00\u4e9b\u670d\u52a1\u53d1\u73b0\u914d\u7f6e\u3002 \u518d\u8003\u8651\u5230 CRD \u7684\u517c\u5bb9\u6027\u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u653e\u5f03\u901a\u8fc7 PodMonitor \u6765\u914d\u7f6e\u901a\u8fc7 annotation \u521b\u5efa\u91c7\u96c6\u4efb\u52a1\u7684\u673a\u5236\u3002

    3. \u901a\u8fc7 Prometheus \u81ea\u5e26\u7684 additional scrape config \u673a\u5236\uff0c\u5c06\u670d\u52a1\u53d1\u73b0\u89c4\u5219\u914d\u7f6e\u5728 secret \u4e2d\uff0c\u5728\u5f15\u5165 Prometheus \u91cc\u3002

    \u7efc\u4e0a\uff1a

    1. \u5220\u9664\u8fd9\u4e2a PodMonitor \u7684\u5f53\u524d insight-kubernetes-pod
    2. \u4f7f\u7528\u65b0\u7684\u89c4\u5219

    \u65b0\u7684\u89c4\u5219\u91cc\u901a\u8fc7 action: keepequal \u6765\u6bd4\u8f83 source_labels \u548c target_label \u7684\u4e00\u81f4\u6027\uff0c \u6765\u5224\u65ad\u662f\u5426\u8981\u7ed9\u67d0\u4e2a container \u7684 port \u521b\u5efa\u91c7\u96c6\u4efb\u52a1\u3002\u9700\u8981\u6ce8\u610f\uff0c\u8fd9\u4e2a\u662f Prometheus 2.41.0\uff082022-12-20\uff09\u548c\u66f4\u9ad8\u7248\u672c\u624d\u5177\u5907\u7684\u529f\u80fd\u3002

    +    - source_labels: [__meta_kubernetes_pod_annotation_insight_opentelemetry_io_metric_port]\n+      separator: ;\n+      target_label: __meta_kubernetes_pod_container_port_number\n+      action: keepequal\n
    "},{"location":"admin/insight/quickstart/install/upgrade-note.html","title":"\u5347\u7ea7\u6ce8\u610f\u4e8b\u9879","text":"

    \u672c\u9875\u4ecb\u7ecd\u4e00\u4e9b\u5347\u7ea7 insight-server \u548c insight-agent \u7684\u6ce8\u610f\u4e8b\u9879\u3002

    "},{"location":"admin/insight/quickstart/install/upgrade-note.html#insight-agent","title":"insight-agent","text":""},{"location":"admin/insight/quickstart/install/upgrade-note.html#v028x-v029x","title":"\u4ece v0.28.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.29.x","text":"

    \u7531\u4e8e v0.29.0 \u5347\u7ea7\u4e86 Opentelemetry \u793e\u533a\u7684 operator chart \u7248\u672c\uff0cvalues \u4e2d\u7684 featureGates \u7684\u652f\u6301\u7684\u503c\u6709\u6240\u53d8\u5316\uff0c\u56e0\u6b64\uff0c\u5728 upgrade \u4e4b\u524d\uff0c\u9700\u8981\u5c06 featureGates \u7684\u503c\u8bbe\u7f6e\u4e3a\u7a7a, \u5373\uff1a

    -  --set opentelemetry-operator.manager.featureGates=\"+operator.autoinstrumentation.go,+operator.autoinstrumentation.multi-instrumentation,+operator.autoinstrumentation.nginx\" \\\n+  --set opentelemetry-operator.manager.featureGates=\"\"\n
    "},{"location":"admin/insight/quickstart/install/upgrade-note.html#insight-server","title":"insight-server","text":""},{"location":"admin/insight/quickstart/install/upgrade-note.html#v026x-v027x","title":"\u4ece v0.26.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.27.x \u6216\u66f4\u9ad8\u7248\u672c","text":"

    \u5728 v0.27.x \u7248\u672c\u4e2d\u5c06 vector \u7ec4\u4ef6\u7684\u5f00\u5173\u5355\u72ec\u62bd\u51fa\u3002\u6545\u539f\u6709\u73af\u5883\u5f00\u542f\u4e86 vector\uff0c\u90a3\u5728\u5347\u7ea7 insight-server \u65f6\uff0c\u9700\u8981\u6307\u5b9a --set vector.enabled=true \u3002

    "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v019x-020x","title":"\u4ece v0.19.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 0.20.x","text":"

    \u5728\u5347\u7ea7 Insight \u4e4b\u524d\uff0c\u60a8\u9700\u8981\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u5220\u9664 jaeger-collector \u548c jaeger-query \u90e8\u7f72\uff1a

    kubectl -n insight-system delete deployment insight-jaeger-collector\nkubectl -n insight-system delete deployment insight-jaeger-query\n
    "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v017x-v018x","title":"\u4ece v0.17.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.18.x","text":"

    \u7531\u4e8e 0.18.x \u4e2d\u66f4\u65b0\u4e86 Jaeger \u76f8\u5173\u90e8\u7f72\u6587\u4ef6\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-server \u524d\u624b\u52a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    kubectl -n insight-system delete deployment insight-jaeger-collector\nkubectl -n insight-system delete deployment insight-jaeger-query\n

    \u7531\u4e8e 0.18.x \u4e2d\u6307\u6807\u540d\u4ea7\u751f\u4e86\u53d8\u52a8\uff0c\u56e0\u6b64\uff0c\u9700\u8981\u5728\u5347\u7ea7 insight-server \u4e4b\u540e\uff0cinsight-agent \u4e5f\u5e94\u8be5\u505a\u5347\u7ea7\u3002

    \u6b64\u5916\uff0c\u8c03\u6574\u4e86\u5f00\u542f\u94fe\u8def\u6a21\u5757\u7684\u53c2\u6570\uff0c\u4ee5\u53ca ElasticSearch \u8fde\u63a5\u8c03\u6574\u3002\u5177\u4f53\u53c2\u8003\u4ee5\u4e0b\u53c2\u6570\uff1a

    +  --set global.tracing.enable=true \\\n-  --set jaeger.collector.enabled=true \\\n-  --set jaeger.query.enabled=true \\\n+  --set global.elasticsearch.scheme=${your-external-elasticsearch-scheme} \\\n+  --set global.elasticsearch.host=${your-external-elasticsearch-host} \\\n+  --set global.elasticsearch.port=${your-external-elasticsearch-port} \\\n+  --set global.elasticsearch.user=${your-external-elasticsearch-username} \\\n+  --set global.elasticsearch.password=${your-external-elasticsearch-password} \\\n-  --set jaeger.storage.elasticsearch.scheme=${your-external-elasticsearch-scheme} \\\n-  --set jaeger.storage.elasticsearch.host=${your-external-elasticsearch-host} \\\n-  --set jaeger.storage.elasticsearch.port=${your-external-elasticsearch-port} \\\n-  --set jaeger.storage.elasticsearch.user=${your-external-elasticsearch-username} \\\n-  --set jaeger.storage.elasticsearch.password=${your-external-elasticsearch-password} \\\n
    "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v015x-v016x","title":"\u4ece v0.15.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.16.x","text":"

    \u7531\u4e8e 0.16.x \u4e2d\u4f7f\u7528\u4e86 vmalertmanagers CRD \u7684\u65b0\u7279\u6027\u53c2\u6570 disableRouteContinueEnforce\uff0c \u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-server \u524d\u624b\u52a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u3002

    kubectl apply --server-side -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.33.0/config/crd/bases/operator.victoriametrics.com_vmalertmanagers.yaml --force-conflicts\n

    Note

    \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b Insight \u79bb\u7ebf\u5305\u540e\uff0c\u8bf7\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0 CRD\u3002

    kubectl apply --server-side -f insight/dependency-crds --force-conflicts \n
    "},{"location":"admin/insight/quickstart/install/upgrade-note.html#insight-agent_1","title":"insight-agent","text":""},{"location":"admin/insight/quickstart/install/upgrade-note.html#v023x-v024x","title":"\u4ece v0.23.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.24.x","text":"

    \u7531\u4e8e 0.24.x \u7248\u672c\u4e2d OTEL operator chart \u4e2d\u65b0\u589e\u4e86 CRD\uff0c\u4f46\u7531\u4e8e Helm Upgrade \u65f6\u5e76\u4e0d\u4f1a\u66f4\u65b0 CRD\uff0c\u56e0\u6b64\uff0c\u9700\u8981\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

    kubectl apply -f https://raw.githubusercontent.com/open-telemetry/opentelemetry-helm-charts/main/charts/opentelemetry-operator/crds/crd-opentelemetry.io_opampbridges.yaml\n

    \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\u53ef\u627e\u5230\u4e0a\u8ff0 CRD \u7684 yaml\uff0c\u89e3\u538b Insight-Agent Chart \u4e4b\u540e\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

    kubectl apply -f charts/agent/crds/crd-opentelemetry.io_opampbridges.yaml\n
    "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v019x-v020x","title":"\u4ece v0.19.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.20.x","text":"

    \u7531\u4e8e 0.20.x \u4e2d\u589e\u52a0\u4e86 Kafka \u65e5\u5fd7\u5bfc\u51fa\u914d\u7f6e\uff0c\u65e5\u5fd7\u5bfc\u51fa\u914d\u7f6e\u505a\u4e86\u4e00\u4e9b\u8c03\u6574\u3002\u5347\u7ea7 insight-agent \u4e4b\u524d\u9700\u8981\u6ce8\u610f\u53c2\u6570\u53d8\u5316\uff0c \u5373\u539f\u6765 logging \u7684\u914d\u7f6e\u5df2\u7ecf\u79fb\u5230\u4e86\u914d\u7f6e\u4e2d logging.elasticsearch\uff1a

    -  --set global.exporters.logging.host \\\n-  --set global.exporters.logging.port \\\n+  --set global.exporters.logging.elasticsearch.host \\\n+  --set global.exporters.logging.elasticsearch.port \\\n
    "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v017x-v018x_1","title":"\u4ece v0.17.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.18.x","text":"

    \u7531\u4e8e 0.18.x \u4e2d\u66f4\u65b0\u4e86 Jaeger \u76f8\u5173\u90e8\u7f72\u6587\u4ef6\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u9700\u8981\u6ce8\u610f\u53c2\u6570\u7684\u6539\u52a8\u3002

    +  --set global.exporters.trace.enable=true \\\n-  --set opentelemetry-collector.enabled=true \\\n-  --set opentelemetry-operator.enabled=true \\\n
    "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v016x-v017x","title":"\u4ece v0.16.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.17.x","text":"

    \u5728 v0.17.x \u7248\u672c\u4e2d\u5c06 kube-prometheus-stack chart \u7248\u672c\u4ece 41.9.1 \u5347\u7ea7\u81f3 45.28.1, \u5176\u4e2d\u4f7f\u7528\u7684 CRD \u4e5f\u5b58\u5728\u4e00\u4e9b\u5b57\u6bb5\u7684\u5347\u7ea7\uff0c\u5982 servicemonitor \u7684 attachMetadata \u5b57\u6bb5\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml --force-conflicts\n

    \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\uff0c\u5728 insight-agent/dependency-crds \u4e2d\u627e\u5230\u4e0a\u8ff0 CRD \u7684 yaml\u3002

    "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v011x-v012x","title":"\u4ece v0.11.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.12.x","text":"

    \u5728 v0.12.x \u5c06 kube-prometheus-stack chart \u4ece 39.6.0 \u5347\u7ea7\u5230 41.9.1\uff0c\u5176\u4e2d\u5305\u62ec prometheus-operator \u5347\u7ea7\u5230 v0.60.1, prometheus-node-exporter chart \u5347\u7ea7\u5230 4.3.0 \u7b49\u3002 prometheus-node-exporter \u5347\u7ea7\u540e\u4f7f\u7528\u4e86 Kubernetes \u63a8\u8350 label\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7\u524d\u5220\u9664 node-exporter \u7684 DaemonSet\u3002 prometheus-operator \u66f4\u65b0\u4e86 CRD\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

    kubectl delete daemonset insight-agent-prometheus-node-exporter -n insight-system\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml --force-conflicts\n

    Note

    \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0 CRD\u3002

    kubectl apply --server-side -f insight-agent/dependency-crds --force-conflicts\n
    "},{"location":"admin/insight/quickstart/otel/operator.html","title":"\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a","text":"

    \u76ee\u524d\u53ea\u6709 Java\u3001NodeJs\u3001Python\u3001.Net\u3001Golang \u652f\u6301 Operator \u7684\u65b9\u5f0f\u65e0\u4fb5\u5165\u63a5\u5165\u3002

    "},{"location":"admin/insight/quickstart/otel/operator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u8bf7\u786e\u4fdd insight-agent \u5df2\u7ecf\u5c31\u7eea\u3002\u5982\u82e5\u6ca1\u6709\uff0c\u8bf7\u53c2\u8003\u5b89\u88c5 insight-agent \u91c7\u96c6\u6570\u636e\u5e76\u786e\u4fdd\u4ee5\u4e0b\u4e09\u9879\u5c31\u7eea\uff1a

    • \u4e3a insight-agent \u5f00\u542f trace \u529f\u80fd
    • trace \u6570\u636e\u7684\u5730\u5740\u4ee5\u53ca\u7aef\u53e3\u662f\u5426\u586b\u5199\u6b63\u786e
    • deployment/insight-agent-opentelemetry-operator \u548c deployment/insight-agent-opentelemetry-collector \u5bf9\u5e94\u7684 Pod \u5df2\u7ecf\u51c6\u5907\u5c31\u7eea
    "},{"location":"admin/insight/quickstart/otel/operator.html#instrumentation-cr","title":"\u5b89\u88c5 Instrumentation CR","text":"

    Tip

    \u4ece Insight v0.22.0 \u5f00\u59cb\uff0c\u4e0d\u518d\u9700\u8981\u624b\u52a8\u5b89\u88c5 Instrumentation CR\u3002

    \u5728 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u5b89\u88c5\uff0c\u4e0d\u540c\u7248\u672c\u4e4b\u95f4\u6709\u4e00\u4e9b\u7ec6\u5c0f\u7684\u5dee\u522b\u3002

    Insight v0.21.xInsight v0.20.xInsight v0.18.xInsight v0.17.xInsight v0.16.x
    K8S_CLUSTER_UID=$(kubectl get namespace kube-system -o jsonpath='{.metadata.uid}')\nkubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/openinsight-proj/autoinstrumentation-java:1.31.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n      - name: OTEL_K8S_CLUSTER_UID\n        value: $K8S_CLUSTER_UID\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
    kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.29.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0-rc.2\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
    kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.25.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.37.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.38b0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.1-alpha\nEOF\n
    kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.23.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.34.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.33b0\nEOF\n
    kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.23.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.34.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.33b0\nEOF\n
    "},{"location":"admin/insight/quickstart/otel/operator.html#_2","title":"\u4e0e\u670d\u52a1\u7f51\u683c\u94fe\u8def\u4e32\u8054\u573a\u666f","text":"

    \u5982\u679c\u60a8\u5f00\u542f\u4e86\u670d\u52a1\u7f51\u683c\u7684\u94fe\u8def\u8ffd\u8e2a\u80fd\u529b\uff0c\u9700\u8981\u989d\u5916\u589e\u52a0\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u6ce8\u5165\u7684\u914d\u7f6e\uff1a

    "},{"location":"admin/insight/quickstart/otel/operator.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b","text":"
    1. \u767b\u5f55 DCE5.0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u540e\u9009\u62e9\u8fdb\u5165\u76ee\u6807\u96c6\u7fa4\uff0c
    2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u627e\u5230 instrumentations.opentelemetry.io \u540e\u8fdb\u5165\u8be6\u60c5\u9875\u3002
    3. \u9009\u62e9 insight-system \u547d\u540d\u7a7a\u95f4\u540e\uff0c\u7f16\u8f91 insight-opentelemetry-autoinstrumentation \uff0c\u5728 spec:env: \u4e0b\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a

          - name: OTEL_SERVICE_NAME\n      valueFrom:\n        fieldRef:\n          fieldPath: metadata.labels['app'] \n

      \u5b8c\u6574\u7684\u547d\u4ee4\u5982\u4e0b\uff08For Insight v0.21.x\uff09\uff1a

      K8S_CLUSTER_UID=$(kubectl get namespace kube-system -o jsonpath='{.metadata.uid}')\nkubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n    - name: OTEL_SERVICE_NAME\n      valueFrom:\n        fieldRef:\n          fieldPath: metadata.labels['app'] \n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/openinsight-proj/autoinstrumentation-java:1.31.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n      - name: OTEL_K8S_CLUSTER_UID\n        value: $K8S_CLUSTER_UID\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
    "},{"location":"admin/insight/quickstart/otel/operator.html#_4","title":"\u6dfb\u52a0\u6ce8\u89e3\uff0c\u81ea\u52a8\u63a5\u5165\u94fe\u8def","text":"

    \u4ee5\u4e0a\u5c31\u7eea\u4e4b\u540e\uff0c\u60a8\u5c31\u53ef\u4ee5\u901a\u8fc7\u6ce8\u89e3\uff08Annotation\uff09\u65b9\u5f0f\u4e3a\u5e94\u7528\u7a0b\u5e8f\u63a5\u5165\u94fe\u8def\u8ffd\u8e2a\u4e86\uff0cOTel \u76ee\u524d\u652f\u6301\u901a\u8fc7\u6ce8\u89e3\u7684\u65b9\u5f0f\u63a5\u5165\u94fe\u8def\u3002 \u6839\u636e\u670d\u52a1\u8bed\u8a00\uff0c\u9700\u8981\u6dfb\u52a0\u4e0a\u4e0d\u540c\u7684 pod annotations\u3002\u6bcf\u4e2a\u670d\u52a1\u53ef\u6dfb\u52a0\u4e24\u7c7b\u6ce8\u89e3\u4e4b\u4e00\uff1a

    • \u53ea\u6ce8\u5165\u73af\u5883\u53d8\u91cf\u6ce8\u89e3

      \u8fd9\u7c7b\u6ce8\u89e3\u53ea\u6709\u4e00\u4e2a\uff0c\u7528\u4e8e\u6dfb\u52a0 otel \u76f8\u5173\u7684\u73af\u5883\u53d8\u91cf\uff0c\u6bd4\u5982\u94fe\u8def\u4e0a\u62a5\u5730\u5740\u3001\u5bb9\u5668\u6240\u5728\u7684\u96c6\u7fa4 id\u3001\u547d\u540d\u7a7a\u95f4\u7b49\uff08\u8fd9\u4e2a\u6ce8\u89e3\u5728\u5e94\u7528\u4e0d\u652f\u6301\u81ea\u52a8\u63a2\u9488\u8bed\u8a00\u65f6\u5341\u5206\u6709\u7528\uff09

      instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

      \u5176\u4e2d value \u88ab / \u5206\u6210\u4e24\u90e8\u5206\uff0c\u7b2c\u4e00\u4e2a\u503c (insight-system) \u662f\u4e0a\u4e00\u6b65\u5b89\u88c5\u7684 CR \u7684\u547d\u540d\u7a7a\u95f4\uff0c \u7b2c\u4e8c\u4e2a\u503c (insight-opentelemetry-autoinstrumentation) \u662f\u8fd9\u4e2a CR \u7684\u540d\u5b57\u3002

    • \u81ea\u52a8\u63a2\u9488\u6ce8\u5165\u4ee5\u53ca\u73af\u5883\u53d8\u91cf\u6ce8\u5165\u6ce8\u89e3

      \u8fd9\u7c7b\u6ce8\u89e3\u76ee\u524d\u6709 4 \u4e2a\uff0c\u5206\u522b\u5bf9\u5e94 4 \u79cd\u4e0d\u540c\u7684\u7f16\u7a0b\u8bed\u8a00\uff1ajava\u3001nodejs\u3001python\u3001dotnet\uff0c \u4f7f\u7528\u5b83\u540e\u5c31\u4f1a\u5bf9 spec.pod \u4e0b\u7684\u7b2c\u4e00\u4e2a\u5bb9\u5668\u6ce8\u5165\u81ea\u52a8\u63a2\u9488\u4ee5\u53ca otel \u9ed8\u8ba4\u73af\u5883\u53d8\u91cf\uff1a

      Java \u5e94\u7528NodeJs \u5e94\u7528Python \u5e94\u7528Dotnet \u5e94\u7528Golang \u5e94\u7528
      instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
      instrumentation.opentelemetry.io/inject-nodejs: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
      instrumentation.opentelemetry.io/inject-python: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
      instrumentation.opentelemetry.io/inject-dotnet: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

      \u7531\u4e8e Go \u81ea\u52a8\u68c0\u6d4b\u9700\u8981\u8bbe\u7f6e OTEL_GO_AUTO_TARGET_EXE\uff0c \u56e0\u6b64\u60a8\u5fc5\u987b\u901a\u8fc7\u6ce8\u89e3\u6216 Instrumentation \u8d44\u6e90\u63d0\u4f9b\u6709\u6548\u7684\u53ef\u6267\u884c\u8def\u5f84\u3002\u672a\u8bbe\u7f6e\u6b64\u503c\u4f1a\u5bfc\u81f4 Go \u81ea\u52a8\u68c0\u6d4b\u6ce8\u5165\u4e2d\u6b62\uff0c\u4ece\u800c\u5bfc\u81f4\u63a5\u5165\u94fe\u8def\u5931\u8d25\u3002

      instrumentation.opentelemetry.io/inject-go: \"insight-system/insight-opentelemetry-autoinstrumentation\"\ninstrumentation.opentelemetry.io/otel-go-auto-target-exe: \"/path/to/container/executable\"\n

      Go \u81ea\u52a8\u68c0\u6d4b\u4e5f\u9700\u8981\u63d0\u5347\u6743\u9650\u3002\u4ee5\u4e0b\u6743\u9650\u662f\u81ea\u52a8\u8bbe\u7f6e\u7684\u5e76\u4e14\u662f\u5fc5\u9700\u7684\u3002

      securityContext:\n  privileged: true\n  runAsUser: 0\n

    Tip

    OpenTelemetry Operator \u5728\u6ce8\u5165\u63a2\u9488\u65f6\u4f1a\u81ea\u52a8\u6dfb\u52a0\u4e00\u4e9b OTel \u76f8\u5173\u73af\u5883\u53d8\u91cf\uff0c\u540c\u65f6\u4e5f\u652f\u6301\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\u7684\u8986\u76d6\u3002\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\u7684\u8986\u76d6\u4f18\u5148\u7ea7\uff1a

    original container env vars -> language specific env vars -> common env vars -> instrument spec configs' vars\n

    \u4f46\u662f\u9700\u8981\u907f\u514d\u624b\u52a8\u8986\u76d6 OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\uff0c\u5b83\u5728 Operator \u5185\u90e8\u4f5c\u4e3a\u4e00\u4e2a Pod \u662f\u5426\u5df2\u7ecf\u6ce8\u5165\u63a2\u9488\u7684\u6807\u8bc6\uff0c\u5982\u679c\u624b\u52a8\u6dfb\u52a0\u4e86\uff0c\u63a2\u9488\u53ef\u80fd\u65e0\u6cd5\u6ce8\u5165\u3002

    "},{"location":"admin/insight/quickstart/otel/operator.html#demo","title":"\u81ea\u52a8\u6ce8\u5165\u793a\u4f8b Demo","text":"

    \u6ce8\u610f\u8fd9\u4e2a annotations \u662f\u52a0\u5728 spec.annotations \u4e0b\u7684\u3002

    apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-app\n  labels:\n    app: my-app\nspec:\n  selector:\n    matchLabels:\n      app: my-app\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app: my-app\n      annotations:\n        instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n    spec:\n      containers:\n      - name: myapp\n        image: jaegertracing/vertx-create-span:operator-e2e-tests\n        ports:\n          - containerPort: 8080\n            protocol: TCP\n

    \u6700\u7ec8\u751f\u6210\u7684 YAML \u5185\u5bb9\u5982\u4e0b\uff1a

    apiVersion: v1\nkind: Pod\nmetadata:\n  name: my-deployment-with-sidecar-565bd877dd-nqkk6\n  generateName: my-deployment-with-sidecar-565bd877dd-\n  namespace: default\n  uid: aa89ca0d-620c-4d20-8bc1-37d67bad4ea4\n  resourceVersion: '2668986'\n  creationTimestamp: '2022-04-08T05:58:48Z'\n  labels:\n    app: my-pod-with-sidecar\n    pod-template-hash: 565bd877dd\n  annotations:\n    cni.projectcalico.org/containerID: 234eae5e55ea53db2a4bc2c0384b9a1021ed3908f82a675e4a92a49a7e80dd61\n    cni.projectcalico.org/podIP: 192.168.134.133/32\n    cni.projectcalico.org/podIPs: 192.168.134.133/32\n    instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\nspec:\n  volumes:\n    - name: kube-api-access-sp2mz\n      projected:\n        sources:\n          - serviceAccountToken:\n              expirationSeconds: 3607\n              path: token\n          - configMap:\n              name: kube-root-ca.crt\n              items:\n                - key: ca.crt\n                  path: ca.crt\n          - downwardAPI:\n              items:\n                - path: namespace\n                  fieldRef:\n                    apiVersion: v1\n                    fieldPath: metadata.namespace\n        defaultMode: 420\n    - name: opentelemetry-auto-instrumentation\n      emptyDir: {}\n  initContainers:\n    - name: opentelemetry-auto-instrumentation\n      image: >-\n        ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java\n      command:\n        - cp\n        - /javaagent.jar\n        - /otel-auto-instrumentation/javaagent.jar\n      resources: {}\n      volumeMounts:\n        - name: opentelemetry-auto-instrumentation\n          mountPath: /otel-auto-instrumentation\n        - name: kube-api-access-sp2mz\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  containers:\n    - name: myapp\n      image: ghcr.io/pavolloffay/spring-petclinic:latest\n      env:\n        - name: OTEL_JAVAAGENT_DEBUG\n          value: 'true'\n        - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n          value: 'true'\n        - name: SPLUNK_PROFILER_ENABLED\n          value: 'false'\n        - name: JAVA_TOOL_OPTIONS\n          value: ' -javaagent:/otel-auto-instrumentation/javaagent.jar'\n        - name: OTEL_TRACES_EXPORTER\n          value: otlp\n        - name: OTEL_EXPORTER_OTLP_ENDPOINT\n          value: http://insight-agent-opentelemetry-collector.svc.cluster.local:4317\n        - name: OTEL_EXPORTER_OTLP_TIMEOUT\n          value: '20'\n        - name: OTEL_TRACES_SAMPLER\n          value: parentbased_traceidratio\n        - name: OTEL_TRACES_SAMPLER_ARG\n          value: '0.85'\n        - name: SPLUNK_TRACE_RESPONSE_HEADER_ENABLED\n          value: 'true'\n        - name: OTEL_SERVICE_NAME\n          value: my-deployment-with-sidecar\n        - name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: metadata.name\n        - name: OTEL_RESOURCE_ATTRIBUTES_POD_UID\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: metadata.uid\n        - name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: spec.nodeName\n        - name: OTEL_RESOURCE_ATTRIBUTES\n          value: >-\n            k8s.container.name=myapp,k8s.deployment.name=my-deployment-with-sidecar,k8s.deployment.uid=8de6929d-dda0-436c-bca1-604e9ca7ea4e,k8s.namespace.name=default,k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME),k8s.pod.uid=$(OTEL_RESOURCE_ATTRIBUTES_POD_UID),k8s.replicaset.name=my-deployment-with-sidecar-565bd877dd,k8s.replicaset.uid=190d5f6e-ba7f-4794-b2e6-390b5879a6c4\n        - name: OTEL_PROPAGATORS\n          value: jaeger,b3\n      resources: {}\n      volumeMounts:\n        - name: kube-api-access-sp2mz\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n        - name: opentelemetry-auto-instrumentation\n          mountPath: /otel-auto-instrumentation\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  restartPolicy: Always\n  terminationGracePeriodSeconds: 30\n  dnsPolicy: ClusterFirst\n  serviceAccountName: default\n  serviceAccount: default\n  nodeName: k8s-master3\n  securityContext:\n    runAsUser: 1000\n    runAsGroup: 3000\n    fsGroup: 2000\n  schedulerName: default-scheduler\n  tolerations:\n    - key: node.kubernetes.io/not-ready\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n    - key: node.kubernetes.io/unreachable\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n  priority: 0\n  enableServiceLinks: true\n  preemptionPolicy: PreemptLowerPriority\n
    "},{"location":"admin/insight/quickstart/otel/operator.html#_5","title":"\u94fe\u8def\u67e5\u8be2","text":"

    \u5982\u4f55\u67e5\u8be2\u5df2\u7ecf\u63a5\u5165\u7684\u670d\u52a1\uff0c\u53c2\u8003\u94fe\u8def\u67e5\u8be2\u3002

    "},{"location":"admin/insight/quickstart/otel/otel.html","title":"\u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027","text":"

    \u589e\u5f3a\u662f\u4f7f\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u80fd\u591f\u751f\u6210\u9065\u6d4b\u6570\u636e\u7684\u8fc7\u7a0b\u3002\u5373\u4e00\u4e9b\u53ef\u4ee5\u5e2e\u52a9\u60a8\u76d1\u89c6\u6216\u6d4b\u91cf\u5e94\u7528\u7a0b\u5e8f\u7684\u6027\u80fd\u548c\u72b6\u6001\u7684\u4e1c\u897f\u3002

    OpenTelemetry \u662f\u9886\u5148\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u4e3a\u4e3b\u8981\u7f16\u7a0b\u8bed\u8a00\u548c\u6d41\u884c\u6846\u67b6\u63d0\u4f9b\u68c0\u6d4b\u5e93\u3002\u5b83\u662f\u4e91\u539f\u751f\u8ba1\u7b97\u57fa\u91d1\u4f1a\u4e0b\u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5f97\u5230\u4e86\u793e\u533a\u5e9e\u5927\u8d44\u6e90\u7684\u652f\u6301\u3002 \u5b83\u4e3a\u91c7\u96c6\u7684\u6570\u636e\u63d0\u4f9b\u6807\u51c6\u5316\u7684\u6570\u636e\u683c\u5f0f\uff0c\u65e0\u9700\u96c6\u6210\u7279\u5b9a\u7684\u4f9b\u5e94\u5546\u3002

    Insight \u652f\u6301\u7528\u4e8e\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u7684 OpenTelemetry \u6765\u589e\u5f3a\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u3002

    \u672c\u6307\u5357\u4ecb\u7ecd\u4e86\u4f7f\u7528 OpenTelemetry \u8fdb\u884c\u9065\u6d4b\u589e\u5f3a\u7684\u57fa\u672c\u6982\u5ff5\u3002 OpenTelemetry \u8fd8\u6709\u4e00\u4e2a\u7531\u5e93\u3001\u63d2\u4ef6\u3001\u96c6\u6210\u548c\u5176\u4ed6\u6709\u7528\u5de5\u5177\u7ec4\u6210\u7684\u751f\u6001\u7cfb\u7edf\u6765\u6269\u5c55\u5b83\u3002 \u60a8\u53ef\u4ee5\u5728 Otel Registry \u4e2d\u627e\u5230\u8fd9\u4e9b\u8d44\u6e90\u3002

    \u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u5f00\u653e\u6807\u51c6\u5e93\u8fdb\u884c\u9065\u6d4b\u589e\u5f3a\uff0c\u5e76\u4f7f\u7528 Insight \u4f5c\u4e3a\u53ef\u89c2\u5bdf\u6027\u540e\u7aef\u6765\u6444\u53d6\u3001\u5206\u6790\u548c\u53ef\u89c6\u5316\u6570\u636e\u3002

    \u4e3a\u4e86\u589e\u5f3a\u60a8\u7684\u4ee3\u7801\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 OpenTelemetry \u4e3a\u7279\u5b9a\u8bed\u8a00\u63d0\u4f9b\u7684\u589e\u5f3a\u64cd\u4f5c\uff1a

    Insight \u76ee\u524d\u63d0\u4f9b\u4e86\u4f7f\u7528 OpenTelemetry \u589e\u5f3a .Net NodeJS\u3001Java\u3001Python \u548c Golang \u5e94\u7528\u7a0b\u5e8f\u7684\u7b80\u5355\u65b9\u6cd5\u3002\u8bf7\u9075\u5faa\u4ee5\u4e0b\u6307\u5357\u3002

    "},{"location":"admin/insight/quickstart/otel/otel.html#_1","title":"\u94fe\u8def\u589e\u5f3a","text":"
    • \u94fe\u8def\u63a5\u5165\u7684\u6700\u4f73\u5b9e\u8df5\uff1a\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a
    • \u4ee5 Go \u8bed\u8a00\u4e3a\u4f8b\u7684\u624b\u52a8\u57cb\u70b9\u63a5\u5165\uff1a\u4f7f\u7528 OpenTelemetry SDK \u589e\u5f3a Go \u5e94\u7528\u7a0b\u5e8f
    • \u5229\u7528 ebpf \u5b9e\u73b0 Go \u8bed\u8a00\u65e0\u4fb5\u5165\u63a2\u9488\uff08\u5b9e\u9a8c\u6027\u529f\u80fd\uff09
    "},{"location":"admin/insight/quickstart/otel/send_tracing_to_insight.html","title":"\u5411 Insight \u53d1\u9001\u94fe\u8def\u6570\u636e","text":"

    \u6b64\u6587\u6863\u4e3b\u8981\u63cf\u8ff0\u5ba2\u6237\u5e94\u7528\u5982\u4f55\u81ea\u884c\u5c06\u94fe\u8def\u6570\u636e\u4e0a\u62a5\u7ed9 Insight\u3002\u4e3b\u8981\u5305\u542b\u5982\u4e0b\u4e24\u79cd\u573a\u666f\uff1a

    1. \u5ba2\u6237\u5e94\u7528\u901a\u8fc7 OTEL Agent/SDK \u4e0a\u62a5\u94fe\u8def\u7ed9 Insight
    2. \u901a\u8fc7 Opentelemtry Collector(\u7b80\u79f0 OTEL COL) \u5c06\u94fe\u8def\u8f6c\u53d1\u7ed9 Insight

    \u5728\u6bcf\u4e2a\u5df2\u5b89\u88c5 Insight Agent \u7684\u96c6\u7fa4\u4e2d\u90fd\u6709 insight-agent-otel-col \u7ec4\u4ef6\u7528\u4e8e\u7edf\u4e00\u63a5\u6536\u8be5\u96c6\u7fa4\u7684\u94fe\u8def\u6570\u636e\u3002 \u56e0\u6b64\uff0c\u8be5\u7ec4\u4ef6\u4f5c\u4e3a\u7528\u6237\u63a5\u5165\u4fa7\u7684\u5165\u53e3\uff0c\u9700\u8981\u5148\u83b7\u53d6\u8be5\u5730\u5740\u3002\u53ef\u4ee5\u901a\u8fc7 AI \u7b97\u529b\u4e2d\u5fc3 \u754c\u9762\u83b7\u53d6\u8be5\u96c6\u7fa4 Opentelemtry Collector \u7684\u5730\u5740\uff0c \u6bd4\u5982 insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 \uff1a

    \u9664\u6b64\u4e4b\u5916\uff0c\u9488\u5bf9\u4e0d\u540c\u4e0a\u62a5\u65b9\u5f0f\uff0c\u6709\u4e00\u4e9b\u7ec6\u5fae\u5dee\u522b\uff1a

    "},{"location":"admin/insight/quickstart/otel/send_tracing_to_insight.html#otel-agentsdk-insight-agent-opentelemtry-collector","title":"\u5ba2\u6237\u5e94\u7528\u901a\u8fc7 OTel Agent/SDK \u4e0a\u62a5\u94fe\u8def\u7ed9 Insight Agent Opentelemtry Collector","text":"

    \u4e3a\u4e86\u80fd\u591f\u5c06\u94fe\u8def\u6570\u636e\u6b63\u5e38\u4e0a\u62a5\u81f3 Insight \u5e76\u80fd\u591f\u5728 Insight \u6b63\u5e38\u5c55\u793a\uff0c\u9700\u8981\u5e76\u5efa\u8bae\u901a\u8fc7\u5982\u4e0b\u73af\u5883\u53d8\u91cf\u63d0\u4f9b OTLP \u6240\u9700\u7684\u5143\u6570\u636e (Resource Attribute)\uff0c\u6709\u4e24\u79cd\u65b9\u5f0f\u53ef\u5b9e\u73b0\uff1a

    • \u5728\u90e8\u7f72\u6587\u4ef6 YAML \u4e2d\u624b\u52a8\u6dfb\u52a0\uff0c\u4f8b\u5982\uff1a

      ...\n- name: OTEL_EXPORTER_OTLP_ENDPOINT\n  value: \"http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\"\n- name: \"OTEL_SERVICE_NAME\"\n  value: my-java-app-name\n- name: \"OTEL_K8S_NAMESPACE\"\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: metadata.namespace\n- name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: spec.nodeName\n- name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: metadata.name\n- name: OTEL_RESOURCE_ATTRIBUTES\n  value: \"k8s.namespace.name=$(OTEL_K8S_NAMESPACE),k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME)\"\n
    • \u5229\u7528 Insight Agent \u81ea\u52a8\u6ce8\u5165\u5982\u4e0a\u5143\u6570\u636e (Resource Attribute) \u80fd\u529b

      \u786e\u4fdd Insight Agent \u6b63\u5e38\u5de5\u4f5c\u5e76 \u5b89\u88c5 Instrumentation CR \u4e4b\u540e\uff0c \u53ea\u9700\u8981\u4e3a Pod \u6dfb\u52a0\u5982\u4e0b Annotation \u5373\u53ef\uff1a

      instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

      \u4e3e\u4f8b\uff1a

      apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-deployment-with-aotu-instrumentation\nspec:\n  selector:\n    matchLabels:\n      app.kubernetes.io/name: my-deployment-with-aotu-instrumentation-kuberntes\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app.kubernetes.io/name: my-deployment-with-aotu-instrumentation-kuberntes\n      annotations:\n        sidecar.opentelemetry.io/inject: \"false\"\n        instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
    "},{"location":"admin/insight/quickstart/otel/send_tracing_to_insight.html#opentelemtry-collector-insight-agent-opentelemtry-collector","title":"\u901a\u8fc7 Opentelemtry Collector \u5c06\u94fe\u8def\u8f6c\u53d1\u7ed9 Insight Agent Opentelemtry Collector","text":"

    \u5728\u4fdd\u8bc1\u5e94\u7528\u6dfb\u52a0\u4e86\u5982\u4e0a\u5143\u6570\u636e\u4e4b\u540e\uff0c\u53ea\u9700\u5728\u5ba2\u6237 Opentelemtry Collector \u91cc\u9762\u65b0\u589e\u4e00\u4e2a OTLP Exporter \u5c06\u94fe\u8def\u6570\u636e\u8f6c\u53d1\u7ed9 Insight Agent Opentelemtry Collector \u5373\u53ef\uff0c\u5982\u4e0b Opentelemtry Collector \u914d\u7f6e\u6587\u4ef6\u6240\u793a\uff1a

    ...\nexporters:\n  otlp/insight:\n    endpoint: insight-opentelemetry-collector.insight-system.svc.cluster.local:4317\nservice:\n...\npipelines:\n...\ntraces:\n  exporters:\n    - otlp/insight\n
    "},{"location":"admin/insight/quickstart/otel/send_tracing_to_insight.html#_1","title":"\u53c2\u8003","text":"
    • \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a
    • \u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html","title":"\u4f7f\u7528 OTel SDK \u589e\u5f3a Go \u5e94\u7528\u7a0b\u5e8f","text":"

    Golang \u65e0\u4fb5\u5165\u5f0f\u63a5\u5165\u94fe\u8def\u8bf7\u53c2\u8003 \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u6587\u6863\uff0c\u901a\u8fc7\u6ce8\u89e3\u5b9e\u73b0\u81ea\u52a8\u63a5\u5165\u94fe\u8def\u3002

    OpenTelemetry \u4e5f\u7b80\u79f0\u4e3a OTel\uff0c\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u53ef\u89c2\u6d4b\u6027\u6846\u67b6\uff0c\u53ef\u4ee5\u5e2e\u52a9\u5728 Go \u5e94\u7528\u7a0b\u5e8f\u4e2d\u751f\u6210\u548c\u6536\u96c6\u9065\u6d4b\u6570\u636e\uff1a\u94fe\u8def\u3001\u6307\u6807\u548c\u65e5\u5fd7\u3002

    \u672c\u6587\u4e3b\u8981\u8bb2\u89e3\u5982\u4f55\u5728 Go \u5e94\u7528\u7a0b\u5e8f\u4e2d\u901a\u8fc7 OpenTelemetry Go SDK \u589e\u5f3a\u5e76\u63a5\u5165\u94fe\u8def\u76d1\u63a7\u3002

    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#otel-sdk-go_1","title":"\u4f7f\u7528 OTel SDK \u589e\u5f3a Go \u5e94\u7528","text":""},{"location":"admin/insight/quickstart/otel/golang/golang.html#_1","title":"\u5b89\u88c5\u76f8\u5173\u4f9d\u8d56","text":"

    \u5fc5\u987b\u5148\u5b89\u88c5\u4e0e OpenTelemetry exporter \u548c SDK \u76f8\u5173\u7684\u4f9d\u8d56\u9879\u3002\u5982\u679c\u60a8\u6b63\u5728\u4f7f\u7528\u5176\u4ed6\u8bf7\u6c42\u8def\u7531\u5668\uff0c\u8bf7\u53c2\u8003\u8bf7\u6c42\u8def\u7531\u3002 \u5207\u6362/\u8fdb\u5165\u5230\u5e94\u7528\u7a0b\u5e8f\u6e90\u6587\u4ef6\u5939\u540e\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

    go get go.opentelemetry.io/otel@v1.19.0 \\\n  go.opentelemetry.io/otel/trace@v1.19.0 \\\n  go.opentelemetry.io/otel/sdk@v1.19.0 \\\n  go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin@v0.46.1 \\\n  go.opentelemetry.io/otel/exporters/otlp/otlptrace@v1.19.0 \\\n  go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.19.0\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#otel-sdk","title":"\u4f7f\u7528 OTel SDK \u521b\u5efa\u521d\u59cb\u5316\u51fd\u6570","text":"

    \u4e3a\u4e86\u8ba9\u5e94\u7528\u7a0b\u5e8f\u80fd\u591f\u53d1\u9001\u6570\u636e\uff0c\u9700\u8981\u4e00\u4e2a\u51fd\u6570\u6765\u521d\u59cb\u5316 OpenTelemetry\u3002\u5728 main.go \u6587\u4ef6\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u4ee3\u7801\u7247\u6bb5:

    import (\n    \"context\"\n    \"os\"\n    \"time\"\n\n    \"go.opentelemetry.io/otel\"\n    \"go.opentelemetry.io/otel/exporters/otlp/otlptrace\"\n    \"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc\"\n    \"go.opentelemetry.io/otel/propagation\"\n    \"go.opentelemetry.io/otel/sdk/resource\"\n    sdktrace \"go.opentelemetry.io/otel/sdk/trace\"\n    semconv \"go.opentelemetry.io/otel/semconv/v1.7.0\"\n    \"go.uber.org/zap\"\n    \"google.golang.org/grpc\"\n)\n\nvar tracerExp *otlptrace.Exporter\n\nfunc retryInitTracer() func() {\n    var shutdown func()\n    go func() {\n        for {\n            // otel will reconnected and re-send spans when otel col recover. so, we don't need to re-init tracer exporter.\n            if tracerExp == nil {\n                shutdown = initTracer()\n            } else {\n                break\n            }\n            time.Sleep(time.Minute * 5)\n        }\n    }()\n    return shutdown\n}\n\nfunc initTracer() func() {\n    // temporarily set timeout to 10s\n    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)\n    defer cancel()\n\n    serviceName, ok := os.LookupEnv(\"OTEL_SERVICE_NAME\")\n    if !ok {\n        serviceName = \"server_name\"\n        os.Setenv(\"OTEL_SERVICE_NAME\", serviceName)\n    }\n    otelAgentAddr, ok := os.LookupEnv(\"OTEL_EXPORTER_OTLP_ENDPOINT\")\n    if !ok {\n        otelAgentAddr = \"http://localhost:4317\"\n        os.Setenv(\"OTEL_EXPORTER_OTLP_ENDPOINT\", otelAgentAddr)\n    }\n    zap.S().Infof(\"OTLP Trace connect to: %s with service name: %s\", otelAgentAddr, serviceName)\n\n    traceExporter, err := otlptracegrpc.New(ctx, otlptracegrpc.WithInsecure(), otlptracegrpc.WithDialOption(grpc.WithBlock()))\n    if err != nil {\n        handleErr(err, \"OTLP Trace gRPC Creation\")\n        return nil\n    }\n\n    tracerProvider := sdktrace.NewTracerProvider(\n        sdktrace.WithBatcher(traceExporter),\n        sdktrace.WithSampler(sdktrace.AlwaysSample()),\n    sdktrace.WithResource(resource.NewWithAttributes(semconv.SchemaURL)))\n\n    otel.SetTracerProvider(tracerProvider)\n    otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{}))\n\n    tracerExp = traceExporter\n    return func() {\n        // Shutdown will flush any remaining spans and shut down the exporter.\n        handleErr(tracerProvider.Shutdown(ctx), \"failed to shutdown TracerProvider\")\n    }\n}\n\nfunc handleErr(err error, message string) {\n    if err != nil {\n        zap.S().Errorf(\"%s: %v\", message, err)\n    }\n}\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#maingo","title":"\u5728 main.go \u4e2d\u521d\u59cb\u5316\u8ddf\u8e2a\u5668","text":"

    \u4fee\u6539 main \u51fd\u6570\u4ee5\u5728 main.go \u4e2d\u521d\u59cb\u5316\u8ddf\u8e2a\u5668\u3002\u53e6\u5916\u5f53\u60a8\u7684\u670d\u52a1\u5173\u95ed\u65f6\uff0c\u5e94\u8be5\u8c03\u7528 TracerProvider.Shutdown() \u786e\u4fdd\u5bfc\u51fa\u6240\u6709 Span\u3002\u8be5\u670d\u52a1\u5c06\u8be5\u8c03\u7528\u4f5c\u4e3a\u4e3b\u51fd\u6570\u4e2d\u7684\u5ef6\u8fdf\u51fd\u6570\uff1a

    func main() {\n    // start otel tracing\n    if shutdown := retryInitTracer(); shutdown != nil {\n            defer shutdown()\n        }\n    ......\n}\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#otel-gin","title":"\u4e3a\u5e94\u7528\u6dfb\u52a0 OTel Gin \u4e2d\u95f4\u4ef6","text":"

    \u901a\u8fc7\u5728 main.go \u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u884c\u6765\u914d\u7f6e Gin \u4ee5\u4f7f\u7528\u4e2d\u95f4\u4ef6:

    import (\n    ....\n  \"go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin\"\n)\n\nfunc main() {\n    ......\n    r := gin.Default()\n    r.Use(otelgin.Middleware(\"my-app\"))\n    ......\n}\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_2","title":"\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f","text":"
    • \u672c\u5730\u8c03\u8bd5\u8fd0\u884c

      \u6ce8\u610f: \u6b64\u6b65\u9aa4\u4ec5\u7528\u4e8e\u672c\u5730\u5f00\u53d1\u8c03\u8bd5\uff0c\u751f\u4ea7\u73af\u5883\u4e2d Operator \u4f1a\u81ea\u52a8\u5b8c\u6210\u4ee5\u4e0b\u73af\u5883\u53d8\u91cf\u7684\u6ce8\u5165\u3002

      \u4ee5\u4e0a\u6b65\u9aa4\u5df2\u7ecf\u5b8c\u6210\u4e86\u521d\u59cb\u5316 SDK \u7684\u5de5\u4f5c\uff0c\u73b0\u5728\u5982\u679c\u9700\u8981\u5728\u672c\u5730\u5f00\u53d1\u8fdb\u884c\u8c03\u8bd5\uff0c\u9700\u8981\u63d0\u524d\u83b7\u53d6\u5230 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b insight-agent-opentelemerty-collector \u7684\u5730\u5740\uff0c\u5047\u8bbe\u4e3a\uff1a insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 \u3002

      \u56e0\u6b64\uff0c\u53ef\u4ee5\u5728\u4f60\u672c\u5730\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\u7684\u65f6\u5019\u6dfb\u52a0\u5982\u4e0b\u73af\u5883\u53d8\u91cf\uff1a

      OTEL_SERVICE_NAME=my-golang-app OTEL_EXPORTER_OTLP_ENDPOINT=http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 go run main.go...\n
    • \u751f\u4ea7\u73af\u5883\u8fd0\u884c

      \u8bf7\u53c2\u8003\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u4e2d \u53ea\u6ce8\u5165\u73af\u5883\u53d8\u91cf\u6ce8\u89e3 \u76f8\u5173\u4ecb\u7ecd\uff0c\u4e3a deployment yaml \u6dfb\u52a0\u6ce8\u89e3\uff1a

      instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

      \u5982\u679c\u65e0\u6cd5\u4f7f\u7528\u6ce8\u89e3\u7684\u65b9\u5f0f\uff0c\u60a8\u53ef\u4ee5\u624b\u52a8\u5728 deployment yaml \u6dfb\u52a0\u5982\u4e0b\u73af\u5883\u53d8\u91cf\uff1a

    \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\nenv:\n  - name: OTEL_EXPORTER_OTLP_ENDPOINT\n    value: 'http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317'\n  - name: OTEL_SERVICE_NAME\n    value: \"your depolyment name\" # (1)!\n  - name: OTEL_K8S_NAMESPACE\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: metadata.namespace\n  - name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: spec.nodeName\n  - name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: metadata.name\n  - name: OTEL_RESOURCE_ATTRIBUTES\n    value: 'k8s.namespace.name=$(OTEL_K8S_NAMESPACE),k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME)'\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n
    1. \u4fee\u6539\u6b64\u503c
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_3","title":"\u8bf7\u6c42\u8def\u7531","text":""},{"location":"admin/insight/quickstart/otel/golang/golang.html#opentelemetry-gingonic","title":"OpenTelemetry gin/gonic \u589e\u5f3a","text":"
    # Add one line to your import() stanza depending upon your request router:\nmiddleware \"go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin\"\n

    \u7136\u540e\u6ce8\u5165 OpenTelemetry \u4e2d\u95f4\u4ef6\uff1a

    router.Use(middleware.Middleware(\"my-app\"))\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#opentelemetry-gorillamux","title":"OpenTelemetry gorillamux \u589e\u5f3a","text":"
    # Add one line to your import() stanza depending upon your request router:\nmiddleware \"go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux\"\n

    \u7136\u540e\u6ce8\u5165 OpenTelemetry \u4e2d\u95f4\u4ef6\uff1a

    router.Use(middleware.Middleware(\"my-app\"))\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#grpc","title":"gRPC \u589e\u5f3a","text":"

    \u540c\u6837\uff0cOpenTelemetry \u4e5f\u53ef\u4ee5\u5e2e\u52a9\u60a8\u81ea\u52a8\u68c0\u6d4b gRPC \u8bf7\u6c42\u3002\u8981\u68c0\u6d4b\u60a8\u62e5\u6709\u7684\u4efb\u4f55 gRPC \u670d\u52a1\u5668\uff0c\u8bf7\u5c06\u62e6\u622a\u5668\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u7684\u5b9e\u4f8b\u5316\u4e2d\u3002

    import (\n  grpcotel \"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc\"\n)\nfunc main() {\n  [...]\n\n    s := grpc.NewServer(\n        grpc.UnaryInterceptor(grpcotel.UnaryServerInterceptor()),\n        grpc.StreamInterceptor(grpcotel.StreamServerInterceptor()),\n    )\n}\n

    \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5982\u679c\u4f60\u7684\u7a0b\u5e8f\u91cc\u9762\u4f7f\u7528\u5230\u4e86 Grpc Client \u8c03\u7528\u7b2c\u4e09\u65b9\u670d\u52a1\uff0c\u4f60\u8fd8\u9700\u8981\u5bf9 Grpc Client \u6dfb\u52a0\u62e6\u622a\u5668\uff1a

        [...]\n\n    conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(insecure.NewCredentials()),\n        grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor()),\n        grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor()),\n    )\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_4","title":"\u5982\u679c\u4e0d\u4f7f\u7528\u8bf7\u6c42\u8def\u7531","text":"
    import (\n  \"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp\"\n)\n

    \u5728\u5c06 http.Handler \u4f20\u9012\u7ed9 ServeMux \u7684\u6bcf\u4e2a\u5730\u65b9\uff0c\u60a8\u90fd\u5c06\u5305\u88c5\u5904\u7406\u7a0b\u5e8f\u51fd\u6570\u3002\u4f8b\u5982\uff0c\u5c06\u8fdb\u884c\u4ee5\u4e0b\u66ff\u6362\uff1a

    - mux.Handle(\"/path\", h)\n+ mux.Handle(\"/path\", otelhttp.NewHandler(h, \"description of path\"))\n---\n- mux.Handle(\"/path\", http.HandlerFunc(f))\n+ mux.Handle(\"/path\", otelhttp.NewHandler(http.HandlerFunc(f), \"description of path\"))\n

    \u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\uff0c\u60a8\u53ef\u4ee5\u786e\u4fdd\u4f7f\u7528 othttp \u5305\u88c5\u7684\u6bcf\u4e2a\u51fd\u6570\u90fd\u4f1a\u81ea\u52a8\u6536\u96c6\u5176\u5143\u6570\u636e\u5e76\u542f\u52a8\u76f8\u5e94\u7684\u8ddf\u8e2a\u3002

    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_5","title":"\u6570\u636e\u5e93\u8bbf\u95ee\u589e\u5f3a","text":""},{"location":"admin/insight/quickstart/otel/golang/golang.html#golang-gorm","title":"Golang Gorm","text":"

    OpenTelemetry \u793e\u533a\u4e5f\u5f00\u53d1\u4e86\u6570\u636e\u5e93\u8bbf\u95ee\u5e93\u7684\u4e2d\u95f4\u4ef6\uff0c\u6bd4\u5982 Gorm:

    import (\n    \"github.com/uptrace/opentelemetry-go-extra/otelgorm\"\n    \"gorm.io/driver/sqlite\"\n    \"gorm.io/gorm\"\n)\n\ndb, err := gorm.Open(sqlite.Open(\"file::memory:?cache=shared\"), &gorm.Config{})\nif err != nil {\n    panic(err)\n}\n\notelPlugin := otelgorm.NewPlugin(otelgorm.WithDBName(\"mydb\"), # \u7f3a\u5931\u4f1a\u5bfc\u81f4\u6570\u636e\u5e93\u76f8\u5173\u62d3\u6251\u5c55\u793a\u4e0d\u5b8c\u6574\n    otelgorm.WithAttributes(semconv.ServerAddress(\"memory\"))) # \u7f3a\u5931\u4f1a\u5bfc\u81f4\u6570\u636e\u5e93\u76f8\u5173\u62d3\u6251\u5c55\u793a\u4e0d\u5b8c\u6574\nif err := db.Use(otelPlugin); err != nil {\n    panic(err)\n}\n

    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#span","title":"\u81ea\u5b9a\u4e49 Span","text":"

    \u5f88\u591a\u65f6\u5019\uff0cOpenTelemetry \u63d0\u4f9b\u7684\u4e2d\u95f4\u4ef6\u4e0d\u80fd\u5e2e\u52a9\u6211\u4eec\u8bb0\u5f55\u66f4\u591a\u5185\u90e8\u8c03\u7528\u7684\u51fd\u6570\uff0c\u9700\u8981\u6211\u4eec\u81ea\u5b9a\u4e49 Span \u6765\u8bb0\u5f55

     \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n    _, span := otel.Tracer(\"GetServiceDetail\").Start(ctx,\n        \"spanMetricDao.GetServiceDetail\",\n        trace.WithSpanKind(trace.SpanKindInternal))\n    defer span.End()\n  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#span_1","title":"\u5411 span \u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\u548c\u4e8b\u4ef6","text":"

    \u4e5f\u53ef\u4ee5\u5c06\u81ea\u5b9a\u4e49\u5c5e\u6027\u6216\u6807\u7b7e\u8bbe\u7f6e\u4e3a Span\u3002\u8981\u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\u548c\u4e8b\u4ef6\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_6","title":"\u5bfc\u5165\u8ddf\u8e2a\u548c\u5c5e\u6027\u5e93","text":"
    import (\n    ...\n    \"go.opentelemetry.io/otel/attribute\"\n    \"go.opentelemetry.io/otel/trace\"\n)\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#span_2","title":"\u4ece\u4e0a\u4e0b\u6587\u4e2d\u83b7\u53d6\u5f53\u524d Span","text":"
    span := trace.SpanFromContext(c.Request.Context())\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#span_3","title":"\u5728\u5f53\u524d Span \u4e2d\u8bbe\u7f6e\u5c5e\u6027","text":"
    span.SetAttributes(attribute.String(\"controller\", \"books\"))\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#span-event","title":"\u4e3a\u5f53\u524d Span \u6dfb\u52a0 Event","text":"

    \u6dfb\u52a0 span \u4e8b\u4ef6\u662f\u4f7f\u7528 span \u5bf9\u8c61\u4e0a\u7684 AddEvent \u5b8c\u6210\u7684\u3002

    span.AddEvent(msg)\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_7","title":"\u8bb0\u5f55\u9519\u8bef\u548c\u5f02\u5e38","text":"
    import \"go.opentelemetry.io/otel/codes\"\n\n// \u83b7\u53d6\u5f53\u524d span\nspan := trace.SpanFromContext(ctx)\n\n// RecordError \u4f1a\u81ea\u52a8\u5c06\u4e00\u4e2a\u9519\u8bef\u8f6c\u6362\u6210 span even\nspan.RecordError(err)\n\n// \u6807\u8bb0\u8fd9\u4e2a span \u9519\u8bef\nspan.SetStatus(codes.Error, \"internal error\")\n
    "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_8","title":"\u53c2\u8003","text":"

    \u6709\u5173 Demo \u6f14\u793a\u8bf7\u53c2\u8003\uff1a - opentelemetry-demo/productcatalogservice - opentelemetry-collector-contrib/demo

    "},{"location":"admin/insight/quickstart/otel/golang/meter.html","title":"\u4f7f\u7528 OTel SDK \u4e3a\u5e94\u7528\u7a0b\u5e8f\u66b4\u9732\u6307\u6807","text":"

    \u672c\u6587\u4ec5\u4f9b\u5e0c\u671b\u8bc4\u4f30\u6216\u63a2\u7d22\u6b63\u5728\u5f00\u53d1\u7684 OTLP \u6307\u6807\u7684\u7528\u6237\u53c2\u8003\u3002

    OpenTelemetry \u9879\u76ee\u8981\u6c42\u4ee5\u5fc5\u987b\u5728 OpenTelemetry \u534f\u8bae (OTLP) \u4e2d\u53d1\u51fa\u6570\u636e\u7684\u8bed\u8a00\u63d0\u4f9b API \u548c SDK\u3002

    "},{"location":"admin/insight/quickstart/otel/golang/meter.html#golang","title":"\u9488\u5bf9 Golang \u5e94\u7528\u7a0b\u5e8f","text":"

    Golang \u53ef\u4ee5\u901a\u8fc7 sdk \u66b4\u9732 runtime \u6307\u6807\uff0c\u5177\u4f53\u6765\u8bf4\uff0c\u5728\u5e94\u7528\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u65b9\u6cd5\u5f00\u542f metrics \u66b4\u9732\u5668\uff1a

    "},{"location":"admin/insight/quickstart/otel/golang/meter.html#_1","title":"\u5b89\u88c5\u76f8\u5173\u4f9d\u8d56","text":"

    \u5207\u6362/\u8fdb\u5165\u5230\u5e94\u7528\u7a0b\u5e8f\u6e90\u6587\u4ef6\u5939\u540e\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

    go get go.opentelemetry.io/otel \\\n  go.opentelemetry.io/otel/attribute \\\n  go.opentelemetry.io/otel/exporters/prometheus \\\n  go.opentelemetry.io/otel/metric/global \\\n  go.opentelemetry.io/otel/metric/instrument \\\n  go.opentelemetry.io/otel/sdk/metric\n
    "},{"location":"admin/insight/quickstart/otel/golang/meter.html#otel-sdk_1","title":"\u4f7f\u7528 OTel SDK \u521b\u5efa\u521d\u59cb\u5316\u51fd\u6570","text":"
    import (\n    .....\n\n    \"go.opentelemetry.io/otel/attribute\"\n    otelPrometheus \"go.opentelemetry.io/otel/exporters/prometheus\"\n    \"go.opentelemetry.io/otel/metric/global\"\n    \"go.opentelemetry.io/otel/metric/instrument\"\n    \"go.opentelemetry.io/otel/sdk/metric/aggregator/histogram\"\n    controller \"go.opentelemetry.io/otel/sdk/metric/controller/basic\"\n    \"go.opentelemetry.io/otel/sdk/metric/export/aggregation\"\n    processor \"go.opentelemetry.io/otel/sdk/metric/processor/basic\"\n    selector \"go.opentelemetry.io/otel/sdk/metric/selector/simple\"\n)\nfunc (s *insightServer) initMeter() *otelPrometheus.Exporter {\n    s.meter = global.Meter(\"xxx\")\n\n    config := otelPrometheus.Config{\n        DefaultHistogramBoundaries: []float64{1, 2, 5, 10, 20, 50},\n        Gatherer:                   prometheus.DefaultGatherer,\n        Registry:                   prometheus.NewRegistry(),\n        Registerer:                 prometheus.DefaultRegisterer,\n    }\n\n    c := controller.New(\n        processor.NewFactory(\n            selector.NewWithHistogramDistribution(\n                histogram.WithExplicitBoundaries(config.DefaultHistogramBoundaries),\n            ),\n            aggregation.CumulativeTemporalitySelector(),\n            processor.WithMemory(true),\n        ),\n    )\n\n    exporter, err := otelPrometheus.New(config, c)\n    if err != nil {\n        zap.S().Panicf(\"failed to initialize prometheus exporter %v\", err)\n    }\n\n    global.SetMeterProvider(exporter.MeterProvider())\n\n    http.HandleFunc(\"/metrics\", exporter.ServeHTTP)\n\n    go func() {\n        _ = http.ListenAndServe(fmt.Sprintf(\":%d\", 8888), nil)\n    }()\n\n    zap.S().Info(\"Prometheus server running on \", fmt.Sprintf(\":%d\", port))\n    return exporter\n}\n

    \u4ee5\u4e0a\u65b9\u6cd5\u4f1a\u4e3a\u60a8\u7684\u5e94\u7528\u66b4\u9732\u4e00\u4e2a\u6307\u6807\u63a5\u53e3: http://localhost:8888/metrics

    \u968f\u540e\uff0c\u5728 main.go \u4e2d\u5bf9\u5176\u8fdb\u884c\u521d\u59cb\u5316\uff1a

    func main() {\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n    tp := initMeter()\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n}\n

    \u6b64\u5916\uff0c\u5982\u679c\u60f3\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6307\u6807\uff0c\u53ef\u4ee5\u53c2\u8003\uff1a

    // exposeClusterMetric expose metric like \"insight_logging_count{} 1\"\nfunc (s *insightServer) exposeLoggingMetric(lserver *log.LogService) {\n    s.meter = global.Meter(\"insight.io/basic\")\n\n    var lock sync.Mutex\n    logCounter, err := s.meter.AsyncFloat64().Counter(\"insight_log_total\")\n    if err != nil {\n        zap.S().Panicf(\"failed to initialize instrument: %v\", err)\n    }\n\n    _ = s.meter.RegisterCallback([]instrument.Asynchronous{logCounter}, func(ctx context.Context) {\n        lock.Lock()\n        defer lock.Unlock()\n        count, err := lserver.Count(ctx)\n        if err == nil || count != -1 {\n            logCounter.Observe(ctx, float64(count))\n        }\n    })\n}\n

    \u968f\u540e\uff0c\u5728 main.go \u8c03\u7528\u8be5\u65b9\u6cd5\uff1a

    \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\ns.exposeLoggingMetric(lservice)\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n

    \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

    "},{"location":"admin/insight/quickstart/otel/golang/meter.html#java","title":"\u9488\u5bf9 Java \u5e94\u7528\u7a0b\u5e8f","text":"

    Java \u5728\u4f7f\u7528 otel agent \u5728\u5b8c\u6210\u94fe\u8def\u7684\u81ea\u52a8\u63a5\u5165\u7684\u57fa\u7840\u4e0a\uff0c\u901a\u8fc7\u6dfb\u52a0\u73af\u5883\u53d8\u91cf\uff1a

    OTEL_METRICS_EXPORTER=prometheus\n

    \u5c31\u53ef\u4ee5\u76f4\u63a5\u66b4\u9732 JVM \u76f8\u5173\u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

    \u968f\u540e\uff0c\u518d\u914d\u5408 prometheus serviceMonitor \u5373\u53ef\u5b8c\u6210\u6307\u6807\u7684\u63a5\u5165\u3002 \u5982\u679c\u60f3\u66b4\u9732\u81ea\u5b9a\u4e49\u6307\u6807\u8bf7\u53c2\u9605 opentelemetry-java-docs/prometheus\u3002

    \u4e3b\u8981\u5206\u4ee5\u4e0b\u4e24\u6b65\uff1a

    • \u521b\u5efa meter provider\uff0c\u5e76\u6307\u5b9a prometheus \u4f5c\u4e3a exporter\u3002

      /*\n* Copyright The OpenTelemetry Authors\n* SPDX-License-Identifier: Apache-2.0\n*/\n\npackage io.opentelemetry.example.prometheus;\n\nimport io.opentelemetry.api.metrics.MeterProvider;\nimport io.opentelemetry.exporter.prometheus.PrometheusHttpServer;\nimport io.opentelemetry.sdk.metrics.SdkMeterProvider;\nimport io.opentelemetry.sdk.metrics.export.MetricReader;\n\npublic final class ExampleConfiguration {\n\n  /**\n  * Initializes the Meter SDK and configures the prometheus collector with all default settings.\n  *\n  * @param prometheusPort the port to open up for scraping.\n  * @return A MeterProvider for use in instrumentation.\n  */\n  static MeterProvider initializeOpenTelemetry(int prometheusPort) {\n    MetricReader prometheusReader = PrometheusHttpServer.builder().setPort(prometheusPort).build();\n\n    return SdkMeterProvider.builder().registerMetricReader(prometheusReader).build();\n  }\n}\n
    • \u81ea\u5b9a\u4e49 meter \u5e76\u5f00\u542f http server

      package io.opentelemetry.example.prometheus;\n\nimport io.opentelemetry.api.common.Attributes;\nimport io.opentelemetry.api.metrics.Meter;\nimport io.opentelemetry.api.metrics.MeterProvider;\nimport java.util.concurrent.ThreadLocalRandom;\n\n/**\n* Example of using the PrometheusHttpServer to convert OTel metrics to Prometheus format and expose\n* these to a Prometheus instance via a HttpServer exporter.\n*\n* <p>A Gauge is used to periodically measure how many incoming messages are awaiting processing.\n* The Gauge callback gets executed every collection interval.\n*/\npublic final class PrometheusExample {\n  private long incomingMessageCount;\n\n  public PrometheusExample(MeterProvider meterProvider) {\n    Meter meter = meterProvider.get(\"PrometheusExample\");\n    meter\n        .gaugeBuilder(\"incoming.messages\")\n        .setDescription(\"No of incoming messages awaiting processing\")\n        .setUnit(\"message\")\n        .buildWithCallback(result -> result.record(incomingMessageCount, Attributes.empty()));\n  }\n\n  void simulate() {\n    for (int i = 500; i > 0; i--) {\n      try {\n        System.out.println(\n            i + \" Iterations to go, current incomingMessageCount is:  \" + incomingMessageCount);\n        incomingMessageCount = ThreadLocalRandom.current().nextLong(100);\n        Thread.sleep(1000);\n      } catch (InterruptedException e) {\n        // ignored here\n      }\n    }\n  }\n\n  public static void main(String[] args) {\n    int prometheusPort = 8888;\n\n    // it is important to initialize the OpenTelemetry SDK as early as possible in your process.\n    MeterProvider meterProvider = ExampleConfiguration.initializeOpenTelemetry(prometheusPort);\n\n    PrometheusExample prometheusExample = new PrometheusExample(meterProvider);\n\n    prometheusExample.simulate();\n\n    System.out.println(\"Exiting\");\n  }\n}\n

    \u968f\u540e\uff0c\u5f85 java \u5e94\u7528\u7a0b\u5e8f\u8fd0\u884c\u4e4b\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

    "},{"location":"admin/insight/quickstart/otel/golang/meter.html#insight","title":"Insight \u91c7\u96c6\u6307\u6807","text":"

    \u6700\u540e\u91cd\u8981\u7684\u662f\uff0c\u60a8\u5df2\u7ecf\u5728\u5e94\u7528\u7a0b\u5e8f\u4e2d\u66b4\u9732\u51fa\u4e86\u6307\u6807\uff0c\u73b0\u5728\u9700\u8981 Insight \u6765\u91c7\u96c6\u6307\u6807\u3002

    \u63a8\u8350\u7684\u6307\u6807\u66b4\u9732\u65b9\u5f0f\u662f\u901a\u8fc7 servicemonitor \u6216\u8005 podmonitor\u3002

    "},{"location":"admin/insight/quickstart/otel/golang/meter.html#servicemonitorpodmonitor","title":"\u521b\u5efa servicemonitor/podmonitor","text":"

    \u6dfb\u52a0\u7684 servicemonitor/podmonitor \u9700\u8981\u6253\u4e0a label\uff1a\"operator.insight.io/managed-by\": \"insight\" \u624d\u4f1a\u88ab Operator \u8bc6\u522b\uff1a

    apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: example-app\n  labels:\n    operator.insight.io/managed-by: insight\nspec:\n  selector:\n    matchLabels:\n      app: example-app\n  endpoints:\n  - port: web\n  namespaceSelector:\n    any: true\n
    "},{"location":"admin/insight/quickstart/otel/java/index.html","title":"\u5f00\u59cb\u76d1\u63a7 Java \u5e94\u7528","text":"
    1. Java \u5e94\u7528\u94fe\u8def\u63a5\u5165\u4e0e\u76d1\u63a7\u8bf7\u53c2\u8003 \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u6587\u6863\uff0c\u901a\u8fc7\u6ce8\u89e3\u5b9e\u73b0\u81ea\u52a8\u63a5\u5165\u94fe\u8def\u3002

    2. Java \u5e94\u7528\u7684 JVM \u8fdb\u884c\u76d1\u63a7\uff1a\u5df2\u7ecf\u66b4\u9732 JVM \u6307\u6807\u548c\u4ecd\u672a\u66b4\u9732 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5982\u4f55\u4e0e\u53ef\u89c2\u6d4b\u6027 Insight \u5bf9\u63a5\u3002

    3. \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u672a\u5f00\u59cb\u66b4\u9732 JVM \u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u6587\u6863\uff1a

      • \u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807
      • \u4f7f\u7528 OpenTelemetry Java Agent \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807
    4. \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u5df2\u7ecf\u66b4\u9732 JVM \u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u6587\u6863\uff1a

      • \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027
    5. \u5c06 TraceId \u548c SpanId \u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7, \u5b9e\u73b0\u94fe\u8def\u6570\u636e\u4e0e\u65e5\u5fd7\u6570\u636e\u5173\u8054

    "},{"location":"admin/insight/quickstart/otel/java/mdc.html","title":"\u5c06 TraceId \u548c SpanId \u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7","text":"

    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 OpenTelemetry \u5c06 TraceId \u548c SpanId \u81ea\u52a8\u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7\u3002 TraceId \u4e0e SpanId \u5199\u5165\u65e5\u5fd7\u540e\uff0c\u60a8\u53ef\u4ee5\u5c06\u5206\u5e03\u5f0f\u94fe\u8def\u6570\u636e\u4e0e\u65e5\u5fd7\u6570\u636e\u5173\u8054\u8d77\u6765\uff0c\u5b9e\u73b0\u66f4\u9ad8\u6548\u7684\u6545\u969c\u8bca\u65ad\u548c\u6027\u80fd\u5206\u6790\u3002

    "},{"location":"admin/insight/quickstart/otel/java/mdc.html#_1","title":"\u652f\u6301\u7684\u65e5\u5fd7\u5e93","text":"

    \u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 Logger MDC auto-instrumentation\u3002

    \u65e5\u5fd7\u6846\u67b6 \u652f\u6301\u81ea\u52a8\u57cb\u70b9\u7684\u7248\u672c \u624b\u52a8\u57cb\u70b9\u9700\u8981\u5f15\u5165\u7684\u4f9d\u8d56 Log4j 1 1.2+ \u65e0 Log4j 2 2.7+ opentelemetry-log4j-context-data-2.17-autoconfigure Logback 1.0+ opentelemetry-logback-mdc-1.0"},{"location":"admin/insight/quickstart/otel/java/mdc.html#logbackspringboot","title":"\u4f7f\u7528 Logback\uff08SpringBoot \u9879\u76ee\uff09","text":"

    Spring Boot \u9879\u76ee\u5185\u7f6e\u4e86\u65e5\u5fd7\u6846\u67b6\uff0c\u5e76\u4e14\u9ed8\u8ba4\u4f7f\u7528 Logback \u4f5c\u4e3a\u5176\u65e5\u5fd7\u5b9e\u73b0\u3002\u5982\u679c\u60a8\u7684 Java \u9879\u76ee\u4e3a SpringBoot \u9879\u76ee\uff0c\u53ea\u9700\u5c11\u91cf\u914d\u7f6e\u5373\u53ef\u5c06 TraceId \u5199\u5165\u65e5\u5fd7\u3002

    \u5728 application.properties \u4e2d\u8bbe\u7f6e logging.pattern.level\uff0c\u6dfb\u52a0 %mdc{trace_id} \u4e0e %mdc{span_id} \u5230\u65e5\u5fd7\u4e2d\u3002

    logging.pattern.level=trace_id=%mdc{trace_id} span_id=%mdc{span_id} %5p ....\u7701\u7565...\n

    \u4ee5\u4e0b\u4e3a\u65e5\u5fd7\u793a\u4f8b\uff1a

    2024-06-26 10:56:31.200 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'\n2024-06-26 10:56:31.201 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'\n2024-06-26 10:56:31.209 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 8 ms\n2024-06-26 10:56:31.296 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=5743699405074f4e  INFO 53724 --- [nio-8081-exec-1] com.example.httpserver.ot.OTServer       : hello world\n
    "},{"location":"admin/insight/quickstart/otel/java/mdc.html#log4j2","title":"\u4f7f\u7528 Log4j2","text":"
    1. \u5728 pom.xml \u4e2d\u6dfb\u52a0 OpenTelemetry Log4j2 \u4f9d\u8d56:

      Tip

      \u8bf7\u5c06 OPENTELEMETRY_VERSION \u66ff\u6362\u4e3a\u6700\u65b0\u7248\u672c

      <dependencies>\n  <dependency>\n    <groupId>io.opentelemetry.instrumentation</groupId>\n    <artifactId>opentelemetry-log4j-context-data-2.17-autoconfigure</artifactId>\n    <version>OPENTELEMETRY_VERSION</version>\n    <scope>runtime</scope>\n  </dependency>\n</dependencies>\n
    2. \u4fee\u6539 log4j2.xml \u914d\u7f6e\uff0c\u5728 pattern \u4e2d\u6dfb\u52a0 %X{trace_id} \u4e0e %X{span_id}\uff0c\u53ef\u4ee5\u5c06 TraceId \u4e0e SpanId \u81ea\u52a8\u5199\u5165\u65e5\u5fd7:

      <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Configuration>\n  <Appenders>\n    <Console name=\"Console\" target=\"SYSTEM_OUT\">\n      <PatternLayout\n          pattern=\"%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} trace_id=%X{trace_id} span_id=%X{span_id} trace_flags=%X{trace_flags} - %msg%n\"/>\n    </Console>\n  </Appenders>\n  <Loggers>\n    <Root>\n      <AppenderRef ref=\"Console\" level=\"All\"/>\n    </Root>\n  </Loggers>\n</Configuration>\n
    3. \u4f7f\u7528 Logback \u5728 pom.xml \u4e2d\u6dfb\u52a0 OpenTelemetry Logback \u4f9d\u8d56\u3002

      Tip

      \u8bf7\u5c06 OPENTELEMETRY_VERSION \u66ff\u6362\u4e3a\u6700\u65b0\u7248\u672c

      <dependencies>\n  <dependency>\n    <groupId>io.opentelemetry.instrumentation</groupId>\n    <artifactId>opentelemetry-logback-mdc-1.0</artifactId>\n    <version>OPENTELEMETRY_VERSION</version>\n  </dependency>\n</dependencies>\n
    4. \u4fee\u6539 log4j2.xml \u914d\u7f6e\uff0c\u5728 pattern \u4e2d\u6dfb\u52a0 %X{trace_id} \u4e0e %X{span_id}\uff0c\u53ef\u4ee5\u5c06 TraceId \u4e0e SpanId \u81ea\u52a8\u5199\u5165\u65e5\u5fd7:

      <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configuration>\n  <appender name=\"CONSOLE\" class=\"ch.qos.logback.core.ConsoleAppender\">\n    <encoder>\n      <pattern>%d{HH:mm:ss.SSS} trace_id=%X{trace_id} span_id=%X{span_id} trace_flags=%X{trace_flags} %msg%n</pattern>\n    </encoder>\n  </appender>\n\n  <!-- Just wrap your logging appender, for example ConsoleAppender, with OpenTelemetryAppender -->\n  <appender name=\"OTEL\" class=\"io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppender\">\n    <appender-ref ref=\"CONSOLE\"/>\n  </appender>\n\n  <!-- Use the wrapped \"OTEL\" appender instead of the original \"CONSOLE\" one -->\n  <root level=\"INFO\">\n    <appender-ref ref=\"OTEL\"/>\n  </root>\n\n</configuration>\n
    "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html","title":"\u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807","text":"

    JMX-Exporter \u63d0\u4f9b\u4e86\u4e24\u79cd\u7528\u6cd5:

    1. \u542f\u52a8\u72ec\u7acb\u8fdb\u7a0b\u3002JVM \u542f\u52a8\u65f6\u6307\u5b9a\u53c2\u6570\uff0c\u66b4\u9732 JMX \u7684 RMI \u63a5\u53e3\uff0cJMX Exporter \u8c03\u7528 RMI \u83b7\u53d6 JVM \u8fd0\u884c\u65f6\u72b6\u6001\u6570\u636e\uff0c \u8f6c\u6362\u4e3a Prometheus metrics \u683c\u5f0f\uff0c\u5e76\u66b4\u9732\u7aef\u53e3\u8ba9 Prometheus \u91c7\u96c6\u3002
    2. JVM \u8fdb\u7a0b\u5185\u542f\u52a8(in-process)\u3002JVM \u542f\u52a8\u65f6\u6307\u5b9a\u53c2\u6570\uff0c\u901a\u8fc7 javaagent \u7684\u5f62\u5f0f\u8fd0\u884c JMX-Exporter \u7684 jar \u5305\uff0c \u8fdb\u7a0b\u5185\u8bfb\u53d6 JVM \u8fd0\u884c\u65f6\u72b6\u6001\u6570\u636e\uff0c\u8f6c\u6362\u4e3a Prometheus metrics \u683c\u5f0f\uff0c\u5e76\u66b4\u9732\u7aef\u53e3\u8ba9 Prometheus \u91c7\u96c6\u3002

    Note

    \u5b98\u65b9\u4e0d\u63a8\u8350\u4f7f\u7528\u7b2c\u4e00\u79cd\u65b9\u5f0f\uff0c\u4e00\u65b9\u9762\u914d\u7f6e\u590d\u6742\uff0c\u53e6\u4e00\u65b9\u9762\u56e0\u4e3a\u5b83\u9700\u8981\u4e00\u4e2a\u5355\u72ec\u7684\u8fdb\u7a0b\uff0c\u800c\u8fd9\u4e2a\u8fdb\u7a0b\u672c\u8eab\u7684\u76d1\u63a7\u53c8\u6210\u4e86\u65b0\u7684\u95ee\u9898\uff0c \u6240\u4ee5\u672c\u6587\u91cd\u70b9\u56f4\u7ed5\u7b2c\u4e8c\u79cd\u7528\u6cd5\u8bb2\u5982\u4f55\u5728 Kubernetes \u73af\u5883\u4e0b\u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807\u3002

    \u8fd9\u91cc\u4f7f\u7528\u7b2c\u4e8c\u79cd\u7528\u6cd5\uff0c\u542f\u52a8 JVM \u65f6\u9700\u8981\u6307\u5b9a JMX Exporter \u7684 jar \u5305\u6587\u4ef6\u548c\u914d\u7f6e\u6587\u4ef6\u3002 jar \u5305\u662f\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u4e0d\u597d\u901a\u8fc7 configmap \u6302\u8f7d\uff0c\u914d\u7f6e\u6587\u4ef6\u6211\u4eec\u51e0\u4e4e\u4e0d\u9700\u8981\u4fee\u6539\uff0c \u6240\u4ee5\u5efa\u8bae\u662f\u76f4\u63a5\u5c06 JMX Exporter \u7684 jar \u5305\u548c\u914d\u7f6e\u6587\u4ef6\u90fd\u6253\u5305\u5230\u4e1a\u52a1\u5bb9\u5668\u955c\u50cf\u4e2d\u3002

    \u5176\u4e2d\uff0c\u7b2c\u4e8c\u79cd\u65b9\u5f0f\u6211\u4eec\u53ef\u4ee5\u9009\u62e9\u5c06 JMX Exporter \u7684 jar \u6587\u4ef6\u653e\u5728\u4e1a\u52a1\u5e94\u7528\u955c\u50cf\u4e2d\uff0c \u4e5f\u53ef\u4ee5\u9009\u62e9\u5728\u90e8\u7f72\u7684\u65f6\u5019\u6302\u8f7d\u8fdb\u53bb\u3002\u8fd9\u91cc\u5206\u522b\u5bf9\u4e24\u79cd\u65b9\u5f0f\u505a\u4e00\u4e2a\u4ecb\u7ecd\uff1a

    "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html#jmx-exporter-jar","title":"\u65b9\u5f0f\u4e00\uff1a\u5c06 JMX Exporter JAR \u6587\u4ef6\u6784\u5efa\u81f3\u4e1a\u52a1\u955c\u50cf\u4e2d","text":"

    prometheus-jmx-config.yaml \u5185\u5bb9\u5982\u4e0b\uff1a

    prometheus-jmx-config.yaml
    ...\nssl: false\nlowercaseOutputName: false\nlowercaseOutputLabelNames: false\nrules:\n- pattern: \".*\"\n

    Note

    \u66f4\u591a\u914d\u7f6e\u9879\u8bf7\u53c2\u8003\u5e95\u90e8\u4ecb\u7ecd\u6216Prometheus \u5b98\u65b9\u6587\u6863\u3002

    \u7136\u540e\u51c6\u5907 jar \u5305\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728 jmx_exporter \u7684 Github \u9875\u9762\u627e\u5230\u6700\u65b0\u7684 jar \u5305\u4e0b\u8f7d\u5730\u5740\u5e76\u53c2\u8003\u5982\u4e0b Dockerfile:

    FROM openjdk:11.0.15-jre\nWORKDIR /app/\nCOPY target/my-app.jar ./\nCOPY prometheus-jmx-config.yaml ./\nRUN set -ex; \\\n    curl -L -O https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.17.2/jmx_prometheus_javaagent-0.17.2.jar;\nENV JAVA_TOOL_OPTIONS=-javaagent:/app/jmx_prometheus_javaagent-0.17.2.jar=8088:/app/prometheus-jmx-config.yaml\nEXPOSE 8081 8999 8080 8888\nENTRYPOINT java $JAVA_OPTS -jar my-app.jar\n

    \u6ce8\u610f\uff1a

    • \u542f\u52a8\u53c2\u6570\u683c\u5f0f\uff1a-javaagent:=:
    • \u8fd9\u91cc\u4f7f\u7528\u4e86 8088 \u7aef\u53e3\u66b4\u9732 JVM \u7684\u76d1\u63a7\u6307\u6807\uff0c\u5982\u679c\u548c Java \u5e94\u7528\u51b2\u7a81\uff0c\u53ef\u81ea\u884c\u66f4\u6539
    "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html#init-container","title":"\u65b9\u5f0f\u4e8c\uff1a\u901a\u8fc7 init container \u5bb9\u5668\u6302\u8f7d","text":"

    \u6211\u4eec\u9700\u8981\u5148\u5c06 JMX exporter \u505a\u6210 Docker \u955c\u50cf, \u4ee5\u4e0b Dockerfile \u4ec5\u4f9b\u53c2\u8003\uff1a

    FROM alpine/curl:3.14\nWORKDIR /app/\n# \u5c06\u524d\u9762\u521b\u5efa\u7684 config \u6587\u4ef6\u62f7\u8d1d\u81f3\u955c\u50cf\nCOPY prometheus-jmx-config.yaml ./\n# \u5728\u7ebf\u4e0b\u8f7d jmx prometheus javaagent jar\nRUN set -ex; \\\n    curl -L -O https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.17.2/jmx_prometheus_javaagent-0.17.2.jar;\n

    \u6839\u636e\u4e0a\u9762 Dockerfile \u6784\u5efa\u955c\u50cf\uff1a docker build -t my-jmx-exporter .

    \u5728 Java \u5e94\u7528\u90e8\u7f72 Yaml \u4e2d\u52a0\u5165\u5982\u4e0b init container\uff1a

    \u70b9\u51fb\u5c55\u5f00 YAML \u6587\u4ef6
    apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-demo-app\n  labels:\n    app: my-demo-app\nspec:\n  selector:\n    matchLabels:\n      app: my-demo-app\n  template:\n    metadata:\n      labels:\n        app: my-demo-app\n    spec:\n      imagePullSecrets:\n      - name: registry-pull\n      initContainers:\n      - name: jmx-sidecar\n        image: my-jmx-exporter\n        command: [\"cp\", \"-r\", \"/app/jmx_prometheus_javaagent-0.17.2.jar\", \"/target/jmx_prometheus_javaagent-0.17.2.jar\"]  \u278a\n        volumeMounts:\n        - name: sidecar\n          mountPath: /target\n      containers:\n      - image: my-demo-app-image\n        name: my-demo-app\n        resources:\n          requests:\n            memory: \"1000Mi\"\n            cpu: \"500m\"\n          limits:\n            memory: \"1000Mi\"\n            cpu: \"500m\"\n        ports:\n        - containerPort: 18083\n        env:\n        - name: JAVA_TOOL_OPTIONS\n          value: \"-javaagent:/app/jmx_prometheus_javaagent-0.17.2.jar=8088:/app/prometheus-jmx-config.yaml\" \u278b\n        volumeMounts:\n        - name: host-time\n          mountPath: /etc/localtime\n          readOnly: true\n        - name: sidecar\n          mountPath: /sidecar\n      volumes:\n      - name: host-time\n        hostPath:\n          path: /etc/localtime\n      - name: sidecar  #\u5171\u4eab agent \u6587\u4ef6\u5939\n        emptyDir: {}\n      restartPolicy: Always\n

    \u7ecf\u8fc7\u5982\u4e0a\u7684\u6539\u9020\u4e4b\u540e\uff0c\u793a\u4f8b\u5e94\u7528 my-demo-app \u5177\u5907\u4e86\u66b4\u9732 JVM \u6307\u6807\u7684\u80fd\u529b\u3002 \u8fd0\u884c\u670d\u52a1\u4e4b\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 http://lcoalhost:8088 \u8bbf\u95ee\u670d\u52a1\u66b4\u9732\u51fa\u6765\u7684 prometheus \u683c\u5f0f\u7684\u6307\u6807\u3002

    \u63a5\u7740\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003 \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027\u3002

    "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/legacy-jvm.html","title":"\u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027","text":"

    \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u901a\u8fc7\u5176\u4ed6\u65b9\u5f0f\uff08\u6bd4\u5982 Spring Boot Actuator\uff09\u66b4\u9732\u4e86 JVM \u7684\u76d1\u63a7\u6307\u6807\uff0c \u6211\u4eec\u9700\u8981\u8ba9\u76d1\u63a7\u6570\u636e\u88ab\u91c7\u96c6\u5230\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u6dfb\u52a0\u6ce8\u89e3\uff08Kubernetes Annotations\uff09\u7684\u65b9\u5f0f\u8ba9 Insight \u6765\u91c7\u96c6\u5df2\u6709\u7684 JVM \u6307\u6807\uff1a

    annatation: \n  insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n  insight.opentelemetry.io/metric-path: \"/\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n  insight.opentelemetry.io/metric-port: \"9464\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n

    \u4f8b\u5982\u4e3a my-deployment-app \u6dfb\u52a0\u6ce8\u89e3\uff1a

    apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-deployment-app\nspec:\n  selector:\n    matchLabels:\n      app: my-deployment-app\n      app.kubernetes.io/name: my-deployment-app\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app: my-deployment-app\n        app.kubernetes.io/name: my-deployment-app\n      annotations:\n        insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n        insight.opentelemetry.io/metric-path: \"/\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n        insight.opentelemetry.io/metric-port: \"9464\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n

    \u4ee5\u4e0b\u662f\u5b8c\u6574\u793a\u4f8b\uff1a

    ---\napiVersion: v1\nkind: Service\nmetadata:\n  name: spring-boot-actuator-prometheus-metrics-demo\nspec:\n  type: NodePort\n  selector:\n    #app: my-deployment-with-aotu-instrumentation-app\n    app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n  ports:\n    - name: http\n      port: 8080\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: spring-boot-actuator-prometheus-metrics-demo\nspec:\n  selector:\n    matchLabels:\n      #app: my-deployment-with-aotu-instrumentation-app\n      app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n      annotations:\n        insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n        insight.opentelemetry.io/metric-path: \"/actuator/prometheus\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n        insight.opentelemetry.io/metric-port: \"8080\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n    spec:\n      containers:\n        - name: myapp\n          image: docker.m.daocloud.io/wutang/spring-boot-actuator-prometheus-metrics-demo\n          ports:\n            - name: http\n              containerPort: 8080\n          resources:\n            limits:\n              cpu: 500m\n              memory: 800Mi\n            requests:\n              cpu: 200m\n              memory: 400Mi\n

    \u4ee5\u4e0a\u793a\u4f8b\u4e2d\uff0cInsight \u4f1a\u901a\u8fc7 :8080//actuator/prometheus \u6293\u53d6\u901a\u8fc7 Spring Boot Actuator \u66b4\u9732\u51fa\u6765\u7684 Prometheus \u6307\u6807\u3002

    "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html","title":"\u4f7f\u7528 OpenTelemetry Java Agent \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807","text":"

    \u5728 Opentelemetry Agent v1.20.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u4e2d\uff0cOpentelemetry Agent \u65b0\u589e\u4e86 JMX Metric Insight \u6a21\u5757\uff0c\u5982\u679c\u4f60\u7684\u5e94\u7528\u5df2\u7ecf\u96c6\u6210\u4e86 Opentelemetry Agent \u53bb\u91c7\u96c6\u5e94\u7528\u94fe\u8def\uff0c\u90a3\u4e48\u4f60\u4e0d\u518d\u9700\u8981\u53e6\u5916\u5f15\u5165\u5176\u4ed6 Agent \u53bb\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u66b4\u9732 JMX \u6307\u6807\u3002Opentelemetry Agent \u4e5f\u662f\u901a\u8fc7\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u672c\u5730\u53ef\u7528\u7684 MBean \u516c\u5f00\u7684\u6307\u6807\uff0c\u5bf9\u5176\u8fdb\u884c\u6536\u96c6\u5e76\u66b4\u9732\u6307\u6807\u3002

    Opentelemetry Agent \u4e5f\u9488\u5bf9\u5e38\u89c1\u7684 Java Server \u6216\u6846\u67b6\u5185\u7f6e\u4e86\u4e00\u4e9b\u76d1\u63a7\u7684\u6837\u4f8b\uff0c\u8bf7\u53c2\u8003\u9884\u5b9a\u4e49\u7684\u6307\u6807\u3002

    \u4f7f\u7528 OpenTelemetry Java Agent \u540c\u6837\u9700\u8981\u8003\u8651\u5982\u4f55\u5c06 JAR \u6302\u8f7d\u8fdb\u5bb9\u5668\uff0c\u9664\u4e86\u53ef\u4ee5\u53c2\u8003\u4e0a\u9762 JMX Exporter \u6302\u8f7d JAR \u6587\u4ef6\u7684\u65b9\u5f0f\u5916\uff0c\u6211\u4eec\u8fd8\u53ef\u4ee5\u501f\u52a9 Opentelemetry \u63d0\u4f9b\u7684 Operator \u7684\u80fd\u529b\u6765\u5b9e\u73b0\u81ea\u52a8\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u5f00\u542f JVM \u6307\u6807\u66b4\u9732\uff1a

    \u5982\u679c\u4f60\u7684\u5e94\u7528\u5df2\u7ecf\u96c6\u6210\u4e86 Opentelemetry Agent \u53bb\u91c7\u96c6\u5e94\u7528\u94fe\u8def\uff0c\u90a3\u4e48\u4f60\u4e0d\u518d\u9700\u8981\u53e6\u5916\u5f15\u5165\u5176\u4ed6 Agent \u53bb\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u66b4\u9732 JMX \u6307\u6807\u3002Opentelemetry Agent \u901a\u8fc7\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u672c\u5730\u53ef\u7528\u7684 MBean \u516c\u5f00\u7684\u6307\u6807\uff0c\u73b0\u5728\u53ef\u4ee5\u672c\u5730\u6536\u96c6\u5e76\u66b4\u9732\u6307\u6807\u63a5\u53e3\u3002

    \u4f46\u662f\uff0c\u622a\u81f3\u76ee\u524d\u7248\u672c\uff0c\u4f60\u4ecd\u7136\u9700\u8981\u624b\u52a8\u4e3a\u5e94\u7528\u52a0\u4e0a\u76f8\u5e94\u6ce8\u89e3\u4e4b\u540e\uff0cJVM \u6570\u636e\u624d\u4f1a\u88ab Insight \u91c7\u96c6\u5230\uff0c\u5177\u4f53\u6ce8\u89e3\u5185\u5bb9\u8bf7\u53c2\u8003 \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027\u3002

    "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html#java","title":"\u4e3a Java \u4e2d\u95f4\u4ef6\u66b4\u9732\u6307\u6807","text":"

    Opentelemetry Agent \u4e5f\u5185\u7f6e\u4e86\u4e00\u4e9b\u4e2d\u95f4\u4ef6\u76d1\u63a7\u7684\u6837\u4f8b\uff0c\u8bf7\u53c2\u8003 \u9884\u5b9a\u4e49\u6307\u6807\u3002

    \u9ed8\u8ba4\u6ca1\u6709\u6307\u5b9a\u4efb\u4f55\u7c7b\u578b\uff0c\u9700\u8981\u901a\u8fc7 -Dotel.jmx.target.system JVM Options \u6307\u5b9a,\u6bd4\u5982 -Dotel.jmx.target.system=jetty,kafka-broker \u3002

    "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html#_1","title":"\u53c2\u8003","text":"
    • Gaining JMX Metric Insights with the OpenTelemetry Java Agent

    • Otel jmx metrics

    "},{"location":"admin/insight/quickstart/other/install-agent-on-ocp.html","title":"OpenShift \u5b89\u88c5 Insight Agent","text":"

    \u867d\u7136 OpenShift \u7cfb\u7edf\u81ea\u5e26\u4e86\u4e00\u5957\u76d1\u63a7\u7cfb\u7edf\uff0c\u56e0\u4e3a\u6570\u636e\u91c7\u96c6\u7ea6\u5b9a\u7684\u4e00\u4e9b\u89c4\u5219\uff0c\u6211\u4eec\u8fd8\u662f\u4f1a\u5b89\u88c5 Insight Agent\u3002

    \u5176\u4e2d\uff0c\u5b89\u9664\u4e86\u57fa\u7840\u7684\u5b89\u88c5\u914d\u7f6e\u4e4b\u5916\uff0chelm install \u7684\u65f6\u5019\u8fd8\u9700\u8981\u589e\u52a0\u5982\u4e0b\u7684\u53c2\u6570\uff1a

    ## \u9488\u5bf9 fluentbit \u76f8\u5173\u7684\u53c2\u6570\uff1b\n--set fluent-bit.ocp.enabled=true \\\n--set fluent-bit.serviceAccount.create=false \\\n--set fluent-bit.securityContext.runAsUser=0 \\\n--set fluent-bit.securityContext.seLinuxOptions.type=spc_t \\\n--set fluent-bit.securityContext.readOnlyRootFilesystem=false \\\n--set fluent-bit.securityContext.allowPrivilegeEscalation=false \\\n\n## \u542f\u7528\u9002\u914d OpenShift4.x \u7684 Prometheus(CR)\n--set compatibility.openshift.prometheus.enabled=true \\\n\n## \u5173\u95ed\u9ad8\u7248\u672c\u7684 Prometheus \u5b9e\u4f8b\n--set kube-prometheus-stack.prometheus.enabled=false \\\n--set kube-prometheus-stack.kubeApiServer.enabled=false \\\n--set kube-prometheus-stack.kubelet.enabled=false \\\n--set kube-prometheus-stack.kubeControllerManager.enabled=false \\\n--set kube-prometheus-stack.coreDns.enabled=false \\\n--set kube-prometheus-stack.kubeDns.enabled=false \\\n--set kube-prometheus-stack.kubeEtcd.enabled=false \\\n--set kube-prometheus-stack.kubeEtcd.enabled=false \\\n--set kube-prometheus-stack.kubeScheduler.enabled=false \\\n--set kube-prometheus-stack.kubeStateMetrics.enabled=false \\\n--set kube-prometheus-stack.nodeExporter.enabled=false \\\n\n## \u9650\u5236 PrometheusOperator \u5904\u7406\u7684 namespace\uff0c\u907f\u514d\u4e0e OpenShift \u81ea\u5e26\u7684 PrometheusOperator \u76f8\u4e92\u7ade\u4e89\n--set kube-prometheus-stack.prometheusOperator.kubeletService.namespace=\"insight-system\" \\\n--set kube-prometheus-stack.prometheusOperator.prometheusInstanceNamespaces=\"insight-system\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[0]=\"openshift-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[1]=\"openshift-user-workload-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[2]=\"openshift-customer-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[3]=\"openshift-route-monitor-operator\" \\\n
    "},{"location":"admin/insight/quickstart/other/install-agent-on-ocp.html#openshift-prometheus","title":"\u901a\u8fc7 OpenShift \u81ea\u8eab\u673a\u5236\uff0c\u5c06\u7cfb\u7edf\u76d1\u63a7\u6570\u636e\u5199\u5165 Prometheus \u4e2d","text":"
    apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: cluster-monitoring-config\n  namespace: openshift-monitoring\ndata:\n  config.yaml: |\n    prometheusK8s:\n      remoteWrite:\n        - queueConfig:\n            batchSendDeadline: 60s\n            maxBackoff: 5s\n            minBackoff: 30ms\n            minShards: 1\n            capacity: 5000\n            maxSamplesPerSend: 1000\n            maxShards: 100\n          remoteTimeout: 30s\n          url: http://insight-agent-prometheus.insight-system.svc.cluster.local:9090/api/v1/write\n          writeRelabelConfigs:\n            - action: keep\n              regex: etcd|kubelet|node-exporter|apiserver|kube-state-metrics\n              sourceLabels:\n                - job\n
    "},{"location":"admin/insight/quickstart/other/install-agentindce.html","title":"DCE 4.0 \u4e2d\u5b89\u88c5 Insight Agent","text":"

    \u5728 AI \u7b97\u529b\u4e2d\u5fc3 \u4e2d\uff0c\u53ef\u4ee5\u5c06\u4ee5\u524d\u7684 DCE 4.0 \u4f5c\u4e3a\u5b50\u96c6\u7fa4\u63a5\u5165\u3002\u672c\u6587\u63d0\u4f9b\u5728 DCE4.0 \u96c6\u7fa4\u4e2d\u5b89\u88c5 insight-agent \u65f6\u53ef\u80fd\u9047\u5230\u7684\u95ee\u9898\u4ee5\u53ca\u89e3\u51b3\u65b9\u6848\u3002

    "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_1","title":"\u95ee\u9898\u4e00","text":"

    \u7531\u4e8e\u5927\u591a\u6570 DCE 4.0 \u96c6\u7fa4\u5df2\u5b89\u88c5 dx-insight \u4f5c\u4e3a\u76d1\u63a7\u7cfb\u7edf\uff0c\u82e5\u6b64\u65f6\u5b89\u88c5 insight-agent \u4f1a\u4e0e\u96c6\u7fa4\u4e2d\u5df2\u6709\u7684 Prometheus Operator \u51b2\u7a81\uff0c\u5bfc\u81f4\u65e0\u6cd5\u987a\u5229\u5b89\u88c5\u3002

    "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_2","title":"\u89e3\u51b3\u65b9\u6848","text":"

    \u5f00\u542f prometheus operator \u7684\u53c2\u6570\uff0c\u4fdd\u7559 dx-insight \u4e2d\u7684 prometheus operator\uff0c\u5e76\u517c\u5bb9 5.0 \u4e2d insight-agent \u7684 prometheus operator\u3002

    "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u767b\u5f55 DCE 4.0 \u96c6\u7fa4\uff0c\u8fdb\u5165 \u8bbe\u7f6e -> \u7a7a\u95f4\u7ba1\u7406 -> insight-system -> \u8d85\u5356\u7b56\u7565 \u4e2d\u5220\u9664 insight-system \u4e0b\u7684\u8d85\u5356\u7b56\u7565\u3002

    2. \u767b\u5f55 DCE 4.0 \u96c6\u7fa4\u7684\u63a7\u5236\u53f0\u3002\u5206\u522b\u5728\u4e24\u4e2a Prometheus Operator \u4e2d\u542f\u7528 --deny-namespaces \u53c2\u6570\u3002 \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff08\u4ee5\u4e0b\u547d\u4ee4\u4ec5\u4f9b\u53c2\u8003\uff0c\u5b9e\u9645\u9700\u66ff\u6362\u547d\u4ee4\u4e2d\u7684 Prometheus Operator \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\uff09\u3002

      kubectl edit deploy insight-agent-kube-prometh-operator -n insight-system\n

    Note

    • \u5982\u4e0a\u56fe dx-insight \u7ec4\u4ef6\u90e8\u7f72\u5728 dx-insight \u79df\u6237\u4e0b\uff0cinsight-agent \u90e8\u7f72\u5728 insight-system \u79df\u6237\u4e0b\u3002 \u5728 dx-insight \u4e2d\u7684 prometheus operator \u4e2d\u6dfb\u52a0 --deny-namespaces=insight-system \uff0c \u5728 insight-agent \u4e2d\u7684 prometheus operator \u4e2d\u6dfb\u52a0 --deny-namespaces=dx-insight \u3002
    • \u53ea\u6dfb\u52a0 deny namespace\uff0c\u4e24\u4e2a prometheus operator \u90fd\u53ef\u4ee5\u7ee7\u7eed\u626b\u63cf\u9664\u6b64\u4e4b\u5916\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u800c kube-system \u6216\u5ba2\u6237\u4e1a\u52a1\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u76f8\u5173\u91c7\u96c6\u8d44\u6e90\u4e0d\u53d7\u5f71\u54cd\u3002
    • \u8bf7\u6ce8\u610f node exporter \u7aef\u53e3\u51b2\u7a81\u7684\u95ee\u9898\u3002
    "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_4","title":"\u8865\u5145\u8bf4\u660e","text":"

    \u5f00\u6e90 node-exporter \u9ed8\u8ba4\u5f00\u542f hostnetwork \u4e14\u9ed8\u8ba4\u7aef\u53e3\u4e3a 9100\u3002 \u82e5\u96c6\u7fa4\u5df2\u6709\u7684\u76d1\u63a7\u7cfb\u7edf\u5df2\u5b89\u88c5 node-exporter \uff0c\u5219\u5728\u5b89\u88c5 insight-agent \u65f6\u4f1a\u56e0\u4e3a node-exporter \u7aef\u53e3\u51b2\u7a81\u800c\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\u3002

    Note

    Insight \u7684 node exporter \u4f1a\u5f00\u542f\u4e00\u4e9b\u7279\u6027\u6765\u91c7\u96c6\u7279\u6b8a\u6307\u6807\uff0c\u6240\u4ee5\u63a8\u8350\u5b89\u88c5\u3002

    \u76ee\u524d\u4e0d\u652f\u6301\u5728\u5b89\u88c5\u547d\u4ee4\u4e2d\u4fee\u6539\u7aef\u53e3\uff0c\u9700\u8981\u5728 helm install insight-agent \u4e4b\u540e\u624b\u52a8\u4fee\u6539 insight node-exporter daemonset \u548c svc \u7684\u76f8\u5173\u7aef\u53e3\u3002

    "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_5","title":"\u95ee\u9898\u4e8c","text":"

    Insight Agent \u90e8\u7f72\u6210\u529f\u540e\uff0cfluentbit \u672a\u91c7\u96c6 DCE 4.0 \u7684\u65e5\u5fd7\u3002

    Note

    \u8be5\u95ee\u9898\u5df2\u5728 Insight Agent v0.22.0 \u7248\u672c\u4fee\u590d\uff0c\u5b89\u88c5\u6216\u5347\u7ea7\u540e\u5373\u4e0d\u5b58\u5728\u8be5\u95ee\u9898\u3002

    "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_6","title":"\u89e3\u51b3\u65b9\u6848","text":"

    DCE 4.0 \u7684 Docker \u5b58\u50a8\u76ee\u5f55\u662f /var/lib/containers \uff0c\u4e0e insigh-agent \u7684\u914d\u7f6e\u4e2d\u7684\u8def\u5f84\u4e0d\u540c\uff0c\u6545\u672a\u91c7\u96c6\u65e5\u5fd7\u3002

    "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_7","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u767b\u5f55\u5230\u63a7\u5236\u53f0\u3002
    2. \u4fee\u6539 insight-agent Chart \u4e2d\u7684\u5982\u4e0b\u53c2\u6570\u3002

      fluent-bit:\ndaemonSetVolumeMounts:\n    - name: varlog\n    mountPath: /var/log\n    - name: varlibdockercontainers\n-     mountPath: /var/lib/docker/containers\n+     mountPath: /var/lib/containers/docker/containers\n    readOnly: true\n    - name: etcmachineid\n    mountPath: /etc/machine-id\n    readOnly: true\n    - name: dmesg\n    mountPath: /var/log/dmesg\n    readOnly: true\n
    "},{"location":"admin/insight/quickstart/res-plan/index.html","title":"\u90e8\u7f72\u5bb9\u91cf\u89c4\u5212","text":"

    \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e3a\u4e86\u907f\u514d\u6d88\u8017\u8fc7\u591a\u8d44\u6e90\uff0c\u5df2\u7ecf\u8bbe\u7f6e\u4e86\u8d44\u6e90\u4e0a\u7ebf\uff08resource limit\uff09\uff0c\u53ef\u89c2\u6d4b\u7cfb\u7edf\u9700\u8981\u5904\u7406\u5927\u91cf\u7684\u6570\u636e\uff0c\u5982\u679c\u5bb9\u91cf\u89c4\u5212\u4e0d\u5408\u7406\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7cfb\u7edf\u8d1f\u8f7d\u8fc7\u9ad8\uff0c\u5f71\u54cd\u7a33\u5b9a\u6027\u548c\u53ef\u9760\u6027\u3002

    "},{"location":"admin/insight/quickstart/res-plan/index.html#_2","title":"\u89c2\u6d4b\u7ec4\u4ef6\u7684\u8d44\u6e90\u89c4\u5212","text":"

    \u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u5305\u542b Insight \u548c Insight Agent\u3002\u5176\u4e2d\uff0cInsight \u4e3b\u8981\u8d1f\u8d23\u89c2\u6d4b\u6570\u636e\u7684\u5b58\u50a8\uff0c\u5206\u6790\u4e0e\u5c55\u793a\u3002\u800c Insight Agent \u5305\u542b\u4e86\u6570\u636e\u91c7\u96c6\u3001\u6570\u636e\u5904\u7406\u3001\u6570\u636e\u4e0a\u4f20\u7b49\u529f\u80fd\u3002

    "},{"location":"admin/insight/quickstart/res-plan/index.html#_3","title":"\u5b58\u50a8\u7ec4\u4ef6\u7684\u5bb9\u91cf\u89c4\u5212","text":"

    Insight \u7684\u5b58\u50a8\u7ec4\u4ef6\u4e3b\u8981\u5305\u62ec ElasticSearch \u548c VictoriaMetrics. \u5176\u4e2d\uff0cElasticSearch \u4e3b\u8981\u8d1f\u8d23\u5b58\u50a8\u548c\u67e5\u8be2\u65e5\u5fd7\u4e0e\u94fe\u8def\u6570\u636e\uff0cVictoriaMetrics \u4e3b\u8981\u8d1f\u8d23\u5b58\u50a8\u548c\u67e5\u8be2\u6307\u6807\u6570\u636e\u3002

    • VictoriaMetircs: \u5176\u78c1\u76d8\u7528\u91cf\u4e0e\u5b58\u50a8\u7684\u6307\u6807\u6709\u5173\uff0c\u6839\u636e vmstorage \u7684\u78c1\u76d8\u89c4\u5212 \u9884\u4f30\u5bb9\u91cf\u540e \u8c03\u6574 vmstorage \u78c1\u76d8\u3002
    "},{"location":"admin/insight/quickstart/res-plan/index.html#_4","title":"\u91c7\u96c6\u5668\u7684\u8d44\u6e90\u89c4\u5212","text":"

    Insight Agent \u7684\u91c7\u96c6\u5668\u4e2d\u5305\u542b Proemtheus\uff0c\u867d\u7136 Prometheus \u672c\u8eab\u662f\u4e00\u4e2a\u72ec\u7acb\u7684\u7ec4\u4ef6\uff0c\u4f46\u662f\u5728 Insight Agent \u4e2d\uff0cPrometheus \u4f1a\u88ab\u7528\u4e8e\u91c7\u96c6\u6570\u636e\uff0c\u56e0\u6b64\u9700\u8981\u5bf9 Prometheus \u7684\u8d44\u6e90\u8fdb\u884c\u89c4\u5212\u3002

    • Prometheus\uff1a\u5176\u8d44\u6e90\u7528\u91cf\u4e0e\u91c7\u96c6\u7684\u6307\u6807\u91cf\u6709\u5173\uff0c\u53ef\u4ee5\u53c2\u8003 Prometheus \u8d44\u6e90\u89c4\u5212 \u8fdb\u884c\u8c03\u6574\u3002
    "},{"location":"admin/insight/quickstart/res-plan/modify-vms-disk.html","title":"vmstorge \u78c1\u76d8\u6269\u5bb9","text":"

    \u672c\u6587\u63cf\u8ff0\u4e86 vmstorge \u78c1\u76d8\u6269\u5bb9\u7684\u65b9\u6cd5\uff0c vmstorge \u78c1\u76d8\u89c4\u8303\u8bf7\u53c2\u8003 vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212\u3002

    "},{"location":"admin/insight/quickstart/res-plan/modify-vms-disk.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/insight/quickstart/res-plan/modify-vms-disk.html#_2","title":"\u5f00\u542f\u5b58\u50a8\u6c60\u6269\u5bb9","text":"
    1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u70b9\u51fb \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb kpanda-global-cluster \u96c6\u7fa4\u3002

    2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230 vmstorage \u7ed1\u5b9a\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

    3. \u70b9\u51fb\u67d0\u4e2a vmstorage PVC\uff0c\u8fdb\u5165 vmstorage \u7684\u6570\u636e\u5377\u58f0\u660e\u8be6\u60c5\uff0c\u786e\u8ba4\u8be5 PVC \u7ed1\u5b9a\u7684\u5b58\u50a8\u6c60\u3002

    4. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) \uff0c\u627e\u5230 local-path \uff0c\u70b9\u51fb\u76ee\u6807\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u7f16\u8f91 \u3002

    5. \u5f00\u542f \u6269\u5bb9 \u540e\u70b9\u51fb \u786e\u5b9a \u3002

    "},{"location":"admin/insight/quickstart/res-plan/modify-vms-disk.html#vmstorage","title":"\u66f4\u6539 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf","text":"
    1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\u3002

    2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u627e\u5230 vmcluster \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

    3. \u70b9\u51fb\u8be5 vmcluster \u81ea\u5b9a\u4e49\u8d44\u6e90\u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u5207\u6362\u5230 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u4ece insight-victoria-metrics-k8s-stack \u53f3\u4fa7\u83dc\u5355\u9009\u62e9 \u7f16\u8f91 YAML \u3002

    4. \u6839\u636e\u56fe\u4f8b\u4fee\u6539\u540e\u70b9\u51fb \u786e\u5b9a \u3002

    5. \u518d\u6b21\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230 vmstorage \u7ed1\u5b9a\u7684\u6570\u636e\u5377\u58f0\u660e\u786e\u8ba4\u4fee\u6539\u5df2\u751f\u6548\u3002\u5728\u67d0\u4e2a PVC \u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u5173\u8054\u5b58\u50a8\u6e90 (PV)\u3002

    6. \u6253\u5f00\u6570\u636e\u5377\u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u66f4\u65b0 \u6309\u94ae\u3002

    7. \u4fee\u6539 \u5bb9\u91cf \u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u7a0d\u7b49\u7247\u523b\u7b49\u5230\u6269\u5bb9\u6210\u529f\u3002

    "},{"location":"admin/insight/quickstart/res-plan/modify-vms-disk.html#_3","title":"\u514b\u9686\u5b58\u50a8\u5377","text":"

    \u82e5\u5b58\u50a8\u5377\u6269\u5bb9\u5931\u8d25\uff0c\u53ef\u53c2\u8003\u4ee5\u4e0b\u65b9\u6cd5\u514b\u9686\u5b58\u50a8\u5377\u3002

    1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\u3002

    2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u627e\u5230 vmstorage \u7684\u6709\u72b6\u6001\u8d1f\u8f7d\uff0c\u70b9\u51fb\u76ee\u6807\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u72b6\u6001 -> \u505c\u6b62 -> \u786e\u5b9a \u3002

    3. \u5728\u547d\u4ee4\u884c\u4e2d\u767b\u5f55 kpanda-global-cluster \u96c6\u7fa4\u7684 master \u8282\u70b9\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u590d\u5236 vmstorage \u5bb9\u5668\u4e2d\u7684 vm-data \u76ee\u5f55\u5c06\u6307\u6807\u4fe1\u606f\u5b58\u50a8\u5728\u672c\u5730\uff1a

      kubectl cp -n insight-system vmstorage-insight-victoria-metrics-k8s-stack-1:vm-data ./vm-data\n
    4. \u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u514b\u9686 \uff0c\u5e76\u4fee\u6539\u6570\u636e\u5377\u7684\u5bb9\u91cf\u3002

    5. \u5220\u9664\u4e4b\u524d vmstorage \u7684\u6570\u636e\u5377\u3002

    6. \u7a0d\u7b49\u7247\u523b\uff0c\u5f85\u5b58\u50a8\u5377\u58f0\u660e\u8ddf\u514b\u9686\u7684\u6570\u636e\u5377\u7ed1\u5b9a\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u7b2c 3 \u6b65\u4e2d\u5bfc\u51fa\u7684\u6570\u636e\u5bfc\u5165\u5230\u5bf9\u5e94\u7684\u5bb9\u5668\u4e2d\uff0c\u7136\u540e\u5f00\u542f\u4e4b\u524d\u6682\u505c\u7684 vmstorage \u3002

      kubectl cp -n insight-system ./vm-data vmstorage-insight-victoria-metrics-k8s-stack-1:vm-data\n
    "},{"location":"admin/insight/quickstart/res-plan/prometheus-res.html","title":"Prometheus \u8d44\u6e90\u89c4\u5212","text":"

    Prometheus \u5728\u5b9e\u9645\u4f7f\u7528\u8fc7\u7a0b\u4e2d\uff0c\u53d7\u5230\u96c6\u7fa4\u5bb9\u5668\u6570\u91cf\u4ee5\u53ca\u5f00\u542f Istio \u7684\u5f71\u54cd\uff0c\u4f1a\u5bfc\u81f4 Prometheus \u7684 CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u4f7f\u7528\u91cf\u8d85\u51fa\u8bbe\u5b9a\u7684\u8d44\u6e90\u3002

    \u4e3a\u4e86\u4fdd\u8bc1\u4e0d\u540c\u89c4\u6a21\u96c6\u7fa4\u4e0b Prometheus \u7684\u6b63\u5e38\u8fd0\u884c\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u7684\u5b9e\u9645\u89c4\u6a21\u5bf9 Prometheus \u8fdb\u884c\u8d44\u6e90\u8c03\u6574\u3002

    "},{"location":"admin/insight/quickstart/res-plan/prometheus-res.html#_1","title":"\u53c2\u8003\u8d44\u6e90\u89c4\u5212","text":"

    \u5728\u672a\u5f00\u542f\u7f51\u683c\u60c5\u51b5\u4e0b\uff0c\u6d4b\u8bd5\u60c5\u51b5\u7edf\u8ba1\u51fa\u7cfb\u7edf Job \u6307\u6807\u91cf\u4e0e Pod \u7684\u5173\u7cfb\u4e3a Series \u6570\u91cf = 800 * Pod \u6570\u91cf

    \u5728\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6\uff0c\u5f00\u542f\u529f\u80fd\u540e Pod \u4ea7\u751f\u7684 Istio \u76f8\u5173\u6307\u6807\u6570\u91cf\u7ea7\u4e3a Series \u6570\u91cf = 768 * Pod \u6570\u91cf

    "},{"location":"admin/insight/quickstart/res-plan/prometheus-res.html#_2","title":"\u5f53\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"

    \u4ee5\u4e0b\u8d44\u6e90\u89c4\u5212\u4e3a \u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c \u573a\u666f\u4e0b\uff0cPrometheus \u7684\u8d44\u6e90\u89c4\u5212\u63a8\u8350\uff1a

    \u96c6\u7fa4\u89c4\u6a21(Pod \u6570) \u6307\u6807\u91cf(\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c) CPU(core) \u5185\u5b58(GB) 100 8w Request: 0.5Limit\uff1a1 Request\uff1a2GBLimit\uff1a4GB 200 16w Request\uff1a1Limit\uff1a1.5 Request\uff1a3GBLimit\uff1a6GB 300 24w Request\uff1a1Limit\uff1a2 Request\uff1a3GBLimit\uff1a6GB 400 32w Request\uff1a1Limit\uff1a2 Request\uff1a4GBLimit\uff1a8GB 500 40w Request\uff1a1.5Limit\uff1a3 Request\uff1a5GBLimit\uff1a10GB 800 64w Request\uff1a2Limit\uff1a4 Request\uff1a8GBLimit\uff1a16GB 1000 80w Request\uff1a2.5Limit\uff1a5 Request\uff1a9GBLimit\uff1a18GB 2000 160w Request\uff1a3.5Limit\uff1a7 Request\uff1a20GBLimit\uff1a40GB 3000 240w Request\uff1a4Limit\uff1a8 Request\uff1a33GBLimit\uff1a66GB"},{"location":"admin/insight/quickstart/res-plan/prometheus-res.html#_3","title":"\u5f53\u5f00\u542f\u670d\u52a1\u7f51\u683c\u529f\u80fd\u65f6","text":"

    \u4ee5\u4e0b\u8d44\u6e90\u89c4\u5212\u4e3a \u5f00\u542f\u670d\u52a1\u7f51\u683c \u573a\u666f\u4e0b\uff0cPrometheus \u7684\u8d44\u6e90\u89c4\u5212\u63a8\u8350\uff1a

    \u96c6\u7fa4\u89c4\u6a21(Pod \u6570) \u6307\u6807\u91cf(\u5df2\u5f00\u542f\u670d\u52a1\u7f51\u683c) CPU(core) \u5185\u5b58(GB) 100 15w Request: 1Limit\uff1a2 Request\uff1a3GBLimit\uff1a6GB 200 31w Request\uff1a2Limit\uff1a3 Request\uff1a5GBLimit\uff1a10GB 300 46w Request\uff1a2Limit\uff1a4 Request\uff1a6GBLimit\uff1a12GB 400 62w Request\uff1a2Limit\uff1a4 Request\uff1a8GBLimit\uff1a16GB 500 78w Request\uff1a3Limit\uff1a6 Request\uff1a10GBLimit\uff1a20GB 800 125w Request\uff1a4Limit\uff1a8 Request\uff1a15GBLimit\uff1a30GB 1000 156w Request\uff1a5Limit\uff1a10 Request\uff1a18GBLimit\uff1a36GB 2000 312w Request\uff1a7Limit\uff1a14 Request\uff1a40GBLimit\uff1a80GB 3000 468w Request\uff1a8Limit\uff1a16 Request\uff1a65GBLimit\uff1a130GB

    Note

    1. \u8868\u683c\u4e2d\u7684 Pod \u6570\u91cf \u6307\u96c6\u7fa4\u4e2d\u57fa\u672c\u7a33\u5b9a\u8fd0\u884c\u7684 Pod \u6570\u91cf\uff0c\u5982\u51fa\u73b0\u5927\u91cf\u7684 Pod \u91cd\u542f\uff0c\u5219\u4f1a\u9020\u6210\u77ed\u65f6\u95f4\u5185\u6307\u6807\u91cf\u7684\u9661\u589e\uff0c\u6b64\u65f6\u8d44\u6e90\u9700\u8981\u8fdb\u884c\u76f8\u5e94\u4e0a\u8c03\u3002
    2. Prometheus \u5185\u5b58\u4e2d\u9ed8\u8ba4\u4fdd\u5b58\u4e24\u5c0f\u65f6\u6570\u636e\uff0c\u4e14\u96c6\u7fa4\u4e2d\u5f00\u542f\u4e86 Remote Write \u529f\u80fd\u65f6\uff0c\u4f1a\u5360\u7528\u4e00\u5b9a\u5185\u5b58\uff0c\u8d44\u6e90\u8d85\u914d\u6bd4\u5efa\u8bae\u914d\u7f6e\u4e3a 2\u3002
    3. \u8868\u683c\u4e2d\u6570\u636e\u4e3a\u63a8\u8350\u503c\uff0c\u9002\u7528\u4e8e\u901a\u7528\u60c5\u51b5\u3002\u5982\u73af\u5883\u6709\u7cbe\u786e\u7684\u8d44\u6e90\u8981\u6c42\uff0c\u5efa\u8bae\u5728\u96c6\u7fa4\u8fd0\u884c\u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u67e5\u770b\u5bf9\u5e94 Prometheus \u7684\u8d44\u6e90\u5360\u7528\u91cf\u8fdb\u884c\u7cbe\u786e\u914d\u7f6e\u3002
    "},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html","title":"vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212","text":"

    vmstorage \u662f\u8d1f\u8d23\u5b58\u50a8\u53ef\u89c2\u6d4b\u6027\u591a\u96c6\u7fa4\u6307\u6807\u3002 \u4e3a\u4fdd\u8bc1 vmstorage \u7684\u7a33\u5b9a\u6027\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u6570\u91cf\u53ca\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf\u3002 \u66f4\u591a\u8d44\u6599\u8bf7\u53c2\u8003\uff1avmstorage \u4fdd\u7559\u671f\u4e0e\u78c1\u76d8\u7a7a\u95f4\u3002

    "},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_1","title":"\u6d4b\u8bd5\u7ed3\u679c","text":"

    \u7ecf\u8fc7 14 \u5929\u5bf9\u4e0d\u540c\u89c4\u6a21\u7684\u96c6\u7fa4\u7684 vmstorage \u7684\u78c1\u76d8\u89c2\u6d4b\uff0c \u6211\u4eec\u53d1\u73b0 vmstorage \u7684\u78c1\u76d8\u7528\u91cf\u4e0e\u5176\u5b58\u50a8\u7684\u6307\u6807\u91cf\u548c\u5355\u4e2a\u6570\u636e\u70b9\u5360\u7528\u78c1\u76d8\u6b63\u76f8\u5173\u3002

    1. \u77ac\u65f6\u5b58\u50a8\u7684\u6307\u6807\u91cf increase(vm_rows{ type != \"indexdb\"}[30s]) \u4ee5\u83b7\u53d6 30s \u5185\u589e\u52a0\u7684\u6307\u6807\u91cf
    2. \u5355\u4e2a\u6570\u636e\u70b9 (datapoint) \u7684\u5360\u7528\u78c1\u76d8\uff1a sum(vm_data_size_bytes{type!=\"indexdb\"}) /\u00a0sum(vm_rows{type\u00a0!=\u00a0\"indexdb\"})
    "},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_2","title":"\u8ba1\u7b97\u65b9\u6cd5","text":"

    \u78c1\u76d8\u7528\u91cf = \u77ac\u65f6\u6307\u6807\u91cf x 2 x \u5355\u4e2a\u6570\u636e\u70b9\u7684\u5360\u7528\u78c1\u76d8 x 60 x 24 x \u5b58\u50a8\u65f6\u95f4 (\u5929)

    \u53c2\u6570\u8bf4\u660e\uff1a

    1. \u78c1\u76d8\u7528\u91cf\u5355\u4f4d\u4e3a Byte \u3002
    2. \u5b58\u50a8\u65f6\u957f(\u5929) x 60 x 24 \u5c06\u65f6\u95f4(\u5929)\u6362\u7b97\u6210\u5206\u949f\u4ee5\u4fbf\u8ba1\u7b97\u78c1\u76d8\u7528\u91cf\u3002
    3. Insight Agent \u4e2d Prometheus \u9ed8\u8ba4\u91c7\u96c6\u65f6\u95f4\u4e3a 30s \uff0c\u6545\u5728 1 \u5206\u949f\u5185\u4ea7\u751f\u4e24\u500d\u7684\u6307\u6807\u91cf\u3002
    4. vmstorage \u4e2d\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 1 \u4e2a\u6708\uff0c\u4fee\u6539\u914d\u7f6e\u8bf7\u53c2\u8003\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\u3002

    Warning

    \u8be5\u516c\u5f0f\u4e3a\u901a\u7528\u65b9\u6848\uff0c\u5efa\u8bae\u5728\u8ba1\u7b97\u7ed3\u679c\u4e0a\u9884\u7559\u5197\u4f59\u78c1\u76d8\u5bb9\u91cf\u4ee5\u4fdd\u8bc1 vmstorage \u7684\u6b63\u5e38\u8fd0\u884c\u3002

    "},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_3","title":"\u53c2\u8003\u5bb9\u91cf","text":"

    \u8868\u683c\u4e2d\u6570\u636e\u662f\u6839\u636e\u9ed8\u8ba4\u5b58\u50a8\u65f6\u95f4\u4e3a\u4e00\u4e2a\u6708 (30 \u5929)\uff0c\u5355\u4e2a\u6570\u636e\u70b9 (datapoint) \u7684\u5360\u7528\u78c1\u76d8\u53d6 0.9 \u8ba1\u7b97\u6240\u5f97\u7ed3\u679c\u3002 \u591a\u96c6\u7fa4\u573a\u666f\u4e0b\uff0cPod \u6570\u91cf\u8868\u793a\u591a\u96c6\u7fa4 Pod \u6570\u91cf\u7684\u603b\u548c\u3002

    "},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_4","title":"\u5f53\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"\u96c6\u7fa4\u89c4\u6a21 (Pod \u6570) \u6307\u6807\u91cf \u78c1\u76d8\u5bb9\u91cf 100 8w 6 GiB 200 16w 12 GiB 300 24w 18 GiB 400 32w 24 GiB 500 40w 30 GiB 800 64w 48 GiB 1000 80w 60 GiB 2000 160w 120 GiB 3000 240w 180 GiB"},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_5","title":"\u5f53\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"\u96c6\u7fa4\u89c4\u6a21 (Pod \u6570) \u6307\u6807\u91cf \u78c1\u76d8\u5bb9\u91cf 100 15w 12 GiB 200 31w 24 GiB 300 46w 36 GiB 400 62w 48 GiB 500 78w 60 GiB 800 125w 94 GiB 1000 156w 120 GiB 2000 312w 235 GiB 3000 468w 350 GiB"},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_6","title":"\u4e3e\u4f8b\u8bf4\u660e","text":"

    AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u4e2d\u6709\u4e24\u4e2a\u96c6\u7fa4\uff0c\u5176\u4e2d\u5168\u5c40\u670d\u52a1\u96c6\u7fa4(\u5f00\u542f\u670d\u52a1\u7f51\u683c)\u4e2d\u8fd0\u884c 500 \u4e2a Pod\uff0c\u5de5\u4f5c\u96c6\u7fa4(\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c)\u8fd0\u884c\u4e86 1000 \u4e2a Pod\uff0c\u9884\u671f\u6307\u6807\u5b58 30 \u5929\u3002

    • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u6307\u6807\u91cf\u4e3a 800x500 + 768x500 = 784000
    • \u5de5\u4f5c\u96c6\u7fa4\u6307\u6807\u91cf\u4e3a 800x1000 = 800000

    \u5219\u5f53\u524d vmstorage \u78c1\u76d8\u7528\u91cf\u5e94\u8bbe\u7f6e\u4e3a (784000+80000)x2x0.9x60x24x31 = 124384896000 byte = 116 GiB

    Note

    \u96c6\u7fa4\u4e2d\u6307\u6807\u91cf\u4e0e Pod \u6570\u91cf\u7684\u5173\u7cfb\u53ef\u53c2\u8003Prometheus \u8d44\u6e90\u89c4\u5212\u3002

    "},{"location":"admin/insight/system-config/modify-config.html","title":"\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e","text":"

    \u53ef\u89c2\u6d4b\u6027\u4f1a\u9ed8\u8ba4\u6301\u4e45\u5316\u4fdd\u5b58\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u7684\u6570\u636e\uff0c\u60a8\u53ef\u53c2\u9605\u672c\u6587\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\u3002\u8be5\u6587\u6863\u4ec5\u9002\u7528\u4e8e\u5185\u7f6e\u90e8\u7f72\u7684 Elasticsearch\uff0c\u82e5\u4f7f\u7528\u5916\u90e8 Elasticsearch \u53ef\u81ea\u884c\u8c03\u6574\u3002

    "},{"location":"admin/insight/system-config/modify-config.html#_2","title":"\u5982\u4f55\u4fee\u6539\u6307\u6807\u6570\u636e\u4fdd\u7559\u671f\u9650","text":"

    \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u6307\u6807\u6570\u636e\u4fdd\u7559\u671f\u9650\u3002

    1. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

      kubectl edit vmcluster insight-victoria-metrics-k8s-stack -n insight-system\n
    2. \u5728 Yaml \u6587\u4ef6\u4e2d\uff0c retentionPeriod \u7684\u9ed8\u8ba4\u503c\u4e3a 14 \uff0c\u5355\u4f4d\u4e3a \u5929 \u3002\u60a8\u53ef\u6839\u636e\u9700\u6c42\u4fee\u6539\u53c2\u6570\u3002

      apiVersion: operator.victoriametrics.com/v1beta1\nkind: VMCluster\nmetadata:\n  annotations:\n    meta.helm.sh/release-name: insight\n    meta.helm.sh/release-namespace: insight-system\n  creationTimestamp: \"2022-08-25T04:31:02Z\"\n  finalizers:\n  - apps.victoriametrics.com/finalizer\n  generation: 2\n  labels:\n    app.kubernetes.io/instance: insight\n    app.kubernetes.io/managed-by: Helm\n    app.kubernetes.io/name: victoria-metrics-k8s-stack\n    app.kubernetes.io/version: 1.77.2\n    helm.sh/chart: victoria-metrics-k8s-stack-0.9.3\n  name: insight-victoria-metrics-k8s-stack\n  namespace: insight-system\n  resourceVersion: \"123007381\"\n  uid: 55cee8d6-c651-404b-b2c9-50603b405b54\nspec:\n  replicationFactor: 1\n  retentionPeriod: \"14\"\n  vminsert:\n    extraArgs:\n      maxLabelsPerTimeseries: \"45\"\n    image:\n      repository: docker.m.daocloud.io/victoriametrics/vminsert\n      tag: v1.80.0-cluster\n      replicaCount: 1\n
    3. \u4fdd\u5b58\u4fee\u6539\u540e\uff0c\u8d1f\u8d23\u5b58\u50a8\u6307\u6807\u7684\u7ec4\u4ef6\u7684\u5bb9\u5668\u7ec4\u4f1a\u81ea\u52a8\u91cd\u542f\uff0c\u7a0d\u7b49\u7247\u523b\u5373\u53ef\u3002

    "},{"location":"admin/insight/system-config/modify-config.html#_3","title":"\u5982\u4f55\u4fee\u6539\u65e5\u5fd7\u6570\u636e\u5b58\u50a8\u65f6\u957f","text":"

    \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u65e5\u5fd7\u6570\u636e\u4fdd\u7559\u671f\u9650\uff1a

    "},{"location":"admin/insight/system-config/modify-config.html#json","title":"\u65b9\u6cd5\u4e00\uff1a\u4fee\u6539 Json \u6587\u4ef6","text":"
    1. \u4fee\u6539\u4ee5\u4e0b\u6587\u4ef6\u4e2d rollover \u5b57\u6bb5\u4e2d\u7684 max_age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002\u6ce8\u610f\u9700\u8981\u4fee\u6539\u7b2c\u4e00\u884c\u4e2d\u7684 Elastic \u7528\u6237\u540d\u548c\u5bc6\u7801\u3001IP \u5730\u5740\u548c\u7d22\u5f15\u3002

      curl  --insecure --location -u\"elastic:amyVt4o826e322TUVi13Ezw6\" -X PUT \"https://172.30.47.112:30468/_ilm/policy/insight-es-k8s-logs-policy?pretty\" -H 'Content-Type: application/json' -d'\n{\n    \"policy\": {\n        \"phases\": {\n            \"hot\": {\n                \"min_age\": \"0ms\",\n                \"actions\": {\n                    \"set_priority\": {\n                        \"priority\": 100\n                    },\n                    \"rollover\": {\n                        \"max_age\": \"8d\",\n                        \"max_size\": \"10gb\"\n                    }\n                }\n            },\n            \"warm\": {\n                \"min_age\": \"10d\",\n                \"actions\": {\n                    \"forcemerge\": {\n                        \"max_num_segments\": 1\n                    }\n                }\n            },\n            \"delete\": {\n                \"min_age\": \"30d\",\n                \"actions\": {\n                    \"delete\": {}\n                }\n            }\n        }\n    }\n}'\n
    2. \u4fee\u6539\u5b8c\u540e\uff0c\u6267\u884c\u4ee5\u4e0a\u547d\u4ee4\u3002\u5b83\u4f1a\u6253\u5370\u51fa\u5982\u4e0b\u6240\u793a\u5185\u5bb9\uff0c\u5219\u4fee\u6539\u6210\u529f\u3002

      {\n\"acknowledged\" : true\n}\n
    "},{"location":"admin/insight/system-config/modify-config.html#ui","title":"\u65b9\u6cd5\u4e8c\uff1a\u4ece UI \u4fee\u6539","text":"
    1. \u767b\u5f55 kibana \uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f Stack Management \u3002

    2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a Index Lifecycle Polices \uff0c\u5e76\u627e\u5230\u7d22\u5f15 insight-es-k8s-logs-policy \uff0c\u70b9\u51fb\u8fdb\u5165\u8be6\u60c5\u3002

    3. \u5c55\u5f00 Hot phase \u914d\u7f6e\u9762\u677f\uff0c\u4fee\u6539 Maximum age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002

    4. \u4fee\u6539\u5b8c\u540e\uff0c\u70b9\u51fb\u9875\u9762\u5e95\u90e8\u7684 Save policy \u5373\u4fee\u6539\u6210\u529f\u3002

    "},{"location":"admin/insight/system-config/modify-config.html#_4","title":"\u5982\u4f55\u4fee\u6539\u94fe\u8def\u6570\u636e\u5b58\u50a8\u65f6\u957f","text":"

    \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u94fe\u8def\u6570\u636e\u4fdd\u7559\u671f\u9650\uff1a

    "},{"location":"admin/insight/system-config/modify-config.html#json_1","title":"\u65b9\u6cd5\u4e00\uff1a\u4fee\u6539 Json \u6587\u4ef6","text":"
    1. \u4fee\u6539\u4ee5\u4e0b\u6587\u4ef6\u4e2d rollover \u5b57\u6bb5\u4e2d\u7684 max_age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002\u6ce8\u610f\u9700\u8981\u4fee\u6539\u7b2c\u4e00\u884c\u4e2d\u7684 Elastic \u7528\u6237\u540d\u548c\u5bc6\u7801\u3001IP \u5730\u5740\u548c\u7d22\u5f15\u3002

      curl --insecure --location -u\"elastic:amyVt4o826e322TUVi13Ezw6\" -X PUT \"https://172.30.47.112:30468/_ilm/policy/jaeger-ilm-policy?pretty\" -H 'Content-Type: application/json' -d'\n{\n    \"policy\": {\n        \"phases\": {\n            \"hot\": {\n                \"min_age\": \"0ms\",\n                \"actions\": {\n                    \"set_priority\": {\n                        \"priority\": 100\n                    },\n                    \"rollover\": {\n                        \"max_age\": \"6d\",\n                        \"max_size\": \"10gb\"\n                    }\n                }\n            },\n            \"warm\": {\n                \"min_age\": \"10d\",\n                \"actions\": {\n                    \"forcemerge\": {\n                        \"max_num_segments\": 1\n                    }\n                }\n            },\n            \"delete\": {\n                \"min_age\": \"30d\",\n                \"actions\": {\n                    \"delete\": {}\n                }\n            }\n        }\n    }\n}'\n
    2. \u4fee\u6539\u5b8c\u540e\uff0c\u5728\u63a7\u5236\u53f0\u6267\u884c\u4ee5\u4e0a\u547d\u4ee4\u3002\u5b83\u4f1a\u6253\u5370\u51fa\u5982\u4e0b\u6240\u793a\u5185\u5bb9\uff0c\u5219\u4fee\u6539\u6210\u529f\u3002

      {\n\"acknowledged\" : true\n}\n
    "},{"location":"admin/insight/system-config/modify-config.html#ui_1","title":"\u65b9\u6cd5\u4e8c\uff1a\u4ece UI \u4fee\u6539","text":"
    1. \u767b\u5f55 kibana \uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f Stack Management \u3002

    2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a Index Lifecycle Polices \uff0c\u5e76\u627e\u5230\u7d22\u5f15 jaeger-ilm-policy \uff0c\u70b9\u51fb\u8fdb\u5165\u8be6\u60c5\u3002

    3. \u5c55\u5f00 Hot phase \u914d\u7f6e\u9762\u677f\uff0c\u4fee\u6539 Maximum age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002

    4. \u4fee\u6539\u5b8c\u540e\uff0c\u70b9\u51fb\u9875\u9762\u5e95\u90e8\u7684 Save policy \u5373\u4fee\u6539\u6210\u529f\u3002

    "},{"location":"admin/insight/system-config/system-component.html","title":"\u7cfb\u7edf\u7ec4\u4ef6","text":"

    \u5728\u7cfb\u7edf\u7ec4\u4ef6\u9875\u9762\u53ef\u5feb\u901f\u7684\u67e5\u770b\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u72b6\u6001\uff0c\u5f53\u7cfb\u7528\u7ec4\u4ef6\u53d1\u751f\u6545\u969c\u65f6\uff0c\u4f1a\u5bfc\u81f4\u53ef\u89c2\u6d4b\u6a21\u5757\u4e2d\u7684\u90e8\u5206\u529f\u80fd\u4e0d\u53ef\u7528\u3002

    1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff0c
    2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u7cfb\u7edf\u7ba1\u7406 -> \u7cfb\u7edf\u7ec4\u4ef6 \u3002

    "},{"location":"admin/insight/system-config/system-component.html#_2","title":"\u7ec4\u4ef6\u8bf4\u660e","text":"\u6a21\u5757 \u7ec4\u4ef6\u540d\u79f0 \u8bf4\u660e \u6307\u6807 vminsert-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5c06\u5404\u96c6\u7fa4\u4e2d Prometheus \u91c7\u96c6\u5230\u7684\u6307\u6807\u6570\u636e\u5199\u5165\u5b58\u50a8\u7ec4\u4ef6\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u5199\u5165\u5de5\u4f5c\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u3002 \u6307\u6807 vmalert-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u751f\u6548 VM Rule \u4e2d\u914d\u7f6e\u7684 recording \u548c Alert \u89c4\u5219\uff0c\u5e76\u5c06\u89e6\u53d1\u7684\u544a\u8b66\u89c4\u5219\u53d1\u9001\u7ed9 alertmanager\u3002 \u6307\u6807 vmalertmanager-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5728\u544a\u8b66\u89e6\u65f6\u53d1\u9001\u6d88\u606f\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u53d1\u9001\u544a\u8b66\u4fe1\u606f\u3002 \u6307\u6807 vmselect-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u67e5\u8be2\u6307\u6807\u6570\u636e\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u67e5\u8be2\u6307\u6807\u3002 \u6307\u6807 vmstorage-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5b58\u50a8\u591a\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u3002 \u4eea\u8868\u76d8 grafana-deployment \u63d0\u4f9b\u76d1\u63a7\u9762\u677f\u80fd\u529b\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u67e5\u770b\u5185\u7f6e\u7684\u4eea\u8868\u76d8\u3002 \u94fe\u8def insight-jaeger-collector \u8d1f\u8d23\u63a5\u6536\u00a0opentelemetry-collector\u00a0\u4e2d\u94fe\u8def\u6570\u636e\u5e76\u5c06\u5176\u8fdb\u884c\u5b58\u50a8\u3002 \u94fe\u8def insight-jaeger-query \u8d1f\u8d23\u67e5\u8be2\u5404\u96c6\u7fa4\u4e2d\u91c7\u96c6\u5230\u7684\u94fe\u8def\u6570\u636e\u3002 \u94fe\u8def insight-opentelemetry-collector \u8d1f\u8d23\u63a5\u6536\u5404\u5b50\u96c6\u7fa4\u8f6c\u53d1\u7684\u94fe\u8def\u6570\u636e \u65e5\u5fd7 elasticsearch \u8d1f\u8d23\u5b58\u50a8\u5404\u96c6\u7fa4\u7684\u65e5\u5fd7\u6570\u636e\u3002

    Note

    \u82e5\u4f7f\u7528\u5916\u90e8 Elasticsearch \u53ef\u80fd\u65e0\u6cd5\u83b7\u53d6\u90e8\u5206\u6570\u636e\u4ee5\u81f4\u4e8e Elasticsearch \u7684\u4fe1\u606f\u4e3a\u7a7a\u3002

    "},{"location":"admin/insight/system-config/system-config.html","title":"\u7cfb\u7edf\u914d\u7f6e","text":"

    \u7cfb\u7edf\u914d\u7f6e \u5c55\u793a\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u9ed8\u8ba4\u7684\u4fdd\u5b58\u65f6\u957f\u4ee5\u53ca\u9ed8\u8ba4\u7684 Apdex \u9608\u503c\u3002

    1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\uff0c\u9009\u62e9 \u7cfb\u7edf\u914d\u7f6e\u3002

    2. \u4fee\u6539\u5386\u53f2\u544a\u8b66\u5b58\u50a8\u65f6\u957f\uff0c\u70b9\u51fb \u7f16\u8f91 \u8f93\u5165\u76ee\u6807\u65f6\u957f\u3002

      \u5f53\u5b58\u50a8\u65f6\u957f\u8bbe\u7f6e\u4e3a \"0\" \u5c06\u4e0d\u6e05\u9664\u5386\u53f2\u544a\u8b66\u3002

    3. \u4fee\u6539\u62d3\u6251\u56fe\u6e32\u67d3\u9ed8\u8ba4\u914d\u7f6e\uff0c\u70b9\u51fb \u7f16\u8f91 \u6839\u636e\u9700\u6c42\u5b9a\u4e49\u7cfb\u7edf\u4e2d\u62d3\u6251\u56fe\u9608\u503c\u3002

      \u9608\u503c\u8bbe\u7f6e\u5fc5\u987b\u5927\u4e8e 0\uff0c\u524d\u9762\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5c0f\u4e8e\u540e\u9762\u586b\u5199\u7684\u3002\u4e14\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5728\u6700\u5927\u548c\u6700\u5c0f\u7684\u8303\u56f4\u4e4b\u95f4\u3002

    Note

    \u4fee\u6539\u5176\u4ed6\u914d\u7f6e\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u5982\u4f55\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\uff1f

    "},{"location":"admin/insight/trace/service.html","title":"\u670d\u52a1\u76d1\u63a7","text":"

    \u5728 \u53ef\u89c2\u6d4b\u6027 Insight \u4e2d\u670d\u52a1\u662f\u6307\u4f7f\u7528 Opentelemtry SDK \u63a5\u5165\u94fe\u8def\u6570\u636e\uff0c\u670d\u52a1\u76d1\u63a7\u80fd\u591f\u8f85\u52a9\u8fd0\u7ef4\u8fc7\u7a0b\u4e2d\u89c2\u5bdf\u5e94\u7528\u7a0b\u5e8f\u7684\u6027\u80fd\u548c\u72b6\u6001\u3002

    \u5982\u4f55\u4f7f\u7528 OpenTelemetry \u8bf7\u53c2\u8003\u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027\u3002

    "},{"location":"admin/insight/trace/service.html#_2","title":"\u540d\u8bcd\u89e3\u91ca","text":"
    • \u670d\u52a1 \uff1a\u670d\u52a1\u8868\u793a\u4e3a\u4f20\u5165\u8bf7\u6c42\u63d0\u4f9b\u76f8\u540c\u884c\u4e3a\u7684\u4e00\u7ec4\u5de5\u4f5c\u8d1f\u8f7d\u3002\u60a8\u53ef\u4ee5\u5728\u4f7f\u7528 OpenTelemetry SDK \u65f6\u5b9a\u4e49\u670d\u52a1\u540d\u79f0\u6216\u4f7f\u7528 Istio \u4e2d\u5b9a\u4e49\u7684\u540d\u79f0\u3002
    • \u64cd\u4f5c \uff1a\u64cd\u4f5c\u662f\u6307\u4e00\u4e2a\u670d\u52a1\u5904\u7406\u7684\u7279\u5b9a\u8bf7\u6c42\u6216\u64cd\u4f5c\uff0c\u6bcf\u4e2a Span \u90fd\u6709\u4e00\u4e2a\u64cd\u4f5c\u540d\u79f0\u3002
    • \u51fa\u53e3\u6d41\u91cf \uff1a\u51fa\u53e3\u6d41\u91cf\u662f\u6307\u5f53\u524d\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u7684\u6240\u6709\u6d41\u91cf\u3002
    • \u5165\u53e3\u6d41\u91cf \uff1a\u5165\u53e3\u6d41\u91cf\u662f\u6307\u4e0a\u6e38\u670d\u52a1\u5bf9\u5f53\u524d\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u7684\u6240\u6709\u6d41\u91cf\u3002
    "},{"location":"admin/insight/trace/service.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

    \u670d\u52a1\u5217\u8868\u9875\u9762\u5c55\u793a\u4e86\u96c6\u7fa4\u4e2d\u6240\u6709\u5df2\u63a5\u5165\u94fe\u8def\u6570\u636e\u7684\u670d\u52a1\u7684\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u7b49\u5173\u952e\u6307\u6807\u3002 \u60a8\u53ef\u4ee5\u6839\u636e\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u5bf9\u670d\u52a1\u8fdb\u884c\u8fc7\u6ee4\uff0c\u4e5f\u53ef\u4ee5\u6309\u7167\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u5bf9\u8be5\u5217\u8868\u8fdb\u884c\u6392\u5e8f\u3002\u5217\u8868\u4e2d\u7684\u6307\u6807\u6570\u636e\u9ed8\u8ba4\u65f6\u95f4\u4e3a 1 \u5c0f\u65f6\uff0c\u60a8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002

    \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u770b\u670d\u52a1\u76d1\u63a7\u6307\u6807\uff1a

    1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

    2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u670d\u52a1 \u3002

      Attention

      1. \u82e5\u5217\u8868\u4e2d\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u4e3a unknown \u65f6\uff0c\u5219\u8868\u793a\u8be5\u670d\u52a1\u672a\u89c4\u8303\u63a5\u5165\uff0c\u5efa\u8bae\u91cd\u65b0\u63a5\u5165\u3002
      2. \u82e5\u63a5\u5165\u7684\u670d\u52a1\u5b58\u5728\u540c\u540d\u4e14\u5747\u672a\u6b63\u786e\u586b\u5199\u73af\u5883\u53d8\u91cf\u4e2d\u7684 \u547d\u540d\u7a7a\u95f4 \u65f6\uff0c\u5217\u8868\u53ca\u670d\u52a1\u8be6\u60c5\u9875\u4e2d\u5c55\u793a\u7684\u76d1\u63a7\u6570\u636e\u4e3a\u591a\u4e2a\u670d\u52a1\u7684\u6c47\u603b\u6570\u636e\u3002
    3. \u70b9\u51fb\u670d\u52a1\u540d (\u4ee5 insight-server \u4e3a\u4f8b)\uff0c\u70b9\u51fb\u8fdb\u5165\u670d\u52a1\u8be6\u60c5\u9875\uff0c\u67e5\u770b\u670d\u52a1\u7684\u8be6\u7ec6\u6307\u6807\u548c\u8be5\u670d\u52a1\u7684\u64cd\u4f5c\u6307\u6807\u3002

      1. \u5728\u670d\u52a1\u62d3\u6251\u6a21\u5757\u4e2d\uff0c\u60a8\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u6240\u9009\u670d\u52a1\u7684\u4e0a\u4e0b\u5404\u4e00\u5c42\u7684\u670d\u52a1\u62d3\u6251\uff0c\u9f20\u6807\u60ac\u6d6e\u5728\u8282\u70b9\u4e0a\u65f6\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u7684\u4fe1\u606f\u3002
      2. \u5728\u6d41\u91cf\u6307\u6807\u6a21\u5757\uff0c\u60a8\u53ef\u67e5\u770b\u5230\u8be5\u670d\u52a1\u9ed8\u8ba4\u4e00\u5c0f\u65f6\u5185\u5168\u90e8\u8bf7\u6c42\uff08\u5305\u542b\u5165\u53e3\u6d41\u91cf\u548c\u51fa\u53e3\u6d41\u91cf\uff09\u7684\u76d1\u63a7\u6307\u6807\u3002
      3. \u652f\u6301\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u65f6\u95f4\u9009\u62e9\u5668\u5feb\u901f\u9009\u62e9\u65f6\u95f4\u8303\u56f4\uff0c\u6216\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002
      4. \u5728 \u5173\u8054\u5bb9\u5668 \u6a21\u5757\u70b9\u51fb\u5bb9\u5668\u7ec4\u540d\u79f0\uff0c\u53ef\u8df3\u8f6c\u81f3\u5bb9\u5668\u7ec4\u8be6\u60c5\u9875\u3002

    4. \u70b9\u51fb Tab \u5207\u6362\u5230 \u64cd\u4f5c\u6307\u6807 \uff0c\u53ef\u67e5\u8be2\u591a\u9009\u670d\u52a1\u76f8\u540c\u64cd\u4f5c\u7684\u805a\u5408\u8d77\u6765\u7684\u6d41\u91cf\u6307\u6807\u3002

      1. \u652f\u6301\u5bf9\u64cd\u4f5c\u6307\u6807\u4e2d\u7684\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u7b49\u6307\u6807\u8fdb\u884c\u6392\u5e8f\u3002
      2. \u70b9\u51fb\u5355\u4e2a\u64cd\u4f5c\u540e\u7684\u56fe\u6807\uff0c\u53ef\u8df3\u8f6c\u81f3 \u8c03\u7528\u94fe \u5feb\u901f\u67e5\u8be2\u76f8\u5173\u94fe\u8def\u3002

    "},{"location":"admin/insight/trace/service.html#_4","title":"\u670d\u52a1\u6307\u6807\u8bf4\u660e","text":"\u53c2\u6570 \u8bf4\u660e \u541e\u5410\u7387 \u5355\u4f4d\u65f6\u95f4\u5185\u5904\u7406\u8bf7\u6c42\u7684\u6570\u91cf\u3002 \u9519\u8bef\u7387 \u67e5\u8be2\u65f6\u95f4\u8303\u56f4\u5185\u9519\u8bef\u8bf7\u6c42\u4e0e\u8bf7\u6c42\u603b\u6570\u7684\u6bd4\u503c\u3002 P50 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 50% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002 P95 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 95% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002 P99 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 95% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002"},{"location":"admin/insight/trace/topology.html","title":"\u670d\u52a1\u62d3\u6251","text":"

    \u670d\u52a1\u62d3\u6251\u56fe\u662f\u5bf9\u670d\u52a1\u4e4b\u95f4\u8fde\u63a5\u3001\u901a\u4fe1\u548c\u4f9d\u8d56\u5173\u7cfb\u7684\u53ef\u89c6\u5316\u8868\u793a\u3002\u901a\u8fc7\u53ef\u89c6\u5316\u62d3\u6251\u4e86\u89e3\u670d\u52a1\u95f4\u7684\u8c03\u7528\u5173\u7cfb\uff0c \u67e5\u770b\u670d\u52a1\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u7684\u8c03\u7528\u53ca\u5176\u6027\u80fd\u72b6\u51b5\u3002\u62d3\u6251\u56fe\u7684\u8282\u70b9\u4e4b\u95f4\u7684\u8054\u7cfb\u4ee3\u8868\u4e24\u4e2a\u670d\u52a1\u5728\u67e5\u8be2\u65f6\u95f4\u8303\u56f4\u5185\u670d\u52a1\u4e4b\u95f4\u7684\u5b58\u5728\u8c03\u7528\u5173\u7cfb\u3002

    "},{"location":"admin/insight/trace/topology.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
    1. \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002
    2. \u670d\u52a1\u5df2\u901a\u8fc7 Operator \u6216 Opentelemetry SDK \u7684\u65b9\u5f0f\u63a5\u5165\u94fe\u8def\u3002
    "},{"location":"admin/insight/trace/topology.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
    1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u6a21\u5757
    2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u670d\u52a1\u62d3\u6251
    3. \u5728\u62d3\u6251\u56fe\u4e2d\uff0c\u60a8\u53ef\u6309\u9700\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a

      • \u5355\u51fb \u8282\u70b9\uff0c\u4ece\u53f3\u4fa7\u5212\u51fa\u670d\u52a1\u7684\u8be6\u60c5\uff0c\u53ef\u67e5\u770b\u670d\u52a1\u7684\u8bf7\u6c42\u5ef6\u65f6\u3001\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u7684\u6307\u6807\u3002\u70b9\u51fb\u670d\u52a1\u540d\u79f0\u53ef\u8df3\u8f6c\u81f3\u5bf9\u5e94\u670d\u52a1\u7684\u8be6\u60c5\u9875\u3002
      • \u9f20\u6807\u60ac\u6d6e\u5728\u8fde\u7ebf\u4e0a\u65f6\uff0c\u53ef\u67e5\u770b\u4e24\u4e2a\u670d\u52a1\u4e4b\u95f4\u8bf7\u6c42\u7684\u6d41\u91cf\u6307\u6807\u3002
      • \u5728 \u663e\u793a\u8bbe\u7f6e \u6a21\u5757\uff0c\u53ef\u914d\u7f6e\u62d3\u6251\u56fe\u4e2d\u7684\u663e\u793a\u5143\u7d20\u3002

    4. \u70b9\u51fb\u53f3\u4e0b\u89d2 \u56fe\u4f8b \uff0c\u53ef\u901a\u8fc7 \u4e34\u65f6\u914d\u7f6e \u4fee\u6539\u5f53\u524d\u7684\u62d3\u6251\u56fe\u5b9a\u4e49\u7684\u6e32\u67d3\u9608\u503c\uff0c\u8df3\u51fa\u6216\u5173\u95ed\u8be5\u9875\u9762\u5373\u4f1a\u4e22\u5931\u8be5\u914d\u7f6e\u3002

      \u9608\u503c\u8bbe\u7f6e\u5fc5\u987b\u5927\u4e8e 0\uff0c\u524d\u9762\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5c0f\u4e8e\u540e\u9762\u586b\u5199\u7684\u3002\u4e14\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5728\u6700\u5927\u548c\u6700\u5c0f\u7684\u8303\u56f4\u4e4b\u95f4\u3002

    "},{"location":"admin/insight/trace/topology.html#_4","title":"\u5176\u4ed6\u8282\u70b9","text":"

    \u5728\u670d\u52a1\u62d3\u6251\u4e2d\u4f1a\u5b58\u5728\u6e38\u79bb\u5728\u96c6\u7fa4\u4e4b\u5916\u7684\u8282\u70b9\uff0c\u8fd9\u4e9b\u6e38\u79bb\u5728\u5916\u7684\u8282\u70b9\u53ef\u5206\u6210\u4e09\u7c7b\uff1a

    • \u6570\u636e\u5e93
    • \u6d88\u606f\u961f\u5217
    • \u865a\u62df\u8282\u70b9

    • \u82e5\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u5230\u6570\u636e\u5e93\u6216\u6d88\u606f\u961f\u5217\u65f6\uff0c\u62d3\u6251\u56fe\u4e2d\u4f1a\u9ed8\u8ba4\u5c55\u793a\u8fd9\u4e24\u7c7b\u8282\u70b9\u3002 \u800c\u865a\u62df\u670d\u52a1\u8868\u793a\u96c6\u7fa4\u5185\u670d\u52a1\u8bf7\u6c42\u4e86\u96c6\u7fa4\u5916\u7684\u8282\u70b9\u6216\u8005\u672a\u63a5\u5165\u94fe\u8def\u7684\u670d\u52a1\uff0c\u62d3\u6251\u56fe\u4e2d\u9ed8\u8ba4\u4e0d\u4f1a\u5c55\u793a \u865a\u62df\u670d\u52a1\u3002

    • \u5f53\u670d\u52a1\u8bf7\u6c42\u5230 MySQL\u3001PostgreSQL\u3001Oracle Database \u8fd9\u4e09\u79cd\u6570\u636e\u5e93\u65f6\uff0c\u5728\u62d3\u6251\u56fe\u4e2d\u53ef\u4ee5\u770b\u5230\u8bf7\u6c42\u7684\u8be6\u7ec6\u6570\u636e\u5e93\u7c7b\u578b\u3002

    "},{"location":"admin/insight/trace/topology.html#_5","title":"\u5f00\u542f\u865a\u62df\u8282\u70b9","text":"
    1. \u66f4\u65b0 insight-server chart \u7684 values\uff0c\u627e\u5230\u4e0b\u56fe\u6240\u793a\u53c2\u6570\uff0c\u5c06 false \u6539\u4e3a true\u3002

    2. \u5728\u670d\u52a1\u62d3\u6251\u7684\u663e\u793a\u8bbe\u7f6e\u4e2d\u52fe\u9009 \u865a\u62df\u670d\u52a1 \u3002

    "},{"location":"admin/insight/trace/trace.html","title":"\u94fe\u8def\u67e5\u8be2","text":"

    \u5728\u94fe\u8def\u67e5\u8be2\u9875\u9762\uff0c\u60a8\u53ef\u4ee5\u8fc7 TraceID \u6216\u7cbe\u786e\u67e5\u8be2\u8c03\u7528\u94fe\u8def\u8be6\u7ec6\u60c5\u51b5\u6216\u7ed3\u5408\u591a\u79cd\u6761\u4ef6\u7b5b\u9009\u67e5\u8be2\u8c03\u7528\u94fe\u8def\u3002

    "},{"location":"admin/insight/trace/trace.html#_2","title":"\u540d\u8bcd\u89e3\u91ca","text":"
    • TraceID\uff1a\u7528\u4e8e\u6807\u8bc6\u4e00\u4e2a\u5b8c\u6574\u7684\u8bf7\u6c42\u8c03\u7528\u94fe\u8def\u3002
    • \u64cd\u4f5c\uff1a\u63cf\u8ff0 Span \u6240\u4ee3\u8868\u7684\u5177\u4f53\u64cd\u4f5c\u6216\u4e8b\u4ef6\u3002
    • \u5165\u53e3 Span\uff1a\u5165\u53e3 Span \u4ee3\u8868\u4e86\u6574\u4e2a\u8bf7\u6c42\u7684\u7b2c\u4e00\u4e2a\u8bf7\u6c42\u3002
    • \u5ef6\u65f6\uff1a\u6574\u4e2a\u8c03\u7528\u94fe\u4ece\u5f00\u59cb\u63a5\u6536\u8bf7\u6c42\u5230\u5b8c\u6210\u54cd\u5e94\u7684\u6301\u7eed\u65f6\u95f4\u3002
    • Span\uff1a\u6574\u4e2a\u94fe\u8def\u4e2d\u5305\u542b\u7684 Span \u4e2a\u6570\u3002
    • \u53d1\u751f\u65f6\u95f4\uff1a\u5f53\u524d\u94fe\u8def\u5f00\u59cb\u7684\u65f6\u95f4\u3002
    • Tag\uff1a\u4e00\u7ec4\u952e\u503c\u5bf9\u6784\u6210\u7684 Span \u6807\u7b7e\u96c6\u5408\uff0cTag \u662f\u7528\u6765\u5bf9 Span \u8fdb\u884c\u7b80\u5355\u7684\u6ce8\u89e3\u548c\u8865\u5145\uff0c\u6bcf\u4e2a Span \u53ef\u4ee5\u6709\u591a\u4e2a\u7b80\u76f4\u5bf9\u5f62\u5f0f\u7684 Tag\u3002
    "},{"location":"admin/insight/trace/trace.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

    \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u8be2\u94fe\u8def\uff1a

    1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff0c
    2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u8c03\u7528\u94fe\u3002

      Note

      \u5217\u8868\u4e2d\u652f\u6301\u5bf9 Span \u6570\u3001\u5ef6\u65f6\u3001\u53d1\u751f\u65f6\u95f4\u8fdb\u884c\u6392\u5e8f\u3002

    3. \u70b9\u51fb\u7b5b\u9009\u680f\u4e2d\u7684 TraceID \u641c\u7d22 \u5207\u6362\u4f7f\u7528 TraceID \u641c\u7d22\u94fe\u8def\u3002

    4. \u4f7f\u7528 TraceID \u641c\u7d22\u8bf7\u8f93\u5165\u5b8c\u6574\u7684 TraceID\u3002

    "},{"location":"admin/insight/trace/trace.html#_4","title":"\u5176\u4ed6\u64cd\u4f5c","text":""},{"location":"admin/insight/trace/trace.html#_5","title":"\u67e5\u770b\u94fe\u8def\u8be6\u60c5","text":"
    1. \u70b9\u51fb\u94fe\u8def\u5217\u8868\u4e2d\u7684\u67d0\u4e00\u94fe\u8def\u7684 TraceID\uff0c\u53ef\u67e5\u770b\u8be5\u94fe\u8def\u7684\u8be6\u60c5\u8c03\u7528\u60c5\u51b5\u3002

    "},{"location":"admin/insight/trace/trace.html#_6","title":"\u67e5\u770b\u5173\u8054\u65e5\u5fd7","text":"
    1. \u70b9\u51fb\u94fe\u8def\u6570\u636e\u53f3\u4fa7\u7684\u56fe\u6807\uff0c\u53ef\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u5173\u8054\u65e5\u5fd7\u3002

      • \u9ed8\u8ba4\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u6301\u7eed\u65f6\u95f4\u53ca\u5176\u7ed3\u675f\u4e4b\u540e\u4e00\u5206\u949f\u5185\u7684\u65e5\u5fd7\u6570\u636e\u3002
      • \u67e5\u8be2\u7684\u65e5\u5fd7\u5185\u5bb9\u4e3a\u65e5\u5fd7\u6587\u672c\u4e2d\u5305\u542b\u8be5\u94fe\u8def\u7684 TraceID \u7684\u65e5\u5fd7\u548c\u94fe\u8def\u8c03\u7528\u8fc7\u7a0b\u4e2d\u76f8\u5173\u7684\u5bb9\u5668\u65e5\u5fd7\u3002
    2. \u70b9\u51fb \u67e5\u770b\u66f4\u591a \u540e\u53ef\u5e26\u6761\u4ef6\u8df3\u8f6c\u5230 \u65e5\u5fd7\u67e5\u8be2 \u7684\u9875\u9762\u3002

    3. \u9ed8\u8ba4\u641c\u7d22\u5168\u90e8\u65e5\u5fd7\uff0c\u4f46\u53ef\u4e0b\u62c9\u6839\u636e\u94fe\u8def\u7684 TraceID \u6216\u94fe\u8def\u8c03\u7528\u8fc7\u7a0b\u4e2d\u76f8\u5173\u7684\u5bb9\u5668\u65e5\u5fd7\u8fdb\u884c\u8fc7\u6ee4\u3002

      Note

      \u7531\u4e8e\u94fe\u8def\u4f1a\u8de8\u96c6\u7fa4\u6216\u8de8\u547d\u540d\u7a7a\u95f4\uff0c\u82e5\u7528\u6237\u6743\u9650\u4e0d\u8db3\uff0c\u5219\u65e0\u6cd5\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u5173\u8054\u65e5\u5fd7\u3002

    "},{"location":"admin/k8s/add-node.html","title":"\u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9","text":"

    \u5982\u679c\u8282\u70b9\u4e0d\u591f\u7528\u4e86\uff0c\u53ef\u4ee5\u6dfb\u52a0\u66f4\u591a\u8282\u70b9\u5230\u96c6\u7fa4\u4e2d\u3002

    "},{"location":"admin/k8s/add-node.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
    • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u5e10\u53f7
    • \u5df2\u521b\u5efa\u5e26 GPU \u8282\u70b9\u7684\u96c6\u7fa4
    • \u51c6\u5907\u4e00\u53f0\u4e91\u4e3b\u673a
    "},{"location":"admin/k8s/add-node.html#_3","title":"\u6dfb\u52a0\u6b65\u9aa4","text":"
    1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
    2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0

    3. \u8fdb\u5165\u96c6\u7fa4\u6982\u89c8\u9875\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u63a5\u5165\u8282\u70b9 \u6309\u94ae

    4. \u6309\u7167\u5411\u5bfc\uff0c\u586b\u5199\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

      \u57fa\u672c\u4fe1\u606f\u53c2\u6570\u914d\u7f6e

    5. \u5728\u5f39\u7a97\u4e2d\u70b9\u51fb \u786e\u5b9a

    6. \u8fd4\u56de\u8282\u70b9\u5217\u8868\uff0c\u65b0\u63a5\u5165\u7684\u8282\u70b9\u72b6\u6001\u4e3a \u63a5\u5165\u4e2d \uff0c\u7b49\u5f85\u51e0\u5206\u949f\u540e\u72b6\u6001\u53d8\u4e3a \u5065\u5eb7 \u5219\u8868\u793a\u63a5\u5165\u6210\u529f\u3002

    Tip

    \u5bf9\u4e8e\u521a\u63a5\u5165\u6210\u529f\u7684\u8282\u70b9\uff0c\u53ef\u80fd\u8fd8\u8981\u7b49 2-3 \u5206\u949f\u624d\u80fd\u8bc6\u522b\u51fa GPU\u3002

    "},{"location":"admin/k8s/create-k8s.html","title":"\u521b\u5efa\u4e91\u4e0a Kubernetes \u96c6\u7fa4","text":"

    \u90e8\u7f72 Kubernetes \u96c6\u7fa4\u662f\u4e3a\u4e86\u652f\u6301\u9ad8\u6548\u7684 AI \u7b97\u529b\u8c03\u5ea6\u548c\u7ba1\u7406\uff0c\u5b9e\u73b0\u5f39\u6027\u4f38\u7f29\uff0c\u63d0\u4f9b\u9ad8\u53ef\u7528\u6027\uff0c\u4ece\u800c\u4f18\u5316\u6a21\u578b\u8bad\u7ec3\u548c\u63a8\u7406\u8fc7\u7a0b\u3002

    "},{"location":"admin/k8s/create-k8s.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0\u5df2
    • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u6743\u9650\u7684\u8d26\u53f7
    • \u51c6\u5907\u4e00\u53f0\u5e26 GPU \u7684\u7269\u7406\u673a
    • \u5206\u914d\u4e24\u6bb5 IP \u5730\u5740\uff08Pod CIDR 18 \u4f4d\u3001SVC CIDR 18 \u4f4d\uff0c\u4e0d\u80fd\u4e0e\u73b0\u6709\u7f51\u6bb5\u51b2\u7a81\uff09
    "},{"location":"admin/k8s/create-k8s.html#_2","title":"\u521b\u5efa\u6b65\u9aa4","text":"
    1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
    2. \u521b\u5efa\u5e76\u542f\u52a8 3 \u53f0\u4e0d\u5e26 GPU \u7684\u4e91\u4e3b\u673a\u7528\u4f5c\u96c6\u7fa4\u7684 Master \u8282\u70b9

      • \u914d\u7f6e\u8d44\u6e90\uff0cCPU 16 \u6838\uff0c\u5185\u5b58 32 GB\uff0c\u7cfb\u7edf\u76d8 200 GB\uff08ReadWriteOnce\uff09
      • \u7f51\u7edc\u6a21\u5f0f\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09
      • \u8bbe\u7f6e root \u5bc6\u7801\u6216\u6dfb\u52a0 SSH \u516c\u94a5\uff0c\u65b9\u4fbf\u4ee5 SSH \u8fde\u63a5
      • \u8bb0\u5f55\u597d 3 \u53f0\u4e3b\u673a\u7684 IP
    3. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa\u96c6\u7fa4 \u6309\u94ae

    4. \u6309\u7167\u5411\u5bfc\uff0c\u914d\u7f6e\u96c6\u7fa4\u7684\u5404\u9879\u53c2\u6570

      \u57fa\u672c\u4fe1\u606f\u8282\u70b9\u914d\u7f6e\u7f51\u7edc\u914d\u7f6eAddon \u914d\u7f6e\u9ad8\u7ea7\u914d\u7f6e

      \u914d\u7f6e\u5b8c\u8282\u70b9\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u5f00\u59cb\u68c0\u67e5 \uff0c

      \u6bcf\u4e2a\u8282\u70b9\u9ed8\u8ba4\u53ef\u8fd0\u884c 110 \u4e2a Pod\uff08\u5bb9\u5668\u7ec4\uff09\uff0c\u5982\u679c\u8282\u70b9\u914d\u7f6e\u6bd4\u8f83\u9ad8\uff0c\u53ef\u4ee5\u8c03\u6574\u5230 200 \u6216 300 \u4e2a Pod\u3002

    5. \u7b49\u5f85\u96c6\u7fa4\u521b\u5efa\u5b8c\u6210\u3002

    6. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u627e\u5230\u521a\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u5bfc\u822a\u5230 Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u641c\u7d22\u6846\u5185\u641c\u7d22 metax-gpu-extensions\uff0c\u70b9\u51fb\u5361\u7247

    7. \u70b9\u51fb\u53f3\u4fa7\u7684 \u5b89\u88c5 \u6309\u94ae\uff0c\u5f00\u59cb\u5b89\u88c5 GPU \u63d2\u4ef6

      \u5e94\u7528\u8bbe\u7f6eKubernetes \u7f16\u6392\u786e\u8ba4

      \u8f93\u5165\u540d\u79f0\uff0c\u9009\u62e9\u547d\u540d\u7a7a\u95f4\uff0c\u5728 YAMl \u4e2d\u4fee\u6539\u955c\u50cf\u5730\u5740\uff1a

    8. \u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u7b49\u5f85 metax-gpu-extensions \u72b6\u6001\u53d8\u4e3a \u5df2\u90e8\u7f72

    9. \u5230\u6b64\u96c6\u7fa4\u521b\u5efa\u6210\u529f\uff0c\u53ef\u4ee5\u53bb\u67e5\u770b\u96c6\u7fa4\u6240\u5305\u542b\u7684\u8282\u70b9\u3002\u4f60\u53ef\u4ee5\u53bb\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d\u5e76\u4f7f\u7528 GPU \u4e86\u3002

    \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d

    "},{"location":"admin/k8s/remove-node.html","title":"\u79fb\u9664 GPU \u5de5\u4f5c\u8282\u70b9","text":"

    GPU \u8d44\u6e90\u7684\u6210\u672c\u76f8\u5bf9\u8f83\u9ad8\uff0c\u5982\u679c\u6682\u65f6\u7528\u4e0d\u5230 GPU\uff0c\u53ef\u4ee5\u5c06\u5e26 GPU \u7684\u5de5\u4f5c\u8282\u70b9\u79fb\u9664\u3002 \u4ee5\u4e0b\u6b65\u9aa4\u4e5f\u540c\u6837\u9002\u7528\u4e8e\u79fb\u9664\u666e\u901a\u5de5\u4f5c\u8282\u70b9\u3002

    "},{"location":"admin/k8s/remove-node.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
    • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
    • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u5e10\u53f7
    • \u5df2\u521b\u5efa\u5e26 GPU \u8282\u70b9\u7684\u96c6\u7fa4
    "},{"location":"admin/k8s/remove-node.html#_2","title":"\u79fb\u9664\u6b65\u9aa4","text":"
    1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
    2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0

    3. \u8fdb\u5165\u96c6\u7fa4\u6982\u89c8\u9875\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u8981\u79fb\u9664\u7684\u8282\u70b9\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u79fb\u9664\u8282\u70b9

    4. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u8282\u70b9\u540d\u79f0\uff0c\u786e\u8ba4\u65e0\u8bef\u540e\u70b9\u51fb \u5220\u9664

    5. \u81ea\u52a8\u8fd4\u56de\u8282\u70b9\u5217\u8868\uff0c\u72b6\u6001\u4e3a \u79fb\u9664\u4e2d \uff0c\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\uff0c\u8282\u70b9\u4e0d\u5728\u4e86\uff0c\u8bf4\u660e\u8282\u70b9\u88ab\u6210\u529f\u79fb\u9664

    6. \u4ece UI \u5217\u8868\u79fb\u9664\u8282\u70b9\u540e\uff0c\u901a\u8fc7 SSH \u767b\u5f55\u5230\u5df2\u79fb\u9664\u7684\u8282\u70b9\u4e3b\u673a\uff0c\u6267\u884c\u5173\u673a\u547d\u4ee4\u3002

    Tip

    \u5728 UI \u4e0a\u79fb\u9664\u8282\u70b9\u5e76\u5c06\u5176\u5173\u673a\u540e\uff0c\u8282\u70b9\u4e0a\u7684\u6570\u636e\u5e76\u672a\u88ab\u7acb\u5373\u5220\u9664\uff0c\u8282\u70b9\u6570\u636e\u4f1a\u88ab\u4fdd\u7559\u4e00\u6bb5\u65f6\u95f4\u3002

    "},{"location":"admin/kpanda/backup/index.html","title":"\u5907\u4efd\u6062\u590d","text":"

    \u5907\u4efd\u6062\u590d\u5206\u4e3a\u5907\u4efd\u548c\u6062\u590d\u4e24\u65b9\u9762\uff0c\u5b9e\u9645\u5e94\u7528\u65f6\u9700\u8981\u5148\u5907\u4efd\u7cfb\u7edf\u5728\u67d0\u4e00\u65f6\u70b9\u7684\u6570\u636e\uff0c\u7136\u540e\u5b89\u5168\u5b58\u50a8\u5730\u5907\u4efd\u6570\u636e\u3002\u540e\u7eed\u5982\u679c\u51fa\u73b0\u6570\u636e\u635f\u574f\u3001\u4e22\u5931\u3001\u8bef\u5220\u7b49\u4e8b\u6545\uff0c\u5c31\u53ef\u4ee5\u57fa\u4e8e\u4e4b\u524d\u7684\u6570\u636e\u5907\u4efd\u5feb\u901f\u8fd8\u539f\u7cfb\u7edf\uff0c\u7f29\u77ed\u6545\u969c\u65f6\u95f4\uff0c\u51cf\u5c11\u635f\u5931\u3002

    • \u5728\u771f\u5b9e\u7684\u751f\u4ea7\u73af\u5883\u4e2d\uff0c\u670d\u52a1\u53ef\u80fd\u5206\u5e03\u5f0f\u5730\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u4e91\u3001\u4e0d\u540c\u533a\u57df\u6216\u53ef\u7528\u533a\uff0c\u5982\u679c\u67d0\u4e00\u4e2a\u57fa\u7840\u8bbe\u65bd\u81ea\u8eab\u51fa\u73b0\u6545\u969c\uff0c\u4f01\u4e1a\u9700\u8981\u5728\u5176\u4ed6\u53ef\u7528\u73af\u5883\u4e2d\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u8de8\u4e91/\u8de8\u96c6\u7fa4\u7684\u5907\u4efd\u6062\u590d\u663e\u5f97\u975e\u5e38\u91cd\u8981\u3002
    • \u5728\u5927\u89c4\u6a21\u7cfb\u7edf\u4e2d\u5f80\u5f80\u6709\u5f88\u591a\u89d2\u8272\u548c\u7528\u6237\uff0c\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u590d\u6742\uff0c\u64cd\u4f5c\u8005\u4f17\u591a\uff0c\u96be\u514d\u6709\u4eba\u8bef\u64cd\u4f5c\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4e5f\u9700\u8981\u80fd\u591f\u901a\u8fc7\u4e4b\u524d\u5907\u4efd\u7684\u6570\u636e\u5feb\u901f\u56de\u6eda\u7cfb\u7edf\uff0c\u5426\u5219\u5982\u679c\u4f9d\u8d56\u4eba\u4e3a\u6392\u67e5\u6545\u969c\u3001\u4fee\u590d\u6545\u969c\u3001\u6062\u590d\u7cfb\u7edf\u5c31\u4f1a\u8017\u8d39\u5927\u91cf\u65f6\u95f4\uff0c\u7cfb\u7edf\u4e0d\u53ef\u7528\u65f6\u95f4\u8d8a\u957f\uff0c\u4f01\u4e1a\u7684\u635f\u5931\u8d8a\u5927\u3002
    • \u6b64\u5916\uff0c\u8fd8\u6709\u7f51\u7edc\u653b\u51fb\u3001\u81ea\u7136\u707e\u5bb3\u3001\u8bbe\u5907\u6545\u969c\u7b49\u5404\u79cd\u56e0\u7d20\u4e5f\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u4e8b\u6545

    \u56e0\u6b64\uff0c\u5907\u4efd\u6062\u590d\u975e\u5e38\u91cd\u8981\uff0c\u53ef\u4ee5\u89c6\u4e4b\u4e3a\u7ef4\u62a4\u7cfb\u7edf\u7a33\u5b9a\u548c\u6570\u636e\u5b89\u5168\u7684\u6700\u540e\u4e00\u9053\u4fdd\u9669\u3002

    \u5907\u4efd\u901a\u5e38\u5206\u4e3a\u5168\u91cf\u5907\u4efd\u3001\u589e\u91cf\u5907\u4efd\u3001\u5dee\u5f02\u5907\u4efd\u4e09\u79cd\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u76ee\u524d\u652f\u6301\u5168\u91cf\u5907\u4efd\u548c\u589e\u91cf\u5907\u4efd\u3002

    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u7684\u5907\u4efd\u6062\u590d\u53ef\u4ee5\u5206\u4e3a \u5e94\u7528\u5907\u4efd \u548c ETCD \u5907\u4efd \u4e24\u79cd\uff0c\u652f\u6301\u624b\u52a8\u5907\u4efd\uff0c\u6216\u57fa\u4e8e CronJob \u5b9a\u65f6\u81ea\u52a8\u5907\u4efd\u3002

    • \u5e94\u7528\u5907\u4efd

      \u5e94\u7528\u5907\u4efd\u6307\uff0c\u5907\u4efd\u96c6\u7fa4\u4e2d\u7684\u67d0\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\uff0c\u7136\u540e\u5c06\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6062\u590d\u5230\u672c\u96c6\u7fa4\u6216\u8005\u5176\u4ed6\u96c6\u7fa4\u3002\u652f\u6301\u5907\u4efd\u6574\u4e2a\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u8d44\u6e90\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u8fc7\u6ee4\uff0c\u4ec5\u5907\u4efd\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8d44\u6e90\u3002

      \u5e94\u7528\u5907\u4efd\u652f\u6301\u8de8\u96c6\u7fa4\u5907\u4efd\u6709\u72b6\u6001\u5e94\u7528\uff0c\u5177\u4f53\u6b65\u9aa4\u53ef\u53c2\u8003MySQL \u5e94\u7528\u53ca\u6570\u636e\u7684\u8de8\u96c6\u7fa4\u5907\u4efd\u6062\u590d\u3002

    • ETCD \u5907\u4efd

      etcd \u662f Kubernetes \u7684\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\uff0cKubernetes \u5c06\u81ea\u8eab\u7684\u7ec4\u4ef6\u6570\u636e\u548c\u5176\u4e2d\u7684\u5e94\u7528\u6570\u636e\u90fd\u5b58\u50a8\u5728 etcd \u4e2d\u3002\u56e0\u6b64\uff0c\u5907\u4efd etcd \u5c31\u76f8\u5f53\u4e8e\u5907\u4efd\u6574\u4e2a\u96c6\u7fa4\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u5728\u6545\u969c\u65f6\u5feb\u901f\u5c06\u96c6\u7fa4\u6062\u590d\u5230\u4e4b\u524d\u67d0\u4e00\u65f6\u70b9\u7684\u72b6\u6001\u3002

      \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u76ee\u524d\u4ec5\u652f\u6301\u5c06 etcd \u5907\u4efd\u6570\u636e\u6062\u590d\u5230\u540c\u4e00\u96c6\u7fa4\uff08\u539f\u96c6\u7fa4\uff09\u3002

    "},{"location":"admin/kpanda/backup/deployment.html","title":"\u5e94\u7528\u5907\u4efd","text":"

    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u5e94\u7528\u505a\u5907\u4efd\uff0c\u672c\u6559\u7a0b\u4e2d\u4f7f\u7528\u7684\u6f14\u793a\u5e94\u7528\u540d\u4e3a dao-2048 \uff0c\u5c5e\u4e8e\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

    "},{"location":"admin/kpanda/backup/deployment.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u5728\u5bf9\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u5907\u4efd\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

    • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

    • \u5b89\u88c5 velero \u7ec4\u4ef6\uff0c\u4e14 velero \u7ec4\u4ef6\u8fd0\u884c\u6b63\u5e38\u3002

    • \u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\uff08\u672c\u6559\u7a0b\u4e2d\u7684\u8d1f\u8f7d\u540d\u4e3a dao-2048 \uff09\uff0c\u5e76\u4e3a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6253\u4e0a app: dao-2048 \u7684\u6807\u7b7e\u3002

    "},{"location":"admin/kpanda/backup/deployment.html#_3","title":"\u5907\u4efd\u5de5\u4f5c\u8d1f\u8f7d","text":"

    \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u5907\u4efd\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d dao-2048 \u3002

    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c \u70b9\u51fb \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d \u3002

    2. \u8fdb\u5165 \u5e94\u7528\u5907\u4efd \u5217\u8868\u9875\u9762\uff0c\u4ece\u96c6\u7fa4\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u5df2\u5b89\u88c5\u4e86 velero \u548c dao-2048 \u7684\u96c6\u7fa4\u3002 \u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa\u5907\u4efd\u8ba1\u5212 \u6309\u94ae\u3002

    3. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u586b\u5199\u5907\u4efd\u914d\u7f6e\u3002

    4. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u8bbe\u7f6e\u5907\u4efd\u6267\u884c\u9891\u7387\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

      • \u5907\u4efd\u9891\u7387\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49\u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002
      • \u7559\u5b58\u65f6\u957f\uff08\u5929\uff09\uff1a\u8bbe\u7f6e\u5907\u4efd\u8d44\u6e90\u4fdd\u5b58\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 30 \u5929\uff0c\u8fc7\u671f\u540e\u5c06\u4f1a\u88ab\u5220\u9664\u3002
      • \u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\uff1a\u662f\u5426\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\uff0c\u652f\u6301\u76f4\u63a5\u590d\u5236\u548c\u4f7f\u7528 CSI \u5feb\u7167\u4e24\u79cd\u65b9\u5f0f\u3002
        • \u76f4\u63a5\u590d\u5236\uff1a\u76f4\u63a5\u590d\u5236\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\u7528\u4e8e\u5907\u4efd\uff1b
        • \u4f7f\u7528 CSI \u5feb\u7167\uff1a\u4f7f\u7528 CSI \u5feb\u7167\u6765\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u3002\u9700\u8981\u96c6\u7fa4\u4e2d\u6709\u53ef\u7528\u4e8e\u5907\u4efd\u7684 CSI \u5feb\u7167\u7c7b\u578b\u3002

    5. \u70b9\u51fb \u786e\u5b9a \uff0c\u9875\u9762\u4f1a\u81ea\u52a8\u8fd4\u56de\u5e94\u7528\u5907\u4efd\u8ba1\u5212\u5217\u8868\u3002\u60a8\u53ef\u4ee5\u627e\u5230\u65b0\u5efa\u7684 dao-2048 \u5907\u4efd\u8ba1\u5212\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u9009\u62e9 \u7acb\u5373\u6267\u884c \u5f00\u59cb\u5907\u4efd\u3002

    6. \u6b64\u65f6\u96c6\u7fa4\u7684 \u4e0a\u4e00\u6b21\u6267\u884c\u72b6\u6001 \u5c06\u8f6c\u53d8\u4e3a \u5907\u4efd\u4e2d \u3002\u7b49\u5f85\u5907\u4efd\u5b8c\u6210\u540e\u53ef\u4ee5\u70b9\u51fb\u5907\u4efd\u8ba1\u5212\u7684\u540d\u79f0\uff0c\u67e5\u770b\u5907\u4efd\u8ba1\u5212\u8be6\u60c5\u3002

    Note

    \u5982\u679c Job \u7c7b\u578b\u7684\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u4e3a \u6267\u884c\u5b8c\u6210 \uff0c\u5219\u4e0d\u652f\u6301\u5907\u4efd\u3002

    "},{"location":"admin/kpanda/backup/etcd-backup.html","title":"etcd \u5907\u4efd","text":"

    etcd \u5907\u4efd\u662f\u4ee5\u96c6\u7fa4\u6570\u636e\u4e3a\u6838\u5fc3\u7684\u5907\u4efd\u3002\u5728\u786c\u4ef6\u8bbe\u5907\u635f\u574f\uff0c\u5f00\u53d1\u6d4b\u8bd5\u914d\u7f6e\u9519\u8bef\u7b49\u573a\u666f\u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7 etcd \u5907\u4efd\u6062\u590d\u96c6\u7fa4\u6570\u636e\u3002

    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e3a\u96c6\u7fa4\u5236\u4f5c etcd \u5907\u4efd\u3002

    "},{"location":"admin/kpanda/backup/etcd-backup.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
    • \u63a5\u5165\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

    • \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

    • \u51c6\u5907\u4e00\u4e2a MinIO \u5b9e\u4f8b\u3002

    "},{"location":"admin/kpanda/backup/etcd-backup.html#etcd_1","title":"\u521b\u5efa etcd \u5907\u4efd","text":"

    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa etcd \u5907\u4efd\u3002

    1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u5907\u4efd\u7b56\u7565 \u3002

    2. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199 \u57fa\u672c\u4fe1\u606f \u3002\u586b\u5199\u5b8c\u6bd5\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u6821\u9a8c etcd \u7684\u8054\u901a\u6027\uff0c\u6821\u9a8c\u901a\u8fc7\u4e4b\u540e\u53ef\u4ee5\u8fdb\u884c\u4e0b\u4e00\u6b65\u3002

      • \u5907\u4efd\u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u5907\u4efd\u54ea\u4e2a\u96c6\u7fa4\u7684 etcd \u6570\u636e\uff0c\u5e76\u5728\u7ec8\u7aef\u767b\u5f55
      • etcd \u5730\u5740\uff1a\u683c\u5f0f\u4e3a https://${\u8282\u70b9IP}:${\u7aef\u53e3\u53f7}

        • \u5728\u6807\u51c6 Kubernetes \u96c6\u7fa4\u4e2d\uff0cetcd \u7684\u9ed8\u8ba4\u7aef\u53e3\u53f7\u4e3a 2379
        • \u5728\u516c\u6709\u4e91\u6258\u7ba1\u96c6\u7fa4\u4e2d\uff0c\u9700\u8981\u8054\u7cfb\u76f8\u5173\u5f00\u53d1\u4eba\u5458\u83b7\u53d6 etcd \u7684\u7aef\u53e3\u53f7\u3002 \u8fd9\u662f\u56e0\u4e3a\u516c\u6709\u4e91\u96c6\u7fa4\u7684\u63a7\u5236\u9762\u7ec4\u4ef6\u7531\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u7ef4\u62a4\u548c\u7ba1\u7406\uff0c\u7528\u6237\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee\u6216\u67e5\u770b\u8fd9\u4e9b\u7ec4\u4ef6\uff0c \u4e5f\u65e0\u6cd5\u901a\u8fc7\u5e38\u89c4\u547d\u4ee4\uff08\u5982 kubectl\uff09\u65e0\u6cd5\u83b7\u53d6\u5230\u63a7\u5236\u9762\u7684\u7aef\u53e3\u7b49\u4fe1\u606f\u3002
        \u83b7\u53d6\u7aef\u53e3\u53f7\u7684\u65b9\u5f0f
        1. \u5728 kube-system \u547d\u540d\u7a7a\u95f4\u4e0b\u67e5\u627e etcd Pod

          kubectl get po -n kube-system | grep etcd\n
        2. \u83b7\u53d6 etcd Pod \u7684 listen-client-urls \u4e2d\u7684\u7aef\u53e3\u53f7

          kubectl get po -n kube-system ${etcd_pod_name} -oyaml | grep listen-client-urls # (1)!\n
          1. \u5c06 etcd_pod_name \u66ff\u6362\u4e3a\u5b9e\u9645\u7684 Pod \u540d\u79f0

          \u9884\u671f\u8f93\u51fa\u7ed3\u679c\u5982\u4e0b\uff0c\u8282\u70b9 IP \u540e\u7684\u6570\u5b57\u5373\u4e3a\u7aef\u53e3\u53f7:

          - --listen-client-urls=https://127.0.0.1:2379,https://10.6.229.191:2379\n
      • CA \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

        cat /etc/kubernetes/ssl/etcd/ca.crt\n
      • Cert \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

        cat /etc/kubernetes/ssl/apiserver-etcd-client.crt\n
      • Key\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

        cat /etc/kubernetes/ssl/apiserver-etcd-client.key\n

      Note

      \u70b9\u51fb\u8f93\u5165\u6846\u4e0b\u65b9\u7684 \u5982\u4f55\u83b7\u53d6 \u53ef\u4ee5\u5728 UI \u9875\u9762\u67e5\u770b\u83b7\u53d6\u5bf9\u5e94\u4fe1\u606f\u7684\u65b9\u5f0f\u3002

    3. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5907\u4efd\u7b56\u7565 \u3002

      • \u5907\u4efd\u65b9\u5f0f\uff1a\u9009\u62e9\u624b\u52a8\u5907\u4efd\u6216\u5b9a\u65f6\u5907\u4efd

        • \u624b\u52a8\u5907\u4efd\uff1a\u57fa\u4e8e\u5907\u4efd\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21 etcd \u5168\u91cf\u6570\u636e\u7684\u5907\u4efd\u3002
        • \u5b9a\u65f6\u5907\u4efd\uff1a\u6309\u7167\u8bbe\u7f6e\u7684\u5907\u4efd\u9891\u7387\u5bf9 etcd \u6570\u636e\u8fdb\u884c\u5468\u671f\u6027\u5168\u91cf\u5907\u4efd\u3002
      • \u5907\u4efd\u94fe\u957f\u5ea6\uff1a\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5907\u4efd\u6570\u636e\u3002\u9ed8\u8ba4\u4e3a 30 \u6761\u3002

      • \u5907\u4efd\u9891\u7387\uff1a\u652f\u6301\u5c0f\u65f6\u3001\u65e5\u3001\u5468\u3001\u6708\u7ea7\u522b\u548c\u81ea\u5b9a\u4e49\u65b9\u5f0f\u3002

    4. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5b58\u50a8\u4f4d\u7f6e \u3002

      • \u5b58\u50a8\u4f9b\u5e94\u5546\uff1a\u9ed8\u8ba4\u9009\u62e9 S3 \u5b58\u50a8
      • \u5bf9\u8c61\u5b58\u50a8\u8bbf\u95ee\u5730\u5740\uff1aMinIO \u7684\u8bbf\u95ee\u5730\u5740
      • \u5b58\u50a8\u6876\uff1a\u5728 MinIO \u4e2d\u521b\u5efa\u4e00\u4e2a Bucket\uff0c\u586b\u5199 Bucket \u7684\u540d\u79f0
      • \u7528\u6237\u540d\uff1aMinIO \u7684\u767b\u5f55\u7528\u6237\u540d
      • \u5bc6\u7801\uff1aMinIO \u7684\u767b\u5f55\u5bc6\u7801

    5. \u70b9\u51fb \u786e\u5b9a \u540e\u9875\u9762\u81ea\u52a8\u8df3\u8f6c\u5230\u5907\u4efd\u7b56\u7565\u5217\u8868\uff0c\u53ef\u4ee5\u67e5\u770b\u76ee\u524d\u521b\u5efa\u597d\u7684\u6240\u6709\u7b56\u7565\u3002

      • \u5728\u7b56\u7565\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u3001\u67e5\u770b YAML\u3001\u66f4\u65b0\u7b56\u7565\u3001\u505c\u6b62\u7b56\u7565\u3001\u7acb\u5373\u6267\u884c\u7b56\u7565\u7b49\u3002
      • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u624b\u52a8\u65f6\uff0c\u53ef\u4ee5\u70b9\u51fb \u7acb\u5373\u6267\u884c \u8fdb\u884c\u5907\u4efd\u3002
      • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u5b9a\u65f6\u5907\u4efd\u65f6\uff0c\u5219\u4f1a\u6839\u636e\u914d\u7f6e\u7684\u65f6\u95f4\u8fdb\u884c\u5907\u4efd\u3002

    "},{"location":"admin/kpanda/backup/etcd-backup.html#_2","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u65e5\u5fd7","text":"

    \u70b9\u51fb \u65e5\u5fd7 \u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u5185\u5bb9\uff0c\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u3002\u82e5\u60f3\u67e5\u770b\u66f4\u591a\u65e5\u5fd7\u4fe1\u606f\u6216\u8005\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u53ef\u5728\u65e5\u5fd7\u4e0a\u65b9\u6839\u636e\u63d0\u793a\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u3002

    "},{"location":"admin/kpanda/backup/etcd-backup.html#_3","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u8be6\u60c5","text":"

    \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u63a5\u7740\u70b9\u51fb\u7b56\u7565\u540d\u79f0\u53ef\u4ee5\u67e5\u770b\u7b56\u7565\u8be6\u60c5\u3002

    "},{"location":"admin/kpanda/backup/etcd-backup.html#_4","title":"\u67e5\u770b\u5907\u4efd\u70b9","text":"
    1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u70b9 \u9875\u7b7e\u3002
    2. \u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u96c6\u7fa4\u4e0b\u6240\u6709\u5907\u4efd\u4fe1\u606f\u3002

      \u6bcf\u6267\u884c\u4e00\u6b21\u5907\u4efd\uff0c\u5bf9\u5e94\u751f\u6210\u4e00\u4e2a\u5907\u4efd\u70b9\uff0c\u53ef\u901a\u8fc7\u6210\u529f\u72b6\u6001\u7684\u5907\u4efd\u70b9\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002

    "},{"location":"admin/kpanda/backup/install-velero.html","title":"\u5b89\u88c5 velero \u63d2\u4ef6","text":"

    velero \u662f\u4e00\u4e2a\u5907\u4efd\u548c\u6062\u590d Kubernetes \u96c6\u7fa4\u8d44\u6e90\u7684\u5f00\u6e90\u5de5\u5177\u3002\u5b83\u53ef\u4ee5\u5c06 Kubernetes \u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u5907\u4efd\u5230\u4e91\u5b58\u50a8\u670d\u52a1\u3001\u672c\u5730\u5b58\u50a8\u6216\u5176\u4ed6\u4f4d\u7f6e\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728\u9700\u8981\u65f6\u5c06\u8fd9\u4e9b\u8d44\u6e90\u6062\u590d\u5230\u540c\u4e00\u6216\u4e0d\u540c\u7684\u96c6\u7fa4\u4e2d\u3002

    \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528 Helm \u5e94\u7528 \u90e8\u7f72 velero \u63d2\u4ef6\u3002

    "},{"location":"admin/kpanda/backup/install-velero.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

    \u5b89\u88c5 velero \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

    • \u521b\u5efa velero \u547d\u540d\u7a7a\u95f4\u3002

    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

    "},{"location":"admin/kpanda/backup/install-velero.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

    \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 velero \u63d2\u4ef6\u3002

    1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5 velero \u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u641c\u7d22\u680f\u8f93\u5165 velero \u8fdb\u884c\u641c\u7d22\u3002

    2. \u9605\u8bfb velero \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u5b89\u88c5 4.0.2 \u6216\u66f4\u9ad8\u7248\u672c\u3002

    3. \u586b\u5199\u548c\u914d\u7f6e\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

      \u57fa\u672c\u53c2\u6570\u53c2\u6570\u914d\u7f6e

      • \u540d\u79f0\uff1a\u5fc5\u586b\u53c2\u6570\uff0c\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09,\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
      • \u547d\u540d\u7a7a\u95f4\uff1a\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a velero \u547d\u540d\u7a7a\u95f4\u3002
      • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u3002
      • \u5c31\u7eea\u7b49\u5f85\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
      • \u5931\u8d25\u5220\u9664\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
      • \u8be6\u60c5\u65e5\u5fd7\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\u5c06\u8f93\u51fa\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

      Note

      \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

      • S3 Credentials\uff1a

        • Use secret \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true \u3002
        • Secret name \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e velero-s3-credential \u3002
        • SecretContents.aws_access_key_id = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u7528\u6237\u540d\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002
        • SecretContents.aws_secret_access_key = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u5bc6\u7801\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002

          config \"SecretContents \u6837\u4f8b\" [default] aws_access_key_id = minio aws_secret_access_key = minio123

        • Velero Configuration\uff1a

          • Backupstoragelocation \uff1avelero \u5907\u4efd\u6570\u636e\u5b58\u50a8\u7684\u4f4d\u7f6e
          • S3 bucket \uff1a\u7528\u4e8e\u4fdd\u5b58\u5907\u4efd\u6570\u636e\u7684\u5b58\u50a8\u6876\u540d\u79f0(\u9700\u4e3a minio \u5df2\u7ecf\u5b58\u5728\u7684\u771f\u5b9e\u5b58\u50a8\u6876)
          • Is default BackupStorage \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
          • S3 access mode \uff1avelero \u5bf9\u6570\u636e\u7684\u8bbf\u95ee\u6a21\u5f0f\uff0c\u53ef\u4ee5\u9009\u62e9
            • ReadWrite \uff1a\u5141\u8bb8 velero \u8bfb\u5199\u5907\u4efd\u6570\u636e
            • ReadOnly \uff1a\u5141\u8bb8 velero \u8bfb\u53d6\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u4fee\u6539\u5907\u4efd\u6570\u636e
            • WriteOnly \uff1a\u53ea\u5141\u8bb8 velero \u5199\u5165\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u8bfb\u53d6\u5907\u4efd\u6570\u636e
          • S3 Configs \uff1aS3 \u5b58\u50a8\uff08minio\uff09\u7684\u8be6\u7ec6\u914d\u7f6e
          • S3 region \uff1a\u4e91\u5b58\u50a8\u7684\u5730\u7406\u533a\u57df\u3002\u9ed8\u8ba4\u4f7f\u7528 us-east-1 \u53c2\u6570\uff0c\u7531\u7cfb\u7edf\u7ba1\u7406\u5458\u63d0\u4f9b
          • S3 force path style \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
          • S3 server URL \uff1a\u5bf9\u8c61\u5b58\u50a8\uff08minio\uff09\u7684\u63a7\u5236\u53f0\u8bbf\u95ee\u5730\u5740\uff0cminio \u4e00\u822c\u63d0\u4f9b\u4e86 UI \u8bbf\u95ee\u548c\u63a7\u5236\u53f0\u8bbf\u95ee\u4e24\u4e2a\u670d\u52a1\uff0c\u6b64\u5904\u8bf7\u4f7f\u7528\u63a7\u5236\u53f0\u8bbf\u95ee\u7684\u5730\u5740

          Note

          \u8bf7\u786e\u4fdd s3 \u5b58\u50a8\u670d\u52a1\u65f6\u95f4\u8ddf\u5907\u4efd\u8fd8\u539f\u96c6\u7fa4\u65f6\u95f4\u5dee\u572810\u5206\u949f\u4ee5\u5185\uff0c\u6700\u597d\u662f\u65f6\u95f4\u4fdd\u6301\u540c\u6b65\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u6267\u884c\u5907\u4efd\u64cd\u4f5c\u3002

        • migration plugin configuration\uff1a\u542f\u7528\u4e4b\u540e\uff0c\u5c06\u5728\u4e0b\u4e00\u6b65\u7684 YAML \u4ee3\u7801\u6bb5\u4e2d\u65b0\u589e\uff1a

          ...\ninitContainers:\n  - image: 'release.daocloud.io/kcoral/velero-plugin-for-migration:v0.3.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-migration\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-csi:v0.7.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-csi\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-aws:v1.9.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-aws\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n...\n
        • \u786e\u8ba4 YAML \u65e0\u8bef\u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 velero \u63d2\u4ef6\u7684\u5b89\u88c5\u3002 \u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c\u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

        • "},{"location":"admin/kpanda/clusterops/cluster-oversold.html","title":"\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356","text":"

          \u76ee\u524d\uff0c\u8bb8\u591a\u4e1a\u52a1\u5b58\u5728\u5cf0\u503c\u548c\u4f4e\u8c37\u7684\u73b0\u8c61\u3002\u4e3a\u4e86\u786e\u4fdd\u670d\u52a1\u7684\u6027\u80fd\u548c\u7a33\u5b9a\u6027\uff0c\u5728\u90e8\u7f72\u670d\u52a1\u65f6\uff0c\u901a\u5e38\u4f1a\u6839\u636e\u5cf0\u503c\u9700\u6c42\u6765\u7533\u8bf7\u8d44\u6e90\u3002 \u7136\u800c\uff0c\u5cf0\u503c\u671f\u53ef\u80fd\u975e\u5e38\u77ed\u6682\uff0c\u5bfc\u81f4\u5728\u975e\u5cf0\u503c\u671f\u65f6\u8d44\u6e90\u88ab\u6d6a\u8d39\u3002 \u96c6\u7fa4\u8d44\u6e90\u8d85\u5356 \u5c31\u662f\u5c06\u8fd9\u4e9b\u7533\u8bf7\u4e86\u800c\u672a\u4f7f\u7528\u7684\u8d44\u6e90\uff08\u5373\u7533\u8bf7\u91cf\u4e0e\u4f7f\u7528\u91cf\u7684\u5dee\u503c\uff09\u5229\u7528\u8d77\u6765\uff0c\u4ece\u800c\u63d0\u5347\u96c6\u7fa4\u8d44\u6e90\u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u6d6a\u8d39\u3002

          \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u529f\u80fd\u3002

          "},{"location":"admin/kpanda/clusterops/cluster-oversold.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
          • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 Cluster Admin \uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u6388\u6743\u3002
          "},{"location":"admin/kpanda/clusterops/cluster-oversold.html#_3","title":"\u5f00\u542f\u96c6\u7fa4\u8d85\u5356","text":"
          1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762

          2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e \uff0c\u7136\u540e\u9009\u62e9 \u9ad8\u7ea7\u914d\u7f6e \u9875\u7b7e

          3. \u6253\u5f00\u96c6\u7fa4\u8d85\u5356\uff0c\u8bbe\u7f6e\u8d85\u5356\u6bd4

            • \u82e5\u672a\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u70b9\u51fb \u7acb\u5373\u5b89\u88c5 \u6309\u94ae\uff0c\u5b89\u88c5\u6d41\u7a0b\u53c2\u8003\u7ba1\u7406 Helm \u5e94\u7528
            • \u82e5\u5df2\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u6253\u5f00\u96c6\u7fa4\u8d85\u5356\u5f00\u5173\uff0c\u5219\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356\u529f\u80fd\u3002

            Note

            \u9700\u8981\u5728\u96c6\u7fa4\u4e0b\u5bf9\u5e94\u7684 namespace \u6253\u4e0a\u5982\u4e0b\u6807\u7b7e\uff0c\u96c6\u7fa4\u8d85\u5356\u7b56\u7565\u624d\u80fd\u751f\u6548\u3002

            clusterresourceoverrides.admission.autoscaling.openshift.io/enabled: \"true\"\n

          "},{"location":"admin/kpanda/clusterops/cluster-oversold.html#_4","title":"\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356","text":"

          \u8bbe\u7f6e\u597d\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u6bd4\u540e\uff0c\u4f1a\u5728\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u65f6\u751f\u6548\u3002\u4e0b\u6587\u4ee5 niginx \u4e3a\u4f8b\uff0c\u9a8c\u8bc1\u4f7f\u7528\u8d44\u6e90\u8d85\u5356\u80fd\u529b\u3002

          1. \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d nginx \u5e76\u8bbe\u7f6e\u5bf9\u5e94\u7684\u8d44\u6e90\u9650\u5236\u503c\uff0c\u521b\u5efa\u6d41\u7a0b\u53c2\u8003\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09

          2. \u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u8d44\u6e90\u7533\u8bf7\u503c\u4e0e\u9650\u5236\u503c\u7684\u6bd4\u503c\u662f\u5426\u7b26\u5408\u8d85\u552e\u6bd4

          "},{"location":"admin/kpanda/clusterops/cluster-settings.html","title":"\u96c6\u7fa4\u8bbe\u7f6e","text":"

          \u96c6\u7fa4\u8bbe\u7f6e\u7528\u4e8e\u4e3a\u60a8\u7684\u96c6\u7fa4\u81ea\u5b9a\u4e49\u9ad8\u7ea7\u7279\u6027\u8bbe\u7f6e\uff0c\u5305\u62ec\u662f\u5426\u542f\u7528 GPU\u3001Helm \u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001Helm \u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u7b49\u3002

          • \u542f\u7528 GPU\uff1a\u9700\u8981\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU \u5361\u53ca\u5bf9\u5e94\u9a71\u52a8\u63d2\u4ef6\u3002

            \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \u3002

          • Helm \u64cd\u4f5c\u57fa\u7840\u955c\u50cf\u3001\u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001\u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\u3001\u662f\u5426\u5f00\u542f\u96c6\u7fa4\u5220\u9664\u4fdd\u62a4\uff08\u5f00\u542f\u540e\u96c6\u7fa4\u5c06\u4e0d\u80fd\u76f4\u63a5\u5378\u8f7d\uff09

          "},{"location":"admin/kpanda/clusterops/latest-operations.html","title":"\u6700\u8fd1\u64cd\u4f5c","text":"

          \u5728\u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u6700\u8fd1\u7684\u96c6\u7fa4\u64cd\u4f5c\u8bb0\u5f55\u548c Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u4ee5\u53ca\u5404\u9879\u64cd\u4f5c\u7684 YAML \u6587\u4ef6\u548c\u65e5\u5fd7\uff0c\u4e5f\u53ef\u4ee5\u5220\u9664\u67d0\u4e00\u6761\u8bb0\u5f55\u3002

          \u8bbe\u7f6e Helm \u64cd\u4f5c\u7684\u4fdd\u7559\u6761\u6570\uff1a

          \u7cfb\u7edf\u9ed8\u8ba4\u4fdd\u7559\u6700\u8fd1 100 \u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\u3002\u82e5\u4fdd\u7559\u6761\u6570\u592a\u591a\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u6570\u636e\u5197\u4f59\uff0c\u4fdd\u7559\u6761\u6570\u592a\u5c11\u53ef\u80fd\u4f1a\u9020\u6210\u60a8\u6240\u9700\u8981\u7684\u5173\u952e\u64cd\u4f5c\u8bb0\u5f55\u7684\u7f3a\u5931\u3002\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8bbe\u7f6e\u5408\u7406\u7684\u4fdd\u7559\u6570\u91cf\u3002\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a

          1. \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> Helm \u64cd\u4f5c -> \u8bbe\u7f6e\u4fdd\u7559\u6761\u6570 \u3002

          2. \u8bbe\u7f6e\u9700\u8981\u4fdd\u7559\u591a\u5c11\u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

          "},{"location":"admin/kpanda/clusters/access-cluster.html","title":"\u8bbf\u95ee\u96c6\u7fa4","text":"

          \u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u76f4\u63a5\u8bbf\u95ee\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5176\u4ed6\u4e24\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bbf\u95ee\u63a7\u5236\uff1a

          • \u901a\u8fc7 CloudShell \u5728\u7ebf\u8bbf\u95ee
          • \u4e0b\u8f7d\u96c6\u7fa4\u8bc1\u4e66\u540e\u901a\u8fc7 kubectl \u8fdb\u884c\u8bbf\u95ee

          Note

          \u8bbf\u95ee\u96c6\u7fa4\u65f6\uff0c\u7528\u6237\u5e94\u5177\u6709 Cluster Admin \u6743\u9650\u6216\u66f4\u9ad8\u6743\u9650\u3002

          "},{"location":"admin/kpanda/clusters/access-cluster.html#cloudshell","title":"\u901a\u8fc7 CloudShell \u8bbf\u95ee","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u901a\u8fc7 CloudShell \u8bbf\u95ee\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u63a7\u5236\u53f0 \u3002

          2. \u5728 CloudShell \u63a7\u5236\u53f0\u6267\u884c kubectl get node \u547d\u4ee4\uff0c\u9a8c\u8bc1 CloudShell \u4e0e\u96c6\u7fa4\u7684\u8fde\u901a\u6027\u3002\u5982\u56fe\uff0c\u63a7\u5236\u53f0\u5c06\u8fd4\u56de\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u4fe1\u606f\u3002

          \u73b0\u5728\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 CloudShell \u6765\u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

          "},{"location":"admin/kpanda/clusters/access-cluster.html#kubectl","title":"\u901a\u8fc7 kubectl \u8bbf\u95ee","text":"

          \u901a\u8fc7\u672c\u5730\u8282\u70b9\u8bbf\u95ee\u5e76\u7ba1\u7406\u4e91\u7aef\u96c6\u7fa4\u65f6\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\uff1a

          • \u672c\u5730\u8282\u70b9\u548c\u4e91\u7aef\u96c6\u7fa4\u7684\u7f51\u7edc\u4e92\u8054\u4e92\u901a\u3002
          • \u5df2\u7ecf\u5c06\u96c6\u7fa4\u8bc1\u4e66\u4e0b\u8f7d\u5230\u4e86\u672c\u5730\u8282\u70b9\u3002
          • \u672c\u5730\u8282\u70b9\u5df2\u7ecf\u5b89\u88c5\u4e86 kubectl \u5de5\u5177\u3002\u5173\u4e8e\u8be6\u7ec6\u7684\u5b89\u88c5\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605\u5b89\u88c5 kubectl\u3002

          \u6ee1\u8db3\u4e0a\u8ff0\u6761\u4ef6\u540e\uff0c\u6309\u7167\u4e0b\u65b9\u6b65\u9aa4\u4ece\u672c\u5730\u8bbf\u95ee\u4e91\u7aef\u96c6\u7fa4\uff1a

          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u4e0b\u8f7d\u8bc1\u4e66\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u5e76\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u8bc1\u4e66\u83b7\u53d6 \u3002

          2. \u9009\u62e9\u8bc1\u4e66\u6709\u6548\u671f\u5e76\u70b9\u51fb \u4e0b\u8f7d\u8bc1\u4e66 \u3002

          3. \u6253\u5f00\u4e0b\u8f7d\u597d\u7684\u96c6\u7fa4\u8bc1\u4e66\uff0c\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u81f3\u672c\u5730\u8282\u70b9\u7684 config \u6587\u4ef6\u3002

            kubectl \u5de5\u5177\u9ed8\u8ba4\u4f1a\u4ece\u672c\u5730\u8282\u70b9\u7684 $HOME/.kube \u76ee\u5f55\u4e0b\u67e5\u627e\u540d\u4e3a config \u7684\u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u5b58\u50a8\u4e86\u76f8\u5173\u96c6\u7fa4\u7684\u8bbf\u95ee\u51ed\u8bc1\uff0ckubectl \u53ef\u4ee5\u51ed\u8be5\u914d\u7f6e\u6587\u4ef6\u8fde\u63a5\u81f3\u96c6\u7fa4\u3002

          4. \u5728\u672c\u5730\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u9a8c\u8bc1\u96c6\u7fa4\u7684\u8fde\u901a\u6027\uff1a

            kubectl get pod -n default\n

            \u9884\u671f\u7684\u8f93\u51fa\u7c7b\u4f3c\u4e8e:

            NAME                            READY   STATUS      RESTARTS    AGE\ndao-2048-2048-58c7f7fc5-mq7h4   1/1     Running     0           30h\n

          \u73b0\u5728\u60a8\u53ef\u4ee5\u5728\u672c\u5730\u901a\u8fc7 kubectl \u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

          "},{"location":"admin/kpanda/clusters/cluster-role.html","title":"\u96c6\u7fa4\u89d2\u8272","text":"

          \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u57fa\u4e8e\u96c6\u7fa4\u7684\u4e0d\u540c\u529f\u80fd\u5b9a\u4f4d\u5bf9\u96c6\u7fa4\u8fdb\u884c\u4e86\u89d2\u8272\u5206\u7c7b\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u7ba1\u7406 IT \u57fa\u7840\u8bbe\u65bd\u3002

          "},{"location":"admin/kpanda/clusters/cluster-role.html#_2","title":"\u5168\u5c40\u670d\u52a1\u96c6\u7fa4","text":"

          \u6b64\u96c6\u7fa4\u7528\u4e8e\u8fd0\u884c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7ec4\u4ef6\uff0c\u4f8b\u5982\u5bb9\u5668\u7ba1\u7406\u3001\u5168\u5c40\u7ba1\u7406\u3001\u53ef\u89c2\u6d4b\u6027\u3001\u955c\u50cf\u4ed3\u5e93\u7b49\u3002 \u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

          \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"admin/kpanda/clusters/cluster-role.html#_3","title":"\u7ba1\u7406\u96c6\u7fa4","text":"

          \u6b64\u96c6\u7fa4\u7528\u4e8e\u7ba1\u7406\u5de5\u4f5c\u96c6\u7fa4\uff0c\u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

          • \u7ecf\u5178\u6a21\u5f0f\u5c06\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u548c\u7ba1\u7406\u96c6\u7fa4\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u96c6\u7fa4\uff0c\u9002\u7528\u4e8e\u4f01\u4e1a\u591a\u6570\u636e\u4e2d\u5fc3\u3001\u591a\u67b6\u6784\u7684\u573a\u666f\u3002
          • \u7b80\u7ea6\u6a21\u5f0f\u5c06\u7ba1\u7406\u96c6\u7fa4\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u90e8\u7f72\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u3002
          \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"admin/kpanda/clusters/cluster-role.html#_4","title":"\u5de5\u4f5c\u96c6\u7fa4","text":"

          \u8fd9\u662f\u4f7f\u7528\u5bb9\u5668\u7ba1\u7406\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e3b\u8981\u7528\u4e8e\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002\u8be5\u96c6\u7fa4\u7531\u7ba1\u7406\u96c6\u7fa4\u8fdb\u884c\u7ba1\u7406\u3002

          \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c \u652f\u6301 K8s 1.22 \u53ca\u4ee5\u4e0a\u7248\u672c \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"admin/kpanda/clusters/cluster-role.html#_5","title":"\u63a5\u5165\u96c6\u7fa4","text":"

          \u6b64\u96c6\u7fa4\u7528\u4e8e\u63a5\u5165\u5df2\u6709\u7684\u6807\u51c6 K8s \u96c6\u7fa4\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u672c\u5730\u6570\u636e\u4e2d\u5fc3\u81ea\u5efa\u96c6\u7fa4\u3001\u516c\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u79c1\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u8fb9\u7f18\u96c6\u7fa4\u3001\u4fe1\u521b\u96c6\u7fa4\u3001\u5f02\u6784\u96c6\u7fa4\u3002\u4e3b\u8981\u7528\u4e8e\u627f\u62c5\u4e1a\u52a1\u8d1f\u8f7d\u3002

          \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.18+ \u652f\u6301\u53cb\u5546 Vmware Tanzu\u3001Amazon EKS\u3001Redhat Openshift\u3001SUSE Rancher\u3001\u963f\u91cc ACK\u3001\u534e\u4e3a CCE\u3001\u817e\u8baf TKE\u3001\u6807\u51c6 K8s \u96c6\u7fa4\u3001\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u4e0d\u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc \u4f9d\u8d56\u4e8e\u63a5\u5165\u96c6\u7fa4\u53d1\u884c\u7248\u7f51\u7edc\u6a21\u5f0f \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565

          Note

          \u4e00\u4e2a\u96c6\u7fa4\u53ef\u4ee5\u6709\u591a\u4e2a\u96c6\u7fa4\u89d2\u8272\uff0c\u4f8b\u5982\u4e00\u4e2a\u96c6\u7fa4\u65e2\u53ef\u4ee5\u662f\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\uff0c\u4e5f\u53ef\u4ee5\u662f\u7ba1\u7406\u96c6\u7fa4\u6216\u5de5\u4f5c\u96c6\u7fa4\u3002

          "},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html","title":"\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u8c03\u5ea6\u5668 scheduler-plugins","text":"

          \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u4e2a\u8c03\u5ea6\u5668 scheduler-plugins\u3002

          "},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_1","title":"\u4e3a\u4ec0\u4e48\u9700\u8981 scheduler-plugins\uff1f","text":"

          \u901a\u8fc7\u5e73\u53f0\u521b\u5efa\u7684\u96c6\u7fa4\u4e2d\u4f1a\u5b89\u88c5 K8s \u539f\u751f\u7684\u8c03\u5ea6\u5668\uff0c\u4f46\u662f\u539f\u751f\u7684\u8c03\u5ea6\u5668\u5b58\u5728\u5f88\u591a\u7684\u5c40\u9650\u6027\uff1a

          • \u539f\u751f\u7684\u8c03\u5ea6\u5668\u65e0\u6cd5\u6ee1\u8db3\u8c03\u5ea6\u9700\u6c42\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528 CoScheduling\u3001 CapacityScheduling \u7b49 scheduler-plugins \u63d2\u4ef6\u3002
          • \u5728\u7279\u6b8a\u7684\u573a\u666f\uff0c\u9700\u8981\u65b0\u7684\u8c03\u5ea6\u5668\u6765\u5b8c\u6210\u8c03\u5ea6\u4efb\u52a1\u800c\u4e0d\u5f71\u54cd\u539f\u751f\u8c03\u5ea6\u5668\u7684\u6d41\u7a0b\u3002
          • \u533a\u5206\u4e0d\u540c\u529f\u80fd\u7684\u8c03\u5ea6\u5668\uff0c\u901a\u8fc7\u5207\u6362\u8c03\u5ea6\u5668\u540d\u79f0\u6765\u5b9e\u73b0\u4e0d\u540c\u7684\u8c03\u5ea6\u573a\u666f\u3002

          \u672c\u6587\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u7684\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u5e76\u4f7f\u7528 scheduler-plugins\u3002

          "},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_2","title":"\u5b89\u88c5 scheduler-plugins","text":""},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
          • kubean \u662f\u5728 v0.13.0 \u7248\u672c\u63a8\u51fa\u7684\u65b0\u529f\u80fd\uff0c\u9009\u62e9\u7ba1\u7406\u96c6\u7fa4\u65f6\u8bf7\u786e\u4fdd\u7248\u672c\u4e0d\u4f4e\u4e8e\u6b64\u7248\u672c\u3002
          • \u5b89\u88c5 scheduler-plugins \u7248\u672c\u4e3a v0.27.8\uff0c\u8bf7\u786e\u4fdd\u96c6\u7fa4\u7248\u672c\u662f\u5426\u4e0e\u5b83\u517c\u5bb9\u3002 \u53c2\u8003\u6587\u6863 Compatibility Matrix\u3002
          "},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html#_2","title":"\u5b89\u88c5\u6d41\u7a0b","text":"
          1. \u5728 \u521b\u5efa\u96c6\u7fa4 -> \u9ad8\u7ea7\u914d\u7f6e -> \u81ea\u5b9a\u4e49\u53c2\u6570 \u4e2d\u6dfb\u52a0 scheduler-plugins \u53c2\u6570

            scheduler_plugins_enabled:true\nscheduler_plugins_plugin_config:\n  - name: Coscheduling\n    args:\n      permitWaitingTimeSeconds: 10 # default is 60\n

            \u53c2\u6570\u8bf4\u660e\uff1a

            • scheduler_plugins_enabled \u8bbe\u7f6e\u4e3a true \u65f6\uff0c\u5f00\u542f scheduler-plugins \u63d2\u4ef6\u80fd\u529b\u3002
            • \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e scheduler_plugins_enabled_plugins \u6216 scheduler_plugins_disabled_plugins \u9009\u9879\u6765\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u63d2\u4ef6\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u540d\u79f0\u3002
            • \u5982\u679c\u9700\u8981\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u63d2\u4ef6\u7684\u53c2\u6570\u8bf7\u914d\u7f6e scheduler_plugins_plugin_config\uff0c\u4f8b\u5982\uff1a\u8bbe\u7f6e coscheduling \u7684 permitWaitingTimeoutSeconds \u53c2\u6570\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u914d\u7f6e\u9879
          2. \u96c6\u7fa4\u521b\u5efa\u6210\u529f\u540e\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5b89\u88c5 scheduler-plugins \u548c controller \u7ec4\u4ef6\u8d1f\u8f7d\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u96c6\u7fa4\u7684\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e2d\u67e5\u770b\u8d1f\u8f7d\u72b6\u6001\u3002

          "},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_3","title":"\u4f7f\u7528 scheduler-plugins","text":"

          \u4ee5\u4e0b\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 scheduler-plugins\u3002

          1. \u5728 Helm \u6a21\u677f\u4e2d\u5b89\u88c5 vgpu\uff0c\u8bbe\u7f6e values.yaml \u53c2\u6570\u3002

            • schedulerName: scheduler-plugins-scheduler\uff0c\u8fd9\u662f kubean \u9ed8\u8ba4\u5b89\u88c5\u7684 scheduler-plugins \u7684 scheduler \u540d\u79f0\uff0c\u76ee\u524d\u4e0d\u80fd\u4fee\u6539\u3002
            • scheduler.kubeScheduler.enabled: false\uff0c\u4e0d\u5b89\u88c5 kube-scheduler\uff0c\u5c06 vgpu-scheduler \u4f5c\u4e3a\u5355\u72ec\u7684 extender\u3002
          2. \u5728 scheduler-plugins \u4e0a\u6269\u5c55 vgpu-scheduler\u3002

            [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
            apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\n

            \u4fee\u6539 scheduler-plugins \u7684 scheduler-config \u7684 configmap \u53c2\u6570\uff0c\u5982\u4e0b\uff1a

            [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
            apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\nextenders:\n  - urlPrefix: \"${urlPrefix}\"\n    filterVerb: filter\n    bindVerb: bind\n    nodeCacheCapable: true\n    ignorable: true\n    httpTimeout: 30s\n    weight: 1\n    enableHTTPS: true\n    tlsConfig:\n      insecure: true\n    managedResources:\n      - name: nvidia.com/vgpu\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem\n        ignoredByScheduler: true\n      - name: nvidia.com/gpucores\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem-percentage\n        ignoredByScheduler: true\n      - name: nvidia.com/priority\n        ignoredByScheduler: true\n      - name: cambricon.com/mlunum\n        ignoredByScheduler: true\n
          3. \u5b89\u88c5\u5b8c vgpu-scheduler \u540e\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa svc\uff0curlPrefix \u6307\u5b9a svc \u7684 URL\u3002

            Note

            • svc \u6307 pod \u670d\u52a1\u8d1f\u8f7d\uff0c\u60a8\u53ef\u4ee5\u5230\u5b89\u88c5\u4e86 nvidia-vgpu \u63d2\u4ef6\u7684\u547d\u540d\u7a7a\u95f4\u4e0b\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u62ff\u5230 443 \u7aef\u53e3\u5bf9\u5e94\u7684\u5916\u90e8\u8bbf\u95ee\u4fe1\u606f\u3002

              kubectl get svc -n ${namespace} \n
            • urlprifix \u683c\u5f0f\u4e3a https://${ip \u5730\u5740}:${\u7aef\u53e3}

          4. \u5c06 scheduler-plugins \u7684 scheduler Pod \u91cd\u542f\uff0c\u52a0\u8f7d\u65b0\u7684\u914d\u7f6e\u6587\u4ef6\u3002

            Note

            \u5728\u521b\u5efa vgpu \u5e94\u7528\u65f6\u4e0d\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u540d\u79f0\uff0cvgpu-scheduler \u7684 Webhook \u4f1a\u81ea\u52a8\u5c06 Scheduler \u7684\u540d\u79f0\u4fee\u6539\u4e3a scheduler-plugins-scheduler\uff0c\u4e0d\u7528\u624b\u52a8\u6307\u5b9a\u3002

          "},{"location":"admin/kpanda/clusters/cluster-status.html","title":"\u96c6\u7fa4\u72b6\u6001","text":"

          \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u7eb3\u7ba1\u4e24\u79cd\u7c7b\u578b\u7684\u96c6\u7fa4\uff1a\u63a5\u5165\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u3002 \u5173\u4e8e\u96c6\u7fa4\u7eb3\u7ba1\u7c7b\u578b\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1\u96c6\u7fa4\u89d2\u8272\u3002

          \u8fd9\u4e24\u79cd\u96c6\u7fa4\u7684\u72b6\u6001\u5982\u4e0b\u6240\u8ff0\u3002

          "},{"location":"admin/kpanda/clusters/cluster-status.html#_2","title":"\u63a5\u5165\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u63a5\u5165\u4e2d\uff08Joining\uff09 \u96c6\u7fa4\u6b63\u5728\u63a5\u5165 \u89e3\u9664\u63a5\u5165\u4e2d\uff08Removing\uff09 \u96c6\u7fa4\u6b63\u5728\u89e3\u9664\u63a5\u5165 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002"},{"location":"admin/kpanda/clusters/cluster-status.html#_3","title":"\u81ea\u5efa\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u521b\u5efa\u4e2d\uff08Creating\uff09 \u96c6\u7fa4\u6b63\u5728\u521b\u5efa \u66f4\u65b0\u4e2d\uff08Updating\uff09 \u66f4\u65b0\u96c6\u7fa4 Kubernetes \u7248\u672c \u5220\u9664\u4e2d\uff08Deleting\uff09 \u96c6\u7fa4\u6b63\u5728\u5220\u9664 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002 \u521b\u5efa\u5931\u8d25\uff08Failed\uff09 \u96c6\u7fa4\u521b\u5efa\u5931\u8d25\uff0c\u8bf7\u67e5\u770b\u65e5\u5fd7\u4ee5\u83b7\u53d6\u8be6\u7ec6\u5931\u8d25\u539f\u56e0"},{"location":"admin/kpanda/clusters/cluster-version.html","title":"\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4","text":"

          \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c\u63a5\u5165\u578b\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u91c7\u53d6\u4e0d\u540c\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

          \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u81ea\u5efa\u96c6\u7fa4\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

          Kubernetes \u793e\u533a\u652f\u6301 3 \u4e2a\u7248\u672c\u8303\u56f4\uff0c\u5982 1.26\u30011.27\u30011.28\u3002\u5f53\u793e\u533a\u65b0\u7248\u672c\u53d1\u5e03\u4e4b\u540e\uff0c\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u5c06\u4f1a\u8fdb\u884c\u9012\u589e\u3002 \u5982\u793e\u533a\u6700\u65b0\u7684 1.29 \u7248\u672c\u5df2\u7ecf\u53d1\u5e03\uff0c\u6b64\u65f6\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.27\u30011.28\u30011.29\u3002

          \u4f8b\u5982\uff0c\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.25\u30011.26\u30011.27\uff0c\u5219\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u662f 1.24\u30011.25\u30011.26\uff0c\u5e76\u4e14\u4f1a\u4e3a\u7528\u6237\u63a8\u8350\u4e00\u4e2a\u7a33\u5b9a\u7684\u7248\u672c\uff0c\u5982 1.24.7\u3002

          \u9664\u6b64\u4e4b\u5916\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e0e\u793e\u533a\u4fdd\u6301\u9ad8\u5ea6\u540c\u6b65\uff0c\u5f53\u793e\u533a\u7248\u672c\u8fdb\u884c\u9012\u589e\u540e\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e5f\u4f1a\u540c\u6b65\u9012\u589e\u4e00\u4e2a\u7248\u672c\u3002

          "},{"location":"admin/kpanda/clusters/cluster-version.html#kubernetes","title":"Kubernetes \u7248\u672c\u652f\u6301\u8303\u56f4","text":"Kubernetes \u793e\u533a\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u63a8\u8350\u7248\u672c \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5b89\u88c5\u5668 \u53d1\u5e03\u65f6\u95f4
          • 1.26
          • 1.27
          • 1.28
          • 1.25
          • 1.26
          • 1.27
          1.27.5 v0.13.0 2023.11.30"},{"location":"admin/kpanda/clusters/create-cluster.html","title":"\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4","text":"

          \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u96c6\u7fa4\u89d2\u8272\u5206\u56db\u7c7b\uff1a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3001\u7ba1\u7406\u96c6\u7fa4\u3001\u5de5\u4f5c\u96c6\u7fa4\u3001\u63a5\u5165\u96c6\u7fa4\u3002 \u5176\u4e2d\uff0c\u63a5\u5165\u96c6\u7fa4\u53ea\u80fd\u4ece\u7b2c\u4e09\u65b9\u5382\u5546\u63a5\u5165\uff0c\u53c2\u89c1\u63a5\u5165\u96c6\u7fa4\u3002

          \u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u65b0\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u9700\u8981\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4fdd\u6301\u4e00\u81f4\u3002 \u5982\u9700\u4f7f\u7528\u533a\u522b\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 OS \u6216\u67b6\u6784\u7684\u8282\u70b9\u521b\u5efa\u96c6\u7fa4\uff0c\u53c2\u9605\u5728 centos \u7ba1\u7406\u5e73\u53f0\u4e0a\u521b\u5efa ubuntu \u5de5\u4f5c\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

          \u63a8\u8350\u4f7f\u7528 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684\u64cd\u4f5c\u7cfb\u7edf\u6765\u521b\u5efa\u96c6\u7fa4\u3002 \u5982\u60a8\u672c\u5730\u8282\u70b9\u4e0d\u5728\u4e0a\u8ff0\u652f\u6301\u8303\u56f4\uff0c\u53ef\u53c2\u8003\u5728\u975e\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u521b\u5efa\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

          "},{"location":"admin/kpanda/clusters/create-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

          \u521b\u5efa\u96c6\u7fa4\u4e4b\u524d\u9700\u8981\u6ee1\u8db3\u4e00\u5b9a\u7684\u524d\u63d0\u6761\u4ef6\uff1a

          • \u6839\u636e\u4e1a\u52a1\u9700\u6c42\u51c6\u5907\u4e00\u5b9a\u6570\u91cf\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u4e00\u81f4\u3002
          • \u63a8\u8350 Kubernetes \u7248\u672c 1.29.5\uff0c\u5177\u4f53\u7248\u672c\u8303\u56f4\uff0c\u53c2\u9605 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u96c6\u7fa4\u7248\u672c\u652f\u6301\u4f53\u7cfb\uff0c \u76ee\u524d\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4\u5728 v1.28.0-v1.30.2\u3002\u5982\u9700\u521b\u5efa\u4f4e\u7248\u672c\u7684\u96c6\u7fa4\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4\u3001\u90e8\u7f72\u4e0e\u5347\u7ea7 Kubean \u5411\u4e0b\u517c\u5bb9\u7248\u672c\u3002
          • \u76ee\u6807\u4e3b\u673a\u9700\u8981\u5141\u8bb8 IPv4 \u8f6c\u53d1\u3002\u5982\u679c Pod \u548c Service \u4f7f\u7528\u7684\u662f IPv6\uff0c\u5219\u76ee\u6807\u670d\u52a1\u5668\u9700\u8981\u5141\u8bb8 IPv6 \u8f6c\u53d1\u3002
          • \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u6682\u4e0d\u63d0\u4f9b\u5bf9\u9632\u706b\u5899\u7684\u7ba1\u7406\u529f\u80fd\uff0c\u60a8\u9700\u8981\u9884\u5148\u81ea\u884c\u5b9a\u4e49\u76ee\u6807\u4e3b\u673a\u9632\u706b\u5899\u89c4\u5219\u3002\u4e3a\u4e86\u907f\u514d\u521b\u5efa\u96c6\u7fa4\u7684\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u95ee\u9898\uff0c\u5efa\u8bae\u7981\u7528\u76ee\u6807\u4e3b\u673a\u7684\u9632\u706b\u5899\u3002
          • \u53c2\u9605\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5\u3002
          "},{"location":"admin/kpanda/clusters/create-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u4e2d\uff0c\u70b9\u51fb \u521b\u5efa\u96c6\u7fa4 \u6309\u94ae\u3002

          2. \u53c2\u8003\u4e0b\u5217\u8981\u6c42\u586b\u5199\u96c6\u7fa4\u57fa\u672c\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

            • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u53ea\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08\"-\"\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u8005\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002
            • \u88ab\u7eb3\u7ba1\uff1a\u9009\u62e9\u7531\u54ea\u4e2a\u96c6\u7fa4\u6765\u7ba1\u7406\u6b64\u96c6\u7fa4\uff0c\u4f8b\u5982\u5728\u96c6\u7fa4\u751f\u547d\u5468\u671f\u4e2d\u521b\u5efa\u3001\u5347\u7ea7\u3001\u8282\u70b9\u6269\u7f29\u5bb9\u3001\u5220\u9664\u96c6\u7fa4\u7b49\u3002
            • \u8fd0\u884c\u65f6\uff1a\u9009\u62e9\u96c6\u7fa4\u7684\u8fd0\u884c\u65f6\u73af\u5883\uff0c\u76ee\u524d\u652f\u6301 containerd \u548c docker\uff0c\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6\u3002
            • Kubernetes \u7248\u672c\uff1a\u652f\u6301 3 \u4e2a\u7248\u672c\u8de8\u5ea6\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u88ab\u7eb3\u7ba1\u96c6\u7fa4\u6240\u652f\u6301\u7684\u7248\u672c\u3002

          3. \u586b\u5199\u8282\u70b9\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

            • \u9ad8\u53ef\u7528\uff1a\u5f00\u542f\u540e\u9700\u8981\u63d0\u4f9b\u81f3\u5c11 3 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u3002\u5173\u95ed\u540e\uff0c\u53ea\u63d0\u4f9b 1 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u5373\u53ef\u3002

              \u751f\u4ea7\u73af\u5883\u4e2d\u5efa\u8bae\u4f7f\u7528\u9ad8\u53ef\u7528\u6a21\u5f0f\u3002

            • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u9009\u62e9\u901a\u8fc7\u7528\u6237\u540d/\u5bc6\u7801\u8fd8\u662f\u516c\u79c1\u94a5\u8bbf\u95ee\u8282\u70b9\u3002

              \u5982\u679c\u4f7f\u7528\u516c\u79c1\u94a5\u65b9\u5f0f\u8bbf\u95ee\u8282\u70b9\uff0c\u9700\u8981\u9884\u5148\u914d\u7f6e\u8282\u70b9\u7684 SSH \u5bc6\u94a5\u3002\u53c2\u9605\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9\u3002

            • \u4f7f\u7528\u7edf\u4e00\u7684\u5bc6\u7801\uff1a\u5f00\u542f\u540e\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u7684\u8bbf\u95ee\u5bc6\u7801\u90fd\u76f8\u540c\uff0c\u9700\u8981\u5728\u4e0b\u65b9\u8f93\u5165\u8bbf\u95ee\u6240\u6709\u8282\u70b9\u7684\u7edf\u4e00\u5bc6\u7801\u3002\u5982\u679c\u5173\u95ed\uff0c\u5219\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u8282\u70b9\u8bbe\u7f6e\u5355\u72ec\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002

            • \u8282\u70b9\u4fe1\u606f\uff1a\u586b\u5199\u8282\u70b9\u540d\u79f0\u548c IP \u5730\u5740\u3002

            • \u81ea\u5b9a\u4e49\u53c2\u6570\uff1a\u8bbe\u7f6e\u53d8\u91cf\u63a7\u5236 Ansible \u4e0e\u8fdc\u7a0b\u4e3b\u673a\u4ea4\u4e92\u3002\u53ef\u8bbe\u7f6e\u53d8\u91cf\u53c2\u8003\u8fde\u63a5\u5230\u4e3b\u673a\uff1a\u884c\u4e3a\u6e05\u5355\u53c2\u6570
            • NTP \u65f6\u95f4\u540c\u6b65\uff1a\u5f00\u542f\u540e\u4f1a\u81ea\u52a8\u540c\u6b65\u5404\u4e2a\u8282\u70b9\u4e0a\u7684\u65f6\u95f4\uff0c\u9700\u8981\u63d0\u4f9b NTP \u670d\u52a1\u5668\u5730\u5740\u3002

          4. \u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb\u8282\u70b9\u68c0\u67e5\u3002\u5982\u679c\u68c0\u67e5\u901a\u8fc7\u5219\u7ee7\u7eed\u4e0b\u4e00\u6b65\u64cd\u4f5c\u3002\u5982\u679c\u68c0\u67e5\u672a\u901a\u8fc7\uff0c\u5219\u66f4\u65b0 \u8282\u70b9\u4fe1\u606f \u5e76\u518d\u6b21\u6267\u884c\u68c0\u67e5\u3002

          5. \u586b\u5199\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

            • \u7f51\u7edc\u63d2\u4ef6\uff1a\u8d1f\u8d23\u4e3a\u96c6\u7fa4\u5185\u7684 Pod \u63d0\u4f9b\u7f51\u7edc\u670d\u52a1\uff0c\u521b\u5efa\u96c6\u7fa4\u540e\u4e0d\u53ef\u66f4\u6539\u7f51\u7edc\u63d2\u4ef6\u3002\u652f\u6301 cilium \u548c calico\u3002\u9009\u62e9 none \u8868\u793a\u6682\u4e0d\u5b89\u88c5\u7f51\u7edc\u63d2\u4ef6\u3002

            • \u5bb9\u5668\u7f51\u6bb5\uff1a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4f7f\u7528\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u7684\u6570\u91cf\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

            • \u670d\u52a1\u7f51\u6bb5\uff1a\u540c\u4e00\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4e92\u76f8\u8bbf\u95ee\u65f6\u4f7f\u7528\u7684 Service \u8d44\u6e90\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a Service \u8d44\u6e90\u7684\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

          6. \u586b\u5199\u63d2\u4ef6\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

          7. \u586b\u5199\u9ad8\u7ea7\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

            • kubelet_max_pods \uff1a\u8bbe\u7f6e\u6bcf\u4e2a\u8282\u70b9\u7684\u6700\u5927 Pod \u6570\u91cf\uff0c\u9ed8\u8ba4\u4e3a 110 \u4e2a\u3002
            • hostname_overide \uff1a\u91cd\u7f6e\u4e3b\u673a\u540d\uff0c\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u503c\uff0c\u91c7\u7528\u7cfb\u7edf\u9ed8\u8ba4\u751f\u6210\u7684\u540d\u79f0\u4f5c\u4e3a\u4e3b\u673a\u540d\u79f0\u3002
            • kubernetes_audit \uff1aKubernetes \u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
            • auto_renew_certificate \uff1a\u5728\u6bcf\u6708\u7b2c\u4e00\u4e2a\u661f\u671f\u4e00\u81ea\u52a8\u66f4\u65b0 Kubernetes \u63a7\u5236\u5e73\u9762\u8bc1\u4e66\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
            • disable_firewalld&ufw \uff1a\u7981\u7528\u9632\u706b\u5899\uff0c\u907f\u514d\u8282\u70b9\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u8bbf\u95ee\u3002
            • Insecure_registries \uff1a\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u914d\u7f6e\u3002\u4f7f\u7528\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u521b\u5efa\u96c6\u7fa4\u65f6\uff0c\u4e3a\u4e86\u907f\u514d\u8bc1\u4e66\u95ee\u9898\u5bfc\u81f4\u5bb9\u5668\u5f15\u64ce\u62d2\u7edd\u8bbf\u95ee\uff0c\u9700\u8981\u5728\u8fd9\u91cc\u586b\u5199\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u5730\u5740\uff0c\u4ee5\u7ed5\u8fc7\u5bb9\u5668\u5f15\u64ce\u7684\u8bc1\u4e66\u8ba4\u8bc1\u800c\u83b7\u53d6\u955c\u50cf\u3002
            • yum_repos \uff1a\u586b\u5199 Yum \u6e90\u4ed3\u5e93\u5730\u5740\u3002\u79bb\u7ebf\u73af\u5883\u4e0b\uff0c\u9ed8\u8ba4\u7ed9\u51fa\u7684\u5730\u5740\u9009\u9879\u4ec5\u4f9b\u53c2\u8003\uff0c\u8bf7\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u586b\u5199\u3002

          Success

          • \u586b\u5199\u6b63\u786e\u4fe1\u606f\u5e76\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u9875\u9762\u4f1a\u63d0\u793a\u96c6\u7fa4\u6b63\u5728\u521b\u5efa\u4e2d\u3002
          • \u521b\u5efa\u96c6\u7fa4\u8017\u65f6\u8f83\u957f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u5f85\u3002\u5176\u95f4\uff0c\u53ef\u4ee5\u70b9\u51fb \u8fd4\u56de\u96c6\u7fa4\u5217\u8868 \u6309\u94ae\u8ba9\u5b89\u88c5\u8fc7\u7a0b\u540e\u53f0\u8fd0\u884c\u3002
          • \u5982\u9700\u67e5\u770b\u5f53\u524d\u72b6\u6001\uff0c\u53ef\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u3002

          Note

          • \u5f53\u96c6\u7fa4\u51fa\u73b0\u672a\u77e5\u72b6\u6001\u65f6\uff0c\u8868\u793a\u5f53\u524d\u96c6\u7fa4\u5df2\u5931\u8054\u3002
          • \u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\u3002
          • \u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002

          "},{"location":"admin/kpanda/clusters/delete-cluster.html","title":"\u5378\u8f7d/\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

          \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0 \u521b\u5efa\u7684\u96c6\u7fa4 \u652f\u6301 \u5378\u8f7d\u96c6\u7fa4 \u6216 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\uff0c\u4ece\u5176\u4ed6\u73af\u5883\u76f4\u63a5 \u63a5\u5165\u7684\u96c6\u7fa4 \u4ec5\u652f\u6301 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u3002

          Info

          \u5982\u679c\u60f3\u5f7b\u5e95\u5220\u9664\u4e00\u4e2a\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u9700\u8981\u524d\u5f80\u521b\u5efa\u8be5\u96c6\u7fa4\u7684\u539f\u59cb\u5e73\u53f0\u64cd\u4f5c\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0d\u652f\u6301\u5220\u9664\u63a5\u5165\u7684\u96c6\u7fa4\u3002

          \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c \u5378\u8f7d\u96c6\u7fa4 \u548c \u89e3\u9664\u63a5\u5165 \u7684\u533a\u522b\u5728\u4e8e\uff1a

          • \u5378\u8f7d\u96c6\u7fa4 \u64cd\u4f5c\u4f1a\u9500\u6bc1\u8be5\u96c6\u7fa4\uff0c\u5e76\u91cd\u7f6e\u96c6\u7fa4\u4e0b\u6240\u6709\u8282\u70b9\u7684\u6570\u636e\u3002\u6240\u6709\u6570\u636e\u90fd\u5c06\u88ab\u9500\u6bc1\uff0c\u5efa\u8bae\u505a\u597d\u5907\u4efd\u3002\u540e\u671f\u9700\u8981\u65f6\u5fc5\u987b\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u96c6\u7fa4\u3002
          • \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u4f1a\u5c06\u5f53\u524d\u96c6\u7fa4\u4ece\u5e73\u53f0\u4e2d\u79fb\u9664\uff0c\u4e0d\u4f1a\u6467\u6bc1\u96c6\u7fa4\uff0c\u4e5f\u4e0d\u4f1a\u9500\u6bc1\u6570\u636e\u3002
          "},{"location":"admin/kpanda/clusters/delete-cluster.html#_2","title":"\u5378\u8f7d\u96c6\u7fa4","text":"

          Note

          • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u5378\u8f7d\u96c6\u7fa4\u7684\u64cd\u4f5c\u3002
          • \u5378\u8f7d\u96c6\u7fa4\u4e4b\u524d\uff0c\u5e94\u8be5\u5148\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u5728 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \u4e2d\u5173\u95ed \u96c6\u7fa4\u5220\u9664\u4fdd\u62a4 \uff0c \u5426\u5219\u4e0d\u663e\u793a \u5378\u8f7d\u96c6\u7fa4 \u7684\u9009\u9879\u3002
          • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u5378\u8f7d\u6216\u79fb\u9664\u64cd\u4f5c\u3002
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u5378\u8f7d\u96c6\u7fa4 \u3002

          2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u3002

            \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u6267\u884c\u5378\u8f7d\u64cd\u4f5c\u3002

          3. \u8fd4\u56de \u96c6\u7fa4\u5217\u8868 \u9875\u53ef\u4ee5\u770b\u5230\u8be5\u96c6\u7fa4\u7684\u72b6\u6001\u5df2\u7ecf\u53d8\u6210 \u5220\u9664\u4e2d \u3002\u5378\u8f7d\u96c6\u7fa4\u53ef\u80fd\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5019\u3002

          "},{"location":"admin/kpanda/clusters/delete-cluster.html#_3","title":"\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

          Note

          • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u89e3\u9664\u63a5\u5165\u7684\u64cd\u4f5c\u3002
          • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u89e3\u9664\u63a5\u5165\u3002
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

          2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

            \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u89e3\u9664\u63a5\u5165\u3002

          "},{"location":"admin/kpanda/clusters/delete-cluster.html#_4","title":"\u6e05\u7406\u89e3\u9664\u63a5\u5165\u96c6\u7fa4\u914d\u7f6e\u6570\u636e","text":"

          \u96c6\u7fa4\u88ab\u79fb\u9664\u540e\uff0c\u96c6\u7fa4\u4e2d\u539f\u6709\u7684\u7ba1\u7406\u5e73\u53f0\u6570\u636e\u4e0d\u4f1a\u88ab\u81ea\u52a8\u6e05\u9664\uff0c\u5982\u9700\u5c06\u96c6\u7fa4\u63a5\u5165\u81f3\u65b0\u7ba1\u7406\u5e73\u53f0\u5219\u9700\u8981\u624b\u52a8\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

          \u5220\u9664 kpanda-system\u3001insight-system \u547d\u540d\u7a7a\u95f4

          kubectl delete ns kpanda-system insight-system\n
          "},{"location":"admin/kpanda/clusters/integrate-cluster.html","title":"\u63a5\u5165\u96c6\u7fa4","text":"

          \u901a\u8fc7\u63a5\u5165\u96c6\u7fa4\u64cd\u4f5c\uff0c\u80fd\u591f\u5bf9\u4f17\u591a\u4e91\u670d\u52a1\u5e73\u53f0\u96c6\u7fa4\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u8fdb\u884c\u7edf\u4e00\u7eb3\u7ba1\uff0c\u5f62\u6210\u7edf\u4e00\u6cbb\u7406\u5e73\u53f0\uff0c\u6709\u6548\u907f\u514d\u4e86\u88ab\u5382\u5546\u9501\u5b9a\u98ce\u9669\uff0c\u52a9\u529b\u4f01\u4e1a\u4e1a\u52a1\u5b89\u5168\u4e0a\u4e91\u3002

          \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u63a5\u5165\u591a\u79cd\u4e3b\u6d41\u7684\u5bb9\u5668\u96c6\u7fa4\uff0c\u4f8b\u5982 Redhat Openshift, SUSE Rancher, VMware Tanzu, Amazon EKS, Aliyun ACK, Huawei CCE, Tencent TKE, \u6807\u51c6 Kubernetes \u96c6\u7fa4\u3002

          "},{"location":"admin/kpanda/clusters/integrate-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u51c6\u5907\u4e00\u4e2a\u5f85\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\uff0c\u5e76\u4e14\u96c6\u7fa4\u7684 Kubernetes \u7248\u672c 1.22+\u3002
          • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
          "},{"location":"admin/kpanda/clusters/integrate-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
          1. \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u63a5\u5165\u96c6\u7fa4 \u6309\u94ae\u3002

          2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

            • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u5e94\u5177\u6709\u552f\u4e00\u6027\uff0c\u8bbe\u7f6e\u540e\u4e0d\u53ef\u66f4\u6539\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26(\"-\")\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002
            • \u96c6\u7fa4\u522b\u540d\uff1a\u53ef\u8f93\u5165\u4efb\u610f\u5b57\u7b26\uff0c\u4e0d\u8d85\u8fc7 60 \u4e2a\u5b57\u7b26\u3002
            • \u53d1\u884c\u7248\uff1a\u96c6\u7fa4\u7684\u53d1\u884c\u5382\u5546\uff0c\u5305\u62ec\u5e02\u573a\u4e3b\u6d41\u4e91\u5382\u5546\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u3002
          3. \u586b\u5199\u76ee\u6807\u96c6\u7fa4\u7684 KubeConfig\uff0c\u70b9\u51fb \u9a8c\u8bc1 Config \uff0c\u9a8c\u8bc1\u901a\u8fc7\u540e\u624d\u80fd\u6210\u529f\u63a5\u5165\u96c6\u7fa4\u3002

            \u5982\u679c\u4e0d\u77e5\u9053\u5982\u4f55\u83b7\u53d6\u96c6\u7fa4\u7684 KubeConfig \u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u53f3\u4e0a\u89d2\u70b9\u51fb \u5982\u4f55\u83b7\u53d6 kubeConfig \u67e5\u770b\u5bf9\u5e94\u6b65\u9aa4\u3002

          4. \u786e\u8ba4\u6240\u6709\u53c2\u6570\u586b\u5199\u6b63\u786e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

          Note

          • \u65b0\u63a5\u5165\u7684\u96c6\u7fa4\u72b6\u6001\u4e3a \u63a5\u5165\u4e2d \uff0c\u63a5\u5165\u6210\u529f\u540e\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002
          • \u5982\u679c\u96c6\u7fa4\u72b6\u6001\u4e00\u76f4\u5904\u4e8e \u63a5\u5165\u4e2d \uff0c\u8bf7\u786e\u8ba4\u63a5\u5165\u811a\u672c\u662f\u5426\u5728\u5bf9\u5e94\u96c6\u7fa4\u4e0a\u6267\u884c\u6210\u529f\u3002\u6709\u5173\u96c6\u7fa4\u72b6\u6001\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u72b6\u6001\u3002
          "},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html","title":"\u63a5\u5165 rancher \u96c6\u7fa4","text":"

          \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u63a5\u5165 rancher \u96c6\u7fa4\u3002

          "},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u51c6\u5907\u4e00\u4e2a\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u5f85\u63a5\u5165 ranhcer \u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\u3002
          • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
          "},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html#rancher-serviceaccount","title":"\u6b65\u9aa4\u4e00\uff1a\u5728 rancher \u96c6\u7fa4\u521b\u5efa\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684 ServiceAccount \u7528\u6237","text":"
          1. \u4f7f\u7528\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u89d2\u8272\u8fdb\u5165 rancher \u96c6\u7fa4\uff0c\u5e76\u4f7f\u7528\u7ec8\u7aef\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a sa.yaml \u7684\u6587\u4ef6\u3002

            vi sa.yaml\n

            \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

            sa.yaml
            apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: rancher-rke\nrules:\n  - apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n  - nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n  name: rancher-rke\nroleRef:\n    apiGroup: rbac.authorization.k8s.io\n    kind: ClusterRole\n    name: rancher-rke\n  subjects:\n  - kind: ServiceAccount\n    name: rancher-rke\n    namespace: kube-system\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  name: rancher-rke\n  namespace: kube-system\n

            \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

          2. \u5728\u5f53\u524d\u8def\u5f84\u4e0b\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u65b0\u5efa\u540d\u4e3a rancher-rke \u7684 ServiceAccount\uff08\u4ee5\u4e0b\u7b80\u79f0\u4e3a SA \uff09\uff1a

            kubectl apply -f sa.yaml\n

            \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

            clusterrole.rbac.authorization.k8s.io/rancher-rke created\nclusterrolebinding.rbac.authorization.k8s.io/rancher-rke created\nserviceaccount/rancher-rke created\n
          3. \u521b\u5efa\u540d\u4e3a rancher-rke-secret \u7684\u5bc6\u94a5\uff0c\u5e76\u5c06\u5bc6\u94a5\u548c rancher-rke SA \u7ed1\u5b9a\u3002

            kubectl apply -f - <<EOF\napiVersion: v1\nkind: Secret\nmetadata:\n  name: rancher-rke-secret\n  namespace: kube-system\n  annotations:\n    kubernetes.io/service-account.name: rancher-rke\n  type: kubernetes.io/service-account-token\nEOF\n

            \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

            secret/rancher-rke-secret created\n

            Note

            \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u7248\u672c\u4f4e\u4e8e 1.24\uff0c\u8bf7\u5ffd\u7565\u6b64\u6b65\u9aa4\uff0c\u76f4\u63a5\u524d\u5f80\u4e0b\u4e00\u6b65\u3002

          4. \u67e5\u627e rancher-rke SA \u7684\u5bc6\u94a5\uff1a

            kubectl -n kube-system get secret | grep rancher-rke | awk '{print $1}'\n

            \u9884\u671f\u8f93\u51fa\uff1a

            rancher-rke-secret\n

            \u67e5\u770b\u5bc6\u94a5 rancher-rke-secret \u7684\u8be6\u60c5\uff1a

            kubectl -n kube-system describe secret rancher-rke-secret\n

            \u9884\u671f\u8f93\u51fa\uff1a

            Name:         rancher-rke-secret\nNamespace:    kube-system\nLabels:       <none>\nAnnotations:  kubernetes.io/service-account.name: rancher-rke\n            kubernetes.io/service-account.uid: d83df5d9-bd7d-488d-a046-b740618a0174\n\nType:  kubernetes.io/service-account-token\n\nData\n====\nca.crt:     570 bytes\nnamespace:  11 bytes\ntoken:      eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
          "},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html#rancher-rke-sa-kubeconfig","title":"\u6b65\u9aa4\u4e8c\uff1a\u5728\u672c\u5730\u4f7f\u7528 rancher-rke SA \u7684\u8ba4\u8bc1\u4fe1\u606f\u66f4\u65b0 kubeconfig \u6587\u4ef6","text":"

          \u5728\u4efb\u610f\u4e00\u53f0\u5b89\u88c5\u4e86 kubelet \u7684\u672c\u5730\u8282\u70b9\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

          1. \u914d\u7f6e kubelet token\uff1a

            kubectl config set-credentials rancher-rke --token=`rancher-rke-secret` \u91cc\u9762\u7684 token \u4fe1\u606f\n

            \u4f8b\u5982\uff1a

            kubectl config set-credentials eks-admin --token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
          2. \u914d\u7f6e kubelet APIServer \u4fe1\u606f\uff1a

            kubectl config set-cluster {\u96c6\u7fa4\u540d} --insecure-skip-tls-verify=true --server={APIServer}\n
            • {\u96c6\u7fa4\u540d} \uff1a\u6307 rancher \u96c6\u7fa4\u7684\u540d\u79f0\u3002
            • {APIServer} \uff1a\u6307\u96c6\u7fa4\u7684\u8bbf\u95ee\u5730\u5740\uff0c\u4e00\u822c\u4e3a\u96c6\u7fa4\u63a7\u5236\u8282\u70b9 IP + 6443 \u7aef\u53e3\uff0c\u5982 https://10.X.X.X:6443

            \u4f8b\u5982\uff1a

            kubectl config set-cluster rancher-rke --insecure-skip-tls-verify=true --server=https://10.X.X.X:6443\n
          3. \u914d\u7f6e kubelet \u4e0a\u4e0b\u6587\u4fe1\u606f\uff1a

            kubectl config set-context {\u4e0a\u4e0b\u6587\u540d\u79f0} --cluster={\u96c6\u7fa4\u540d} --user={SA \u7528\u6237\u540d}\n

            \u4f8b\u5982\uff1a

            kubectl config set-context rancher-rke-context --cluster=rancher-rke --user=rancher-rke\n
          4. \u5728 kubelet \u4e2d\u6307\u5b9a\u6211\u4eec\u521a\u521a\u65b0\u5efa\u7684\u4e0a\u4e0b\u6587 rancher-rke-context \uff1a

            kubectl config use-context rancher-rke-context\n
          5. \u83b7\u53d6\u4e0a\u4e0b\u6587 rancher-rke-context \u4e2d\u7684 kubeconfig \u4fe1\u606f\u3002

            kubectl config view --minify --flatten --raw\n

            \u9884\u671f\u8f93\u51fa\uff1a

            apiVersion: v1\n  clusters:\n  - cluster:\n    insecure-skip-tls-verify: true\n    server: https://77C321BCF072682C70C8665ED4BFA10D.gr7.ap-southeast-1.eks.amazonaws.com\n  name: joincluster\n  contexts:\n  - context:\n    cluster: joincluster\n    user: eks-admin\n  name: ekscontext\n  current-context: ekscontext\n  kind: Config\n  preferences: {}\n  users:\n  - name: eks-admin\n  user:\n    token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImcxTjJwNkktWm5IbmRJU1RFRExvdWY1TGFWVUtGQ3VIejFtNlFQcUNFalEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2V\n
          "},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html#ai","title":"\u6b65\u9aa4\u4e09\uff1a\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u754c\u9762\u63a5\u5165\u96c6\u7fa4","text":"

          \u4f7f\u7528\u521a\u521a\u83b7\u53d6\u7684 kubeconfig \u6587\u4ef6\uff0c\u53c2\u8003\u63a5\u5165\u96c6\u7fa4\u6587\u6863\uff0c\u5c06 rancher \u96c6\u7fa4\u63a5\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3002

          "},{"location":"admin/kpanda/clusters/k8s-cert.html","title":"Kubernetes \u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0","text":"

          \u4e3a\u4fdd\u8bc1 Kubernetes \u5404\u7ec4\u4ef6\u4e4b\u95f4\u7684\u901a\u4fe1\u5b89\u5168\uff0c\u7ec4\u4ef6\u4e4b\u95f4\u7684\u8c03\u7528\u4f1a\u8fdb\u884c TLS \u8eab\u4efd\u9a8c\u8bc1\uff0c\u6267\u884c\u9a8c\u8bc1\u64cd\u4f5c\u9700\u8981\u914d\u7f6e\u96c6\u7fa4 PKI \u8bc1\u4e66\u3002

          \u96c6\u7fa4\u8bc1\u4e66\u6709\u6548\u671f\u4e3a1\u5e74\uff0c\u4e3a\u907f\u514d\u8bc1\u4e66\u8fc7\u671f\u5bfc\u81f4\u4e1a\u52a1\u65e0\u6cd5\u4f7f\u7528\uff0c\u8bf7\u53ca\u65f6\u66f4\u65b0\u8bc1\u4e66\u3002

          \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u8fdb\u884c\u8bc1\u4e66\u66f4\u65b0\u3002

          "},{"location":"admin/kpanda/clusters/k8s-cert.html#_1","title":"\u68c0\u67e5\u8bc1\u4e66\u662f\u5426\u8fc7\u671f","text":"

          \u60a8\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\u662f\u5426\u8fc7\u671f\uff1a

          kubeadm certs check-expiration\n

          \u8f93\u51fa\u7c7b\u4f3c\u4e8e\u4ee5\u4e0b\u5185\u5bb9\uff1a

          CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED\nadmin.conf                 Dec 14, 2024 07:26 UTC   204d                                    no      \napiserver                  Dec 14, 2024 07:26 UTC   204d            ca                      no      \napiserver-etcd-client      Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \napiserver-kubelet-client   Dec 14, 2024 07:26 UTC   204d            ca                      no      \ncontroller-manager.conf    Dec 14, 2024 07:26 UTC   204d                                    no      \netcd-healthcheck-client    Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-peer                  Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-server                Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \nfront-proxy-client         Dec 14, 2024 07:26 UTC   204d            front-proxy-ca          no      \nscheduler.conf             Dec 14, 2024 07:26 UTC   204d                                    no      \n\nCERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED\nca                      Dec 12, 2033 07:26 UTC   9y              no      \netcd-ca                 Dec 12, 2033 07:26 UTC   9y              no      \nfront-proxy-ca          Dec 12, 2033 07:26 UTC   9y              no      \n
          "},{"location":"admin/kpanda/clusters/k8s-cert.html#_2","title":"\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

          \u60a8\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66\uff0c\u53ea\u9700\u5e26\u4e0a\u5408\u9002\u7684\u547d\u4ee4\u884c\u9009\u9879\u3002\u66f4\u65b0\u8bc1\u4e66\u524d\u8bf7\u5148\u5907\u4efd\u5f53\u524d\u8bc1\u4e66\u3002

          \u66f4\u65b0\u6307\u5b9a\u8bc1\u4e66\uff1a

          kubeadm certs renew\n

          \u66f4\u65b0\u5168\u90e8\u8bc1\u4e66\uff1a

          kubeadm certs renew all\n

          \u66f4\u65b0\u540e\u7684\u8bc1\u4e66\u53ef\u4ee5\u5728 /etc/kubernetes/pki \u76ee\u5f55\u4e0b\u67e5\u770b\uff0c\u6709\u6548\u671f\u5ef6\u7eed 1 \u5e74\u3002 \u4ee5\u4e0b\u5bf9\u5e94\u7684\u51e0\u4e2a\u914d\u7f6e\u6587\u4ef6\u4e5f\u4f1a\u540c\u6b65\u66f4\u65b0\uff1a

          • /etc/kubernetes/admin.conf
          • /etc/kubernetes/controller-manager.conf
          • /etc/kubernetes/scheduler.conf

          Note

          • \u5982\u679c\u60a8\u90e8\u7f72\u7684\u662f\u4e00\u4e2a\u9ad8\u53ef\u7528\u96c6\u7fa4\uff0c\u8fd9\u4e2a\u547d\u4ee4\u9700\u8981\u5728\u6240\u6709\u63a7\u5236\u8282\u70b9\u4e0a\u6267\u884c\u3002
          • \u6b64\u547d\u4ee4\u7528 CA\uff08\u6216\u8005 front-proxy-CA \uff09\u8bc1\u4e66\u548c\u5b58\u50a8\u5728 /etc/kubernetes/pki \u4e2d\u7684\u5bc6\u94a5\u6267\u884c\u66f4\u65b0\u3002
          "},{"location":"admin/kpanda/clusters/k8s-cert.html#_3","title":"\u91cd\u542f\u670d\u52a1","text":"

          \u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u4e4b\u540e\uff0c\u4f60\u9700\u8981\u91cd\u542f\u63a7\u5236\u9762 Pod\u3002\u56e0\u4e3a\u52a8\u6001\u8bc1\u4e66\u91cd\u8f7d\u76ee\u524d\u8fd8\u4e0d\u88ab\u6240\u6709\u7ec4\u4ef6\u548c\u8bc1\u4e66\u652f\u6301\uff0c\u6240\u6709\u8fd9\u9879\u64cd\u4f5c\u662f\u5fc5\u987b\u7684\u3002

          \u9759\u6001 Pod \u662f\u88ab\u672c\u5730 kubelet \u800c\u4e0d\u662f API \u670d\u52a1\u5668\u7ba1\u7406\uff0c\u6240\u4ee5 kubectl \u4e0d\u80fd\u7528\u6765\u5220\u9664\u6216\u91cd\u542f\u4ed6\u4eec\u3002

          \u8981\u91cd\u542f\u9759\u6001 Pod\uff0c\u4f60\u53ef\u4ee5\u4e34\u65f6\u5c06\u6e05\u5355\u6587\u4ef6\u4ece /etc/kubernetes/manifests/ \u79fb\u9664\u5e76\u7b49\u5f85 20 \u79d2\u3002 \u53c2\u8003 KubeletConfiguration \u7ed3\u6784\u4e2d\u7684 fileCheckFrequency \u503c\u3002

          \u5982\u679c Pod \u4e0d\u5728\u6e05\u5355\u76ee\u5f55\u91cc\uff0ckubelet \u5c06\u4f1a\u7ec8\u6b62\u5b83\u3002 \u5728\u53e6\u4e00\u4e2a fileCheckFrequency \u5468\u671f\u4e4b\u540e\u4f60\u53ef\u4ee5\u5c06\u6587\u4ef6\u79fb\u56de\u53bb\uff0ckubelet \u53ef\u4ee5\u5b8c\u6210 Pod \u7684\u91cd\u5efa\uff0c\u800c\u7ec4\u4ef6\u7684\u8bc1\u4e66\u66f4\u65b0\u64cd\u4f5c\u4e5f\u5f97\u4ee5\u5b8c\u6210\u3002

          mv ./manifests/* ./temp/\nmv ./temp/* ./manifests/\n

          Note

          \u5982\u679c\u5bb9\u5668\u670d\u52a1\u4f7f\u7528\u7684\u662f Docker\uff0c\u4e3a\u4e86\u8ba9\u8bc1\u4e66\u751f\u6548\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bf9\u6d89\u53ca\u5230\u8bc1\u4e66\u4f7f\u7528\u7684\u51e0\u4e2a\u670d\u52a1\u8fdb\u884c\u91cd\u542f\uff1a

          docker ps | grep -E 'k8s_kube-apiserver|k8s_kube-controller-manager|k8s_kube-scheduler|k8s_etcd_etcd' | awk -F ' ' '{print $1}' | xargs docker restart\n
          "},{"location":"admin/kpanda/clusters/k8s-cert.html#kubeconfig","title":"\u66f4\u65b0 KubeConfig","text":"

          \u6784\u5efa\u96c6\u7fa4\u65f6\u901a\u5e38\u4f1a\u5c06 admin.conf \u8bc1\u4e66\u590d\u5236\u5230 $HOME/.kube/config \u4e2d\uff0c\u4e3a\u4e86\u5728\u66f4\u65b0 admin.conf \u540e\u66f4\u65b0 $HOME/.kube/config \u7684\u5185\u5bb9\uff0c \u5fc5\u987b\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

          sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n
          "},{"location":"admin/kpanda/clusters/k8s-cert.html#kubelet","title":"\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362","text":"

          \u5b8c\u6210\u4ee5\u4e0a\u64cd\u4f5c\u540e\uff0c\u57fa\u672c\u5b8c\u6210\u4e86\u96c6\u7fa4\u6240\u6709\u8bc1\u4e66\u7684\u66f4\u65b0\uff0c\u4f46\u4e0d\u5305\u62ec kubelet\u3002

          \u56e0\u4e3a kubernetes \u5305\u542b\u7279\u6027 kubelet \u8bc1\u4e66\u8f6e\u6362\uff0c \u5728\u5f53\u524d\u8bc1\u4e66\u5373\u5c06\u8fc7\u671f\u65f6\uff0c \u5c06\u81ea\u52a8\u751f\u6210\u65b0\u7684\u79d8\u94a5\uff0c\u5e76\u4ece Kubernetes API \u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002 \u4e00\u65e6\u65b0\u7684\u8bc1\u4e66\u53ef\u7528\uff0c\u5b83\u5c06\u88ab\u7528\u4e8e\u4e0e Kubernetes API \u95f4\u7684\u8fde\u63a5\u8ba4\u8bc1\u3002

          Note

          \u6b64\u7279\u6027\u9002\u7528\u4e8e Kubernetes 1.8.0 \u6216\u66f4\u9ad8\u7684\u7248\u672c\u3002

          \u542f\u7528\u5ba2\u6237\u7aef\u8bc1\u4e66\u8f6e\u6362\uff0c\u914d\u7f6e\u53c2\u6570\u5982\u4e0b\uff1a

          • kubelet \u8fdb\u7a0b\u63a5\u6536 --rotate-certificates \u53c2\u6570\uff0c\u8be5\u53c2\u6570\u51b3\u5b9a kubelet \u5728\u5f53\u524d\u4f7f\u7528\u7684 \u8bc1\u4e66\u5373\u5c06\u5230\u671f\u65f6\uff0c\u662f\u5426\u4f1a\u81ea\u52a8\u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002

          • kube-controller-manager \u8fdb\u7a0b\u63a5\u6536 --cluster-signing-duration \u53c2\u6570 \uff08\u5728 1.19 \u7248\u672c\u4e4b\u524d\u4e3a --experimental-cluster-signing-duration\uff09\uff0c\u7528\u6765\u63a7\u5236\u7b7e\u53d1\u8bc1\u4e66\u7684\u6709\u6548\u671f\u9650\u3002

          \u66f4\u591a\u8be6\u60c5\u53c2\u8003\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362\u3002

          "},{"location":"admin/kpanda/clusters/k8s-cert.html#_4","title":"\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

          \u4e3a\u4e86\u66f4\u9ad8\u6548\u4fbf\u6377\u5904\u7406\u5df2\u8fc7\u671f\u6216\u8005\u5373\u5c06\u8fc7\u671f\u7684 kubernetes \u96c6\u7fa4\u8bc1\u4e66\uff0c\u53ef\u53c2\u8003 k8s \u7248\u672c\u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0\u3002

          "},{"location":"admin/kpanda/clusters/runtime.html","title":"\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6","text":"

          \u5bb9\u5668\u8fd0\u884c\u65f6\u662f kubernetes \u4e2d\u5bf9\u5bb9\u5668\u548c\u5bb9\u5668\u955c\u50cf\u751f\u547d\u5468\u671f\u8fdb\u884c\u7ba1\u7406\u7684\u91cd\u8981\u7ec4\u4ef6\u3002 kubernetes \u5728 1.19 \u7248\u672c\u4e2d\u5c06 containerd \u8bbe\u4e3a\u9ed8\u8ba4\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u5e76\u5728 1.24 \u7248\u672c\u4e2d\u79fb\u9664\u4e86 Dockershim \u7ec4\u4ef6\u7684\u652f\u6301\u3002

          \u56e0\u6b64\u76f8\u8f83\u4e8e Docker \u8fd0\u884c\u65f6\uff0c\u6211\u4eec\u66f4\u52a0 \u63a8\u8350\u60a8\u4f7f\u7528\u8f7b\u91cf\u7684 containerd \u4f5c\u4e3a\u60a8\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u56e0\u4e3a\u8fd9\u5df2\u7ecf\u6210\u4e3a\u5f53\u524d\u4e3b\u6d41\u7684\u8fd0\u884c\u65f6\u9009\u62e9\u3002

          \u9664\u6b64\u4e4b\u5916\uff0c\u4e00\u4e9b\u64cd\u4f5c\u7cfb\u7edf\u53d1\u884c\u5382\u5546\u5bf9 Docker \u8fd0\u884c\u65f6\u7684\u517c\u5bb9\u4e5f\u4e0d\u591f\u53cb\u597d\uff0c\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u8fd0\u884c\u65f6\u7684\u652f\u6301\u5982\u4e0b\u8868\uff1a

          "},{"location":"admin/kpanda/clusters/runtime.html#_2","title":"\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u548c\u63a8\u8350\u7684\u8fd0\u884c\u65f6\u7248\u672c\u5bf9\u5e94\u5173\u7cfb","text":"\u64cd\u4f5c\u7cfb\u7edf \u63a8\u8350\u7684 containerd \u7248\u672c \u63a8\u8350\u7684 Docker \u7248\u672c CentOS 1.7.5 20.10 RedHatOS 1.7.5 20.10 KylinOS 1.7.5 19.03\uff08\u4ec5 ARM \u67b6\u6784\u652f\u6301 \uff0c\u5728 x86 \u67b6\u6784\u4e0b\u4e0d\u652f\u6301\u4f7f\u7528 Docker \u4f5c\u4e3a\u8fd0\u884c\u65f6\uff09

          \u66f4\u591a\u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 RedHatOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c \u548c KylinOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c

          Note

          \u5728\u79bb\u7ebf\u5b89\u88c5\u6a21\u5f0f\u4e0b\uff0c\u9700\u8981\u63d0\u524d\u51c6\u5907\u76f8\u5173\u64cd\u4f5c\u7cfb\u7edf\u7684\u8fd0\u884c\u65f6\u79bb\u7ebf\u5305\u3002

          "},{"location":"admin/kpanda/clusters/upgrade-cluster.html","title":"\u96c6\u7fa4\u5347\u7ea7","text":"

          Kubernetes \u793e\u533a\u6bcf\u4e2a\u5b63\u5ea6\u90fd\u4f1a\u53d1\u5e03\u4e00\u6b21\u5c0f\u7248\u672c\uff0c\u6bcf\u4e2a\u7248\u672c\u7684\u7ef4\u62a4\u5468\u671f\u5927\u6982\u53ea\u6709 9 \u4e2a\u6708\u3002 \u7248\u672c\u505c\u6b62\u7ef4\u62a4\u540e\u5c31\u4e0d\u4f1a\u518d\u66f4\u65b0\u4e00\u4e9b\u91cd\u5927\u6f0f\u6d1e\u6216\u5b89\u5168\u6f0f\u6d1e\u3002\u624b\u52a8\u5347\u7ea7\u96c6\u7fa4\u64cd\u4f5c\u8f83\u4e3a\u7e41\u7410\uff0c\u7ed9\u7ba1\u7406\u4eba\u5458\u5e26\u6765\u4e86\u6781\u5927\u7684\u5de5\u4f5c\u8d1f\u62c5\u3002

          \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u901a\u8fc7 Web UI \u754c\u9762\u4e00\u952e\u5f0f\u5728\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4 Kubernetes \u7248\u672c\uff0c \u5982\u9700\u79bb\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u7684 kubernetes \u7248\u672c\uff0c\u8bf7\u53c2\u9605\u5de5\u4f5c\u96c6\u7fa4\u79bb\u7ebf\u5347\u7ea7\u6307\u5357\u8fdb\u884c\u5347\u7ea7\u3002

          Danger

          \u7248\u672c\u5347\u7ea7\u540e\u5c06\u65e0\u6cd5\u56de\u9000\u5230\u4e4b\u524d\u7684\u7248\u672c\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

          Note

          • Kubernetes \u7248\u672c\u4ee5 x.y.z \u8868\u793a\uff0c\u5176\u4e2d x \u662f\u4e3b\u8981\u7248\u672c\uff0c y \u662f\u6b21\u8981\u7248\u672c\uff0c z \u662f\u8865\u4e01\u7248\u672c\u3002
          • \u4e0d\u5141\u8bb8\u8de8\u6b21\u8981\u7248\u672c\u5bf9\u96c6\u7fa4\u8fdb\u884c\u5347\u7ea7\uff0c\u4f8b\u5982\u4e0d\u80fd\u4ece 1.23 \u76f4\u63a5\u5347\u7ea7\u5230 1.25\u3002
          • \u63a5\u5165\u96c6\u7fa4 \u4e0d\u652f\u6301\u7248\u672c\u5347\u7ea7\u3002\u5982\u679c\u5de6\u4fa7\u5bfc\u822a\u680f\u6ca1\u6709 \u96c6\u7fa4\u5347\u7ea7 \uff0c\u8bf7\u68c0\u67e5\u8be5\u96c6\u7fa4\u662f\u5426\u4e3a \u63a5\u5165\u96c6\u7fa4 \u3002
          • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u53ea\u80fd\u901a\u8fc7\u7ec8\u7aef\u8fdb\u884c\u5347\u7ea7\u3002
          • \u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u65f6\uff0c\u8be5\u5de5\u4f5c\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u5e94\u8be5\u5df2\u7ecf\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u5e76\u4e14\u5904\u4e8e\u6b63\u5e38\u8fd0\u884c\u4e2d\u3002
          • \u5982\u679c\u9700\u8981\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u5347\u7ea7\u76f8\u540c\u7248\u672c\u7684\u65b9\u5f0f\u5b9e\u73b0\uff0c\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u3002
          1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

          2. \u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u5347\u7ea7 \uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u7248\u672c\u5347\u7ea7 \u3002

          3. \u9009\u62e9\u53ef\u5347\u7ea7\u7684\u7248\u672c\uff0c\u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\u3002

            Note

            \u5982\u679c\u60a8\u662f\u60f3\u901a\u8fc7\u5347\u7ea7\u65b9\u5f0f\u6765\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff1a

            1. \u627e\u5230\u96c6\u7fa4\u5bf9\u5e94\u7684 ConfigMap\uff0c\u60a8\u53ef\u4ee5\u767b\u5f55\u63a7\u5236\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u627e\u5230 varsConfRef \u4e2d\u7684 ConfigMap \u540d\u79f0\u3002

              kubectl get cluster.kubean.io <clustername> -o yaml\n
            2. \u6839\u636e\u9700\u8981\uff0c\u4fee\u6539 ConfigMap \u4e2d\u7684\u53c2\u6570\u4fe1\u606f\u3002

            3. \u5728\u6b64\u5904\u9009\u62e9\u76f8\u540c\u7248\u672c\u8fdb\u884c\u5347\u7ea7\u64cd\u4f5c\uff0c\u5347\u7ea7\u5b8c\u6210\u5373\u53ef\u6210\u529f\u66f4\u65b0\u5bf9\u5e94\u7684\u96c6\u7fa4\u53c2\u6570\u3002

          4. \u70b9\u51fb \u786e\u5b9a \u540e\uff0c\u53ef\u4ee5\u770b\u5230\u96c6\u7fa4\u7684\u5347\u7ea7\u8fdb\u5ea6\u3002

          5. \u96c6\u7fa4\u5347\u7ea7\u9884\u8ba1\u9700\u8981 30 \u5206\u949f\uff0c\u53ef\u4ee5\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u6309\u94ae\u67e5\u770b\u96c6\u7fa4\u5347\u7ea7\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/configmap-hot-loading.html","title":"configmap/secret \u70ed\u52a0\u8f7d","text":"

          configmap/secret \u70ed\u52a0\u8f7d\u662f\u6307\u5c06 configmap/secret \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u5728\u5bb9\u5668\u4e2d\u6302\u8f7d\u65f6\uff0c\u5f53\u914d\u7f6e\u53d1\u751f\u6539\u53d8\u65f6\uff0c\u5bb9\u5668\u5c06\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u800c\u65e0\u9700\u91cd\u542f Pod\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/configmap-hot-loading.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
          1. \u53c2\u8003\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d - \u5bb9\u5668\u914d\u7f6e\uff0c\u914d\u7f6e\u5bb9\u5668\u6570\u636e\u5b58\u50a8\uff0c\u9009\u62e9 Configmap \u3001 Configmap Key \u3001 Secret \u3001 Secret Key \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u81f3\u5bb9\u5668\u3002

            Note

            \u4f7f\u7528\u5b50\u8def\u5f84\uff08SubPath\uff09\u65b9\u5f0f\u6302\u8f7d\u7684\u914d\u7f6e\u6587\u4ef6\u4e0d\u652f\u6301\u70ed\u52a0\u8f7d\u3002

          2. \u8fdb\u5165\u3010\u914d\u7f6e\u4e0e\u5bc6\u94a5\u3011\u9875\u9762\uff0c\u8fdb\u5165\u914d\u7f6e\u9879\u8be6\u60c5\u9875\u9762\uff0c\u5728\u3010\u5173\u8054\u8d44\u6e90\u3011\u4e2d\u627e\u5230\u5bf9\u5e94\u7684 container \u8d44\u6e90\uff0c\u70b9\u51fb \u7acb\u5373\u52a0\u8f7d \u6309\u94ae\uff0c\u8fdb\u5165\u914d\u7f6e\u70ed\u52a0\u8f7d\u9875\u9762\u3002

            Note

            \u5982\u679c\u60a8\u7684\u5e94\u7528\u652f\u6301\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u5219\u65e0\u9700\u624b\u52a8\u6267\u884c\u70ed\u52a0\u8f7d\u64cd\u4f5c\u3002

          3. \u5728\u70ed\u52a0\u8f7d\u914d\u7f6e\u5f39\u7a97\u4e2d\uff0c\u8f93\u5165\u8fdb\u5165\u5bb9\u5668\u5185\u7684 \u6267\u884c\u547d\u4ee4 \u5e76\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u4ee5\u91cd\u8f7d\u914d\u7f6e\u3002\u4f8b\u5982\uff0c\u5728 nginx \u5bb9\u5668\u4e2d\uff0c\u4ee5 root \u7528\u6237\u6743\u9650\uff0c\u6267\u884c nginx -s reload \u547d\u4ee4\u6765\u91cd\u8f7d\u914d\u7f6e\u3002

          4. \u5728\u754c\u9762\u5f39\u51fa\u7684 web \u7ec8\u7aef\u4e2d\u67e5\u770b\u5e94\u7528\u91cd\u8f7d\u60c5\u51b5\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/create-configmap.html","title":"\u521b\u5efa\u914d\u7f6e\u9879","text":"

          \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u4ee5\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u5b58\u50a8\u975e\u673a\u5bc6\u6027\u6570\u636e\uff0c\u5b9e\u73b0\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u4ee3\u7801\u76f8\u4e92\u89e3\u8026\u7684\u6548\u679c\u3002\u914d\u7f6e\u9879\u53ef\u7528\u4f5c\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002

          Note

          • \u5728\u914d\u7f6e\u9879\u4e2d\u4fdd\u5b58\u7684\u6570\u636e\u4e0d\u53ef\u8d85\u8fc7 1 MiB\u3002\u5982\u679c\u9700\u8981\u5b58\u50a8\u4f53\u79ef\u66f4\u5927\u7684\u6570\u636e\uff0c\u5efa\u8bae\u6302\u8f7d\u5b58\u50a8\u5377\u6216\u8005\u4f7f\u7528\u72ec\u7acb\u7684\u6570\u636e\u5e93\u6216\u8005\u6587\u4ef6\u670d\u52a1\u3002

          • \u914d\u7f6e\u9879\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u52a0\u5bc6\u6570\u636e\uff0c\u5efa\u8bae\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\u3002

          \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

          • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
          • YAML \u521b\u5efa
          "},{"location":"admin/kpanda/configmaps-secrets/create-configmap.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

          • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/create-configmap.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u914d\u7f6e\u9879 \u6309\u94ae\u3002

          3. \u5728 \u521b\u5efa\u914d\u7f6e\u9879 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

            Note

            \u70b9\u51fb \u4e0a\u4f20\u6587\u4ef6 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002

          4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/create-configmap.html#yaml","title":"YAML \u521b\u5efa","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

          3. \u586b\u5199\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

            Note

            • \u70b9\u51fb \u5bfc\u5165 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002
            • \u586b\u5199\u6570\u636e\u4e4b\u540e\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u914d\u7f6e\u6587\u4ef6\u4fdd\u5b58\u5728\u672c\u5730\u3002

          4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/create-configmap.html#yaml_1","title":"\u914d\u7f6e\u9879 YAML \u793a\u4f8b","text":"
          ```yaml\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: kube-root-ca.crt\n  namespace: default\n  annotations:\ndata:\n  version: '1.0'\n```\n

          \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u914d\u7f6e\u9879

          "},{"location":"admin/kpanda/configmaps-secrets/create-secret.html","title":"\u521b\u5efa\u5bc6\u94a5","text":"

          \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

          \u5bc6\u94a5\u4f7f\u7528\u573a\u666f\uff1a

          • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
          • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
          • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

          \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

          • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
          • YAML \u521b\u5efa
          "},{"location":"admin/kpanda/configmaps-secrets/create-secret.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

          • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/create-secret.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u5bc6\u94a5 \u6309\u94ae\u3002

          3. \u5728 \u521b\u5efa\u5bc6\u94a5 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

            \u586b\u5199\u914d\u7f6e\u65f6\u9700\u8981\u6ce8\u610f\uff1a

            • \u5bc6\u94a5\u7684\u540d\u79f0\u5728\u540c\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u5fc5\u987b\u5177\u6709\u552f\u4e00\u6027
            • \u5bc6\u94a5\u7c7b\u578b\uff1a
              • \u9ed8\u8ba4\uff08Opaque\uff09\uff1aKubernetes \u9ed8\u8ba4\u7684\u5bc6\u94a5\u7c7b\u578b\uff0c\u652f\u6301\u7528\u6237\u5b9a\u4e49\u7684\u4efb\u610f\u6570\u636e\u3002
              • TLS (kubernetes.io/tls)\uff1a\u7528\u4e8e TLS \u5ba2\u6237\u7aef\u6216\u8005\u670d\u52a1\u5668\u7aef\u6570\u636e\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
              • \u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u7528\u4e8e\u955c\u50cf\u4ed3\u5e93\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
              • \u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u7528\u4e8e\u57fa\u672c\u8eab\u4efd\u8ba4\u8bc1\u7684\u51ed\u8bc1\u3002
              • \u81ea\u5b9a\u4e49\uff1a\u7528\u6237\u6839\u636e\u4e1a\u52a1\u9700\u8981\u81ea\u5b9a\u4e49\u7684\u7c7b\u578b\u3002
            • \u5bc6\u94a5\u6570\u636e\uff1a\u5bc6\u94a5\u6240\u5b58\u50a8\u7684\u6570\u636e\uff0c\u4e0d\u540c\u6570\u636e\u9700\u8981\u586b\u5199\u7684\u53c2\u6570\u6709\u6240\u4e0d\u540c
              • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u9ed8\u8ba4\uff08Opaque\uff09/\u81ea\u5b9a\u4e49\uff1a\u53ef\u4ee5\u586b\u5165\u591a\u4e2a\u952e\u503c\u5bf9\u6570\u636e\u3002
              • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a TLS (kubernetes.io/tls)\uff1a\u9700\u8981\u586b\u5165\u8bc1\u4e66\u51ed\u8bc1\u548c\u79c1\u94a5\u6570\u636e\u3002\u8bc1\u4e66\u662f\u81ea\u7b7e\u540d\u6216 CA \u7b7e\u540d\u8fc7\u7684\u51ed\u636e\uff0c\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u3002\u8bc1\u4e66\u8bf7\u6c42\u662f\u5bf9\u7b7e\u540d\u7684\u8bf7\u6c42\uff0c\u9700\u8981\u4f7f\u7528\u79c1\u94a5\u8fdb\u884c\u7b7e\u540d\u3002
              • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u9700\u8981\u586b\u5165\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u7684\u8d26\u53f7\u548c\u5bc6\u7801\u3002
              • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u9700\u8981\u6307\u5b9a\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
          "},{"location":"admin/kpanda/configmaps-secrets/create-secret.html#yaml","title":"YAML \u521b\u5efa","text":"
          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

          3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\u586b\u5199 YAML \u914d\u7f6e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

            \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/create-secret.html#yaml_1","title":"\u5bc6\u94a5 YAML \u793a\u4f8b","text":"
          ```yaml\napiVersion: v1\nkind: Secret\nmetadata:\n  name: secretdemo\ntype: Opaque\ndata:\n  username: ******\n  password: ******\n```\n

          \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u5bc6\u94a5

          "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html","title":"\u4f7f\u7528\u914d\u7f6e\u9879","text":"

          \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u662f Kubernetes \u7684\u4e00\u79cd API \u5bf9\u8c61\uff0c\u7528\u6765\u5c06\u975e\u673a\u5bc6\u6027\u7684\u6570\u636e\u4fdd\u5b58\u5230\u952e\u503c\u5bf9\u4e2d\uff0c\u53ef\u4ee5\u5b58\u50a8\u5176\u4ed6\u5bf9\u8c61\u6240\u9700\u8981\u4f7f\u7528\u7684\u914d\u7f6e\u3002 \u4f7f\u7528\u65f6\uff0c \u5bb9\u5668\u53ef\u4ee5\u5c06\u5176\u7528\u4f5c\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002\u901a\u8fc7\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u80fd\u591f\u5c06\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u5206\u5f00\uff0c\u4e3a\u5e94\u7528\u914d\u7f6e\u7684\u4fee\u6539\u63d0\u4f9b\u66f4\u52a0\u7075\u6d3b\u7684\u9014\u5f84\u3002

          Note

          \u914d\u7f6e\u9879\u5e76\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u7684\u6570\u636e\u662f\u673a\u5bc6\u7684\uff0c\u8bf7\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u4f7f\u7528\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\uff0c\u800c\u4e0d\u662f\u7528\u914d\u7f6e\u9879\u3002 \u6b64\u5916\u5728\u5bb9\u5668\u91cc\u4f7f\u7528\u914d\u7f6e\u9879\u65f6\uff0c\u5bb9\u5668\u548c\u914d\u7f6e\u9879\u5fc5\u987b\u5904\u4e8e\u540c\u4e00\u96c6\u7fa4\u7684\u547d\u540d\u7a7a\u95f4\u4e2d\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

          \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

          • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf

          • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570

          • \u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377

          "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_3","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

          \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

          Note

          \u914d\u7f6e\u9879\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_4","title":"\u56fe\u5f62\u5316\u754c\u9762\u64cd\u4f5c","text":"

          \u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

          1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

          2. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u3002

            • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u540d\u79f0\u3001 \u914d\u7f6e\u9879 \u7684\u540d\u79f0\u3002

            • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u914d\u7f6e\u9879 \u540d\u79f0\u3001 \u952e \u7684\u540d\u79f0\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

          \u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u914d\u7f6e\u9879\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 ConfigMap \u4e2d\u7684 Key/Value\u3002

          apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-1\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"env\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:                  # (1)!\n            configMapKeyRef:\n              name: kpanda-configmap  # (2)!\n              key: SPECIAL_LEVEL      # (3)!\n  restartPolicy: Never\n
          1. \u4f7f\u7528 valueFrom \u6765\u6307\u5b9a env \u5f15\u7528\u914d\u7f6e\u9879\u7684 value \u503c
          2. \u5f15\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u540d\u79f0
          3. \u5f15\u7528\u7684\u914d\u7f6e\u9879 key
          "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_6","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570","text":"

          \u60a8\u53ef\u4ee5\u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u4e2d\u7684\u547d\u4ee4\u6216\u8005\u53c2\u6570\u503c\uff0c\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u66ff\u6362\u8bed\u6cd5 $(VAR_NAME) \u6765\u8fdb\u884c\u3002\u5982\u4e0b\u6240\u793a\u3002

          apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-3\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_LEVEL\n        - name: SPECIAL_TYPE_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_TYPE\n  restartPolicy: Never\n

          \u8fd9\u4e2a Pod \u8fd0\u884c\u540e\uff0c\u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\u3002

          Hello Kpanda\n
          "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_7","title":"\u7528\u4f5c\u5bb9\u5668\u6570\u636e\u5377","text":"

          \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

          \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u914d\u7f6e\u9879 \uff0c\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

          1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

          2. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_9","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

          \u8981\u5728\u4e00\u4e2a Pod \u7684\u5b58\u50a8\u5377\u4e2d\u4f7f\u7528 ConfigMap\u3002

          \u4e0b\u9762\u662f\u4e00\u4e2a\u5c06 ConfigMap \u4ee5\u5377\u7684\u5f62\u5f0f\u8fdb\u884c\u6302\u8f7d\u7684 Pod \u793a\u4f8b\uff1a

          apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    configMap:\n      name: myconfigmap\n

          \u5982\u679c Pod \u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u90fd\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4f46\u9488\u5bf9\u6bcf\u4e2a ConfigMap\uff0c\u60a8\u53ea\u9700\u8981\u8bbe\u7f6e\u4e00\u4e2a spec.volumes \u5757\u3002

          Note

          \u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u6302\u8f7d\u7684\u6570\u636e\u5377\u65f6\uff0c\u914d\u7f6e\u9879\u53ea\u80fd\u4f5c\u4e3a\u53ea\u8bfb\u6587\u4ef6\u8fdb\u884c\u8bfb\u53d6\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html","title":"\u4f7f\u7528\u5bc6\u94a5","text":"

          \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

          \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u5bc6\u94a5\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

          • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
          • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
          • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u4f7f\u7528\u3002
          "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_3","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

          \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

          Note

          \u5bc6\u94a5\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u5bc6\u94a5\u952e\u503c\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_4","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

          \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

          1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

          2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

          3. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u3002

            • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u3001 \u5bc6\u94a5 \u7684\u540d\u79f0\u3002

            • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u5bc6\u94a5 \u3001 \u952e \u7684\u540d\u79f0\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

          \u5982\u4e0b\u4f8b\u6240\u793a\uff0c\u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u5bc6\u94a5\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 Secret \u4e2d\u7684 Key/Value\u3002

          apiVersion: v1\nkind: Pod\nmetadata:\n  name: secret-env-pod\nspec:\n  containers:\n  - name: mycontainer\n    image: redis\n    env:\n      - name: SECRET_USERNAME\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: username\n            optional: false # (1)!\n      - name: SECRET_PASSWORD\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: password\n            optional: false # (2)!\n
          1. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"username\" \u7684\u4e3b\u952e
          2. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"password\" \u7684\u4e3b\u952e
          "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#pod","title":"\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377","text":""},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_6","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

          \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

          1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

          2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

          3. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_7","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

          \u4e0b\u9762\u662f\u4e00\u4e2a\u901a\u8fc7\u6570\u636e\u5377\u6765\u6302\u8f7d\u540d\u4e3a mysecret \u7684 Secret \u7684 Pod \u793a\u4f8b\uff1a

          apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    secret:\n      secretName: mysecret\n      optional: false # (1)!\n
          1. \u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u610f\u5473\u7740 \"mysecret\" \u5fc5\u987b\u5df2\u7ecf\u5b58\u5728

          \u5982\u679c Pod \u4e2d\u5305\u542b\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4e0d\u8fc7\u9488\u5bf9\u6bcf\u4e2a Secret \u800c\u8a00\uff0c\u53ea\u9700\u8981\u4e00\u4efd .spec.volumes \u8bbe\u7f6e\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#kubelet","title":"\u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1","text":"

          \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

          "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

          \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

          1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

          2. \u5728\u7b2c\u4e8c\u6b65 \u5bb9\u5668\u914d\u7f6e \u65f6\u9009\u62e9 \u57fa\u672c\u4fe1\u606f \u914d\u7f6e\uff0c\u70b9\u51fb \u9009\u62e9\u955c\u50cf \u6309\u94ae\u3002

          3. \u5728\u5f39\u6846\u7684 \u955c\u50cf\u4ed3\u5e93 \u4e0b\u62c9\u9009\u62e9\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u540d\u79f0\u3002\u5173\u4e8e\u79c1\u6709\u955c\u50cf\u5bc6\u94a5\u521b\u5efa\u8bf7\u67e5\u770b\u521b\u5efa\u5bc6\u94a5\u4e86\u89e3\u8be6\u60c5\u3002

          4. \u8f93\u5165\u79c1\u6709\u4ed3\u5e93\u5185\u7684\u955c\u50cf\u540d\u79f0\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u955c\u50cf\u9009\u62e9\u3002

          Note

          \u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u9700\u8981\u786e\u4fdd\u8f93\u5165\u6b63\u786e\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3001\u7528\u6237\u540d\u79f0\u3001\u5bc6\u7801\u5e76\u9009\u62e9\u6b63\u786e\u7684\u955c\u50cf\u540d\u79f0\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u83b7\u53d6\u955c\u50cf\u4ed3\u5e93\u4e2d\u7684\u955c\u50cf\u3002

          "},{"location":"admin/kpanda/custom-resources/create.html","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90 (CRD)","text":"

          \u5728 Kubernetes \u4e2d\u4e00\u5207\u5bf9\u8c61\u90fd\u88ab\u62bd\u8c61\u4e3a\u8d44\u6e90\uff0c\u5982 Pod\u3001Deployment\u3001Service\u3001Volume \u7b49\u662f Kubernetes \u63d0\u4f9b\u7684\u9ed8\u8ba4\u8d44\u6e90\uff0c \u8fd9\u4e3a\u6211\u4eec\u7684\u65e5\u5e38\u8fd0\u7ef4\u548c\u7ba1\u7406\u5de5\u4f5c\u63d0\u4f9b\u4e86\u91cd\u8981\u652f\u6491\uff0c\u4f46\u662f\u5728\u4e00\u4e9b\u7279\u6b8a\u7684\u573a\u666f\u4e2d\uff0c\u73b0\u6709\u7684\u9884\u7f6e\u8d44\u6e90\u5e76\u4e0d\u80fd\u6ee1\u8db3\u4e1a\u52a1\u7684\u9700\u8981\uff0c \u56e0\u6b64\u6211\u4eec\u5e0c\u671b\u53bb\u6269\u5c55 Kubernetes API \u7684\u80fd\u529b\uff0c\u81ea\u5b9a\u4e49\u8d44\u6e90\uff08CustomResourceDefinition, CRD\uff09\u6b63\u662f\u57fa\u4e8e\u8fd9\u6837\u7684\u9700\u6c42\u5e94\u8fd0\u800c\u751f\u3002

          \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9\u81ea\u5b9a\u4e49\u8d44\u6e90\u7684\u754c\u9762\u5316\u7ba1\u7406\uff0c\u4e3b\u8981\u529f\u80fd\u5982\u4e0b\uff1a

          • \u83b7\u53d6\u96c6\u7fa4\u4e0b\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u548c\u8be6\u7ec6\u4fe1\u606f
          • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u8d44\u6e90
          • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b CR\uff08Custom Resource\uff09
          • \u5220\u9664\u81ea\u5b9a\u4e49\u8d44\u6e90
          "},{"location":"admin/kpanda/custom-resources/create.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

          • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a Cluster Admin \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743

          "},{"location":"admin/kpanda/custom-resources/create.html#yaml","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90","text":"
          1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

          3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

          4. \u8fd4\u56de\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

          \u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b\uff1a

          CRD example
          apiVersion: apiextensions.k8s.io/v1\nkind: CustomResourceDefinition\nmetadata:\n  name: crontabs.stable.example.com\nspec:\n  group: stable.example.com\n  versions:\n    - name: v1\n      served: true\n      storage: true\n      schema:\n        openAPIV3Schema:\n          type: object\n          properties:\n            spec:\n              type: object\n              properties:\n                cronSpec:\n                  type: string\n                image:\n                  type: string\n                replicas:\n                  type: integer\n  scope: Namespaced\n  names:\n    plural: crontabs\n    singular: crontab\n    kind: CronTab\n    shortNames:\n    - ct\n
          "},{"location":"admin/kpanda/custom-resources/create.html#yaml_1","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b","text":"
          1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

          2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u8fdb\u5165\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\u9762\u3002

          3. \u70b9\u51fb\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u8fdb\u5165\u8be6\u60c5\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

          4. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

          5. \u8fd4\u56de crontabs.stable.example.com \u7684\u8be6\u60c5\u9875\u9762\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a my-new-cron-object \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

          CR \u793a\u4f8b\uff1a

          CR example
          apiVersion: \"stable.example.com/v1\"\nkind: CronTab\nmetadata:\n  name: my-new-cron-object\nspec:\n  cronSpec: \"* * * * */5\"\n  image: my-awesome-cron-image\n
          "},{"location":"admin/kpanda/gpu/index.html","title":"GPU \u7ba1\u7406\u6982\u8ff0","text":"

          \u672c\u6587\u4ecb\u7ecd \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5bf9 GPU\u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8d44\u6e90\u7edf\u4e00\u8fd0\u7ef4\u7ba1\u7406\u80fd\u529b\u3002

          "},{"location":"admin/kpanda/gpu/index.html#_1","title":"\u80cc\u666f","text":"

          \u968f\u7740 AI \u5e94\u7528\u3001\u5927\u6a21\u578b\u3001\u4eba\u5de5\u667a\u80fd\u3001\u81ea\u52a8\u9a7e\u9a76\u7b49\u65b0\u5174\u6280\u672f\u7684\u5feb\u901f\u53d1\u5c55\uff0c\u4f01\u4e1a\u9762\u4e34\u7740\u8d8a\u6765\u8d8a\u591a\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4efb\u52a1\u548c\u6570\u636e\u5904\u7406\u9700\u6c42\u3002 \u4ee5 CPU \u4e3a\u4ee3\u8868\u7684\u4f20\u7edf\u8ba1\u7b97\u67b6\u6784\u5df2\u65e0\u6cd5\u6ee1\u8db3\u4f01\u4e1a\u65e5\u76ca\u589e\u957f\u7684\u8ba1\u7b97\u9700\u6c42\u3002\u6b64\u65f6\uff0c\u4ee5 GPU \u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8ba1\u7b97\u56e0\u5728\u5904\u7406\u5927\u89c4\u6a21\u6570\u636e\u3001\u8fdb\u884c\u590d\u6742\u8ba1\u7b97\u548c\u5b9e\u65f6\u56fe\u5f62\u6e32\u67d3\u65b9\u9762\u5177\u6709\u72ec\u7279\u7684\u4f18\u52bf\u88ab\u5e7f\u6cdb\u5e94\u7528\u3002

          \u4e0e\u6b64\u540c\u65f6\uff0c\u7531\u4e8e\u7f3a\u4e4f\u5f02\u6784\u8d44\u6e90\u8c03\u5ea6\u7ba1\u7406\u7b49\u65b9\u9762\u7684\u7ecf\u9a8c\u548c\u4e13\u4e1a\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u5bfc\u81f4\u4e86 GPU \u8bbe\u5907\u7684\u8d44\u6e90\u5229\u7528\u7387\u6781\u4f4e\uff0c\u7ed9\u4f01\u4e1a\u5e26\u6765\u4e86\u9ad8\u6602\u7684 AI \u751f\u4ea7\u6210\u672c\u3002 \u5982\u4f55\u964d\u672c\u589e\u6548\uff0c\u63d0\u9ad8 GPU \u7b49\u5f02\u6784\u8d44\u6e90\u7684\u5229\u7528\u6548\u7387\uff0c\u6210\u4e3a\u4e86\u5f53\u524d\u4f17\u591a\u4f01\u4e1a\u4e9f\u9700\u8de8\u8d8a\u7684\u4e00\u9053\u96be\u9898\u3002

          "},{"location":"admin/kpanda/gpu/index.html#gpu_1","title":"GPU \u80fd\u529b\u4ecb\u7ecd","text":"

          \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u652f\u6301\u5bf9 GPU\u3001NPU \u7b49\u5f02\u6784\u8d44\u6e90\u8fdb\u884c\u7edf\u4e00\u8c03\u5ea6\u548c\u8fd0\u7ef4\u7ba1\u7406\uff0c\u5145\u5206\u91ca\u653e GPU \u8d44\u6e90\u7b97\u529b\uff0c\u52a0\u901f\u4f01\u4e1a AI \u7b49\u65b0\u5174\u5e94\u7528\u53d1\u5c55\u3002GPU \u7ba1\u7406\u80fd\u529b\u5982\u4e0b\uff1a

          • \u652f\u6301\u7edf\u4e00\u7eb3\u7ba1 NVIDIA\u3001\u534e\u4e3a\u6607\u817e\u3001\u5929\u6570\u7b49\u56fd\u5185\u5916\u5382\u5546\u7684\u5f02\u6784\u8ba1\u7b97\u8d44\u6e90\u3002
          • \u652f\u6301\u540c\u4e00\u96c6\u7fa4\u591a\u5361\u5f02\u6784\u8c03\u5ea6\uff0c\u5e76\u652f\u6301\u96c6\u7fa4 GPU \u5361\u81ea\u52a8\u8bc6\u522b\u3002
          • \u652f\u6301 NVIDIA GPU\u3001vGPU\u3001MIG \u7b49 GPU \u539f\u751f\u7ba1\u7406\u65b9\u6848\uff0c\u5e76\u63d0\u4f9b\u4e91\u539f\u751f\u80fd\u529b\u3002
          • \u652f\u6301\u5355\u5757\u7269\u7406\u5361\u5207\u5206\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u4f7f\u7528\uff0c\u5e76\u652f\u6301\u5bf9\u79df\u6237\u548c\u5bb9\u5668\u4f7f\u7528 GPU \u8d44\u6e90\u6309\u7167\u7b97\u529b\u3001\u663e\u5b58\u8fdb\u884c GPU \u8d44\u6e90\u914d\u989d\u3002
          • \u652f\u6301\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5e94\u7528\u7b49\u591a\u7ef4\u5ea6 GPU \u8d44\u6e90\u76d1\u63a7\uff0c\u5e2e\u52a9\u8fd0\u7ef4\u4eba\u5458\u7ba1\u7406 GPU \u8d44\u6e90\u3002
          • \u517c\u5bb9 TensorFlow\u3001pytorch \u7b49\u591a\u79cd\u8bad\u7ec3\u6846\u67b6\u3002
          "},{"location":"admin/kpanda/gpu/index.html#gpu-operator","title":"GPU Operator \u4ecb\u7ecd","text":"

          \u540c\u666e\u901a\u8ba1\u7b97\u673a\u786c\u4ef6\u4e00\u6837\uff0cNVIDIA GPU \u5361\u4f5c\u4e3a\u7269\u7406\u786c\u4ef6\uff0c\u5fc5\u987b\u5b89\u88c5 NVIDIA GPU \u9a71\u52a8\u540e\u624d\u80fd\u4f7f\u7528\u3002 \u4e3a\u4e86\u964d\u4f4e\u7528\u6237\u5728 kuberneets \u4e0a\u4f7f\u7528 GPU \u7684\u6210\u672c\uff0cNVIDIA \u5b98\u65b9\u63d0\u4f9b\u4e86 NVIDIA GPU Operator \u7ec4\u4ef6\u6765\u7ba1\u7406\u4f7f\u7528 NVIDIA GPU \u6240\u4f9d\u8d56\u7684\u5404\u79cd\u7ec4\u4ef6\u3002 \u8fd9\u4e9b\u7ec4\u4ef6\u5305\u62ec NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff08\u7528\u4e8e\u542f\u7528 CUDA\uff09\u3001NVIDIA \u5bb9\u5668\u8fd0\u884c\u65f6\u3001GPU \u8282\u70b9\u6807\u8bb0\u3001\u57fa\u4e8e DCGM \u7684\u76d1\u63a7\u7b49\u3002 \u7406\u8bba\u4e0a\u6765\u8bf4\u7528\u6237\u53ea\u9700\u8981\u5c06 GPU \u5361\u63d2\u5728\u5df2\u7ecf\u88ab kubernetes \u6240\u7eb3\u7ba1\u7684\u8ba1\u7b97\u8bbe\u5907\u4e0a\uff0c\u7136\u540e\u901a\u8fc7 GPU Operator \u5c31\u80fd\u4f7f\u7528 NVIDIA GPU \u7684\u6240\u6709\u80fd\u529b\u4e86\u3002 \u4e86\u89e3\u66f4\u591a NVIDIA GPU Operator \u76f8\u5173\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 NVIDIA \u5b98\u65b9\u6587\u6863\u3002 \u5982\u4f55\u90e8\u7f72\u8bf7\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5

          NVIDIA GPU Operator \u67b6\u6784\u56fe\uff1a

          "},{"location":"admin/kpanda/gpu/FAQ.html","title":"GPU \u76f8\u5173 FAQ","text":""},{"location":"admin/kpanda/gpu/FAQ.html#pod-nvidia-smi-gpu","title":"Pod \u5185 nvidia-smi \u770b\u4e0d\u5230 GPU \u8fdb\u7a0b","text":"

          Q: \u5728\u4f7f\u7528 GPU \u7684 Pod \u5185\u6267\u884c nvidia-smi \u547d\u4ee4\u770b\u4e0d\u5230\u4f7f\u7528 GPU \u7684\u8fdb\u7a0b\u4fe1\u606f\uff0c\u5305\u62ec\u6574\u5361\u6a21\u5f0f\u3001vGPU \u6a21\u5f0f\u7b49\u3002

          A: \u56e0\u4e3a\u6709 PID namespace \u9694\u79bb\uff0c\u5bfc\u81f4\u5728 Pod \u5185\u67e5\u770b\u4e0d\u5230 GPU \u8fdb\u7a0b\uff0c\u5982\u679c\u8981\u67e5\u770b GPU \u8fdb\u7a0b\u6709\u5982\u4e0b\u51e0\u79cd\u65b9\u6cd5\uff1a

          • \u5728\u4f7f\u7528 GPU \u7684\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e hostPID: true\uff0c\u4f7f\u5176\u53ef\u4ee5\u67e5\u770b\u5230\u5bbf\u4e3b\u673a\u4e0a\u7684 PID
          • \u5728 gpu-operator \u7684 driver Pod \u4e2d\u6267\u884c nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
          • \u5728\u5bbf\u4e3b\u673a\u4e0a\u6267\u884c chroot /run/nvidia/driver nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
          "},{"location":"admin/kpanda/gpu/Iluvatar_usage.html","title":"App \u4f7f\u7528\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"

          \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u5929\u6570\u667a\u82af\u865a\u62df GPU\u3002

          "},{"location":"admin/kpanda/gpu/Iluvatar_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5929\u6570\u667a\u82af GPU \u9a71\u52a8\uff0c\u9a71\u52a8\u5b89\u88c5\u8bf7\u53c2\u8003\u5929\u6570\u667a\u82af\u5b98\u65b9\u6587\u6863\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u4e14\u672a\u88ab\u5176\u5b83 App \u5360\u7528\u3002
          "},{"location":"admin/kpanda/gpu/Iluvatar_usage.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/gpu/Iluvatar_usage.html#_3","title":"\u4f7f\u7528\u754c\u9762\u914d\u7f6e","text":"
          1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Iluvatar \u3002

          2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Iluvatar\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

            • \u7269\u7406\u5361\u6570\u91cf\uff08iluvatar.ai/vcuda-core\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
            • \u663e\u5b58\u4f7f\u7528\u6570\u91cf\uff08iluvatar.ai/vcuda-memory\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

            \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

          "},{"location":"admin/kpanda/gpu/Iluvatar_usage.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

          \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0iluvatar.ai/vcuda-core: 1\u3001iluvatar.ai/vcuda-memory: 200 \u53c2\u6570\uff0c\u914d\u7f6e App \u4f7f\u7528\u7269\u7406\u5361\u7684\u8d44\u6e90\u3002

          apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-iluvatar-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-iluvatar-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-iluvatar-gpu-demo\n    spec:\n      containers:\n      - image: nginx:perl\n        name: container-0\n        resources:\n          limits:\n            cpu: 250m\n            iluvatar.ai/vcuda-core: '1'\n            iluvatar.ai/vcuda-memory: '200'\n            memory: 512Mi\n          requests:\n            cpu: 250m\n            memory: 512Mi\n      imagePullSecrets:\n      - name: default-secret\n
          "},{"location":"admin/kpanda/gpu/dynamic-regulation.html","title":"GPU \u8d44\u6e90\u52a8\u6001\u8c03\u8282","text":"

          \u63d0\u4f9b GPU \u8d44\u6e90\u52a8\u6001\u8c03\u6574\u529f\u80fd\uff0c\u5141\u8bb8\u60a8\u5728\u65e0\u9700\u91cd\u65b0\u52a0\u8f7d\u3001\u91cd\u7f6e\u6216\u91cd\u542f\u6574\u4e2a\u8fd0\u884c\u73af\u5883\u7684\u60c5\u51b5\u4e0b\uff0c\u5bf9\u5df2\u7ecf\u5206\u914d\u7684 vGPU \u8d44\u6e90\u8fdb\u884c\u5b9e\u65f6\u3001\u52a8\u6001\u7684\u8c03\u6574\u3002 \u8fd9\u4e00\u529f\u80fd\u65e8\u5728\u6700\u5927\u7a0b\u5ea6\u5730\u51cf\u5c11\u5bf9\u4e1a\u52a1\u8fd0\u884c\u7684\u5f71\u54cd\uff0c\u786e\u4fdd\u60a8\u7684\u4e1a\u52a1\u80fd\u591f\u6301\u7eed\u7a33\u5b9a\u5730\u8fd0\u884c\uff0c\u540c\u65f6\u6839\u636e\u5b9e\u9645\u9700\u6c42\u7075\u6d3b\u8c03\u6574 GPU \u8d44\u6e90\u3002

          "},{"location":"admin/kpanda/gpu/dynamic-regulation.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"
          • \u5f39\u6027\u8d44\u6e90\u5206\u914d \uff1a\u5f53\u4e1a\u52a1\u9700\u6c42\u6216\u5de5\u4f5c\u8d1f\u8f7d\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u5feb\u901f\u8c03\u6574 GPU \u8d44\u6e90\u4ee5\u6ee1\u8db3\u65b0\u7684\u6027\u80fd\u8981\u6c42\u3002
          • \u5373\u65f6\u54cd\u5e94 \uff1a\u5728\u9762\u5bf9\u7a81\u53d1\u7684\u9ad8\u8d1f\u8f7d\u6216\u4e1a\u52a1\u9700\u6c42\u65f6\uff0c\u53ef\u4ee5\u8fc5\u901f\u589e\u52a0 GPU \u8d44\u6e90\u800c\u65e0\u9700\u4e2d\u65ad\u4e1a\u52a1\u8fd0\u884c\uff0c\u4ee5\u786e\u4fdd\u670d\u52a1\u7684\u7a33\u5b9a\u6027\u548c\u6027\u80fd\u3002
          "},{"location":"admin/kpanda/gpu/dynamic-regulation.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

          \u4ee5\u4e0b\u662f\u4e00\u4e2a\u5177\u4f53\u7684\u64cd\u4f5c\u793a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u8c03\u6574 vGPU \u7684\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff1a

          "},{"location":"admin/kpanda/gpu/dynamic-regulation.html#vgpu-pod","title":"\u521b\u5efa\u4e00\u4e2a vGPU Pod","text":"

          \u9996\u5148\uff0c\u6211\u4eec\u4f7f\u7528\u4ee5\u4e0b YAML \u521b\u5efa\u4e00\u4e2a vGPU Pod\uff0c\u5176\u7b97\u529b\u521d\u59cb\u4e0d\u9650\u5236\uff0c\u663e\u5b58\u9650\u5236\u4e3a 200Mb\u3002

          kind: Deployment\napiVersion: apps/v1\nmetadata:\n  name: gpu-burn-test\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: gpu-burn-test\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: gpu-burn-test\n    spec:\n      containers:\n        - name: container-1\n          image: docker.io/chrstnhntschl/gpu_burn:latest\n          command:\n            - sleep\n            - '100000'\n          resources:\n            limits:\n              cpu: 1m\n              memory: 1Gi\n              nvidia.com/gpucores: '0'\n              nvidia.com/gpumem: '200'\n              nvidia.com/vgpu: '1'\n

          \u8c03\u6574\u524d\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

          "},{"location":"admin/kpanda/gpu/dynamic-regulation.html#_3","title":"\u52a8\u6001\u8c03\u6574\u7b97\u529b","text":"

          \u5982\u679c\u9700\u8981\u4fee\u6539\u7b97\u529b\u4e3a 10%\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

          1. \u8fdb\u5165\u5bb9\u5668\uff1a

            kubectl exec -it <pod-name> -- /bin/bash\n
          2. \u6267\u884c\uff1a

            export CUDA_DEVICE_SM_LIMIT=10\n
          3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

            ./gpu_burn 60\n

            \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u6ce8\u610f\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

          "},{"location":"admin/kpanda/gpu/dynamic-regulation.html#_4","title":"\u52a8\u6001\u8c03\u6574\u663e\u5b58","text":"

          \u5982\u679c\u9700\u8981\u4fee\u6539\u663e\u5b58\u4e3a 300 MB\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

          1. \u8fdb\u5165\u5bb9\u5668\uff1a

            kubectl exec -it <pod-name> -- /bin/bash\n
          2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u8bbe\u7f6e\u663e\u5b58\u9650\u5236\uff1a

            export CUDA_DEVICE_MEMORY_LIMIT_0=300m\nexport CUDA_DEVICE_MEMORY_SHARED_CACHE=/usr/local/vgpu/d.cache\n

            Note

            \u6bcf\u6b21\u4fee\u6539\u663e\u5b58\u5927\u5c0f\u65f6\uff0cd.cache \u8fd9\u4e2a\u6587\u4ef6\u540d\u5b57\u90fd\u9700\u8981\u4fee\u6539\uff0c\u6bd4\u5982\u6539\u4e3a a.cache\u30011.cache \u7b49\uff0c\u4ee5\u907f\u514d\u7f13\u5b58\u51b2\u7a81\u3002

          3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

            ./gpu_burn 60\n

            \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u540c\u6837\u5730\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

          \u8c03\u6574\u540e\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

          \u901a\u8fc7\u4e0a\u8ff0\u6b65\u9aa4\uff0c\u60a8\u53ef\u4ee5\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u5730\u8c03\u6574\u5176\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff0c\u4ece\u800c\u66f4\u7075\u6d3b\u5730\u6ee1\u8db3\u4e1a\u52a1\u9700\u6c42\u5e76\u4f18\u5316\u8d44\u6e90\u5229\u7528\u3002

          "},{"location":"admin/kpanda/gpu/gpu_matrix.html","title":"GPU \u652f\u6301\u77e9\u9635","text":"

          \u672c\u9875\u8bf4\u660e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684 GPU \u53ca\u64cd\u4f5c\u7cfb\u7edf\u6240\u5bf9\u5e94\u7684\u77e9\u9635\u3002

          "},{"location":"admin/kpanda/gpu/gpu_matrix.html#nvidia-gpu","title":"NVIDIA GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 NVIDIA GPU\uff08\u6574\u5361/vGPU\uff09 NVIDIA Fermi (2.1) \u67b6\u6784 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160\u5185\u6838\u53c2\u8003\u6587\u6863\u5efa\u8bae\u4f7f\u7528\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94 Kernel \u7248\u672c \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 NVIDIA GeForce 400 \u7cfb\u5217 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA Quadro 4000 \u7cfb\u5217 Ubuntu 20.04 Kernel 5.4 NVIDIA Tesla 20 \u7cfb\u5217 Ubuntu 22.04 Kernel 5.19 NVIDIA Ampere \u67b6\u6784\u7cfb\u5217(A100;A800;H100) RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA MIG NVIDIA Ampere \u67b6\u6784\u7cfb\u5217\uff08A100\u3001A800\u3001H100\uff09 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 Ubuntu 20.04 Kernel 5.4 Ubuntu 22.04 Kernel 5.19 RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348"},{"location":"admin/kpanda/gpu/gpu_matrix.html#ascendnpu","title":"\u6607\u817e\uff08Ascend\uff09NPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 NPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6607\u817e\uff08Ascend 310\uff09 Ascend 310 Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\uff1a\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 300 \u548c 310P \u9a71\u52a8\u6587\u6863 Ascend 310P\uff1b CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf \u6607\u817e\uff08Ascend 910\uff09 Ascend 910B Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 910 \u9a71\u52a8\u6587\u6863 CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf"},{"location":"admin/kpanda/gpu/gpu_matrix.html#iluvatargpu","title":"\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u5929\u6570\u667a\u82af(Iluvatar vGPU) BI100 CentOS 7 Kernel 3.10.0-957.el7.x86_64 ~ 3.10.0-1160.42.2.el7.x86_64 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 \u8865\u5145\u4e2d MR100\uff1b CentOS 8 Kernel 4.18.0-80.el8.x86_64 ~ 4.18.0-305.19.1.el8_4.x86_64 Ubuntu 20.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic Ubuntu 21.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic openEuler 22.03 LTS Kernel \u7248\u672c\u5927\u4e8e\u7b49\u4e8e 5.1 \u4e14\u5c0f\u4e8e\u7b49\u4e8e 5.10"},{"location":"admin/kpanda/gpu/gpu_matrix.html#metaxgpu","title":"\u6c90\u66e6\uff08Metax\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6c90\u66e6Metax\uff08\u6574\u5361/vGPU\uff09 \u66e6\u4e91 C500 \u6c90\u66e6 GPU \u5b89\u88c5\u4f7f\u7528"},{"location":"admin/kpanda/gpu/gpu_scheduler_config.html","title":"GPU \u8c03\u5ea6\u914d\u7f6e\uff08Binpack \u548c Spread \uff09","text":"

          \u672c\u6587\u4ecb\u7ecd\u4f7f\u7528 NVIDIA vGPU \u65f6\uff0c\u5982\u4f55\u901a\u8fc7 Binpack \u548c Spread \u7684 GPU \u8c03\u5ea6\u914d\u7f6e\u51cf\u5c11 GPU \u8d44\u6e90\u788e\u7247\u3001\u9632\u6b62\u5355\u70b9\u6545\u969c\u7b49\uff0c\u5b9e\u73b0 vGPU \u7684\u9ad8\u7ea7\u8c03\u5ea6\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86\u96c6\u7fa4\u548c\u5de5\u4f5c\u8d1f\u8f7d\u4e24\u79cd\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5206\u522b\u6ee1\u8db3\u4e0d\u540c\u573a\u666f\u4e0b\u7684\u4f7f\u7528\u9700\u6c42\u3002

          "},{"location":"admin/kpanda/gpu/gpu_scheduler_config.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
          • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907\u3002
          • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6 \u548c Nvidia-vgpu \u7ec4\u4ef6\u3002
          • \u96c6\u7fa4\u8282\u70b9\u5217\u8868\u4e2d\uff0cGPU \u6a21\u5f0f\u4e0b\u5b58\u5728 NVIDIA-vGPU \u7c7b\u578b\u3002
          "},{"location":"admin/kpanda/gpu/gpu_scheduler_config.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"
          • \u57fa\u4e8e GPU \u5361\u7ef4\u5ea6\u8c03\u5ea6\u7b56\u7565

            • Binpack\uff1a\u4f18\u5148\u9009\u62e9\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
            • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u5361\u6545\u969c\u3002
          • \u57fa\u4e8e\u8282\u70b9\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565

            • Binpack\uff1a \u591a\u4e2a Pod \u4f1a\u4f18\u5148\u9009\u62e9\u540c\u4e00\u4e2a\u8282\u70b9\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
            • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u4e0d\u540c\u8282\u70b9\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u8282\u70b9\u6545\u969c\u3002
          "},{"location":"admin/kpanda/gpu/gpu_scheduler_config.html#binpack-spread","title":"\u96c6\u7fa4\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

          Note

          \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u4f1a\u9075\u5faa\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e\u3002 \u82e5\u5de5\u4f5c\u8d1f\u8f7d\u5355\u72ec\u8bbe\u7f6e\u4e86\u4e0e\u96c6\u7fa4\u4e0d\u4e00\u81f4\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5219\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u4f18\u5148\u9075\u5faa\u5176\u672c\u8eab\u7684\u8c03\u5ea6\u7b56\u7565\u3002

          1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u8c03\u6574 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb GPU \u8c03\u5ea6\u914d\u7f6e \u3002

          2. \u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u540e\u4fdd\u5b58\u3002

          "},{"location":"admin/kpanda/gpu/gpu_scheduler_config.html#binpack-spread_1","title":"\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

          Note

          \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684\u914d\u7f6e\u51b2\u7a81\u65f6\uff0c\u4f18\u5148\u9075\u5faa\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684\u914d\u7f6e\u3002

          \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\uff0c\u5e76\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565 \u3002

          1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

          2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

          3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\uff0c\u5e76\u5728 \u5bb9\u5668\u914d\u7f6e \u4e2d\u542f\u7528 GPU \u914d\u7f6e\uff0c\u9009\u62e9 GPU \u7c7b\u578b\u4e3a NVIDIA vGPU\uff0c \u70b9\u51fb \u9ad8\u7ea7\u8bbe\u7f6e \uff0c\u542f\u7528 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\u3002\u914d\u7f6e\u5b8c\u6210\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c \u8fdb\u5165 \u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

          "},{"location":"admin/kpanda/gpu/vgpu_quota.html","title":"GPU \u914d\u989d\u7ba1\u7406","text":"

          \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

          "},{"location":"admin/kpanda/gpu/vgpu_quota.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

          \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u6216\u624b\u52a8\u65b9\u5f0f\u90e8\u7f72\u5bf9\u5e94\u7c7b\u578b GPU \u9a71\u52a8\uff08NVIDIA GPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\uff09

          "},{"location":"admin/kpanda/gpu/vgpu_quota.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
          1. \u8fdb\u5165 Namespaces \u4e2d\uff0c\u70b9\u51fb \u914d\u989d\u7ba1\u7406 \u53ef\u4ee5\u914d\u7f6e\u5f53\u524d Namespace \u53ef\u4ee5\u4f7f\u7528\u7684 GPU \u8d44\u6e90\u3002

          2. \u5f53\u524d\u547d\u540d\u7a7a\u95f4\u914d\u989d\u7ba1\u7406\u8986\u76d6\u7684\u5361\u7c7b\u578b\u4e3a\uff1aNVIDIA vGPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\u3002

            NVIDIA vGPU \u914d\u989d\u7ba1\u7406 \uff1a\u914d\u7f6e\u5177\u4f53\u53ef\u4ee5\u4f7f\u7528\u7684\u914d\u989d\uff0c\u4f1a\u521b\u5efa ResourcesQuota CR\uff1a

            • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d POD \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u5e76\u4e14\u8981 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
            • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b\u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c\u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a 100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
            • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

          "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html","title":"\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5","text":"

          \u672c\u7ae0\u8282\u63d0\u4f9b\u6607\u817e NPU \u9a71\u52a8\u3001Device Plugin\u3001NPU-Exporter \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u3002

          "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u652f\u6301\u7684 NPU \u578b\u53f7\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
          2. \u8bf7\u786e\u8ba4 \u5bf9\u5e94 NPU \u578b\u53f7\u6240\u8981\u6c42\u7684\u5185\u6838\u7248\u672c\u662f\u5426\u5339\u914d\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
          3. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
          "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#_2","title":"\u5b89\u88c5\u6b65\u9aa4","text":"

          \u4f7f\u7528 NPU \u8d44\u6e90\u4e4b\u524d\uff0c\u9700\u8981\u5b8c\u6210\u56fa\u4ef6\u5b89\u88c5\u3001NPU \u9a71\u52a8\u5b89\u88c5\u3001 Docker Runtime \u5b89\u88c5\u3001\u7528\u6237\u521b\u5efa\u3001\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa\u4ee5\u53ca NPU Device Plugin \u5b89\u88c5\uff0c\u8be6\u60c5\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u3002

          "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#_3","title":"\u5b89\u88c5\u56fa\u4ef6","text":"
          1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u5185\u6838\u7248\u672c\u5728\u201c\u4e8c\u8fdb\u5236\u5b89\u88c5\u201d\u5b89\u88c5\u65b9\u5f0f\u5bf9\u5e94\u7684\u7248\u672c\u8303\u56f4\u5185\uff0c\u5219\u53ef\u4ee5\u76f4\u63a5\u5b89\u88c5NPU\u9a71\u52a8\u56fa\u4ef6\u3002
          2. \u56fa\u4ef6\u4e0e\u9a71\u52a8\u4e0b\u8f7d\u8bf7\u53c2\u8003\u56fa\u4ef6\u4e0b\u8f7d\u5730\u5740
          3. \u56fa\u4ef6\u5b89\u88c5\u8bf7\u53c2\u8003\u5b89\u88c5 NPU \u9a71\u52a8\u56fa\u4ef6
          "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#npu_1","title":"\u5b89\u88c5 NPU \u9a71\u52a8","text":"
          1. \u5982\u9a71\u52a8\u672a\u5b89\u88c5\uff0c\u8bf7\u53c2\u8003\u6607\u817e\u5b98\u65b9\u6587\u6863\u8fdb\u884c\u5b89\u88c5\u3002\u4f8b\u5982 Ascend910\uff0c\u53c2\u8003 910 \u9a71\u52a8\u5b89\u88c5\u6587\u6863\u3002
          2. \u8fd0\u884c npu-smi info \u547d\u4ee4\uff0c\u5e76\u4e14\u80fd\u591f\u6b63\u5e38\u8fd4\u56de NPU \u4fe1\u606f\uff0c\u8868\u793a NPU \u9a71\u52a8\u4e0e\u56fa\u4ef6\u5df2\u5c31\u7eea\u3002
          "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#docker-runtime","title":"\u5b89\u88c5 Docker Runtime","text":"
          1. \u4e0b\u8f7d Ascend Docker Runtime

            \u793e\u533a\u7248\u4e0b\u8f7d\u5730\u5740\uff1ahttps://www.hiascend.com/zh/software/mindx-dl/community

            wget -c https://mindx.obs.cn-south-1.myhuaweicloud.com/OpenSource/MindX/MindX%205.0.RC2/MindX%20DL%205.0.RC2/Ascend-docker-runtime_5.0.RC2_linux-x86_64.run\n

            \u5b89\u88c5\u5230\u6307\u5b9a\u8def\u5f84\u4e0b\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b\u4e24\u6761\u547d\u4ee4\uff0c\u53c2\u6570\u4e3a\u6307\u5b9a\u7684\u5b89\u88c5\u8def\u5f84:

            chmod u+x Ascend-docker-runtime_5.0.RC2_linux-x86_64.run \n./Ascend-docker-runtime_{version}_linux-{arch}.run --install --install-path=<path>\n
          2. \u4fee\u6539 containerd \u914d\u7f6e\u6587\u4ef6

            containerd \u65e0\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u65f6\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b3\u6761\u547d\u4ee4\uff0c\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\uff1a

            mkdir /etc/containerd \ncontainerd config default > /etc/containerd/config.toml \nvim /etc/containerd/config.toml\n

            containerd \u6709\u914d\u7f6e\u6587\u4ef6\u65f6\uff1a

            vim /etc/containerd/config.toml\n

            \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u4fee\u6539 runtime \u7684\u5b89\u88c5\u8def\u5f84\uff0c\u4e3b\u8981\u4fee\u6539 runtime \u5b57\u6bb5\uff1a

            ... \n[plugins.\"io.containerd.monitor.v1.cgroups\"]\n   no_prometheus = false  \n[plugins.\"io.containerd.runtime.v1.linux\"]\n   shim = \"containerd-shim\"\n   runtime = \"/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime\"\n   runtime_root = \"\"\n   no_shim = false\n   shim_debug = false\n [plugins.\"io.containerd.runtime.v2.task\"]\n   platforms = [\"linux/amd64\"]\n...\n

            \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u91cd\u542f containerd\uff1a

            systemctl restart containerd\n
          "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#_4","title":"\u7528\u6237\u521b\u5efa","text":"

          \u5728\u5bf9\u5e94\u7ec4\u4ef6\u5b89\u88c5\u7684\u8282\u70b9\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u521b\u5efa\u7528\u6237\u3002

          # Ubuntu \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /usr/sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n# Centos \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n
          "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#_5","title":"\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa","text":"

          \u5728\u5bf9\u5e94\u8282\u70b9\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u548c\u5404\u7ec4\u4ef6\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5e76\u8bbe\u7f6e\u76ee\u5f55\u5bf9\u5e94\u5c5e\u4e3b\u548c\u6743\u9650\u3002\u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u3002

          mkdir -m 755 /var/log/mindx-dl\nchown root:root /var/log/mindx-dl\n

          \u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa Device Plugin \u7ec4\u4ef6\u65e5\u5fd7\u76ee\u5f55\u3002

          mkdir -m 750 /var/log/mindx-dl/devicePlugin\nchown root:root /var/log/mindx-dl/devicePlugin\n

          Note

          \u8bf7\u5206\u522b\u4e3a\u6240\u9700\u7ec4\u4ef6\u521b\u5efa\u5bf9\u5e94\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5f53\u524d\u6848\u4f8b\u4e2d\u53ea\u9700\u8981 Device Plugin \u7ec4\u4ef6\u3002 \u5982\u679c\u6709\u5176\u4ed6\u7ec4\u4ef6\u9700\u6c42\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863

          "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#label","title":"\u521b\u5efa\u8282\u70b9 Label","text":"

          \u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\u5728\u5bf9\u5e94\u8282\u70b9\u4e0a\u521b\u5efa Label\uff1a

          # \u5728\u5b89\u88c5\u4e86\u9a71\u52a8\u7684\u8ba1\u7b97\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} huawei.com.ascend/Driver=installed\nkubectl label node {nodename} node-role.kubernetes.io/worker=worker\nkubectl label node {nodename} workerselector=dls-worker-node\nkubectl label node {nodename} host-arch=huawei-arm //\u6216\u8005host-arch=huawei-x86 \uff0c\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\nkubectl label node {nodename} accelerator=huawei-Ascend910 //\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u9009\u62e9\n# \u5728\u63a7\u5236\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} masterselector=dls-master-node\n
          "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#device-plugin-npuexporter","title":"\u5b89\u88c5 Device Plugin \u548c NpuExporter","text":"

          \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 ascend-mindxdl \u3002

          • DevicePlugin \uff1a\u901a\u8fc7\u63d0\u4f9b\u901a\u7528\u8bbe\u5907\u63d2\u4ef6\u673a\u5236\u548c\u6807\u51c6\u7684\u8bbe\u5907API\u63a5\u53e3\uff0c\u4f9bKubernetes\u4f7f\u7528\u8bbe\u5907\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
          • NpuExporter \uff1a\u57fa\u4e8ePrometheus/Telegraf\u751f\u6001\uff0c\u8be5\u7ec4\u4ef6\u63d0\u4f9b\u63a5\u53e3\uff0c\u5e2e\u52a9\u7528\u6237\u80fd\u591f\u5173\u6ce8\u5230\u6607\u817e\u7cfb\u5217AI\u5904\u7406\u5668\u4ee5\u53ca\u5bb9\u5668\u7ea7\u5206\u914d\u72b6\u6001\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
          • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b NPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 ascend-mindxdl \u5b89\u88c5\u5931\u8d25\u3002
          • isVirtualMachine \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5982\u679c NPU \u8282\u70b9\u4e3a\u4e91\u4e3b\u673a\u573a\u666f\uff0c\u8bf7\u5f00\u542f\u00a0isVirtualMachine \u53c2\u6570\u3002

          \u5b89\u88c5\u6210\u529f\u540e\uff0c\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u4f1a\u51fa\u73b0\u4e24\u4e2a\u7ec4\u4ef6\uff0c\u5982\u4e0b\u56fe\uff1a

          \u540c\u65f6\u8282\u70b9\u4fe1\u606f\u4e0a\u4e5f\u4f1a\u51fa\u73b0\u5bf9\u5e94 NPU \u7684\u4fe1\u606f\uff1a

          \u4e00\u5207\u5c31\u7eea\u540e\uff0c\u6211\u4eec\u901a\u8fc7\u9875\u9762\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5c31\u80fd\u591f\u9009\u62e9\u5230\u5bf9\u5e94\u7684 NPU \u8bbe\u5907\uff0c\u5982\u4e0b\u56fe\uff1a

          Note

          \u6709\u5173\u8be6\u7ec6\u4f7f\u7528\u6b65\u9aa4\uff0c\u8bf7\u53c2\u7167\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU\u3002

          "},{"location":"admin/kpanda/gpu/ascend/ascend_usage.html","title":"\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU","text":"

          \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u6607\u817e GPU\u3002

          "},{"location":"admin/kpanda/gpu/ascend/ascend_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
          • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5185 NPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002

          \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

          "},{"location":"admin/kpanda/gpu/ascend/ascend_usage.html#_2","title":"\u5feb\u901f\u4f7f\u7528","text":"

          \u672c\u6587\u4f7f\u7528\u6607\u817e\u793a\u4f8b\u5e93\u4e2d\u7684 AscentCL \u56fe\u7247\u5206\u7c7b\u5e94\u7528\u793a\u4f8b\u3002

          1. \u4e0b\u8f7d\u6607\u817e\u4ee3\u7801\u5e93

            \u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u4e0b\u8f7d\u6607\u817e Demo \u793a\u4f8b\u4ee3\u7801\u5e93\uff0c\u5e76\u4e14\u8bf7\u8bb0\u4f4f\u4ee3\u7801\u5b58\u653e\u7684\u4f4d\u7f6e\uff0c\u540e\u7eed\u9700\u8981\u4f7f\u7528\u3002

            git clone https://gitee.com/ascend/samples.git\n
          2. \u51c6\u5907\u57fa\u7840\u955c\u50cf

            \u6b64\u4f8b\u4f7f\u7528 Ascent-pytorch \u57fa\u7840\u955c\u50cf\uff0c\u53ef\u8bbf\u95ee\u6607\u817e\u955c\u50cf\u4ed3\u5e93\u83b7\u53d6\u3002

          3. \u51c6\u5907 YAML

            ascend-demo.yaml
            apiVersion: batch/v1\nkind: Job\nmetadata:\n  name: resnetinfer1-1-1usoc\nspec:\n  template:\n    spec:\n      containers:\n        - image: ascendhub.huawei.com/public-ascendhub/ascend-pytorch:23.0.RC2-ubuntu18.04 # Inference image name\n          imagePullPolicy: IfNotPresent\n          name: resnet50infer\n          securityContext:\n            runAsUser: 0\n          command:\n            - \"/bin/bash\"\n            - \"-c\"\n            - |\n              source /usr/local/Ascend/ascend-toolkit/set_env.sh &&\n              TEMP_DIR=/root/samples_copy_$(date '+%Y%m%d_%H%M%S_%N') &&\n              cp -r /root/samples \"$TEMP_DIR\" &&\n              cd \"$TEMP_DIR\"/inference/modelInference/sampleResnetQuickStart/python/model &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/resnet50/resnet50.onnx &&\n              atc --model=resnet50.onnx --framework=5 --output=resnet50 --input_shape=\"actual_input_1:1,3,224,224\"  --soc_version=Ascend910 &&\n              cd ../data &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg &&\n              cd ../scripts &&\n              bash sample_run.sh\n          resources:\n            requests:\n              huawei.com/Ascend910: 1 # Number of the Ascend 910 Processors\n            limits:\n              huawei.com/Ascend910: 1 # The value should be the same as that of requests\n          volumeMounts:\n            - name: hiai-driver\n              mountPath: /usr/local/Ascend/driver\n              readOnly: true\n            - name: slog\n              mountPath: /var/log/npu/conf/slog/slog.conf\n            - name: localtime # The container time must be the same as the host time\n              mountPath: /etc/localtime\n            - name: dmp\n              mountPath: /var/dmp_daemon\n            - name: slogd\n              mountPath: /var/slogd\n            - name: hbasic\n              mountPath: /etc/hdcBasic.cfg\n            - name: sys-version\n              mountPath: /etc/sys_version.conf\n            - name: aicpu\n              mountPath: /usr/lib64/aicpu_kernels\n            - name: tfso\n              mountPath: /usr/lib64/libtensorflow.so\n            - name: sample-path\n              mountPath: /root/samples\n      volumes:\n        - name: hiai-driver\n          hostPath:\n            path: /usr/local/Ascend/driver\n        - name: slog\n          hostPath:\n            path: /var/log/npu/conf/slog/slog.conf\n        - name: localtime\n          hostPath:\n            path: /etc/localtime\n        - name: dmp\n          hostPath:\n            path: /var/dmp_daemon\n        - name: slogd\n          hostPath:\n            path: /var/slogd\n        - name: hbasic\n          hostPath:\n            path: /etc/hdcBasic.cfg\n        - name: sys-version\n          hostPath:\n            path: /etc/sys_version.conf\n        - name: aicpu\n          hostPath:\n            path: /usr/lib64/aicpu_kernels\n        - name: tfso\n          hostPath:\n            path: /usr/lib64/libtensorflow.so\n        - name: sample-path\n          hostPath:\n            path: /root/samples\n      restartPolicy: OnFailure\n

            \u4ee5\u4e0a YAML \u4e2d\u6709\u4e00\u4e9b\u5b57\u6bb5\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u4fee\u6539\uff1a

            1. atc ... --soc_version=Ascend910 \u4f7f\u7528\u7684\u662f Ascend910 \uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u4e3b \u60a8\u53ef\u4ee5\u4f7f\u7528 npu-smi info \u547d\u4ee4\u67e5\u770b\u663e\u5361\u578b\u53f7\u7136\u540e\u52a0\u4e0a Ascend \u524d\u7f00\u5373\u53ef
            2. samples-path \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
            3. resources \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
          4. \u90e8\u7f72 Job \u5e76\u67e5\u770b\u7ed3\u679c

            \u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u521b\u5efa Job\uff1a

            kubectl apply -f ascend-demo.yaml\n

            \u67e5\u770b Pod \u8fd0\u884c\u72b6\u6001\uff1a

            Pod \u6210\u529f\u8fd0\u884c\u540e\uff0c\u67e5\u770b\u65e5\u5fd7\u7ed3\u679c\u3002\u5728\u5c4f\u5e55\u4e0a\u7684\u5173\u952e\u63d0\u793a\u4fe1\u606f\u793a\u4f8b\u5982\u4e0b\u56fe\uff0c\u63d0\u793a\u4fe1\u606f\u4e2d\u7684 Label \u8868\u793a\u7c7b\u522b\u6807\u8bc6\uff0c Conf \u8868\u793a\u8be5\u5206\u7c7b\u7684\u6700\u5927\u7f6e\u4fe1\u5ea6\uff0cClass \u8868\u793a\u6240\u5c5e\u7c7b\u522b\u3002\u8fd9\u4e9b\u503c\u53ef\u80fd\u4f1a\u6839\u636e\u7248\u672c\u3001\u73af\u5883\u6709\u6240\u4e0d\u540c\uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6\uff1a

            \u7ed3\u679c\u56fe\u7247\u5c55\u793a\uff1a

          "},{"location":"admin/kpanda/gpu/ascend/ascend_usage.html#_3","title":"\u754c\u9762\u4f7f\u7528","text":"
          1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Ascend \u3002

          2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Ascend\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

            \u7269\u7406\u5361\u6570\u91cf\uff08huawei.com/Ascend910\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14**\u5c0f\u4e8e\u7b49\u4e8e**\u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

            \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

          "},{"location":"admin/kpanda/gpu/ascend/vnpu.html","title":"\u542f\u7528\u6607\u817e\u865a\u62df\u5316","text":"

          \u6607\u817e\u865a\u62df\u5316\u5206\u4e3a\u52a8\u6001\u865a\u62df\u5316\u548c\u9759\u6001\u865a\u62df\u5316\uff0c\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f\u5e76\u4f7f\u7528\u6607\u817e\u9759\u6001\u865a\u62df\u5316\u80fd\u529b\u3002

          "},{"location":"admin/kpanda/gpu/ascend/vnpu.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
          • Kubernetes \u96c6\u7fa4\u73af\u5883\u642d\u5efa\u3002
          • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
          • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
          • \u652f\u6301\u7684 NPU \u5361\u578b\u53f7\uff1a

            • Ascend 310P\uff0c\u5df2\u9a8c\u8bc1
            • Ascend 910b\uff0820 \u6838\uff09\uff0c\u5df2\u9a8c\u8bc1
            • Ascend 910\uff0832 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1
            • Ascend 910\uff0830 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1

            \u66f4\u591a\u7ec6\u8282\u53c2\u9605\u5b98\u65b9\u865a\u62df\u5316\u786c\u4ef6\u8bf4\u660e\u3002

          \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

          "},{"location":"admin/kpanda/gpu/ascend/vnpu.html#_3","title":"\u5f00\u542f\u865a\u62df\u5316\u80fd\u529b","text":"

          \u5f00\u542f\u865a\u62df\u5316\u80fd\u529b\u9700\u8981\u624b\u52a8\u4fee\u6539\u00a0ascend-device-plugin-daemonset \u7ec4\u4ef6\u7684\u542f\u52a8\u53c2\u6570\uff0c\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

          - device-plugin -useAscendDocker=true -volcanoType=false -presetVirtualDevice=true\n- logFile=/var/log/mindx-dl/devicePlugin/devicePlugin.log -logLevel=0\n
          "},{"location":"admin/kpanda/gpu/ascend/vnpu.html#vnpu","title":"\u5207\u5206 VNPU \u5b9e\u4f8b","text":"

          \u9759\u6001\u865a\u62df\u5316\u9700\u8981\u624b\u52a8\u5bf9 VNPU \u5b9e\u4f8b\u7684\u5207\u5206\uff0c\u8bf7\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

          npu-smi set -t create-vnpu -i 13 -c 0 -f vir02\n
          • i \u6307\u7684\u662f card id
          • c \u6307\u7684\u662f chip id
          • vir02 \u6307\u7684\u662f\u5207\u5206\u89c4\u683c\u6a21\u677f

          \u5173\u4e8e card id \u548c chip id\uff0c\u53ef\u4ee5\u901a\u8fc7 npu-smi info \u67e5\u8be2\uff0c\u5207\u5206\u89c4\u683c\u53ef\u901a\u8fc7 ascend \u5b98\u65b9\u6a21\u677f\u8fdb\u884c\u67e5\u8be2\u3002

          \u5207\u5206\u5b9e\u4f8b\u8fc7\u540e\u53ef\u901a\u8fc7\u4e0b\u8ff0\u547d\u4ee4\u67e5\u8be2\u5207\u5206\u7ed3\u679c\uff1a

          npu-smi info -t info-vnpu -i 13 -c 0\n

          \u67e5\u8be2\u7ed3\u679c\u5982\u4e0b\uff1a

          "},{"location":"admin/kpanda/gpu/ascend/vnpu.html#ascend-device-plugin-daemonset","title":"\u91cd\u542f\u00a0ascend-device-plugin-daemonset","text":"

          \u5207\u5206\u5b9e\u4f8b\u540e\u624b\u52a8\u91cd\u542f device-plugin pod\uff0c\u7136\u540e\u4f7f\u7528 kubectl describe \u547d\u4ee4\u67e5\u770b\u5df2\u6ce8\u518c node \u7684\u8d44\u6e90\uff1a

          kubectl describe node {{nodename}}\n

          "},{"location":"admin/kpanda/gpu/ascend/vnpu.html#_4","title":"\u5982\u4f55\u4f7f\u7528\u8bbe\u5907","text":"

          \u5728\u521b\u5efa\u5e94\u7528\u65f6\uff0c\u6307\u5b9a\u8d44\u6e90 key\uff0c\u53c2\u8003\u4e0b\u8ff0 YAML\uff1a

          ......\nresources:\n  requests:\n    huawei.com/Ascend310P-2c: 1\n  limits:\n    huawei.com/Ascend310P-2c: 1\n......\n
          "},{"location":"admin/kpanda/gpu/metax/usemetax.html","title":"\u6c90\u66e6 GPU \u7ec4\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528","text":"

          \u672c\u7ae0\u8282\u63d0\u4f9b\u6c90\u66e6 gpu-extensions\u3001gpu-operator \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u548c\u6c90\u66e6 GPU \u6574\u5361\u548c vGPU \u4e24\u79cd\u6a21\u5f0f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002

          "},{"location":"admin/kpanda/gpu/metax/usemetax.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
          1. \u5df2\u5728\u6c90\u66e6\u8f6f\u4ef6\u4e2d\u5fc3\u4e0b\u8f7d\u5e76\u5b89\u88c5\u6240\u9700\u7684 tar \u5305\uff0c \u672c\u6587\u4ee5 metax-gpu-k8s-package.0.7.10.tar.gz \u4e3a\u4f8b\u3002
          2. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
          "},{"location":"admin/kpanda/gpu/metax/usemetax.html#_2","title":"\u7ec4\u4ef6\u4ecb\u7ecd","text":"

          Metax \u63d0\u4f9b\u4e86\u4e24\u4e2a helm-chart \u5305\uff0c\u4e00\u4e2a\u662f metax-extensions\uff0c\u4e00\u4e2a\u662f gpu-operator\uff0c\u6839\u636e\u4f7f\u7528\u573a\u666f\u53ef\u9009\u62e9\u5b89\u88c5\u4e0d\u540c\u7684\u7ec4\u4ef6\u3002

          1. Metax-extensions\uff1a\u5305\u542b gpu-device \u548c gpu-label \u4e24\u4e2a\u7ec4\u4ef6\u3002\u5728\u4f7f\u7528 Metax-extensions \u65b9\u6848\u65f6\uff0c\u7528\u6237\u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u9700\u8981\u57fa\u4e8e MXMACA\u00ae \u57fa\u7840\u955c\u50cf\u6784\u5efa\u3002\u4e14 Metax-extensions \u4ec5\u9002\u7528\u4e8e GPU \u6574\u5361\u4f7f\u7528\u573a\u666f\u3002
          2. gpu-operator\uff1a\u5305\u542b gpu-device\u3001gpu-label\u3001driver-manager\u3001container-runtime\u3001operator-controller \u8fd9\u4e9b\u7ec4\u4ef6\u3002 \u4f7f\u7528 gpu-operator \u65b9\u6848\u65f6\uff0c\u7528\u6237\u53ef\u9009\u62e9\u5236\u4f5c\u4e0d\u5305\u542b MXMACA\u00ae SDK \u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u3002gpu-operator \u9002\u7528\u4e8e GPU \u6574\u5361\u548c vGPU \u573a\u666f\u3002
          "},{"location":"admin/kpanda/gpu/metax/usemetax.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
          1. \u4ece /home/metax/metax-docs/k8s/metax-gpu-k8s-package.0.7.10.tar.gz \u6587\u4ef6\u4e2d\u89e3\u538b\u51fa

            • deploy-gpu-extensions.yaml # \u90e8\u7f72yaml
            • metax-gpu-extensions-0.7.10.tgz\u3001metax-operator-0.7.10.tgz # helm chart\u6587\u4ef6
            • metax-k8s-images.0.7.10.run # \u79bb\u7ebf\u955c\u50cf
          2. \u67e5\u770b\u7cfb\u7edf\u662f\u5426\u5b89\u88c5\u9a71\u52a8

            $ lsmod | grep metax \nmetax 1605632 0 \nttm 86016 3 drm_vram_helper,metax,drm_ttm_helper \ndrm 618496 7 drm_kms_helper,drm_vram_helper,ast,metax,drm_ttm_helper,ttm\n
            • \u5982\u6ca1\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5c31\u8868\u793a\u6ca1\u6709\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002\u5982\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5219\u8868\u793a\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002
            • \u4f7f\u7528 metax-opeartor \u65f6\uff0c\u4e0d\u63a8\u8350\u5728\u5de5\u4f5c\u8282\u70b9\u9884\u5b89\u88c5 MXMACA \u5185\u6838\u6001\u9a71\u52a8\uff0c\u82e5\u5df2\u5b89\u88c5\u4e5f\u65e0\u9700\u5378\u8f7d\u3002
          3. \u5b89\u88c5\u9a71\u52a8

          "},{"location":"admin/kpanda/gpu/metax/usemetax.html#gpu-extensions","title":"gpu-extensions","text":"
          1. \u63a8\u9001\u955c\u50cf

            tar -xf metax-gpu-k8s-package.0.7.10.tar.gz\n./metax-k8s-images.0.7.10.run push {registry}/metax\n
          2. \u63a8\u9001 Helm Chart

            helm plugin install https://github.com/chartmuseum/helm-push\nhelm repo add  --username rootuser --password rootpass123  metax http://172.16.16.5:8081\nhelm cm-push metax-operator-0.7.10.tgz metax\nhelm cm-push metax-gpu-extensions-0.7.10.tgz metax\n
          3. \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u5b89\u88c5 metax-gpu-extensions

            \u90e8\u7f72\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u67e5\u770b\u5230\u8d44\u6e90\u3002

          4. \u4fee\u6539\u6210\u529f\u4e4b\u540e\u5c31\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u770b\u5230\u5e26\u6709 Metax GPU \u7684\u6807\u7b7e

          "},{"location":"admin/kpanda/gpu/metax/usemetax.html#gpu-operator","title":"gpu-operator","text":"

          \u5b89\u88c5 gpu-opeartor \u65f6\u7684\u5df2\u77e5\u95ee\u9898\uff1a

          1. metax-operator\u3001gpu-label\u3001gpu-device \u3001container-runtime \u8fd9\u51e0\u4e2a\u7ec4\u4ef6\u955c\u50cf\u8981\u5e26\u6709 amd64 \u540e\u7f00\u3002

          2. metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u4e0d\u5728 metax-k8s-images.0.7.13.run \u5305\u91cc\u9762\uff0c\u9700\u8981\u5355\u72ec\u4e0b\u8f7d maca-mxc500-2.23.0.23-ubuntu20.04-x86_64.tar.xz \u8fd9\u7c7b\u955c\u50cf\uff0cload \u4e4b\u540e\u91cd\u65b0\u4fee\u6539 metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u3002

          3. metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u9700\u8981\u4ece https://pub-docstore.metax-tech.com:7001 \u8fd9\u4e2a\u7f51\u7ad9\u4e0b\u8f7d k8s-driver-image.2.23.0.25.run \u6587\u4ef6\uff0c\u7136\u540e\u6267\u884c k8s-driver-image.2.23.0.25.run push {registry}/metax \u547d\u4ee4\u628a\u955c\u50cf\u63a8\u9001\u5230\u955c\u50cf\u4ed3\u5e93\u3002\u63a8\u9001\u4e4b\u540e\u4fee\u6539 metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u5730\u5740\u3002

          "},{"location":"admin/kpanda/gpu/metax/usemetax.html#gpu_1","title":"\u4f7f\u7528 GPU","text":"

          \u5b89\u88c5\u540e\u53ef\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u4f7f\u7528\u6c90\u66e6 GPU\u3002\u6ce8\u610f\u542f\u7528 GPU \u540e\uff0c\u9700\u9009\u62e9GPU\u7c7b\u578b\u4e3a Metax GPU

          \u8fdb\u5165\u5bb9\u5668\uff0c\u6267\u884c mx-smi \u53ef\u67e5\u770b GPU \u7684\u4f7f\u7528\u60c5\u51b5.

          "},{"location":"admin/kpanda/gpu/mlu/use-mlu.html","title":"\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU","text":"

          \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU\u3002

          "},{"location":"admin/kpanda/gpu/mlu/use-mlu.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
          • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
          • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
          • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5bd2\u6b66\u7eaa\u56fa\u4ef6\u3001\u9a71\u52a8\u4ee5\u53caDevicePlugin\u7ec4\u4ef6\uff0c\u5b89\u88c5\u8be6\u60c5\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\uff1a
            • \u9a71\u52a8\u56fa\u4ef6\u5b89\u88c5
            • DevicePlugin \u5b89\u88c5

          \u5728\u5b89\u88c5 DevicePlugin \u65f6\u8bf7\u5173\u95ed --enable-device-type \u53c2\u6570\uff0c\u5426\u5219\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06\u65e0\u6cd5\u6b63\u786e\u8bc6\u522b\u5bd2\u6b66\u7eaa GPU\u3002

          "},{"location":"admin/kpanda/gpu/mlu/use-mlu.html#gpu_1","title":"\u5bd2\u6b66\u7eaa GPU \u6a21\u5f0f\u4ecb\u7ecd","text":"

          \u5bd2\u6b66\u7eaa GPU \u6709\u4ee5\u4e0b\u51e0\u79cd\u6a21\u5f0f\uff1a

          • \u6574\u5361\u6a21\u5f0f\uff1a\u5c06\u5bd2\u6b66\u7eaaGPU\u4ee5\u6574\u5361\u7684\u65b9\u5f0f\u6ce8\u518c\u5230\u96c6\u7fa4\u5f53\u4e2d\u8fdb\u884c\u4f7f\u7528\u3002
          • Share \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u4e00\u5f20\u5bd2\u6b66\u7eaaGPU\u5171\u4eab\u7ed9\u591a\u4e2a Pod \u8fdb\u884c\u4f7f\u7528\uff0c\u53ef\u4ee5\u901a\u8fc7 virtualization-num \u53c2\u6570\u8fdb\u884c\u8bbe\u7f6e\u53ef\u5171\u4eab\u5bb9\u5668\u7684\u6570\u91cf\u3002
          • Dynamic smlu \u6a21\u5f0f\uff1a\u8fdb\u4e00\u6b65\u5bf9\u8d44\u6e90\u8fdb\u884c\u4e86\u7ec6\u5316\uff0c\u53ef\u4ee5\u63a7\u5236\u5206\u914d\u7ed9\u5bb9\u5668\u7684\u663e\u5b58\u3001\u7b97\u529b\u7684\u5927\u5c0f\u3002
          • Mim \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u5bd2\u6b66\u7eaa GPU \u6309\u7167\u56fa\u5b9a\u7684\u89c4\u683c\u5207\u5206\u6210\u591a\u5f20 GPU \u8fdb\u884c\u4f7f\u7528\u3002
          "},{"location":"admin/kpanda/gpu/mlu/use-mlu.html#ai","title":"\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u5bd2\u6b66\u7eaa","text":"

          \u8fd9\u91cc\u4ee5 Dynamic smlu \u6a21\u5f0f\u4e3a\u4f8b\uff1a

          1. \u5728\u6b63\u786e\u5b89\u88c5 DevicePlugin \u7b49\u7ec4\u4ef6\u540e\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8fd0\u7ef4-> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002

          2. \u70b9\u51fb\u8282\u70b9\u7ba1\u7406\u9875\u9762\uff0c\u67e5\u770b\u8282\u70b9\u662f\u5426\u5df2\u7ecf\u6b63\u786e\u8bc6\u522b\u5230\u5bf9\u5e94\u7684GPU\u7c7b\u578b\u3002

          3. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08MLU VGPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

            • GPU \u7b97\u529b\uff08cambricon.com/mlu.smlu.vcore\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u4f7f\u7528\u6838\u5fc3\u7684\u767e\u5206\u6bd4\u6570\u91cf\u3002
            • GPU \u663e\u5b58\uff08cambricon.com/mlu.smlu.vmemory\uff09\uff1a\u8868\u793a\u5f53\u524dPod\u9700\u8981\u4f7f\u7528\u663e\u5b58\u7684\u5927\u5c0f\uff0c\u5355\u4f4d\u662fMB\u3002

          "},{"location":"admin/kpanda/gpu/mlu/use-mlu.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

          \u53c2\u8003 YAML \u6587\u4ef6\u5982\u4e0b\uff1a

          apiVersion: v1  \nkind: Pod  \nmetadata:  \n  name: pod1  \nspec:  \n  restartPolicy: OnFailure  \n  containers:  \n    - image: ubuntu:16.04  \n      name: pod1-ctr  \n      command: [\"sleep\"]  \n      args: [\"100000\"]  \n      resources:  \n        limits:  \n          cambricon.com/mlu: \"1\" # use this when device type is not enabled, else delete this line.  \n          #cambricon.com/mlu: \"1\" #uncomment to use when device type is enabled  \n          #cambricon.com/mlu.share: \"1\" #uncomment to use device with env-share mode  \n          #cambricon.com/mlu.mim-2m.8gb: \"1\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vcore: \"100\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vmemory: \"1024\" #uncomment to use device with mim mode\n
          "},{"location":"admin/kpanda/gpu/nvidia/index.html","title":"NVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f","text":"

          NVIDIA \u4f5c\u4e3a\u4e1a\u5185\u77e5\u540d\u7684\u56fe\u5f62\u8ba1\u7b97\u4f9b\u5e94\u5546\uff0c\u4e3a\u7b97\u529b\u7684\u63d0\u5347\u63d0\u4f9b\u4e86\u8bf8\u591a\u8f6f\u786c\u4ef6\u89e3\u51b3\u65b9\u6848\uff0c\u5176\u4e2d NVIDIA \u5728 GPU \u7684\u4f7f\u7528\u65b9\u5f0f\u4e0a\u63d0\u4f9b\u4e86\u5982\u4e0b\u4e09\u79cd\u89e3\u51b3\u65b9\u6848\uff1a

          "},{"location":"admin/kpanda/gpu/nvidia/index.html#full-gpu","title":"\u6574\u5361\uff08Full GPU\uff09","text":"

          \u6574\u5361\u662f\u6307\u5c06\u6574\u4e2a NVIDIA GPU \u5206\u914d\u7ed9\u5355\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u3002\u5728\u8fd9\u79cd\u914d\u7f6e\u4e0b\uff0c\u5e94\u7528\u53ef\u4ee5\u5b8c\u5168\u5360\u7528 GPU \u7684\u6240\u6709\u8d44\u6e90\uff0c \u5e76\u83b7\u5f97\u6700\u5927\u7684\u8ba1\u7b97\u6027\u80fd\u3002\u6574\u5361\u9002\u7528\u4e8e\u9700\u8981\u5927\u91cf\u8ba1\u7b97\u8d44\u6e90\u548c\u5185\u5b58\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5982\u6df1\u5ea6\u5b66\u4e60\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

          "},{"location":"admin/kpanda/gpu/nvidia/index.html#vgpuvirtual-gpu","title":"vGPU\uff08Virtual GPU\uff09","text":"

          vGPU \u662f\u4e00\u79cd\u865a\u62df\u5316\u6280\u672f\uff0c\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u865a\u62df GPU\uff0c\u6bcf\u4e2a\u865a\u62df GPU \u5206\u914d\u7ed9\u4e0d\u540c\u7684\u4e91\u4e3b\u673a\u6216\u7528\u6237\u3002 vGPU \u4f7f\u591a\u4e2a\u7528\u6237\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u53f0\u7269\u7406 GPU\uff0c\u5e76\u5728\u5404\u81ea\u7684\u865a\u62df\u73af\u5883\u4e2d\u72ec\u7acb\u4f7f\u7528 GPU \u8d44\u6e90\u3002 \u6bcf\u4e2a\u865a\u62df GPU \u53ef\u4ee5\u83b7\u5f97\u4e00\u5b9a\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002vGPU \u9002\u7528\u4e8e\u865a\u62df\u5316\u73af\u5883\u548c\u4e91\u8ba1\u7b97\u573a\u666f\uff0c\u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8d44\u6e90\u5229\u7528\u7387\u548c\u7075\u6d3b\u6027\u3002

          "},{"location":"admin/kpanda/gpu/nvidia/index.html#migmulti-instance-gpu","title":"MIG\uff08Multi-Instance GPU\uff09","text":"

          MIG \u662f NVIDIA Ampere \u67b6\u6784\u5f15\u5165\u7684\u4e00\u9879\u529f\u80fd\uff0c\u5b83\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u7269\u7406 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u7528\u6237\u6216\u5de5\u4f5c\u8d1f\u8f7d\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u5177\u6709\u81ea\u5df1\u7684\u8ba1\u7b97\u8d44\u6e90\u3001\u663e\u5b58\u548c PCIe \u5e26\u5bbd\uff0c\u5c31\u50cf\u4e00\u4e2a\u72ec\u7acb\u7684\u865a\u62df GPU\u3002 MIG \u63d0\u4f9b\u4e86\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u52a8\u6001\u8c03\u6574\u5b9e\u4f8b\u7684\u6570\u91cf\u548c\u5927\u5c0f\u3002 MIG \u9002\u7528\u4e8e\u591a\u79df\u6237\u73af\u5883\u3001\u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f\u548c\u6279\u5904\u7406\u4f5c\u4e1a\u7b49\u573a\u666f\u3002

          \u65e0\u8bba\u662f\u5728\u865a\u62df\u5316\u73af\u5883\u4e2d\u4f7f\u7528 vGPU\uff0c\u8fd8\u662f\u5728\u7269\u7406 GPU \u4e0a\u4f7f\u7528 MIG\uff0cNVIDIA \u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u9009\u62e9\u548c\u4f18\u5316 GPU \u8d44\u6e90\u7684\u65b9\u5f0f\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5168\u9762\u517c\u5bb9\u4e86\u4e0a\u8ff0 NVIDIA \u7684\u80fd\u529b\u7279\u6027\uff0c\u7528\u6237\u53ea\u9700\u901a\u8fc7\u7b80\u5355\u7684\u754c\u9762\u64cd\u4f5c\uff0c\u5c31\u80fd\u591f\u83b7\u5f97\u5168\u90e8 NVIDIA GPU \u7684\u8ba1\u7b97\u80fd\u529b\uff0c\u4ece\u800c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387\u5e76\u964d\u4f4e\u6210\u672c\u3002

          • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\uff0c\u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a
            • \u5c5e\u4e8e\u540c\u4e00\u4e2a\u578b\u53f7\uff08\u4f8b\u5982 A100-SXM-40GB\uff09\uff0c\u53ea\u6709\u540c\u4e00\u578b\u53f7 GPU \u7684 MIG Profile \u624d\u662f\u4e00\u6837\u7684
            • \u542f\u7528 MIG \u914d\u7f6e\uff0c\u9700\u8981\u91cd\u542f\u673a\u5668\u624d\u80fd\u751f\u6548
            • \u4e3a\u5728\u6240\u6709\u4ea7\u54c1\u4e2d\u516c\u5f00\u201c\u5b8c\u5168\u76f8\u540c\u201d\u7684 MIG \u8bbe\u5907\u7c7b\u578b\uff0c\u521b\u5efa\u76f8\u540c\u7684GI \u548c CI
          • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002\u8bf7\u6c42\u7279\u5b9a\u7684 MIG \u8bbe\u5907\u7c7b\u578b\u9700\u8981\u8bbe\u5907\u7c7b\u578b\u63d0\u4f9b\u7684\u8ba1\u7b97\u5207\u7247\u6570\u91cf\u548c\u5185\u5b58\u603b\u91cf\u3002
            • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
            • \u6bcf\u4e2a GPU \u53ef\u542f\u7528\u6216\u4e0d\u542f\u7528 MIG\uff0c\u5e76\u4e14\u53ef\u4ee5\u81ea\u7531\u914d\u7f6e\u4efb\u4f55\u53ef\u7528 MIG \u8bbe\u5907\u7c7b\u578b\u7684\u6df7\u5408\u642d\u914d\u3002
            • \u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 k8s-device-plugin \u5c06\uff1a
              • \u4f7f\u7528\u4f20\u7edf\u7684 nvidia.com/gpu \u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u4efb\u4f55\u4e0d\u5904\u4e8e MIG \u6a21\u5f0f\u7684 GPU
              • \u4f7f\u7528\u9075\u5faa\u67b6\u6784 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                \u5f00\u542f\u914d\u7f6e\u8be6\u60c5\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/index.html#_1","title":"\u5982\u4f55\u4f7f\u7528","text":"

                \u60a8\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u94fe\u63a5\uff0c\u5feb\u901f\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5173\u4e8e NVIDIA GPU \u5361\u7684\u7ba1\u7406\u80fd\u529b\u3002

                • NVIDIA GPU \u6574\u5361\u4f7f\u7528
                • NVIDIA vGPU \u4f7f\u7528
                • NVIDIA MIG \u4f7f\u7528
                "},{"location":"admin/kpanda/gpu/nvidia/full_gpu_userguide.html","title":"\u5e94\u7528\u4f7f\u7528 GPU \u6574\u5361","text":"

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06\u6574\u4e2a NVIDIA GPU \u5361\u5206\u914d\u7ed9\u5355\u4e2a\u5e94\u7528\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/full_gpu_userguide.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                • \u5f53\u524d\u96c6\u7fa4\u5df2\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u5e76\u5df2\u542f\u7528 NVIDIA DevicePlugin \uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002
                "},{"location":"admin/kpanda/gpu/nvidia/full_gpu_userguide.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/gpu/nvidia/full_gpu_userguide.html#ui","title":"\u4f7f\u7528 UI \u754c\u9762\u914d\u7f6e","text":"
                1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia GPU \u3002

                2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia GPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

                  \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/gpu\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

                  \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/full_gpu_userguide.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/gpu: 1 \u53c2\u6570\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-gpu-demo\n    spec:\n      containers:\n      - image: chrstnhntschl/gpu_burn\n        name: container-0\n        resources:\n          requests:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # \u7533\u8bf7 GPU \u7684\u6570\u91cf\n          limits:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # GPU \u6570\u91cf\u7684\u4f7f\u7528\u4e0a\u9650\n      imagePullSecrets:\n      - name: default-secret\n

                Note

                \u4f7f\u7528 nvidia.com/gpu \u53c2\u6570\u6307\u5b9a GPU \u6570\u91cf\u65f6\uff0crequests \u548c limits \u503c\u9700\u8981\u4fdd\u6301\u4e00\u81f4\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html","title":"GPU Operator \u79bb\u7ebf\u5b89\u88c5","text":"

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 Ubuntu22.04\u3001Ubuntu20.04\u3001CentOS 7.9 \u8fd9\u4e09\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\uff0c\u9a71\u52a8\u7248\u672c\u662f 535.104.12\uff1b \u5e76\u4e14\u5185\u7f6e\u4e86\u5404\u64cd\u4f5c\u7cfb\u7edf\u6240\u9700\u7684 Toolkit \u955c\u50cf\uff0c\u7528\u6237\u4e0d\u518d\u9700\u8981\u624b\u52a8\u79bb\u7ebf Toolkit \u955c\u50cf\u3002

                \u672c\u6587\u4f7f\u7528 AMD \u67b6\u6784\u7684 CentOS 7.9\uff083.10.0-1160\uff09\u8fdb\u884c\u6f14\u793a\u3002\u5982\u9700\u4f7f\u7528 Red Hat 8.4 \u90e8\u7f72\uff0c \u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u548c\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5f85\u90e8\u7f72 gpu-operator \u7684\u96c6\u7fa4\u8282\u70b9\u5185\u6838\u7248\u672c\u5fc5\u987b\u5b8c\u5168\u4e00\u81f4\u3002\u8282\u70b9\u6240\u5728\u7684\u53d1\u884c\u7248\u548c GPU \u5361\u578b\u53f7\u5728 GPU \u652f\u6301\u77e9\u9635\u7684\u8303\u56f4\u5185\u3002
                • \u5b89\u88c5 gpu-operator \u65f6\u9009\u62e9 v23.9.0+2 \u53ca\u4ee5\u4e0a\u7248\u672c
                "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 gpu-operator \u63d2\u4ef6\u3002

                1. \u767b\u5f55\u5e73\u53f0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5f85\u5b89\u88c5 gpu-operator \u7684\u96c6\u7fa4 -> \u8fdb\u5165\u96c6\u7fa4\u8be6\u60c5\u3002

                2. \u5728 Helm \u6a21\u677f \u9875\u9762\uff0c\u9009\u62e9 \u5168\u90e8\u4ed3\u5e93 \uff0c\u641c\u7d22 gpu-operator \u3002

                3. \u9009\u62e9 gpu-operator \uff0c\u70b9\u51fb \u5b89\u88c5 \u3002

                4. \u53c2\u8003\u4e0b\u6587\u53c2\u6570\u914d\u7f6e\uff0c\u914d\u7f6e gpu-operator \u5b89\u88c5\u53c2\u6570\uff0c\u5b8c\u6210 gpu-operator \u7684\u5b89\u88c5\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_3","title":"\u53c2\u6570\u914d\u7f6e","text":"
                • systemOS \uff1a\u9009\u62e9\u673a\u5668\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5f53\u524d\u5185\u7f6e\u4e86 Ubuntu 22.04\u3001Ubuntu20.04\u3001Centos7.9 \u3001other \u56db\u4e2a\u9009\u9879\uff0c\u8bf7\u6b63\u786e\u7684\u9009\u62e9\u64cd\u4f5c\u7cfb\u7edf\u3002
                "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_4","title":"\u57fa\u672c\u53c2\u6570\u914d\u7f6e","text":"
                • \u540d\u79f0 \uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\u3002
                • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u7248\u672c \uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 v23.9.0+2 \u7248\u672c\u4e3a\u4f8b\u3002
                • \u5931\u8d25\u5220\u9664 \uff1a\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                • \u5c31\u7eea\u7b49\u5f85 \uff1a\u542f\u7528\u540e\uff0c\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                • \u8be6\u60c5\u65e5\u5fd7 \uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002
                "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_5","title":"\u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e","text":""},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#operator","title":"Operator \u53c2\u6570\u914d\u7f6e","text":"
                • InitContainer.image \uff1a\u914d\u7f6e CUDA \u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/cuda
                • InitContainer.repository \uff1aCUDA \u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvcr.m.daocloud.io \u4ed3\u5e93
                • InitContainer.version : CUDA \u955c\u50cf\u7684\u7248\u672c\uff0c\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570
                "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#driver","title":"Driver \u53c2\u6570\u914d\u7f6e","text":"
                • Driver.enable \uff1a\u914d\u7f6e\u662f\u5426\u5728\u8282\u70b9\u4e0a\u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u9ed8\u8ba4\u5f00\u542f\uff0c\u5982\u679c\u60a8\u5728\u4f7f\u7528 GPU Operator \u90e8\u7f72\u524d\uff0c\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u90e8\u7f72\u4e86 NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff0c\u8bf7\u5173\u95ed\u3002\uff08\u82e5\u624b\u52a8\u90e8\u7f72\u9a71\u52a8\u7a0b\u5e8f\u9700\u8981\u5173\u6ce8 CUDA Toolkit \u4e0e Toolkit Driver Version \u7684\u9002\u914d\u5173\u7cfb\uff0c\u901a\u8fc7 GPU operator \u5b89\u88c5\u5219\u65e0\u9700\u5173\u6ce8\uff09\u3002
                • Driver.usePrecompiled \uff1a\u542f\u7528\u9884\u7f16\u8bd1\u7684GPU\u9a71\u52a8
                • Driver.image \uff1a\u914d\u7f6e GPU \u9a71\u52a8\u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/driver \u3002
                • Driver.repository \uff1aGPU \u9a71\u52a8\u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvidia \u7684 nvcr.io \u4ed3\u5e93\u3002
                • Driver.usePrecompiled \uff1a\u5f00\u542f\u9884\u7f16\u8bd1\u6a21\u5f0f\u5b89\u88c5\u9a71\u52a8\u3002
                • Driver.version \uff1aGPU \u9a71\u52a8\u955c\u50cf\u7684\u7248\u672c\uff0c\u79bb\u7ebf\u90e8\u7f72\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570\uff0c\u4ec5\u5728\u7ebf\u5b89\u88c5\u65f6\u9700\u914d\u7f6e\u3002\u4e0d\u540c\u7c7b\u578b\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\u7684\u7248\u672c\u5b58\u5728\u5982\u4e0b\u5dee\u5f02\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\uff1aNvidia GPU Driver \u7248\u672c\u3002 \u5982\u4e0b\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver Version \u793a\u4f8b\uff1a

                  Note

                  \u4f7f\u7528\u5185\u7f6e\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u65e0\u9700\u4fee\u6539\u955c\u50cf\u7248\u672c\uff0c\u5176\u4ed6\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u955c\u50cf\u3002 \u6ce8\u610f\u7248\u672c\u53f7\u540e\u65e0\u9700\u586b\u5199 Ubuntu\u3001CentOS\u3001Red Hat \u7b49\u64cd\u4f5c\u7cfb\u7edf\u540d\u79f0\uff0c\u82e5\u5b98\u65b9\u955c\u50cf\u542b\u6709\u64cd\u4f5c\u7cfb\u7edf\u540e\u7f00\uff0c\u8bf7\u624b\u52a8\u79fb\u9664\u3002

                  • Red Hat \u7cfb\u7edf\uff0c\u4f8b\u5982 525.105.17
                  • Ubuntu \u7cfb\u7edf\uff0c\u4f8b\u5982 535-5.15.0-1043-nvidia
                  • CentOS \u7cfb\u7edf\uff0c\u4f8b\u5982 525.147.05
                • Driver.RepoConfig.ConfigMapName \uff1a\u7528\u6765\u8bb0\u5f55 GPU Operator \u7684\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\uff0c \u5f53\u4f7f\u7528\u9884\u7f6e\u7684\u79bb\u7ebf\u5305\u65f6\uff0c\u5404\u7c7b\u578b\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bf7\u53c2\u8003\u5982\u4e0b\u7684\u6587\u6863\u3002

                  • \u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90
                  • \u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90
                "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#toolkit","title":"Toolkit \u914d\u7f6e\u53c2\u6570","text":"

                Toolkit.enable \uff1a\u9ed8\u8ba4\u5f00\u542f\uff0c\u8be5\u7ec4\u4ef6\u8ba9 conatainerd/docker \u652f\u6301\u8fd0\u884c\u9700\u8981 GPU \u7684\u5bb9\u5668\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#mig","title":"MIG \u914d\u7f6e\u53c2\u6570","text":"

                \u8be6\u7ec6\u914d\u7f6e\u65b9\u5f0f\u8bf7\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd

                MigManager.Config.name \uff1aMIG \u7684\u5207\u5206\u914d\u7f6e\u6587\u4ef6\u540d\uff0c\u7528\u4e8e\u5b9a\u4e49 MIG \u7684\uff08GI, CI\uff09\u5207\u5206\u7b56\u7565\u3002 \u9ed8\u8ba4\u4e3a default-mig-parted-config \u3002\u81ea\u5b9a\u4e49\u53c2\u6570\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_6","title":"\u4e0b\u4e00\u6b65\u64cd\u4f5c","text":"

                \u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff1a

                • \u5982\u679c\u4f7f\u7528 \u6574\u5361\u6a21\u5f0f\uff0c\u5e94\u7528\u521b\u5efa\u65f6\u53ef\u4f7f\u7528 GPU \u8d44\u6e90

                • \u5982\u679c\u4f7f\u7528 vGPU \u6a21\u5f0f \uff0c\u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff0c\u4e0b\u4e00\u6b65\u8bf7\u5b8c\u6210 vGPU Addon \u5b89\u88c5

                • \u5982\u679c\u4f7f\u7528 MIG \u6a21\u5f0f\uff0c\u5e76\u4e14\u9700\u8981\u7ed9\u4e2a\u522b GPU \u8282\u70b9\u6309\u7167\u67d0\u79cd\u5207\u5206\u89c4\u683c\u8fdb\u884c\u4f7f\u7528\uff0c \u5426\u5219\u6309\u7167 MigManager.Config \u4e2d\u7684 default \u503c\u8fdb\u884c\u5207\u5206\u3002

                  • single \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                    kubectl label nodes {node} nvidia.com/mig.config=\"all-1g.10gb\" --overwrite\n
                  • mixed \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                    kubectl label nodes {node} nvidia.com/mig.config=\"custom-config\" --overwrite\n

                \u200b \u5207\u5206\u540e\uff0c\u5e94\u7528\u53ef\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html","title":"\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                \u672c\u6587\u4ee5 Red Hat 8.4 \u7684 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u79bb\u7ebf\u955c\u50cf\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                1. \u706b\u79cd\u8282\u70b9\u53ca\u5176\u7ec4\u4ef6\u72b6\u6001\u8fd0\u884c\u6b63\u5e38\u3002
                2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u706b\u79cd\u8282\u70b9\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                "},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html#_3","title":"\u5728\u8054\u7f51\u8282\u70b9\u83b7\u53d6\u79bb\u7ebf\u955c\u50cf","text":"

                \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                1. \u5728\u8054\u7f51\u673a\u5668\u4e0a\u62c9\u53d6 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\uff1a

                  docker pull nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                2. \u955c\u50cf\u62c9\u53d6\u5b8c\u6210\u540e\uff0c\u6253\u5305\u955c\u50cf\u4e3a nvidia-driver.tar \u538b\u7f29\u5305\uff1a

                  docker save nvcr.io/nvidia/driver:525.105.17-rhel8.4 > nvidia-driver.tar\n
                3. \u62f7\u8d1d nvidia-driver.tar \u955c\u50cf\u538b\u7f29\u5305\u5230\u706b\u79cd\u8282\u70b9\uff1a

                  scp  nvidia-driver.tar user@ip:/root\n

                  \u4f8b\u5982\uff1a

                  scp  nvidia-driver.tar root@10.6.175.10:/root\n
                "},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html#_4","title":"\u63a8\u9001\u955c\u50cf\u5230\u706b\u79cd\u8282\u70b9\u4ed3\u5e93","text":"

                \u4ee5\u4e0b\u64cd\u4f5c\u5728\u706b\u79cd\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                1. \u767b\u5f55\u706b\u79cd\u8282\u70b9\uff0c\u5c06\u8054\u7f51\u8282\u70b9\u62f7\u8d1d\u7684\u955c\u50cf\u538b\u7f29\u5305 nvidia-driver.tar \u5bfc\u5165\u672c\u5730\uff1a

                  docker load -i nvidia-driver.tar\n
                2. \u67e5\u770b\u521a\u521a\u5bfc\u5165\u7684\u955c\u50cf\uff1a

                  docker images -a |grep nvidia\n

                  \u9884\u671f\u8f93\u51fa\uff1a

                  nvcr.io/nvidia/driver                 e3ed7dee73e9   1 days ago   1.02GB\n
                3. \u91cd\u65b0\u6807\u8bb0\u955c\u50cf\uff0c\u4f7f\u5176\u4e0e\u8fdc\u7a0b Registry \u4ed3\u5e93\u4e2d\u7684\u76ee\u6807\u4ed3\u5e93\u5bf9\u5e94\uff1a

                  docker tag <image-name> <registry-url>/<repository-name>:<tag>\n
                  • <image-name> \u662f\u4e0a\u4e00\u6b65 nvidia \u955c\u50cf\u7684\u540d\u79f0\uff0c
                  • <registry-url> \u662f\u706b\u79cd\u8282\u70b9\u4e0a Registry \u670d\u52a1\u7684\u5730\u5740\uff0c
                  • <repository-name> \u662f\u60a8\u8981\u63a8\u9001\u5230\u7684\u4ed3\u5e93\u540d\u79f0\uff0c
                  • <tag> \u662f\u60a8\u4e3a\u955c\u50cf\u6307\u5b9a\u7684\u6807\u7b7e\u3002

                  \u4f8b\u5982\uff1a

                  registry\uff1adocker tag nvcr.io/nvidia/driver 10.6.10.5/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                4. \u5c06\u955c\u50cf\u63a8\u9001\u5230\u706b\u79cd\u8282\u70b9\u955c\u50cf\u4ed3\u5e93\uff1a

                  docker push {ip}/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                "},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html#_5","title":"\u63a5\u4e0b\u6765","text":"

                \u53c2\u8003\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u548c GPU Operator \u79bb\u7ebf\u5b89\u88c5\u6765\u4e3a\u96c6\u7fa4\u90e8\u7f72 GPU Operator\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html","title":"RHEL 9.2 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                RHEL 9.2 \u9a71\u52a8\u955c\u50cf\u4e0d\u80fd\u76f4\u63a5\u5b89\u88c5\uff0c\u5b98\u65b9\u7684\u9a71\u52a8\u811a\u672c\u5b58\u5728\u4e00\u70b9\u95ee\u9898\uff0c\u5728\u5b98\u65b9\u4fee\u590d\u4e4b\u524d\uff0c\u63d0\u4f9b\u5982\u4e0b\u7684\u6b65\u9aa4\u6765\u5b9e\u73b0\u79bb\u7ebf\u5b89\u88c5\u9a71\u52a8\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#nouveau","title":"\u7981\u7528nouveau\u9a71\u52a8","text":"

                \u5728 RHEL 9.2 \u4e2d\u5b58\u5728 nouveau \u975e\u5b98\u65b9\u7684 Nvidia \u9a71\u52a8\uff0c\u56e0\u6b64\u9700\u8981\u5148\u7981\u7528\u3002

                # \u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6\nsudo vi /etc/modprobe.d/blacklist-nouveau.conf\n# \u6dfb\u52a0\u4ee5\u4e0b\u4e24\u884c\u5185\u5bb9:\nblacklist nouveau\noptions nouveau modeset=0\n# \u7981\u7528Nouveau\nsudo dracut --force\n# \u91cd\u542fvm\nsudo reboot\n# \u68c0\u67e5\u662f\u5426\u5df2\u7ecf\u6210\u529f\u7981\u7528\nlsmod | grep nouveau\n
                "},{"location":"admin/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#_1","title":"\u81ea\u5b9a\u4e49\u9a71\u52a8\u955c\u50cf","text":"

                \u5148\u5728\u672c\u5730\u521b\u5efa nvidia-driver \u6587\u4ef6\uff1a

                \u70b9\u51fb\u67e5\u770b\u5b8c\u6574\u7684 nvidia-driver \u6587\u4ef6\u5185\u5bb9
                #! /bin/bash -x\n# Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.\n\nset -eu\n\nRUN_DIR=/run/nvidia\nPID_FILE=${RUN_DIR}/${0##*/}.pid\nDRIVER_VERSION=${DRIVER_VERSION:?\"Missing DRIVER_VERSION env\"}\nKERNEL_UPDATE_HOOK=/run/kernel/postinst.d/update-nvidia-driver\nNUM_VGPU_DEVICES=0\nNVIDIA_MODULE_PARAMS=()\nNVIDIA_UVM_MODULE_PARAMS=()\nNVIDIA_MODESET_MODULE_PARAMS=()\nNVIDIA_PEERMEM_MODULE_PARAMS=()\nTARGETARCH=${TARGETARCH:?\"Missing TARGETARCH env\"}\nUSE_HOST_MOFED=\"${USE_HOST_MOFED:-false}\"\nDNF_RELEASEVER=${DNF_RELEASEVER:-\"\"}\nRHEL_VERSION=${RHEL_VERSION:-\"\"}\nRHEL_MAJOR_VERSION=9\n\nOPEN_KERNEL_MODULES_ENABLED=${OPEN_KERNEL_MODULES_ENABLED:-false}\n[[ \"${OPEN_KERNEL_MODULES_ENABLED}\" == \"true\" ]] && KERNEL_TYPE=kernel-open || KERNEL_TYPE=kernel\n\nDRIVER_ARCH=${TARGETARCH/amd64/x86_64} && DRIVER_ARCH=${DRIVER_ARCH/arm64/aarch64}\necho \"DRIVER_ARCH is $DRIVER_ARCH\"\n\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\nsource $SCRIPT_DIR/common.sh\n\n_update_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Updating the package cache...\"\n        if ! yum -q makecache; then\n            echo \"FATAL: failed to reach RHEL package repositories. \"\\\n                 \"Ensure that the cluster can access the proper networks.\"\n            exit 1\n        fi\n    fi\n}\n\n_cleanup_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Cleaning up the package cache...\"\n        rm -rf /var/cache/yum/*\n    fi\n}\n\n_get_rhel_version_from_kernel() {\n    local rhel_version_underscore rhel_version_arr\n    rhel_version_underscore=$(echo \"${KERNEL_VERSION}\" | sed 's/.*el\\([0-9]\\+_[0-9]\\+\\).*/\\1/g')\n    # For e.g. :- from the kernel version 4.18.0-513.9.1.el8_9, we expect to extract the string \"8_9\"\n    if [[ ! ${rhel_version_underscore} =~ ^[0-9]+_[0-9]+$ ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    IFS='_' read -r -a rhel_version_arr <<< \"$rhel_version_underscore\"\n    if [[ ${#rhel_version_arr[@]} -ne 2 ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    RHEL_VERSION=\"${rhel_version_arr[0]}.${rhel_version_arr[1]}\"\n    echo \"RHEL VERSION successfully resolved from kernel: ${RHEL_VERSION}\"\n    return 0\n}\n\n_resolve_rhel_version() {\n    _get_rhel_version_from_kernel || RHEL_VERSION=\"${RHEL_MAJOR_VERSION}\"\n    # set dnf release version as rhel version by default\n    if [[ -z \"${DNF_RELEASEVER}\" ]]; then\n        DNF_RELEASEVER=\"${RHEL_VERSION}\"\n    fi\n    return 0\n}\n\n# Resolve the kernel version to the form major.minor.patch-revision.\n_resolve_kernel_version() {\n    echo \"Resolving Linux kernel version...\"\n    local version=$(yum -q list available --showduplicates kernel-headers |\n      awk -v arch=$(uname -m) 'NR>1 {print $2\".\"arch}' | tac | grep -E -m1 \"^${KERNEL_VERSION/latest/.*}\")\n\n    if [ -z \"${version}\" ]; then\n        echo \"Could not resolve Linux kernel version\" >&2\n        return 1\n    fi\n    KERNEL_VERSION=\"${version}\"\n    echo \"Proceeding with Linux kernel version ${KERNEL_VERSION}\"\n    return 0\n}\n\n# Install the kernel modules header/builtin/order files and generate the kernel version string.\n_install_prerequisites() (\n    local tmp_dir=$(mktemp -d)\n\n    trap \"rm -rf ${tmp_dir}\" EXIT\n    cd ${tmp_dir}\n\n    echo \"Installing elfutils...\"\n    if ! dnf install -q -y elfutils-libelf.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi\n    if ! dnf install -q -y elfutils-libelf-devel.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi    \n\n    rm -rf /lib/modules/${KERNEL_VERSION}\n    mkdir -p /lib/modules/${KERNEL_VERSION}/proc\n\n    echo \"Enabling RHOCP and EUS RPM repos...\"\n    if [ -n \"${OPENSHIFT_VERSION:-}\" ]; then\n        dnf config-manager --set-enabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        fi\n    fi\n\n    dnf config-manager --set-enabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms  || true\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms || true\n    fi\n\n    # try with EUS disabled, if it does not work, then try just major version\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n      # If pointing to DNF_RELEASEVER does not work, we point to the RHEL_MAJOR_VERSION as a last resort\n      if ! dnf makecache --releasever=${RHEL_MAJOR_VERSION}; then\n        echo \"FATAL: failed to update the dnf metadata cache after multiple attempts with releasevers ${DNF_RELEASEVER}, ${RHEL_MAJOR_VERSION}\"\n        exit 1\n      else\n        DNF_RELEASEVER=${RHEL_MAJOR_VERSION}\n      fi\n    fi\n\n    echo \"Installing Linux kernel headers...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} --allowerasing > /dev/null\n    ln -s /usr/src/kernels/${KERNEL_VERSION} /lib/modules/${KERNEL_VERSION}/build\n\n    echo \"Installing Linux kernel module files...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-core-${KERNEL_VERSION} > /dev/null\n\n    # Prevent depmod from giving a WARNING about missing files\n    touch /lib/modules/${KERNEL_VERSION}/modules.order\n    touch /lib/modules/${KERNEL_VERSION}/modules.builtin\n\n    depmod ${KERNEL_VERSION}\n\n    echo \"Generating Linux kernel version string...\"\n    if [ \"$TARGETARCH\" = \"arm64\" ]; then\n        gunzip -c /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    else\n        extract-vmlinux /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    fi\n    if [ -z \"$(<version)\" ]; then\n        echo \"Could not locate Linux kernel version string\" >&2\n        return 1\n    fi\n    mv version /lib/modules/${KERNEL_VERSION}/proc\n\n    # Parse gcc version\n    # gcc_version is expected to match x.y.z\n    # current_gcc is expected to match 'gcc-x.y.z-rel.el8.x86_64\n    local gcc_version=$(cat /lib/modules/${KERNEL_VERSION}/proc/version | grep -Eo \"gcc \\(GCC\\) ([0-9\\.]+)\" | grep -Eo \"([0-9\\.]+)\")\n    local current_gcc=$(rpm -qa gcc)\n    echo \"kernel requires gcc version: 'gcc-${gcc_version}', current gcc version is '${current_gcc}'\"\n\n    if ! [[ \"${current_gcc}\" =~ \"gcc-${gcc_version}\"-.* ]]; then\n        dnf install -q -y --releasever=${DNF_RELEASEVER} \"gcc-${gcc_version}\"\n    fi\n)\n\n# Cleanup the prerequisites installed above.\n_remove_prerequisites() {\n    true\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        dnf -q -y remove kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} > /dev/null\n        # TODO remove module files not matching an existing driver package.\n    fi\n}\n\n# Check if the kernel version requires a new precompiled driver packages.\n_kernel_requires_package() {\n    local proc_mount_arg=\"\"\n\n    echo \"Checking NVIDIA driver packages...\"\n\n    [[ ! -d /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE} ]] && return 0\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    proc_mount_arg=\"--proc-mount-point /lib/modules/${KERNEL_VERSION}/proc\"\n    for pkg_name in $(ls -d -1 precompiled/** 2> /dev/null); do\n        is_match=$(../mkprecompiled --match ${pkg_name} ${proc_mount_arg})\n        if [ \"${is_match}\" == \"kernel interface matches.\" ]; then\n            echo \"Found NVIDIA driver package ${pkg_name##*/}\"\n            return 1\n        fi\n    done\n    return 0\n}\n\n# Compile the kernel modules, optionally sign them, and generate a precompiled package for use by the nvidia-installer.\n_create_driver_package() (\n    local pkg_name=\"nvidia-modules-${KERNEL_VERSION%%-*}${PACKAGE_TAG:+-${PACKAGE_TAG}}\"\n    local nvidia_sign_args=\"\"\n    local nvidia_modeset_sign_args=\"\"\n    local nvidia_uvm_sign_args=\"\"\n\n    trap \"make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build clean > /dev/null\" EXIT\n\n    echo \"Compiling NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    if _gpu_direct_rdma_enabled; then\n        ln -s /run/mellanox/drivers/usr/src/ofa_kernel /usr/src/\n        # if arch directory exists(MOFED >=5.5) then create a symlink as expected by GPU driver installer\n        # This is required as currently GPU driver installer doesn't expect headers in x86_64 folder, but only in either default or kernel-version folder.\n        # ls -ltr /usr/src/ofa_kernel/\n        # lrwxrwxrwx 1 root root   36 Dec  8 20:10 default -> /etc/alternatives/ofa_kernel_headers\n        # drwxr-xr-x 4 root root 4096 Dec  8 20:14 x86_64\n        # lrwxrwxrwx 1 root root   44 Dec  9 19:05 5.4.0-90-generic -> /usr/src/ofa_kernel/x86_64/5.4.0-90-generic/\n        if [[ -d \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" ]]; then\n            if [[ ! -e \"/usr/src/ofa_kernel/$(uname -r)\" ]]; then\n                ln -s \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" /usr/src/ofa_kernel/\n            fi\n        fi\n    fi\n\n    make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build nv-linux.o nv-modeset-linux.o > /dev/null\n\n    echo \"Relinking NVIDIA driver kernel modules...\"\n    rm -f nvidia.ko nvidia-modeset.ko\n    ld -d -r -o nvidia.ko ./nv-linux.o ./nvidia/nv-kernel.o_binary\n    ld -d -r -o nvidia-modeset.ko ./nv-modeset-linux.o ./nvidia-modeset/nv-modeset-kernel.o_binary\n\n    if [ -n \"${PRIVATE_KEY}\" ]; then\n        echo \"Signing NVIDIA driver kernel modules...\"\n        donkey get ${PRIVATE_KEY} sh -c \"PATH=${PATH}:/usr/src/linux-headers-${KERNEL_VERSION}/scripts && \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia.ko nvidia.ko.sign &&                          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-modeset.ko nvidia-modeset.ko.sign &&          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-uvm.ko\"\n        nvidia_sign_args=\"--linked-module nvidia.ko --signed-module nvidia.ko.sign\"\n        nvidia_modeset_sign_args=\"--linked-module nvidia-modeset.ko --signed-module nvidia-modeset.ko.sign\"\n        nvidia_uvm_sign_args=\"--signed\"\n    fi\n\n    echo \"Building NVIDIA driver package ${pkg_name}...\"\n    ../mkprecompiled --pack ${pkg_name} --description ${KERNEL_VERSION}                              \\\n                                        --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc       \\\n                                        --driver-version ${DRIVER_VERSION}                           \\\n                                        --kernel-interface nv-linux.o                                \\\n                                        --linked-module-name nvidia.ko                               \\\n                                        --core-object-name nvidia/nv-kernel.o_binary                 \\\n                                        ${nvidia_sign_args}                                          \\\n                                        --target-directory .                                         \\\n                                        --kernel-interface nv-modeset-linux.o                        \\\n                                        --linked-module-name nvidia-modeset.ko                       \\\n                                        --core-object-name nvidia-modeset/nv-modeset-kernel.o_binary \\\n                                        ${nvidia_modeset_sign_args}                                  \\\n                                        --target-directory .                                         \\\n                                        --kernel-module nvidia-uvm.ko                                \\\n                                        ${nvidia_uvm_sign_args}                                      \\\n                                        --target-directory .\n    mkdir -p precompiled\n    mv ${pkg_name} precompiled\n)\n\n_assert_nvswitch_system() {\n    [ -d /proc/driver/nvidia-nvswitch ] || return 1\n    entries=$(ls -1 /proc/driver/nvidia-nvswitch/devices/*)\n    if [ -z \"${entries}\" ]; then\n        return 1\n    fi\n    return 0\n}\n\n# For each kernel module configuration file mounted into the container,\n# parse the file contents and extract the custom module parameters that\n# are to be passed as input to 'modprobe'.\n#\n# Assumptions:\n# - Configuration files are named <module-name>.conf (i.e. nvidia.conf, nvidia-uvm.conf).\n# - Configuration files are mounted inside the container at /drivers.\n# - Each line in the file contains at least one parameter, where parameters on the same line\n#   are space delimited. It is up to the user to properly format the file to ensure\n#   the correct set of parameters are passed to 'modprobe'.\n_get_module_params() {\n    local base_path=\"/drivers\"\n    # nvidia\n    if [ -f \"${base_path}/nvidia.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia.conf\"\n       echo \"Module parameters provided for nvidia: ${NVIDIA_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-uvm\n    if [ -f \"${base_path}/nvidia-uvm.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_UVM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-uvm.conf\"\n       echo \"Module parameters provided for nvidia-uvm: ${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-modeset\n    if [ -f \"${base_path}/nvidia-modeset.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODESET_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-modeset.conf\"\n       echo \"Module parameters provided for nvidia-modeset: ${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-peermem\n    if [ -f \"${base_path}/nvidia-peermem.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_PEERMEM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-peermem.conf\"\n       echo \"Module parameters provided for nvidia-peermem: ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n    fi\n}\n\n# Load the kernel modules and start persistenced.\n_load_driver() {\n    echo \"Parsing kernel module parameters...\"\n    _get_module_params\n\n    local nv_fw_search_path=\"$RUN_DIR/driver/lib/firmware\"\n    local set_fw_path=\"true\"\n    local fw_path_config_file=\"/sys/module/firmware_class/parameters/path\"\n    for param in \"${NVIDIA_MODULE_PARAMS[@]}\"; do\n        if [[ \"$param\" == \"NVreg_EnableGpuFirmware=0\" ]]; then\n          set_fw_path=\"false\"\n        fi\n    done\n\n    if [[ \"$set_fw_path\" == \"true\" ]]; then\n        echo \"Configuring the following firmware search path in '$fw_path_config_file': $nv_fw_search_path\"\n        if [[ ! -z $(grep '[^[:space:]]' $fw_path_config_file) ]]; then\n            echo \"WARNING: A search path is already configured in $fw_path_config_file\"\n            echo \"         Retaining the current configuration\"\n        else\n            echo -n \"$nv_fw_search_path\" > $fw_path_config_file || echo \"WARNING: Failed to configure the firmware search path\"\n        fi\n    fi\n\n    echo \"Loading ipmi and i2c_core kernel modules...\"\n    modprobe -a i2c_core ipmi_msghandler ipmi_devintf\n\n    echo \"Loading NVIDIA driver kernel modules...\"\n    set -o xtrace +o nounset\n    modprobe nvidia \"${NVIDIA_MODULE_PARAMS[@]}\"\n    modprobe nvidia-uvm \"${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    modprobe nvidia-modeset \"${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    set +o xtrace -o nounset\n\n    if _gpu_direct_rdma_enabled; then\n        echo \"Loading NVIDIA Peer Memory kernel module...\"\n        set -o xtrace +o nounset\n        modprobe -a nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n        set +o xtrace -o nounset\n    fi\n\n    echo \"Starting NVIDIA persistence daemon...\"\n    nvidia-persistenced --persistence-mode\n\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        echo \"Copying gridd.conf...\"\n        cp /drivers/gridd.conf /etc/nvidia/gridd.conf\n        if [ \"${VGPU_LICENSE_SERVER_TYPE}\" = \"NLS\" ]; then\n            echo \"Copying ClientConfigToken...\"\n            mkdir -p  /etc/nvidia/ClientConfigToken/\n            cp /drivers/ClientConfigToken/* /etc/nvidia/ClientConfigToken/\n        fi\n\n        echo \"Starting nvidia-gridd..\"\n        LD_LIBRARY_PATH=/usr/lib64/nvidia/gridd nvidia-gridd\n\n        # Start virtual topology daemon\n        _start_vgpu_topology_daemon\n    fi\n\n    if _assert_nvswitch_system; then\n        echo \"Starting NVIDIA fabric manager daemon...\"\n        nv-fabricmanager -c /usr/share/nvidia/nvswitch/fabricmanager.cfg\n    fi\n}\n\n# Stop persistenced and unload the kernel modules if they are currently loaded.\n_unload_driver() {\n    local rmmod_args=()\n    local nvidia_deps=0\n    local nvidia_refs=0\n    local nvidia_uvm_refs=0\n    local nvidia_modeset_refs=0\n    local nvidia_peermem_refs=0\n\n    echo \"Stopping NVIDIA persistence daemon...\"\n    if [ -f /var/run/nvidia-persistenced/nvidia-persistenced.pid ]; then\n        local pid=$(< /var/run/nvidia-persistenced/nvidia-persistenced.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA persistence daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-gridd/nvidia-gridd.pid ]; then\n        echo \"Stopping NVIDIA grid daemon...\"\n        local pid=$(< /var/run/nvidia-gridd/nvidia-gridd.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 10); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 10 ]; then\n            echo \"Could not stop NVIDIA Grid daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-fabricmanager/nv-fabricmanager.pid ]; then\n        echo \"Stopping NVIDIA fabric manager daemon...\"\n        local pid=$(< /var/run/nvidia-fabricmanager/nv-fabricmanager.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA fabric manager daemon\" >&2\n            return 1\n        fi\n    fi\n\n    echo \"Unloading NVIDIA driver kernel modules...\"\n    if [ -f /sys/module/nvidia_modeset/refcnt ]; then\n        nvidia_modeset_refs=$(< /sys/module/nvidia_modeset/refcnt)\n        rmmod_args+=(\"nvidia-modeset\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia_uvm/refcnt ]; then\n        nvidia_uvm_refs=$(< /sys/module/nvidia_uvm/refcnt)\n        rmmod_args+=(\"nvidia-uvm\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia/refcnt ]; then\n        nvidia_refs=$(< /sys/module/nvidia/refcnt)\n        rmmod_args+=(\"nvidia\")\n    fi\n    if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n        nvidia_peermem_refs=$(< /sys/module/nvidia_peermem/refcnt)\n        rmmod_args+=(\"nvidia-peermem\")\n        ((++nvidia_deps))\n    fi\n    if [ ${nvidia_refs} -gt ${nvidia_deps} ] || [ ${nvidia_uvm_refs} -gt 0 ] || [ ${nvidia_modeset_refs} -gt 0 ] || [ ${nvidia_peermem_refs} -gt 0 ]; then\n        echo \"Could not unload NVIDIA driver kernel modules, driver is in use\" >&2\n        return 1\n    fi\n\n    if [ ${#rmmod_args[@]} -gt 0 ]; then\n        rmmod ${rmmod_args[@]}\n    fi\n    return 0\n}\n\n# Link and install the kernel modules from a precompiled package using the nvidia-installer.\n_install_driver() {\n    local install_args=()\n\n    echo \"Installing NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}\n    rm -rf /lib/modules/${KERNEL_VERSION}/video\n\n    if [ \"${ACCEPT_LICENSE}\" = \"yes\" ]; then\n        install_args+=(\"--accept-license\")\n    fi\n    IGNORE_CC_MISMATCH=1 nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check -m=${KERNEL_TYPE} ${install_args[@]+\"${install_args[@]}\"}\n    # May need to add no-cc-check for Rhel, otherwise it complains about cc missing in path\n    # /proc/version and lib/modules/KERNEL_VERSION/proc are different, by default installer looks at /proc/ so, added the proc-mount-point\n    # TODO: remove the -a flag. its not needed. in the new driver version, license-acceptance is implicit\n    #nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check --no-cc-version-check --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc ${install_args[@]+\"${install_args[@]}\"}\n}\n\n# Mount the driver rootfs into the run directory with the exception of sysfs.\n_mount_rootfs() {\n    echo \"Mounting NVIDIA driver rootfs...\"\n    mount --make-runbindable /sys\n    mount --make-private /sys\n    mkdir -p ${RUN_DIR}/driver\n    mount --rbind / ${RUN_DIR}/driver\n\n    echo \"Check SELinux status\"\n    if [ -e /sys/fs/selinux ]; then\n        echo \"SELinux is enabled\"\n        echo \"Change device files security context for selinux compatibility\"\n        chcon -R -t container_file_t ${RUN_DIR}/driver/dev\n    else\n        echo \"SELinux is disabled, skipping...\"\n    fi\n}\n\n# Unmount the driver rootfs from the run directory.\n_unmount_rootfs() {\n    echo \"Unmounting NVIDIA driver rootfs...\"\n    if findmnt -r -o TARGET | grep \"${RUN_DIR}/driver\" > /dev/null; then\n        umount -l -R ${RUN_DIR}/driver\n    fi\n}\n\n# Write a kernel postinst.d script to automatically precompile packages on kernel update (similar to DKMS).\n_write_kernel_update_hook() {\n    if [ ! -d ${KERNEL_UPDATE_HOOK%/*} ]; then\n        return\n    fi\n\n    echo \"Writing kernel update hook...\"\n    cat > ${KERNEL_UPDATE_HOOK} <<'EOF'\n#!/bin/bash\n\nset -eu\ntrap 'echo \"ERROR: Failed to update the NVIDIA driver\" >&2; exit 0' ERR\n\nNVIDIA_DRIVER_PID=$(< /run/nvidia/nvidia-driver.pid)\n\nexport \"$(grep -z DRIVER_VERSION /proc/${NVIDIA_DRIVER_PID}/environ)\"\nnsenter -t \"${NVIDIA_DRIVER_PID}\" -m -- nvidia-driver update --kernel \"$1\"\nEOF\n    chmod +x ${KERNEL_UPDATE_HOOK}\n}\n\n_shutdown() {\n    if _unload_driver; then\n        _unmount_rootfs\n        rm -f ${PID_FILE} ${KERNEL_UPDATE_HOOK}\n        return 0\n    fi\n    return 1\n}\n\n_find_vgpu_driver_version() {\n    local count=\"\"\n    local version=\"\"\n    local drivers_path=\"/drivers\"\n\n    if [ \"${DISABLE_VGPU_VERSION_CHECK}\" = \"true\" ]; then\n        echo \"vgpu version compatibility check is disabled\"\n        return 0\n    fi\n    # check if vgpu devices are present\n    count=$(vgpu-util count)\n    if [ $? -ne 0 ]; then\n         echo \"cannot find vgpu devices on host, pleae check /var/log/vgpu-util.log for more details...\"\n         return 0\n    fi\n    NUM_VGPU_DEVICES=$(echo \"$count\" | awk -F= '{print $2}')\n    if [ $NUM_VGPU_DEVICES -eq 0 ]; then\n        # no vgpu devices found, treat as passthrough\n        return 0\n    fi\n    echo \"found $NUM_VGPU_DEVICES vgpu devices on host\"\n\n    # find compatible guest driver using driver catalog\n    if [ -d \"/mnt/shared-nvidia-driver-toolkit/drivers\" ]; then\n        drivers_path=\"/mnt/shared-nvidia-driver-toolkit/drivers\"\n    fi\n    version=$(vgpu-util match -i \"${drivers_path}\" -c \"${drivers_path}/vgpuDriverCatalog.yaml\")\n    if [ $? -ne 0 ]; then\n        echo \"cannot find match for compatible vgpu driver from available list, please check /var/log/vgpu-util.log for more details...\"\n        return 1\n    fi\n    DRIVER_VERSION=$(echo \"$version\" | awk -F= '{print $2}')\n    echo \"vgpu driver version selected: ${DRIVER_VERSION}\"\n    return 0\n}\n\n_start_vgpu_topology_daemon() {\n    type nvidia-topologyd > /dev/null 2>&1 || return 0\n    echo \"Starting nvidia-topologyd..\"\n    nvidia-topologyd\n}\n\n_prepare() {\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        _find_vgpu_driver_version || exit 1\n    fi\n\n    # Install the userspace components and copy the kernel module sources.\n    sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n        cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n        sh /tmp/install.sh nvinstall && \\\n        mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n        mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n        sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n\n    echo -e \"\\n========== NVIDIA Software Installer ==========\\n\"\n    echo -e \"Starting installation of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n}\n\n_prepare_exclusive() {\n    _prepare\n\n    exec 3> ${PID_FILE}\n    if ! flock -n 3; then\n        echo \"An instance of the NVIDIA driver is already running, aborting\"\n        exit 1\n    fi\n    echo $$ >&3\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n    trap \"_shutdown\" EXIT\n\n    _unload_driver || exit 1\n    _unmount_rootfs\n}\n\n_build() {\n    # Install dependencies\n    if _kernel_requires_package; then\n        _update_package_cache\n        _install_prerequisites\n        _create_driver_package\n        #_remove_prerequisites\n        _cleanup_package_cache\n    fi\n\n    # Build the driver\n    _install_driver\n}\n\n_load() {\n    _load_driver\n    _mount_rootfs\n    _write_kernel_update_hook\n\n    echo \"Done, now waiting for signal\"\n    sleep infinity &\n    trap \"echo 'Caught signal'; _shutdown && { kill $!; exit 0; }\" HUP INT QUIT PIPE TERM\n    trap - EXIT\n    while true; do wait $! || continue; done\n    exit 0\n}\n\ninit() {\n    _prepare_exclusive\n\n    _build\n\n    _load\n}\n\nbuild() {\n    _prepare\n\n    _build\n}\n\nload() {\n    _prepare_exclusive\n\n    _load\n}\n\nupdate() {\n    exec 3>&2\n    if exec 2> /dev/null 4< ${PID_FILE}; then\n        if ! flock -n 4 && read pid <&4 && kill -0 \"${pid}\"; then\n            exec > >(tee -a \"/proc/${pid}/fd/1\")\n            exec 2> >(tee -a \"/proc/${pid}/fd/2\" >&3)\n        else\n            exec 2>&3\n        fi\n        exec 4>&-\n    fi\n    exec 3>&-\n\n    # vgpu driver version is chosen dynamically during runtime, so pre-compile modules for\n    # only non-vgpu driver types\n    if [ \"${DRIVER_TYPE}\" != \"vgpu\" ]; then\n        # Install the userspace components and copy the kernel module sources.\n        if [ ! -e /usr/src/nvidia-${DRIVER_VERSION}/mkprecompiled ]; then\n            sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n                cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n                sh /tmp/install.sh nvinstall && \\\n                mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n                mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n                sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n        fi\n    fi\n\n    echo -e \"\\n========== NVIDIA Software Updater ==========\\n\"\n    echo -e \"Starting update of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n\n    _update_package_cache\n    _resolve_kernel_version || exit 1\n    _install_prerequisites\n    if _kernel_requires_package; then\n        _create_driver_package\n    fi\n    _remove_prerequisites\n    _cleanup_package_cache\n\n    echo \"Done\"\n    exit 0\n}\n\n# Wait for MOFED drivers to be loaded and load nvidia-peermem whenever it gets unloaded during MOFED driver updates\nreload_nvidia_peermem() {\n    if [ \"$USE_HOST_MOFED\" = \"true\" ]; then\n        until  lsmod | grep mlx5_core > /dev/null 2>&1 && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    else\n        # use driver readiness flag created by MOFED container\n        until  [ -f /run/mellanox/drivers/.driver-ready ] && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    fi\n    # get any parameters provided for nvidia-peermem\n    _get_module_params && set +o nounset\n    if chroot /run/nvidia/driver modprobe nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"; then\n        if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"successfully loaded nvidia-peermem module, now waiting for signal\"\n            sleep inf\n            trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n        fi\n    fi\n    echo \"failed to load nvidia-peermem module\"\n    exit 1\n}\n\n# probe by gpu-operator for liveness/startup checks for nvidia-peermem module to be loaded when MOFED drivers are ready\nprobe_nvidia_peermem() {\n    if lsmod | grep mlx5_core > /dev/null 2>&1; then\n        if [ ! -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"nvidia-peermem module is not loaded\"\n            return 1\n        fi\n    else\n        echo \"MOFED drivers are not ready, skipping probe to avoid container restarts...\"\n    fi\n    return 0\n}\n\nusage() {\n    cat >&2 <<EOF\nUsage: $0 COMMAND [ARG...]\n\nCommands:\n  init   [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  build  [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  load\n  update [-k | --kernel VERSION] [-s | --sign KEYID] [-t | --tag TAG] [-m | --max-threads MAX_THREADS]\nEOF\n    exit 1\n}\n\nif [ $# -eq 0 ]; then\n    usage\nfi\ncommand=$1; shift\ncase \"${command}\" in\n    init) options=$(getopt -l accept-license,max-threads: -o am: -- \"$@\") ;;\n    build) options=$(getopt -l accept-license,tag:,max-threads: -o a:t:m: -- \"$@\") ;;\n    load) options=\"\" ;;\n    update) options=$(getopt -l kernel:,sign:,tag:,max-threads: -o k:s:t:m: -- \"$@\") ;;\n    reload_nvidia_peermem) options=\"\" ;;\n    probe_nvidia_peermem) options=\"\" ;;\n    *) usage ;;\nesac\nif [ $? -ne 0 ]; then\n    usage\nfi\neval set -- \"${options}\"\n\nACCEPT_LICENSE=\"\"\nMAX_THREADS=\"\"\nKERNEL_VERSION=$(uname -r)\nPRIVATE_KEY=\"\"\nPACKAGE_TAG=\"\"\n\nfor opt in ${options}; do\n    case \"$opt\" in\n    -a | --accept-license) ACCEPT_LICENSE=\"yes\"; shift 1 ;;\n    -k | --kernel) KERNEL_VERSION=$2; shift 2 ;;\n    -m | --max-threads) MAX_THREADS=$2; shift 2 ;;\n    -s | --sign) PRIVATE_KEY=$2; shift 2 ;;\n    -t | --tag) PACKAGE_TAG=$2; shift 2 ;;\n    --) shift; break ;;\n    esac\ndone\nif [ $# -ne 0 ]; then\n    usage\nfi\n\n_resolve_rhel_version || exit 1\n\n$command\n

                \u4f7f\u7528\u5b98\u65b9\u7684\u955c\u50cf\u6765\u4e8c\u6b21\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\uff0c\u5982\u4e0b\u662f\u4e00\u4e2a Dockerfile \u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                FROM nvcr.io/nvidia/driver:535.183.06-rhel9.2\nCOPY nvidia-driver /usr/local/bin\nRUN chmod +x /usr/local/bin/nvidia-driver\nCMD [\"/bin/bash\", \"-c\"]\n

                \u6784\u5efa\u547d\u4ee4\u5e76\u63a8\u9001\u5230\u706b\u79cd\u96c6\u7fa4\uff1a

                docker build -t {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2 -f Dockerfile .\ndocker push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2\n
                "},{"location":"admin/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                1. \u5b89\u88c5 gpu-operator addon
                2. \u8bbe\u7f6e driver.version=535.183.06-01
                "},{"location":"admin/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html","title":"Ubuntu22.04 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                "},{"location":"admin/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_1","title":"\u51c6\u5907\u79bb\u7ebf\u955c\u50cf","text":"
                1. \u67e5\u770b\u5185\u6838\u7248\u672c

                  $ uname -r\n5.15.0-78-generic\n
                2. \u67e5\u770b\u5185\u6838\u5bf9\u5e94\u7684 GPU Driver \u955c\u50cf\u7248\u672c\uff0c https://catalog.ngc.nvidia.com/orgs/nvidia/containers/driver/tags\u3002 \u4f7f\u7528\u5185\u6838\u67e5\u8be2\u955c\u50cf\u7248\u672c\uff0c\u901a\u8fc7 ctr export \u4fdd\u5b58\u955c\u50cf\u3002

                  ctr i pull nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i export --all-platforms driver.tar.gz nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 \n
                3. \u628a\u955c\u50cf\u5bfc\u5165\u5230\u706b\u79cd\u96c6\u7fa4\u7684\u955c\u50cf\u4ed3\u5e93\u4e2d

                  ctr i import driver.tar.gz\nctr i tag nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 --skip-verify=true\n
                "},{"location":"admin/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                1. \u5b89\u88c5 gpu-operator addon
                2. \u82e5\u4f7f\u7528\u9884\u7f16\u8bd1\u6a21\u5f0f\uff0c\u5219\u8bbe\u7f6e driver.usePrecompiled=true,\u5e76\u8bbe\u7f6e driver.version=535\uff0c\u8fd9\u91cc\u8981\u6ce8\u610f\uff0c\u5199\u7684\u662f 535\uff0c\u4e0d\u662f 535.104.12\u3002\uff08\u975e\u9884\u7f16\u8bd1\u6a21\u5f0f\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u5b89\u88c5\u5373\u53ef\uff09
                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html","title":"\u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                \u5f53\u5de5\u4f5c\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u5185\u6838\u7248\u672c\u6216 OS \u7c7b\u578b\u4e0d\u4e00\u81f4\u65f6\uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa\u79bb\u7ebf yum \u6e90\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u672c\u6587\u4ee5\u5185\u6838\u7248\u672c\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684 CentOS 7.9 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa GPU operator \u79bb\u7ebf\u5305\u7684 yum \u6e90\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#os","title":"\u68c0\u67e5\u96c6\u7fa4\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c","text":"

                \u5206\u522b\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c\u4e00\u81f4\u5219\u65e0\u9700\u6784\u5efa yum \u6e90\uff0c \u53ef\u53c2\u8003\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u6587\u6863\u76f4\u63a5\u5b89\u88c5\uff1b\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u6216\u5185\u6838\u7248\u672c\u4e0d\u4e00\u81f4\uff0c\u8bf7\u6267\u884c\u4e0b\u4e00\u6b65\u3002

                1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u53d1\u884c\u7248\u540d\u79f0\u548c\u7248\u672c\u53f7\u3002

                  cat /etc/redhat-release\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  CentOS Linux release 7.9 (Core)\n

                  \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c CentOS 7.9 \u3002

                2. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u3002

                  uname -a\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Linux localhost.localdomain 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux\n

                  \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c 3.10.0-1160.el7.x86_64\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum","title":"\u5236\u4f5c\u79bb\u7ebf yum \u6e90","text":"

                \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                1. \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a yum.sh \u7684\u811a\u672c\u6587\u4ef6\u3002

                  vi yum.sh\n

                  \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

                  export TARGET_KERNEL_VERSION=$1\n\ncat >> run.sh << \\EOF\n#! /bin/bash\necho \"start install kernel repo\"\necho ${KERNEL_VERSION}\nmkdir centos-base\n\nif [ \"$OS\" -eq 7 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el7.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelif [ \"$OS\" -eq 8 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el8.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelse\n    echo \"Error os version\"\nfi\n\ncreaterepo centos-base/\nls -lh centos-base/\ntar -zcf centos-base.tar.gz centos-base/\necho \"end install kernel repo\"\nEOF\n\ncat >> Dockerfile << EOF\nFROM centos:7\nENV KERNEL_VERSION=\"\"\nENV OS=7\nRUN yum install -y createrepo\nCOPY run.sh .\nENTRYPOINT [\"/bin/bash\",\"run.sh\"]\nEOF\n\ndocker build -t test:v1 -f Dockerfile .\ndocker run -e KERNEL_VERSION=$TARGET_KERNEL_VERSION --name centos7.9 test:v1\ndocker cp centos7.9:/centos-base.tar.gz .\ntar -xzf centos-base.tar.gz\n

                  \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

                2. \u8fd0\u884c yum.sh \u6587\u4ef6\uff1a

                  bash -x yum.sh TARGET_KERNEL_VERSION\n

                  TARGET_KERNEL_VERSION \u53c2\u6570\u7528\u4e8e\u6307\u5b9a\u96c6\u7fa4\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\uff0c\u6ce8\u610f\uff1a\u53d1\u884c\u7248\u6807\u8bc6\u7b26\uff08\u5982 __ .el7.x86_64 __ \uff09\u65e0\u9700\u8f93\u5165\u3002 \u4f8b\u5982\uff1a

                  bash -x yum.sh 3.10.0-1160.95.1\n

                \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a centos-base \u3002

                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_1","title":"\u4e0a\u4f20\u79bb\u7ebf yum \u6e90\u5230\u6587\u4ef6\u670d\u52a1\u5668","text":"

                \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002\u4e3b\u8981\u7528\u4e8e\u5c06\u4e0a\u4e00\u6b65\u4e2d\u751f\u6210\u7684 yum \u6e90\u4e0a\u4f20\u5230\u53ef\u4ee5\u88ab\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8fdb\u884c\u8bbf\u95ee\u7684\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\u3002 \u6587\u4ef6\u670d\u52a1\u5668\u53ef\u4ee5\u4e3a Nginx \u3001 Minio \u6216\u5176\u5b83\u652f\u6301 Http \u534f\u8bae\u7684\u6587\u4ef6\u670d\u52a1\u5668\u3002

                \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0cMinio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                  mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Added `minio` successfully.\n

                  mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a centos-base \u7684\u5b58\u50a8\u6876\uff08bucket\uff09\u3002

                  mc mb -p minio/centos-base\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Bucket created successfully __minio/centos-base__ .\n
                • \u5c06\u5b58\u50a8\u6876 centos-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                  mc anonymous set download minio/centos-base\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Access permission for `minio/centos-base` is set to `download` \n
                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 centos-base \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/centos-base \u5b58\u50a8\u6876\u4e2d\u3002

                  mc cp centos-base minio/centos-base --recursive\n
                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_2","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                  # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                  kubectl create configmap local-repo-config  -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  configmap/local-repo-config created\n

                  local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                  kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  apiVersion: v1\ndata:\nCentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base#\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n    = http://10.6.232.5:32618/centos-base #\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname\n    = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\ncreationTimestamp: \"2023-10-18T01:59:02Z\"\nname: local-repo-config\nnamespace: gpu-operator\nresourceVersion: \"59445080\"\nuid: c5f0ebab-046f-442c-b932-f9003e014387\n

                \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html","title":"\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90","text":"

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                2. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 8.4\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4\u3002
                3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                4. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                5. \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 8.4 4.18.0-305.el8.x86_64\u3002
                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u672c\u6587\u4ee5 Red Hat 8.4 4.18.0-305.el8.x86_64 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum","title":"\u4e0b\u8f7d\u706b\u79cd\u8282\u70b9\u4e2d\u7684 yum \u6e90","text":"

                \u4ee5\u4e0b\u64cd\u4f5c\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                1. \u4f7f\u7528 ssh \u6216\u5176\u5b83\u65b9\u5f0f\u8fdb\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5185\u4efb\u4e00\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                  cat /etc/yum.repos.d/extension.repo #\u67e5\u770b extension.repo \u4e2d\u7684\u5185\u5bb9\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  [extension-0]\nbaseurl = http://10.5.14.200:9000/kubean/redhat/$releasever/os/$basearch\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/AppStream\ngpgcheck = 0\nname = kubean extension 1\n\n[extension-2]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/BaseOS\ngpgcheck = 0\nname = kubean extension 2\n
                2. \u5728 root \u8def\u5f84\u4e0b\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base-repo \u7684\u6587\u4ef6\u5939

                  mkdir redhat-base-repo\n
                3. \u4e0b\u8f7d yum \u6e90\u4e2d\u7684 rpm \u5305\u5230\u672c\u5730\uff1a

                  yum install yum-utils\n
                4. \u4e0b\u8f7d extension-1 \u4e2d\u7684 rpm \u5305\uff1a

                  reposync  -p redhat-base-repo  -n --repoid=extension-1\n
                5. \u4e0b\u8f7d extension-2 \u4e2d\u7684 rpm \u5305\uff1a

                  reposync  -p redhat-base-repo  -n --repoid=extension-2\n
                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#elfutils-libelf-devel-0187-4el8x86_64rpm","title":"\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305","text":"

                \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u64cd\u4f5c\uff0c\u5728\u64cd\u4f5c\u524d\uff0c\u60a8\u9700\u8981\u4fdd\u8bc1\u8054\u7f51\u8282\u70b9\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 master \u8282\u70b9\u95f4\u7684\u7f51\u7edc\u8054\u901a\u6027\u3002

                1. \u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\uff1a

                  wget https://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/elfutils-libelf-devel-0.187-4.el8.x86_64.rpm\n
                2. \u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u5c06 elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\u4f20\u8f93\u81f3\u6b65\u9aa4\u4e00\u4e2d\u7684\u8282\u70b9\u4e0a\uff1a

                  scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm user@ip:~/redhat-base-repo/extension-2/Packages/\n

                  \u4f8b\u5982\uff1a

                  scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm root@10.6.175.10:~/redhat-base-repo/extension-2/Packages/\n
                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo","title":"\u751f\u6210\u672c\u5730 yum repo","text":"

                \u4ee5\u4e0b\u64cd\u4f5c\u5728\u6b65\u9aa4\u4e00\u4e2d\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                1. \u8fdb\u5165 yum repo \u76ee\u5f55\uff1a

                  cd ~/redhat-base-repo/extension-1/Packages\ncd ~/redhat-base-repo/extension-2/Packages\n
                2. \u751f\u6210\u76ee\u5f55 repo \u7d22\u5f15\uff1a

                  yum install createrepo -y  # \u82e5\u5df2\u5b89\u88c5 createrepo \u53ef\u7701\u7565\u6b64\u6b65\u9aa4\ncreaterepo_c ./\n

                \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 4.18.0-305.el8.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a redhat-base-repo \u3002

                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo_1","title":"\u5c06\u672c\u5730\u751f\u6210\u7684 yum repo \u4e0a\u4f20\u81f3\u6587\u4ef6\u670d\u52a1\u5668","text":"

                \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u7528\u6237\u53ef\u57fa\u4e8e\u81ea\u8eab\u60c5\u51b5\u9009\u62e9\u6587\u4ef6\u670d\u52a1\u5668\u3002Minio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                  mc config host add minio \u6587\u4ef6\u670d\u52a1\u5668\u8bbf\u95ee\u5730\u5740 \u7528\u6237\u540d \u5bc6\u7801\n

                  \u4f8b\u5982\uff1a

                  mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Added `minio` successfully.\n

                  mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base \u7684\u5b58\u50a8\u6876(bucket)\u3002

                  mc mb -p minio/redhat-base\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Bucket created successfully `minio/redhat-base`.\n
                • \u5c06\u5b58\u50a8\u6876 redhat-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                  mc anonymous set download minio/redhat-base\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  Access permission for `minio/redhat-base` is set to `download` \n
                • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 redhat-base-repo \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/redhat-base \u5b58\u50a8\u6876\u4e2d\u3002

                  mc cp redhat-base-repo minio/redhat-base --recursive\n
                "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum_1","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                \u672c\u6b65\u9aa4\u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a redhat.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                  # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a redhat.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > redhat.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                2. \u57fa\u4e8e\u521b\u5efa\u7684 redhat.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                  kubectl create configmap local-repo-config  -n gpu-operator --from-file=./redhat.repo \n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  configmap/local-repo-config created\n

                  local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                  kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html","title":"\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU Operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\u4f7f\u7528 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                1. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 7.9\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4
                2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u4e0e\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio
                3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5
                4. \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 7.9
                "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#1-yum","title":"1. \u6784\u5efa\u76f8\u5173\u5185\u6838\u7248\u672c\u7684\u79bb\u7ebf Yum \u6e90","text":"
                1. \u4e0b\u8f7d rhel7.9 ISO

                2. \u4e0b\u8f7d\u4e0e Kubean \u7248\u672c\u5bf9\u5e94\u7684\u7684 rhel7.9 ospackage

                  \u5728 \u5bb9\u5668\u7ba1\u7406 \u7684\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u627e\u5230 Helm \u5e94\u7528 \uff0c\u641c\u7d22 kubean\uff0c\u53ef\u67e5\u770b kubean \u7684\u7248\u672c\u53f7\u3002

                  \u5728 kubean\u7684\u4ee3\u7801\u4ed3\u5e93 \u4e2d\u4e0b\u8f7d\u8be5\u7248\u672c\u7684 rhel7.9 ospackage\u3002

                3. \u901a\u8fc7\u5b89\u88c5\u5668\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90

                  \u53c2\u8003\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90\u6587\u6863\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#2-red-hat-79-os","title":"2. \u4e0b\u8f7d Red Hat 7.9 OS \u7684\u79bb\u7ebf\u9a71\u52a8\u955c\u50cf","text":"

                \u70b9\u51fb\u67e5\u770b\u4e0b\u8f7d\u5730\u5740\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#3-red-hat-gpu-opreator","title":"3. \u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                \u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u3002

                Note

                \u6b64\u53c2\u8003\u4ee5 rhel8.4 \u4e3a\u4f8b\uff0c\u8bf7\u6ce8\u610f\u4fee\u6539\u6210 rhel7.9\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#4-yum","title":"4. \u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 Yum \u6e90\u4fe1\u606f","text":"

                \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002

                1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                  # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo <<  EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                  kubectl create configmap local-repo-config -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  configmap/local-repo-config created\n

                  local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                  kubectl get configmap local-repo-config -n gpu-operator -oyaml\n

                  \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                  local-repo-config.yaml
                  apiVersion: v1\ndata:\n  CentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n  = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname\n  = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\n  creationTimestamp: \"2023-10-18T01:59:02Z\"\n  name: local-repo-config\n  namespace: gpu-operator\n  resourceVersion: \"59445080\"\n  uid: c5f0ebab-046f-442c-b932-f9003e014387\n

                \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u5176\u4e2d\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u4f7f\u7528\u4e86 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html","title":"GPU \u544a\u8b66\u89c4\u5219","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8bbe\u7f6e GPU \u76f8\u5173\u7684\u544a\u8b66\u89c4\u5219\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907
                • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6
                • \u5982\u679c\u7528\u5230\u4e86 vGPU \u8fd8\u9700\u8981\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5 Nvidia-vgpu \u7ec4\u4ef6\uff0c\u5e76\u4e14\u5f00\u542f servicemonitor
                • \u96c6\u7fa4\u6b63\u786e\u5b89\u88c5\u4e86 insight-agent \u7ec4\u4ef6
                "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_1","title":"\u544a\u8b66\u5e38\u7528 GPU \u6307\u6807","text":"

                \u672c\u8282\u4ecb\u7ecd GPU \u544a\u8b66\u5e38\u7528\u7684\u6307\u6807\uff0c\u5206\u4e3a\u4e24\u4e2a\u90e8\u5206\uff1a

                • GPU \u5361\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94\u5355\u4e2a GPU \u8bbe\u5907\u7684\u8fd0\u884c\u72b6\u6001\u3002
                • \u5e94\u7528\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94 Pod \u5728 GPU \u4e0a\u7684\u8fd0\u884c\u72b6\u6001\u3002
                "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_2","title":"GPU \u5361\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e DCGM_FI_DEV_GPU_UTIL % GPU \u5229\u7528\u7387 DCGM_FI_DEV_MEM_COPY_UTIL % \u663e\u5b58\u5229\u7528\u7387 DCGM_FI_DEV_ENC_UTIL % \u7f16\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_DEC_UTIL % \u89e3\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_FB_FREE MB \u8868\u793a\u663e\u5b58\u5269\u4f59\u91cf DCGM_FI_DEV_FB_USED MB \u8868\u793a\u663e\u5b58\u4f7f\u7528\u91cf DCGM_FI_DEV_GPU_TEMP \u6444\u6c0f\u5ea6 \u8868\u793a\u5f53\u524d GPU \u7684\u6e29\u5ea6\u5ea6\u6570 DCGM_FI_DEV_POWER_USAGE W \u8bbe\u5907\u7535\u6e90\u4f7f\u7528\u60c5\u51b5 DCGM_FI_DEV_XID_ERRORS - \u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\uff0c\u6700\u540e\u53d1\u751f\u7684 XID \u9519\u8bef\u53f7\u3002XID \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\uff0c\u66f4\u591a XID \u4fe1\u606f"},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_2","title":"\u5e94\u7528\u7ef4\u5ea6\u7684\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e kpanda_gpu_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u7684\u4f7f\u7528\u7387 kpanda_gpu_mem_pod_usage MB \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u91cf kpanda_gpu_mem_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u7387"},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_3","title":"\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219","text":"

                \u8fd9\u91cc\u4f1a\u4ecb\u7ecd\u5982\u4f55\u8bbe\u7f6e GPU \u544a\u8b66\u89c4\u5219\uff0c\u4f7f\u7528 GPU \u5361\u5229\u7528\u7387\u6307\u6807\u4f5c\u4e3a\u6848\u4f8b\uff0c\u8bf7\u7528\u6237\u6839\u636e\u5b9e\u9645\u7684\u4e1a\u52a1\u573a\u666f\u9009\u62e9\u6307\u6807\u4ee5\u53ca\u7f16\u5199 promql\u3002

                \u76ee\u6807\uff1a\u5f53GPU\u5361\u5229\u7528\u7387\u5728\u4e94\u79d2\u949f\u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\u65f6\u53d1\u51fa\u544a\u8b66

                1. \u5728\u53ef\u89c2\u6d4b\u9875\u9762\uff0c\u70b9\u51fb \u544a\u8b66 -> \u544a\u8b66\u7b56\u7565 -> \u521b\u5efa\u544a\u8b66\u7b56\u7565

                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f

                3. \u6dfb\u52a0\u89c4\u5219

                4. \u9009\u62e9\u901a\u77e5\u65b9\u5f0f

                5. \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5f53\u4e00\u4e2a GPU \u5728 5s \u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\uff0c\u4f1a\u6536\u5230\u5982\u4e0b\u7684\u544a\u8b66\u4fe1\u606f\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html","title":"GPU \u76d1\u63a7\u6307\u6807","text":"

                \u672c\u9875\u5217\u51fa\u4e00\u4e9b\u5e38\u7528\u7684 GPU \u76d1\u63a7\u6307\u6807\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_1","title":"\u96c6\u7fa4\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u5361\u6570 \u96c6\u7fa4\u4e0b\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u5e73\u5747\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u7b97\u529b\u4f7f\u7528\u7387 GPU \u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u5e26\u5bbd\u4f7f\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u3002\u4ee5 Nvidia GPU V100 \u4e3a\u4f8b\uff0c\u5176\u6700\u5927\u5185\u5b58\u5e26\u5bbd\u4e3a 900 GB/sec\uff0c\u5982\u679c\u5f53\u524d\u7684\u5185\u5b58\u5e26\u5bbd\u4e3a 450 GB/sec\uff0c\u5219\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u4e3a 50%"},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_2","title":"\u8282\u70b9\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u6a21\u5f0f \u8282\u70b9\u4e0a GPU \u5361\u7684\u4f7f\u7528\u6a21\u5f0f\uff0c\u5305\u542b\u6574\u5361\u6a21\u5f0f\u3001MIG \u6a21\u5f0f\u3001vGPU \u6a21\u5f0f GPU \u7269\u7406\u5361\u6570 \u8282\u70b9\u4e0a\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u865a\u62df\u5361\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 vGPU \u8bbe\u5907\u6570\u91cf GPU MIG \u5b9e\u4f8b\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 MIG \u5b9e\u4f8b\u6570 GPU \u663e\u5b58\u5206\u914d\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u7387 GPU \u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 GPU \u663e\u5b58\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u9a71\u52a8\u7248\u672c \u8282\u70b9\u4e0a GPU \u5361\u9a71\u52a8\u7684\u7248\u672c\u4fe1\u606f GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09

                \u6839\u636e XID \u72b6\u6001\u6392\u67e5 GPU \u76f8\u5173\u95ee\u9898

                XID \u6d88\u606f\u662f NVIDIA \u9a71\u52a8\u7a0b\u5e8f\u5411\u64cd\u4f5c\u7cfb\u7edf\u7684\u5185\u6838\u65e5\u5fd7\u6216\u4e8b\u4ef6\u65e5\u5fd7\u6253\u5370\u7684\u9519\u8bef\u62a5\u544a\u3002XID \u6d88\u606f\u7528\u4e8e\u6807\u8bc6 GPU \u9519\u8bef\u4e8b\u4ef6\uff0c \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\u3002 \u5982\u68c0\u67e5\u9879 GPU \u8282\u70b9\u4e0a\u7684 XID \u5f02\u5e38\u4e3a\u7a7a\uff0c\u8868\u660e\u65e0 XID \u6d88\u606f\uff1b\u5982\u6709\uff0c\u60a8\u53ef\u6309\u7167\u4e0b\u8868\u81ea\u52a9\u6392\u67e5\u5e76\u89e3\u51b3\u95ee\u9898\uff0c \u6216\u67e5\u770b\u66f4\u591a XID \u6d88\u606f\u3002

                XID \u6d88\u606f \u8bf4\u660e 13 Graphics Engine Exception. \u901a\u5e38\u662f\u6570\u7ec4\u8d8a\u754c\u3001\u6307\u4ee4\u9519\u8bef\uff0c\u5c0f\u6982\u7387\u662f\u786c\u4ef6\u95ee\u9898\u3002 31 GPU memory page fault. \u901a\u5e38\u662f\u5e94\u7528\u7a0b\u5e8f\u7684\u975e\u6cd5\u5730\u5740\u8bbf\u95ee\uff0c\u6781\u5c0f\u6982\u7387\u662f\u9a71\u52a8\u6216\u8005\u786c\u4ef6\u95ee\u9898\u3002 32 Invalid or corrupted push buffer stream. \u4e8b\u4ef6\u7531 PCIE \u603b\u7ebf\u4e0a\u7ba1\u7406 NVIDIA \u9a71\u52a8\u548c GPU \u4e4b\u95f4\u901a\u4fe1\u7684 DMA \u63a7\u5236\u5668\u4e0a\u62a5\uff0c\u901a\u5e38\u662f PCI \u8d28\u91cf\u95ee\u9898\u5bfc\u81f4\uff0c\u800c\u975e\u60a8\u7684\u7a0b\u5e8f\u4ea7\u751f\u3002 38 Driver firmware error. \u901a\u5e38\u662f\u9a71\u52a8\u56fa\u4ef6\u9519\u8bef\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 43 GPU stopped processing. \u901a\u5e38\u662f\u60a8\u5e94\u7528\u81ea\u8eab\u9519\u8bef\uff0c\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 45 Preemptive cleanup, due to previous errors -- Most likely to see when running multiple cuda applications and hitting a DBE. \u901a\u5e38\u662f\u60a8\u624b\u52a8\u9000\u51fa\u6216\u8005\u5176\u4ed6\u6545\u969c\uff08\u786c\u4ef6\u3001\u8d44\u6e90\u9650\u5236\u7b49\uff09\u5bfc\u81f4\u7684 GPU \u5e94\u7528\u9000\u51fa\uff0cXID 45 \u53ea\u63d0\u4f9b\u4e00\u4e2a\u7ed3\u679c\uff0c\u5177\u4f53\u539f\u56e0\u901a\u5e38\u9700\u8981\u8fdb\u4e00\u6b65\u5206\u6790\u65e5\u5fd7\u3002 48 Double Bit ECC Error (DBE). \u5f53 GPU \u53d1\u751f\u4e0d\u53ef\u7ea0\u6b63\u7684\u9519\u8bef\u65f6\uff0c\u4f1a\u4e0a\u62a5\u6b64\u4e8b\u4ef6\uff0c\u8be5\u9519\u8bef\u4e5f\u4f1a\u540c\u65f6\u53cd\u9988\u7ed9\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u901a\u5e38\u9700\u8981\u91cd\u7f6e GPU \u6216\u91cd\u542f\u8282\u70b9\u6765\u6e05\u9664\u8fd9\u4e2a\u9519\u8bef\u3002 61 Internal micro-controller breakpoint/warning. GPU \u5185\u90e8\u5f15\u64ce\u505c\u6b62\u5de5\u4f5c\uff0c\u60a8\u7684\u4e1a\u52a1\u5df2\u7ecf\u53d7\u5230\u5f71\u54cd\u3002 62 Internal micro-controller halt. \u4e0e XID 61 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002 63 ECC page retirement or row remapping recording event. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u663e\u5b58\u786c\u4ef6\u9519\u8bef\u65f6\uff0cNVIDIA \u81ea\u7ea0\u9519\u673a\u5236\u4f1a\u5c06\u9519\u8bef\u7684\u5185\u5b58\u533a\u57df retire \u6216\u8005 remap\uff0cretirement \u548c remapped \u4fe1\u606f\u9700\u8bb0\u5f55\u5230 infoROM \u4e2d\u624d\u80fd\u6c38\u4e45\u751f\u6548\u3002Volt \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 ECC page retirement \u4e8b\u4ef6\u5230 infoROM\u3002Ampere \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 row remapping \u4e8b\u4ef6\u5230 infoROM\u3002 64 ECC page retirement or row remapper recording failure. \u4e0e XID 63 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 63 \u4ee3\u8868 retirement \u548c remapped \u4fe1\u606f\u6210\u529f\u8bb0\u5f55\u5230\u4e86 infoROM\uff0cXID 64 \u4ee3\u8868\u8be5\u8bb0\u5f55\u64cd\u4f5c\u5931\u8d25\u3002 68 NVDEC0 Exception. \u901a\u5e38\u662f\u786c\u4ef6\u6216\u9a71\u52a8\u95ee\u9898\u3002 74 NVLINK Error. NVLink \u786c\u4ef6\u9519\u8bef\u4ea7\u751f\u7684 XID\uff0c\u8868\u660e GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 79 GPU has fallen off the bus. GPU \u786c\u4ef6\u68c0\u6d4b\u5230\u6389\u5361\uff0c\u603b\u7ebf\u4e0a\u65e0\u6cd5\u68c0\u6d4b\u8be5 GPU\uff0c\u8868\u660e\u8be5 GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 92 High single-bit ECC error rate. \u786c\u4ef6\u6216\u9a71\u52a8\u6545\u969c\u3002 94 Contained ECC error. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u4e0d\u53ef\u7ea0\u6b63\u7684\u663e\u5b58 ECC \u9519\u8bef\u65f6\uff0cNVIDIA \u9519\u8bef\u6291\u5236\u673a\u5236\u4f1a\u5c1d\u8bd5\u5c06\u9519\u8bef\u6291\u5236\u5728\u53d1\u751f\u786c\u4ef6\u6545\u969c\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u907f\u514d\u8be5\u9519\u8bef\u5f71\u54cd GPU \u8282\u70b9\u4e0a\u8fd0\u884c\u7684\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002\u5f53\u6291\u5236\u673a\u5236\u6210\u529f\u6291\u5236\u9519\u8bef\u65f6\uff0c\u4f1a\u4ea7\u751f\u8be5\u4e8b\u4ef6\uff0c\u4ec5\u51fa\u73b0\u4e0d\u53ef\u7ea0\u6b63 ECC \u9519\u8bef\u7684\u5e94\u7528\u7a0b\u5e8f\u53d7\u5230\u5f71\u54cd\u3002 95 Uncontained ECC error. \u4e0e XID 94 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 94 \u4ee3\u8868\u6291\u5236\u6210\u529f\uff0c\u800c XID 95 \u4ee3\u8868\u6291\u5236\u5931\u8d25\uff0c\u8868\u660e\u8fd0\u884c\u5728\u8be5 GPU \u4e0a\u7684\u6240\u6709\u5e94\u7528\u7a0b\u5e8f\u90fd\u5df2\u53d7\u5230\u5f71\u54cd\u3002"},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#pod","title":"Pod \u7ef4\u5ea6","text":"\u5206\u7c7b \u6307\u6807\u540d\u79f0 \u63cf\u8ff0 \u5e94\u7528\u6982\u89c8 GPU \u5361 - \u7b97\u529b & \u663e\u5b58 Pod GPU \u7b97\u529b\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387 Pod GPU \u663e\u5b58\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u7387 Pod \u663e\u5b58\u4f7f\u7528\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf \u663e\u5b58\u5206\u914d\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u91cf Pod GPU \u663e\u5b58\u590d\u5236\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u663e\u5b58\u590d\u5236\u6bd4\u7387 GPU \u5361 - \u5f15\u64ce\u6982\u89c8 GPU \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8\u767e\u5206\u6bd4 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cGraphics \u6216 Compute \u5f15\u64ce\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\uff08Memory BW Utilization\uff09\u5c06\u6570\u636e\u53d1\u9001\u5230\u8bbe\u5907\u5185\u5b58\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8f83\u9ad8\u7684\u503c\u8868\u793a\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8f83\u9ad8\u3002\u8be5\u503c\u4e3a 1\uff08100%\uff09\u8868\u793a\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u5047\u8bbe\u8be5\u503c\u4e3a 0.2\uff0820%\uff09\uff0c\u8868\u793a 20% \u7684\u5468\u671f\u5728\u65f6\u95f4\u95f4\u9694\u5185\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 Tensor \u6838\u5fc3\u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cTensor Core \u7ba1\u9053\uff08Pipe\uff09\u5904\u4e8e Active \u65f6\u95f4\u5360\u603b\u65f6\u95f4\u7684\u6bd4\u4f8b FP16 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP16 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP32 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP32 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP64 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP64 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u89e3\u7801\u4f7f\u7528\u7387 GPU \u5361\u89e3\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u7f16\u7801\u4f7f\u7528\u7387 GPU \u5361\u7f16\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u5361 - \u6e29\u5ea6 & \u529f\u8017 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361 - \u603b\u8017\u80fd GPU \u5361\u603b\u5171\u6d88\u8017\u7684\u80fd\u91cf GPU \u5361 - Clock GPU \u5361\u5185\u5b58\u9891\u7387 \u5185\u5b58\u9891\u7387 GPU \u5361\u5e94\u7528SM \u65f6\u949f\u9891\u7387 \u5e94\u7528\u7684 SM \u65f6\u949f\u9891\u7387 GPU \u5361\u5e94\u7528\u5185\u5b58\u9891\u7387 \u5e94\u7528\u5185\u5b58\u9891\u7387 GPU \u5361\u89c6\u9891\u5f15\u64ce\u9891\u7387 \u89c6\u9891\u5f15\u64ce\u9891\u7387 GPU \u5361\u964d\u9891\u539f\u56e0 \u964d\u9891\u539f\u56e0 GPU \u5361 - \u5176\u4ed6\u7ec6\u8282 \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8 \u56fe\u5f62\u6216\u8ba1\u7b97\u5f15\u64ce\u7684\u4efb\u4f55\u90e8\u5206\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\u3002\u5982\u679c\u56fe\u5f62/\u8ba1\u7b97\u4e0a\u4e0b\u6587\u5df2\u7ed1\u5b9a\u4e14\u56fe\u5f62/\u8ba1\u7b97\u7ba1\u9053\u7e41\u5fd9\uff0c\u5219\u56fe\u5f62\u5f15\u64ce\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002 SM\u6d3b\u52a8 \u591a\u5904\u7406\u5668\u4e0a\u81f3\u5c11\u4e00\u4e2a Warp \u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\uff0c\u6240\u6709\u591a\u5904\u7406\u5668\u7684\u5e73\u5747\u503c\u3002\u8bf7\u6ce8\u610f\uff0c\u201c\u6d3b\u52a8\u201d\u5e76\u4e0d\u4e00\u5b9a\u610f\u5473\u7740 Warp \u6b63\u5728\u79ef\u6781\u8ba1\u7b97\u3002\u4f8b\u5982\uff0c\u7b49\u5f85\u5185\u5b58\u8bf7\u6c42\u7684 Warp \u88ab\u89c6\u4e3a\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u30020.8 \u6216\u66f4\u5927\u7684\u503c\u662f\u6709\u6548\u4f7f\u7528 GPU \u7684\u5fc5\u8981\u6761\u4ef6\uff0c\u4f46\u8fd8\u4e0d\u591f\u3002\u5c0f\u4e8e 0.5 \u7684\u503c\u53ef\u80fd\u8868\u793a GPU \u4f7f\u7528\u6548\u7387\u4f4e\u4e0b\u3002\u7ed9\u51fa\u4e00\u4e2a\u7b80\u5316\u7684 GPU \u67b6\u6784\u89c6\u56fe\uff0c\u5982\u679c GPU \u6709 N \u4e2a SM\uff0c\u5219\u4f7f\u7528 N \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 1\uff08100%\uff09\u3002\u4f7f\u7528 N/5 \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 0.2\uff0820%\uff09\u3002\u4f7f\u7528 N \u4e2a\u5757\u5e76\u8fd0\u884c\u4e94\u5206\u4e4b\u4e00\u65f6\u95f4\u95f4\u9694\u7684\u5185\u6838\uff0c\u5982\u679c SM \u5904\u4e8e\u7a7a\u95f2\u72b6\u6001\uff0c\u5219\u6d3b\u52a8\u4e5f\u5c06\u4e3a 0.2\uff0820%\uff09\u3002\u8be5\u503c\u4e0e\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u65e0\u5173\uff08\u53c2\u89c1DCGM_FI_PROF_SM_OCCUPANCY\uff09\u3002 SM \u5165\u4f4f\u7387 \u591a\u5904\u7406\u5668\u4e0a\u9a7b\u7559 Warp \u7684\u6bd4\u4f8b\uff0c\u76f8\u5bf9\u4e8e\u591a\u5904\u7406\u5668\u4e0a\u652f\u6301\u7684\u6700\u5927\u5e76\u53d1 Warp \u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u8868\u793a GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u5bf9\u4e8e GPU \u5185\u5b58\u5e26\u5bbd\u53d7\u9650\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff08\u53c2\u89c1DCGM_FI_PROF_DRAM_ACTIVE\uff09\uff0c\u5360\u7528\u7387\u8d8a\u9ad8\u8868\u660e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u4f46\u662f\uff0c\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u662f\u8ba1\u7b97\u53d7\u9650\u7684\uff08\u5373\u4e0d\u53d7 GPU \u5185\u5b58\u5e26\u5bbd\u6216\u5ef6\u8fdf\u9650\u5236\uff09\uff0c\u5219\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u4e0e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u76f8\u5173\u3002\u8ba1\u7b97\u5360\u7528\u7387\u5e76\u4e0d\u7b80\u5355\uff0c\u5b83\u53d6\u51b3\u4e8e GPU \u5c5e\u6027\u3001\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u3001\u6bcf\u4e2a\u7ebf\u7a0b\u7684\u5bc4\u5b58\u5668\u4ee5\u53ca\u6bcf\u4e2a\u5757\u7684\u5171\u4eab\u5185\u5b58\u7b49\u56e0\u7d20\u3002\u4f7f\u7528CUDA \u5360\u7528\u7387\u8ba1\u7b97\u5668 \u63a2\u7d22\u5404\u79cd\u5360\u7528\u7387\u573a\u666f\u3002 \u5f20\u91cf\u6d3b\u52a8 \u5f20\u91cf (HMMA / IMMA) \u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u5f20\u91cf\u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8 1 (100%) \u76f8\u5f53\u4e8e\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u53d1\u51fa\u4e00\u4e2a\u5f20\u91cf\u6307\u4ee4\u3002\u6d3b\u52a8 0.2 (20%) \u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP64 \u5f15\u64ce\u6d3b\u52a8 FP64\uff08\u53cc\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP64 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185 Volta \u4e0a\u6bcf\u56db\u4e2a\u5468\u671f\u7684\u6bcf\u4e2a SM\u4e0a\u6267\u884c\u4e00\u6761 FP64 \u6307\u4ee4 \u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605 DCGM_FI_PROF_SM_ACTIVE \u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP32 \u5f15\u64ce\u6d3b\u52a8 FMA\uff08FP32\uff08\u5355\u7cbe\u5ea6\uff09\u548c\u6574\u6570\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP32 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP32 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP16 \u5f15\u64ce\u6d3b\u52a8 FP16\uff08\u534a\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP16 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP16 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u5411\u8bbe\u5907\u5185\u5b58\u53d1\u9001\u6570\u636e\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u6bd4\u4f8b\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u7387\u4e3a 1 (100%) \u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u6d3b\u52a8\u7387\u4e3a 0.2 (20%) \u8868\u793a\u5728\u65f6\u95f4\u95f4\u9694\u5185\u6709 20% \u7684\u5468\u671f\u6b63\u5728\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 NVLink \u5e26\u5bbd \u901a\u8fc7 NVLink \u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff08\u4e0d\u5305\u62ec\u534f\u8bae\u6807\u5934\uff09\uff0c\u4ee5\u6bcf\u79d2\u5b57\u8282\u6570\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\uff0c\u6bcf\u4e2a\u94fe\u8def\u6bcf\u4e2a\u65b9\u5411\u7684\u6700\u5927 NVLink Gen2 \u5e26\u5bbd\u4e3a 25 GB/s\u3002 PCIe \u5e26\u5bbd \u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff0c\u5305\u62ec\u534f\u8bae\u6807\u5934\u548c\u6570\u636e\u6709\u6548\u8d1f\u8f7d\uff0c\u4ee5\u5b57\u8282/\u79d2\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8be5\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\u6700\u5927 PCIe Gen3 \u5e26\u5bbd\u4e3a\u6bcf\u901a\u9053 985 MB/s\u3002 PCIe \u4f20\u8f93\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93\u7684\u6570\u636e\u901f\u7387 PCIe \u63a5\u6536\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u63a5\u6536\u7684\u6570\u636e\u901f\u7387"},{"location":"admin/kpanda/gpu/nvidia/mig/index.html","title":"NVIDIA \u591a\u5b9e\u4f8b GPU(MIG) \u6982\u8ff0","text":""},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#mig","title":"MIG \u573a\u666f","text":"
                • \u591a\u79df\u6237\u4e91\u73af\u5883

                  MIG \u5141\u8bb8\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u5c06\u4e00\u5757\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u72ec\u7acb\u7684 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u3002\u8fd9\u6837\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u548c\u72ec\u7acb\u6027\uff0c\u6ee1\u8db3\u591a\u4e2a\u79df\u6237\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                • \u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f

                  MIG \u53ef\u4ee5\u5728\u5bb9\u5668\u5316\u73af\u5883\u4e2d\u5b9e\u73b0\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u7ba1\u7406\u3002\u901a\u8fc7\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5bb9\u5668\u5206\u914d\u72ec\u7acb\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff0c\u63d0\u4f9b\u66f4\u597d\u7684\u6027\u80fd\u9694\u79bb\u548c\u8d44\u6e90\u5229\u7528\u3002

                • \u6279\u5904\u7406\u4f5c\u4e1a

                  \u5bf9\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u8ba1\u7b97\u7684\u6279\u5904\u7406\u4f5c\u4e1a\uff0cMIG \u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8ba1\u7b97\u6027\u80fd\u548c\u66f4\u5927\u7684\u663e\u5b58\u5bb9\u91cf\u3002\u6bcf\u4e2a MIG \u5b9e\u4f8b\u53ef\u4ee5\u5229\u7528\u7269\u7406 GPU \u7684\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u52a0\u901f\u5927\u89c4\u6a21\u8ba1\u7b97\u4efb\u52a1\u7684\u5904\u7406\u3002

                • AI/\u673a\u5668\u5b66\u4e60\u8bad\u7ec3

                  MIG \u53ef\u4ee5\u5728\u8bad\u7ec3\u5927\u89c4\u6a21\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u65f6\u63d0\u4f9b\u66f4\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u548c\u541e\u5410\u91cf\u3002

                \u603b\u4f53\u800c\u8a00\uff0cNVIDIA MIG \u9002\u7528\u4e8e\u9700\u8981\u66f4\u7ec6\u7c92\u5ea6\u7684GPU\u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\u7684\u573a\u666f\uff0c\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u3001\u63d0\u9ad8\u6027\u80fd\u5229\u7528\u7387\uff0c\u5e76\u4e14\u6ee1\u8db3\u591a\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#mig_1","title":"MIG \u6982\u8ff0","text":"

                NVIDIA \u591a\u5b9e\u4f8b GPU\uff08Multi-Instance GPU\uff0c\u7b80\u79f0 MIG\uff09\u662f NVIDIA \u5728 H100\uff0cA100\uff0cA30 \u7cfb\u5217 GPU \u5361\u4e0a\u63a8\u51fa\u7684\u4e00\u9879\u65b0\u7279\u6027\uff0c \u65e8\u5728\u5c06\u4e00\u5757\u7269\u7406 GPU \u5206\u5272\u4e3a\u591a\u4e2a GPU \u5b9e\u4f8b\uff0c\u4ee5\u63d0\u4f9b\u66f4\u7ec6\u7c92\u5ea6\u7684\u8d44\u6e90\u5171\u4eab\u548c\u9694\u79bb\u3002MIG \u6700\u591a\u53ef\u5c06\u4e00\u5757 GPU \u5212\u5206\u6210\u4e03\u4e2a GPU \u5b9e\u4f8b\uff0c \u4f7f\u5f97\u4e00\u4e2a \u7269\u7406 GPU \u5361\u53ef\u4e3a\u591a\u4e2a\u7528\u6237\u63d0\u4f9b\u5355\u72ec\u7684 GPU \u8d44\u6e90\uff0c\u4ee5\u5b9e\u73b0\u6700\u4f73 GPU \u5229\u7528\u7387\u3002

                \u8fd9\u4e2a\u529f\u80fd\u4f7f\u5f97\u591a\u4e2a\u5e94\u7528\u7a0b\u5e8f\u6216\u7528\u6237\u53ef\u4ee5\u540c\u65f6\u5171\u4eabGPU\u8d44\u6e90\uff0c\u63d0\u9ad8\u4e86\u8ba1\u7b97\u8d44\u6e90\u7684\u5229\u7528\u7387\uff0c\u5e76\u589e\u52a0\u4e86\u7cfb\u7edf\u7684\u53ef\u6269\u5c55\u6027\u3002

                \u901a\u8fc7 MIG\uff0c\u6bcf\u4e2a GPU \u5b9e\u4f8b\u7684\u5904\u7406\u5668\u5728\u6574\u4e2a\u5185\u5b58\u7cfb\u7edf\u4e2d\u5177\u6709\u72ec\u7acb\u4e14\u9694\u79bb\u7684\u8def\u5f84\u2014\u2014\u82af\u7247\u4e0a\u7684\u4ea4\u53c9\u5f00\u5173\u7aef\u53e3\u3001L2 \u9ad8\u901f\u7f13\u5b58\u7ec4\u3001\u5185\u5b58\u63a7\u5236\u5668\u548c DRAM \u5730\u5740\u603b\u7ebf\u90fd\u552f\u4e00\u5206\u914d\u7ed9\u5355\u4e2a\u5b9e\u4f8b\u3002

                \u8fd9\u786e\u4fdd\u4e86\u5355\u4e2a\u7528\u6237\u7684\u5de5\u4f5c\u8d1f\u8f7d\u80fd\u591f\u4ee5\u53ef\u9884\u6d4b\u7684\u541e\u5410\u91cf\u548c\u5ef6\u8fdf\u8fd0\u884c\uff0c\u5e76\u5177\u6709\u76f8\u540c\u7684\u4e8c\u7ea7\u7f13\u5b58\u5206\u914d\u548c DRAM \u5e26\u5bbd\u3002 MIG \u53ef\u4ee5\u5212\u5206\u53ef\u7528\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff08\u5305\u62ec\u6d41\u591a\u5904\u7406\u5668\u6216 SM \u548c GPU \u5f15\u64ce\uff0c\u5982\u590d\u5236\u5f15\u64ce\u6216\u89e3\u7801\u5668\uff09\u8fdb\u884c\u5206\u533a\uff0c \u4ee5\u4fbf\u4e3a\u4e0d\u540c\u7684\u5ba2\u6237\u7aef\uff08\u5982\u4e91\u4e3b\u673a\u3001\u5bb9\u5668\u6216\u8fdb\u7a0b\uff09\u63d0\u4f9b\u5b9a\u4e49\u7684\u670d\u52a1\u8d28\u91cf\uff08QoS\uff09\u548c\u6545\u969c\u9694\u79bb\uff09\u3002 MIG \u4f7f\u591a\u4e2a GPU \u5b9e\u4f8b\u80fd\u591f\u5728\u5355\u4e2a\u7269\u7406 GPU \u4e0a\u5e76\u884c\u8fd0\u884c\u3002

                MIG \u5141\u8bb8\u591a\u4e2a vGPU\uff08\u4ee5\u53ca\u4e91\u4e3b\u673a\uff09\u5728\u5355\u4e2a GPU \u5b9e\u4f8b\u4e0a\u5e76\u884c\u8fd0\u884c\uff0c\u540c\u65f6\u4fdd\u7559 vGPU \u63d0\u4f9b\u7684\u9694\u79bb\u4fdd\u8bc1\u3002 \u6709\u5173\u4f7f\u7528 vGPU \u548c MIG \u8fdb\u884c GPU \u5206\u533a\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 NVIDIA Multi-Instance GPU and NVIDIA Virtual Compute Server\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#mig_2","title":"MIG \u67b6\u6784","text":"

                \u5982\u4e0b\u662f\u4e00\u4e2a MIG \u7684\u6982\u8ff0\u56fe\uff0c\u53ef\u4ee5\u770b\u51fa MIG \u5c06\u4e00\u5f20\u7269\u7406 GPU \u5361\u865a\u62df\u5316\u6210\u4e86 7 \u4e2a GPU \u5b9e\u4f8b\uff0c\u8fd9\u4e9b GPU \u5b9e\u4f8b\u80fd\u591f\u53ef\u4ee5\u88ab\u591a\u4e2a User \u4f7f\u7528\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#_1","title":"\u91cd\u8981\u6982\u5ff5","text":"
                • SM \uff1a\u6d41\u5f0f\u591a\u5904\u7406\u5668\uff08Streaming Multiprocessor\uff09\uff0cGPU \u7684\u6838\u5fc3\u8ba1\u7b97\u5355\u5143\uff0c\u8d1f\u8d23\u6267\u884c\u56fe\u5f62\u6e32\u67d3\u548c\u901a\u7528\u8ba1\u7b97\u4efb\u52a1\u3002 \u6bcf\u4e2a SM \u5305\u542b\u4e00\u7ec4 CUDA \u6838\u5fc3\uff0c\u4ee5\u53ca\u5171\u4eab\u5185\u5b58\u3001\u5bc4\u5b58\u5668\u6587\u4ef6\u548c\u5176\u4ed6\u8d44\u6e90\uff0c\u53ef\u4ee5\u540c\u65f6\u6267\u884c\u591a\u4e2a\u7ebf\u7a0b\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u90fd\u62e5\u6709\u4e00\u5b9a\u6570\u91cf\u7684 SM \u548c\u5176\u4ed6\u76f8\u5173\u8d44\u6e90\uff0c\u4ee5\u53ca\u88ab\u5212\u5206\u51fa\u6765\u7684\u663e\u5b58\u3002
                • GPU Memory Slice \uff1aGPU \u5185\u5b58\u5207\u7247\uff0cGPU \u5185\u5b58\u5207\u7247\u662f GPU \u5185\u5b58\u7684\u6700\u5c0f\u90e8\u5206\uff0c\u5305\u62ec\u76f8\u5e94\u7684\u5185\u5b58\u63a7\u5236\u5668\u548c\u7f13\u5b58\u3002 GPU \u5185\u5b58\u5207\u7247\u5927\u7ea6\u662f GPU \u5185\u5b58\u8d44\u6e90\u603b\u91cf\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u5305\u62ec\u5bb9\u91cf\u548c\u5e26\u5bbd\u3002
                • GPU SM Slice \uff1aGPU SM \u5207\u7247\u662f GPU \u4e0a SM \u7684\u6700\u5c0f\u8ba1\u7b97\u5355\u4f4d\u3002\u5728 MIG \u6a21\u5f0f\u4e0b\u914d\u7f6e\u65f6\uff0c GPU SM \u5207\u7247\u5927\u7ea6\u662f GPU \u4e2d\u53ef\u7528 SMS \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                • GPU Slice \uff1aGPU \u5207\u7247\u662f GPU \u4e2d\u7531\u5355\u4e2a GPU \u5185\u5b58\u5207\u7247\u548c\u5355\u4e2a GPU SM \u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u7684\u6700\u5c0f\u90e8\u5206\u3002
                • GPU Instance \uff1aGPU \u5b9e\u4f8b \uff08GI\uff09 \u662f GPU \u5207\u7247\u548c GPU \u5f15\u64ce\uff08DMA\u3001NVDEC \u7b49\uff09\u7684\u7ec4\u5408\u3002 GPU \u5b9e\u4f8b\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\u59cb\u7ec8\u5171\u4eab\u6240\u6709 GPU \u5185\u5b58\u5207\u7247\u548c\u5176\u4ed6 GPU \u5f15\u64ce\uff0c\u4f46\u5b83\u7684 SM \u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\u3002 GPU \u5b9e\u4f8b\u63d0\u4f9b\u5185\u5b58 QoS\u3002\u6bcf\u4e2a GPU \u5207\u7247\u90fd\u5305\u542b\u4e13\u7528\u7684 GPU \u5185\u5b58\u8d44\u6e90\uff0c\u8fd9\u4e9b\u8d44\u6e90\u4f1a\u9650\u5236\u53ef\u7528\u5bb9\u91cf\u548c\u5e26\u5bbd\uff0c\u5e76\u63d0\u4f9b\u5185\u5b58 QoS\u3002 \u6bcf\u4e2a GPU \u5185\u5b58\u5207\u7247\u83b7\u5f97\u603b GPU \u5185\u5b58\u8d44\u6e90\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u6bcf\u4e2a GPU SM \u5207\u7247\u83b7\u5f97 SM \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                • Compute Instance \uff1aGPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b \uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c\u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002
                "},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#gpu-gi","title":"GPU \u5b9e\u4f8b\uff08GI\uff09","text":"

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 GPU \u4e0a\u521b\u5efa\u5404\u79cd\u5206\u533a\u3002\u5c06\u4f7f\u7528 A100-40GB \u4f5c\u4e3a\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u5bf9\u5355\u4e2a GPU \u7269\u7406\u5361\u4e0a\u8fdb\u884c\u5206\u533a\u3002

                GPU \u7684\u5206\u533a\u662f\u4f7f\u7528\u5185\u5b58\u5207\u7247\u8fdb\u884c\u7684\uff0c\u56e0\u6b64\u53ef\u4ee5\u8ba4\u4e3a A100-40GB GPU \u5177\u6709 8x5GB \u5185\u5b58\u5207\u7247\u548c 7 \u4e2a GPU SM \u5207\u7247\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5c55\u793a\u4e86 A100 \u4e0a\u53ef\u7528\u7684\u5185\u5b58\u5207\u7247\u3002

                \u5982\u4e0a\u6240\u8ff0\uff0c\u521b\u5efa GPU \u5b9e\u4f8b \uff08GI\uff09 \u9700\u8981\u5c06\u4e00\u5b9a\u6570\u91cf\u7684\u5185\u5b58\u5207\u7247\u4e0e\u4e00\u5b9a\u6570\u91cf\u7684\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\u3002 \u5728\u4e0b\u56fe\u4e2d\uff0c\u4e00\u4e2a 5GB \u5185\u5b58\u5207\u7247\u4e0e 1 \u4e2a\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\uff0c\u4ee5\u521b\u5efa 1g.5gb GI \u914d\u7f6e\u6587\u4ef6\uff1a

                \u540c\u6837\uff0c4x5GB \u5185\u5b58\u5207\u7247\u53ef\u4ee5\u4e0e 4x1 \u8ba1\u7b97\u5207\u7247\u7ed3\u5408\u4f7f\u7528\u4ee5\u521b\u5efa 4g.20gb \u7684 GI \u914d\u7f6e\u6587\u4ef6\uff1a

                "},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#ci","title":"\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09","text":"

                GPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247(GI)\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c \u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002\u4f7f\u7528\u4e0a\u9762\u7684\u76f8\u540c 4g.20gb \u793a\u4f8b\uff0c\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a CI \u4ee5\u4ec5\u4f7f\u7528\u7b2c\u4e00\u4e2a\u8ba1\u7b97\u5207\u7247\u7684 1c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\uff0c\u5982\u4e0b\u56fe\u84dd\u8272\u90e8\u5206\u6240\u793a\uff1a

                \u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u901a\u8fc7\u9009\u62e9\u4efb\u4f55\u8ba1\u7b97\u5207\u7247\u6765\u521b\u5efa 4 \u4e2a\u4e0d\u540c\u7684 CI\u3002\u8fd8\u53ef\u4ee5\u5c06\u4e24\u4e2a\u8ba1\u7b97\u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u4ee5\u521b\u5efa 2c.4g.20gb \u7684\u8ba1\u7b97\u914d\u7f6e\uff09\uff1a

                \u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u53ef\u4ee5\u7ec4\u5408 3 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa\u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\uff0c\u6216\u8005\u53ef\u4ee5\u7ec4\u5408\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa 3c.4g.20gb \u3001 4c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\u3002 \u5408\u5e76\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u65f6\uff0c\u914d\u7f6e\u6587\u4ef6\u7b80\u79f0\u4e3a 4g.20gb \u3002

                "},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html","title":"\u5f00\u542f MIG \u529f\u80fd","text":"

                \u672c\u7ae0\u8282\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f NVIDIA MIG \u529f\u80fd\u65b9\u5f0f\uff0cNVIDIA \u5f53\u524d\u63d0\u4f9b\u4e24\u79cd\u5728 Kubernetes \u8282\u70b9\u4e0a\u516c\u5f00 MIG \u8bbe\u5907\u7684\u7b56\u7565\uff1a

                • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\u3002
                • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002

                \u8be6\u60c5\u53c2\u8003 NVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5f85\u5b89\u88c5 GPU \u9a71\u52a8\u8282\u70b9\u7cfb\u7edf\u8981\u6c42\u8bf7\u53c2\u8003\uff1aGPU \u652f\u6301\u77e9\u9635
                • \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\uff08NVIDIA H100\u3001 A100 \u548c A30 Tensor Core GPU\uff09\uff0c \u8be6\u60c5\u53c2\u8003 GPU \u652f\u6301\u77e9\u9635\u3002
                • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
                "},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html#gpu-operator-addon","title":"\u5b89\u88c5 gpu-operator Addon","text":""},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html#_2","title":"\u53c2\u6570\u914d\u7f6e","text":"

                \u5b89\u88c5 Operator \u65f6\u9700\u8981\u5bf9\u5e94\u8bbe\u7f6e MigManager Config \u53c2\u6570\uff0c \u9ed8\u8ba4\u4e3a default-mig-parted-config \uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565\u914d\u7f6e\u6587\u4ef6\uff1a

                "},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html#_3","title":"\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565","text":"
                  ## \u81ea\u5b9a\u4e49\u5207\u5206 GI \u5b9e\u4f8b\u914d\u7f6e\n  all-disabled:\n    - devices: all\n      mig-enabled: false\n  all-enabled:\n    - devices: all\n      mig-enabled: true\n      mig-devices: {}\n  all-1g.10gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.5gb: 7\n  all-1g.10gb.me:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb+me: 1\n  all-1g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.20gb: 4\n  all-2g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        2g.20gb: 3\n  all-3g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n  all-4g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        4g.40gb: 1\n  all-7g.80gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        7g.80gb: 1\n  all-balanced:\n    - device-filter: [\"0x233110DE\", \"0x232210DE\", \"0x20B210DE\", \"0x20B510DE\", \"0x20F310DE\", \"0x20F510DE\"]\n      devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb: 2\n        2g.20gb: 1\n        3g.40gb: 1\n  # \u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u8bbe\u7f6e\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\n  custom-config:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n

                \u5728\u4e0a\u8ff0\u7684 YAML \u4e2d\u8bbe\u7f6e custom-config \uff0c\u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\u3002

                custom-config:\n  - devices: all\n    mig-enabled: true\n    mig-devices:\n      1c.3g.40gb: 6\n

                \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5728\u786e\u8ba4\u90e8\u7f72\u5e94\u7528\u65f6\u5373\u53ef\u4f7f\u7528 GPU MIG \u8d44\u6e90\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html#gpu","title":"\u5207\u6362\u8282\u70b9 GPU \u6a21\u5f0f","text":"

                Note

                \u5207\u6362 GPU \u6a21\u5f0f\u6216\u8005\u4fee\u6539\u5207\u5206\u89c4\u683c\u540e\u9700\u8981\u91cd\u542f nvidia-mig-manager\u3002

                \u5f53\u6211\u4eec\u6210\u529f\u5b89\u88c5 gpu-operator \u4e4b\u540e\uff0c\u8282\u70b9\u9ed8\u8ba4\u662f\u6574\u5361\u6a21\u5f0f\uff0c\u5728\u8282\u70b9\u7ba1\u7406\u9875\u9762\u4f1a\u6709\u6807\u8bc6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                \u70b9\u51fb\u8282\u70b9\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 GPU \u6a21\u5f0f\u5207\u6362 \uff0c\u7136\u540e\u9009\u62e9\u5bf9\u5e94\u7684 MIG \u6a21\u5f0f\u4ee5\u53ca\u5207\u5206\u7684\u7b56\u7565\uff0c\u8fd9\u91cc\u4ee5 MIXED \u6a21\u5f0f\u4e3a\u4f8b\uff1a

                \u8fd9\u91cc\u4e00\u5171\u6709\u4e24\u4e2a\u914d\u7f6e\uff1a

                1. MIg \u7b56\u7565\uff1aMixed \u4ee5\u53ca Single \u3002
                2. \u5207\u5206\u7b56\u7565\uff1a\u8fd9\u91cc\u7684\u7b56\u7565\u9700\u8981\u4e0e default-mig-parted-config \uff08\u6216\u8005\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u5207\u5206\u7b56\u7565\uff09\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684 key \u4fdd\u6301\u4e00\u81f4\u3002

                \u70b9\u51fb \u786e\u5b9a \u6309\u94ae\u540e\uff0c\u7b49\u5f85\u7ea6\u4e00\u5206\u949f\u5de6\u53f3\u5237\u65b0\u9875\u9762\uff0cMIG \u6a21\u5f0f\u5207\u6362\u6210\uff1a

                "},{"location":"admin/kpanda/gpu/nvidia/mig/mig_command.html","title":"MIG \u76f8\u5173\u547d\u4ee4","text":"

                GI \u76f8\u5173\u547d\u540d\uff1a

                \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lgi \u67e5\u770b\u521b\u5efa GI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -dgi -gi \u5220\u9664\u6307\u5b9a\u7684 GI \u5b9e\u4f8b nvidia-smi mig -lgip \u67e5\u770b GI \u7684 profile nvidia-smi mig -cgi \u901a\u8fc7\u6307\u5b9a profile \u7684 ID \u521b\u5efa GI

                CI \u76f8\u5173\u547d\u4ee4\uff1a

                \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lcip { -gi {gi Instance ID}} \u67e5\u770b CI \u7684 profile \uff0c\u6307\u5b9a -gi \u53ef\u4ee5\u67e5\u770b\u7279\u5b9a GI \u5b9e\u4f8b\u53ef\u4ee5\u521b\u5efa\u7684 CI nvidia-smi mig -lci \u67e5\u770b\u521b\u5efa\u7684 CI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -cci {profile id} -gi {gi instance id} \u6307\u5b9a\u7684 GI \u521b\u5efa CI \u5b9e\u4f8b nvidia-smi mig -dci -ci \u5220\u9664\u6307\u5b9a CI \u5b9e\u4f8b

                GI+CI \u76f8\u5173\u547d\u4ee4\uff1a

                \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -i 0 -cgi {gi profile id} -C {ci profile id} \u76f4\u63a5\u521b\u5efa GI + CI \u5b9e\u4f8b"},{"location":"admin/kpanda/gpu/nvidia/mig/mig_usage.html","title":"\u4f7f\u7528 MIG GPU \u8d44\u6e90","text":"

                \u672c\u8282\u4ecb\u7ecd\u5e94\u7528\u5982\u4f55\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/mig/mig_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                • \u5df2\u5b89\u88c5 GPU Operator\u3002
                • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                "},{"location":"admin/kpanda/gpu/nvidia/mig/mig_usage.html#ui-mig-gpu","title":"UI \u754c\u9762\u4f7f\u7528 MIG GPU","text":"
                1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u8bc6\u522b GPU \u5361\u7c7b\u578b

                  \u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 -> \u8282\u70b9\u7ba1\u7406 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u6b63\u786e\u8bc6\u522b\u4e3a MIG \u6a21\u5f0f\u3002

                2. \u901a\u8fc7\u955c\u50cf\u90e8\u7f72\u5e94\u7528\uff0c\u53ef\u9009\u62e9\u5e76\u4f7f\u7528 NVIDIA MIG \u8d44\u6e90\u3002

                  • MIG Single \u6a21\u5f0f\u793a\u4f8b\uff08\u4e0e\u6574\u5361\u4f7f\u7528\u65b9\u5f0f\u76f8\u540c\uff09\uff1a

                    Note

                    MIG single \u7b56\u7565\u5141\u8bb8\u7528\u6237\u4ee5\u4e0e GPU \u6574\u5361\u76f8\u540c\u7684\u65b9\u5f0f\uff08nvidia.com/gpu\uff09\u8bf7\u6c42\u548c\u4f7f\u7528GPU\u8d44\u6e90\uff0c\u4e0d\u540c\u7684\u662f\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u662f GPU \u7684\u4e00\u90e8\u5206\uff08MIG\u8bbe\u5907\uff09\uff0c\u800c\u4e0d\u662f\u6574\u4e2aGPU\u3002\u4e86\u89e3\u66f4\u591a GPU MIG \u6a21\u5f0f\u8bbe\u8ba1

                  • MIG Mixed \u6a21\u5f0f\u793a\u4f8b\uff1a

                "},{"location":"admin/kpanda/gpu/nvidia/mig/mig_usage.html#yaml-mig","title":"YAML \u914d\u7f6e\u4f7f\u7528 MIG","text":"

                MIG Single \u6a21\u5f0f\uff1a

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpu: 2 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                1. \u7533\u8bf7 MIG GPU \u7684\u6570\u91cf

                MIG Mixed \u6a21\u5f0f\uff1a

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/mig-4g.20gb: 1 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                1. \u901a\u8fc7 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                \u8fdb\u5165\u5bb9\u5668\u540e\u53ef\u4ee5\u67e5\u770b\u53ea\u4f7f\u7528\u4e86\u4e00\u4e2a MIG \u8bbe\u5907\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/vgpu/hami.html","title":"\u6784\u5efa vGPU \u663e\u5b58\u8d85\u914d\u955c\u50cf","text":"

                Hami \u9879\u76ee\u4e2d vGPU \u663e\u5b58\u8d85\u914d\u7684\u529f\u80fd\u5df2\u7ecf\u4e0d\u5b58\u5728\uff0c\u76ee\u524d\u4f7f\u7528\u6709\u663e\u5b58\u8d85\u914d\u7684 libvgpu.so \u6587\u4ef6\u91cd\u65b0\u6784\u5efa\u3002

                Dockerfile
                FROM docker.m.daocloud.io/projecthami/hami:v2.3.11\nCOPY libvgpu.so /k8s-vgpu/lib/nvidia/\n

                \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6784\u5efa\u955c\u50cf\uff1a

                docker build -t release.daocloud.io/projecthami/hami:v2.3.11 -f Dockerfile .\n

                \u7136\u540e\u628a\u955c\u50cf push \u5230 release.daocloud.io \u4e2d\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_addon.html","title":"\u5b89\u88c5 NVIDIA vGPU Addon","text":"

                \u5982\u9700\u5c06\u4e00\u5f20 NVIDIA \u865a\u62df\u5316\u6210\u591a\u4e2a\u865a\u62df GPU\uff0c\u5e76\u5c06\u5176\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u4e91\u4e3b\u673a\u6216\u7528\u6237\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 NVIDIA \u7684 vGPU \u80fd\u529b\u3002 \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u5b89\u88c5 vGPU \u63d2\u4ef6\uff0c\u8fd9\u662f\u4f7f\u7528 NVIDIA vGPU \u80fd\u529b\u7684\u524d\u63d0\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_addon.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u53c2\u8003 GPU \u652f\u6301\u77e9\u9635 \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\u3002
                • \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u5177\u4f53\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_addon.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 nvidia-vgpu \u3002

                2. \u5728\u5b89\u88c5 vGPU \u7684\u8fc7\u7a0b\u4e2d\u63d0\u4f9b\u4e86\u51e0\u4e2a\u57fa\u672c\u4fee\u6539\u7684\u53c2\u6570\uff0c\u5982\u679c\u9700\u8981\u4fee\u6539\u9ad8\u7ea7\u53c2\u6570\u70b9\u51fb YAML \u5217\u8fdb\u884c\u4fee\u6539\uff1a

                  • deviceCoreScaling \uff1aNVIDIA \u88c5\u7f6e\u7b97\u529b\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u7b97\u529b\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceCoreScaling \u53c2\u6570\u4e3a S\uff0c\u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * 100% \u7b97\u529b\u3002

                  • deviceMemoryScaling \uff1aNVIDIA \u88c5\u7f6e\u663e\u5b58\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u663e\u5b58\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002 \u5bf9\u4e8e\u6709 M \u663e\u5b58\u5927\u5c0f\u7684 NVIDIA GPU\uff0c\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceMemoryScaling \u53c2\u6570\u4e3a S\uff0c \u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * M \u663e\u5b58\u3002

                  • deviceSplitCount \uff1a\u6574\u6570\u7c7b\u578b\uff0c\u9884\u8bbe\u503c\u662f 10\u3002GPU \u7684\u5206\u5272\u6570\uff0c\u6bcf\u4e00\u5f20 GPU \u90fd\u4e0d\u80fd\u5206\u914d\u8d85\u8fc7\u5176\u914d\u7f6e\u6570\u76ee\u7684\u4efb\u52a1\u3002 \u82e5\u5176\u914d\u7f6e\u4e3a N \u7684\u8bdd\uff0c\u6bcf\u4e2a GPU \u4e0a\u6700\u591a\u53ef\u4ee5\u540c\u65f6\u5b58\u5728 N \u4e2a\u4efb\u52a1\u3002

                  • Resources \uff1a\u5c31\u662f\u5bf9\u5e94 vgpu-device-plugin \u548c vgpu-schedule pod \u7684\u8d44\u6e90\u4f7f\u7528\u91cf\u3002

                  • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b vGPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 NVIDIA vGPU Addon \u5b89\u88c5\u5931\u8d25\u3002

                3. \u5b89\u88c5\u6210\u529f\u4e4b\u540e\u4f1a\u5728\u6307\u5b9a Namespace \u4e0b\u51fa\u73b0\u5982\u4e0b\u4e24\u4e2a\u7c7b\u578b\u7684 Pod\uff0c\u5373\u8868\u793a NVIDIA vGPU \u63d2\u4ef6\u5df2\u5b89\u88c5\u6210\u529f\uff1a

                \u5b89\u88c5\u6210\u529f\u540e\uff0c\u90e8\u7f72\u5e94\u7528\u53ef\u4f7f\u7528 vGPU \u8d44\u6e90\u3002

                Note

                NVIDIA vGPU Addon \u4e0d\u652f\u6301\u4ece\u8001\u7248\u672c v2.0.0 \u76f4\u63a5\u5347\u7ea7\u4e3a\u6700\u65b0\u7248 v2.0.0+1\uff1b \u5982\u9700\u5347\u7ea7\uff0c\u8bf7\u5378\u8f7d\u8001\u7248\u672c\u540e\u91cd\u65b0\u5b89\u88c5\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_user.html","title":"\u5e94\u7528\u4f7f\u7528 Nvidia vGPU","text":"

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_user.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                • \u5df2\u6210\u529f\u5b89\u88c5 vGPU Addon\uff0c\u8be6\u60c5\u53c2\u8003 GPU Addon \u5b89\u88c5
                • \u5df2\u5b89\u88c5 GPU Operator\uff0c\u5e76\u5df2 \u5173\u95ed Nvidia.DevicePlugin \u80fd\u529b\uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5
                "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_user.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_user.html#vgpu","title":"\u754c\u9762\u4f7f\u7528 vGPU","text":"
                1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia vGPU \u3002

                2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia vGPU\uff09\u4e4b\u540e\uff0c\u4f1a\u81ea\u52a8\u51fa\u73b0\u5982\u4e0b\u51e0\u4e2a\u53c2\u6570\u9700\u8981\u586b\u5199\uff1a

                  • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                  • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b \u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c \u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
                  • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                  \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_user.html#yaml-vgpu","title":"YAML \u914d\u7f6e\u4f7f\u7528 vGPU","text":"

                \u53c2\u8003\u5982\u4e0b\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/vgpu: '1' \u53c2\u6570\u6765\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-vgpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-vgpu-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: full-vgpu-demo\n    spec:\n      containers:\n        - name: full-vgpu-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpucores: '20'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 20% \u7684 GPU \u7b97\u529b\n              nvidia.com/gpumem: '200'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 200MB \u7684\u663e\u5b58\n              nvidia.com/vgpu: '1'   # \u7533\u8bf7GPU\u7684\u6570\u91cf\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                "},{"location":"admin/kpanda/gpu/volcano/drf.html","title":"DRF\uff08Dominant Resource Fairness\uff09 \u8c03\u5ea6\u7b56\u7565","text":"

                DRF \u8c03\u5ea6\u7b56\u7565\u8ba4\u4e3a\u5360\u7528\u8d44\u6e90\u8f83\u5c11\u7684\u4efb\u52a1\u5177\u6709\u66f4\u9ad8\u7684\u4f18\u5148\u7ea7\u3002\u8fd9\u6837\u80fd\u591f\u6ee1\u8db3\u66f4\u591a\u7684\u4f5c\u4e1a\uff0c\u4e0d\u4f1a\u56e0\u4e3a\u4e00\u4e2a\u80d6\u4e1a\u52a1\uff0c \u997f\u6b7b\u5927\u6279\u5c0f\u4e1a\u52a1\u3002DRF \u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u786e\u4fdd\u5728\u591a\u79cd\u7c7b\u578b\u8d44\u6e90\u5171\u5b58\u7684\u73af\u5883\u4e0b\uff0c\u5c3d\u53ef\u80fd\u6ee1\u8db3\u5206\u914d\u7684\u516c\u5e73\u539f\u5219\u3002

                "},{"location":"admin/kpanda/gpu/volcano/drf.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                DRF \u8c03\u5ea6\u7b56\u7565\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4efb\u4f55\u914d\u7f6e\u3002

                kubectl -n volcano-system view configmaps volcano-scheduler-configmap\n
                "},{"location":"admin/kpanda/gpu/volcano/drf.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                \u5728 AI \u8bad\u7ec3\uff0c\u6216\u5927\u6570\u636e\u8ba1\u7b97\u4e2d\uff0c\u901a\u8fc7\u6709\u9650\u8fd0\u884c\u4f7f\u7528\u8d44\u6e90\u5c11\u7684\u4efb\u52a1\uff0c\u8fd9\u6837\u53ef\u4ee5\u8ba9\u96c6\u7fa4\u8d44\u6e90\u4f7f\u7528\u7387\u66f4\u9ad8\uff0c\u800c\u4e14\u8fd8\u80fd\u907f\u514d\u5c0f\u4efb\u52a1\u88ab\u997f\u6b7b\u3002 \u5982\u4e0b\u521b\u5efa\u4e24\u4e2a Job\uff0c\u4e00\u4e2a\u662f\u5c0f\u8d44\u6e90\u9700\u6c42\uff0c\u4e00\u4e2a\u662f\u5927\u8d44\u6e90\u9700\u6c42\uff0c\u53ef\u4ee5\u770b\u51fa\u6765\u5c0f\u8d44\u6e90\u9700\u6c42\u7684 Job \u4f18\u5148\u8fd0\u884c\u8d77\u6765\u3002

                cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: small-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: small-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"1\"  \n          restartPolicy: OnFailure  \n---  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: large-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: large-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"2\"  \n          restartPolicy: OnFailure  \nEOF\n
                "},{"location":"admin/kpanda/gpu/volcano/numa.html","title":"NUMA \u4eb2\u548c\u6027\u8c03\u5ea6","text":"

                NUMA \u8282\u70b9\u662f Non-Uniform Memory Access\uff08\u975e\u7edf\u4e00\u5185\u5b58\u8bbf\u95ee\uff09\u67b6\u6784\u4e2d\u7684\u4e00\u4e2a\u57fa\u672c\u7ec4\u6210\u5355\u5143\uff0c\u4e00\u4e2a Node \u8282\u70b9\u662f\u591a\u4e2a NUMA \u8282\u70b9\u7684\u96c6\u5408\uff0c \u5728\u591a\u4e2a NUMA \u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u5185\u5b58\u8bbf\u95ee\u65f6\u4f1a\u4ea7\u751f\u5ef6\u8fdf\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u4f18\u5316\u4efb\u52a1\u8c03\u5ea6\u548c\u5185\u5b58\u5206\u914d\u7b56\u7565\uff0c\u6765\u63d0\u9ad8\u5185\u5b58\u8bbf\u95ee\u6548\u7387\u548c\u6574\u4f53\u6027\u80fd\u3002

                "},{"location":"admin/kpanda/gpu/volcano/numa.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                Numa \u4eb2\u548c\u6027\u8c03\u5ea6\u7684\u5e38\u89c1\u573a\u666f\u662f\u90a3\u4e9b\u5bf9 CPU \u53c2\u6570\u654f\u611f/\u8c03\u5ea6\u5ef6\u8fdf\u654f\u611f\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4f5c\u4e1a\u3002\u5982\u79d1\u5b66\u8ba1\u7b97\u3001\u89c6\u9891\u89e3\u7801\u3001\u52a8\u6f2b\u52a8\u753b\u6e32\u67d3\u3001\u5927\u6570\u636e\u79bb\u7ebf\u5904\u7406\u7b49\u5177\u4f53\u573a\u666f\u3002

                "},{"location":"admin/kpanda/gpu/volcano/numa.html#_2","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                Pod \u8c03\u5ea6\u65f6\u53ef\u4ee5\u91c7\u7528\u7684 NUMA \u653e\u7f6e\u7b56\u7565\uff0c\u5177\u4f53\u7b56\u7565\u5bf9\u5e94\u7684\u8c03\u5ea6\u884c\u4e3a\u8bf7\u53c2\u89c1 Pod \u8c03\u5ea6\u884c\u4e3a\u8bf4\u660e\u3002

                • single-numa-node\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a single-numa-node \u7684\u8282\u70b9\u6c60\u4e2d\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                • restricted\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a restricted \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c\u7684 NUMA \u96c6\u5408\u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                • best-effort\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a best-effort \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14\u5c3d\u91cf\u5c06 CPU \u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u6ca1\u6709\u8282\u70b9\u6ee1\u8db3\u8fd9\u4e00\u6761\u4ef6\uff0c\u5219\u9009\u62e9\u6700\u4f18\u8282\u70b9\u8fdb\u884c\u653e\u7f6e\u3002
                "},{"location":"admin/kpanda/gpu/volcano/numa.html#_3","title":"\u8c03\u5ea6\u539f\u7406","text":"

                \u5f53Pod\u8bbe\u7f6e\u4e86\u62d3\u6251\u7b56\u7565\u65f6\uff0cVolcano \u4f1a\u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\u9884\u6d4b\u5339\u914d\u7684\u8282\u70b9\u5217\u8868\u3002 \u8c03\u5ea6\u8fc7\u7a0b\u5982\u4e0b\uff1a

                1. \u6839\u636e Pod \u8bbe\u7f6e\u7684 Volcano \u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u5177\u6709\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u3002

                2. \u5728\u8bbe\u7f6e\u4e86\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u4e2d\uff0c\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u8be5\u7b56\u7565\u8981\u6c42\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6\u3002

                Pod \u53ef\u914d\u7f6e\u7684\u62d3\u6251\u7b56\u7565 1. \u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u53ef\u8c03\u5ea6\u7684\u8282\u70b9 2. \u8fdb\u4e00\u6b65\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u7b56\u7565\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6 none \u9488\u5bf9\u914d\u7f6e\u4e86\u4ee5\u4e0b\u51e0\u79cd\u62d3\u6251\u7b56\u7565\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u65f6\u5747\u65e0\u7b5b\u9009\u884c\u4e3a\u3002none\uff1a\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 - best-effort \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201cbest-effort\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u5c3d\u53ef\u80fd\u6ee1\u8db3\u7b56\u7565\u8981\u6c42\u8fdb\u884c\u8c03\u5ea6\uff1a\u4f18\u5148\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\uff0c\u5982\u679c\u5355 NUMA \u8282\u70b9\u65e0\u6cd5\u6ee1\u8db3 CPU \u7533\u8bf7\u503c\uff0c\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 restricted \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201crestricted\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u4e25\u683c\u9650\u5236\u7684\u8c03\u5ea6\u7b56\u7565\uff1a\u5355 NUMA \u8282\u70b9\u7684CPU\u5bb9\u91cf\u4e0a\u9650\u5927\u4e8e\u7b49\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002\u6b64\u65f6\u5982\u679c\u5355 NUMA \u8282\u70b9\u5269\u4f59\u7684 CPU \u53ef\u4f7f\u7528\u91cf\u4e0d\u8db3\uff0c\u5219 Pod \u65e0\u6cd5\u8c03\u5ea6\u3002\u5355 NUMA \u8282\u70b9\u7684 CPU \u5bb9\u91cf\u4e0a\u9650\u5c0f\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u53ef\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 single-numa-node \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201csingle-numa-node\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 \u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002"},{"location":"admin/kpanda/gpu/volcano/numa.html#numa_1","title":"\u914d\u7f6e NUMA \u4eb2\u548c\u8c03\u5ea6\u7b56\u7565","text":"
                1. \u5728 Job \u4e2d\u914d\u7f6e policies

                  task: \n  - replicas: 1 \n    name: \"test-1\" \n    topologyPolicy: single-numa-node \n  - replicas: 1 \n    name: \"test-2\" \n    topologyPolicy: best-effort \n
                2. \u4fee\u6539 kubelet \u7684\u8c03\u5ea6\u7b56\u7565\uff0c\u8bbe\u7f6e --topology-manager-policy \u53c2\u6570\uff0c\u652f\u6301\u7684\u7b56\u7565\u6709\u56db\u79cd\uff1a

                  • none\uff08\u9ed8\u8ba4\uff09
                  • best-effort
                  • restricted
                  • single-numa-node
                "},{"location":"admin/kpanda/gpu/volcano/numa.html#_4","title":"\u4f7f\u7528\u6848\u4f8b","text":"
                1. \u793a\u4f8b\u4e00\uff1a\u5728\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e NUMA \u4eb2\u548c\u6027\u3002

                  kind: Deployment  \napiVersion: apps/v1  \nmetadata:  \n  name: numa-tset  \nspec:  \n  replicas: 1  \n  selector:  \n    matchLabels:  \n      app: numa-tset  \n  template:  \n    metadata:  \n      labels:  \n        app: numa-tset  \n      annotations:  \n        volcano.sh/numa-topology-policy: single-numa-node    # set the topology policy  \n    spec:  \n      containers:  \n        - name: container-1  \n          image: nginx:alpine  \n          resources:  \n            requests:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0elimits\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n            limits:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0erequests\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n      imagePullSecrets:  \n      - name: default-secret\n
                2. \u793a\u4f8b\u4e8c\uff1a\u521b\u5efa\u4e00\u4e2a Volcano Job\uff0c\u5e76\u4f7f\u7528 NUMA \u4eb2\u548c\u6027\u3002

                  apiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: vj-test  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 1  \n  tasks:  \n    - replicas: 1  \n      name: \"test\"  \n      topologyPolicy: best-effort   # set the topology policy for task  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                limits:  \n                  cpu: 20  \n                  memory: \"100Mi\"  \n          restartPolicy: OnFailure\n
                "},{"location":"admin/kpanda/gpu/volcano/numa.html#numa_2","title":"NUMA \u8c03\u5ea6\u5206\u6790","text":"

                \u5047\u8bbe NUMA \u8282\u70b9\u60c5\u51b5\u5982\u4e0b\uff1a

                \u5de5\u4f5c\u8282\u70b9 \u8282\u70b9\u7b56\u7565\u62d3\u6251\u7ba1\u7406\u5668\u7b56\u7565 NUMA \u8282\u70b9 0 \u4e0a\u7684\u53ef\u5206\u914d CPU NUMA \u8282\u70b9 1 \u4e0a\u7684\u53ef\u5206\u914d CPU node-1 single-numa-node 16U 16U node-2 best-effort 16U 16U node-3 best-effort 20U 20U
                • \u793a\u4f8b\u4e00\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a 2U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201csingle-numa-node\u201d\uff0c\u56e0\u6b64\u4f1a\u88ab\u8c03\u5ea6\u5230\u76f8\u540c\u7b56\u7565\u7684 node-1\u3002
                • \u793a\u4f8b\u4e8c\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a20U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201cbest-effort\u201d\uff0c\u5b83\u5c06\u88ab\u8c03\u5ea6\u5230 node-3\uff0c \u56e0\u4e3a node-3 \u53ef\u4ee5\u5728\u5355\u4e2a NUMA \u8282\u70b9\u4e0a\u5206\u914d Pod \u7684 CPU \u8bf7\u6c42\uff0c\u800c node-2 \u9700\u8981\u5728\u4e24\u4e2a NUMA \u8282\u70b9\u4e0a\u6267\u884c\u6b64\u64cd\u4f5c\u3002
                "},{"location":"admin/kpanda/gpu/volcano/numa.html#cpu","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5","text":"

                \u60a8\u53ef\u4ee5\u901a\u8fc7 lscpu \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5\uff1a

                lscpu \n... \nCPU(s): 32 \nNUMA node(s): 2 \nNUMA node0 CPU(s): 0-15 \nNUMA node1 CPU(s): 16-31\n
                "},{"location":"admin/kpanda/gpu/volcano/numa.html#cpu_1","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d","text":"

                \u7136\u540e\u67e5\u770b NUMA \u8282\u70b9\u4f7f\u7528\u60c5\u51b5\uff1a

                # \u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d\ncat /var/lib/kubelet/cpu_manager_state\n{\"policyName\":\"static\",\"defaultCpuSet\":\"0,10-15,25-31\",\"entries\":{\"777870b5-c64f-42f5-9296-688b9dc212ba\":{\"container-1\":\"16-24\"},\"fb15e10a-b6a5-4aaa-8fcd-76c1aa64e6fd\":{\"container-1\":\"1-9\"}},\"checksum\":318470969}\n

                \u4ee5\u4e0a\u793a\u4f8b\u4e2d\u8868\u793a\uff0c\u8282\u70b9\u4e0a\u8fd0\u884c\u4e86\u4e24\u4e2a\u5bb9\u5668\uff0c\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node0 \u76841-9 \u6838\uff0c\u53e6\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node1 \u7684 16-24 \u6838\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano-gang-scheduler.html","title":"\u4f7f\u7528 Volcano \u7684 Gang Scheduler","text":"

                Gang \u8c03\u5ea6\u7b56\u7565\u662f volcano-scheduler \u7684\u6838\u5fc3\u8c03\u5ea6\u7b97\u6cd5\u4e4b\u4e00\uff0c\u5b83\u6ee1\u8db3\u4e86\u8c03\u5ea6\u8fc7\u7a0b\u4e2d\u7684 \u201cAll or nothing\u201d \u7684\u8c03\u5ea6\u9700\u6c42\uff0c \u907f\u514d Pod \u7684\u4efb\u610f\u8c03\u5ea6\u5bfc\u81f4\u96c6\u7fa4\u8d44\u6e90\u7684\u6d6a\u8d39\u3002\u5177\u4f53\u7b97\u6cd5\u662f\uff0c\u89c2\u5bdf Job \u4e0b\u7684 Pod \u5df2\u8c03\u5ea6\u6570\u91cf\u662f\u5426\u6ee1\u8db3\u4e86\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\uff0c \u5f53 Job \u7684\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\u5f97\u5230\u6ee1\u8db3\u65f6\uff0c\u4e3a Job \u4e0b\u7684\u6240\u6709 Pod \u6267\u884c\u8c03\u5ea6\u52a8\u4f5c\uff0c\u5426\u5219\uff0c\u4e0d\u6267\u884c\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano-gang-scheduler.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                \u57fa\u4e8e\u5bb9\u5668\u7ec4\u6982\u5ff5\u7684 Gang \u8c03\u5ea6\u7b97\u6cd5\u5341\u5206\u9002\u5408\u9700\u8981\u591a\u8fdb\u7a0b\u534f\u4f5c\u7684\u573a\u666f\u3002AI \u573a\u666f\u5f80\u5f80\u5305\u542b\u590d\u6742\u7684\u6d41\u7a0b\uff0c Data Ingestion\u3001Data Analysts\u3001Data Splitting\u3001Trainer\u3001Serving\u3001Logging \u7b49\uff0c \u9700\u8981\u4e00\u7ec4\u5bb9\u5668\u8fdb\u884c\u534f\u540c\u5de5\u4f5c\uff0c\u5c31\u5f88\u9002\u5408\u57fa\u4e8e\u5bb9\u5668\u7ec4\u7684 Gang \u8c03\u5ea6\u7b56\u7565\u3002 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\uff0c\u7531\u4e8e\u9700\u8981\u4e3b\u4ece\u8fdb\u7a0b\u534f\u540c\u5de5\u4f5c\uff0c\u4e5f\u975e\u5e38\u9002\u5408\u4f7f\u7528 Gang \u8c03\u5ea6\u7b56\u7565\u3002 \u5bb9\u5668\u7ec4\u4e0b\u7684\u5bb9\u5668\u9ad8\u5ea6\u76f8\u5173\u4e5f\u53ef\u80fd\u5b58\u5728\u8d44\u6e90\u4e89\u62a2\uff0c\u6574\u4f53\u8c03\u5ea6\u5206\u914d\uff0c\u80fd\u591f\u6709\u6548\u89e3\u51b3\u6b7b\u9501\u3002

                \u5728\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\u7684\u573a\u666f\u4e0b\uff0cGang \u7684\u8c03\u5ea6\u7b56\u7565\u5bf9\u4e8e\u96c6\u7fa4\u8d44\u6e90\u7684\u5229\u7528\u7387\u7684\u63d0\u5347\u662f\u975e\u5e38\u660e\u663e\u7684\u3002 \u6bd4\u5982\u96c6\u7fa4\u73b0\u5728\u53ea\u80fd\u5bb9\u7eb3 2 \u4e2a Pod\uff0c\u73b0\u5728\u8981\u6c42\u6700\u5c0f\u8c03\u5ea6\u7684 Pod \u6570\u4e3a 3\u3002 \u90a3\u73b0\u5728\u8fd9\u4e2a Job \u7684\u6240\u6709\u7684 Pod \u90fd\u4f1a pending\uff0c\u76f4\u5230\u96c6\u7fa4\u80fd\u591f\u5bb9\u7eb3 3 \u4e2a Pod\uff0cPod \u624d\u4f1a\u88ab\u8c03\u5ea6\u3002 \u6709\u6548\u9632\u6b62\u8c03\u5ea6\u90e8\u5206 Pod\uff0c\u4e0d\u6ee1\u8db3\u8981\u6c42\u53c8\u5360\u7528\u4e86\u8d44\u6e90\uff0c\u4f7f\u5176\u4ed6 Job \u65e0\u6cd5\u8fd0\u884c\u7684\u60c5\u51b5\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano-gang-scheduler.html#_2","title":"\u6982\u5ff5\u8bf4\u660e","text":"

                Gang Scheduler \u662f Volcano \u7684\u6838\u5fc3\u7684\u8c03\u5ea6\u63d2\u4ef6\uff0c\u5b89\u88c5 Volcano \u540e\u9ed8\u8ba4\u5c31\u5f00\u542f\u4e86\u3002 \u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u53ea\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u7684\u540d\u79f0\u4e3a Volcano \u5373\u53ef\u3002

                Volcano \u662f\u4ee5 PodGroup \u4e3a\u5355\u4f4d\u8fdb\u884c\u8c03\u5ea6\u7684\uff0c\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5e76\u4e0d\u9700\u8981\u624b\u52a8\u521b\u5efa PodGroup \u8d44\u6e90\uff0c Volcano \u4f1a\u6839\u636e\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4fe1\u606f\u81ea\u52a8\u521b\u5efa\u3002\u4e0b\u9762\u662f\u4e00\u4e2a PodGroup \u7684\u793a\u4f8b\uff1a

                apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  name: test\n  namespace: default\nspec:\n  minMember: 1  # (1)!\n  minResources:  # (2)!\n    cpu: \"3\"\n    memory: \"2048Mi\"\n  priorityClassName: high-prority # (3)!\n  queue: default # (4)!\n
                1. \u8868\u793a\u8be5 PodGroup \u4e0b \u6700\u5c11 \u9700\u8981\u8fd0\u884c\u7684 Pod \u6216\u4efb\u52a1\u6570\u91cf\u3002 \u5982\u679c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u6ee1\u8db3 miniMember \u6570\u91cf\u4efb\u52a1\u7684\u8fd0\u884c\u9700\u6c42\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                2. \u8868\u793a\u8fd0\u884c\u8be5 PodGroup \u6240\u9700\u8981\u7684\u6700\u5c11\u8d44\u6e90\u3002\u5f53\u96c6\u7fa4\u53ef\u5206\u914d\u8d44\u6e90\u4e0d\u6ee1\u8db3 minResources \u65f6\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                3. \u8868\u793a\u8be5 PodGroup \u7684\u4f18\u5148\u7ea7\uff0c\u7528\u4e8e\u8c03\u5ea6\u5668\u4e3a\u8be5 queue \u4e2d\u6240\u6709 PodGroup \u8fdb\u884c\u8c03\u5ea6\u65f6\u8fdb\u884c\u6392\u5e8f\u3002 system-node-critical \u548c system-cluster-critical \u662f 2 \u4e2a\u9884\u7559\u7684\u503c\uff0c\u8868\u793a\u6700\u9ad8\u4f18\u5148\u7ea7\u3002\u4e0d\u7279\u522b\u6307\u5b9a\u65f6\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u4f18\u5148\u7ea7\u6216 zero \u4f18\u5148\u7ea7\u3002
                4. \u8868\u793a\u8be5 PodGroup \u6240\u5c5e\u7684 queue\u3002queue \u5fc5\u987b\u63d0\u524d\u5df2\u521b\u5efa\u4e14\u72b6\u6001\u4e3a open\u3002
                "},{"location":"admin/kpanda/gpu/volcano/volcano-gang-scheduler.html#_3","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                \u5728 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\u4e2d\uff0c\u6211\u4eec\u8981\u786e\u4fdd\u6240\u6709\u7684 Pod \u90fd\u80fd\u8c03\u5ea6\u6210\u529f\u624d\u80fd\u4fdd\u8bc1\u4efb\u52a1\u6b63\u5e38\u5b8c\u6210\u3002 \u8bbe\u7f6e minAvailable \u4e3a 4\uff0c\u8868\u793a\u8981\u6c42 1 \u4e2a mpimaster \u548c 3 \u4e2a mpiworker \u80fd\u8fd0\u884c\u3002

                apiVersion: batch.volcano.sh/v1alpha1\nkind: Job\nmetadata:\n  name: lm-mpi-job\n  labels:\n    \"volcano.sh/job-type\": \"MPI\"\nspec:\n  minAvailable: 4\n  schedulerName: volcano\n  plugins:\n    ssh: []\n    svc: []\n  policies:\n    - event: PodEvicted\n      action: RestartJob\n  tasks:\n    - replicas: 1\n      name: mpimaster\n      policies:\n        - event: TaskCompleted\n          action: CompleteJob\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  MPI_HOST=`cat /etc/volcano/mpiworker.host | tr \"\\n\" \",\"`;\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd;\n                  mpiexec --allow-run-as-root --host ${MPI_HOST} -np 3 mpi_hello_world;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpimaster\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"500m\"\n                limits:\n                  cpu: \"500m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n    - replicas: 3\n      name: mpiworker\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd -D;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpiworker\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"1000m\"\n                limits:\n                  cpu: \"1000m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n

                \u751f\u6210 PodGroup \u7684\u8d44\u6e90\uff1a

                apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  annotations:\n  creationTimestamp: \"2024-05-28T09:18:50Z\"\n  generation: 5\n  labels:\n    volcano.sh/job-type: MPI\n  name: lm-mpi-job-9c571015-37c7-4a1a-9604-eaa2248613f2\n  namespace: default\n  ownerReferences:\n  - apiVersion: batch.volcano.sh/v1alpha1\n    blockOwnerDeletion: true\n    controller: true\n    kind: Job\n    name: lm-mpi-job\n    uid: 9c571015-37c7-4a1a-9604-eaa2248613f2\n  resourceVersion: \"25173454\"\n  uid: 7b04632e-7cff-4884-8e9a-035b7649d33b\nspec:\n  minMember: 4\n  minResources:\n    count/pods: \"4\"\n    cpu: 3500m\n    limits.cpu: 3500m\n    pods: \"4\"\n    requests.cpu: 3500m\n  minTaskMember:\n    mpimaster: 1\n    mpiworker: 3\n  queue: default\nstatus:\n  conditions:\n  - lastTransitionTime: \"2024-05-28T09:19:01Z\"\n    message: '3/4 tasks in gang unschedulable: pod group is not ready, 1 Succeeded,\n      3 Releasing, 4 minAvailable'\n    reason: NotEnoughResources\n    status: \"True\"\n    transitionID: f875efa5-0358-4363-9300-06cebc0e7466\n    type: Unschedulable\n  - lastTransitionTime: \"2024-05-28T09:18:53Z\"\n    reason: tasks in gang are ready to be scheduled\n    status: \"True\"\n    transitionID: 5a7708c8-7d42-4c33-9d97-0581f7c06dab\n    type: Scheduled\n  phase: Pending\n  succeeded: 1\n

                \u4ece PodGroup \u53ef\u4ee5\u770b\u51fa\uff0c\u901a\u8fc7 ownerReferences \u5173\u8054\u5230\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u8bbe\u7f6e\u6700\u5c0f\u8fd0\u884c\u7684 Pod \u6570\u4e3a 4\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano_binpack.html","title":"\u4f7f\u7528 Volcano Binpack \u8c03\u5ea6\u7b56\u7565","text":"

                Binpack \u8c03\u5ea6\u7b97\u6cd5\u7684\u76ee\u6807\u662f\u5c3d\u91cf\u628a\u5df2\u88ab\u5360\u7528\u7684\u8282\u70b9\u586b\u6ee1\uff08\u5c3d\u91cf\u4e0d\u5f80\u7a7a\u767d\u8282\u70b9\u5206\u914d\uff09\u3002\u5177\u4f53\u5b9e\u73b0\u4e0a\uff0cBinpack \u8c03\u5ea6\u7b97\u6cd5\u4f1a\u7ed9\u6295\u9012\u7684\u8282\u70b9\u6253\u5206\uff0c \u5206\u6570\u8d8a\u9ad8\u8868\u793a\u8282\u70b9\u7684\u8d44\u6e90\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u901a\u8fc7\u5c3d\u53ef\u80fd\u586b\u6ee1\u8282\u70b9\uff0c\u5c06\u5e94\u7528\u8d1f\u8f7d\u9760\u62e2\u5728\u90e8\u5206\u8282\u70b9\uff0c\u8fd9\u79cd\u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u5c3d\u53ef\u80fd\u51cf\u5c0f\u8282\u70b9\u5185\u7684\u788e\u7247\uff0c \u5728\u7a7a\u95f2\u7684\u673a\u5668\u4e0a\u4e3a\u7533\u8bf7\u4e86\u66f4\u5927\u8d44\u6e90\u8bf7\u6c42\u7684 Pod \u9884\u7559\u8db3\u591f\u7684\u8d44\u6e90\u7a7a\u95f4\uff0c\u4f7f\u96c6\u7fa4\u4e0b\u7a7a\u95f2\u8d44\u6e90\u5f97\u5230\u6700\u5927\u5316\u7684\u5229\u7528\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano_binpack.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"

                \u9884\u5148\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u5b89\u88c5 Volcano \u7ec4\u4ef6\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano_binpack.html#binpack","title":"Binpack \u7b97\u6cd5\u539f\u7406","text":"

                Binpack \u5728\u5bf9\u4e00\u4e2a\u8282\u70b9\u6253\u5206\u65f6\uff0c\u4f1a\u6839\u636e Binpack \u63d2\u4ef6\u81ea\u8eab\u6743\u91cd\u548c\u5404\u8d44\u6e90\u8bbe\u7f6e\u7684\u6743\u91cd\u503c\u7efc\u5408\u6253\u5206\u3002 \u9996\u5148\uff0c\u5bf9 Pod \u8bf7\u6c42\u8d44\u6e90\u4e2d\u7684\u6bcf\u7c7b\u8d44\u6e90\u4f9d\u6b21\u6253\u5206\uff0c\u4ee5 CPU \u4e3a\u4f8b\uff0cCPU \u8d44\u6e90\u5728\u5f85\u8c03\u5ea6\u8282\u70b9\u7684\u5f97\u5206\u4fe1\u606f\u5982\u4e0b\uff1a

                CPU.weight * (request + used) / allocatable\n

                \u5373 CPU \u6743\u91cd\u503c\u8d8a\u9ad8\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u91cf\u8d8a\u6ee1\uff0c\u5f97\u5206\u8d8a\u9ad8\u3002Memory\u3001GPU \u7b49\u8d44\u6e90\u539f\u7406\u7c7b\u4f3c\u3002\u5176\u4e2d\uff1a

                • CPU.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684 CPU \u6743\u91cd
                • request \u4e3a\u5f53\u524d Pod \u8bf7\u6c42\u7684 CPU \u8d44\u6e90\u91cf
                • used \u4e3a\u5f53\u524d\u8282\u70b9\u5df2\u7ecf\u5206\u914d\u4f7f\u7528\u7684 CPU \u91cf
                • allocatable \u4e3a\u5f53\u524d\u8282\u70b9 CPU \u53ef\u7528\u603b\u91cf

                \u901a\u8fc7 Binpack \u7b56\u7565\u7684\u8282\u70b9\u603b\u5f97\u5206\u5982\u4e0b\uff1a

                binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                \u5373 Binpack \u63d2\u4ef6\u7684\u6743\u91cd\u503c\u8d8a\u5927\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u67d0\u7c7b\u8d44\u6e90\u7684\u6743\u91cd\u8d8a\u5927\uff0c\u8be5\u8d44\u6e90\u5728\u6253\u5206\u65f6\u7684\u5360\u6bd4\u8d8a\u5927\u3002\u5176\u4e2d\uff1a

                • binpack.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684\u88c5\u7bb1\u8c03\u5ea6\u7b56\u7565\u6743\u91cd
                • CPU.score \u4e3a CPU \u8d44\u6e90\u5f97\u5206\uff0cCPU.weight \u4e3a CPU \u6743\u91cd
                • Memory.score \u4e3a Memory \u8d44\u6e90\u5f97\u5206\uff0cMemory.weight \u4e3a Memory \u6743\u91cd
                • GPU.score \u4e3a GPU \u8d44\u6e90\u5f97\u5206\uff0cGPU.weight \u4e3a GPU \u6743\u91cd

                \u5982\u56fe\u6240\u793a\uff0c\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u8282\u70b9\uff0c\u5206\u522b\u4e3a Node1 \u548c Node 2\uff0c\u5728\u8c03\u5ea6 Pod \u65f6\uff0cBinpack \u7b56\u7565\u5bf9\u4e24\u4e2a\u8282\u70b9\u5206\u522b\u6253\u5206\u3002 \u5047\u8bbe\u96c6\u7fa4\u4e2d CPU.weight \u914d\u7f6e\u4e3a 1\uff0cMemory.weight \u914d\u7f6e\u4e3a 1\uff0cGPU.weight \u914d\u7f6e\u4e3a 2\uff0cbinpack.weight \u914d\u7f6e\u4e3a 5\u3002

                1. Binpack \u5bf9 Node 1 \u7684\u8d44\u6e90\u6253\u5206\uff0c\u5404\u8d44\u6e90\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                  • CPU Score\uff1a

                    CPU.weight - (request + used) / allocatable = 1 - (2 + 4) / 8 = 0.75

                  • Memory Score\uff1a

                    Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                  • GPU Score\uff1a

                    GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                2. \u8282\u70b9\u603b\u5f97\u5206\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                  binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                  \u5047\u8bbe binpack.weight \u914d\u7f6e\u4e3a 5\uff0cNode 1 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                  5 - (0.75 + 0.75 + 2) / (1 + 1 + 2) - 100 = 437.5\n
                3. Binpack \u5bf9 Node 2 \u7684\u8d44\u6e90\u6253\u5206\uff1a

                  • CPU Score\uff1a

                    CPU.weight - (request + used) / allocatable = 1 - (2 + 6) / 8 = 1

                  • Memory Score\uff1a

                    Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                  • GPU Score\uff1a

                    GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                4. Node 2 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                  5 - (1 + 0.75 + 2) / (1 + 1 + 2) - 100 = 468.75\n

                \u7efc\u4e0a\uff0cNode 2 \u5f97\u5206\u5927\u4e8e Node 1\uff0c\u6309\u7167 Binpack \u7b56\u7565\uff0cPod \u5c06\u4f1a\u4f18\u5148\u8c03\u5ea6\u81f3 Node 2\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano_binpack.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                Binpack \u8c03\u5ea6\u63d2\u4ef6\u5728\u5b89\u88c5 Volcano \u7684\u65f6\u5019\u9ed8\u8ba4\u5c31\u4f1a\u5f00\u542f\uff1b\u5982\u679c\u7528\u6237\u6ca1\u6709\u914d\u7f6e\u6743\u91cd\uff0c\u5219\u4f7f\u7528\u5982\u4e0b\u9ed8\u8ba4\u7684\u914d\u7f6e\u6743\u91cd\u3002

                - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 1\n        binpack.cpu: 1\n        binpack.memory: 1\n

                \u9ed8\u8ba4\u6743\u91cd\u4e0d\u80fd\u4f53\u73b0\u5806\u53e0\u7279\u6027\uff0c\u56e0\u6b64\u9700\u8981\u4fee\u6539\u4e3a binpack.weight: 10\u3002

                kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 10\n        binpack.cpu: 1\n        binpack.memory: 1\n        binpack.resources: nvidia.com/gpu, example.com/foo\n        binpack.resources.nvidia.com/gpu: 2\n        binpack.resources.example.com/foo: 3\n

                \u6539\u597d\u4e4b\u540e\u91cd\u542f volcano-scheduler Pod \u4f7f\u5176\u751f\u6548\u3002

                \u521b\u5efa\u5982\u4e0b\u7684 Deployment\u3002

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: binpack-test\n  labels:\n    app: binpack-test\nspec:\n  replicas: 2\n  selector:\n    matchLabels:\n      app: test\n  template:\n    metadata:\n      labels:\n        app: test\n    spec:\n      schedulerName: volcano\n      containers:\n        - name: test\n          image: busybox\n          imagePullPolicy: IfNotPresent\n          command: [\"sh\", \"-c\", 'echo \"Hello, Kubernetes!\" && sleep 3600']\n          resources:\n            requests:\n              cpu: 500m\n            limits:\n              cpu: 500m\n

                \u5728\u4e24\u4e2a Node \u7684\u96c6\u7fa4\u4e0a\u53ef\u4ee5\u770b\u5230 Pod \u88ab\u8c03\u5ea6\u5230\u4e00\u4e2a Node \u4e0a\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano_priority.html","title":"\u4f18\u5148\u7ea7\u62a2\u5360\uff08Preemption scheduling\uff09\u7b56\u7565","text":"

                Volcano \u901a\u8fc7 Priority \u63d2\u4ef6\u5b9e\u73b0\u4e86\u4f18\u5148\u7ea7\u62a2\u5360\u7b56\u7565\uff0c\u5373 Preemption scheduling \u7b56\u7565\u3002\u5728\u96c6\u7fa4\u8d44\u6e90\u6709\u9650\u4e14\u591a\u4e2a Job \u7b49\u5f85\u8c03\u5ea6\u65f6\uff0c \u5982\u679c\u4f7f\u7528 Kubernetes \u9ed8\u8ba4\u8c03\u5ea6\u5668\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u5177\u6709\u66f4\u591a Pod \u6570\u91cf\u7684 Job \u5206\u5f97\u66f4\u591a\u8d44\u6e90\u3002\u800c Volcano-scheduler \u63d0\u4f9b\u4e86\u7b97\u6cd5\uff0c\u652f\u6301\u4e0d\u540c\u7684 Job \u4ee5 fair-share \u7684\u5f62\u5f0f\u5171\u4eab\u96c6\u7fa4\u8d44\u6e90\u3002

                Priority \u63d2\u4ef6\u5141\u8bb8\u7528\u6237\u81ea\u5b9a\u4e49 Job \u548c Task \u7684\u4f18\u5148\u7ea7\uff0c\u5e76\u6839\u636e\u9700\u6c42\u5728\u4e0d\u540c\u5c42\u6b21\u4e0a\u5b9a\u5236\u8c03\u5ea6\u7b56\u7565\u3002 \u4f8b\u5982\uff0c\u5bf9\u4e8e\u91d1\u878d\u573a\u666f\u3001\u7269\u8054\u7f51\u76d1\u63a7\u573a\u666f\u7b49\u9700\u8981\u8f83\u9ad8\u5b9e\u65f6\u6027\u7684\u5e94\u7528\uff0cPriority \u63d2\u4ef6\u80fd\u591f\u786e\u4fdd\u5176\u4f18\u5148\u5f97\u5230\u8c03\u5ea6\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano_priority.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                \u4f18\u5148\u7ea7\u7684\u51b3\u5b9a\u57fa\u4e8e\u914d\u7f6e\u7684 PriorityClass \u4e2d\u7684 Value \u503c\uff0c\u503c\u8d8a\u5927\u4f18\u5148\u7ea7\u8d8a\u9ad8\u3002\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4fee\u6539\u3002\u53ef\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u6216\u4fee\u6539\u3002

                kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                "},{"location":"admin/kpanda/gpu/volcano/volcano_priority.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                \u5047\u8bbe\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u7a7a\u95f2\u8282\u70b9\uff0c\u5e76\u6709\u4e09\u4e2a\u4f18\u5148\u7ea7\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff1ahigh-priority\u3001med-priority \u548c low-priority\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u5e76\u5360\u6ee1\u96c6\u7fa4\u8d44\u6e90\u540e\uff0c\u518d\u63d0\u4ea4 med-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u3002 \u7531\u4e8e\u96c6\u7fa4\u8d44\u6e90\u5168\u90e8\u88ab\u66f4\u9ad8\u4f18\u5148\u7ea7\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5360\u7528\uff0cmed-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u5904\u4e8e pending \u72b6\u6001\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u7ed3\u675f\u540e\uff0c\u6839\u636e\u4f18\u5148\u7ea7\u8c03\u5ea6\u539f\u5219\uff0cmed-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u4f18\u5148\u88ab\u8c03\u5ea6\u3002

                1. \u901a\u8fc7 priority.yaml \u521b\u5efa 3 \u4e2a\u4f18\u5148\u7ea7\u5b9a\u4e49\uff0c\u5206\u522b\u4e3a\uff1ahigh-priority\uff0cmed-priority\uff0clow-priority\u3002

                  \u67e5\u770b priority.yaml

                  cat <<EOF | kubectl apply -f - \napiVersion: scheduling.k8s.io/v1 \nkind: PriorityClass \nitems: \n  - metadata: \n      name: high-priority \n    value: 100 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: med-priority \n    value: 50 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: low-priority \n    value: 10 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \nEOF\n
                  2. \u67e5\u770b\u4f18\u5148\u7ea7\u5b9a\u4e49\u4fe1\u606f\u3002

                  kubectl get PriorityClass\n
                  NAME                      VALUE        GLOBAL-DEFAULT   AGE  \nhigh-priority             100          false            97s  \nlow-priority              10           false            97s  \nmed-priority              50           false            97s  \nsystem-cluster-critical   2000000000   false            6d6h  \nsystem-node-critical      2000001000   false            6d6h\n

                2. \u521b\u5efa\u9ad8\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d high-priority-job\uff0c\u5360\u7528\u96c6\u7fa4\u7684\u5168\u90e8\u8d44\u6e90\u3002

                  \u67e5\u770b high-priority-job
                  cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-high  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: high-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                  \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod\u8fd0\u884c \u4fe1\u606f\uff1a

                  kubectl get pods\n
                  NAME                   READY   STATUS    RESTARTS   AGE  \npriority-high-test-0   1/1     Running   0          3s  \npriority-high-test-1   1/1     Running   0          3s  \npriority-high-test-2   1/1     Running   0          3s  \npriority-high-test-3   1/1     Running   0          3s\n

                  \u6b64\u65f6\uff0c\u96c6\u7fa4\u8282\u70b9\u8d44\u6e90\u5df2\u5168\u90e8\u88ab\u5360\u7528\u3002

                3. \u521b\u5efa\u4e2d\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d med-priority-job \u548c\u4f4e\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d low-priority-job\u3002

                  med-priority-job
                  cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-medium  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: med-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n
                  low-priority-job
                  cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-low  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: low-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                  \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod \u8fd0\u884c\u4fe1\u606f\uff0c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\uff0cPod \u5904\u4e8e Pending \u72b6\u6001\uff1a

                  kubectl get pods\n
                  NAME                     READY   STATUS    RESTARTS   AGE  \npriority-high-test-0     1/1     Running   0          3m29s  \npriority-high-test-1     1/1     Running   0          3m29s  \npriority-high-test-2     1/1     Running   0          3m29s  \npriority-high-test-3     1/1     Running   0          3m29s  \npriority-low-test-0      0/1     Pending   0          2m26s  \npriority-low-test-1      0/1     Pending   0          2m26s  \npriority-low-test-2      0/1     Pending   0          2m26s  \npriority-low-test-3      0/1     Pending   0          2m26s  \npriority-medium-test-0   0/1     Pending   0          2m36s  \npriority-medium-test-1   0/1     Pending   0          2m36s  \npriority-medium-test-2   0/1     Pending   0          2m36s  \npriority-medium-test-3   0/1     Pending   0          2m36s\n

                4. \u5220\u9664 high_priority_job \u5de5\u4f5c\u8d1f\u8f7d\uff0c\u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0cmed_priority_job \u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002 \u6267\u884c kubectl delete -f high_priority_job.yaml \u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0c\u67e5\u770b Pod \u7684\u8c03\u5ea6\u4fe1\u606f\uff1a

                  kubectl get pods\n
                  NAME                     READY   STATUS    RESTARTS   AGE  \npriority-low-test-0      0/1     Pending   0          5m18s  \npriority-low-test-1      0/1     Pending   0          5m18s  \npriority-low-test-2      0/1     Pending   0          5m18s  \npriority-low-test-3      0/1     Pending   0          5m18s  \npriority-medium-test-0   1/1     Running   0          5m28s  \npriority-medium-test-1   1/1     Running   0          5m28s  \npriority-medium-test-2   1/1     Running   0          5m28s  \npriority-medium-test-3   1/1     Running   0          5m28s\n

                "},{"location":"admin/kpanda/gpu/volcano/volcano_user_guide.html","title":"\u5b89\u88c5 Volcano","text":"

                \u968f\u7740 Kubernetes\uff08K8s\uff09\u6210\u4e3a\u4e91\u539f\u751f\u5e94\u7528\u7f16\u6392\u4e0e\u7ba1\u7406\u7684\u9996\u9009\u5e73\u53f0\uff0c\u4f17\u591a\u5e94\u7528\u6b63\u79ef\u6781\u5411 K8s \u8fc1\u79fb\u3002 \u5728\u4eba\u5de5\u667a\u80fd\u4e0e\u673a\u5668\u5b66\u4e60\u9886\u57df\uff0c\u7531\u4e8e\u8fd9\u4e9b\u4efb\u52a1\u901a\u5e38\u6d89\u53ca\u5927\u91cf\u8ba1\u7b97\uff0c\u5f00\u53d1\u8005\u503e\u5411\u4e8e\u5728 Kubernetes \u4e0a\u6784\u5efa AI \u5e73\u53f0\uff0c \u4ee5\u5145\u5206\u5229\u7528\u5176\u5728\u8d44\u6e90\u7ba1\u7406\u3001\u5e94\u7528\u7f16\u6392\u53ca\u8fd0\u7ef4\u76d1\u63a7\u65b9\u9762\u7684\u4f18\u52bf\u3002

                \u7136\u800c\uff0cKubernetes \u7684\u9ed8\u8ba4\u8c03\u5ea6\u5668\u4e3b\u8981\u9488\u5bf9\u957f\u671f\u8fd0\u884c\u7684\u670d\u52a1\u8bbe\u8ba1\uff0c\u5bf9\u4e8e AI\u3001\u5927\u6570\u636e\u7b49\u9700\u8981\u6279\u91cf\u548c\u5f39\u6027\u8c03\u5ea6\u7684\u4efb\u52a1\u5b58\u5728\u8bf8\u591a\u4e0d\u8db3\u3002 \u4f8b\u5982\uff0c\u5728\u8d44\u6e90\u7ade\u4e89\u6fc0\u70c8\u7684\u60c5\u51b5\u4e0b\uff0c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u53ef\u80fd\u5bfc\u81f4\u8d44\u6e90\u5206\u914d\u4e0d\u5747\uff0c\u8fdb\u800c\u5f71\u54cd\u4efb\u52a1\u7684\u6b63\u5e38\u6267\u884c\u3002

                \u4ee5 TensorFlow \u4f5c\u4e1a\u4e3a\u4f8b\uff0c\u5176\u5305\u542b PS\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\u548c Worker \u4e24\u79cd\u89d2\u8272\uff0c\u4e24\u8005\u9700\u534f\u540c\u5de5\u4f5c\u624d\u80fd\u5b8c\u6210\u4efb\u52a1\u3002 \u82e5\u4ec5\u90e8\u7f72\u5355\u4e00\u89d2\u8272\uff0c\u4f5c\u4e1a\u5c06\u65e0\u6cd5\u8fd0\u884c\u3002\u800c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u5bf9 Pod \u7684\u8c03\u5ea6\u662f\u9010\u4e2a\u8fdb\u884c\u7684\uff0c\u65e0\u6cd5\u611f\u77e5 TFJob \u4e2d PS \u548c Worker \u7684\u4f9d\u8d56\u5173\u7cfb\u3002 \u5728\u9ad8\u8d1f\u8f7d\u60c5\u51b5\u4e0b\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u591a\u4e2a\u4f5c\u4e1a\u5404\u81ea\u5206\u914d\u5230\u90e8\u5206\u8d44\u6e90\uff0c\u4f46\u5747\u65e0\u6cd5\u5b8c\u6210\uff0c\u4ece\u800c\u9020\u6210\u8d44\u6e90\u6d6a\u8d39\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano_user_guide.html#volcano_1","title":"Volcano \u7684\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf","text":"

                Volcano \u63d0\u4f9b\u4e86\u591a\u79cd\u8c03\u5ea6\u7b56\u7565\uff0c\u4ee5\u5e94\u5bf9\u4e0a\u8ff0\u6311\u6218\u3002\u5176\u4e2d\uff0cGang-scheduling \u7b56\u7565\u80fd\u786e\u4fdd\u5206\u5e03\u5f0f\u673a\u5668\u5b66\u4e60\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u591a\u4e2a\u4efb\u52a1\uff08Pod\uff09\u540c\u65f6\u542f\u52a8\uff0c \u907f\u514d\u6b7b\u9501\uff1bPreemption scheduling \u7b56\u7565\u5219\u5141\u8bb8\u9ad8\u4f18\u5148\u7ea7\u4f5c\u4e1a\u5728\u8d44\u6e90\u4e0d\u8db3\u65f6\u62a2\u5360\u4f4e\u4f18\u5148\u7ea7\u4f5c\u4e1a\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u5173\u952e\u4efb\u52a1\u4f18\u5148\u5b8c\u6210\u3002

                \u6b64\u5916\uff0cVolcano \u4e0e Spark\u3001TensorFlow\u3001PyTorch \u7b49\u4e3b\u6d41\u8ba1\u7b97\u6846\u67b6\u65e0\u7f1d\u5bf9\u63a5\uff0c\u5e76\u652f\u6301 CPU \u548c GPU \u7b49\u5f02\u6784\u8bbe\u5907\u7684\u6df7\u5408\u8c03\u5ea6\uff0c\u4e3a AI \u8ba1\u7b97\u4efb\u52a1\u63d0\u4f9b\u4e86\u5168\u9762\u7684\u4f18\u5316\u652f\u6301\u3002

                \u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u548c\u4f7f\u7528 Volcano\uff0c\u4ee5\u4fbf\u60a8\u80fd\u591f\u5145\u5206\u5229\u7528\u5176\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf\uff0c\u4f18\u5316 AI \u8ba1\u7b97\u4efb\u52a1\u3002

                "},{"location":"admin/kpanda/gpu/volcano/volcano_user_guide.html#volcano_2","title":"\u5b89\u88c5 Volcano","text":"
                1. \u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 -> Helm \u6a21\u677f \u4e2d\u627e\u5230 Volcano \u5e76\u5b89\u88c5\u3002

                2. \u68c0\u67e5\u5e76\u786e\u8ba4 Volcano \u662f\u5426\u5b89\u88c5\u5b8c\u6210\uff0c\u5373 volcano-admission\u3001volcano-controllers\u3001volcano-scheduler \u7ec4\u4ef6\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

                \u901a\u5e38 Volcano \u4f1a\u548c AI Lab \u5e73\u53f0\u914d\u5408\u4f7f\u7528\uff0c\u4ee5\u5b9e\u73b0\u6570\u636e\u96c6\u3001Notebook\u3001\u4efb\u52a1\u8bad\u7ec3\u7684\u6574\u4e2a\u5f00\u53d1\u3001\u8bad\u7ec3\u6d41\u7a0b\u7684\u6709\u6548\u95ed\u73af\u3002

                "},{"location":"admin/kpanda/helm/index.html","title":"Helm \u6a21\u677f","text":"

                Helm \u662f Kubernetes \u7684\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u65b9\u4fbf\u7528\u6237\u5feb\u901f\u53d1\u73b0\u3001\u5171\u4eab\u548c\u4f7f\u7528 Kubernetes \u6784\u5efa\u7684\u5e94\u7528\u3002\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u4e86\u4e0a\u767e\u4e2a Helm \u6a21\u677f\uff0c\u6db5\u76d6\u5b58\u50a8\u3001\u7f51\u7edc\u3001\u76d1\u63a7\u3001\u6570\u636e\u5e93\u7b49\u4e3b\u8981\u573a\u666f\u3002\u501f\u52a9\u8fd9\u4e9b\u6a21\u677f\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u5feb\u901f\u90e8\u7f72\u3001\u4fbf\u6377\u7ba1\u7406 Helm \u5e94\u7528\u3002\u6b64\u5916\uff0c\u652f\u6301\u901a\u8fc7\u6dfb\u52a0 Helm \u4ed3\u5e93 \u6dfb\u52a0\u66f4\u591a\u7684\u4e2a\u6027\u5316\u6a21\u677f\uff0c\u6ee1\u8db3\u591a\u6837\u9700\u6c42\u3002

                \u5173\u952e\u6982\u5ff5\uff1a

                \u4f7f\u7528 Helm \u65f6\u9700\u8981\u4e86\u89e3\u4ee5\u4e0b\u51e0\u4e2a\u5173\u952e\u6982\u5ff5\uff1a

                • Chart\uff1a\u4e00\u4e2a Helm \u5b89\u88c5\u5305\uff0c\u5176\u4e2d\u5305\u542b\u4e86\u8fd0\u884c\u4e00\u4e2a\u5e94\u7528\u6240\u9700\u8981\u7684\u955c\u50cf\u3001\u4f9d\u8d56\u548c\u8d44\u6e90\u5b9a\u4e49\u7b49\uff0c\u8fd8\u53ef\u80fd\u5305\u542b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u670d\u52a1\u5b9a\u4e49\uff0c\u7c7b\u4f3c Homebrew \u4e2d\u7684 formula\u3001APT \u7684 dpkg \u6216\u8005 Yum \u7684 rpm \u6587\u4ef6\u3002Chart \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u6a21\u677f \u3002

                • Release\uff1a\u5728 Kubernetes \u96c6\u7fa4\u4e0a\u8fd0\u884c\u7684\u4e00\u4e2a Chart \u5b9e\u4f8b\u3002\u4e00\u4e2a Chart \u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u591a\u6b21\u5b89\u88c5\uff0c\u6bcf\u6b21\u5b89\u88c5\u90fd\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Release\u3002Release \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u5e94\u7528 \u3002

                • Repository\uff1a\u7528\u4e8e\u53d1\u5e03\u548c\u5b58\u50a8 Chart \u7684\u5b58\u50a8\u5e93\u3002Repository \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u4ed3\u5e93\u3002

                \u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u524d\u5f80 Helm \u5b98\u7f51\u67e5\u770b\u3002

                \u76f8\u5173\u64cd\u4f5c\uff1a

                • \u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u4ecb\u7ecd\u4e0a\u4f20 Helm \u6a21\u677f\u64cd\u4f5c\u3002
                • \u7ba1\u7406 Helm \u5e94\u7528\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5378\u8f7d Helm \u5e94\u7528\uff0c\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002
                • \u7ba1\u7406 Helm \u4ed3\u5e93\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664 Helm \u4ed3\u5e93\u7b49\u3002
                "},{"location":"admin/kpanda/helm/Import-addon.html","title":"\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon","text":"

                \u672c\u6587\u4ece\u79bb\u7ebf\u548c\u5728\u7ebf\u4e24\u79cd\u73af\u5883\u8bf4\u660e\u5982\u4f55\u5c06 Helm \u5e94\u7528\u5bfc\u5165\u5230\u7cfb\u7edf\u5185\u7f6e\u7684 Addon \u4e2d\u3002

                "},{"location":"admin/kpanda/helm/Import-addon.html#_1","title":"\u79bb\u7ebf\u73af\u5883","text":"

                \u79bb\u7ebf\u73af\u5883\u6307\u7684\u662f\u65e0\u6cd5\u8fde\u901a\u4e92\u8054\u7f51\u6216\u5c01\u95ed\u7684\u79c1\u6709\u7f51\u7edc\u73af\u5883\u3002

                "},{"location":"admin/kpanda/helm/Import-addon.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5b58\u5728\u53ef\u4ee5\u8fd0\u884c\u7684\u00a0charts-syncer\u3002 \u82e5\u6ca1\u6709\uff0c\u53ef\u70b9\u51fb\u4e0b\u8f7d\u3002
                • Helm Chart \u5df2\u7ecf\u5b8c\u6210\u9002\u914d charts-syncer\u3002 \u5373\u5728 Helm Chart \u5185\u6dfb\u52a0\u4e86 .relok8s-images.yaml \u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u9700\u8981\u5305\u542b Chart \u4e2d\u6240\u6709\u4f7f\u7528\u5230\u955c\u50cf\uff0c \u4e5f\u53ef\u4ee5\u5305\u542b Chart \u4e2d\u672a\u76f4\u63a5\u4f7f\u7528\u7684\u955c\u50cf\uff0c\u7c7b\u4f3c Operator \u4e2d\u4f7f\u7528\u7684\u955c\u50cf\u3002

                Note

                • \u5982\u4f55\u7f16\u5199 Chart \u53ef\u53c2\u8003\u00a0image-hints-file\u3002 \u8981\u6c42\u955c\u50cf\u7684\u00a0registry \u548c repository \u5fc5\u987b\u5206\u5f00\uff0c\u56e0\u4e3a load \u955c\u50cf\u65f6\u9700\u66ff\u6362\u6216\u4fee\u6539 registry/repository\u3002
                • \u5b89\u88c5\u5668\u6240\u5728\u7684\u706b\u79cd\u96c6\u7fa4\u5df2\u5b89\u88c5 charts-syncer\u3002 \u82e5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u5b89\u88c5\u5668\u6240\u5728\u706b\u79cd\u96c6\u7fa4\uff0c\u53ef\u8df3\u8fc7\u4e0b\u8f7d\u76f4\u63a5\u9002\u914d\uff1b \u82e5\u672a\u5b89\u88c5\u00a0charts-syncer\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c \u53ef\u7acb\u5373\u4e0b\u8f7d\u3002
                "},{"location":"admin/kpanda/helm/Import-addon.html#helm-chart","title":"\u540c\u6b65 Helm Chart","text":"
                1. \u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u641c\u7d22 addon\uff0c\u83b7\u53d6\u5185\u7f6e\u4ed3\u5e93\u5730\u5740\u548c\u7528\u6237\u540d/\u5bc6\u7801\uff08\u7cfb\u7edf\u5185\u7f6e\u4ed3\u5e93\u9ed8\u8ba4\u7528\u6237\u540d/\u5bc6\u7801\u4e3a rootuser/rootpass123\uff09\u3002
                1. \u540c\u6b65 Helm Chart \u5230\u5bb9\u5668\u7ba1\u7406\u5185\u7f6e\u4ed3\u5e93 Addon

                  • \u7f16\u5199\u5982\u4e0b\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u914d\u7f6e\u4fee\u6539\uff0c\u5e76\u4fdd\u5b58\u4e3a sync-dao-2048.yaml\u3002

                    source:  # helm charts \u6e90\u4fe1\u606f\n  repo:\n    kind: HARBOR # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 CHARTMUSEUM\n    url: https://release-ci.daocloud.io/chartrepo/community #  \u9700\u66f4\u6539\u4e3a chart repo url\n    #auth: # \u7528\u6237\u540d/\u5bc6\u7801,\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      #username: \"admin\"\n      #password: \"Harbor12345\"\ncharts:  # \u9700\u8981\u540c\u6b65\n  - name: dao-2048 # helm charts \u4fe1\u606f\uff0c\u82e5\u4e0d\u586b\u5199\u5219\u540c\u6b65\u6e90 helm repo \u5185\u6240\u6709 charts\n    versions:\n      - 1.4.1\ntarget:  # helm charts \u76ee\u6807\u4fe1\u606f\n  containerRegistry: 10.5.14.40 # \u955c\u50cf\u4ed3\u5e93 url\n  repo:\n    kind: CHARTMUSEUM # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 HARBOR\n    url: http://10.5.14.40:8081 #  \u9700\u66f4\u6539\u4e3a\u6b63\u786e chart repo url\uff0c\u53ef\u4ee5\u901a\u8fc7 helm repo add $HELM-REPO \u9a8c\u8bc1\u5730\u5740\u662f\u5426\u6b63\u786e\n    auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      username: \"rootuser\"\n      password: \"rootpass123\"\n  containers:\n    # kind: HARBOR # \u82e5\u955c\u50cf\u4ed3\u5e93\u4e3a HARBOR \u4e14\u5e0c\u671b charts-syncer \u81ea\u52a8\u521b\u5efa\u955c\u50cf Repository \u5219\u586b\u5199\u8be5\u5b57\u6bb5  \n    # auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199 \n      # username: \"admin\"\n      # password: \"Harbor12345\"\n\n# leverage .relok8s-images.yaml file inside the Charts to move the container images too\nrelocateContainerImages: true\n
                  • \u6267\u884c charts-syncer \u547d\u4ee4\u540c\u6b65 Chart \u53ca\u5176\u5305\u542b\u7684\u955c\u50cf

                    charts-syncer sync --config sync-dao-2048.yaml --insecure --auto-create-repository\n

                    \u9884\u671f\u8f93\u51fa\u4e3a\uff1a

                    I1222 15:01:47.119777    8743 sync.go:45] Using config file: \"examples/sync-dao-2048.yaml\"\nW1222 15:01:47.234238    8743 syncer.go:263] Ignoring skipDependencies option as dependency sync is not supported if container image relocation is true or syncing from/to intermediate directory\nI1222 15:01:47.234685    8743 sync.go:58] There is 1 chart out of sync!\nI1222 15:01:47.234706    8743 sync.go:66] Syncing \"dao-2048_1.4.1\" chart...\n.relok8s-images.yaml hints file found\nComputing relocation...\n\nRelocating dao-2048@1.4.1...\nPushing 10.5.14.40/daocloud/dao-2048:v1.4.1...\nDone\nDone moving /var/folders/vm/08vw0t3j68z9z_4lcqyhg8nm0000gn/T/charts-syncer869598676/dao-2048-1.4.1.tgz\n
                2. \u5f85\u4e0a\u4e00\u6b65\u6267\u884c\u5b8c\u6210\u540e\uff0c\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u627e\u5230\u5bf9\u5e94 Addon\uff0c \u5728\u64cd\u4f5c\u680f\u70b9\u51fb\u540c\u6b65\u4ed3\u5e93\uff0c\u56de\u5230 Helm \u6a21\u677f\u5c31\u53ef\u4ee5\u770b\u5230\u4e0a\u4f20\u7684 Helm \u5e94\u7528

                3. \u540e\u7eed\u53ef\u6b63\u5e38\u8fdb\u884c\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d

                "},{"location":"admin/kpanda/helm/Import-addon.html#_3","title":"\u5728\u7ebf\u73af\u5883","text":"

                \u5728\u7ebf\u73af\u5883\u7684 Helm Repo \u5730\u5740\u4e3a release.daocloud.io\u3002 \u5982\u679c\u7528\u6237\u65e0\u6743\u9650\u6dfb\u52a0 Helm Repo\uff0c\u5219\u65e0\u6cd5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon\u3002 \u60a8\u53ef\u4ee5\u6dfb\u52a0\u81ea\u5df1\u642d\u5efa\u7684 Helm \u4ed3\u5e93\uff0c\u7136\u540e\u6309\u7167\u79bb\u7ebf\u73af\u5883\u4e2d\u540c\u6b65 Helm Chart \u7684\u6b65\u9aa4\u5c06\u60a8\u7684 Helm \u4ed3\u5e93\u96c6\u6210\u5230\u5e73\u53f0\u4f7f\u7528\u3002

                "},{"location":"admin/kpanda/helm/helm-app.html","title":"\u7ba1\u7406 Helm \u5e94\u7528","text":"

                \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9 Helm \u8fdb\u884c\u754c\u9762\u5316\u7ba1\u7406\uff0c\u5305\u62ec\u4f7f\u7528 Helm \u6a21\u677f\u521b\u5efa Helm \u5b9e\u4f8b\u3001\u81ea\u5b9a\u4e49 Helm \u5b9e\u4f8b\u53c2\u6570\u3001\u5bf9 Helm \u5b9e\u4f8b\u8fdb\u884c\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u7b49\u529f\u80fd\u3002

                \u672c\u8282\u5c06\u4ee5 cert-manager \u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u521b\u5efa\u5e76\u7ba1\u7406 Helm \u5e94\u7528\u3002

                "},{"location":"admin/kpanda/helm/helm-app.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"admin/kpanda/helm/helm-app.html#helm_1","title":"\u5b89\u88c5 Helm \u5e94\u7528","text":"

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Helm \u5e94\u7528\u3002

                1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u8fdb\u5165 Helm \u6a21\u677f\u9875\u9762\u3002

                  \u5728 Helm \u6a21\u677f\u9875\u9762\u9009\u62e9\u540d\u4e3a addon \u7684 Helm \u4ed3\u5e93\uff0c\u6b64\u65f6\u754c\u9762\u4e0a\u5c06\u5448\u73b0 addon \u4ed3\u5e93\u4e0b\u6240\u6709\u7684 Helm chart \u6a21\u677f\u3002 \u70b9\u51fb\u540d\u79f0\u4e3a cert-manager \u7684 Chart\u3002

                3. \u5728\u5b89\u88c5\u9875\u9762\uff0c\u80fd\u591f\u770b\u5230 Chart \u7684\u76f8\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u5728\u754c\u9762\u53f3\u4e0a\u89d2\u9009\u62e9\u9700\u8981\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u6b64\u5904\u9009\u62e9 v1.9.1 \u7248\u672c\u8fdb\u884c\u5b89\u88c5\u3002

                4. \u914d\u7f6e \u540d\u79f0 \u3001 \u547d\u540d\u7a7a\u95f4 \u53ca \u7248\u672c\u4fe1\u606f \uff0c\u4e5f\u53ef\u4ee5\u5728\u4e0b\u65b9\u7684 \u53c2\u6570\u914d\u7f6e \u533a\u57df\u901a\u8fc7\u4fee\u6539 YAML \u6765\u81ea\u5b9a\u4e49\u53c2\u6570\u3002\u70b9\u51fb \u786e\u5b9a \u3002

                5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u65b0\u521b\u5efa\u7684 Helm \u5e94\u7528\u72b6\u6001\u4e3a \u5b89\u88c5\u4e2d \uff0c\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002

                "},{"location":"admin/kpanda/helm/helm-app.html#helm_2","title":"\u66f4\u65b0 Helm \u5e94\u7528","text":"

                \u5f53\u6211\u4eec\u901a\u8fc7\u754c\u9762\u5b8c\u6210\u4e00\u4e2a Helm \u5e94\u7528\u7684\u5b89\u88c5\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u5bf9 Helm \u5e94\u7528\u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u3002\u6ce8\u610f\uff1a\u53ea\u6709\u901a\u8fc7\u754c\u9762\u5b89\u88c5\u7684 Helm \u5e94\u7528\u624d\u652f\u6301\u4f7f\u7528\u754c\u9762\u8fdb\u884c\u66f4\u65b0\u64cd\u4f5c\u3002

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u66f4\u65b0 Helm \u5e94\u7528\u3002

                1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                  \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u9700\u8981\u66f4\u65b0\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u66f4\u65b0 \u64cd\u4f5c\u3002

                3. \u70b9\u51fb \u66f4\u65b0 \u6309\u94ae\u540e\uff0c\u7cfb\u7edf\u5c06\u8df3\u8f6c\u81f3\u66f4\u65b0\u754c\u9762\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u8981\u5bf9 Helm \u5e94\u7528\u8fdb\u884c\u66f4\u65b0\uff0c\u6b64\u5904\u6211\u4eec\u4ee5\u66f4\u65b0 dao-2048 \u8fd9\u4e2a\u5e94\u7528\u7684 http \u7aef\u53e3\u4e3a\u4f8b\u3002

                4. \u4fee\u6539\u5b8c\u76f8\u5e94\u53c2\u6570\u540e\u3002\u60a8\u53ef\u4ee5\u5728\u53c2\u6570\u914d\u7f6e\u4e0b\u70b9\u51fb \u53d8\u5316 \u6309\u94ae\uff0c\u5bf9\u6bd4\u4fee\u6539\u524d\u540e\u7684\u6587\u4ef6\uff0c\u786e\u5b9a\u65e0\u8bef\u540e\uff0c\u70b9\u51fb\u5e95\u90e8 \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 Helm \u5e94\u7528\u7684\u66f4\u65b0\u3002

                5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u53f3\u4e0a\u89d2\u5f39\u7a97\u63d0\u793a \u66f4\u65b0\u6210\u529f \u3002

                "},{"location":"admin/kpanda/helm/helm-app.html#helm_3","title":"\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55","text":"

                Helm \u5e94\u7528\u7684\u6bcf\u6b21\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664\u90fd\u6709\u8be6\u7ec6\u7684\u64cd\u4f5c\u8bb0\u5f55\u548c\u65e5\u5fd7\u53ef\u4f9b\u67e5\u770b\u3002

                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u6700\u8fd1\u64cd\u4f5c \uff0c\u7136\u540e\u5728\u9875\u9762\u4e0a\u65b9\u9009\u62e9 Helm \u64cd\u4f5c \u6807\u7b7e\u9875\u3002\u6bcf\u4e00\u6761\u8bb0\u5f55\u5bf9\u5e94\u4e00\u6b21\u5b89\u88c5/\u66f4\u65b0/\u5220\u9664\u64cd\u4f5c\u3002

                2. \u5982\u9700\u67e5\u770b\u6bcf\u4e00\u6b21\u64cd\u4f5c\u7684\u8be6\u7ec6\u65e5\u5fd7\uff1a\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u65e5\u5fd7 \u3002

                3. \u6b64\u65f6\u9875\u9762\u4e0b\u65b9\u5c06\u4ee5\u63a7\u5236\u53f0\u7684\u5f62\u5f0f\u5c55\u793a\u8be6\u7ec6\u7684\u8fd0\u884c\u65e5\u5fd7\u3002

                "},{"location":"admin/kpanda/helm/helm-app.html#helm_4","title":"\u5220\u9664 Helm \u5e94\u7528","text":"

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5220\u9664 Helm \u5e94\u7528\u3002

                1. \u627e\u5230\u5f85\u5220\u9664\u7684 Helm \u5e94\u7528\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                  \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u60a8\u9700\u8981\u5220\u9664\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                3. \u5728\u5f39\u7a97\u5185\u8f93\u5165 Helm \u5e94\u7528\u7684\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u6309\u94ae\u3002

                "},{"location":"admin/kpanda/helm/helm-repo.html","title":"\u7ba1\u7406 Helm \u4ed3\u5e93","text":"

                Helm \u4ed3\u5e93\u662f\u7528\u6765\u5b58\u50a8\u548c\u53d1\u5e03 Chart \u7684\u5b58\u50a8\u5e93\u3002Helm \u5e94\u7528\u6a21\u5757\u652f\u6301\u901a\u8fc7 HTTP(s) \u534f\u8bae\u6765\u8bbf\u95ee\u5b58\u50a8\u5e93\u4e2d\u7684 Chart \u5305\u3002\u7cfb\u7edf\u9ed8\u8ba4\u5185\u7f6e\u4e86\u4e0b\u8868\u6240\u793a\u7684 4 \u4e2a Helm \u4ed3\u5e93\u4ee5\u6ee1\u8db3\u4f01\u4e1a\u751f\u4ea7\u8fc7\u7a0b\u4e2d\u7684\u5e38\u89c1\u9700\u6c42\u3002

                \u4ed3\u5e93 \u63cf\u8ff0 \u793a\u4f8b partner \u7531\u751f\u6001\u5408\u4f5c\u4f19\u4f34\u6240\u63d0\u4f9b\u7684\u5404\u7c7b\u4f18\u8d28\u7279\u8272 Chart tidb system \u7cfb\u7edf\u6838\u5fc3\u529f\u80fd\u7ec4\u4ef6\u53ca\u90e8\u5206\u9ad8\u7ea7\u529f\u80fd\u6240\u5fc5\u9700\u4f9d\u8d56\u7684 Chart\uff0c\u5982\u5fc5\u9700\u5b89\u88c5 insight-agent \u624d\u80fd\u591f\u83b7\u53d6\u96c6\u7fa4\u7684\u76d1\u63a7\u4fe1\u606f Insight addon \u4e1a\u52a1\u573a\u666f\u4e2d\u5e38\u89c1\u7684 Chart cert-manager community Kubernetes \u793e\u533a\u8f83\u4e3a\u70ed\u95e8\u7684\u5f00\u6e90\u7ec4\u4ef6 Chart Istio

                \u9664\u4e0a\u8ff0\u9884\u7f6e\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u81ea\u884c\u6dfb\u52a0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6dfb\u52a0\u3001\u66f4\u65b0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                "},{"location":"admin/kpanda/helm/helm-repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5982\u679c\u4f7f\u7528\u79c1\u6709\u4ed3\u5e93\uff0c\u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u62e5\u6709\u5bf9\u8be5\u79c1\u6709\u4ed3\u5e93\u7684\u8bfb\u5199\u6743\u9650\u3002

                "},{"location":"admin/kpanda/helm/helm-repo.html#helm_1","title":"\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93","text":"

                \u4e0b\u9762\u4ee5 Kubevela \u516c\u5f00\u7684\u955c\u50cf\u4ed3\u5e93\u4e3a\u4f8b\uff0c\u5f15\u5165 Helm \u4ed3\u5e93\u5e76\u7ba1\u7406\u3002

                1. \u627e\u5230\u9700\u8981\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u9875\u9762\u3002

                3. \u5728 Helm \u4ed3\u5e93\u9875\u9762\u70b9\u51fb \u521b\u5efa\u4ed3\u5e93 \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u4ed3\u5e93\u9875\u9762\uff0c\u6309\u7167\u4e0b\u8868\u914d\u7f6e\u76f8\u5173\u53c2\u6570\u3002

                  • \u4ed3\u5e93\u540d\u79f0\uff1a\u8bbe\u7f6e\u4ed3\u5e93\u540d\u79f0\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26 - \uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u5e76\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubevela
                  • \u4ed3\u5e93\u5730\u5740\uff1a\u7528\u6765\u6307\u5411\u76ee\u6807 Helm \u4ed3\u5e93\u7684 http\uff08s\uff09\u5730\u5740\u3002\u4f8b\u5982 https://charts.kubevela.net/core
                  • \u8df3\u8fc7 TLS \u9a8c\u8bc1: \u5982\u679c\u6dfb\u52a0\u7684 Helm \u4ed3\u5e93\u4e3a https \u5730\u5740\u4e14\u9700\u8df3\u8fc7 TLS \u9a8c\u8bc1\uff0c\u53ef\u4ee5\u52fe\u9009\u6b64\u9009\u9879\uff0c\u9ed8\u8ba4\u4e3a\u4e0d\u52fe\u9009
                  • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u8fde\u63a5\u4ed3\u5e93\u5730\u5740\u540e\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c\u7684\u65b9\u5f0f\u3002\u5bf9\u4e8e\u516c\u5f00\u4ed3\u5e93\uff0c\u53ef\u4ee5\u9009\u62e9 None \uff0c\u79c1\u6709\u7684\u4ed3\u5e93\u9700\u8981\u8f93\u5165\u7528\u6237\u540d/\u5bc6\u7801\u4ee5\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c
                  • \u6807\u7b7e\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6807\u7b7e\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                  • \u6ce8\u89e3\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6ce8\u89e3\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                  • \u63cf\u8ff0\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u63cf\u8ff0\u3002\u4f8b\u5982\uff1a\u8fd9\u662f\u4e00\u4e2a Kubevela \u516c\u5f00 Helm \u4ed3\u5e93

                4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 Helm \u4ed3\u5e93\u7684\u521b\u5efa\u3002\u9875\u9762\u4f1a\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u4ed3\u5e93\u5217\u8868\u3002

                "},{"location":"admin/kpanda/helm/helm-repo.html#helm_2","title":"\u66f4\u65b0 Helm \u4ed3\u5e93","text":"

                \u5f53 Helm \u4ed3\u5e93\u7684\u5730\u5740\u4fe1\u606f\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u66f4\u65b0 Helm \u4ed3\u5e93\u7684\u5730\u5740\u3001\u8ba4\u8bc1\u65b9\u5f0f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u53ca\u63cf\u8ff0\u4fe1\u606f\u3002

                1. \u627e\u5230\u5f85\u66f4\u65b0\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u66f4\u65b0 \u3002

                4. \u5728 \u7f16\u8f91 Helm \u4ed3\u5e93 \u9875\u9762\u8fdb\u884c\u66f4\u65b0\uff0c\u5b8c\u6210\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u66f4\u65b0\u6210\u529f\u3002

                "},{"location":"admin/kpanda/helm/helm-repo.html#helm_3","title":"\u5220\u9664 Helm \u4ed3\u5e93","text":"

                \u9664\u4e86\u5f15\u5165\u3001\u66f4\u65b0\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u5c06\u4e0d\u9700\u8981\u7684\u4ed3\u5e93\u5220\u9664\uff0c\u5305\u62ec\u7cfb\u7edf\u9884\u7f6e\u4ed3\u5e93\u548c\u7b2c\u4e09\u65b9\u4ed3\u5e93\u3002

                1. \u627e\u5230\u5f85\u5220\u9664\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u5220\u9664 \u3002

                4. \u8f93\u5165\u4ed3\u5e93\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u70b9\u51fb \u5220\u9664 \u3002

                5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\u3002

                "},{"location":"admin/kpanda/helm/multi-archi-helm.html","title":"Helm \u5e94\u7528\u591a\u67b6\u6784\u548c\u5347\u7ea7\u5bfc\u5165\u6b65\u9aa4","text":"

                \u901a\u5e38\u5728\u591a\u67b6\u6784\u96c6\u7fa4\u4e2d\uff0c\u4e5f\u4f1a\u4f7f\u7528\u591a\u67b6\u6784\u7684 Helm \u5305\u6765\u90e8\u7f72\u5e94\u7528\uff0c\u4ee5\u89e3\u51b3\u67b6\u6784\u5dee\u5f02\u5e26\u6765\u7684\u90e8\u7f72\u95ee\u9898\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5c06\u5355\u67b6\u6784 Helm \u5e94\u7528\u878d\u5408\u4e3a\u591a\u67b6\u6784\uff0c\u4ee5\u53ca\u591a\u67b6\u6784\u4e0e\u591a\u67b6\u6784 Helm \u5e94\u7528\u7684\u76f8\u4e92\u878d\u5408\u3002

                "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_1","title":"\u5bfc\u5165","text":""},{"location":"admin/kpanda/helm/multi-archi-helm.html#_2","title":"\u5355\u67b6\u6784\u5bfc\u5165","text":"

                \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \u3002 \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                addonPackage:\n  path: \"/home/addon-offline-full-package-v0.9.0-amd64.tar.gz\"\n

                \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_3","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                \u4ee5 addon-offline-full-package-v0.9.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.9.0-arm64.tar.gz\n
                "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_4","title":"\u5347\u7ea7","text":""},{"location":"admin/kpanda/helm/multi-archi-helm.html#_5","title":"\u5355\u67b6\u6784\u5347\u7ea7","text":"

                \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                addonPackage:\n  path: \"/home/addon-offline-full-package-v0.11.0-amd64.tar.gz\"\n

                \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_6","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                \u4ee5 addon-offline-full-package-v0.11.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.11.0-arm64.tar.gz\n
                "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_7","title":"\u6ce8\u610f\u4e8b\u9879","text":""},{"location":"admin/kpanda/helm/multi-archi-helm.html#_8","title":"\u78c1\u76d8\u7a7a\u95f4","text":"

                \u79bb\u7ebf\u5305\u6bd4\u8f83\u5927\uff0c\u4e14\u8fc7\u7a0b\u4e2d\u9700\u8981\u89e3\u538b\u548c load \u955c\u50cf\uff0c\u9700\u8981\u9884\u7559\u5145\u8db3\u7684\u7a7a\u95f4\uff0c\u5426\u5219\u53ef\u80fd\u5728\u8fc7\u7a0b\u4e2d\u62a5 \u201cno space left\u201d \u800c\u4e2d\u65ad\u3002

                "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_9","title":"\u5931\u8d25\u540e\u91cd\u8bd5","text":"

                \u5982\u679c\u5728\u591a\u67b6\u6784\u878d\u5408\u6b65\u9aa4\u6267\u884c\u5931\u8d25\uff0c\u91cd\u8bd5\u524d\u9700\u8981\u6e05\u7406\u4e00\u4e0b\u6b8b\u7559\uff1a

                rm -rf addon-offline-target-package\n
                "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_10","title":"\u955c\u50cf\u7a7a\u95f4","text":"

                \u5982\u679c\u878d\u5408\u7684\u79bb\u7ebf\u5305\u4e2d\u5305\u542b\u4e86\u4e0e\u5bfc\u5165\u7684\u79bb\u7ebf\u5305\u4e0d\u4e00\u81f4\u7684\u955c\u50cf\u7a7a\u95f4\uff0c\u53ef\u80fd\u4f1a\u5728\u878d\u5408\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u955c\u50cf\u7a7a\u95f4\u4e0d\u5b58\u5728\u800c\u62a5\u9519\uff1a

                \u89e3\u51b3\u529e\u6cd5\uff1a\u53ea\u9700\u8981\u5728\u878d\u5408\u4e4b\u524d\u521b\u5efa\u597d\u8be5\u955c\u50cf\u7a7a\u95f4\u5373\u53ef\uff0c\u4f8b\u5982\u4e0a\u56fe\u62a5\u9519\u53ef\u901a\u8fc7\u521b\u5efa\u955c\u50cf\u7a7a\u95f4 localhost \u63d0\u524d\u907f\u514d\u3002

                "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_11","title":"\u67b6\u6784\u51b2\u7a81","text":"

                \u5347\u7ea7\u81f3\u4f4e\u4e8e 0.12.0 \u7248\u672c\u7684 addon \u65f6\uff0c\u7531\u4e8e\u76ee\u6807\u79bb\u7ebf\u5305\u91cc\u7684 charts-syncer \u6ca1\u6709\u68c0\u67e5\u955c\u50cf\u5b58\u5728\u5219\u4e0d\u63a8\u9001\u529f\u80fd\uff0c\u56e0\u6b64\u4f1a\u5728\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\u4f1a\u91cd\u65b0\u628a\u591a\u67b6\u6784\u51b2\u6210\u5355\u67b6\u6784\u3002 \u4f8b\u5982\uff1a\u5728 v0.10 \u7248\u672c\u5c06 addon \u5b9e\u73b0\u4e3a\u591a\u67b6\u6784\uff0c\u6b64\u65f6\u82e5\u5347\u7ea7\u4e3a v0.11 \u7248\u672c\uff0c\u5219\u591a\u67b6\u6784 addon \u4f1a\u88ab\u8986\u76d6\u4e3a\u5355\u67b6\u6784\uff1b\u82e5\u5347\u7ea7\u4e3a 0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u5219\u4ecd\u80fd\u591f\u4fdd\u6301\u591a\u67b6\u6784\u3002

                "},{"location":"admin/kpanda/helm/upload-helm.html","title":"\u4e0a\u4f20 Helm \u6a21\u677f","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u64cd\u4f5c\u6b65\u9aa4\u89c1\u4e0b\u6587\u3002

                1. \u5f15\u5165 Helm \u4ed3\u5e93\uff0c\u64cd\u4f5c\u6b65\u9aa4\u53c2\u8003\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                2. \u4e0a\u4f20 Helm Chart \u5230 Helm \u4ed3\u5e93\u3002

                  \u5ba2\u6237\u7aef\u4e0a\u4f20\u9875\u9762\u4e0a\u4f20

                  Note

                  \u6b64\u65b9\u5f0f\u9002\u7528\u4e8e Harbor\u3001ChartMuseum\u3001JFrog \u7c7b\u578b\u4ed3\u5e93\u3002

                  1. \u767b\u5f55\u4e00\u4e2a\u53ef\u4ee5\u8bbf\u95ee\u5230 Helm \u4ed3\u5e93\u7684\u8282\u70b9\uff0c\u5c06 Helm \u4e8c\u8fdb\u5236\u6587\u4ef6\u4e0a\u4f20\u5230\u8282\u70b9\uff0c\u5e76\u5b89\u88c5 cm-push \u63d2\u4ef6\uff08\u9700\u8981\u8fde\u901a\u5916\u7f51\u5e76\u63d0\u524d\u5b89\u88c5 Git\uff09\u3002

                    \u5b89\u88c5\u63d2\u4ef6\u6d41\u7a0b\u53c2\u8003\u5b89\u88c5 cm-push \u63d2\u4ef6\u3002

                  2. \u63a8\u9001 Helm Chart \u5230 Helm \u4ed3\u5e93\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1b

                    helm cm-push ${charts-dir} ${HELM_REPO_URL} --username ${username} --password ${password}\n

                    \u5b57\u6bb5\u8bf4\u660e\uff1a

                    • charts-dir\uff1aHelm Chart \u7684\u76ee\u5f55\uff0c\u6216\u8005\u662f\u6253\u5305\u597d\u7684 Chart\uff08\u5373 .tgz \u6587\u4ef6\uff09\u3002
                    • HELM_REPO_URL\uff1aHelm \u4ed3\u5e93\u7684 URL\u3002
                    • username/password\uff1a\u6709\u63a8\u9001\u6743\u9650\u7684 Helm \u4ed3\u5e93\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
                    • \u5982\u679c\u91c7\u7528 https \u8bbf\u95ee\u4e14\u9700\u8981\u8df3\u8fc7\u8bc1\u4e66\u9a8c\u8bc1\uff0c\u53ef\u6dfb\u52a0\u53c2\u6570 --insecure

                  Note

                  \u6b64\u65b9\u5f0f\u4ec5\u9002\u7528\u4e8e Harbor \u7c7b\u578b\u4ed3\u5e93\u3002

                  1. \u767b\u5f55\u7f51\u9875 Harbor \u4ed3\u5e93\uff0c\u8bf7\u786e\u4fdd\u767b\u5f55\u7528\u6237\u6709\u63a8\u9001\u6743\u9650\uff1b

                  2. \u8fdb\u5165\u5230\u5bf9\u5e94\u9879\u76ee\uff0c\u9009\u62e9 Helm Charts \u9875\u7b7e\uff0c\u70b9\u51fb\u9875\u9762 \u4e0a\u4f20 \u6309\u94ae\uff0c\u5b8c\u6210 Helm Chart \u4e0a\u4f20\u3002

                3. \u540c\u6b65\u8fdc\u7aef\u4ed3\u5e93\u6570\u636e

                  \u624b\u52a8\u540c\u6b65\u81ea\u52a8\u540c\u6b65

                  \u9ed8\u8ba4\u96c6\u7fa4\u672a\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0 \uff0c\u9700\u8981\u6267\u884c\u624b\u52a8\u540c\u6b65\u64cd\u4f5c\uff0c\u5927\u81f4\u6b65\u9aa4\u4e3a\uff1a

                  \u8fdb\u5165 Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u70b9\u51fb\u4ed3\u5e93\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u6309\u94ae\uff0c\u9009\u62e9 \u540c\u6b65\u4ed3\u5e93 \uff0c\u5b8c\u6210\u4ed3\u5e93\u6570\u636e\u540c\u6b65\u3002

                  \u5982\u9700\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u540c\u6b65\u529f\u80fd\uff0c\u53ef\u8fdb\u5165 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \uff0c\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0\u5f00\u5173\u3002

                "},{"location":"admin/kpanda/inspect/index.html","title":"\u96c6\u7fa4\u5de1\u68c0","text":"

                \u96c6\u7fa4\u5de1\u68c0\u53ef\u4ee5\u901a\u8fc7\u81ea\u52a8\u6216\u624b\u52a8\u65b9\u5f0f\uff0c\u5b9a\u671f\u6216\u968f\u65f6\u68c0\u67e5\u96c6\u7fa4\u7684\u6574\u4f53\u5065\u5eb7\u72b6\u6001\uff0c\u8ba9\u7ba1\u7406\u5458\u83b7\u5f97\u4fdd\u969c\u96c6\u7fa4\u5b89\u5168\u7684\u4e3b\u52a8\u6743\u3002 \u57fa\u4e8e\u5408\u7406\u7684\u5de1\u68c0\u8ba1\u5212\uff0c\u8fd9\u79cd\u4e3b\u52a8\u81ea\u53d1\u7684\u96c6\u7fa4\u68c0\u67e5\u53ef\u4ee5\u8ba9\u7ba1\u7406\u5458\u968f\u65f6\u638c\u63e1\u96c6\u7fa4\u72b6\u6001\uff0c\u6446\u8131\u4e4b\u524d\u51fa\u73b0\u6545\u969c\u65f6\u53ea\u80fd\u88ab\u52a8\u6392\u67e5\u95ee\u9898\u7684\u56f0\u5883\uff0c\u505a\u5230\u4e8b\u5148\u76d1\u63a7\u3001\u63d0\u524d\u9632\u8303\u3002

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u7684\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u4e09\u4e2a\u7ef4\u5ea6\u8fdb\u884c\u81ea\u5b9a\u4e49\u5de1\u68c0\u9879\uff0c\u5de1\u68c0\u7ed3\u675f\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u53ef\u89c6\u5316\u7684\u5de1\u68c0\u62a5\u544a\u3002

                • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                \u5982\u9700\u4e86\u89e3\u6216\u6267\u884c\u5b89\u5168\u65b9\u9762\u7684\u5de1\u68c0\uff0c\u53ef\u53c2\u8003\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684\u5b89\u5168\u626b\u63cf\u7c7b\u578b\u3002

                "},{"location":"admin/kpanda/inspect/config.html","title":"\u521b\u5efa\u5de1\u68c0\u914d\u7f6e","text":"

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u8fdb\u884c\u5de1\u68c0\u3002

                • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                \u4e0b\u9762\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de1\u68c0\u914d\u7f6e\u3002

                "},{"location":"admin/kpanda/inspect/config.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                "},{"location":"admin/kpanda/inspect/config.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \u3002

                2. \u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u3002

                3. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199\u5de1\u68c0\u914d\u7f6e\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                  • \u96c6\u7fa4\uff1a\u4e0b\u62c9\u9009\u62e9\u8981\u5bf9\u54ea\u4e9b\u96c6\u7fa4\u8fdb\u884c\u5de1\u68c0\u3002\u5982\u679c\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\uff0c\u5219\u81ea\u52a8\u751f\u6210\u591a\u4e2a\u5de1\u68c0\u914d\u7f6e\uff08\u4ec5\u5de1\u68c0\u7684\u96c6\u7fa4\u4e0d\u4e00\u81f4\uff0c\u5176\u4ed6\u914d\u7f6e\u90fd\u5b8c\u5168\u4e00\u81f4\uff09
                  • \u5b9a\u65f6\u5de1\u68c0\uff1a\u542f\u7528\u540e\u53ef\u6839\u636e\u4e8b\u5148\u8bbe\u7f6e\u7684\u5de1\u68c0\u9891\u7387\u5b9a\u671f\u81ea\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0
                  • \u5de1\u68c0\u9891\u7387\uff1a\u8bbe\u7f6e\u81ea\u52a8\u5de1\u68c0\u7684\u5468\u671f\uff0c\u4f8b\u5982\u6bcf\u5468\u4e8c\u4e0a\u5348\u5341\u70b9\u3002\u652f\u6301\u81ea\u5b9a\u4e49 CronExpression\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5
                  • \u5de1\u68c0\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\uff1a\u7d2f\u8ba1\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5de1\u68c0\u8bb0\u5f55\uff0c\u5305\u62ec\u6240\u6709\u96c6\u7fa4\u7684\u5de1\u68c0\u8bb0\u5f55
                  • \u53c2\u6570\u914d\u7f6e\uff1a\u53c2\u6570\u914d\u7f6e\u5206\u4e3a\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u4e09\u90e8\u5206\uff0c\u53ef\u4ee5\u6839\u636e\u573a\u666f\u9700\u6c42\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u5de1\u68c0\u9879\u3002

                \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4f1a\u81ea\u52a8\u663e\u793a\u5728\u5de1\u68c0\u914d\u7f6e\u5217\u8868\u4e2d\u3002\u5728\u914d\u7f6e\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u7acb\u5373\u6267\u884c\u5de1\u68c0\u3001\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3001\u5220\u9664\u5de1\u68c0\u914d\u7f6e\u548c\u5de1\u68c0\u8bb0\u5f55\u3002

                • \u70b9\u51fb \u5de1\u68c0 \u53ef\u4ee5\u6839\u636e\u8be5\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u5de1\u68c0\u3002
                • \u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u53ef\u4ee5\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3002
                • \u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u5de1\u68c0\u914d\u7f6e\u548c\u5386\u53f2\u7684\u5de1\u68c0\u8bb0\u5f55

                Note

                • \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002
                • \u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002
                "},{"location":"admin/kpanda/inspect/inspect.html","title":"\u6267\u884c\u96c6\u7fa4\u5de1\u68c0","text":"

                \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002\u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002

                \u6b64\u9875\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0\u3002

                "},{"location":"admin/kpanda/inspect/inspect.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                • \u5df2\u521b\u5efa\u5de1\u68c0\u914d\u7f6e
                • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                "},{"location":"admin/kpanda/inspect/inspect.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u6267\u884c\u5de1\u68c0\u65f6\uff0c\u652f\u6301\u52fe\u9009\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u6279\u91cf\u5de1\u68c0\uff0c\u6216\u8005\u4ec5\u5bf9\u67d0\u4e00\u4e2a\u96c6\u7fa4\u8fdb\u884c\u5355\u72ec\u5de1\u68c0\u3002

                \u6279\u91cf\u5de1\u68c0\u5355\u72ec\u5de1\u68c0
                1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u4e00\u7ea7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0 \u3002

                2. \u52fe\u9009\u9700\u8981\u5de1\u68c0\u7684\u96c6\u7fa4\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                  • \u82e5\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u540c\u65f6\u5de1\u68c0\uff0c\u7cfb\u7edf\u5c06\u6839\u636e\u4e0d\u540c\u96c6\u7fa4\u7684\u5de1\u68c0\u914d\u7f6e\u8fdb\u884c\u5de1\u68c0\u3002
                  • \u5982\u672a\u8bbe\u7f6e\u96c6\u7fa4\u5de1\u68c0\u914d\u7f6e\uff0c\u5c06\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u914d\u7f6e\u3002

                1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\u3002
                2. \u5728\u5bf9\u5e94\u5de1\u68c0\u914d\u7f6e\u7684\u53f3\u4fa7\u70b9\u51fb \u2507 \u66f4\u591a\u64cd\u4f5c\u6309\u94ae\uff0c\u7136\u540e\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\u9009\u62e9 \u5de1\u68c0 \u5373\u53ef\u3002

                "},{"location":"admin/kpanda/inspect/report.html","title":"\u67e5\u770b\u5de1\u68c0\u62a5\u544a","text":"

                \u5de1\u68c0\u6267\u884c\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u5de1\u68c0\u8bb0\u5f55\u548c\u8be6\u7ec6\u7684\u5de1\u68c0\u62a5\u544a\u3002

                "},{"location":"admin/kpanda/inspect/report.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5df2\u7ecf\u521b\u5efa\u4e86\u5de1\u68c0\u914d\u7f6e
                • \u5df2\u7ecf\u6267\u884c\u8fc7\u81f3\u5c11\u4e00\u6b21\u5de1\u68c0
                "},{"location":"admin/kpanda/inspect/report.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\uff0c\u70b9\u51fb\u76ee\u6807\u5de1\u68c0\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u70b9\u51fb\u60f3\u8981\u67e5\u770b\u7684\u5de1\u68c0\u8bb0\u5f55\u540d\u79f0\u3002

                  • \u6bcf\u6267\u884c\u4e00\u6b21\u5de1\u68c0\uff0c\u5c31\u4f1a\u751f\u6210\u4e00\u6761\u5de1\u68c0\u8bb0\u5f55\u3002
                  • \u5f53\u5de1\u68c0\u8bb0\u5f55\u8d85\u8fc7\u5de1\u68c0\u914d\u7f6e\u4e2d\u8bbe\u7f6e\u7684\u6700\u5927\u4fdd\u7559\u6761\u6570\u65f6\uff0c\u4ece\u6267\u884c\u65f6\u95f4\u6700\u65e9\u7684\u8bb0\u5f55\u5f00\u59cb\u5220\u9664\u3002

                3. \u67e5\u770b\u5de1\u68c0\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u6839\u636e\u5de1\u68c0\u914d\u7f6e\u53ef\u80fd\u5305\u62ec\u96c6\u7fa4\u8d44\u6e90\u6982\u89c8\u3001\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\u7b49\u3002

                  \u5728\u9875\u9762\u53f3\u4e0a\u89d2\u53ef\u4ee5\u4e0b\u8f7d\u5de1\u68c0\u62a5\u544a\u6216\u5220\u9664\u8be5\u9879\u5de1\u68c0\u62a5\u544a\u3002

                "},{"location":"admin/kpanda/namespaces/createns.html","title":"\u547d\u540d\u7a7a\u95f4","text":"

                \u547d\u540d\u7a7a\u95f4\u662f Kubernetes \u4e2d\u7528\u6765\u8fdb\u884c\u8d44\u6e90\u9694\u79bb\u7684\u4e00\u79cd\u62bd\u8c61\u3002\u4e00\u4e2a\u96c6\u7fa4\u4e0b\u53ef\u4ee5\u5305\u542b\u591a\u4e2a\u4e0d\u91cd\u540d\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u76f8\u4e92\u9694\u79bb\u3002\u6709\u5173\u547d\u540d\u7a7a\u95f4\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u3002

                \u672c\u6587\u5c06\u4ecb\u7ecd\u547d\u540d\u7a7a\u95f4\u7684\u76f8\u5173\u64cd\u4f5c\u3002

                "},{"location":"admin/kpanda/namespaces/createns.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

                \u652f\u6301\u901a\u8fc7\u8868\u5355\u8f7b\u677e\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u7f16\u5199\u6216\u5bfc\u5165 YAML \u6587\u4ef6\u5feb\u901f\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u3002

                Note

                • \u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u4e4b\u524d\uff0c\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\u3002
                • \u96c6\u7fa4\u521d\u59cb\u5316\u540e\u901a\u5e38\u4f1a\u81ea\u52a8\u751f\u6210\u9ed8\u8ba4\u7684\u547d\u540d\u7a7a\u95f4 default \u3002\u4f46\u5bf9\u4e8e\u751f\u4ea7\u96c6\u7fa4\u800c\u8a00\uff0c\u4e3a\u4fbf\u4e8e\u7ba1\u7406\uff0c\u5efa\u8bae\u521b\u5efa\u5176\u4ed6\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u800c\u975e\u76f4\u63a5\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002
                "},{"location":"admin/kpanda/namespaces/createns.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                3. \u586b\u5199\u547d\u540d\u7a7a\u95f4\u7684\u540d\u79f0\uff0c\u914d\u7f6e\u5de5\u4f5c\u7a7a\u95f4\u548c\u6807\u7b7e\uff08\u53ef\u9009\u8bbe\u7f6e\uff09\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                  Info

                  • \u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\u4e4b\u540e\uff0c\u8be5\u547d\u540d\u7a7a\u95f4\u7684\u8d44\u6e90\u5c31\u4f1a\u5171\u4eab\u7ed9\u6240\u7ed1\u5b9a\u7684\u5de5\u4f5c\u7a7a\u95f4\u3002\u6709\u5173\u5de5\u4f5c\u7a7a\u95f4\u7684\u8be6\u7ec6\u8bf4\u660e\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u3002

                  • \u547d\u540d\u7a7a\u95f4\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4ecd\u7136\u53ef\u4ee5\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3002

                4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002\u5728\u547d\u540d\u7a7a\u95f4\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4ece\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9\u67e5\u770b YAML\u3001\u4fee\u6539\u6807\u7b7e\u3001\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3001\u914d\u989d\u7ba1\u7406\u3001\u5220\u9664\u7b49\u66f4\u591a\u64cd\u4f5c\u3002

                "},{"location":"admin/kpanda/namespaces/createns.html#yaml","title":"YAML \u521b\u5efa","text":"
                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u5185\u5bb9\uff0c\u6216\u8005\u4ece\u672c\u5730\u76f4\u63a5\u5bfc\u5165\u5df2\u6709\u7684 YAML \u6587\u4ef6\u3002

                  \u8f93\u5165 YAML \u5185\u5bb9\u540e\uff0c\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u8be5 YAML \u6587\u4ef6\u4fdd\u5b58\u5230\u672c\u5730\u3002

                4. \u6700\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                "},{"location":"admin/kpanda/namespaces/exclusive.html","title":"\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                \u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u6c61\u70b9\u548c\u6c61\u70b9\u5bb9\u5fcd\u7684\u65b9\u5f0f\u5b9e\u73b0\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u5bf9\u4e00\u4e2a\u6216\u591a\u4e2a\u8282\u70b9 CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u7684\u72ec\u4eab\u3002\u4e3a\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u72ec\u4eab\u8282\u70b9\u540e\uff0c\u5176\u5b83\u975e\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5e94\u7528\u548c\u670d\u52a1\u5747\u4e0d\u80fd\u8fd0\u884c\u5728\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\u3002\u4f7f\u7528\u72ec\u4eab\u8282\u70b9\u53ef\u4ee5\u8ba9\u91cd\u8981\u5e94\u7528\u72ec\u4eab\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u548c\u5176\u4ed6\u5e94\u7528\u5b9e\u73b0\u7269\u7406\u9694\u79bb\u3002

                Note

                \u5728\u8282\u70b9\u88ab\u8bbe\u7f6e\u4e3a\u72ec\u4eab\u8282\u70b9\u524d\u5df2\u7ecf\u8fd0\u884c\u5728\u6b64\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u548c\u670d\u52a1\u5c06\u4e0d\u4f1a\u53d7\u5f71\u54cd\uff0c\u4f9d\u7136\u4f1a\u6b63\u5e38\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\uff0c\u4ec5\u5f53\u8fd9\u4e9b Pod \u88ab\u5220\u9664\u6216\u91cd\u5efa\u65f6\uff0c\u624d\u4f1a\u8c03\u5ea6\u5230\u5176\u5b83\u975e\u72ec\u4eab\u8282\u70b9\u4e0a\u3002

                "},{"location":"admin/kpanda/namespaces/exclusive.html#_2","title":"\u51c6\u5907\u5de5\u4f5c","text":"

                \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u662f\u5426\u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002

                \u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u529f\u80fd\u9700\u8981\u7528\u6237\u542f\u7528 kube-apiserver \u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\uff08Admission Controllers\uff09\uff0c\u5173\u4e8e\u51c6\u5165\u63a7\u5236\u5668\u66f4\u591a\u8bf4\u660e\u8bf7\u53c2\u9605 kubernetes Admission Controllers Reference\u3002

                \u60a8\u53ef\u4ee5\u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u68c0\u67e5 kube-apiserver.yaml \u6587\u4ef6\u5185\u662f\u5426\u542f\u7528\u4e86\u8fd9\u4e24\u4e2a\u7279\u6027\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u5feb\u901f\u68c0\u67e5\uff1a

                ```bash\n[root@g-master1 ~]# cat /etc/kubernetes/manifests/kube-apiserver.yaml | grep  enable-admission-plugins\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction\n```\n
                "},{"location":"admin/kpanda/namespaces/exclusive.html#_3","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                \u7531\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u8fd0\u884c\u7740 kpanda\u3001ghippo\u3001insight \u7b49\u5e73\u53f0\u57fa\u7840\u7ec4\u4ef6\uff0c\u5728 Global \u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u5c06\u53ef\u80fd\u5bfc\u81f4\u5f53\u7cfb\u7edf\u7ec4\u4ef6\u91cd\u542f\u540e\uff0c\u7cfb\u7edf\u7ec4\u4ef6\u65e0\u6cd5\u8c03\u5ea6\u5230\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\uff0c\u5f71\u54cd\u7cfb\u7edf\u7684\u6574\u4f53\u9ad8\u53ef\u7528\u80fd\u529b\u3002\u56e0\u6b64\uff0c\u901a\u5e38\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u4e0d\u63a8\u8350\u7528\u6237\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u7279\u6027\u3002

                \u5982\u679c\u60a8\u786e\u5b9e\u9700\u8981\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                1. \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                  Note

                  \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u914d\u7f6e\u7cfb\u7edf\u7ec4\u4ef6\u5bb9\u5fcd\u3002

                  \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                  [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                  \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                  # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                2. \u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3

                  \u5b8c\u6210\u51c6\u5165\u63a7\u5236\u5668\u7684\u5f00\u542f\u540e\uff0c\u60a8\u9700\u8981\u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff0c\u4ee5\u4fdd\u8bc1\u5e73\u53f0\u7ec4\u4ef6\u7684\u9ad8\u53ef\u7528\u3002

                  \u76ee\u524d\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u7cfb\u7edf\u7ec4\u4ef6\u547d\u540d\u7a7a\u95f4\u5982\u4e0b\u8868\uff1a

                  \u547d\u540d\u7a7a\u95f4 \u6240\u5305\u542b\u7684\u7cfb\u7edf\u7ec4\u4ef6 kpanda-system kpanda hwameiStor-system hwameiStor istio-system istio metallb-system metallb cert-manager-system cert-manager contour-system contour kubean-system kubean ghippo-system ghippo kcoral-system kcoral kcollie-system kcollie insight-system insight\u3001insight-agent: ipavo-system ipavo kairship-system kairship karmada-system karmada amamba-system amamba\u3001jenkins skoala-system skoala mspider-system mspider mcamel-system mcamel-rabbitmq\u3001mcamel-elasticsearch\u3001mcamel-mysql\u3001mcamel-redis\u3001mcamel-kafka\u3001mcamel-minio\u3001mcamel-postgresql spidernet-system spidernet kangaroo-system kangaroo gmagpie-system gmagpie dowl-system dowl

                  \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u4e2d\u6240\u6709\u547d\u540d\u7a7a\u95f4\u662f\u5426\u5b58\u5728\u4e0a\u8ff0\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u4e3a\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1a scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]' \u3002

                  kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n
                  \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                3. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                  \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                  1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                  2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                  3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                    \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                "},{"location":"admin/kpanda/namespaces/exclusive.html#_4","title":"\u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                \u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                1. \u4e3a\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                  Note

                  \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                  \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                  [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                  \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                  # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                2. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                  \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                  1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                  2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                  3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                    \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                3. \u4e3a\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff08\u53ef\u9009\uff09

                  \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1ascheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\u3002

                  kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n

                  \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                "},{"location":"admin/kpanda/namespaces/podsecurity.html","title":"\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"

                \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u4e3a\u6307\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u4e0d\u540c\u7684\u7b49\u7ea7\u548c\u6a21\u5f0f\uff0c\u5b9e\u73b0\u5728\u5b89\u5168\u7684\u5404\u4e2a\u65b9\u9762\u63a7\u5236 Pod \u7684\u884c\u4e3a\uff0c\u53ea\u6709\u6ee1\u8db3\u4e00\u5b9a\u7684\u6761\u4ef6\u7684 Pod \u624d\u4f1a\u88ab\u7cfb\u7edf\u63a5\u53d7\u3002\u5b83\u8bbe\u7f6e\u4e09\u4e2a\u7b49\u7ea7\u548c\u4e09\u79cd\u6a21\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u66f4\u52a0\u5408\u9002\u7684\u65b9\u6848\u6765\u8bbe\u7f6e\u9650\u5236\u7b56\u7565\u3002

                Note

                \u4e00\u6761\u5b89\u5168\u6a21\u5f0f\u4ec5\u80fd\u914d\u7f6e\u4e00\u6761\u5b89\u5168\u7b56\u7565\u3002\u540c\u65f6\u8bf7\u8c28\u614e\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e enforce \u7684\u5b89\u5168\u6a21\u5f0f\uff0c\u8fdd\u53cd\u540e\u5c06\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u3002

                "},{"location":"admin/kpanda/namespaces/podsecurity.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u96c6\u7fa4\u7684\u7248\u672c\u9700\u8981\u5728 v1.22 \u4ee5\u4e0a\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"admin/kpanda/namespaces/podsecurity.html#_3","title":"\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"
                1. \u9009\u62e9\u9700\u8981\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u8fdb\u5165\u8be6\u60c5\u9875\u3002\u5728 \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565 \u9875\u9762\u70b9\u51fb \u914d\u7f6e\u7b56\u7565 \uff0c\u8fdb\u5165\u914d\u7f6e\u9875\u3002

                2. \u5728\u914d\u7f6e\u9875\u70b9\u51fb \u6dfb\u52a0\u7b56\u7565 \uff0c\u5219\u4f1a\u51fa\u73b0\u4e00\u6761\u7b56\u7565\uff0c\u5305\u62ec\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u6a21\u5f0f\uff0c\u4ee5\u4e0b\u662f\u5bf9\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u7b56\u7565\u7684\u8be6\u7ec6\u4ecb\u7ecd\u3002

                  \u5b89\u5168\u7ea7\u522b \u63cf\u8ff0 Privileged \u4e0d\u53d7\u9650\u5236\u7684\u7b56\u7565\uff0c\u63d0\u4f9b\u6700\u5927\u53ef\u80fd\u8303\u56f4\u7684\u6743\u9650\u8bb8\u53ef\u3002\u6b64\u7b56\u7565\u5141\u8bb8\u5df2\u77e5\u7684\u7279\u6743\u63d0\u5347\u3002 Baseline \u9650\u5236\u6027\u6700\u5f31\u7684\u7b56\u7565\uff0c\u7981\u6b62\u5df2\u77e5\u7684\u7b56\u7565\u63d0\u5347\u3002\u5141\u8bb8\u4f7f\u7528\u9ed8\u8ba4\u7684\uff08\u89c4\u5b9a\u6700\u5c11\uff09Pod \u914d\u7f6e\u3002 Restricted \u9650\u5236\u6027\u975e\u5e38\u5f3a\u7684\u7b56\u7565\uff0c\u9075\u5faa\u5f53\u524d\u7684\u4fdd\u62a4 Pod \u7684\u6700\u4f73\u5b9e\u8df5\u3002 \u5b89\u5168\u6a21\u5f0f \u63cf\u8ff0 Audit \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5728\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u6dfb\u52a0\u65b0\u7684\u5ba1\u8ba1\u4e8b\u4ef6\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Warn \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u8fd4\u56de\u7528\u6237\u53ef\u89c1\u7684\u544a\u8b66\u4fe1\u606f\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Enforce \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                3. \u4e0d\u540c\u7684\u5b89\u5168\u7ea7\u522b\u5bf9\u5e94\u4e0d\u540c\u7684\u68c0\u67e5\u9879\uff0c\u82e5\u60a8\u4e0d\u77e5\u9053\u8be5\u5982\u4f55\u4e3a\u60a8\u7684\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\uff0c\u53ef\u4ee5\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u7b56\u7565\u914d\u7f6e\u9879\u8bf4\u660e \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                4. \u70b9\u51fb\u786e\u5b9a\uff0c\u82e5\u521b\u5efa\u6210\u529f\uff0c\u5219\u9875\u9762\u4e0a\u5c06\u51fa\u73b0\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                5. \u70b9\u51fb \u2507 \u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u8005\u5220\u9664\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                "},{"location":"admin/kpanda/network/create-ingress.html","title":"\u521b\u5efa\u8def\u7531\uff08Ingress\uff09","text":"

                \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0cIngress \u516c\u5f00\u4ece\u96c6\u7fa4\u5916\u90e8\u5230\u96c6\u7fa4\u5185\u670d\u52a1\u7684 HTTP \u548c HTTPS \u8def\u7531\u3002 \u6d41\u91cf\u8def\u7531\u7531 Ingress \u8d44\u6e90\u4e0a\u5b9a\u4e49\u7684\u89c4\u5219\u63a7\u5236\u3002\u4e0b\u9762\u662f\u4e00\u4e2a\u5c06\u6240\u6709\u6d41\u91cf\u90fd\u53d1\u9001\u5230\u540c\u4e00 Service \u7684\u7b80\u5355 Ingress \u793a\u4f8b\uff1a

                Ingress \u662f\u5bf9\u96c6\u7fa4\u4e2d\u670d\u52a1\u7684\u5916\u90e8\u8bbf\u95ee\u8fdb\u884c\u7ba1\u7406\u7684 API \u5bf9\u8c61\uff0c\u5178\u578b\u7684\u8bbf\u95ee\u65b9\u5f0f\u662f HTTP\u3002Ingress \u53ef\u4ee5\u63d0\u4f9b\u8d1f\u8f7d\u5747\u8861\u3001SSL \u7ec8\u7ed3\u548c\u57fa\u4e8e\u540d\u79f0\u7684\u865a\u62df\u6258\u7ba1\u3002

                "},{"location":"admin/kpanda/network/create-ingress.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002
                • \u5df2\u7ecf\u5b8c\u6210 Ingress \u5b9e\u4f8b\u7684\u521b\u5efa\uff0c\u5df2\u90e8\u7f72\u5e94\u7528\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u4e14\u5df2\u521b\u5efa\u5bf9\u5e94 Service
                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002
                "},{"location":"admin/kpanda/network/create-ingress.html#_2","title":"\u521b\u5efa\u8def\u7531","text":"
                1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u8def\u7531 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u8def\u7531 \u6309\u94ae\u3002

                  Note

                  \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u8def\u7531\u3002

                3. \u6253\u5f00 \u521b\u5efa\u8def\u7531 \u9875\u9762\uff0c\u8fdb\u884c\u914d\u7f6e\u3002\u53ef\u9009\u62e9\u4e24\u79cd\u534f\u8bae\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u4e24\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                "},{"location":"admin/kpanda/network/create-ingress.html#http","title":"\u521b\u5efa HTTP \u534f\u8bae\u8def\u7531","text":"

                \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                • \u8def\u7531\u540d\u79f0 \uff1a\u5fc5\u586b\uff0c\u8f93\u5165\u65b0\u5efa\u8def\u7531\u7684\u540d\u79f0\u3002
                • \u547d\u540d\u7a7a\u95f4 \uff1a\u5fc5\u586b\uff0c\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002
                • \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \uff1a
                  • \u57df\u540d \uff1a\u5fc5\u586b\uff0c\u4f7f\u7528\u57df\u540d\u5bf9\u5916\u63d0\u4f9b\u8bbf\u95ee\u670d\u52a1\u3002\u9ed8\u8ba4\u4e3a\u96c6\u7fa4\u7684\u57df\u540d\u3002
                  • \u534f\u8bae \uff1a\u5fc5\u586b\uff0c\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002 \u8fd9\u91cc\u9009\u62e9 HTTP \u534f\u8bae\u7684\u8def\u7531\u3002
                  • \u8f6c\u53d1\u7b56\u7565 \uff1a\u9009\u586b\uff0c\u6307\u5b9a Ingress \u7684\u8bbf\u95ee\u7b56\u7565
                  • \u8def\u5f84 \uff1a\u6307\u5b9a\u670d\u52a1\u8bbf\u95ee\u7684URL\u8def\u5f84\uff0c\u9ed8\u8ba4\u4e3a\u6839\u8def\u5f84
                  • \u76ee\u6807\u670d\u52a1 \uff1a\u8fdb\u884c\u8def\u7531\u7684\u670d\u52a1\u540d\u79f0
                  • \u76ee\u6807\u670d\u52a1\u7aef\u53e3 \uff1a\u670d\u52a1\u5bf9\u5916\u66b4\u9732\u7684\u7aef\u53e3
                • \u8d1f\u8f7d\u5747\u8861\u5668\u7c7b\u578b \uff1a\u5fc5\u586b\uff0cIngress \u5b9e\u4f8b\u7684\u4f7f\u7528\u8303\u56f4
                  • \u5e73\u53f0\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\uff0c\u5171\u4eab\u540c\u4e00\u4e2a Ingress \u5b9e\u4f8b\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                  • \u79df\u6237\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u79df\u6237\u8d1f\u8f7d\u5747\u8861\u5668\uff0cIngress \u5b9e\u4f8b\u72ec\u5c5e\u4e8e\u5f53\u524d\u547d\u540d\u7a7a\uff0c\u6216\u8005\u72ec\u5c5e\u4e8e\u67d0\u4e00\u5de5\u4f5c\u7a7a\u95f4\uff0c \u5e76\u4e14\u8bbe\u7f6e\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5305\u542b\u5f53\u524d\u547d\u540d\u7a7a\u95f4\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                • Ingress Class \uff1a\u9009\u586b\uff0c\u9009\u62e9\u5bf9\u5e94\u7684 Ingress \u5b9e\u4f8b\uff0c\u9009\u62e9\u540e\u5c06\u6d41\u91cf\u5bfc\u5165\u5230\u6307\u5b9a\u7684 Ingress \u5b9e\u4f8b\u3002
                  • \u4e3a None \u65f6\u4f7f\u7528\u9ed8\u8ba4\u7684 DefaultClass\uff0c\u8bf7\u5728\u521b\u5efa Ingress \u5b9e\u4f8b\u65f6\u8bbe\u7f6e DefaultClass\uff0c \u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003 Ingress Class
                  • \u82e5\u9009\u62e9\u5176\u4ed6\u5b9e\u4f8b\uff08\u5982 ngnix \uff09\uff0c\u5219\u4f1a\u51fa\u73b0\u9ad8\u7ea7\u914d\u7f6e\uff0c\u53ef\u8bbe\u7f6e \u4f1a\u8bdd\u4fdd\u6301 \u3001 \u8def\u5f84\u91cd\u5199 \u3001 \u91cd\u5b9a\u5411 \u548c \u6d41\u91cf\u5206\u53d1 \u3002
                • \u4f1a\u8bdd\u4fdd\u6301 \uff1a\u9009\u586b\uff0c\u4f1a\u8bdd\u4fdd\u6301\u5206\u4e3a \u4e09\u79cd\u7c7b\u578b\uff1a L4 \u6e90\u5730\u5740\u54c8\u5e0c \u3001 Cookie Key \u3001 L7 Header Name \uff0c\u5f00\u542f\u540e\u6839\u636e\u5bf9\u5e94\u89c4\u5219\u8fdb\u884c\u4f1a\u8bdd\u4fdd\u6301\u3002
                  • L4 \u6e90\u5730\u5740\u54c8\u5e0c \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$binary_remote_addr\"
                  • Cookie Key \uff1a\u5f00\u542f\u540e\u6765\u81ea\u7279\u5b9a\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\u5c06\u4f20\u9012\u81f3\u76f8\u540c Pod\uff0c\u5f00\u542f\u540e \u9ed8\u8ba4\u5728 Annotation \u4e2d\u589e\u52a0\u5982\u4e0b\u53c2\u6570\uff1a nginx.ingress.kubernetes.io/affinity: \"cookie\"\u3002nginx.ingress.kubernetes.io/affinity-mode: persistent
                  • L7 Header Name \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$http_x_forwarded_for\"
                • \u8def\u5f84\u91cd\u5199 \uff1a\u9009\u586b\uff0c rewrite-target \uff0c\u67d0\u4e9b\u573a\u666f\u4e2d\u540e\u7aef\u670d\u52a1\u66b4\u9732\u7684URL\u4e0eIngress\u89c4\u5219\u4e2d\u6307\u5b9a\u7684\u8def\u5f84\u4e0d\u540c\uff0c\u5982\u679c\u4e0d\u8fdb\u884cURL\u91cd\u5199\u914d\u7f6e\uff0c\u8bbf\u95ee\u4f1a\u51fa\u73b0\u9519\u8bef\u3002
                • \u91cd\u5b9a\u5411 \uff1a\u9009\u586b\uff0c permanent-redirect \uff0c\u6c38\u4e45\u91cd\u5b9a\u5411\uff0c\u8f93\u5165\u91cd\u5199\u8def\u5f84\u540e\uff0c\u8bbf\u95ee\u8def\u5f84\u91cd\u5b9a\u5411\u81f3\u8bbe\u7f6e\u7684\u5730\u5740\u3002
                • \u6d41\u91cf\u5206\u53d1 \uff1a\u9009\u586b\uff0c\u5f00\u542f\u540e\u5e76\u8bbe\u7f6e\u540e\uff0c\u6839\u636e\u8bbe\u5b9a\u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1\u3002
                  • \u57fa\u4e8e\u6743\u91cd \uff1a\u8bbe\u5b9a\u6743\u91cd\u540e\uff0c\u5728\u521b\u5efa\u7684 Ingress \u6dfb\u52a0\u5982\u4e0b Annotation\uff1a nginx.ingress.kubernetes.io/canary-weight: \"10\"
                  • \u57fa\u4e8e Cookie \uff1a\u8bbe\u5b9a Cookie \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Cookie \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                  • \u57fa\u4e8e Header \uff1a \u8bbe\u5b9a Header \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Header \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                • \u6807\u7b7e \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6807\u7b7e
                • \u6ce8\u89e3 \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6ce8\u89e3
                "},{"location":"admin/kpanda/network/create-ingress.html#https","title":"\u521b\u5efa HTTPS \u534f\u8bae\u8def\u7531","text":"

                \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                Note

                \u6ce8\u610f\uff1a\u4e0e HTTP \u534f\u8bae \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \u4e0d\u540c\uff0c\u589e\u52a0\u5bc6\u94a5\u9009\u62e9\u8bc1\u4e66\uff0c\u5176\u4ed6\u57fa\u672c\u4e00\u81f4\u3002

                • \u534f\u8bae \uff1a\u5fc5\u586b\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002\u8fd9\u91cc\u9009\u62e9 HTTPS \u534f\u8bae\u7684\u8def\u7531\u3002
                • \u5bc6\u94a5 \uff1a\u5fc5\u586b\uff0cHttps TLS \u8bc1\u4e66\uff0c\u521b\u5efa\u79d8\u94a5\u3002
                "},{"location":"admin/kpanda/network/create-ingress.html#_3","title":"\u5b8c\u6210\u8def\u7531\u521b\u5efa","text":"

                \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u8def\u7531\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u8def\u7531\u3002

                "},{"location":"admin/kpanda/network/create-services.html","title":"\u521b\u5efa\u670d\u52a1\uff08Service\uff09","text":"

                \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u6bcf\u4e2a Pod \u90fd\u6709\u4e00\u4e2a\u5185\u90e8\u72ec\u7acb\u7684 IP \u5730\u5740\uff0c\u4f46\u662f\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u7684 Pod \u53ef\u80fd\u4f1a\u88ab\u968f\u65f6\u521b\u5efa\u548c\u5220\u9664\uff0c\u76f4\u63a5\u4f7f\u7528 Pod IP \u5730\u5740\u5e76\u4e0d\u80fd\u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u3002

                \u8fd9\u5c31\u9700\u8981\u521b\u5efa\u670d\u52a1\uff0c\u901a\u8fc7\u670d\u52a1\u60a8\u4f1a\u83b7\u5f97\u4e00\u4e2a\u56fa\u5b9a\u7684 IP \u5730\u5740\uff0c\u4ece\u800c\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u524d\u7aef\u548c\u540e\u7aef\u7684\u89e3\u8026\uff0c\u8ba9\u5916\u90e8\u7528\u6237\u80fd\u591f\u8bbf\u95ee\u670d\u52a1\u3002\u540c\u65f6\uff0c\u670d\u52a1\u8fd8\u63d0\u4f9b\u4e86\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u529f\u80fd\uff0c\u4f7f\u7528\u6237\u80fd\u4ece\u516c\u7f51\u8bbf\u95ee\u5230\u5de5\u4f5c\u8d1f\u8f7d\u3002

                "},{"location":"admin/kpanda/network/create-services.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"admin/kpanda/network/create-services.html#_2","title":"\u521b\u5efa\u670d\u52a1","text":"
                1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u670d\u52a1 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                  Tip

                  \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u670d\u52a1\u3002

                3. \u6253\u5f00 \u521b\u5efa\u670d\u52a1 \u9875\u9762\uff0c\u9009\u62e9\u4e00\u79cd\u8bbf\u95ee\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u51e0\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                "},{"location":"admin/kpanda/network/create-services.html#clusterip","title":"\u521b\u5efa ClusterIP \u670d\u52a1","text":"

                \u70b9\u9009 \u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u96c6\u7fa4\u7684\u5185\u90e8 IP \u66b4\u9732\u670d\u52a1\uff0c\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u53ea\u80fd\u5728\u96c6\u7fa4\u5185\u90e8\u8bbf\u95ee\u3002\u8fd9\u662f\u9ed8\u8ba4\u7684\u670d\u52a1\u7c7b\u578b\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09\u3002 ClusterIP \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 app:job01 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\uff0c\u7528\u6765\u5bf9\u96c6\u7fa4\u5185\u66b4\u9732\u670d\u52a1\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"admin/kpanda/network/create-services.html#nodeport","title":"\u521b\u5efa NodePort \u670d\u52a1","text":"

                \u70b9\u9009 \u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u6bcf\u4e2a\u8282\u70b9\u4e0a\u7684 IP \u548c\u9759\u6001\u7aef\u53e3\uff08 NodePort \uff09\u66b4\u9732\u670d\u52a1\u3002 NodePort \u670d\u52a1\u4f1a\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 ClusterIP \u670d\u52a1\u3002\u901a\u8fc7\u8bf7\u6c42 <\u8282\u70b9 IP>:<\u8282\u70b9\u7aef\u53e3> \uff0c\u60a8\u53ef\u4ee5\u4ece\u96c6\u7fa4\u7684\u5916\u90e8\u8bbf\u95ee\u4e00\u4e2a NodePort \u670d\u52a1\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09\u3002 NodePort \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod\u5f00\u542f\u540e Service \u7684 .spec.sessionAffinity \u4e3a ClientIP \uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1aService \u7684\u4f1a\u8bdd\u4eb2\u548c\u6027 \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u8d85\u65f6\u65f6\u957f\u4e3a 30 \u79d2.spec.sessionAffinityConfig.clientIP.timeoutSeconds \u9ed8\u8ba4\u8bbe\u7f6e\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"admin/kpanda/network/create-services.html#loadbalancer","title":"\u521b\u5efa LoadBalancer \u670d\u52a1","text":"

                \u70b9\u9009 \u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09 \uff0c\u8fd9\u662f\u6307\u4f7f\u7528\u4e91\u63d0\u4f9b\u5546\u7684\u8d1f\u8f7d\u5747\u8861\u5668\u5411\u5916\u90e8\u66b4\u9732\u670d\u52a1\u3002 \u5916\u90e8\u8d1f\u8f7d\u5747\u8861\u5668\u53ef\u4ee5\u5c06\u6d41\u91cf\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 NodePort \u670d\u52a1\u548c ClusterIP \u670d\u52a1\u4e0a\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u3002 LoadBalancer \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u5916\u90e8\u6d41\u91cf\u7b56\u7565 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bbe\u7f6e\u5916\u90e8\u6d41\u91cf\u7b56\u7565\u3002Cluster\uff1a\u6d41\u91cf\u53ef\u4ee5\u8f6c\u53d1\u5230\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u4e0a\u7684 Pod\u3002Local\uff1a\u6d41\u91cf\u53ea\u53d1\u7ed9\u672c\u8282\u70b9\u4e0a\u7684 Pod\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4f7f\u7528\u7684\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301 MetalLB \u548c\u5176\u4ed6\u3002 MetalLB IP \u6c60 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u7684 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u4e3a MetalLB \u65f6\uff0cLoadBalancer Service\u9ed8\u8ba4\u4f1a\u4ece\u8fd9\u4e2a\u6c60\u4e2d\u5206\u914d IP \u5730\u5740, \u5e76\u4e14\u901a\u8fc7 APR \u5ba3\u544a\u8fd9\u4e2a\u6c60\u4e2d\u7684\u6240\u6709 IP \u5730\u5740 \u8d1f\u8f7d\u5747\u8861\u5730\u5740 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u30111.\u5982\u4f7f\u7528\u7684\u662f\u516c\u6709\u4e91 CloudProvider\uff0c\u6b64\u5904\u586b\u5199\u7684\u4e3a\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u8d1f\u8f7d\u5747\u8861\u5730\u5740\uff1b2.\u5982\u679c\u4e0a\u8ff0\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u9009\u62e9\u4e3a MetalLB \uff0c\u9ed8\u8ba4\u4ece\u4e0a\u8ff0 IP \u6c60\u4e2d\u83b7\u53d6 IP \uff0c\u5982\u679c\u4e0d\u586b\u5219\u81ea\u52a8\u83b7\u53d6\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"admin/kpanda/network/create-services.html#externalname","title":"\u521b\u5efa ExternalName \u670d\u52a1","text":"

                \u70b9\u9009 \u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u5c06\u670d\u52a1\u6620\u5c04\u5230\u5916\u90e8\u57df\u540d\u6765\u66b4\u9732\u670d\u52a1\u3002\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u4e0d\u4f1a\u521b\u5efa\u5178\u578b\u7684 ClusterIP \u6216 NodePort\uff0c\u800c\u662f\u901a\u8fc7 DNS \u540d\u79f0\u89e3\u6790\u5c06\u8bf7\u6c42\u91cd\u5b9a\u5411\u5230\u5916\u90e8\u7684\u670d\u52a1\u5730\u5740\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09\u3002 ExternalName \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u57df\u540d \u3010\u7c7b\u578b\u3011\u5fc5\u586b"},{"location":"admin/kpanda/network/create-services.html#_3","title":"\u5b8c\u6210\u670d\u52a1\u521b\u5efa","text":"

                \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u670d\u52a1\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u670d\u52a1\u3002

                "},{"location":"admin/kpanda/network/network-policy.html","title":"\u7f51\u7edc\u7b56\u7565","text":"

                \u7f51\u7edc\u7b56\u7565\uff08NetworkPolicy\uff09\u53ef\u4ee5\u5728 IP \u5730\u5740\u6216\u7aef\u53e3\u5c42\u9762\uff08OSI \u7b2c 3 \u5c42\u6216\u7b2c 4 \u5c42\uff09\u63a7\u5236\u7f51\u7edc\u6d41\u91cf\u3002\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u76ee\u524d\u652f\u6301\u521b\u5efa\u57fa\u4e8e Pod \u6216\u547d\u540d\u7a7a\u95f4\u7684\u7f51\u7edc\u7b56\u7565\uff0c\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u6765\u8bbe\u5b9a\u54ea\u4e9b\u6d41\u91cf\u53ef\u4ee5\u8fdb\u5165\u6216\u79bb\u5f00\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684 Pod\u3002

                \u6709\u5173\u7f51\u7edc\u7b56\u7565\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u7f51\u7edc\u7b56\u7565\u3002

                "},{"location":"admin/kpanda/network/network-policy.html#_2","title":"\u521b\u5efa\u7f51\u7edc\u7b56\u7565","text":"

                \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u7f51\u7edc\u7b56\u7565\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u7f51\u7edc\u7b56\u7565\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                "},{"location":"admin/kpanda/network/network-policy.html#yaml","title":"YAML \u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> YAML \u521b\u5efa \u3002

                2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"admin/kpanda/network/network-policy.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> \u521b\u5efa\u7b56\u7565 \u3002

                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                  \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002

                3. \u586b\u5199\u7b56\u7565\u914d\u7f6e\u3002

                  \u7b56\u7565\u914d\u7f6e\u5206\u4e3a\u5165\u6d41\u91cf\u7b56\u7565\u548c\u51fa\u6d41\u91cf\u7b56\u7565\u3002\u5982\u679c\u6e90 Pod \u60f3\u8981\u6210\u529f\u8fde\u63a5\u5230\u76ee\u6807 Pod\uff0c\u6e90 Pod \u7684\u51fa\u6d41\u91cf\u7b56\u7565\u548c\u76ee\u6807 Pod \u7684\u5165\u6d41\u91cf\u7b56\u7565\u90fd\u9700\u8981\u5141\u8bb8\u8fde\u63a5\u3002\u5982\u679c\u4efb\u4f55\u4e00\u65b9\u4e0d\u5141\u8bb8\u8fde\u63a5\uff0c\u90fd\u4f1a\u5bfc\u81f4\u8fde\u63a5\u5931\u8d25\u3002

                  • \u5165\u6d41\u91cf\u7b56\u7565\uff1a\u70b9\u51fb \u2795 \u5f00\u59cb\u914d\u7f6e\u7b56\u7565\uff0c\u652f\u6301\u914d\u7f6e\u591a\u6761\u7b56\u7565\u3002\u591a\u6761\u7f51\u7edc\u7b56\u7565\u7684\u6548\u679c\u76f8\u4e92\u53e0\u52a0\uff0c\u53ea\u6709\u540c\u65f6\u6ee1\u8db3\u6240\u6709\u7f51\u7edc\u7b56\u7565\uff0c\u624d\u80fd\u6210\u529f\u5efa\u7acb\u8fde\u63a5\u3002

                  • \u51fa\u6d41\u91cf\u7b56\u7565

                "},{"location":"admin/kpanda/network/network-policy.html#_4","title":"\u67e5\u770b\u7f51\u7edc\u7b56\u7565","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 \uff0c\u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\u3002

                2. \u67e5\u770b\u8be5\u7b56\u7565\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5173\u8054\u5b9e\u4f8b\u4fe1\u606f\u3001\u5165\u6d41\u91cf\u7b56\u7565\u3001\u51fa\u6d41\u91cf\u7b56\u7565\u3002

                Info

                \u5728\u5173\u8054\u5b9e\u4f8b\u9875\u7b7e\u4e0b\uff0c\u652f\u6301\u67e5\u770b\u5b9e\u4f8b\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5bb9\u5668\u5217\u8868\u3001YAML \u6587\u4ef6\u3001\u4e8b\u4ef6\u7b49\u3002

                "},{"location":"admin/kpanda/network/network-policy.html#_5","title":"\u66f4\u65b0\u7f51\u7edc\u7b56\u7565","text":"

                \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                "},{"location":"admin/kpanda/network/network-policy.html#_6","title":"\u5220\u9664\u7f51\u7edc\u7b56\u7565","text":"

                \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u5220\u9664\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                "},{"location":"admin/kpanda/nodes/add-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u6269\u5bb9","text":"

                \u968f\u7740\u4e1a\u52a1\u5e94\u7528\u4e0d\u65ad\u589e\u957f\uff0c\u96c6\u7fa4\u8d44\u6e90\u65e5\u8d8b\u7d27\u5f20\uff0c\u8fd9\u65f6\u53ef\u4ee5\u57fa\u4e8e kubean \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u6269\u5bb9\u3002\u6269\u5bb9\u540e\uff0c\u5e94\u7528\u53ef\u4ee5\u8fd0\u884c\u5728\u65b0\u589e\u7684\u8282\u70b9\u4e0a\uff0c\u7f13\u89e3\u8d44\u6e90\u538b\u529b\u3002

                \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002\u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u540c\u79cd\u67b6\u6784\u4e0b\u5de5\u4f5c\u96c6\u7fa4\u7684 \u5de5\u4f5c\u8282\u70b9 \u6269\u5bb9\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                  \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u63a5\u5165\u8282\u70b9 \u3002

                3. \u8f93\u5165\u4e3b\u673a\u540d\u79f0\u548c\u8282\u70b9 IP \u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                  \u70b9\u51fb \u2795 \u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9 \u53ef\u4ee5\u7ee7\u7eed\u63a5\u5165\u66f4\u591a\u8282\u70b9\u3002

                Note

                \u63a5\u5165\u8282\u70b9\u5927\u7ea6\u9700\u8981 20 \u5206\u949f\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5f85\u3002

                "},{"location":"admin/kpanda/nodes/add-node.html#_2","title":"\u53c2\u8003\u6587\u6863","text":"
                • \u5bf9\u5de5\u4f5c\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u6269\u5bb9
                • \u4e3a\u5de5\u4f5c\u96c6\u7fa4\u6dfb\u52a0\u5f02\u6784\u8282\u70b9
                • \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u6269\u5bb9
                • \u66ff\u6362\u5de5\u4f5c\u96c6\u7fa4\u7684\u9996\u4e2a\u63a7\u5236\u8282\u70b9
                "},{"location":"admin/kpanda/nodes/delete-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9","text":"

                \u5f53\u4e1a\u52a1\u9ad8\u5cf0\u671f\u7ed3\u675f\u4e4b\u540e\uff0c\u4e3a\u4e86\u8282\u7701\u8d44\u6e90\u6210\u672c\uff0c\u53ef\u4ee5\u7f29\u5c0f\u96c6\u7fa4\u89c4\u6a21\uff0c\u5378\u8f7d\u5197\u4f59\u7684\u8282\u70b9\uff0c\u5373\u8282\u70b9\u7f29\u5bb9\u3002\u8282\u70b9\u5378\u8f7d\u540e\uff0c\u5e94\u7528\u65e0\u6cd5\u7ee7\u7eed\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\u3002

                "},{"location":"admin/kpanda/nodes/delete-node.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5177\u6709 Cluster Admin \u89d2\u8272\u6388\u6743 \u3002
                • \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002
                • \u5378\u8f7d\u8282\u70b9\u4e4b\u524d\uff0c\u9700\u8981\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\uff0c\u5e76\u4e14\u5c06\u8be5\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u90fd\u9a71\u9010\u81f3\u5176\u4ed6\u8282\u70b9\u3002
                • \u9a71\u9010\u65b9\u5f0f\uff1a\u767b\u5f55\u63a7\u5236\u5668\u8282\u70b9\uff0c\u901a\u8fc7 kubectl drain \u547d\u4ee4\u9a71\u9010\u8282\u70b9\u4e0a\u6240\u6709 Pod\u3002\u5b89\u5168\u9a71\u9010\u7684\u65b9\u5f0f\u53ef\u4ee5\u5141\u8bb8\u5bb9\u5668\u7ec4\u91cc\u9762\u7684\u5bb9\u5668\u4f18\u96c5\u5730\u4e2d\u6b62\u3002
                "},{"location":"admin/kpanda/nodes/delete-node.html#_3","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                1. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\uff0c\u53ea\u80fd\u9010\u4e2a\u8fdb\u884c\u5378\u8f7d\uff0c\u65e0\u6cd5\u6279\u91cf\u5378\u8f7d\u3002

                2. \u5982\u9700\u5378\u8f7d\u96c6\u7fa4\u63a7\u5236\u5668\u8282\u70b9\uff0c\u9700\u8981\u786e\u4fdd\u6700\u7ec8\u63a7\u5236\u5668\u8282\u70b9\u6570\u4e3a \u5947\u6570\u3002

                3. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\u4e0d\u53ef\u4e0b\u7ebf \u7b2c\u4e00\u4e2a\u63a7\u5236\u5668 \u8282\u70b9\u3002\u5982\u679c\u5fc5\u987b\u6267\u884c\u6b64\u64cd\u4f5c\uff0c\u8bf7\u8054\u7cfb\u552e\u540e\u5de5\u7a0b\u5e08\u3002

                "},{"location":"admin/kpanda/nodes/delete-node.html#_4","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                  \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u5378\u8f7d\u7684\u8282\u70b9\uff0c\u70b9\u51fb \u2507 \u9009\u62e9 \u79fb\u9664\u8282\u70b9 \u3002

                3. \u8f93\u5165\u8282\u70b9\u540d\u79f0\uff0c\u5e76\u70b9\u51fb \u5220\u9664 \u8fdb\u884c\u786e\u8ba4\u3002

                "},{"location":"admin/kpanda/nodes/labels-annotations.html","title":"\u6807\u7b7e\u4e0e\u6ce8\u89e3","text":"

                \u6807\u7b7e\uff08Labels\uff09\u662f\u4e3a Pod\u3001\u8282\u70b9\u3001\u96c6\u7fa4\u7b49 Kubernetes \u5bf9\u8c61\u6dfb\u52a0\u7684\u6807\u8bc6\u6027\u952e\u503c\u5bf9\uff0c\u53ef\u7ed3\u5408\u6807\u7b7e\u9009\u62e9\u5668\u67e5\u627e\u5e76\u7b5b\u9009\u6ee1\u8db3\u67d0\u4e9b\u6761\u4ef6\u7684 Kubernetes \u5bf9\u8c61\u3002\u6bcf\u4e2a\u952e\u5bf9\u4e8e\u7ed9\u5b9a\u5bf9\u8c61\u5fc5\u987b\u662f\u552f\u4e00\u7684\u3002

                \u6ce8\u89e3\uff08Annotations\uff09\u548c\u6807\u7b7e\u4e00\u6837\uff0c\u4e5f\u662f\u952e/\u503c\u5bf9\uff0c\u4f46\u4e0d\u5177\u5907\u6807\u8bc6\u6216\u7b5b\u9009\u529f\u80fd\u3002 \u4f7f\u7528\u6ce8\u89e3\u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u4efb\u610f\u7684\u5143\u6570\u636e\u3002 \u6ce8\u89e3\u7684\u952e\u901a\u5e38\u4f7f\u7528\u7684\u683c\u5f0f\u4e3a \u524d\u7f00\uff08\u53ef\u9009\uff09/\u540d\u79f0\uff08\u5fc5\u586b\uff09 \uff0c\u4f8b\u5982 nfd.node.kubernetes.io/extended-resources \u3002 \u5982\u679c\u7701\u7565\u524d\u7f00\uff0c\u8868\u793a\u8be5\u6ce8\u89e3\u952e\u662f\u7528\u6237\u79c1\u6709\u7684\u3002

                \u6709\u5173\u6807\u7b7e\u548c\u6ce8\u89e3\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u53c2\u8003 Kubernetes \u7684\u5b98\u65b9\u6587\u6863\u6807\u7b7e\u548c\u9009\u62e9\u7b97\u7b26\u6216\u6ce8\u89e3\u3002

                \u6dfb\u52a0/\u5220\u9664\u6807\u7b7e\u4e0e\u6ce8\u89e3\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u4fee\u6539\u6807\u7b7e \u6216 \u4fee\u6539\u6ce8\u89e3 \u3002

                3. \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u6dfb\u52a0\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u70b9\u51fb X \u53ef\u4ee5\u5220\u9664\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"admin/kpanda/nodes/node-authentication.html","title":"\u8282\u70b9\u8ba4\u8bc1","text":""},{"location":"admin/kpanda/nodes/node-authentication.html#ssh","title":"\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9","text":"

                \u5982\u679c\u60a8\u9009\u62e9\u4f7f\u7528 SSH \u5bc6\u94a5\u4f5c\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u60a8\u9700\u8981\u6309\u7167\u5982\u4e0b\u8bf4\u660e\u914d\u7f6e\u516c\u79c1\u94a5\u3002

                1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5728 \u5f85\u5efa\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u4e2d\u7684\u4efb\u610f\u8282\u70b9 \u4e0a\u751f\u6210\u516c\u79c1\u94a5\u3002

                  cd /root/.ssh\nssh-keygen -t rsa\n
                2. \u6267\u884c ls \u547d\u4ee4\u67e5\u770b\u7ba1\u7406\u96c6\u7fa4\u4e0a\u7684\u5bc6\u94a5\u662f\u5426\u521b\u5efa\u6210\u529f\uff0c\u6b63\u786e\u53cd\u9988\u5982\u4e0b\uff1a

                  ls\nid_rsa  id_rsa.pub  known_hosts\n

                  \u5176\u4e2d\u540d\u4e3a id_rsa \u7684\u6587\u4ef6\u662f\u79c1\u94a5\uff0c\u540d\u4e3a id_rsa.pub \u7684\u6587\u4ef6\u662f\u516c\u94a5\u3002

                3. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u5c06\u516c\u94a5\u6587\u4ef6 id_rsa.pub \u52a0\u8f7d\u5230\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6240\u6709\u8282\u70b9\u4e0a\u3002

                  ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.0.0.0\n

                  \u5c06\u4e0a\u9762\u547d\u4ee4\u4e2d\u7684 root@10.0.0.0 \u7528\u6237\u8d26\u53f7\u548c\u8282\u70b9 IP \u66ff\u6362\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u7528\u6237\u540d\u548c IP\u3002** \u9700\u8981\u5728\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6bcf\u53f0\u8282\u70b9\u90fd\u6267\u884c\u76f8\u540c\u7684\u64cd\u4f5c **\u3002

                4. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u6b65\u9aa4 1 \u6240\u521b\u5efa\u7684\u79c1\u94a5\u6587\u4ef6 id_rsa \u3002

                  cat /root/.ssh/id_rsa\n

                  \u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\uff1a

                  -----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3UvyKINzY5BFuemQ+uJ6q+GqgfvnWwNC8HzZhpcMSjJy26MM\nUtBEBJxy8fMi57XcjYxPibXW/wnd+32ICCycqCwByUmuXeCC1cjlCQDqjcAvXae7\nY54IXGF7wm2IsMNwf0kjFEXjuS48FLDA0mGRaN3BG+Up5geXcHckg3K5LD8kXFFx\ndEmSIjdyw55NaUitmEdHzN7cIdfi6Z56jcV8dcFBgWKUx+ebiyPmZBkXToz6GnMF\nrswzzZCl+G6Jb2xTGy7g7ozb4BoZd1IpSD5EhDanRrESVE0C5YuJ5zUAC0CvVd1l\nv67AK8Ko6MXToHp01/bcsvlM6cqgwUFXZKVeOwIDAQABAoIBAQCO36GQlo3BEjxy\nM2HvGJmqrx+unDxafliRe4nVY2AD515Qf4xNSzke4QM1QoyenMOwf446krQkJPK0\nk+9nl6Xszby5gGCbK4BNFk8I6RaGPjZWeRx6zGUJf8avWJiPxx6yjz2esSC9RiR0\nF0nmiiefVMyAfgv2/5++dK2WUFNNRKLgSRRpP5bRaD5wMzzxtSSXrUon6217HO8p\n3RoWsI51MbVzhdVgpHUNABcoa0rpr9svT6XLKZxY8mxpKFYjM0Wv2JIDABg3kBvh\nQbJ7kStCO3naZjKMU9UuSqVJs06cflGYw7Or8/tABR3LErNQKPjkhAQqt0DXw7Iw\n3tKdTAJBAoGBAP687U7JAOqQkcphek2E/A/sbO/d37ix7Z3vNOy065STrA+ZWMZn\npZ6Ui1B/oJpoZssnfvIoz9sn559X0j67TljFALFd2ZGS0Fqh9KVCqDvfk+Vst1dq\n+3r/yZdTOyswoccxkJiC/GDwZGK0amJWqvob39JCZhDAKIGLbGMmjdAHAoGBAN5k\nm1WGnni1nZ+3dryIwgB6z1hWcnLTamzSET6KhSuo946ET0IRG9xtlheCx6dqICbr\nVk1Y4NtRZjK/p/YGx59rDWf7E3I8ZMgR7mjieOcUZ4lUlA4l7ZIlW/2WZHW+nUXO\nTi20fqJ8qSp4BUvOvuth1pz2GLUHe2/Fxjf7HIstAoGBAPHpPr9r+TfIlPsJeRj2\n6lzA3G8qWFRQfGRYjv0fjv0pA+RIb1rzgP/I90g5+63G6Z+R4WdcxI/OJJNY1iuG\nuw9n/pFxm7U4JC990BPE6nj5iLz+clpNGYckNDBF9VG9vFSrSDLdaYkxoVNvG/xJ\na9Na90H4lm7f3VewrPy310KvAoGAZr+mwNoEh5Kpc6xo8Gxi7aPP/mlaUVD6X7Ki\ngvmu02AqmC7rC4QqEiqTaONkaSXwGusqIWxJ3yp5hELmUBYLzszAEeV/s4zRp1oZ\ng133LBRSTbHFAdBmNdqK6Nu+KGRb92980UMOKvZbliKDl+W6cbfvVu+gtKrzTc3b\naevb4TUCgYEAnJAxyVYDP1nJf7bjBSHXQu1E/DMwbtrqw7dylRJ8cAzI7IxfSCez\n7BYWq41PqVd9/zrb3Pbh2phiVzKe783igAIMqummcjo/kZyCwFsYBzK77max1jF5\naPQsLbRS2aDz8kIH6jHPZ/R+15EROmdtLmA7vIJZGerWWQR0dUU+XXA=\n

                  \u5c06\u79c1\u94a5\u5185\u5bb9\u590d\u5236\u540e\u586b\u81f3\u754c\u9762\u5bc6\u94a5\u8f93\u5165\u6846\u3002

                "},{"location":"admin/kpanda/nodes/node-check.html","title":"\u521b\u5efa\u96c6\u7fa4\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5","text":"

                \u5728\u521b\u5efa\u96c6\u7fa4\u6216\u4e3a\u5df2\u6709\u96c6\u7fa4\u6dfb\u52a0\u8282\u70b9\u65f6\uff0c\u8bf7\u53c2\u9605\u4e0b\u8868\uff0c\u68c0\u67e5\u8282\u70b9\u914d\u7f6e\uff0c\u4ee5\u907f\u514d\u56e0\u8282\u70b9\u914d\u7f6e\u9519\u8bef\u5bfc\u81f4\u96c6\u7fa4\u521b\u5efa\u6216\u6269\u5bb9\u5931\u8d25\u3002

                \u68c0\u67e5\u9879 \u63cf\u8ff0 \u64cd\u4f5c\u7cfb\u7edf \u53c2\u8003\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf SELinux \u5173\u95ed \u9632\u706b\u5899 \u5173\u95ed \u67b6\u6784\u4e00\u81f4\u6027 \u8282\u70b9\u95f4 CPU \u67b6\u6784\u4e00\u81f4\uff08\u5982\u5747\u4e3a ARM \u6216 x86\uff09 \u4e3b\u673a\u65f6\u95f4 \u6240\u6709\u4e3b\u673a\u95f4\u540c\u6b65\u8bef\u5dee\u5c0f\u4e8e 10 \u79d2\u3002 \u7f51\u7edc\u8054\u901a\u6027 \u8282\u70b9\u53ca\u5176 SSH \u7aef\u53e3\u80fd\u591f\u6b63\u5e38\u88ab\u5e73\u53f0\u8bbf\u95ee\u3002 CPU \u53ef\u7528 CPU \u8d44\u6e90\u5927\u4e8e 4 Core \u5185\u5b58 \u53ef\u7528\u5185\u5b58\u8d44\u6e90\u5927\u4e8e 8 GB"},{"location":"admin/kpanda/nodes/node-check.html#_2","title":"\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf","text":"\u67b6\u6784 \u64cd\u4f5c\u7cfb\u7edf \u5907\u6ce8 ARM Kylin Linux Advanced Server release V10 (Sword) SP2 \u63a8\u8350 ARM UOS Linux ARM openEuler x86 CentOS 7.x \u63a8\u8350 x86 Redhat 7.x \u63a8\u8350 x86 Redhat 8.x \u63a8\u8350 x86 Flatcar Container Linux by Kinvolk x86 Debian Bullseye, Buster, Jessie, Stretch x86 Ubuntu 16.04, 18.04, 20.04, 22.04 x86 Fedora 35, 36 x86 Fedora CoreOS x86 openSUSE Leap 15.x/Tumbleweed x86 Oracle Linux 7, 8, 9 x86 Alma Linux 8, 9 x86 Rocky Linux 8, 9 x86 Amazon Linux 2 x86 Kylin Linux Advanced Server release V10 (Sword) - SP2 \u6d77\u5149 x86 UOS Linux x86 openEuler"},{"location":"admin/kpanda/nodes/node-details.html","title":"\u8282\u70b9\u8be6\u60c5","text":"

                \u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u96c6\u7fa4\u4e2d\u5404\u4e2a\u8282\u70b9\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u8282\u70b9\u72b6\u6001\u3001\u6807\u7b7e\u3001\u8d44\u6e90\u7528\u91cf\u3001Pod\u3001\u76d1\u63a7\u4fe1\u606f\u7b49\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u72b6\u6001\u3001\u89d2\u8272\u3001\u6807\u7b7e\u3001CPU/\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001IP \u5730\u5740\u3001\u521b\u5efa\u65f6\u95f4\u3002

                3. \u70b9\u51fb\u8282\u70b9\u540d\u79f0\uff0c\u53ef\u4ee5\u8fdb\u5165\u8282\u70b9\u8be6\u60c5\u9875\u9762\u67e5\u770b\u66f4\u591a\u4fe1\u606f\uff0c\u5305\u62ec\u6982\u89c8\u4fe1\u606f\u3001\u5bb9\u5668\u7ec4\u4fe1\u606f\u3001\u6807\u7b7e\u6ce8\u89e3\u4fe1\u606f\u3001\u4e8b\u4ef6\u5217\u8868\u3001\u72b6\u6001\u7b49\u3002

                  \u6b64\u5916\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u7684 YAML \u6587\u4ef6\u3001\u76d1\u63a7\u4fe1\u606f\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u7b49\u3002

                "},{"location":"admin/kpanda/nodes/schedule.html","title":"\u8282\u70b9\u8c03\u5ea6","text":"

                \u652f\u6301\u5c06\u8282\u70b9\u6682\u505c\u8c03\u5ea6\u6216\u6062\u590d\u8c03\u5ea6\u3002\u6682\u505c\u8c03\u5ea6\u6307\uff0c\u505c\u6b62\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002\u6062\u590d\u8c03\u5ea6\u6307\uff0c\u53ef\u4ee5\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6682\u505c\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                3. \u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6062\u590d\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6062\u590d\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                \u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u53ef\u80fd\u56e0\u7f51\u7edc\u60c5\u51b5\u6709\u6240\u5ef6\u8fdf\uff0c\u70b9\u51fb\u641c\u7d22\u6846\u53f3\u4fa7\u7684\u5237\u65b0\u56fe\u6807\u53ef\u4ee5\u5237\u65b0\u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u3002

                "},{"location":"admin/kpanda/nodes/taints.html","title":"\u8282\u70b9\u6c61\u70b9\u7ba1\u7406","text":"

                \u6c61\u70b9 (Taint) \u80fd\u591f\u4f7f\u8282\u70b9\u6392\u65a5\u67d0\u4e00\u7c7b Pod\uff0c\u907f\u514d Pod \u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002 \u6bcf\u4e2a\u8282\u70b9\u4e0a\u53ef\u4ee5\u5e94\u7528\u4e00\u4e2a\u6216\u591a\u4e2a\u6c61\u70b9\uff0c\u4e0d\u80fd\u5bb9\u5fcd\u8fd9\u4e9b\u6c61\u70b9\u7684 Pod \u5219\u4e0d\u4f1a\u88ab\u8c03\u5ea6\u8be5\u8282\u70b9\u4e0a\u3002

                "},{"location":"admin/kpanda/nodes/taints.html#_2","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                1. \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 NS Editor \u89d2\u8272\u6388\u6743\u6216\u5176\u4ed6\u66f4\u9ad8\u6743\u9650\u3002
                2. \u4e3a\u8282\u70b9\u6dfb\u52a0\u6c61\u70b9\u4e4b\u540e\uff0c\u53ea\u6709\u80fd\u5bb9\u5fcd\u8be5\u6c61\u70b9\u7684 Pod \u624d\u80fd\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002
                "},{"location":"admin/kpanda/nodes/taints.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u6982\u89c8 \u9875\u9762\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u4fee\u6539\u6c61\u70b9\u7684\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u70b9\u51fb \u4fee\u6539\u6c61\u70b9 \u6309\u94ae\u3002

                3. \u5728\u5f39\u6846\u5185\u8f93\u5165\u6c61\u70b9\u7684\u952e\u503c\u4fe1\u606f\uff0c\u9009\u62e9\u6c61\u70b9\u6548\u679c\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u591a\u4e2a\u6c61\u70b9\uff0c\u70b9\u51fb\u6c61\u70b9\u6548\u679c\u53f3\u4fa7\u7684 X \u53ef\u4ee5\u5220\u9664\u6c61\u70b9\u3002

                  \u76ee\u524d\u652f\u6301\u4e09\u79cd\u6c61\u70b9\u6548\u679c\uff1a

                  • NoSchedule\uff1a\u65b0\u7684 Pod \u4e0d\u4f1a\u88ab\u8c03\u5ea6\u5230\u5e26\u6709\u6b64\u6c61\u70b9\u7684\u8282\u70b9\u4e0a\uff0c\u9664\u975e\u65b0\u7684 Pod \u5177\u6709\u76f8\u5339\u914d\u7684\u5bb9\u5fcd\u5ea6\u3002\u5f53\u524d\u6b63\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u4e0d\u4f1a \u88ab\u9a71\u9010\u3002
                  • NoExecute\uff1a\u8fd9\u4f1a\u5f71\u54cd\u5df2\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod\uff1a
                    • \u5982\u679c Pod \u4e0d\u80fd\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f1a\u9a6c\u4e0a\u88ab\u9a71\u9010\u3002
                    • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f46\u662f\u5728\u5bb9\u5fcd\u5ea6\u5b9a\u4e49\u4e2d\u6ca1\u6709\u6307\u5b9a tolerationSeconds\uff0c\u5219 Pod \u8fd8\u4f1a\u4e00\u76f4\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002
                    • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\u800c\u4e14\u6307\u5b9a\u4e86 tolerationSeconds\uff0c\u5219 Pod \u8fd8\u80fd\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u7ee7\u7eed\u8fd0\u884c\u6307\u5b9a\u7684\u65f6\u957f\u3002\u8fd9\u6bb5\u65f6\u95f4\u8fc7\u53bb\u540e\uff0c\u518d\u4ece\u8282\u70b9\u4e0a\u9a71\u9664\u8fd9\u4e9b Pod\u3002
                  • PreferNoSchedule\uff1a\u8fd9\u662f\u201c\u8f6f\u6027\u201d\u7684 NoSchedule\u3002\u63a7\u5236\u5e73\u9762\u5c06**\u5c1d\u8bd5**\u907f\u514d\u5c06\u4e0d\u5bb9\u5fcd\u6b64\u6c61\u70b9\u7684 Pod \u8c03\u5ea6\u5230\u8282\u70b9\u4e0a\uff0c\u4f46\u4e0d\u80fd\u4fdd\u8bc1\u5b8c\u5168\u907f\u514d\u3002\u6240\u4ee5\u8981\u5c3d\u91cf\u907f\u514d\u4f7f\u7528\u6b64\u6c61\u70b9\u3002

                \u6709\u5173\u6c61\u70b9\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605 Kubernetes \u5b98\u65b9\u6587\u6863\uff1a\u6c61\u70b9\u548c\u5bb9\u5fcd\u5ea6\u3002

                "},{"location":"admin/kpanda/olm/import-miniooperator.html","title":"\u5bfc\u5165\u79bb\u7ebf MinIo Operator","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u5982\u4f55\u5bfc\u5165 MinIo Operator\u3002

                "},{"location":"admin/kpanda/olm/import-miniooperator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5f53\u524d\u96c6\u7fa4\u5df2\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u4e14\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 kolm \u7ec4\u4ef6\uff08helm \u6a21\u677f\u641c\u7d22 kolm\uff09
                • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 olm \u7ec4\u4ef6\u4e14\u7248\u672c >= 0.2.4 (helm \u6a21\u677f\u641c\u7d22 olm)
                • \u652f\u6301\u6267\u884c Docker \u547d\u4ee4
                • \u51c6\u5907\u4e00\u4e2a\u955c\u50cf\u4ed3\u5e93
                "},{"location":"admin/kpanda/olm/import-miniooperator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u5728\u6267\u884c\u73af\u5883\u4e2d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u5e76\u5728\u540e\u7eed\u6b65\u9aa4\u4f7f\u7528\uff0c\u6267\u884c\u547d\u4ee4\uff1a

                  export OPM_IMG=10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0 \nexport BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3 \n

                  \u5982\u4f55\u83b7\u53d6\u4e0a\u8ff0\u955c\u50cf\u5730\u5740\uff1a

                  \u524d\u5f80 \u5bb9\u5668\u7ba1\u7406 -> \u9009\u62e9\u5f53\u524d\u96c6\u7fa4 -> helm \u5e94\u7528 -> \u67e5\u770b olm \u7ec4\u4ef6 -> \u63d2\u4ef6\u8bbe\u7f6e \uff0c\u627e\u5230\u540e\u7eed\u6b65\u9aa4\u6240\u9700 opm\uff0cminio\uff0cminio bundle\uff0cminio operator \u7684\u955c\u50cf\u3002

                  \u4ee5\u4e0a\u8bc9\u622a\u56fe\u4e3a\u4f8b\uff0c\u5219\u56db\u4e2a\u955c\u50cf\u5730\u5740\u5982\u4e0b\n\n# opm \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0\n\n# minio \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/minio/minio:RELEASE.2023-03-24T21-41-23Z\n\n# minio bundle \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3\n\n# minio operator \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/minio/operator:v5.0.3\n
                2. \u6267\u884c opm \u547d\u4ee4\u83b7\u53d6\u79bb\u7ebf bundle \u955c\u50cf\u5305\u542b\u7684 operator\u3002

                  # \u521b\u5efa operator \u5b58\u653e\u76ee\u5f55\n$ mkdir minio-operator && cd minio-operator \n\n# \u83b7\u53d6 operator yaml \n$ docker run --user root  -v $PWD/minio-operator:/minio-operator ${OPM_IMG} alpha bundle unpack --skip-tls-verify -v -d ${BUNDLE_IMG} -o ./minio-operator\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 9 files\n
                3. \u66ff\u6362\u00a0 minio-operator/manifests/minio-operator.clusterserviceversion.yaml\u00a0 \u6587\u4ef6\u4e2d\u7684\u6240\u6709\u955c\u50cf\u5730\u5740\u4e3a\u79bb\u7ebf\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u955c\u50cf\u3002

                  \u66ff\u6362\u524d\uff1a

                  \u66ff\u6362\u540e\uff1a

                4. \u751f\u6210\u6784\u5efa bundle \u955c\u50cf\u7684 Dockerfile

                  $ docker run --user root  -v $PWD:/minio-operator -w /minio-operator ${OPM_IMG} alpha bundle generate --channels stable,beta -d /minio-operator/minio-operator/manifests -e stable -p minio-operator \u00a0\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 10 files\n
                5. \u6267\u884c\u6784\u5efa\u547d\u4ee4\uff0c\u6784\u5efa bundle \u955c\u50cf\u4e14\u63a8\u9001\u5230\u79bb\u7ebf registry\u3002

                  # \u8bbe\u7f6e\u65b0\u7684 bundle image \nexport OFFLINE_BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3-offline \n\n$ docker build . -f bundle.Dockerfile -t ${OFFLINE_BUNDLE_IMG} \u00a0\n\n$ docker push ${OFFLINE_BUNDLE_IMG}\n
                6. \u751f\u6210\u6784\u5efa catalog \u955c\u50cf\u7684 Dockerfile\u3002

                  $ docker run --user root  -v $PWD:/minio-operator  -w /minio-operator ${OPM_IMG} index add  --bundles ${OFFLINE_BUNDLE_IMG} --generate --binary-image ${OPM_IMG} --skip-tls-verify\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u251c\u2500\u2500 database\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 index.db\n\u251c\u2500\u2500 index.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n4 directories, 12 files\n
                7. \u6784\u5efa catalog \u955c\u50cf

                  # \u8bbe\u7f6e\u65b0\u7684 catalog image  \nexport OFFLINE_CATALOG_IMG=10.5.14.200/release.daocloud.io/operator-framework/system-operator-index:v0.1.0-offline\n\n$ docker build . -f index.Dockerfile -t ${OFFLINE_CATALOG_IMG}  \n\n$ docker push ${OFFLINE_CATALOG_IMG}\n
                8. \u524d\u5f80\u5bb9\u5668\u7ba1\u7406\uff0c\u66f4\u65b0 helm \u5e94\u7528 olm \u7684\u5185\u7f6e catsrc \u955c\u50cf\uff08\u586b\u5199\u6784\u5efa catalog \u955c\u50cf\u6307\u5b9a\u7684 ${catalog-image} \u5373\u53ef\uff09

                9. \u66f4\u65b0\u6210\u529f\u540e\uff0cOperator Hub \u4e2d\u4f1a\u51fa\u73b0 minio-operator \u7ec4\u4ef6

                "},{"location":"admin/kpanda/permissions/cluster-ns-auth.html","title":"\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"

                \u5bb9\u5668\u7ba1\u7406\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u53ca\u5168\u5c40\u7528\u6237/\u7528\u6237\u7ec4\u7ba1\u7406\u5b9e\u73b0\u6388\u6743\uff0c\u5982\u9700\u4e3a\u7528\u6237\u6388\u4e88\u5bb9\u5668\u7ba1\u7406\u7684\u6700\u9ad8\u6743\u9650\uff08\u53ef\u4ee5\u521b\u5efa\u3001\u7ba1\u7406\u3001\u5220\u9664\u6240\u6709\u96c6\u7fa4\uff09\uff0c\u8bf7\u53c2\u89c1\u4ec0\u4e48\u662f\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u3002

                "},{"location":"admin/kpanda/permissions/cluster-ns-auth.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u4e4b\u524d\uff0c\u8bf7\u5b8c\u6210\u5982\u4e0b\u51c6\u5907\uff1a

                • \u5df2\u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u521b\u5efa\u4e86\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\uff0c\u8bf7\u53c2\u8003\u7528\u6237\u3002

                • \u4ec5 Kpanda Owner \u53ca\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin \u5177\u5907\u96c6\u7fa4\u6388\u6743\u80fd\u529b\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002

                • \u4ec5 Kpanda Owner\u3001\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin\uff0c\u5f53\u524d\u547d\u540d\u7a7a\u95f4\u7684 NS Admin \u5177\u5907\u547d\u540d\u7a7a\u95f4\u6388\u6743\u80fd\u529b\u3002

                "},{"location":"admin/kpanda/permissions/cluster-ns-auth.html#_3","title":"\u96c6\u7fa4\u6388\u6743","text":"
                1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u9ed8\u8ba4\u4f4d\u4e8e \u96c6\u7fa4\u6743\u9650 \u9875\u7b7e\u3002

                2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002

                3. \u5728 \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  \u76ee\u524d\u4ec5\u652f\u6301\u7684\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u8981\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c \u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002

                4. \u8fd4\u56de\u96c6\u7fa4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                "},{"location":"admin/kpanda/permissions/cluster-ns-auth.html#_4","title":"\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"
                1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u70b9\u51fb \u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u7b7e\u3002

                2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002\u5728 \u6dfb\u52a0\u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u76ee\u6807\u547d\u540d\u7a7a\u95f4\uff0c\u4ee5\u53ca\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  \u76ee\u524d\u652f\u6301\u7684\u547d\u540d\u7a7a\u95f4\u89d2\u8272\u4e3a NS Admin\u3001NS Editor\u3001NS Viewer\uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c\u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u6743\u9650\u6388\u6743\u3002

                3. \u8fd4\u56de\u547d\u540d\u7a7a\u95f4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                  Tip

                  \u540e\u7eed\u5982\u9700\u5220\u9664\u6216\u7f16\u8f91\u6743\u9650\uff0c\u53ef\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u7f16\u8f91 \u6216 \u5220\u9664 \u3002

                "},{"location":"admin/kpanda/permissions/custom-kpanda-role.html","title":"\u589e\u52a0 Kpanda \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9","text":"

                \u8fc7\u53bb Kpanda \u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\uff08rbac rules\uff09\u90fd\u662f\u63d0\u524d\u9884\u5b9a\u4e49\u597d\u7684\u4e14\u7528\u6237\u65e0\u6cd5\u4fee\u6539\uff0c\u56e0\u4e3a\u4ee5\u524d\u4fee\u6539\u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\u4e4b\u540e\u4e5f\u4f1a\u88ab Kpanda \u63a7\u5236\u5668\u8fd8\u539f\u6210\u9884\u5b9a\u4e49\u7684\u6743\u9650\u70b9\u3002 \u4e3a\u4e86\u652f\u6301\u66f4\u52a0\u7075\u6d3b\u7684\u6743\u9650\u914d\u7f6e\uff0c\u6ee1\u8db3\u5bf9\u7cfb\u7edf\u89d2\u8272\u7684\u81ea\u5b9a\u4e49\u9700\u6c42\uff0c\u76ee\u524d Kpanda \u652f\u6301\u4e3a\u5185\u7f6e\u7cfb\u7edf\u89d2\u8272\uff08cluster admin\u3001ns admin\u3001ns editor\u3001ns viewer\uff09\u4fee\u6539\u6743\u9650\u70b9\u3002 \u4ee5\u4e0b\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u65b0\u589e ns-viewer \u6743\u9650\u70b9\uff0c\u5c1d\u8bd5\u589e\u52a0\u53ef\u4ee5\u5220\u9664 Deployment \u7684\u6743\u9650\u3002\u5176\u4ed6\u6743\u9650\u70b9\u64cd\u4f5c\u7c7b\u4f3c\u3002

                "},{"location":"admin/kpanda/permissions/custom-kpanda-role.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u9002\u7528\u4e8e\u5bb9\u5668\u7ba1\u7406 v0.27.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u3002
                • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Viewer \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                Note

                • \u53ea\u9700\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0cKpanda \u63a7\u5236\u5668\u4f1a\u628a Global Cluster \u589e\u52a0\u7684\u6743\u9650\u70b9\u540c\u6b65\u5230\u6240\u6709\u63a5\u5165\u5b50\u96c6\u7fa4\u4e2d\uff0c\u540c\u6b65\u9700\u4e00\u6bb5\u65f6\u95f4\u624d\u80fd\u5b8c\u6210
                • \u53ea\u80fd\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0c\u5728\u5b50\u96c6\u7fa4\u65b0\u589e\u7684\u6743\u9650\u70b9\u4f1a\u88ab Global Cluster \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9\u8986\u76d6
                • \u53ea\u652f\u6301\u4f7f\u7528\u56fa\u5b9a Label \u7684 ClusterRole \u8ffd\u52a0\u6743\u9650\uff0c\u4e0d\u652f\u6301\u66ff\u6362\u6216\u8005\u5220\u9664\u6743\u9650\uff0c\u4e5f\u4e0d\u80fd\u4f7f\u7528 role \u8ffd\u52a0\u6743\u9650\uff0c\u5185\u7f6e\u89d2\u8272\u8ddf\u7528\u6237\u521b\u5efa\u7684 ClusterRole Label \u5bf9\u5e94\u5173\u7cfb\u5982\u4e0b

                  cluster-admin: rbac.kpanda.io/role-template-cluster-admin: \"true\"\ncluster-edit: rbac.kpanda.io/role-template-cluster-edit: \"true\"\ncluster-view: rbac.kpanda.io/role-template-cluster-view: \"true\"\nns-admin: rbac.kpanda.io/role-template-ns-admin: \"true\"\nns-edit: rbac.kpanda.io/role-template-ns-edit: \"true\"\nns-view: rbac.kpanda.io/role-template-ns-view: \"true\"\n
                "},{"location":"admin/kpanda/permissions/custom-kpanda-role.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u4f7f\u7528 admin \u6216\u8005 cluster admin \u6743\u9650\u7684\u7528\u6237\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d

                2. \u6388\u6743 ns-viewer\uff0c\u7528\u6237\u6709\u8be5 namespace ns-view \u6743\u9650

                3. \u5207\u6362\u767b\u5f55\u7528\u6237\u4e3a ns-viewer\uff0c\u6253\u5f00\u63a7\u5236\u53f0\u83b7\u53d6 ns-viewer \u7528\u6237\u5bf9\u5e94\u7684 token\uff0c\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u53d1\u73b0\u65e0\u5220\u9664\u6743\u9650

                  [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n{\"code\":7,\"message\":\"[RBAC] delete resources(deployments: nginx) is forbidden for user(ns-viewer) in cluster(cluster-member)\",\"details\":[]}[root@master-01 ~]#\n[root@master-01 ~]#\n
                4. \u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u521b\u5efa\u5982\u4e0b ClusterRole\uff1a

                  apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: append-ns-view # (1)!\n  labels:\n    rbac.kpanda.io/role-template-ns-view: \"true\" # (2)!\nrules:\n  - apiGroups: [ \"apps\" ]\n    resources: [ \"deployments\" ]\n    verbs: [ \"delete\" ]\n
                  1. \u6b64\u5b57\u6bb5\u503c\u53ef\u4efb\u610f\u6307\u5b9a\uff0c\u53ea\u9700\u4e0d\u91cd\u590d\u4e14\u7b26\u5408 Kubernetes \u8d44\u6e90\u540d\u79f0\u89c4\u5219\u8981\u6c42
                  2. \u6ce8\u610f\u7ed9\u4e0d\u540c\u7684\u89d2\u8272\u6dfb\u52a0\u6743\u9650\u65f6\u5e94\u6253\u4e0a\u4e0d\u540c\u7684 label
                5. \u7b49\u5f85 Kpanda \u63a7\u5236\u5668\u6dfb\u52a0\u7528\u6237\u521b\u5efa\u6743\u9650\u5230\u5185\u7f6e\u89d2\u8272 ns-viewer \u4e2d\uff0c\u53ef\u67e5\u770b\u5bf9\u5e94\u5185\u7f6e\u89d2\u8272\u5982\u662f\u5426\u6709\u4e0a\u4e00\u6b65\u65b0\u589e\u7684\u6743\u9650\u70b9

                  [root@master-01 ~]# kubectl get clusterrole role-template-ns-view -oyaml|grep deployments -C 10|tail -n 6\n
                  - apiGroups:\n  - apps\n  resources:\n  - deployments\n  verbs:\n  - delete\n

                6. \u518d\u6b21\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u8fd9\u6b21\u6210\u529f\u5220\u9664\u4e86\u3002\u4e5f\u5c31\u662f\u8bf4\uff0cns-viewer \u6210\u529f\u65b0\u589e\u4e86\u5220\u9664 Deployment \u7684\u6743\u9650\u3002

                  [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n
                "},{"location":"admin/kpanda/permissions/permission-brief.html","title":"\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e","text":"

                \u5bb9\u5668\u7ba1\u7406\u6743\u9650\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u4ee5\u53ca Kubernetes RBAC \u6743\u9650\u7ba1\u7406\u6253\u9020\u7684\u591a\u7ef4\u5ea6\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u3002 \u652f\u6301\u96c6\u7fa4\u7ea7\u3001\u547d\u540d\u7a7a\u95f4\u7ea7\u7684\u6743\u9650\u63a7\u5236\uff0c\u5e2e\u52a9\u7528\u6237\u4fbf\u6377\u7075\u6d3b\u5730\u5bf9\u79df\u6237\u4e0b\u7684 IAM \u7528\u6237\u3001\u7528\u6237\u7ec4\uff08\u7528\u6237\u7684\u96c6\u5408\uff09\u8bbe\u5b9a\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650\u3002

                "},{"location":"admin/kpanda/permissions/permission-brief.html#_2","title":"\u96c6\u7fa4\u6743\u9650","text":"

                \u96c6\u7fa4\u6743\u9650\u57fa\u4e8e Kubernetes RBAC \u7684 ClusterRolebinding \u6388\u6743\uff0c\u96c6\u7fa4\u6743\u9650\u8bbe\u7f6e\u53ef\u8ba9\u7528\u6237/\u7528\u6237\u7ec4\u5177\u5907\u96c6\u7fa4\u76f8\u5173\u6743\u9650\u3002 \u76ee\u524d\u7684\u9ed8\u8ba4\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff08\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u5220\u9664\u6743\u9650\uff09\u3002

                "},{"location":"admin/kpanda/permissions/permission-brief.html#cluster-admin","title":"Cluster Admin","text":"

                Cluster Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                • \u53ef\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b\u5bf9\u5e94\u96c6\u7fa4

                • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\u53ca\u96c6\u7fa4\u5185\u6240\u6709\u8d44\u6e90

                • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u96c6\u7fa4\u5185\u89d2\u8272 (Cluster Admin\u3001NS Admin\u3001NS Editor\u3001NS Viewer)

                \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-cluster-admin\n  resourceVersion: \"15168\"\n  uid: f8f86d42-d5ef-47aa-b284-097615795076\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n
                "},{"location":"admin/kpanda/permissions/permission-brief.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u6743\u9650","text":"

                \u547d\u540d\u7a7a\u95f4\u6743\u9650\u662f\u57fa\u4e8e Kubernetes RBAC \u80fd\u529b\u7684\u6388\u6743\uff0c\u53ef\u4ee5\u5b9e\u73b0\u4e0d\u540c\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5bf9\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u5177\u6709\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650(\u5305\u62ec Kubernetes API \u6743\u9650)\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\uff1aKubernetes RBAC\u3002\u76ee\u524d\u5bb9\u5668\u7ba1\u7406\u7684\u9ed8\u8ba4\u89d2\u8272\u4e3a\uff1aNS Admin\u3001NS Editor\u3001NS Viewer\u3002

                "},{"location":"admin/kpanda/permissions/permission-brief.html#ns-admin","title":"NS Admin","text":"

                NS Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u89d2\u8272 (NS Editor\u3001NS Viewer)

                \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-admin\n  resourceVersion: \"15173\"\n  uid: 69f64c7e-70e7-4c7c-a3e0-053f507f2bc3\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'    \n
                "},{"location":"admin/kpanda/permissions/permission-brief.html#ns-editor","title":"NS Editor","text":"

                NS Editor \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                • \u53ef\u67e5\u770b\u5bf9\u5e94\u6709\u6743\u9650\u7684\u547d\u540d\u7a7a\u95f4
                • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d
                \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-edit\n  resourceVersion: \"15175\"\n  uid: ca9e690e-96c0-4978-8915-6e4c00c748fe\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - '*'\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - '*'\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - '*'\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - '*'\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - '*'      \n
                "},{"location":"admin/kpanda/permissions/permission-brief.html#ns-viewer","title":"NS Viewer","text":"

                NS Viewer \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-view\n  resourceVersion: \"15183\"\n  uid: 853888fd-6ee8-42ac-b91e-63923918baf8\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - get\n  - list\n  - watch \n
                "},{"location":"admin/kpanda/permissions/permission-brief.html#faq","title":"\u6743\u9650 FAQ","text":"
                1. \u5168\u5c40\u6743\u9650\u548c\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u7ba1\u7406\u7684\u5173\u7cfb\uff1f

                  \u7b54\uff1a\u5168\u5c40\u6743\u9650\u4ec5\u6388\u6743\u4e3a\u7c97\u7c92\u5ea6\u6743\u9650\uff0c\u53ef\u7ba1\u7406\u6240\u6709\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u7f16\u8f91\u3001\u5220\u9664\uff1b\u800c\u5bf9\u4e8e\u7ec6\u7c92\u5ea6\u7684\u6743\u9650\uff0c\u5982\u5355\u4e2a\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\uff0c\u5355\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u5220\u9664\u6743\u9650\uff0c\u9700\u8981\u57fa\u4e8e Kubernetes RBAC \u7684\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8fdb\u884c\u5b9e\u73b0\u3002 \u4e00\u822c\u6743\u9650\u7684\u7528\u6237\u4ec5\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u8fdb\u884c\u6388\u6743\u5373\u53ef\u3002

                2. \u76ee\u524d\u4ec5\u652f\u6301\u56db\u4e2a\u9ed8\u8ba4\u89d2\u8272\uff0c\u540e\u53f0\u81ea\u5b9a\u4e49\u89d2\u8272\u7684 RoleBinding \u4ee5\u53ca ClusterRoleBinding \uff08Kubernetes \u7ec6\u7c92\u5ea6\u7684 RBAC\uff09\u662f\u5426\u4e5f\u80fd\u751f\u6548\uff1f

                  \u7b54\uff1a\u76ee\u524d\u81ea\u5b9a\u4e49\u6743\u9650\u6682\u65f6\u65e0\u6cd5\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u8fdb\u884c\u7ba1\u7406\uff0c\u4f46\u662f\u901a\u8fc7 kubectl \u521b\u5efa\u7684\u6743\u9650\u89c4\u5219\u540c\u6837\u80fd\u751f\u6548\u3002

                "},{"location":"admin/kpanda/scale/create-hpa.html","title":"\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u521b\u5efa HPA","text":"

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301 Pod \u8d44\u6e90\u57fa\u4e8e\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\uff08Horizontal Pod Autoscaling, HPA\uff09\u3002 \u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e CPU \u5229\u7528\u7387\u3001\u5185\u5b58\u7528\u91cf\u53ca\u81ea\u5b9a\u4e49\u6307\u6807\u6307\u6807\u6765\u52a8\u6001\u8c03\u6574 Pod \u8d44\u6e90\u7684\u526f\u672c\u6570\u91cf\u3002 \u4f8b\u5982\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u57fa\u4e8e CPU \u5229\u7528\u7387\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u540e\uff0c\u5f53 Pod \u7684 CPU \u5229\u7528\u7387\u8d85\u8fc7/\u4f4e\u4e8e\u60a8\u8bbe\u7f6e\u7684\u6307\u6807\u9600\u503c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u63a7\u5236\u5668\u5c06\u4f1a\u81ea\u52a8\u589e\u52a0/\u8f83\u5c11 Pod \u526f\u672c\u6570\u3002

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u7684\u5f39\u6027\u4f38\u7f29\u3002

                Note

                1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                2. \u5982\u679c\u57fa\u4e8e CPU \u5229\u7528\u7387\u521b\u5efa HPA \u7b56\u7565\uff0c\u5fc5\u987b\u9884\u5148\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u914d\u7f6e\u9650\u5236\uff08Limit\uff09\uff0c\u5426\u5219\u65e0\u6cd5\u8ba1\u7b97 CPU \u5229\u7528\u7387\u3002
                3. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                "},{"location":"admin/kpanda/scale/create-hpa.html#_1","title":"\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565","text":"

                \u7cfb\u7edf\u5185\u7f6e\u4e86 CPU \u548c\u5185\u5b58\u4e24\u79cd\u5f39\u6027\u4f38\u7f29\u6307\u6807\u4ee5\u6ee1\u8db3\u7528\u6237\u7684\u57fa\u7840\u4e1a\u52a1\u4f7f\u7528\u573a\u666f\u3002

                "},{"location":"admin/kpanda/scale/create-hpa.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5df2\u5b8c\u6210 metrics-server \u63d2\u4ef6\u5b89\u88c5 \u3002

                "},{"location":"admin/kpanda/scale/create-hpa.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u63d2\u4ef6\uff0c\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                  • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                  • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                  • \u76ee\u6807 CPU \u5229\u7528\u7387\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b Pod \u7684 CPU \u4f7f\u7528\u7387\u3002\u8ba1\u7b97\u65b9\u5f0f\u4e3a\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u7684 Pod \u8d44\u6e90 / \u5de5\u4f5c\u8d1f\u8f7d\u7684\u8bf7\u6c42\uff08request\uff09\u503c\u3002\u5f53\u5b9e\u9645 CPU \u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                  • \u76ee\u6807\u5185\u5b58\u7528\u91cf\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b\u7684 Pod \u7684\u5185\u5b58\u7528\u91cf\u3002\u5f53\u5b9e\u9645\u5185\u5b58\u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                  • \u526f\u672c\u8303\u56f4\uff1aPod \u526f\u672c\u6570\u7684\u5f39\u6027\u4f38\u7f29\u8303\u56f4\u3002\u9ed8\u8ba4\u533a\u95f4\u4e3a\u4e3a 1 - 10\u3002
                6. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u76f8\u5173\u4e8b\u4ef6\u3002

                "},{"location":"admin/kpanda/scale/create-vpa.html","title":"\u521b\u5efa VPA","text":"

                \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u901a\u8fc7\u76d1\u63a7 Pod \u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u8d44\u6e90\u7533\u8bf7\u548c\u7528\u91cf\uff0c \u8ba1\u7b97\u51fa\u5bf9\u8be5 Pod \u800c\u8a00\u6700\u9002\u5408\u7684 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u3002\u4f7f\u7528 VPA \u53ef\u4ee5\u66f4\u52a0\u5408\u7406\u5730\u4e3a\u96c6\u7fa4\u4e0b\u6bcf\u4e2a Pod \u5206\u914d\u8d44\u6e90\uff0c\u63d0\u9ad8\u96c6\u7fa4\u7684\u6574\u4f53\u8d44\u6e90\u5229\u7528\u7387\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u901a\u8fc7\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\uff0c\u57fa\u4e8e\u6b64\u529f\u80fd\u53ef\u4ee5\u6839\u636e\u5bb9\u5668\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u52a8\u6001\u8c03\u6574 Pod \u8bf7\u6c42\u503c\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u901a\u8fc7\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u65b9\u5f0f\u6765\u4fee\u6539\u8d44\u6e90\u8bf7\u6c42\u503c\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u8981\u8fdb\u884c\u914d\u7f6e\u3002

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e Pod \u5782\u76f4\u4f38\u7f29\u3002

                Warning

                \u4f7f\u7528 VPA \u4fee\u6539 Pod \u8d44\u6e90\u8bf7\u6c42\u4f1a\u89e6\u53d1 Pod \u91cd\u542f\u3002\u7531\u4e8e Kubernetes \u672c\u8eab\u7684\u9650\u5236\uff0c Pod \u91cd\u542f\u540e\u53ef\u80fd\u4f1a\u88ab\u8c03\u5ea6\u5230\u5176\u5b83\u8282\u70b9\u4e0a\u3002

                "},{"location":"admin/kpanda/scale/create-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3001\u7528\u6237\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 metrics-server \u548c VPA \u63d2\u4ef6\u3002

                "},{"location":"admin/kpanda/scale/create-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u4e2d\u627e\u5230\u76ee\u524d\u96c6\u7fa4\uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u627e\u5230\u9700\u8981\u521b\u5efa VPA \u7684\u8d1f\u8f7d\uff0c\u70b9\u51fb\u8be5\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                  3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\uff0c\u786e\u8ba4\u5df2\u7ecf\u5b89\u88c5\u4e86\u76f8\u5173\u63d2\u4ef6\u5e76\u4e14\u63d2\u4ef6\u662f\u5426\u8fd0\u884c\u6b63\u5e38\u3002

                3. \u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\uff0c\u5e76\u914d\u7f6e VPA \u5782\u76f4\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                  • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 vpa-my-dep\u3002
                  • \u4f38\u7f29\u6a21\u5f0f\uff1a\u6267\u884c\u4fee\u6539 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u7684\u65b9\u5f0f\uff0c\u76ee\u524d\u5782\u76f4\u4f38\u7f29\u652f\u6301\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u4f38\u7f29\u6a21\u5f0f\u3002
                    • \u624b\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u8ba1\u7b97\u51fa\u63a8\u8350\u7684\u8d44\u6e90\u914d\u7f6e\u503c\u540e\uff0c\u9700\u7528\u6237\u624b\u52a8\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                    • \u81ea\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u81ea\u52a8\u8ba1\u7b97\u548c\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                  • \u76ee\u6807\u5bb9\u5668\uff1a\u9009\u62e9\u9700\u8981\u8fdb\u884c\u5782\u76f4\u4f38\u7f29\u7684\u5bb9\u5668\u3002
                4. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\u3002

                Note

                \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c--min-replicas \u7684\u503c\u4e3a 2\u3002\u8868\u793a\u5f53\u526f\u672c\u6570\u5927\u4e8e 1 \u65f6\uff0cVPA \u624d\u4f1a\u751f\u6548\uff0c \u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 updater \u7684 --min-replicas \u53c2\u6570\u503c\u6765\u6539\u53d8\u8fd9\u4e00\u9ed8\u8ba4\u884c\u4e3a\u3002

                spec: \n  containers: \n  - name: updater \n  args: \n  - \"--min-replicas=2\"\n
                "},{"location":"admin/kpanda/scale/custom-hpa.html","title":"\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa HPA","text":"

                \u5f53\u7cfb\u7edf\u5185\u7f6e\u7684 CPU \u548c\u5185\u5b58\u4e24\u79cd\u6307\u6807\u4e0d\u80fd\u6ee1\u8db3\u60a8\u4e1a\u52a1\u7684\u5b9e\u9645\u9700\u6c42\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e ServiceMonitoring \u6765\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6307\u6807\uff0c \u5e76\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u5b9e\u73b0\u5f39\u6027\u4f38\u7f29\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002

                Note

                1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                2. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                "},{"location":"admin/kpanda/scale/custom-hpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c \u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762
                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa
                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743
                • \u5df2\u5b89\u88c5 metrics-server \u63d2\u4ef6
                • \u5df2\u5b89\u88c5 insight-agent \u63d2\u4ef6
                • \u5df2\u5b89\u88c5 Prometheus-adapter \u63d2\u4ef6
                "},{"location":"admin/kpanda/scale/custom-hpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u3001Insight\u3001Prometheus-adapter \u63d2\u4ef6\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                  Note

                  \u5982\u679c\u76f8\u5173\u63d2\u4ef6\u672a\u5b89\u88c5\u6216\u63d2\u4ef6\u5904\u4e8e\u5f02\u5e38\u72b6\u6001\uff0c\u60a8\u5728\u9875\u9762\u4e0a\u5c06\u65e0\u6cd5\u770b\u89c1\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u5165\u53e3\u3002

                5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                  • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                  • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                  • \u8d44\u6e90\u7c7b\u578b\uff1a\u8fdb\u884c\u76d1\u63a7\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u7c7b\u578b\uff0c\u5305\u542b Pod \u548c Service \u4e24\u79cd\u7c7b\u578b\u3002
                  • \u6307\u6807\uff1a\u4f7f\u7528 ServiceMonitoring \u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u6216\u7cfb\u7edf\u5185\u7f6e\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u3002
                  • \u6570\u636e\u7c7b\u578b\uff1a\u7528\u4e8e\u8ba1\u7b97\u6307\u6807\u503c\u7684\u65b9\u6cd5\uff0c\u5305\u542b\u76ee\u6807\u503c\u548c\u76ee\u6807\u5e73\u5747\u503c\u4e24\u79cd\u7c7b\u578b\uff0c\u5f53\u8d44\u6e90\u7c7b\u578b\u4e3a Pod \u65f6\uff0c\u53ea\u652f\u6301\u4f7f\u7528\u76ee\u6807\u5e73\u5747\u503c\u3002
                "},{"location":"admin/kpanda/scale/custom-hpa.html#_3","title":"\u64cd\u4f5c\u793a\u4f8b","text":"

                \u672c\u6848\u4f8b\u4ee5 Golang \u4e1a\u52a1\u7a0b\u5e8f\u4e3a\u4f8b\uff0c\u8be5\u793a\u4f8b\u7a0b\u5e8f\u66b4\u9732\u4e86 httpserver_requests_total \u6307\u6807\uff0c\u5e76\u8bb0\u5f55 HTTP \u7684\u8bf7\u6c42\uff0c\u901a\u8fc7\u8be5\u6307\u6807\u53ef\u4ee5\u8ba1\u7b97\u51fa\u4e1a\u52a1\u7a0b\u5e8f\u7684 QPS \u503c\u3002

                "},{"location":"admin/kpanda/scale/custom-hpa.html#_4","title":"\u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f","text":"

                \u4f7f\u7528 Deployment \u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f\uff1a

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: httpserver\n  namespace: httpserver\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: httpserver\n  template:\n    metadata:\n      labels:\n        app: httpserver\n    spec:\n      containers:\n      - name: httpserver\n        image: registry.imroc.cc/test/httpserver:custom-metrics\n        imagePullPolicy: Always\n---\n\napiVersion: v1\nkind: Service\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    app: httpserver\n  annotations:\n    prometheus.io/scrape: \"true\"\n    prometheus.io/path: \"/metrics\"\n    prometheus.io/port: \"http\"\nspec:\n  type: ClusterIP\n  ports:\n  - port: 80\n    protocol: TCP\n    name: http\n  selector:\n    app: httpserver\n
                "},{"location":"admin/kpanda/scale/custom-hpa.html#prometheus","title":"Prometheus \u91c7\u96c6\u4e1a\u52a1\u76d1\u63a7","text":"

                \u82e5\u5df2\u5b89\u88c5 insight-agent\uff0c\u53ef\u4ee5\u901a\u8fc7\u521b\u5efa ServiceMonitor \u7684 CRD \u5bf9\u8c61\u914d\u7f6e Prometheus\u3002

                \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> \u81ea\u5b9a\u4e49\u8d44\u6e90 \u641c\u7d22\u201cservicemonitors.monitoring.coreos.com\"\uff0c\u70b9\u51fb\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\u3002 \u901a\u8fc7\u521b\u5efa YAML\uff0c\u5728\u547d\u540d\u7a7a\u95f4 httpserver \u4e0b\u521b\u5efa\u5982\u4e0b\u793a\u4f8b\u7684 CRD\uff1a

                apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    operator.insight.io/managed-by: insight\nspec:\n  endpoints:\n  - port: http\n    interval: 5s\n  namespaceSelector:\n    matchNames:\n    - httpserver\n  selector:\n    matchLabels:\n      app: httpserver\n

                Note

                \u82e5\u901a\u8fc7 insight \u5b89\u88c5 Prometheus\uff0c\u5219 serviceMonitor \u4e0a\u5fc5\u987b\u6253\u4e0a operator.insight.io/managed-by: insight \u8fd9\u4e2a label\uff0c\u901a\u8fc7\u5176\u4ed6\u65b9\u5f0f\u5b89\u88c5\u5219\u65e0\u9700\u6b64 label\u3002

                "},{"location":"admin/kpanda/scale/custom-hpa.html#prometheus-adapter","title":"\u5728 prometheus-adapter \u4e2d\u914d\u7f6e\u6307\u6807\u89c4\u5219","text":"

                \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 \u641c\u7d22 \u201cprometheus-adapter\"\uff0c\u901a\u8fc7\u64cd\u4f5c\u680f\u8fdb\u5165\u66f4\u65b0\u9875\u9762\uff0c\u5728 YAML \u4e2d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a

                rules:\n  custom:\n    - metricsQuery: sum(rate(<<.Series>>{<<.LabelMatchers>>}[1m])) by (<<.GroupBy>>)\n      name:\n        as: httpserver_requests_qps\n        matches: httpserver_requests_total\n      resources:\n        template: <<.Resource>>\n      seriesQuery: httpserver_requests_total\n

                "},{"location":"admin/kpanda/scale/custom-hpa.html#_5","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570","text":"

                \u6309\u7167\u4e0a\u8ff0\u6b65\u9aa4\u5728 Deployment \u4e2d\u627e\u5230\u5e94\u7528\u7a0b\u5e8f httpserver \u5e76\u901a\u8fc7\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa\u5f39\u6027\u4f38\u7f29\u3002

                "},{"location":"admin/kpanda/scale/hpa-cronhpa-compatibility-rules.html","title":"HPA \u548c CronHPA \u517c\u5bb9\u89c4\u5219","text":"

                HPA \u5168\u79f0\u4e3a HorizontalPodAutoscaler\uff0c\u5373 Pod \u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                CronHPA \u5168\u79f0\u4e3a Cron HorizontalPodAutoscaler\uff0c\u5373 Pod \u5b9a\u65f6\u7684\u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                "},{"location":"admin/kpanda/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa","title":"CronHPA \u548c HPA \u517c\u5bb9\u51b2\u7a81","text":"

                \u5b9a\u65f6\u4f38\u7f29 CronHPA \u901a\u8fc7\u8bbe\u7f6e\u5b9a\u65f6\u7684\u65b9\u5f0f\u89e6\u53d1\u5bb9\u5668\u7684\u6c34\u5e73\u526f\u672c\u4f38\u7f29\u3002\u4e3a\u4e86\u9632\u6b62\u7a81\u53d1\u7684\u6d41\u91cf\u51b2\u51fb\u7b49\u72b6\u51b5\uff0c \u60a8\u53ef\u80fd\u5df2\u7ecf\u914d\u7f6e HPA \u4fdd\u969c\u5e94\u7528\u7684\u6b63\u5e38\u8fd0\u884c\u3002\u5982\u679c\u540c\u65f6\u68c0\u6d4b\u5230\u4e86 HPA \u548c CronHPA \u7684\u5b58\u5728\uff0c \u7531\u4e8e CronHPA \u548c HPA \u76f8\u4e92\u72ec\u7acb\u65e0\u6cd5\u611f\u77e5\uff0c\u5c31\u4f1a\u51fa\u73b0\u4e24\u4e2a\u63a7\u5236\u5668\u5404\u81ea\u5de5\u4f5c\uff0c\u540e\u6267\u884c\u7684\u64cd\u4f5c\u4f1a\u8986\u76d6\u5148\u6267\u884c\u7684\u64cd\u4f5c\u3002

                \u5bf9\u6bd4 CronHPA \u548c HPA \u7684\u5b9a\u4e49\u6a21\u677f\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230\u4ee5\u4e0b\u51e0\u70b9\uff1a

                • CronHPA \u548c HPA \u90fd\u662f\u901a\u8fc7 scaleTargetRef \u5b57\u6bb5\u6765\u83b7\u53d6\u4f38\u7f29\u5bf9\u8c61\u3002
                • CronHPA \u901a\u8fc7 jobs \u7684 crontab \u89c4\u5219\u5b9a\u65f6\u4f38\u7f29\u526f\u672c\u6570\u3002
                • HPA \u901a\u8fc7\u8d44\u6e90\u5229\u7528\u7387\u5224\u65ad\u4f38\u7f29\u60c5\u51b5\u3002

                Note

                \u5982\u679c\u540c\u65f6\u8bbe\u7f6e CronHPA \u548c HPA\uff0c\u4f1a\u51fa\u73b0 CronHPA \u548c HPA \u540c\u65f6\u64cd\u4f5c\u4e00\u4e2a scaleTargetRef \u7684\u573a\u666f\u3002

                "},{"location":"admin/kpanda/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa_1","title":"CronHPA \u548c HPA \u517c\u5bb9\u65b9\u6848","text":"

                \u4ece\u4e0a\u6587\u53ef\u77e5\uff0cCronHPA \u548c HPA \u540c\u65f6\u4f7f\u7528\u4f1a\u5bfc\u81f4\u540e\u6267\u884c\u7684\u64cd\u4f5c\u8986\u76d6\u5148\u6267\u884c\u64cd\u4f5c\u7684\u672c\u8d28\u539f\u56e0\u662f\u4e24\u4e2a\u63a7\u5236\u5668\u65e0\u6cd5\u76f8\u4e92\u611f\u77e5\uff0c \u90a3\u4e48\u53ea\u9700\u8981\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u5c31\u80fd\u89e3\u51b3\u51b2\u7a81\u95ee\u9898\u3002

                \u7cfb\u7edf\u4f1a\u5c06 HPA \u4f5c\u4e3a\u5b9a\u65f6\u4f38\u7f29 CronHPA \u7684\u6269\u7f29\u5bb9\u5bf9\u8c61\uff0c\u4ece\u800c\u5b9e\u73b0\u5bf9\u8be5 HPA \u5b9a\u4e49\u7684 Deployment \u5bf9\u8c61\u7684\u5b9a\u65f6\u6269\u7f29\u5bb9\u3002

                HPA \u7684\u5b9a\u4e49\u5c06 Deployment \u914d\u7f6e\u5728 scaleTargetRef \u5b57\u6bb5\u4e0b\uff0c\u7136\u540e Deployment \u901a\u8fc7\u81ea\u8eab\u5b9a\u4e49\u67e5\u627e ReplicaSet\uff0c\u6700\u540e\u901a\u8fc7 ReplicaSet \u8c03\u6574\u771f\u5b9e\u7684\u526f\u672c\u6570\u76ee\u3002

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06 CronHPA \u4e2d\u7684 scaleTargetRef \u8bbe\u7f6e\u4e3a HPA \u5bf9\u8c61\uff0c\u7136\u540e\u901a\u8fc7 HPA \u5bf9\u8c61\u6765\u5bfb\u627e\u771f\u5b9e\u7684 scaleTargetRef\uff0c\u4ece\u800c\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u3002

                CronHPA \u4f1a\u901a\u8fc7\u8c03\u6574 HPA \u7684\u65b9\u5f0f\u611f\u77e5 HPA\u3002CronHPA \u901a\u8fc7\u8bc6\u522b\u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e\u5f53\u524d\u526f\u672c\u6570\u4e24\u8005\u95f4\u7684\u8f83\u5927\u503c\uff0c \u5224\u65ad\u662f\u5426\u9700\u8981\u6269\u7f29\u5bb9\u53ca\u4fee\u6539 HPA \u7684\u4e0a\u9650\uff1bCronHPA \u901a\u8fc7\u8bc6\u522b CronHPA \u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e HPA \u7684\u914d\u7f6e\u95f4\u7684\u8f83\u5c0f\u503c\uff0c\u5224\u65ad\u662f\u5426\u9700\u8981\u4fee\u6539 HPA \u7684\u4e0b\u9650\u3002

                "},{"location":"admin/kpanda/scale/install-cronhpa.html","title":"\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6","text":"

                \u5bb9\u5668\u526f\u672c\u5b9a\u65f6\u6c34\u5e73\u6269\u7f29\u5bb9\u7b56\u7565\uff08CronHPA\uff09\u80fd\u591f\u4e3a\u5468\u671f\u6027\u9ad8\u5e76\u53d1\u5e94\u7528\u63d0\u4f9b\u7a33\u5b9a\u7684\u8ba1\u7b97\u8d44\u6e90\u4fdd\u969c\uff0c kubernetes-cronhpa-controller \u5219\u662f\u5b9e\u73b0 CronHPA \u7684\u5173\u952e\u7ec4\u4ef6\u3002

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                Note

                \u4e3a\u4e86\u4f7f\u7528 CornHPA\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u8fd8\u8981\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                "},{"location":"admin/kpanda/scale/install-cronhpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"admin/kpanda/scale/install-cronhpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 CronHPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.3.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                4. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                  • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                  • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 1.3.0 \u7248\u672c\u4e3a\u4f8b\u3002
                  • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                  • \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                  • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                  Note

                  \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                5. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                  Warning

                  \u5982\u9700\u5220\u9664 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                  \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                6. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa CronHPA \u7b56\u7565\u4e86\u3002

                "},{"location":"admin/kpanda/scale/install-metrics-server.html","title":"\u5b89\u88c5 metrics-server \u63d2\u4ef6","text":"

                metrics-server \u662f Kubernetes \u5185\u7f6e\u7684\u8d44\u6e90\u4f7f\u7528\u6307\u6807\u91c7\u96c6\u7ec4\u4ef6\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e\u5f39\u6027\u4f38\u7f29\uff08HPA\uff09\u7b56\u7565\u6765\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u81ea\u52a8\u6c34\u5e73\u4f38\u7f29 Pod \u526f\u672c\u3002

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 metrics-server \u3002

                "},{"location":"admin/kpanda/scale/install-metrics-server.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b89\u88c5 metrics-server \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"admin/kpanda/scale/install-metrics-server.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                1. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u4e0b\u7684\u5f39\u6027\u4f38\u7f29\u9875\u9762\uff0c\u70b9\u51fb \u53bb\u5b89\u88c5 \uff0c\u8fdb\u5165 metrics-server \u63d2\u4ef6\u5b89\u88c5\u754c\u9762\u3002

                2. \u9605\u8bfb metrics-server \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u60a8\u5b89\u88c5 3.8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u3002

                3. \u5728\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u914d\u7f6e\u57fa\u672c\u53c2\u6570\u3002

                  • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                  • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u3002
                  • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                  • \u5931\u8d25\u5220\u9664\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
                  • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u5b89\u88c5\u8fc7\u7a0b\u65e5\u5fd7\u7684\u8be6\u7ec6\u8f93\u51fa\u3002

                  Note

                  \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                4. \u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e

                  • \u5982\u679c\u96c6\u7fa4\u7f51\u7edc\u65e0\u6cd5\u8bbf\u95ee k8s.gcr.io \u4ed3\u5e93\uff0c\u8bf7\u5c1d\u8bd5\u4fee\u6539 repositort \u53c2\u6570\u4e3a repository: k8s.m.daocloud.io/metrics-server/metrics-server

                  • \u5b89\u88c5 metrics-server \u63d2\u4ef6\u8fd8\u9700\u63d0\u4f9b SSL \u8bc1\u4e66\u3002\u5982\u9700\u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\uff0c\u9700\u8981\u5728 defaultArgs: \u5904\u6dfb\u52a0 - --kubelet-insecure-tls \u53c2\u6570\u3002

                  \u70b9\u51fb\u67e5\u770b\u63a8\u8350\u7684 YAML \u53c2\u6570
                  image:\n  repository: k8s.m.daocloud.io/metrics-server/metrics-server # \u5c06\u4ed3\u5e93\u6e90\u5730\u5740\u4fee\u6539\u4e3a k8s.m.daocloud.io\n  tag: ''\n  pullPolicy: IfNotPresent\nimagePullSecrets: []\nnameOverride: ''\nfullnameOverride: ''\nserviceAccount:\n  create: true\n  annotations: {}\n  name: ''\nrbac:\n  create: true\n  pspEnabled: false\napiService:\n  create: true\npodLabels: {}\npodAnnotations: {}\npodSecurityContext: {}\nsecurityContext:\n  allowPrivilegeEscalation: false\n  readOnlyRootFilesystem: true\n  runAsNonRoot: true\n  runAsUser: 1000\npriorityClassName: system-cluster-critical\ncontainerPort: 4443\nhostNetwork:\n  enabled: false\nreplicas: 1\nupdateStrategy: {}\npodDisruptionBudget:\n  enabled: false\n  minAvailable: null\n  maxUnavailable: null\ndefaultArgs:\n  - '--cert-dir=/tmp'\n  - '--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname'\n  - '--kubelet-use-node-status-port'\n  - '--metric-resolution=15s'\n  - --kubelet-insecure-tls # \u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\nargs: []\nlivenessProbe:\n  httpGet:\n    path: /livez\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 0\n  periodSeconds: 10\n  failureThreshold: 3\nreadinessProbe:\n  httpGet:\n    path: /readyz\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 20\n  periodSeconds: 10\n  failureThreshold: 3\nservice:\n  type: ClusterIP\n  port: 443\n  annotations: {}\n  labels: {}\nmetrics:\n  enabled: false\nserviceMonitor:\n  enabled: false\n  additionalLabels: {}\n  interval: 1m\n  scrapeTimeout: 10s\nresources: {}\nextraVolumeMounts: []\nextraVolumes: []\nnodeSelector: {}\ntolerations: []\naffinity: {}\n
                5. \u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 metrics-server \u63d2\u4ef6\u7684\u5b89\u88c5\uff0c\u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c \u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                Note

                \u5220\u9664 metrics-server \u63d2\u4ef6\u65f6\uff0c\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5f7b\u5e95\u5220\u9664\u8be5\u63d2\u4ef6\u3002\u5982\u679c\u4ec5\u5728\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u5220\u9664 metrics-server \uff0c \u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u5e94\u7528\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u5e94\u7528\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                "},{"location":"admin/kpanda/scale/install-vpa.html","title":"\u5b89\u88c5 vpa \u63d2\u4ef6","text":"

                \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u80fd\u591f\u8ba9\u96c6\u7fa4\u7684\u8d44\u6e90\u914d\u7f6e\u66f4\u52a0\u5408\u7406\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002 vpa \u5219\u662f\u5b9e\u73b0\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7684\u5173\u952e\u7ec4\u4ef6\u3002

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                \u4e3a\u4e86\u4f7f\u7528 VPA \u7b56\u7565\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 __vpa__ \u63d2\u4ef6\uff0c\u8fd8\u8981[\u5b89\u88c5 __metrics-server__ \u63d2\u4ef6](install-metrics-server.md)\u3002\n
                "},{"location":"admin/kpanda/scale/install-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b89\u88c5 vpa \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"admin/kpanda/scale/install-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 VPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                  3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.5.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                  4. \u67e5\u770b\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                  - \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002 - \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002 - \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.5.0 \u7248\u672c\u4e3a\u4f8b\u3002 - \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002 - \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002 - \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                  Note

                  \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                3. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                  Warning

                  \u5982\u9700\u5220\u9664 vpa \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                  \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                4. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa VPA \u7b56\u7565\u4e86\u3002

                "},{"location":"admin/kpanda/scale/knative/install.html","title":"\u5b89\u88c5","text":"

                Knative \u662f\u4e00\u4e2a\u9762\u5411\u65e0\u670d\u52a1\u5668\u90e8\u7f72\u7684\u8de8\u5e73\u53f0\u89e3\u51b3\u65b9\u6848\u3002

                1. \u767b\u5f55\u96c6\u7fa4\uff0c\u70b9\u51fb\u4fa7\u8fb9\u680f Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u53f3\u4fa7\u4e0a\u65b9\u641c\u7d22\u6846\u8f93\u5165 knative \uff0c\u7136\u540e\u6309\u56de\u8f66\u952e\u641c\u7d22\u3002

                2. \u70b9\u51fb\u641c\u7d22\u51fa\u7684 knative-operator \uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002\u4f60\u53ef\u4ee5\u5728\u8be5\u754c\u9762\u67e5\u770b\u53ef\u7528\u7248\u672c\u4ee5\u53ca Helm values \u7684 Parameters \u53ef\u9009\u9879\u3002

                3. \u70b9\u51fb\u5b89\u88c5\u6309\u94ae\u540e\uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002

                4. \u8f93\u5165\u540d\u79f0\uff0c\u5b89\u88c5\u79df\u6237\uff0c\u5efa\u8bae\u52fe\u9009 \u5c31\u7eea\u7b49\u5f85 \u548c \u8be6\u7ec6\u65e5\u5fd7 \u3002

                5. \u5728\u4e0b\u65b9\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u52fe\u9009 Serving \uff0c\u5e76\u8f93\u5165 Knative Serving \u7ec4\u4ef6\u7684\u5b89\u88c5\u79df\u6237\uff0c\u4f1a\u5728\u5b89\u88c5\u540e\u90e8\u7f72 Knative Serving \u7ec4\u4ef6\uff0c\u8be5\u7ec4\u4ef6\u7531 Knative Operator \u7ba1\u7406\u3002

                "},{"location":"admin/kpanda/scale/knative/knative.html","title":"Kantive \u4ecb\u7ecd","text":"

                Knative \u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u9ad8\u5c42\u6b21\u7684\u62bd\u8c61\uff0c\u7b80\u5316\u5e76\u52a0\u901f\u4e86\u5728 Kubernetes \u4e0a\u6784\u5efa\u3001\u90e8\u7f72\u548c\u7ba1\u7406\u5e94\u7528\u7684\u8fc7\u7a0b\u3002\u5b83\u4f7f\u5f97\u5f00\u53d1\u4eba\u5458\u80fd\u591f\u66f4\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u5b9e\u73b0\uff0c\u800c\u5c06\u5927\u90e8\u5206\u57fa\u7840\u8bbe\u65bd\u548c\u8fd0\u7ef4\u5de5\u4f5c\u4ea4\u7ed9 Knative \u53bb\u5904\u7406\uff0c\u4ece\u800c\u663e\u8457\u63d0\u9ad8\u751f\u4ea7\u529b\u3002

                "},{"location":"admin/kpanda/scale/knative/knative.html#_1","title":"\u7ec4\u4ef6","text":"

                knative-operator \u8fd0\u884c\u7ec4\u4ef6\u5982\u4e0b\u3002

                knative-operator   knative-operator-58f7d7db5c-7f6r5      1/1     Running     0     6m55s\nknative-operator   operator-webhook-667dc67bc-qvrv4       1/1     Running     0     6m55s\n

                knative-serving \u7ec4\u4ef6\u5982\u4e0b\u3002

                knative-serving        3scale-kourier-gateway-d69fbfbd-bd8d8   1/1     Running     0                 7m13s\nknative-serving        activator-7c6fddd698-wdlng              1/1     Running     0                 7m3s\nknative-serving        autoscaler-8f4b876bb-kd25p              1/1     Running     0                 7m17s\nknative-serving        autoscaler-hpa-5f7f74679c-vkc7p         1/1     Running     0                 7m15s\nknative-serving        controller-789c896c46-tfvsv             1/1     Running     0                 7m17s\nknative-serving        net-kourier-controller-7db578c889-7gd5l 1/1     Running     0                 7m14s\nknative-serving        webhook-5c88b94c5-78x7m                 1/1     Running     0                 7m1s\nknative-serving        storage-version-migration-serving-serving-1.12.2-t7zvd   0/1  Completed   0   7m15s\n
                \u7ec4\u4ef6 \u4f5c\u7528 Activator \u5bf9\u8bf7\u6c42\u6392\u961f\uff08\u5982\u679c\u4e00\u4e2a Knative Service \u5df2\u7ecf\u7f29\u51cf\u5230\u96f6\uff09\u3002\u8c03\u7528 autoscaler\uff0c\u5c06\u7f29\u51cf\u5230 0 \u7684\u670d\u52a1\u6062\u590d\u5e76\u8f6c\u53d1\u6392\u961f\u7684\u8bf7\u6c42\u3002Activator \u8fd8\u53ef\u4ee5\u5145\u5f53\u8bf7\u6c42\u7f13\u51b2\u5668\uff0c\u5904\u7406\u7a81\u53d1\u6d41\u91cf\u3002 Autoscaler Autoscaler \u8d1f\u8d23\u6839\u636e\u914d\u7f6e\u3001\u6307\u6807\u548c\u8fdb\u5165\u7684\u8bf7\u6c42\u6765\u7f29\u653e Knative \u670d\u52a1\u3002 Controller \u7ba1\u7406 Knative CR \u7684\u72b6\u6001\u3002\u5b83\u4f1a\u76d1\u89c6\u591a\u4e2a\u5bf9\u8c61\uff0c\u7ba1\u7406\u4f9d\u8d56\u8d44\u6e90\u7684\u751f\u547d\u5468\u671f\uff0c\u5e76\u66f4\u65b0\u8d44\u6e90\u72b6\u6001\u3002 Queue-Proxy Sidecar \u5bb9\u5668\uff0c\u6bcf\u4e2a Knative Service \u90fd\u4f1a\u6ce8\u5165\u4e00\u4e2a\u3002\u8d1f\u8d23\u6536\u96c6\u6d41\u91cf\u6570\u636e\u5e76\u62a5\u544a\u7ed9 Autoscaler\uff0cAutoscaler \u6839\u636e\u8fd9\u4e9b\u6570\u636e\u548c\u9884\u8bbe\u7684\u89c4\u5219\u6765\u53d1\u8d77\u6269\u5bb9\u6216\u7f29\u5bb9\u8bf7\u6c42\u3002 Webhooks Knative Serving \u6709\u51e0\u4e2a Webhooks \u8d1f\u8d23\u9a8c\u8bc1\u548c\u53d8\u66f4 Knative \u8d44\u6e90\u3002"},{"location":"admin/kpanda/scale/knative/knative.html#ingress","title":"Ingress \u6d41\u91cf\u5165\u53e3\u65b9\u6848","text":"\u65b9\u6848 \u9002\u7528\u573a\u666f Istio \u5982\u679c\u5df2\u7ecf\u7528\u4e86 Istio\uff0c\u53ef\u4ee5\u9009\u62e9 Istio \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Contour \u5982\u679c\u96c6\u7fa4\u4e2d\u5df2\u7ecf\u542f\u7528\u4e86 Contour\uff0c\u53ef\u4ee5\u9009\u62e9 Contour \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Kourier \u5982\u679c\u5728\u6ca1\u6709\u4e0a\u8ff0 2 \u79cd Ingress \u7ec4\u4ef6\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 Knative \u57fa\u4e8e Envoy \u5b9e\u73b0\u7684 Kourier Ingress \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u3002"},{"location":"admin/kpanda/scale/knative/knative.html#autoscaler","title":"Autoscaler \u65b9\u6848\u5bf9\u6bd4","text":"Autoscaler \u7c7b\u578b \u662f\u5426\u4e3a Knative Serving \u6838\u5fc3\u90e8\u5206 \u9ed8\u8ba4\u542f\u7528 Scale to Zero \u652f\u6301 \u57fa\u4e8e CPU \u7684 Autoscaling \u652f\u6301 Knative Pod Autoscaler (KPA) \u662f \u662f \u662f \u5426 Horizontal Pod Autoscaler (HPA) \u5426 \u9700\u5b89\u88c5 Knative Serving \u540e\u542f\u7528 \u5426 \u662f"},{"location":"admin/kpanda/scale/knative/knative.html#crd","title":"CRD","text":"\u8d44\u6e90\u7c7b\u578b API \u540d\u79f0 \u63cf\u8ff0 Services service.serving.knative.dev \u81ea\u52a8\u7ba1\u7406 Workload \u7684\u6574\u4e2a\u751f\u547d\u5468\u671f\uff0c\u63a7\u5236\u5176\u4ed6\u5bf9\u8c61\u7684\u521b\u5efa\uff0c\u786e\u4fdd\u5e94\u7528\u5177\u6709 Routes\u3001Configurations \u4ee5\u53ca\u6bcf\u6b21\u66f4\u65b0\u65f6\u7684\u65b0 revision\u3002 Routes route.serving.knative.dev \u5c06\u7f51\u7edc\u7aef\u70b9\u6620\u5c04\u5230\u4e00\u4e2a\u6216\u591a\u4e2a\u4fee\u8ba2\u7248\u672c\uff0c\u652f\u6301\u6d41\u91cf\u5206\u914d\u548c\u7248\u672c\u8def\u7531\u3002 Configurations configuration.serving.knative.dev \u7ef4\u62a4\u90e8\u7f72\u7684\u671f\u671b\u72b6\u6001\uff0c\u63d0\u4f9b\u4ee3\u7801\u548c\u914d\u7f6e\u4e4b\u95f4\u7684\u5206\u79bb\uff0c\u9075\u5faa Twelve-Factor \u5e94\u7528\u7a0b\u5e8f\u65b9\u6cd5\u8bba\uff0c\u4fee\u6539\u914d\u7f6e\u4f1a\u521b\u5efa\u65b0\u7684 revision\u3002 Revisions revision.serving.knative.dev \u6bcf\u6b21\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u4fee\u6539\u7684\u65f6\u95f4\u70b9\u5feb\u7167\uff0c\u662f\u4e0d\u53ef\u53d8\u5bf9\u8c61\uff0c\u53ef\u6839\u636e\u6d41\u91cf\u81ea\u52a8\u6269\u5bb9\u548c\u7f29\u5bb9\u3002"},{"location":"admin/kpanda/scale/knative/playground.html","title":"Knative \u4f7f\u7528\u5b9e\u8df5","text":"

                \u5728\u672c\u8282\u4e2d\uff0c\u6211\u4eec\u5c06\u901a\u8fc7\u51e0\u4e2a\u5b9e\u8df5\u6765\u6df1\u5165\u4e86\u89e3\u5b66\u4e60 Knative\u3002

                "},{"location":"admin/kpanda/scale/knative/playground.html#case-1-hello-world","title":"case 1 - Hello World","text":"
                apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                \u53ef\u4ee5\u4f7f\u7528 kubectl \u5df2\u90e8\u7f72\u7684\u5e94\u7528\u7684\u72b6\u6001\uff0c\u8fd9\u4e2a\u5e94\u7528\u7531 knative \u81ea\u52a8\u914d\u7f6e\u4e86 ingress \u548c\u4f38\u7f29\u5668\u3002

                ~ kubectl get service.serving.knative.dev/hello\nNAME    URL                                              LATESTCREATED   LATESTREADY   READY   REASON\nhello   http://hello.knative-serving.knative.loulan.me   hello-00001     hello-00001   True\n

                \u90e8\u7f72\u51fa\u7684 Pod YAML \u5982\u4e0b\uff0c\u7531 2 \u4e2a Pod \u7ec4\u6210\uff1auser-container \u548c queue-proxy\u3002

                apiVersion: v1\nkind: Pod\nmetadata:\n  name: hello-00003-deployment-5fcb8ccbf-7qjfk\nspec:\n  containers:\n  - name: user-container\n  - name: queue-proxy\n

                \u8bf7\u6c42\u6d41\uff1a

                1. case1 \u5728\u4f4e\u6d41\u91cf\u6216\u96f6\u6d41\u91cf\u65f6\uff0c\u6d41\u91cf\u5c06\u8def\u7531\u5230 activator
                2. case2 \u6d41\u91cf\u5927\u65f6\uff0c\u6d41\u91cf\u5927\u4e8e target-burst-capacity \u65f6\u624d\u76f4\u63a5\u8def\u7531\u5230 Pod
                  1. \u914d\u7f6e\u4e3a 0\uff0c\u53ea\u6709\u4ece 0 \u6269\u5bb9\u5b58\u5728
                  2. \u914d\u7f6e\u4e3a -1\uff0cactivator \u4f1a\u4e00\u76f4\u5b58\u5728\u8bf7\u6c42\u8def\u5f84
                  3. \u914d\u7f6e\u4e3a >0\uff0c\u89e6\u53d1\u6269\u7f29\u5bb9\u4e4b\u524d\uff0c\u7cfb\u7edf\u80fd\u591f\u989d\u5916\u5904\u7406\u7684\u5e76\u53d1\u8bf7\u6c42\u6570\u91cf\u3002
                3. case3 \u6d41\u91cf\u518d\u53d8\u5c0f\u65f6\uff0c\u6d41\u91cf\u4f4e\u4e8e current_demand + target-burst-capacity > (pods * concurrency-target) \u65f6\u5c06\u518d\u6b21\u8def\u7531\u5230 activator

                  \u5f85\u5904\u7406\u7684\u8bf7\u6c42\u603b\u6570 + \u80fd\u63a5\u53d7\u7684\u8d85\u8fc7\u76ee\u6807\u5e76\u53d1\u6570\u7684\u8bf7\u6c42\u6570\u91cf > \u6bcf\u4e2a Pod \u7684\u76ee\u6807\u5e76\u53d1\u6570 * Pod \u6570\u91cf

                "},{"location":"admin/kpanda/scale/knative/playground.html#case-2-","title":"case 2 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29","text":"

                \u6211\u4eec\u9996\u5148\u5728\u96c6\u7fa4\u5e94\u7528\u4e0b\u9762 YAML \u5b9a\u4e49\u3002

                apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                \u6267\u884c\u4e0b\u9762\u547d\u4ee4\u6d4b\u8bd5\uff0c\u5e76\u53ef\u4ee5\u901a\u8fc7 kubectl get pods -A -w \u6765\u89c2\u5bdf\u6269\u5bb9\u7684 Pod\u3002

                wrk -t2 -c4 -d6s http://hello.knative-serving.knative.daocloud.io/\n
                "},{"location":"admin/kpanda/scale/knative/playground.html#case-3-","title":"case 3 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29\uff0c\u8fbe\u5230\u7279\u5b9a\u6bd4\u4f8b\u63d0\u524d\u6269\u5bb9","text":"

                \u6211\u4eec\u53ef\u4ee5\u5f88\u8f7b\u677e\u7684\u5b9e\u73b0\uff0c\u4f8b\u5982\u9650\u5236\u6bcf\u4e2a\u5bb9\u5668\u5e76\u53d1\u4e3a 10\uff0c\u53ef\u4ee5\u901a\u8fc7 autoscaling.knative.dev/target-utilization-percentage: 70 \u6765\u5b9e\u73b0\uff0c\u8fbe\u5230 70% \u5c31\u5f00\u59cb\u6269\u5bb9 Pod\u3002

                apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"10\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/target-utilization-percentage: \"70\" \n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/metric: \"concurrency\"\n \u00a0 \u00a0 spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n
                "},{"location":"admin/kpanda/scale/knative/playground.html#case-4-","title":"case 4 - \u7070\u5ea6\u53d1\u5e03/\u6d41\u91cf\u767e\u5206\u6bd4","text":"

                \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 spec.traffic \u5b9e\u73b0\u5230\u6bcf\u4e2a\u7248\u672c\u6d41\u91cf\u7684\u63a7\u5236\u3002

                apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"  \n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"         \n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n  traffic:\n  - latestRevision: true\n    percent: 50\n  - latestRevision: false\n    percent: 50\n    revisionName: hello-00001\n
                "},{"location":"admin/kpanda/scale/knative/scene.html","title":"\u4f7f\u7528\u573a\u666f","text":""},{"location":"admin/kpanda/scale/knative/scene.html#_2","title":"\u9002\u5408\u7684\u573a\u666f","text":"
                • \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1
                • \u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1
                • \u5927\u91cf\u5e94\u7528\u9700\u8981\u7f29\u5bb9\u5230 0 \u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387
                • AI Serving \u670d\u52a1\uff0c\u57fa\u4e8e\u7279\u5b9a\u6307\u6807\u8fdb\u884c\u6269\u5bb9

                Tip

                \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1\u4ee5\u53ca\u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1\uff0c\u63a8\u8350\u4f7f\u7528 HPA \u548c VPA \u80fd\u529b\u3002

                "},{"location":"admin/kpanda/scale/knative/scene.html#_3","title":"\u4e0d\u9002\u5408\u7684\u573a\u666f","text":"
                • \u957f\u8fde\u63a5\u4e1a\u52a1
                • \u5ef6\u65f6\u654f\u611f\u4e1a\u52a1
                • \u57fa\u4e8e cookie \u7684\u6d41\u91cf\u5206\u6d41
                • \u57fa\u4e8e header \u7684\u6d41\u91cf\u5206\u6d41
                "},{"location":"admin/kpanda/security/index.html","title":"\u5b89\u5168\u626b\u63cf\u7c7b\u578b","text":"

                \u5728Kubernetes\uff08\u7b80\u79f0K8s\uff09\u73af\u5883\u4e2d\uff0c\u5b89\u5168\u626b\u63cf\u662f\u786e\u4fdd\u96c6\u7fa4\u5b89\u5168\u6027\u7684\u5173\u952e\u63aa\u65bd\u4e4b\u4e00\u3002\u5176\u4e2d\uff0c\u5408\u89c4\u6027\u626b\u63cf\uff08\u57fa\u4e8eCIS Benchmark\uff09\u3001\u6743\u9650\u626b\u63cf\uff08\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\uff09\u3001\u6f0f\u6d1e\u626b\u63cf\uff08\u57fa\u4e8e kube-hunter\uff09\u662f\u4e09\u79cd\u5e38\u89c1\u4e14\u91cd\u8981\u7684\u5b89\u5168\u626b\u63cf\u624b\u6bb5\uff1a

                • \u5408\u89c4\u6027\u626b\u63cf\uff1a\u57fa\u4e8e CIS Benchmark \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u5b89\u5168\u626b\u63cf\u3002CIS Benchmark \u662f\u4e00\u5957\u5168\u7403\u516c\u8ba4\u7684\u6700\u4f73\u5b9e\u8df5\u6807\u51c6\uff0c\u4e3a Kubernetes \u96c6\u7fa4\u63d0\u4f9b\u4e86\u8be6\u7ec6\u7684\u5b89\u5168\u914d\u7f6e\u6307\u5357\u548c\u81ea\u52a8\u5316\u68c0\u67e5\u5de5\u5177\uff08\u5982Kube-Bench\uff09\uff0c\u5e2e\u52a9\u7ec4\u7ec7\u786e\u4fdd\u5176K8s\u96c6\u7fa4\u7b26\u5408\u5b89\u5168\u57fa\u7ebf\u8981\u6c42\uff0c\u4fdd\u62a4\u7cfb\u7edf\u548c\u6570\u636e\u514d\u53d7\u5a01\u80c1\u3002

                • \u6743\u9650\u626b\u63cf\uff1a\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\u3002\u6743\u9650\u626b\u63cf\u4e3b\u8981\u89e3\u51b3\u96c6\u7fa4\u8bbf\u95ee\u63a7\u5236\u548c\u64cd\u4f5c\u900f\u660e\u5ea6\u7684\u95ee\u9898\u3002\u901a\u8fc7\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u96c6\u7fa4\u7ba1\u7406\u5458\u80fd\u591f\u8ffd\u6eaf\u96c6\u7fa4\u8d44\u6e90\u7684\u8bbf\u95ee\u5386\u53f2\uff0c\u8bc6\u522b\u5f02\u5e38\u884c\u4e3a\uff0c\u5982\u672a\u7ecf\u6388\u6743\u7684\u8bbf\u95ee\u3001\u654f\u611f\u6570\u636e\u7684\u6cc4\u9732\u3001\u6709\u5b89\u5168\u6f0f\u6d1e\u7684\u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002\u8fd9\u5bf9\u4e8e\u6545\u969c\u6392\u67e5\u3001\u5b89\u5168\u4e8b\u4ef6\u54cd\u5e94\u4ee5\u53ca\u6ee1\u8db3\u5408\u89c4\u6027\u8981\u6c42\u81f3\u5173\u91cd\u8981\u3002\u6b64\u5916\uff0c\u6743\u9650\u626b\u63cf\u8fd8\u53ef\u4ee5\u5e2e\u52a9\u7ec4\u7ec7\u53d1\u73b0\u6f5c\u5728\u7684\u6743\u9650\u6ee5\u7528\u95ee\u9898\uff0c\u53ca\u65f6\u91c7\u53d6\u63aa\u65bd\u9632\u6b62\u5b89\u5168\u4e8b\u4ef6\u7684\u53d1\u751f\u3002

                • \u6f0f\u6d1e\u626b\u63cf\uff1a\u57fa\u4e8e kube-hunter\uff0c\u4e3b\u8981\u89e3\u51b3 Kubernetes \u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5df2\u77e5\u6f0f\u6d1e\u548c\u914d\u7f6e\u9519\u8bef\u95ee\u9898\u3002kube-hunter \u901a\u8fc7\u6a21\u62df\u653b\u51fb\u884c\u4e3a\uff0c\u80fd\u591f\u8bc6\u522b\u96c6\u7fa4\u4e2d\u53ef\u88ab\u6076\u610f\u5229\u7528\u7684\u6f0f\u6d1e\uff0c\u5982\u672a\u6388\u6743\u8bbf\u95ee\u3001\u66b4\u9732\u7684\u670d\u52a1\u548cAPI\u7aef\u70b9\u3001\u914d\u7f6e\u9519\u8bef\u7684\u89d2\u8272\u548c\u7ed1\u5b9a\u7b56\u7565\u7b49\u3002\u7279\u522b\u5730\uff0ckube-hunter\u80fd\u591f\u8bc6\u522b\u5e76\u62a5\u544a CVE \u6f0f\u6d1e\uff0c\u8fd9\u4e9b\u6f0f\u6d1e\u5982\u679c\u88ab\u6076\u610f\u5229\u7528\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u6cc4\u9732\u3001\u670d\u52a1\u4e2d\u65ad\u7b49\u4e25\u91cd\u540e\u679c\u3002CVE \u6f0f\u6d1e\u662f\u7531\u56fd\u9645\u77e5\u540d\u7684\u5b89\u5168\u7ec4\u7ec7\u5982MITRE\u6240\u5b9a\u4e49\u548c\u7ef4\u62a4\u7684\uff0cCVE\u6570\u636e\u5e93\u4e3a\u8f6f\u4ef6\u548c\u56fa\u4ef6\u4e2d\u7684\u5df2\u77e5\u6f0f\u6d1e\u63d0\u4f9b\u4e86\u552f\u4e00\u6807\u8bc6\u7b26\uff0c\u6210\u4e3a\u5168\u7403\u5b89\u5168\u793e\u533a\u5171\u540c\u9075\u5faa\u7684\u6807\u51c6\u3002kube-hunter \u901a\u8fc7\u5229\u7528 CVE \u6570\u636e\u5e93\u4e2d\u7684\u4fe1\u606f\uff0c\u80fd\u591f\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u8bc6\u522b\u5e76\u54cd\u5e94Kubernetes\u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\u3002

                "},{"location":"admin/kpanda/security/index.html#_2","title":"\u5408\u89c4\u6027\u626b\u63cf","text":"

                \u5408\u89c4\u6027\u626b\u63cf\u7684\u5bf9\u8c61\u662f\u96c6\u7fa4\u8282\u70b9\u3002\u626b\u63cf\u7ed3\u679c\u4e2d\u4f1a\u5217\u51fa\u626b\u63cf\u9879\u4ee5\u53ca\u626b\u63cf\u7ed3\u679c\uff0c\u5e76\u9488\u5bf9\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u4fee\u590d\u5efa\u8bae\u3002\u6709\u5173\u626b\u63cf\u65f6\u7528\u5230\u7684\u5177\u4f53\u5b89\u5168\u89c4\u5219\uff0c\u53ef\u53c2\u8003 CIS Kubernetes Benchmark

                \u68c0\u67e5\u4e0d\u540c\u7c7b\u578b\u7684\u8282\u70b9\u65f6\uff0c\u626b\u63cf\u7684\u4fa7\u91cd\u70b9\u6709\u6240\u4e0d\u540c\u3002

                • \u626b\u63cf\u63a7\u5236\u5e73\u9762\u8282\u70b9\uff08Controller\uff09

                  • \u5173\u6ce8 API Server \u3001 controller-manager \u3001 scheduler \u3001 kubelet \u7b49\u7cfb\u7edf\u7ec4\u4ef6\u7684\u5b89\u5168\u6027
                  • \u68c0\u67e5 Etcd \u6570\u636e\u5e93\u7684\u5b89\u5168\u914d\u7f6e
                  • \u68c0\u67e5\u96c6\u7fa4\u8eab\u4efd\u9a8c\u8bc1\u673a\u5236\u3001\u6388\u6743\u7b56\u7565\u548c\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u662f\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                • \u626b\u63cf\u5de5\u4f5c\u8282\u70b9\uff08Worker\uff09

                  • \u68c0\u67e5 kubelet\u3001Docker\u7b49\u5bb9\u5668\u8fd0\u884c\u65f6\u7684\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                  • \u68c0\u67e5\u5bb9\u5668\u955c\u50cf\u662f\u5426\u7ecf\u8fc7\u4fe1\u4efb\u9a8c\u8bc1
                  • \u68c0\u67e5\u8282\u70b9\u7684\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6

                Tip

                \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\uff0c\u7136\u540e\u57fa\u4e8e\u8be5\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002

                "},{"location":"admin/kpanda/security/index.html#_3","title":"\u6743\u9650\u626b\u63cf","text":"

                \u6743\u9650\u626b\u63cf\u4fa7\u91cd\u4e8e\u6743\u9650\u95ee\u9898\u5f15\u53d1\u7684\u5b89\u5168\u6f0f\u6d1e\u3002\u6743\u9650\u626b\u63cf\u53ef\u4ee5\u5e2e\u52a9\u7528\u6237\u8bc6\u522b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\uff0c\u6807\u8bc6\u54ea\u4e9b\u8d44\u6e90\u9700\u8981\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u5ba1\u67e5\u548c\u4fdd\u62a4\u63aa\u65bd\u3002\u901a\u8fc7\u6267\u884c\u8fd9\u4e9b\u68c0\u67e5\u9879\uff0c\u7528\u6237\u53ef\u4ee5\u66f4\u6e05\u695a\u3001\u66f4\u5168\u9762\u5730\u4e86\u89e3\u81ea\u5df1\u7684 Kubernetes \u73af\u5883\uff0c\u786e\u4fdd\u96c6\u7fa4\u73af\u5883\u7b26\u5408 Kubernetes \u7684\u6700\u4f73\u5b9e\u8df5\u548c\u5b89\u5168\u6807\u51c6\u3002

                \u5177\u4f53\u800c\u8a00\uff0c\u6743\u9650\u626b\u63cf\u652f\u6301\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                • \u626b\u63cf\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u8282\u70b9\u7684\u5065\u5eb7\u72b6\u6001\u3002

                • \u626b\u63cf\u96c6\u7fa4\u7ec4\u4ef6\u7684\u8fd0\u884c\u72b6\u51b5\uff0c\u5982 kube-apiserver \u3001 kube-controller-manager \u3001 kube-scheduler \u7b49\u3002

                • \u626b\u63cf\u5b89\u5168\u914d\u7f6e\uff1a\u68c0\u67e5 Kubernetes \u7684\u5b89\u5168\u914d\u7f6e

                  • API \u5b89\u5168\uff1a\u542f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 API \u7248\u672c\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u9002\u5f53\u7684 RBAC \u89d2\u8272\u548c\u6743\u9650\u9650\u5236\u7b49
                  • \u5bb9\u5668\u5b89\u5168\uff1a\u662f\u5426\u4f7f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 Image\u3001\u662f\u5426\u5f00\u653e\u4e86\u7279\u6743\u6a21\u5f0f\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u5408\u9002\u7684\u5b89\u5168\u4e0a\u4e0b\u6587\u7b49
                  • \u7f51\u7edc\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u5408\u9002\u7684\u7f51\u7edc\u7b56\u7565\u6765\u9650\u5236\u6d41\u91cf\uff0c\u662f\u5426\u4f7f\u7528\u4e86 TLS \u52a0\u5bc6\u7b49
                  • \u5b58\u50a8\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u9002\u5f53\u7684\u52a0\u5bc6\u3001\u8bbf\u95ee\u63a7\u5236\u7b49\u3002
                  • \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\uff1a\u662f\u5426\u8bbe\u7f6e\u4e86\u5fc5\u8981\u7684\u5b89\u5168\u63aa\u65bd\uff0c\u4f8b\u5982\u5bc6\u7801\u7ba1\u7406\u3001\u8de8\u7ad9\u811a\u672c\u653b\u51fb\u9632\u5fa1\u7b49\u3002
                • \u63d0\u4f9b\u8b66\u544a\u548c\u5efa\u8bae\uff1a\u5efa\u8bae\u96c6\u7fa4\u7ba1\u7406\u5458\u6267\u884c\u7684\u5b89\u5168\u6700\u4f73\u5b9e\u8df5\uff0c\u4f8b\u5982\u5b9a\u671f\u8f6e\u6362\u8bc1\u4e66\u3001\u4f7f\u7528\u5f3a\u5bc6\u7801\u3001\u9650\u5236\u7f51\u7edc\u8bbf\u95ee\u7b49\u3002

                Tip

                \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5b89\u5168\u626b\u63cf\u3002

                "},{"location":"admin/kpanda/security/index.html#_4","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                \u6f0f\u6d1e\u626b\u63cf\u4fa7\u91cd\u4e8e\u626b\u63cf\u6f5c\u5728\u7684\u6076\u610f\u653b\u51fb\u548c\u5b89\u5168\u6f0f\u6d1e\uff0c\u4f8b\u5982\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\u3001SQL \u6ce8\u5165\u3001XSS \u653b\u51fb\u7b49\uff0c\u4ee5\u53ca\u4e00\u4e9b\u9488\u5bf9 Kubernetes \u7279\u5b9a\u7684\u653b\u51fb\u3002\u6700\u7ec8\u7684\u626b\u63cf\u62a5\u544a\u4f1a\u5217\u51fa\u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u6f0f\u6d1e\uff0c\u5e76\u63d0\u51fa\u4fee\u590d\u5efa\u8bae\u3002

                Tip

                \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6f0f\u6d1e\u626b\u63cf\u3002

                "},{"location":"admin/kpanda/security/audit.html","title":"\u6743\u9650\u626b\u63cf","text":"

                \u4e3a\u4e86\u4f7f\u7528\u6743\u9650\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                "},{"location":"admin/kpanda/security/audit.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6743\u9650\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                  • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                  • \u626b\u63cf\u7c7b\u578b\uff1a

                    • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                    • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                  • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                "},{"location":"admin/kpanda/security/audit.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                  • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                  • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                  • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                  • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                "},{"location":"admin/kpanda/security/audit.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                  \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                  • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                  • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                  • \u626b\u63cf\u9879\u603b\u6570\u3001\u8b66\u544a\u6570\u3001\u9519\u8bef\u6570
                  • \u5728\u5468\u671f\u6027\u626b\u63cf\u7b56\u7565\u751f\u6210\u7684\u626b\u63cf\u62a5\u544a\u4e2d\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u9891\u7387
                  • \u626b\u63cf\u5f00\u59cb\u7684\u65f6\u95f4
                  • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u88ab\u68c0\u67e5\u7684\u8d44\u6e90\u3001\u8d44\u6e90\u7c7b\u578b\u3001\u626b\u63cf\u7ed3\u679c\u3001\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u8be6\u60c5

                "},{"location":"admin/kpanda/security/hunter.html","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                \u4e3a\u4e86\u4f7f\u7528\u6f0f\u6d1e\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                "},{"location":"admin/kpanda/security/hunter.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6f0f\u6d1e\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                  • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                  • \u626b\u63cf\u7c7b\u578b\uff1a

                    • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                    • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                  • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                "},{"location":"admin/kpanda/security/hunter.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                  • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                  • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                  • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                  • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                "},{"location":"admin/kpanda/security/hunter.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                  \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                  • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                  • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                  • \u626b\u63cf\u9891\u7387
                  • \u98ce\u9669\u603b\u6570\u3001\u9ad8\u98ce\u9669\u6570\u3001\u4e2d\u98ce\u9669\u6570\u3001\u4f4e\u98ce\u9669\u6570
                  • \u626b\u63cf\u65f6\u95f4
                  • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u6f0f\u6d1e ID\u3001\u6f0f\u6d1e\u7c7b\u578b\u3001\u6f0f\u6d1e\u540d\u79f0\u3001\u6f0f\u6d1e\u63cf\u8ff0\u7b49

                "},{"location":"admin/kpanda/security/cis/config.html","title":"\u626b\u63cf\u914d\u7f6e","text":"

                \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u7684\u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\u3002\u57fa\u4e8e\u626b\u63cf\u914d\u7f6e\u518d\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3001\u6267\u884c\u626b\u63cf\u7b56\u7565\uff0c\u6700\u540e\u67e5\u770b\u626b\u63cf\u7ed3\u679c\u3002

                "},{"location":"admin/kpanda/security/cis/config.html#_2","title":"\u521b\u5efa\u626b\u63cf\u914d\u7f6e","text":"

                \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                2. \u9ed8\u8ba4\u8fdb\u5165 \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\uff0c\u70b9\u51fb \u626b\u63cf\u914d\u7f6e \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u914d\u7f6e \u3002

                3. \u586b\u5199\u914d\u7f6e\u540d\u79f0\u3001\u9009\u62e9\u914d\u7f6e\u6a21\u677f\u3001\u6309\u9700\u52fe\u9009\u626b\u63cf\u9879\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                  \u626b\u63cf\u6a21\u677f\uff1a\u76ee\u524d\u63d0\u4f9b\u4e86\u4e24\u4e2a\u6a21\u677f\u3002 kubeadm \u6a21\u677f\u9002\u7528\u4e8e\u4e00\u822c\u60c5\u51b5\u4e0b\u7684 Kubernetes \u96c6\u7fa4\u3002 daocloud \u6a21\u677f\u5728 kubeadm \u6a21\u677f\u57fa\u7840\u4e0a\uff0c\u7ed3\u5408\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5e73\u53f0\u8bbe\u8ba1\u5ffd\u7565\u4e86\u4e0d\u9002\u7528\u4e8e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u626b\u63cf\u9879\u3002

                "},{"location":"admin/kpanda/security/cis/config.html#_3","title":"\u67e5\u770b\u626b\u63cf\u914d\u7f6e","text":"

                \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u626b\u63cf\u914d\u7f6e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u914d\u7f6e\u7684\u7c7b\u578b\u3001\u626b\u63cf\u9879\u6570\u91cf\u3001\u521b\u5efa\u65f6\u95f4\u3001\u914d\u7f6e\u6a21\u677f\uff0c\u4ee5\u53ca\u8be5\u914d\u7f6e\u542f\u7528\u7684\u5177\u4f53\u626b\u63cf\u9879\u3002

                "},{"location":"admin/kpanda/security/cis/config.html#_4","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u914d\u7f6e","text":"

                \u626b\u63cf\u914d\u7f6e\u521b\u5efa\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u66f4\u65b0\u914d\u7f6e\u6216\u5220\u9664\u8be5\u914d\u7f6e\u3002

                \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u63cf\u8ff0\u3001\u6a21\u677f\u548c\u626b\u63cf\u9879\u3002\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u3002
                • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e\u3002

                "},{"location":"admin/kpanda/security/cis/policy.html","title":"\u626b\u63cf\u7b56\u7565","text":""},{"location":"admin/kpanda/security/cis/policy.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"

                \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u4e4b\u540e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                2. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                  • \u626b\u63cf\u914d\u7f6e\uff1a\u9009\u62e9\u4e8b\u5148\u521b\u5efa\u597d\u7684\u626b\u63cf\u914d\u7f6e\u3002\u626b\u63cf\u914d\u7f6e\u89c4\u5b9a\u4e86\u9700\u8981\u6267\u884c\u54ea\u4e9b\u5177\u4f53\u7684\u626b\u63cf\u9879\u3002
                  • \u626b\u63cf\u7c7b\u578b\uff1a

                    • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                    • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                  • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                "},{"location":"admin/kpanda/security/cis/policy.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                  • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                  • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                  • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                  • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                "},{"location":"admin/kpanda/security/cis/report.html","title":"\u626b\u63cf\u62a5\u544a","text":"

                hide\uff1a - toc

                "},{"location":"admin/kpanda/security/cis/report.html#_1","title":"\u626b\u63cf\u62a5\u544a","text":"

                \u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u3002\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a\u6216\u5c06\u5176\u4e0b\u8f7d\u5230\u672c\u5730\u67e5\u770b\u3002

                • \u4e0b\u8f7d\u67e5\u770b\u626b\u63cf\u62a5\u544a

                  \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u70b9\u51fb\u62a5\u544a\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u4e0b\u8f7d \u3002

                • \u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a

                  \u70b9\u51fb\u67d0\u4e2a\u62a5\u544a\u7684\u540d\u79f0\uff0c\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b CIS \u5408\u89c4\u6027\u626b\u63cf\u7684\u62a5\u544a\u5185\u5bb9\u3002\u5177\u4f53\u5305\u62ec\uff1a

                  • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                  • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565\u548c\u626b\u63cf\u914d\u7f6e
                  • \u626b\u63cf\u5f00\u59cb\u65f6\u95f4
                  • \u626b\u63cf\u9879\u603b\u6570\u3001\u901a\u8fc7\u6570\u4e0e\u672a\u901a\u8fc7\u6570
                  • \u5bf9\u4e8e\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u5bf9\u5e94\u7684\u4fee\u590d\u5efa\u8bae
                  • \u5bf9\u4e8e\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u66f4\u5b89\u5168\u7684\u64cd\u4f5c\u5efa\u8bae

                "},{"location":"admin/kpanda/storage/pv.html","title":"\u6570\u636e\u5377(PV)","text":"

                \u6570\u636e\u5377\uff08PersistentVolume\uff0cPV\uff09\u662f\u96c6\u7fa4\u4e2d\u7684\u4e00\u5757\u5b58\u50a8\uff0c\u53ef\u7531\u7ba1\u7406\u5458\u4e8b\u5148\u5236\u5907\uff0c\u6216\u4f7f\u7528\u5b58\u50a8\u7c7b\uff08Storage Class\uff09\u6765\u52a8\u6001\u5236\u5907\u3002PV \u662f\u96c6\u7fa4\u8d44\u6e90\uff0c\u4f46\u62e5\u6709\u72ec\u7acb\u7684\u751f\u547d\u5468\u671f\uff0c\u4e0d\u4f1a\u968f\u7740 Pod \u8fdb\u7a0b\u7ed3\u675f\u800c\u88ab\u5220\u9664\u3002\u5c06 PV \u6302\u8f7d\u5230\u5de5\u4f5c\u8d1f\u8f7d\u53ef\u4ee5\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6301\u4e45\u5316\u3002PV \u4e2d\u4fdd\u5b58\u4e86\u53ef\u88ab Pod \u4e2d\u5bb9\u5668\u8bbf\u95ee\u7684\u6570\u636e\u76ee\u5f55\u3002

                "},{"location":"admin/kpanda/storage/pv.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377","text":"

                \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                "},{"location":"admin/kpanda/storage/pv.html#yaml","title":"YAML \u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> YAML \u521b\u5efa \u3002

                2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                "},{"location":"admin/kpanda/storage/pv.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> \u521b\u5efa\u6570\u636e\u5377(PV) \u3002

                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                  • \u6570\u636e\u5377\u540d\u79f0\u3001\u6570\u636e\u5377\u7c7b\u578b\u3001\u6302\u8f7d\u8def\u5f84\u3001\u5377\u6a21\u5f0f\u3001\u8282\u70b9\u4eb2\u548c\u6027\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                  • \u6570\u636e\u5377\u7c7b\u578b\uff1a\u6709\u5173\u5377\u7c7b\u578b\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5377\u3002

                  • Local\uff1a\u5c06 Node \u8282\u70b9\u7684\u672c\u5730\u5b58\u50a8\u5305\u88c5\u6210 PVC \u63a5\u53e3\uff0c\u5bb9\u5668\u76f4\u63a5\u4f7f\u7528 PVC \u800c\u65e0\u9700\u5173\u6ce8\u5e95\u5c42\u7684\u5b58\u50a8\u7c7b\u578b\u3002Local \u5377\u4e0d\u652f\u6301\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\uff0c\u4f46\u652f\u6301\u914d\u7f6e\u8282\u70b9\u4eb2\u548c\u6027\uff0c\u53ef\u4ee5\u9650\u5236\u80fd\u4ece\u54ea\u4e9b\u8282\u70b9\u4e0a\u8bbf\u95ee\u8be5\u6570\u636e\u5377\u3002

                  • HostPath\uff1a\u4f7f\u7528 Node \u8282\u70b9\u7684\u6587\u4ef6\u7cfb\u7edf\u4e0a\u7684\u6587\u4ef6\u6216\u76ee\u5f55\u4f5c\u4e3a\u6570\u636e\u5377\uff0c\u4e0d\u652f\u6301\u57fa\u4e8e\u8282\u70b9\u4eb2\u548c\u6027\u7684 Pod \u8c03\u5ea6\u3002

                  • \u6302\u8f7d\u8def\u5f84\uff1a\u5c06\u6570\u636e\u5377\u6302\u8f7d\u5230\u5bb9\u5668\u4e2d\u7684\u67d0\u4e2a\u5177\u4f53\u76ee\u5f55\u4e0b\u3002

                  • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                    • ReadWriteOnce\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                    • ReadWriteMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                    • ReadOnlyMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                    • ReadWriteOncePod\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                  • \u56de\u6536\u7b56\u7565\uff1a

                    • Retain\uff1a\u4e0d\u5220\u9664 PV\uff0c\u4ec5\u5c06\u5176\u72b6\u6001\u53d8\u4e3a released \uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u56de\u6536\u3002\u6709\u5173\u5982\u4f55\u624b\u52a8\u56de\u6536\uff0c\u53ef\u53c2\u8003\u6301\u4e45\u5377\u3002
                    • Recycle\uff1a\u4fdd\u7559 PV \u4f46\u6e05\u7a7a\u5176\u4e2d\u7684\u6570\u636e\uff0c\u6267\u884c\u57fa\u672c\u7684\u64e6\u9664\u64cd\u4f5c\uff08 rm -rf /thevolume/* \uff09\u3002
                    • Delete\uff1a\u5220\u9664 PV \u65f6\u53ca\u5176\u4e2d\u7684\u6570\u636e\u3002
                  • \u5377\u6a21\u5f0f\uff1a

                    • \u6587\u4ef6\u7cfb\u7edf\uff1a\u6570\u636e\u5377\u5c06\u88ab Pod \u6302\u8f7d\u5230\u67d0\u4e2a\u76ee\u5f55\u3002\u5982\u679c\u6570\u636e\u5377\u7684\u5b58\u50a8\u6765\u81ea\u67d0\u5757\u8bbe\u5907\u800c\u8be5\u8bbe\u5907\u76ee\u524d\u4e3a\u7a7a\uff0c\u7b2c\u4e00\u6b21\u6302\u8f7d\u5377\u4e4b\u524d\u4f1a\u5728\u8bbe\u5907\u4e0a\u521b\u5efa\u6587\u4ef6\u7cfb\u7edf\u3002
                    • \u5757\uff1a\u5c06\u6570\u636e\u5377\u4f5c\u4e3a\u539f\u59cb\u5757\u8bbe\u5907\u6765\u4f7f\u7528\u3002\u8fd9\u7c7b\u5377\u4ee5\u5757\u8bbe\u5907\u7684\u65b9\u5f0f\u4ea4\u7ed9 Pod \u4f7f\u7528\uff0c\u5176\u4e0a\u6ca1\u6709\u4efb\u4f55\u6587\u4ef6\u7cfb\u7edf\uff0c\u53ef\u4ee5\u8ba9 Pod \u66f4\u5feb\u5730\u8bbf\u95ee\u6570\u636e\u5377\u3002
                  • \u8282\u70b9\u4eb2\u548c\u6027\uff1a

                "},{"location":"admin/kpanda/storage/pv.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377","text":"

                \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) \u3002

                • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                "},{"location":"admin/kpanda/storage/pv.html#_4","title":"\u514b\u9686\u6570\u636e\u5377","text":"

                \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u3002

                1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                  • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                    \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"admin/kpanda/storage/pv.html#_5","title":"\u66f4\u65b0\u6570\u636e\u5377","text":"

                \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u3002

                Note

                \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u7684\u522b\u540d\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u3001\u56de\u6536\u7b56\u7565\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                "},{"location":"admin/kpanda/storage/pv.html#_6","title":"\u5220\u9664\u6570\u636e\u5377","text":"

                \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                "},{"location":"admin/kpanda/storage/pvc.html","title":"\u6570\u636e\u5377\u58f0\u660e(PVC)","text":"

                \u6301\u4e45\u5377\u58f0\u660e\uff08PersistentVolumeClaim\uff0cPVC\uff09\u8868\u8fbe\u7684\u662f\u7528\u6237\u5bf9\u5b58\u50a8\u7684\u8bf7\u6c42\u3002PVC \u6d88\u8017 PV \u8d44\u6e90\uff0c\u7533\u9886\u4f7f\u7528\u7279\u5b9a\u5927\u5c0f\u3001\u7279\u5b9a\u8bbf\u95ee\u6a21\u5f0f\u7684\u6570\u636e\u5377\uff0c\u4f8b\u5982\u8981\u6c42 PV \u5377\u4ee5 ReadWriteOnce\u3001ReadOnlyMany \u6216 ReadWriteMany \u7b49\u6a21\u5f0f\u6765\u6302\u8f7d\u3002

                "},{"location":"admin/kpanda/storage/pvc.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e","text":"

                \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u58f0\u660e\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                "},{"location":"admin/kpanda/storage/pvc.html#yaml","title":"YAML \u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> YAML \u521b\u5efa \u3002

                2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                "},{"location":"admin/kpanda/storage/pvc.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> \u521b\u5efa\u6570\u636e\u5377\u58f0\u660e (PVC) \u3002

                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                  • \u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65b9\u5f0f\u3001\u6570\u636e\u5377\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                  • \u521b\u5efa\u65b9\u5f0f\uff1a\u5728\u5df2\u6709\u7684\u5b58\u50a8\u6c60\u6216\u8005\u6570\u636e\u5377\u4e2d\u52a8\u6001\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u6216\u8005\u57fa\u4e8e\u6570\u636e\u5377\u58f0\u660e\u7684\u5feb\u7167\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                    \u57fa\u4e8e\u5feb\u7167\u521b\u5efa\u65f6\u65e0\u6cd5\u4fee\u6539\u6570\u636e\u5377\u58f0\u660e\u7684\u5bb9\u91cf\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5b8c\u6210\u540e\u518d\u8fdb\u884c\u4fee\u6539\u3002

                  • \u9009\u62e9\u521b\u5efa\u65b9\u5f0f\u4e4b\u540e\uff0c\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u60f3\u8981\u4f7f\u7528\u7684\u5b58\u50a8\u6c60/\u6570\u636e\u5377/\u5feb\u7167\u3002

                  • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                  • ReadWriteOnce\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                  • ReadWriteMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                  • ReadOnlyMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                  • ReadWriteOncePod\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                "},{"location":"admin/kpanda/storage/pvc.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377\u58f0\u660e","text":"

                \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \u3002

                • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\u58f0\u660e\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u58f0\u660e\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u58f0\u660e\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                "},{"location":"admin/kpanda/storage/pvc.html#_4","title":"\u6269\u5bb9\u6570\u636e\u5377\u58f0\u660e","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230\u60f3\u8981\u8c03\u6574\u5bb9\u91cf\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                2. \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u6269\u5bb9 \u3002

                3. \u8f93\u5165\u76ee\u6807\u5bb9\u91cf\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"admin/kpanda/storage/pvc.html#_5","title":"\u514b\u9686\u6570\u636e\u5377\u58f0\u660e","text":"

                \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                  • \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                    \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"admin/kpanda/storage/pvc.html#_6","title":"\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e","text":"

                \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002

                Note

                \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u7684\u522b\u540d\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                "},{"location":"admin/kpanda/storage/pvc.html#_7","title":"\u5220\u9664\u6570\u636e\u5377\u58f0\u660e","text":"

                \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                "},{"location":"admin/kpanda/storage/pvc.html#_8","title":"\u5e38\u89c1\u95ee\u9898","text":"
                1. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5b58\u50a8\u6c60\u6216\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u521b\u5efa\u5b58\u50a8\u6c60\u6216\u521b\u5efa\u6570\u636e\u5377\u3002

                2. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5feb\u7167\uff0c\u53ef\u4ee5\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\uff0c\u5728\u53f3\u4e0a\u89d2\u5236\u4f5c\u5feb\u7167\u3002

                3. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u542f\u7528\u5feb\u7167\uff0c\u5219\u65e0\u6cd5\u5236\u4f5c\u5feb\u7167\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u201c\u5236\u4f5c\u5feb\u7167\u201d\u9009\u9879\u3002

                4. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u5f00\u542f\u6269\u5bb9\u529f\u80fd\uff0c\u5219\u8be5\u6570\u636e\u5377\u4e0d\u652f\u6301\u6269\u5bb9\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u6269\u5bb9\u9009\u9879\u3002

                "},{"location":"admin/kpanda/storage/sc-share.html","title":"\u5171\u4eab\u5b58\u50a8\u6c60","text":"

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5c06\u4e00\u4e2a\u5b58\u50a8\u6c60\u5171\u4eab\u7ed9\u591a\u4e2a\u547d\u540d\u7a7a\u95f4\u4f7f\u7528\uff0c\u4ee5\u4fbf\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                1. \u5728\u5b58\u50a8\u6c60\u5217\u8868\u4e2d\u627e\u5230\u9700\u8981\u5171\u4eab\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u64cd\u4f5c\u680f\u4e0b\u70b9\u51fb \u6388\u6743\u547d\u540d\u7a7a\u95f4 \u3002

                2. \u70b9\u51fb \u81ea\u5b9a\u4e49\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u9010\u4e00\u9009\u62e9\u9700\u8981\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u54ea\u4e9b\u547d\u540d\u7a7a\u95f4\u3002

                  • \u70b9\u51fb \u6388\u6743\u6240\u6709\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u4e00\u6b21\u6027\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u5f53\u524d\u96c6\u7fa4\u4e0b\u7684\u6240\u6709\u547d\u540d\u7a7a\u95f4\u3002
                  • \u5728\u5217\u8868\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u65b9\u70b9\u51fb \u79fb\u9664\u6388\u6743 \uff0c\u53ef\u4ee5\u89e3\u9664\u6388\u6743\uff0c\u505c\u6b62\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u8be5\u547d\u540d\u7a7a\u95f4\u3002

                "},{"location":"admin/kpanda/storage/sc.html","title":"\u5b58\u50a8\u6c60(SC)","text":"

                \u5b58\u50a8\u6c60\u6307\u5c06\u8bb8\u591a\u7269\u7406\u78c1\u76d8\u7ec4\u6210\u4e00\u4e2a\u5927\u578b\u5b58\u50a8\u8d44\u6e90\u6c60\uff0c\u672c\u5e73\u53f0\u652f\u6301\u63a5\u5165\u5404\u7c7b\u5b58\u50a8\u5382\u5546\u540e\u521b\u5efa\u5757\u5b58\u50a8\u6c60\u3001\u672c\u5730\u5b58\u50a8\u6c60\u3001\u81ea\u5b9a\u4e49\u5b58\u50a8\u6c60\uff0c\u7136\u540e\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\u3002

                "},{"location":"admin/kpanda/storage/sc.html#sc_1","title":"\u521b\u5efa\u5b58\u50a8\u6c60(SC)","text":"

                \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b58\u50a8\u6c60\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                "},{"location":"admin/kpanda/storage/sc.html#yaml","title":"YAML \u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> YAML \u521b\u5efa \u3002

                2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                "},{"location":"admin/kpanda/storage/sc.html#_1","title":"\u8868\u5355\u521b\u5efa","text":"
                1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> \u521b\u5efa\u5b58\u50a8\u6c60(SC) \u3002

                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\uff0c\u7136\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                  \u81ea\u5b9a\u4e49\u5b58\u50a8\u7cfb\u7edf

                  • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                  • CSI \u5b58\u50a8\u9a71\u52a8\uff1a\u57fa\u4e8e\u6807\u51c6 Kubernetes \u7684\u5bb9\u5668\u5b58\u50a8\u63a5\u53e3\u63d2\u4ef6\uff0c\u9700\u9075\u5b88\u5b58\u50a8\u5382\u5546\u89c4\u5b9a\u7684\u683c\u5f0f\uff0c\u4f8b\u5982 rancher.io/local-path \u3002

                    • \u6709\u5173\u5982\u4f55\u586b\u5199\u4e0d\u540c\u5382\u5546\u63d0\u4f9b\u7684 CSI \u9a71\u52a8\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5b58\u50a8\u7c7b\u3002
                      • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                      • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                  HwameiStor \u5b58\u50a8\u7cfb\u7edf

                  • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                  • \u5b58\u50a8\u7cfb\u7edf\uff1aHwameiStor \u5b58\u50a8\u7cfb\u7edf\u3002
                  • \u5b58\u50a8\u7c7b\u578b\uff1a\u652f\u6301 LVM\uff0c\u88f8\u78c1\u76d8\u7c7b\u578b
                    • LVM \u7c7b\u578b \uff1aHwameiStor \u63a8\u8350\u4f7f\u7528\u6b64\u65b9\u5f0f\uff0c\u53ef\u4f7f\u7528\u9ad8\u53ef\u7528\u6570\u636e\u5377\uff0c\u5bf9\u5e94\u7684\u7684 CSI \u5b58\u50a8\u9a71\u52a8\u4e3a lvm.hwameistor.io\u3002
                    • \u88f8\u78c1\u76d8\u6570\u636e\u5377 \uff1a \u9002\u7528\u4e8e\u975e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u65e0\u9ad8\u53ef\u7528\u80fd\u529b\uff0c\u5bf9\u5e94\u7684 CSI \u9a71\u52a8\u4e3a hdd.hwameistor.io
                  • \u9ad8\u53ef\u7528\u6a21\u5f0f\uff1a\u4f7f\u7528\u9ad8\u53ef\u7528\u80fd\u529b\u4e4b\u524d\u8bf7\u786e\u8ba4 DRBD \u7ec4\u4ef6 \u5df2\u5b89\u88c5\u3002\u5f00\u542f\u9ad8\u53ef\u7528\u6a21\u5f0f\u540e\uff0c\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u6570\u8bbe\u7f6e\u4e3a 1 \u548c 2\u3002 \u5982\u9700\u8981\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u4ece 1 Convert \u6210 1
                  • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                  • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                  Note

                  \u76ee\u524d HwameiStor xfs\u3001ext4 \u4e24\u79cd\u6587\u4ef6\u7cfb\u7edf\uff0c\u5176\u4e2d\u9ed8\u8ba4\u4f7f\u7528\u7684\u662f xfs \u6587\u4ef6\u7cfb\u7edf\uff0c\u5982\u679c\u60f3\u8981\u66ff\u6362\u4e3a ext4\uff0c\u53ef\u4ee5\u5728\u81ea\u5b9a\u4e49\u53c2\u6570\u6dfb\u52a0 csi.storage.k8s.io/fstype: ext4

                "},{"location":"admin/kpanda/storage/sc.html#sc_2","title":"\u66f4\u65b0\u5b58\u50a8\u6c60(SC)","text":"

                \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u7f16\u8f91 \u5373\u53ef\u901a\u8fc7\u66f4\u65b0\u5b58\u50a8\u6c60\u3002

                Info

                \u9009\u62e9 \u67e5\u770b YAML \u53ef\u4ee5\u67e5\u770b\u8be5\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\uff0c\u4f46\u4e0d\u652f\u6301\u7f16\u8f91\u3002

                "},{"location":"admin/kpanda/storage/sc.html#sc_3","title":"\u5220\u9664\u5b58\u50a8\u6c60(SC)","text":"

                \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                "},{"location":"admin/kpanda/workloads/create-cronjob.html","title":"\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u3002

                \u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u9002\u7528\u4e8e\u4e8e\u6267\u884c\u5468\u671f\u6027\u7684\u64cd\u4f5c\uff0c\u4f8b\u5982\u5907\u4efd\u3001\u62a5\u544a\u751f\u6210\u7b49\u3002\u8fd9\u4e9b\u4efb\u52a1\u53ef\u4ee5\u914d\u7f6e\u4e3a\u5468\u671f\u6027\u91cd\u590d\u7684\uff08\u4f8b\u5982\uff1a\u6bcf\u5929/\u6bcf\u5468/\u6bcf\u6708\u4e00\u6b21\uff09\uff0c\u53ef\u4ee5\u5b9a\u4e49\u4efb\u52a1\u5f00\u59cb\u6267\u884c\u7684\u65f6\u95f4\u95f4\u9694\u3002

                "},{"location":"admin/kpanda/workloads/create-cronjob.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"admin/kpanda/workloads/create-cronjob.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b9a\u65f6\u4efb\u52a1\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b9a\u65f6\u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                "},{"location":"admin/kpanda/workloads/create-cronjob.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u5728 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b9a\u65f6\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                "},{"location":"admin/kpanda/workloads/create-cronjob.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                • \u955c\u50cf\uff1a
                  • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                  • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                  • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                  • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                  • \u6574\u5361\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                  • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                    • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                    • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                    • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                    • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                    • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                  • Mig \u6a21\u5f0f
                    • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                    • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                "},{"location":"admin/kpanda/workloads/create-cronjob.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e","text":"
                • \u5e76\u53d1\u7b56\u7565\uff1a\u662f\u5426\u5141\u8bb8\u591a\u4e2a Job \u4efb\u52a1\u5e76\u884c\u6267\u884c\u3002

                  • Allow \uff1a\u53ef\u4ee5\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u672a\u5b8c\u6210\u65f6\u5c31\u521b\u5efa\u65b0\u7684\u5b9a\u65f6\u4efb\u52a1\uff0c\u800c\u4e14\u591a\u4e2a\u4efb\u52a1\u53ef\u4ee5\u5e76\u884c\u3002\u4efb\u52a1\u592a\u591a\u53ef\u80fd\u62a2\u5360\u96c6\u7fa4\u8d44\u6e90\u3002
                  • Forbid \uff1a\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u5b8c\u6210\u4e4b\u524d\uff0c\u4e0d\u80fd\u521b\u5efa\u65b0\u4efb\u52a1\uff0c\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\u800c\u4e4b\u524d\u7684\u4efb\u52a1\u4ecd\u672a\u6267\u884c\u5b8c\uff0cCronJob \u4f1a\u5ffd\u7565\u65b0\u4efb\u52a1\u7684\u6267\u884c\u3002
                  • Replace \uff1a\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\uff0c\u4f46\u524d\u4e00\u4e2a\u4efb\u52a1\u8fd8\u672a\u5b8c\u6210\uff0c\u65b0\u7684\u4efb\u52a1\u4f1a\u53d6\u4ee3\u524d\u4e00\u4e2a\u4efb\u52a1\u3002

                  \u4e0a\u8ff0\u89c4\u5219\u4ec5\u9002\u7528\u4e8e\u540c\u4e00\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u3002\u591a\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u603b\u662f\u5141\u8bb8\u5e76\u53d1\u6267\u884c\u3002

                • \u5b9a\u65f6\u89c4\u5219\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49\u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002

                • \u4efb\u52a1\u8bb0\u5f55\uff1a\u8bbe\u5b9a\u4fdd\u7559\u591a\u5c11\u6761\u4efb\u52a1\u6267\u884c\u6210\u529f\u6216\u5931\u8d25\u7684\u8bb0\u5f55\u3002 0 \u8868\u793a\u4e0d\u4fdd\u7559\u3002
                • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u5c31\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002\u9ed8\u8ba4\u503c\u4e3a 360 s\u3002
                • \u91cd\u8bd5\u6b21\u6570\uff1a\u4efb\u52a1\u53ef\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba4\u503c\u4e3a 6\u3002
                • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u4efb\u52a1\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002
                "},{"location":"admin/kpanda/workloads/create-cronjob.html#_6","title":"\u670d\u52a1\u914d\u7f6e","text":"

                \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                "},{"location":"admin/kpanda/workloads/create-cronjob.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                \u5b9a\u65f6\u4efb\u52a1\u7684\u9ad8\u7ea7\u914d\u7f6e\u4e3b\u8981\u6d89\u53ca\u6807\u7b7e\u4e0e\u6ce8\u89e3\u3002

                \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                "},{"location":"admin/kpanda/workloads/create-cronjob.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                apiVersion: batch/v1\nkind: CronJob\nmetadata:\n  creationTimestamp: '2022-12-26T09:45:47Z'\n  generation: 1\n  name: demo\n  namespace: default\n  resourceVersion: '92726617'\n  uid: d030d8d7-a405-4dcd-b09a-176942ef36c9\nspec:\n  concurrencyPolicy: Allow\n  failedJobsHistoryLimit: 1\n  jobTemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      activeDeadlineSeconds: 360\n      backoffLimit: 6\n      template:\n        metadata:\n          creationTimestamp: null\n        spec:\n          containers:\n            - image: nginx\n              imagePullPolicy: IfNotPresent\n              lifecycle: {}\n              name: container-3\n              resources:\n                limits:\n                  cpu: 250m\n                  memory: 512Mi\n                requests:\n                  cpu: 250m\n                  memory: 512Mi\n              securityContext:\n                privileged: false\n              terminationMessagePath: /dev/termination-log\n              terminationMessagePolicy: File\n          dnsPolicy: ClusterFirst\n          restartPolicy: Never\n          schedulerName: default-scheduler\n          securityContext: {}\n          terminationGracePeriodSeconds: 30\n  schedule: 0 0 13 * 5\n  successfulJobsHistoryLimit: 3\n  suspend: false\nstatus: {}\n
                "},{"location":"admin/kpanda/workloads/create-daemonset.html","title":"\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b(DaemonSet)","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u3002

                \u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u901a\u8fc7\u8282\u70b9\u4eb2\u548c\u6027\u4e0e\u6c61\u70b9\u529f\u80fd\u786e\u4fdd\u5728\u5168\u90e8\u6216\u90e8\u5206\u8282\u70b9\u4e0a\u8fd0\u884c\u4e00\u4e2a Pod \u7684\u526f\u672c\u3002\u5bf9\u4e8e\u65b0\u52a0\u5165\u96c6\u7fa4\u7684\u8282\u70b9\uff0cDaemonSet \u81ea\u52a8\u5728\u65b0\u8282\u70b9\u4e0a\u90e8\u7f72\u76f8\u5e94\u7684 Pod\uff0c\u5e76\u8ddf\u8e2a Pod \u7684\u8fd0\u884c\u72b6\u6001\u3002\u5f53\u8282\u70b9\u88ab\u79fb\u9664\u65f6\uff0cDaemonSet \u5219\u5220\u9664\u5176\u521b\u5efa\u7684\u6240\u6709 Pod\u3002

                \u5b88\u62a4\u8fdb\u7a0b\u7684\u5e38\u89c1\u7528\u4f8b\u5305\u62ec\uff1a

                • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u96c6\u7fa4\u5b88\u62a4\u8fdb\u7a0b\u3002

                • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u65e5\u5fd7\u6536\u96c6\u5b88\u62a4\u8fdb\u7a0b\u3002

                • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u76d1\u63a7\u5b88\u62a4\u8fdb\u7a0b\u3002

                \u7b80\u5355\u8d77\u89c1\uff0c\u53ef\u4ee5\u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u4e3a\u6bcf\u79cd\u7c7b\u578b\u7684\u5b88\u62a4\u8fdb\u7a0b\u90fd\u542f\u52a8\u4e00\u4e2a DaemonSet\u3002\u5982\u9700\u66f4\u7cbe\u7ec6\u3001\u66f4\u9ad8\u7ea7\u5730\u7ba1\u7406\u5b88\u62a4\u8fdb\u7a0b\uff0c\u4e5f\u53ef\u4ee5\u4e3a\u540c\u4e00\u79cd\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u591a\u4e2a DaemonSet\u3002\u6bcf\u4e2a DaemonSet \u5177\u6709\u4e0d\u540c\u7684\u6807\u5fd7\uff0c\u5e76\u4e14\u5bf9\u4e0d\u540c\u786c\u4ef6\u7c7b\u578b\u5177\u6709\u4e0d\u540c\u7684\u5185\u5b58\u3001CPU \u8981\u6c42\u3002

                "},{"location":"admin/kpanda/workloads/create-daemonset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u521b\u5efa DaemonSet \u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"admin/kpanda/workloads/create-daemonset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b88\u62a4\u8fdb\u7a0b\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b88\u62a4\u8fdb\u7a0b \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b88\u62a4\u8fdb\u7a0b\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                "},{"location":"admin/kpanda/workloads/create-daemonset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u5728 \u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                "},{"location":"admin/kpanda/workloads/create-daemonset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                • \u955c\u50cf\uff1a
                  • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                  • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                  • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                  • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                  • \u6574\u5361\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                  • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                    • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                    • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                    • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                    • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                    • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                  • Mig \u6a21\u5f0f
                    • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                    • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                "},{"location":"admin/kpanda/workloads/create-daemonset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                \u4e3a\u5b88\u62a4\u8fdb\u7a0b\u521b\u5efa\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u5b88\u62a4\u8fdb\u7a0b\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                2. \u914d\u7f6e\u670d\u52a1\u53c2\u6570\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u521b\u5efa\u670d\u52a1\u3002

                3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                "},{"location":"admin/kpanda/workloads/create-daemonset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3

                \u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                • DNS \u7b56\u7565

                  • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                  • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                  • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                  • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                • \u6700\u5927\u65e0\u6548 Pod \u6570\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                • \u6700\u5927\u6d6a\u6d8c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                "},{"location":"admin/kpanda/workloads/create-daemonset.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u7684 YAML \u793a\u4f8b
                kind: DaemonSet\napiVersion: apps/v1\nmetadata:\n  name: hwameistor-local-disk-manager\n  namespace: hwameistor\n  uid: ccbdc098-7de3-4a8a-96dd-d1cee159c92b\n  resourceVersion: '90999552'\n  generation: 1\n  creationTimestamp: '2022-12-15T09:03:44Z'\n  labels:\n    app.kubernetes.io/managed-by: Helm\n  annotations:\n    deprecated.daemonset.template.generation: '1'\n    meta.helm.sh/release-name: hwameistor\n    meta.helm.sh/release-namespace: hwameistor\nspec:\n  selector:\n    matchLabels:\n      app: hwameistor-local-disk-manager\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: hwameistor-local-disk-manager\n    spec:\n      volumes:\n        - name: udev\n          hostPath:\n            path: /run/udev\n            type: Directory\n        - name: procmount\n          hostPath:\n            path: /proc\n            type: Directory\n        - name: devmount\n          hostPath:\n            path: /dev\n            type: Directory\n        - name: socket-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins/disk.hwameistor.io\n            type: DirectoryOrCreate\n        - name: registration-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins_registry/\n            type: Directory\n        - name: plugin-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins\n            type: DirectoryOrCreate\n        - name: pods-mount-dir\n          hostPath:\n            path: /var/lib/kubelet/pods\n            type: DirectoryOrCreate\n      containers:\n        - name: registrar\n          image: k8s-gcr.m.daocloud.io/sig-storage/csi-node-driver-registrar:v2.5.0\n          args:\n            - '--v=5'\n            - '--csi-address=/csi/csi.sock'\n            - >-\n              --kubelet-registration-path=/var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n          env:\n            - name: KUBE_NODE_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n          resources: {}\n          volumeMounts:\n            - name: socket-dir\n              mountPath: /csi\n            - name: registration-dir\n              mountPath: /registration\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - /bin/sh\n                  - '-c'\n                  - >-\n                    rm -rf /registration/disk.hwameistor.io \n                    /registration/disk.hwameistor.io-reg.sock\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: manager\n          image: ghcr.m.daocloud.io/hwameistor/local-disk-manager:v0.6.1\n          command:\n            - /local-disk-manager\n          args:\n            - '--endpoint=$(CSI_ENDPOINT)'\n            - '--nodeid=$(NODENAME)'\n            - '--csi-enable=true'\n          env:\n            - name: CSI_ENDPOINT\n              value: unix://var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n            - name: NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: WATCH_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: NODENAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n            - name: OPERATOR_NAME\n              value: local-disk-manager\n          resources: {}\n          volumeMounts:\n            - name: udev\n              mountPath: /run/udev\n            - name: procmount\n              readOnly: true\n              mountPath: /host/proc\n            - name: devmount\n              mountPath: /dev\n            - name: registration-dir\n              mountPath: /var/lib/kubelet/plugins_registry\n            - name: plugin-dir\n              mountPath: /var/lib/kubelet/plugins\n              mountPropagation: Bidirectional\n            - name: pods-mount-dir\n              mountPath: /var/lib/kubelet/pods\n              mountPropagation: Bidirectional\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: true\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      serviceAccountName: hwameistor-admin\n      serviceAccount: hwameistor-admin\n      hostNetwork: true\n      hostPID: true\n      securityContext: {}\n      schedulerName: default-scheduler\n      tolerations:\n        - key: CriticalAddonsOnly\n          operator: Exists\n        - key: node.kubernetes.io/not-ready\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/master\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/control-plane\n          operator: Exists\n          effect: NoSchedule\n        - key: node.cloudprovider.kubernetes.io/uninitialized\n          operator: Exists\n          effect: NoSchedule\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      maxUnavailable: 1\n      maxSurge: 0\n  revisionHistoryLimit: 10\nstatus:\n  currentNumberScheduled: 4\n  numberMisscheduled: 0\n  desiredNumberScheduled: 4\n  numberReady: 4\n  observedGeneration: 1\n  updatedNumberScheduled: 4\n  numberAvailable: 4\n
                "},{"location":"admin/kpanda/workloads/create-deployment.html","title":"\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                \u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u4e3b\u8981\u4e3a Pod \u548c ReplicaSet \u63d0\u4f9b\u58f0\u660e\u5f0f\u66f4\u65b0\uff0c\u652f\u6301\u5f39\u6027\u4f38\u7f29\u3001\u6eda\u52a8\u5347\u7ea7\u3001\u7248\u672c\u56de\u9000\u7b49\u529f\u80fd\u3002\u5728 Deployment \u4e2d\u58f0\u660e\u671f\u671b\u7684 Pod \u72b6\u6001\uff0cDeployment Controller \u4f1a\u901a\u8fc7 ReplicaSet \u4fee\u6539\u5f53\u524d\u72b6\u6001\uff0c\u4f7f\u5176\u8fbe\u5230\u9884\u5148\u58f0\u660e\u7684\u671f\u671b\u72b6\u6001\u3002Deployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u652f\u6301\u6570\u636e\u6301\u4e45\u5316\uff0c\u9002\u7528\u4e8e\u90e8\u7f72\u65e0\u72b6\u6001\u7684\u3001\u4e0d\u9700\u8981\u4fdd\u5b58\u6570\u636e\u3001\u968f\u65f6\u53ef\u4ee5\u91cd\u542f\u56de\u6eda\u7684\u5e94\u7528\u3002

                \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                "},{"location":"admin/kpanda/workloads/create-deployment.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"admin/kpanda/workloads/create-deployment.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u65e0\u72b6\u6001\u8d1f\u8f7d \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002\u5982\u679c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                "},{"location":"admin/kpanda/workloads/create-deployment.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                "},{"location":"admin/kpanda/workloads/create-deployment.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                • \u955c\u50cf\uff1a
                  • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u5b89\u88c5\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                  • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                  • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                  • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                  • \u6574\u5361\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                  • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                    • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                    • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                    • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                    • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                    • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                  • Mig \u6a21\u5f0f
                    • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                    • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                "},{"location":"admin/kpanda/workloads/create-deployment.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                \u4e3a\u65e0\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u65e0\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                "},{"location":"admin/kpanda/workloads/create-deployment.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002

                • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                • DNS \u7b56\u7565

                  • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                  • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                  • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                  • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                • \u6700\u5927\u4e0d\u53ef\u7528\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                • \u6700\u5927\u5cf0\u503c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002

                \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                "},{"location":"admin/kpanda/workloads/create-deployment.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\nspec:\n  selector:\n    matchLabels:\n      app: nginx\n  replicas: 2 # \u544a\u77e5 Deployment \u8fd0\u884c 2 \u4e2a\u4e0e\u8be5\u6a21\u677f\u5339\u914d\u7684 Pod\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.14.2\n        ports:\n        - containerPort: 80\n
                "},{"location":"admin/kpanda/workloads/create-job.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u4efb\u52a1\uff08Job\uff09\u3002

                \u4efb\u52a1\uff08Job\uff09\u9002\u7528\u4e8e\u6267\u884c\u4e00\u6b21\u6027\u4efb\u52a1\u3002Job \u4f1a\u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod\uff0cJob \u4f1a\u4e00\u76f4\u91cd\u65b0\u5c1d\u8bd5\u6267\u884c Pod\uff0c\u76f4\u5230\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u4e00\u5b9a\u6570\u91cf\u3002\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u6307\u5b9a\u7684\u6570\u91cf\u540e\uff0cJob \u4e5f\u968f\u4e4b\u7ed3\u675f\u3002\u5220\u9664 Job \u65f6\u4f1a\u4e00\u540c\u6e05\u9664\u8be5 Job \u521b\u5efa\u7684\u6240\u6709 Pod\u3002\u6682\u505c Job \u65f6\u5220\u9664\u8be5 Job \u4e2d\u7684\u6240\u6709\u6d3b\u8dc3 Pod\uff0c\u76f4\u5230 Job \u88ab\u7ee7\u7eed\u6267\u884c\u3002\u6709\u5173\u4efb\u52a1\uff08Job\uff09\u7684\u66f4\u591a\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003Job\u3002

                "},{"location":"admin/kpanda/workloads/create-job.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"admin/kpanda/workloads/create-job.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u4efb\u52a1\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                "},{"location":"admin/kpanda/workloads/create-job.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u5728 \u521b\u5efa\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u57fa\u672c\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\u3002\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                "},{"location":"admin/kpanda/workloads/create-job.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                • \u955c\u50cf\uff1a
                  • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                  • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                  • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                  • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                  • \u6574\u5361\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                  • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                    • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                    • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                    • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                    • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                    • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                  • Mig \u6a21\u5f0f
                    • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                    • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                "},{"location":"admin/kpanda/workloads/create-job.html#_5","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u4efb\u52a1\u8bbe\u7f6e\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4e24\u90e8\u5206\u3002

                \u4efb\u52a1\u8bbe\u7f6e\u6807\u7b7e\u4e0e\u6ce8\u89e3

                • \u5e76\u884c\u6570\uff1a\u4efb\u52a1\u6267\u884c\u8fc7\u7a0b\u4e2d\u5141\u8bb8\u540c\u65f6\u521b\u5efa\u7684\u6700\u5927 Pod \u6570\uff0c\u5e76\u884c\u6570\u5e94\u4e0d\u5927\u4e8e Pod \u603b\u6570\u3002\u9ed8\u8ba4\u4e3a 1\u3002
                • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002
                • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002

                \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                "},{"location":"admin/kpanda/workloads/create-job.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u4efb\u52a1\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                kind: Job\napiVersion: batch/v1\nmetadata:\n  name: demo\n  namespace: default\n  uid: a9708239-0358-4aa1-87d3-a092c080836e\n  resourceVersion: '92751876'\n  generation: 1\n  creationTimestamp: '2022-12-26T10:52:22Z'\n  labels:\n    app: demo\n    controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n    job-name: demo\n  annotations:\n    revisions: >-\n      {\"1\":{\"status\":\"running\",\"uid\":\"a9708239-0358-4aa1-87d3-a092c080836e\",\"start-time\":\"2022-12-26T10:52:22Z\",\"completion-time\":\"0001-01-01T00:00:00Z\"}}\nspec:\n  parallelism: 1\n  backoffLimit: 6\n  selector:\n    matchLabels:\n      controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: demo\n        controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n        job-name: demo\n    spec:\n      containers:\n        - name: container-4\n          image: nginx\n          resources:\n            limits:\n              cpu: 250m\n              memory: 512Mi\n            requests:\n              cpu: 250m\n              memory: 512Mi\n          lifecycle: {}\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: false\n      restartPolicy: Never\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext: {}\n      schedulerName: default-scheduler\n  completionMode: NonIndexed\n  suspend: false\nstatus:\n  startTime: '2022-12-26T10:52:22Z'\n  active: 1\n
                "},{"location":"admin/kpanda/workloads/create-statefulset.html","title":"\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u3002

                \u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u548c\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u7c7b\u4f3c\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406 Pod \u96c6\u5408\u7684\u90e8\u7f72\u548c\u4f38\u7f29\u3002\u4e8c\u8005\u7684\u4e3b\u8981\u533a\u522b\u5728\u4e8e\uff0cDeployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u4fdd\u5b58\u6570\u636e\uff0c\u800c StatefulSet \u662f\u6709\u72b6\u6001\u7684\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406\u6709\u72b6\u6001\u5e94\u7528\u3002\u6b64\u5916\uff0cStatefulSet \u4e2d\u7684 Pod \u5177\u6709\u6c38\u4e45\u4e0d\u53d8\u7684 ID\uff0c\u4fbf\u4e8e\u5728\u5339\u914d\u5b58\u50a8\u5377\u65f6\u8bc6\u522b\u5bf9\u5e94\u7684 Pod\u3002

                \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                "},{"location":"admin/kpanda/workloads/create-statefulset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                "},{"location":"admin/kpanda/workloads/create-statefulset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u53f3\u4e0a\u89d2 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \u5217\u8868\uff0c\u7b49\u5f85\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                  \u70b9\u51fb\u65b0\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u5217\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002

                "},{"location":"admin/kpanda/workloads/create-statefulset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                "},{"location":"admin/kpanda/workloads/create-statefulset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                • \u955c\u50cf\uff1a
                  • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                  • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                  • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                  • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                  • \u6574\u5361\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                  • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                    • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                    • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                    • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                    • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                    • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                    • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                  • Mig \u6a21\u5f0f
                    • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                    • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\u3002\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                "},{"location":"admin/kpanda/workloads/create-statefulset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                "},{"location":"admin/kpanda/workloads/create-statefulset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u5bb9\u5668\u7ba1\u7406\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002

                • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                • DNS \u7b56\u7565

                  • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                  • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                  • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                  • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                Kubernetes v1.7 \u53ca\u5176\u4e4b\u540e\u7684\u7248\u672c\u53ef\u4ee5\u901a\u8fc7 .spec.podManagementPolicy \u8bbe\u7f6e Pod \u7684\u7ba1\u7406\u7b56\u7565\uff0c\u652f\u6301\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\uff1a

                • \u6309\u5e8f\u7b56\u7565\uff08OrderedReady\uff09 \uff1a\u9ed8\u8ba4\u7684 Pod \u7ba1\u7406\u7b56\u7565\uff0c\u8868\u793a\u6309\u987a\u5e8f\u90e8\u7f72 Pod\uff0c\u53ea\u6709\u524d\u4e00\u4e2a Pod \u90e8\u7f72 \u6210\u529f\u5b8c\u6210\u540e\uff0c\u6709\u72b6\u6001\u8d1f\u8f7d\u624d\u4f1a\u5f00\u59cb\u90e8\u7f72\u4e0b\u4e00\u4e2a Pod\u3002\u5220\u9664 Pod \u65f6\u5219\u91c7\u7528\u9006\u5e8f\uff0c\u6700\u540e\u521b\u5efa\u7684\u6700\u5148\u88ab\u5220\u9664\u3002

                • \u5e76\u884c\u7b56\u7565\uff08Parallel\uff09 \uff1a\u5e76\u884c\u521b\u5efa\u6216\u5220\u9664\u5bb9\u5668\uff0c\u548c Deployment \u7c7b\u578b\u7684 Pod \u4e00\u6837\u3002StatefulSet \u63a7\u5236\u5668\u5e76\u884c\u5730\u542f\u52a8\u6216\u7ec8\u6b62\u6240\u6709\u7684\u5bb9\u5668\u3002\u542f\u52a8\u6216\u8005\u7ec8\u6b62\u5176\u4ed6 Pod \u524d\uff0c\u65e0\u9700\u7b49\u5f85 Pod \u8fdb\u5165 Running \u548c ready \u6216\u8005\u5b8c\u5168\u505c\u6b62\u72b6\u6001\u3002 \u8fd9\u4e2a\u9009\u9879\u53ea\u4f1a\u5f71\u54cd\u6269\u7f29\u64cd\u4f5c\u7684\u884c\u4e3a\uff0c\u4e0d\u5f71\u54cd\u66f4\u65b0\u65f6\u7684\u987a\u5e8f\u3002

                • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                ![\u8c03\u5ea6\u7b56\u7565](../../../images/deploy15_1.png)\n

                \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                "},{"location":"admin/kpanda/workloads/create-statefulset.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                kind: StatefulSet\napiVersion: apps/v1\nmetadata:\n  name: test-mysql-123-mysql\n  namespace: default\n  uid: d3f45527-a0ab-4b22-9013-5842a06f4e0e\n  resourceVersion: '20504385'\n  generation: 1\n  creationTimestamp: '2022-09-22T09:34:10Z'\n  ownerReferences:\n    - apiVersion: mysql.presslabs.org/v1alpha1\n      kind: MysqlCluster\n      name: test-mysql-123\n      uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app.kubernetes.io/managed-by: mysql.presslabs.org\n      app.kubernetes.io/name: mysql\n      mysql.presslabs.org/cluster: test-mysql-123\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app.kubernetes.io/component: database\n        app.kubernetes.io/instance: test-mysql-123\n        app.kubernetes.io/managed-by: mysql.presslabs.org\n        app.kubernetes.io/name: mysql\n        app.kubernetes.io/version: 5.7.31\n        mysql.presslabs.org/cluster: test-mysql-123\n      annotations:\n        config_rev: '13941099'\n        prometheus.io/port: '9125'\n        prometheus.io/scrape: 'true'\n        secret_rev: '13941101'\n    spec:\n      volumes:\n        - name: conf\n          emptyDir: {}\n        - name: init-scripts\n          emptyDir: {}\n        - name: config-map\n          configMap:\n            name: test-mysql-123-mysql\n            defaultMode: 420\n        - name: data\n          persistentVolumeClaim:\n            claimName: data\n      initContainers:\n        - name: init\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - clone-and-init\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: BACKUP_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_USER\n                  optional: true\n            - name: BACKUP_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_PASSWORD\n                  optional: true\n          resources: {}\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: config-map\n              mountPath: /mnt/conf\n            - name: data\n              mountPath: /var/lib/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      containers:\n        - name: mysql\n          image: docker.m.daocloud.io/mysql:5.7.31\n          ports:\n            - name: mysql\n              containerPort: 3306\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: ORCH_CLUSTER_ALIAS\n              value: test-mysql-123.default\n            - name: ORCH_HTTP_API\n              value: http://mysql-operator.mcamel-system/api\n            - name: MYSQL_ROOT_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: ROOT_PASSWORD\n                  optional: false\n            - name: MYSQL_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: USER\n                  optional: true\n            - name: MYSQL_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: PASSWORD\n                  optional: true\n            - name: MYSQL_DATABASE\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: DATABASE\n                  optional: true\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 100m\n              memory: 512Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          livenessProbe:\n            exec:\n              command:\n                - mysqladmin\n                - '--defaults-file=/etc/mysql/client.conf'\n                - ping\n            initialDelaySeconds: 60\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          readinessProbe:\n            exec:\n              command:\n                - /bin/sh\n                - '-c'\n                - >-\n                  test $(mysql --defaults-file=/etc/mysql/client.conf -NB -e\n                  'SELECT COUNT(*) FROM sys_operator.status WHERE\n                  name=\"configured\" AND value=\"1\"') -eq 1\n            initialDelaySeconds: 5\n            timeoutSeconds: 5\n            periodSeconds: 2\n            successThreshold: 1\n            failureThreshold: 3\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - bash\n                  - /etc/mysql/pre-shutdown-ha.sh\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: sidecar\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - config-and-serve\n          ports:\n            - name: sidecar-http\n              containerPort: 8080\n              protocol: TCP\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: XTRABACKUP_TARGET_DIR\n              value: /tmp/xtrabackup_backupfiles/\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 10m\n              memory: 64Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          readinessProbe:\n            httpGet:\n              path: /health\n              port: 8080\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: metrics-exporter\n          image: prom/mysqld-exporter:v0.13.0\n          args:\n            - '--web.listen-address=0.0.0.0:9125'\n            - '--web.telemetry-path=/metrics'\n            - '--collect.heartbeat'\n            - '--collect.heartbeat.database=sys_operator'\n          ports:\n            - name: prometheus\n              containerPort: 9125\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_USER\n                  optional: false\n            - name: PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_PASSWORD\n                  optional: false\n            - name: DATA_SOURCE_NAME\n              value: $(USER):$(PASSWORD)@(127.0.0.1:3306)/\n          resources:\n            limits:\n              cpu: 100m\n              memory: 128Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          livenessProbe:\n            httpGet:\n              path: /metrics\n              port: 9125\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 30\n            periodSeconds: 30\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: pt-heartbeat\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - pt-heartbeat\n            - '--update'\n            - '--replace'\n            - '--check-read-only'\n            - '--create-table'\n            - '--database'\n            - sys_operator\n            - '--table'\n            - heartbeat\n            - '--utc'\n            - '--defaults-file'\n            - /etc/mysql/heartbeat.conf\n            - '--fail-successive-errors=20'\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n          resources:\n            limits:\n              cpu: 100m\n              memory: 64Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext:\n        runAsUser: 999\n        fsGroup: 999\n      affinity:\n        podAntiAffinity:\n          preferredDuringSchedulingIgnoredDuringExecution:\n            - weight: 100\n              podAffinityTerm:\n                labelSelector:\n                  matchLabels:\n                    app.kubernetes.io/component: database\n                    app.kubernetes.io/instance: test-mysql-123\n                    app.kubernetes.io/managed-by: mysql.presslabs.org\n                    app.kubernetes.io/name: mysql\n                    app.kubernetes.io/version: 5.7.31\n                    mysql.presslabs.org/cluster: test-mysql-123\n                topologyKey: kubernetes.io/hostname\n      schedulerName: default-scheduler\n  volumeClaimTemplates:\n    - kind: PersistentVolumeClaim\n      apiVersion: v1\n      metadata:\n        name: data\n        creationTimestamp: null\n        ownerReferences:\n          - apiVersion: mysql.presslabs.org/v1alpha1\n            kind: MysqlCluster\n            name: test-mysql-123\n            uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n            controller: true\n      spec:\n        accessModes:\n          - ReadWriteOnce\n        resources:\n          limits:\n            storage: 1Gi\n          requests:\n            storage: 1Gi\n        storageClassName: local-path\n        volumeMode: Filesystem\n      status:\n        phase: Pending\n  serviceName: mysql\n  podManagementPolicy: OrderedReady\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      partition: 0\n  revisionHistoryLimit: 10\nstatus:\n  observedGeneration: 1\n  replicas: 1\n  readyReplicas: 1\n  currentReplicas: 1\n  updatedReplicas: 1\n  currentRevision: test-mysql-123-mysql-6b8f5577c7\n  updateRevision: test-mysql-123-mysql-6b8f5577c7\n  collisionCount: 0\n  availableReplicas: 1\n
                "},{"location":"admin/kpanda/workloads/pod-config/env-variables.html","title":"\u914d\u7f6e\u73af\u5883\u53d8\u91cf","text":"

                \u73af\u5883\u53d8\u91cf\u662f\u6307\u5bb9\u5668\u8fd0\u884c\u73af\u5883\u4e2d\u8bbe\u5b9a\u7684\u4e00\u4e2a\u53d8\u91cf\uff0c\u7528\u4e8e\u7ed9 Pod \u6dfb\u52a0\u73af\u5883\u6807\u5fd7\u6216\u4f20\u9012\u914d\u7f6e\u7b49\uff0c\u652f\u6301\u901a\u8fc7\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5728\u539f\u751f Kubernetes \u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u56fe\u5f62\u5316\u754c\u9762\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u914d\u7f6e\u65b9\u5f0f\uff1a

                • \u952e\u503c\u5bf9\uff08Key/Value Pair\uff09\uff1a\u5c06\u81ea\u5b9a\u4e49\u7684\u952e\u503c\u5bf9\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf
                • \u8d44\u6e90\u5f15\u7528\uff08Resource\uff09\uff1a\u5c06 Container \u5b9a\u4e49\u7684\u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982\u5bb9\u5668\u7684\u5185\u5b58\u9650\u5236\u3001\u526f\u672c\u6570\u7b49
                • \u53d8\u91cf/\u53d8\u91cf\u5f15\u7528\uff08Pod Field\uff09\uff1a\u5c06 Pod \u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982 Pod \u7684\u540d\u79f0
                • \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\uff08ConfigMap key\uff09\uff1a\u5bfc\u5165\u914d\u7f6e\u9879\u4e2d\u67d0\u4e2a\u952e\u7684\u503c\u4f5c\u4e3a\u67d0\u4e2a\u73af\u5883\u53d8\u91cf\u7684\u503c
                • \u5bc6\u94a5\u952e\u503c\u5bfc\u5165\uff08Secret Key\uff09\uff1a\u4f7f\u7528\u6765\u81ea Secret \u4e2d\u7684\u6570\u636e\u5b9a\u4e49\u73af\u5883\u53d8\u91cf\u7684\u503c
                • \u5bc6\u94a5\u5bfc\u5165\uff08Secret\uff09\uff1a\u5c06 Secret \u4e2d\u7684\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf
                • \u914d\u7f6e\u9879\u5bfc\u5165\uff08ConfigMap\uff09\uff1a\u5c06\u914d\u7f6e\u9879\u4e2d\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf
                "},{"location":"admin/kpanda/workloads/pod-config/health-check.html","title":"\u5bb9\u5668\u7684\u5065\u5eb7\u68c0\u67e5","text":"

                \u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u6839\u636e\u7528\u6237\u9700\u6c42\uff0c\u68c0\u67e5\u5bb9\u5668\u7684\u5065\u5eb7\u72b6\u51b5\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5185\u7684\u5e94\u7528\u7a0b\u5e8f\u5165\u5982\u679c\u5f02\u5e38\uff0c\u5bb9\u5668\u4f1a\u81ea\u52a8\u8fdb\u884c\u91cd\u542f\u6062\u590d\u3002Kubernetes \u63d0\u4f9b\u4e86\u5b58\u6d3b\uff08Liveness\uff09\u68c0\u67e5\u3001\u5c31\u7eea\uff08Readiness\uff09\u68c0\u67e5\u548c\u542f\u52a8\uff08Startup\uff09\u68c0\u67e5\u3002

                • \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09 \u53ef\u63a2\u6d4b\u5230\u5e94\u7528\u6b7b\u9501\uff08\u5e94\u7528\u7a0b\u5e8f\u5728\u8fd0\u884c\uff0c\u4f46\u662f\u65e0\u6cd5\u7ee7\u7eed\u6267\u884c\u540e\u9762\u7684\u6b65\u9aa4\uff09\u60c5\u51b5\u3002 \u91cd\u542f\u8fd9\u79cd\u72b6\u6001\u4e0b\u7684\u5bb9\u5668\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\uff0c\u5373\u4f7f\u5176\u4e2d\u5b58\u5728\u7f3a\u9677\u3002

                • \u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09 \u53ef\u63a2\u77e5\u5bb9\u5668\u4f55\u65f6\u51c6\u5907\u597d\u63a5\u53d7\u8bf7\u6c42\u6d41\u91cf\uff0c\u5f53\u4e00\u4e2a Pod \u5185\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5c31\u7eea\u65f6\uff0c\u624d\u80fd\u8ba4\u4e3a\u8be5 Pod \u5c31\u7eea\u3002 \u8fd9\u79cd\u4fe1\u53f7\u7684\u4e00\u4e2a\u7528\u9014\u5c31\u662f\u63a7\u5236\u54ea\u4e2a Pod \u4f5c\u4e3a Service \u7684\u540e\u7aef\u3002 \u82e5 Pod \u5c1a\u672a\u5c31\u7eea\uff0c\u4f1a\u88ab\u4ece Service \u7684\u8d1f\u8f7d\u5747\u8861\u5668\u4e2d\u5254\u9664\u3002

                • \u542f\u52a8\u68c0\u67e5\uff08StartupProbe\uff09 \u53ef\u4ee5\u4e86\u89e3\u5e94\u7528\u5bb9\u5668\u4f55\u65f6\u542f\u52a8\uff0c\u914d\u7f6e\u540e\uff0c\u53ef\u63a7\u5236\u5bb9\u5668\u5728\u542f\u52a8\u6210\u529f\u540e\u518d\u8fdb\u884c\u5b58\u6d3b\u6027\u548c\u5c31\u7eea\u6001\u68c0\u67e5\uff0c \u786e\u4fdd\u8fd9\u4e9b\u5b58\u6d3b\u3001\u5c31\u7eea\u63a2\u6d4b\u5668\u4e0d\u4f1a\u5f71\u54cd\u5e94\u7528\u7684\u542f\u52a8\u3002 \u542f\u52a8\u63a2\u6d4b\u53ef\u4ee5\u7528\u4e8e\u5bf9\u6162\u542f\u52a8\u5bb9\u5668\u8fdb\u884c\u5b58\u6d3b\u6027\u68c0\u6d4b\uff0c\u907f\u514d\u5b83\u4eec\u5728\u542f\u52a8\u8fd0\u884c\u4e4b\u524d\u5c31\u88ab\u6740\u6389\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/health-check.html#_2","title":"\u5b58\u6d3b\u548c\u5c31\u7eea\u68c0\u67e5","text":"

                \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09\u7684\u914d\u7f6e\u548c\u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09\u7684\u914d\u7f6e\u53c2\u6570\u76f8\u4f3c\uff0c \u552f\u4e00\u533a\u522b\u662f\u8981\u4f7f\u7528 readinessProbe \u5b57\u6bb5\uff0c\u800c\u4e0d\u662f livenessProbe \u5b57\u6bb5\u3002

                HTTP GET \u53c2\u6570\u8bf4\u660e\uff1a

                \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u8def\u5f84\uff08 Path\uff09 \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\u3002\u5982\uff1a \u793a\u4f8b\u4e2d\u7684 /healthz \u8def\u5f84 \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u534f\u8bae \u8bbf\u95ee\u534f\u8bae\uff0cHttp \u6216\u8005Https \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u6210\u529f\u9608\u503c\uff08successThreshold\uff09 \u63a2\u6d4b\u5931\u8d25\u540e\uff0c\u88ab\u89c6\u4e3a\u6210\u529f\u7684\u6700\u5c0f\u8fde\u7eed\u6210\u529f\u6570\u3002\u9ed8\u8ba4\u503c\u662f 1\uff0c\u6700\u5c0f\u503c\u662f 1\u3002\u5b58\u6d3b\u548c\u542f\u52a8\u63a2\u6d4b\u7684\u8fd9\u4e2a\u503c\u5fc5\u987b\u662f 1\u3002 \u6700\u5927\u5931\u8d25\u6b21\u6570\uff08failureThreshold\uff09 \u5f53\u63a2\u6d4b\u5931\u8d25\u65f6\u91cd\u8bd5\u7684\u6b21\u6570\u3002\u5b58\u6d3b\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03\u5c31\u610f\u5473\u7740\u91cd\u65b0\u542f\u52a8\u5bb9\u5668\u3002\u5c31\u7eea\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03 Pod \u4f1a\u88ab\u6253\u4e0a\u672a\u5c31\u7eea\u7684\u6807\u7b7e\u3002\u9ed8\u8ba4\u503c\u662f 3\u3002\u6700\u5c0f\u503c\u662f 1\u3002"},{"location":"admin/kpanda/workloads/pod-config/health-check.html#http-get","title":"\u4f7f\u7528 HTTP GET \u8bf7\u6c42\u68c0\u67e5","text":"

                YAML \u793a\u4f8b\uff1a

                apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-http\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/liveness\n    args:\n    - /server\n    livenessProbe:\n      httpGet:\n        path: /healthz  # \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\n        port: 8080  # \u670d\u52a1\u76d1\u542c\u7aef\u53e3\n        httpHeaders:\n        - name: Custom-Header\n          value: Awesome\n      initialDelaySeconds: 3  # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u5e94\u8be5\u7b49\u5f85 3 \u79d2\n      periodSeconds: 3   #kubelet \u6bcf\u9694 3 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                \u6309\u7167\u8bbe\u5b9a\u7684\u89c4\u5219\uff0cKubelet \u5411\u5bb9\u5668\u5185\u8fd0\u884c\u7684\u670d\u52a1\uff08\u670d\u52a1\u5728\u76d1\u542c 8080 \u7aef\u53e3\uff09\u53d1\u9001\u4e00\u4e2a HTTP GET \u8bf7\u6c42\u6765\u6267\u884c\u63a2\u6d4b\u3002\u5982\u679c\u670d\u52a1\u5668\u4e0a /healthz \u8def\u5f84\u4e0b\u7684\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u6210\u529f\u4ee3\u7801\uff0c\u5219 kubelet \u8ba4\u4e3a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u5931\u8d25\u4ee3\u7801\uff0c\u5219 kubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u5c06\u5176\u91cd\u542f\u3002\u8fd4\u56de\u5927\u4e8e\u6216\u7b49\u4e8e 200 \u5e76\u4e14\u5c0f\u4e8e 400 \u7684\u4efb\u4f55\u4ee3\u7801\u90fd\u6807\u793a\u6210\u529f\uff0c\u5176\u5b83\u8fd4\u56de\u4ee3\u7801\u90fd\u6807\u793a\u5931\u8d25\u3002 \u5bb9\u5668\u5b58\u6d3b\u671f\u95f4\u7684\u6700\u5f00\u59cb 10 \u79d2\u4e2d\uff0c /healthz \u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 200 \u7684\u72b6\u6001\u7801\u3002 \u4e4b\u540e\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 500 \u7684\u72b6\u6001\u7801\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/health-check.html#tcp","title":"\u4f7f\u7528 TCP \u7aef\u53e3\u68c0\u67e5","text":"

                TCP \u7aef\u53e3\u53c2\u6570\u8bf4\u660e\uff1a

                \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002

                \u5bf9\u4e8e\u63d0\u4f9bTCP\u901a\u4fe1\u670d\u52a1\u7684\u5bb9\u5668\uff0c\u57fa\u4e8e\u6b64\u914d\u7f6e\uff0c\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\u96c6\u7fa4\u5bf9\u8be5\u5bb9\u5668\u5efa\u7acbTCP\u8fde\u63a5\uff0c\u5982\u679c\u8fde\u63a5\u6210\u529f\uff0c\u5219\u8bc1\u660e\u63a2\u6d4b\u6210\u529f\uff0c\u5426\u5219\u63a2\u6d4b\u5931\u8d25\u3002\u9009\u62e9TCP\u7aef\u53e3\u63a2\u6d4b\u65b9\u5f0f\uff0c\u5fc5\u987b\u6307\u5b9a\u5bb9\u5668\u76d1\u542c\u7684\u7aef\u53e3\u3002

                YAML \u793a\u4f8b\uff1a

                apiVersion: v1\nkind: Pod\nmetadata:\n  name: goproxy\n  labels:\n    app: goproxy\nspec:\n  containers:\n  - name: goproxy\n    image: k8s.gcr.io/goproxy:0.1\n    ports:\n    - containerPort: 8080\n    readinessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 5\n      periodSeconds: 10\n    livenessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 15\n      periodSeconds: 20\n

                \u6b64\u793a\u4f8b\u540c\u65f6\u4f7f\u7528\u5c31\u7eea\u548c\u5b58\u6d3b\u63a2\u9488\u3002kubelet \u5728\u5bb9\u5668\u542f\u52a8 5 \u79d2\u540e\u53d1\u9001\u7b2c\u4e00\u4e2a\u5c31\u7eea\u63a2\u6d4b\u3002 \u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\uff0c \u5982\u679c\u63a2\u6d4b\u6210\u529f\uff0c\u8fd9\u4e2a Pod \u4f1a\u88ab\u6807\u8bb0\u4e3a\u5c31\u7eea\u72b6\u6001\uff0ckubelet \u5c06\u7ee7\u7eed\u6bcf\u9694 10 \u79d2\u8fd0\u884c\u4e00\u6b21\u68c0\u6d4b\u3002

                \u9664\u4e86\u5c31\u7eea\u63a2\u6d4b\uff0c\u8fd9\u4e2a\u914d\u7f6e\u5305\u62ec\u4e86\u4e00\u4e2a\u5b58\u6d3b\u63a2\u6d4b\u3002 kubelet \u4f1a\u5728\u5bb9\u5668\u542f\u52a8 15 \u79d2\u540e\u8fdb\u884c\u7b2c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\u3002 \u5c31\u7eea\u63a2\u6d4b\u4f1a\u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\u3002 \u5982\u679c\u5b58\u6d3b\u63a2\u6d4b\u5931\u8d25\uff0c\u5bb9\u5668\u4f1a\u88ab\u91cd\u65b0\u542f\u52a8\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/health-check.html#_3","title":"\u6267\u884c\u547d\u4ee4\u68c0\u67e5","text":"

                YAML \u793a\u4f8b:

                apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-exec\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/busybox\n    args:\n    - /bin/sh\n    - -c\n    - touch /tmp/healthy; sleep 30; rm -f /tmp/healthy; sleep 600\n    livenessProbe:\n      exec:\n        command:\n        - cat\n        - /tmp/healthy\n      initialDelaySeconds: 5 # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\n      periodSeconds: 5  #kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                periodSeconds \u5b57\u6bb5\u6307\u5b9a\u4e86 kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\uff0c initialDelaySeconds \u5b57\u6bb5\u6307\u5b9a kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\u3002\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\uff0c\u96c6\u7fa4\u5468\u671f\u6027\u7684\u901a\u8fc7 kubelet \u5728\u5bb9\u5668\u5185\u6267\u884c\u547d\u4ee4 cat /tmp/healthy \u6765\u8fdb\u884c\u63a2\u6d4b\u3002 \u5982\u679c\u547d\u4ee4\u6267\u884c\u6210\u529f\u5e76\u4e14\u8fd4\u56de\u503c\u4e3a 0\uff0ckubelet \u5c31\u4f1a\u8ba4\u4e3a\u8fd9\u4e2a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u8fd9\u4e2a\u547d\u4ee4\u8fd4\u56de\u975e 0 \u503c\uff0ckubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u91cd\u65b0\u542f\u52a8\u5b83\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/health-check.html#_4","title":"\u4f7f\u7528\u542f\u52a8\u524d\u68c0\u67e5\u4fdd\u62a4\u6162\u542f\u52a8\u5bb9\u5668","text":"

                \u6709\u4e9b\u5e94\u7528\u5728\u542f\u52a8\u65f6\u9700\u8981\u8f83\u957f\u7684\u521d\u59cb\u5316\u65f6\u95f4\uff0c\u9700\u8981\u4f7f\u7528\u76f8\u540c\u7684\u547d\u4ee4\u6765\u8bbe\u7f6e\u542f\u52a8\u63a2\u6d4b\uff0c\u9488\u5bf9 HTTP \u6216 TCP \u68c0\u6d4b\uff0c\u53ef\u4ee5\u901a\u8fc7\u5c06 failureThreshold * periodSeconds \u53c2\u6570\u8bbe\u7f6e\u4e3a\u8db3\u591f\u957f\u7684\u65f6\u95f4\u6765\u5e94\u5bf9\u542f\u52a8\u9700\u8981\u8f83\u957f\u65f6\u95f4\u7684\u573a\u666f\u3002

                YAML \u793a\u4f8b\uff1a

                ports:\n- name: liveness-port\n  containerPort: 8080\n  hostPort: 8080\n\nlivenessProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 1\n  periodSeconds: 10\n\nstartupProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 30\n  periodSeconds: 10\n

                \u5982\u4e0a\u8bbe\u7f6e\uff0c\u5e94\u7528\u5c06\u6709\u6700\u591a 5 \u5206\u949f\uff0830 * 10 = 300s\uff09\u7684\u65f6\u95f4\u6765\u5b8c\u6210\u542f\u52a8\u8fc7\u7a0b\uff0c \u4e00\u65e6\u542f\u52a8\u63a2\u6d4b\u6210\u529f\uff0c\u5b58\u6d3b\u63a2\u6d4b\u4efb\u52a1\u5c31\u4f1a\u63a5\u7ba1\u5bf9\u5bb9\u5668\u7684\u63a2\u6d4b\uff0c\u5bf9\u5bb9\u5668\u6b7b\u9501\u4f5c\u51fa\u5feb\u901f\u54cd\u5e94\u3002 \u5982\u679c\u542f\u52a8\u63a2\u6d4b\u4e00\u76f4\u6ca1\u6709\u6210\u529f\uff0c\u5bb9\u5668\u4f1a\u5728 300 \u79d2\u540e\u88ab\u6740\u6b7b\uff0c\u5e76\u4e14\u6839\u636e restartPolicy \u6765 \u6267\u884c\u8fdb\u4e00\u6b65\u5904\u7f6e\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/job-parameters.html","title":"\u4efb\u52a1\u53c2\u6570\u8bf4\u660e","text":"

                \u6839\u636e .spec.completions \u548c .spec.Parallelism \u7684\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u5c06\u4efb\u52a1\uff08Job\uff09\u5212\u5206\u4e3a\u4ee5\u4e0b\u51e0\u79cd\u7c7b\u578b:

                Job \u7c7b\u578b \u8bf4\u660e \u975e\u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176 Job \u6210\u529f\u7ed3\u675f \u5177\u6709\u786e\u5b9a\u5b8c\u6210\u8ba1\u6570\u7684\u5e76\u884c Job \u5f53\u6210\u529f\u7684 Pod \u4e2a\u6570\u8fbe\u5230 .spec.completions \u65f6\uff0cJob \u88ab\u89c6\u4e3a\u5b8c\u6210 \u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod \u76f4\u81f3\u6709\u4e00\u4e2a\u6210\u529f\u7ed3\u675f

                \u53c2\u6570\u8bf4\u660e

                RestartPolicy \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176\u6210\u529f\u7ed3\u675f .spec.completions \u8868\u793a Job \u7ed3\u675f\u9700\u8981\u6210\u529f\u8fd0\u884c\u7684 Pod \u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 .spec.parallelism \u8868\u793a\u5e76\u884c\u8fd0\u884c\u7684 Pod \u7684\u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 spec.backoffLimit \u8868\u793a\u5931\u8d25 Pod \u7684\u91cd\u8bd5\u6700\u5927\u6b21\u6570\uff0c\u8d85\u8fc7\u8fd9\u4e2a\u6b21\u6570\u4e0d\u4f1a\u7ee7\u7eed\u91cd\u8bd5\u3002 .spec.activeDeadlineSeconds \u8868\u793a Pod \u8fd0\u884c\u65f6\u95f4\uff0c\u4e00\u65e6\u8fbe\u5230\u8fd9\u4e2a\u65f6\u95f4\uff0cJob \u5373\u5176\u6240\u6709\u7684 Pod \u90fd\u4f1a\u505c\u6b62\u3002\u4e14activeDeadlineSeconds \u4f18\u5148\u7ea7\u9ad8\u4e8e backoffLimit\uff0c\u5373\u5230\u8fbe activeDeadlineSeconds \u7684 Job \u4f1a\u5ffd\u7565backoffLimit \u7684\u8bbe\u7f6e\u3002

                \u4ee5\u4e0b\u662f\u4e00\u4e2a Job \u914d\u7f6e\u793a\u4f8b\uff0c\u4fdd\u5b58\u5728 myjob.yaml \u4e2d\uff0c\u5176\u8ba1\u7b97 \u03c0 \u5230 2000 \u4f4d\u5e76\u6253\u5370\u8f93\u51fa\u3002

                apiVersion: batch/v1\nkind: Job            #\u5f53\u524d\u8d44\u6e90\u7684\u7c7b\u578b\nmetadata:\n  name: myjob\nspec:\n  completions: 50        # Job\u7ed3\u675f\u9700\u8981\u8fd0\u884c50\u4e2aPod\uff0c\u8fd9\u4e2a\u793a\u4f8b\u4e2d\u5c31\u662f\u6253\u5370\u03c0 50\u6b21\n  parallelism: 5        # \u5e76\u884c5\u4e2aPod\n  backoffLimit: 5        # \u6700\u591a\u91cd\u8bd55\u6b21\n  template:\n    spec:\n      containers:\n      - name: pi\n        image: perl\n        command: [\"perl\",  \"-Mbignum=bpi\", \"-wle\", \"print bpi(2000)\"]\n      restartPolicy: Never #\u91cd\u542f\u7b56\u7565\n

                \u76f8\u5173\u547d\u4ee4

                kubectl apply -f myjob.yaml  #\u542f\u52a8 job\nkubectl get job #\u67e5\u770b\u8fd9\u4e2ajob\nkubectl logs myjob-1122dswzs \u67e5\u770bJob Pod \u7684\u65e5\u5fd7\n
                "},{"location":"admin/kpanda/workloads/pod-config/lifecycle.html","title":"\u914d\u7f6e\u5bb9\u5668\u751f\u547d\u5468\u671f","text":"

                Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c Pod \u5185\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \u72b6\u6001\u3002\u5982\u679c Pod \u4e2d\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\uff0c\u5219\u72b6\u6001\u53d8\u4e3a Failed \u3002\u4ee5\u4e0b phase \u5b57\u6bb5\u503c\u8868\u660e\u4e86\u4e00\u4e2a Pod \u5904\u4e8e\u751f\u547d\u5468\u671f\u7684\u54ea\u4e2a\u9636\u6bb5\u3002

                \u503c \u63cf\u8ff0 Pending \uff08\u60ac\u51b3\uff09 Pod \u5df2\u88ab\u7cfb\u7edf\u63a5\u53d7\uff0c\u4f46\u6709\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u5bb9\u5668\u5c1a\u672a\u521b\u5efa\u4ea6\u672a\u8fd0\u884c\u3002\u8fd9\u4e2a\u9636\u6bb5\u5305\u62ec\u7b49\u5f85 Pod \u88ab\u8c03\u5ea6\u7684\u65f6\u95f4\u548c\u901a\u8fc7\u7f51\u7edc\u4e0b\u8f7d\u955c\u50cf\u7684\u65f6\u95f4\u3002 Running \uff08\u8fd0\u884c\u4e2d\uff09 Pod \u5df2\u7ecf\u7ed1\u5b9a\u5230\u4e86\u67d0\u4e2a\u8282\u70b9\uff0cPod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u88ab\u521b\u5efa\u3002\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u4ecd\u5728\u8fd0\u884c\uff0c\u6216\u8005\u6b63\u5904\u4e8e\u542f\u52a8\u6216\u91cd\u542f\u72b6\u6001\u3002 Succeeded \uff08\u6210\u529f\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u6210\u529f\u7ec8\u6b62\uff0c\u5e76\u4e14\u4e0d\u4f1a\u518d\u91cd\u542f\u3002 Failed \uff08\u5931\u8d25\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u7ec8\u6b62\uff0c\u5e76\u4e14\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u662f\u56e0\u4e3a\u5931\u8d25\u800c\u7ec8\u6b62\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u5bb9\u5668\u4ee5\u975e 0 \u72b6\u6001\u9000\u51fa\u6216\u8005\u88ab\u7cfb\u7edf\u7ec8\u6b62\u3002 Unknown \uff08\u672a\u77e5\uff09 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\uff0c\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u6240\u81f4\u3002

                \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u4e2d\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u901a\u5e38\u4f7f\u7528\u955c\u50cf\u6765\u6307\u5b9a\u5bb9\u5668\u4e2d\u7684\u8fd0\u884c\u73af\u5883\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5728\u6784\u5efa\u955c\u50cf\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 Entrypoint \u548c CMD \u4e24\u4e2a\u5b57\u6bb5\u6765\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u65f6\u6267\u884c\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002\u5982\u679c\u9700\u8981\u66f4\u6539\u5bb9\u5668\u955c\u50cf\u542f\u52a8\u524d\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u7684\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u5bb9\u5668\u7684\u751f\u547d\u5468\u671f\u4e8b\u4ef6\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u6765\u8986\u76d6\u955c\u50cf\u4e2d\u9ed8\u8ba4\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/lifecycle.html#_2","title":"\u751f\u547d\u5468\u671f\u914d\u7f6e","text":"

                \u6839\u636e\u4e1a\u52a1\u9700\u8981\u5bf9\u5bb9\u5668\u7684\u542f\u52a8\u547d\u4ee4\u3001\u542f\u52a8\u540e\u547d\u4ee4\u3001\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u542f\u52a8\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5c06\u6309\u7167\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u542f\u52a8\u3002 \u542f\u52a8\u540e\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u542f\u52a8\u540e\u51fa\u53d1\u7684\u547d\u4ee4 \u505c\u6b62\u524d\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5728\u6536\u5230\u505c\u6b62\u547d\u4ee4\u540e\u6267\u884c\u7684\u547d\u4ee4\u3002\u786e\u4fdd\u5347\u7ea7\u6216\u5b9e\u4f8b\u5220\u9664\u65f6\u53ef\u63d0\u524d\u5c06\u5b9e\u4f8b\u4e2d\u8fd0\u884c\u7684\u4e1a\u52a1\u6392\u6c34\u3002 --"},{"location":"admin/kpanda/workloads/pod-config/lifecycle.html#_3","title":"\u542f\u52a8\u547d\u4ee4","text":"

                \u6839\u636e\u4e0b\u8868\u5bf9\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"admin/kpanda/workloads/pod-config/lifecycle.html#_4","title":"\u542f\u52a8\u540e\u547d\u4ee4","text":"

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u542f\u52a8\u540e\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                \u547d\u4ee4\u884c\u811a\u672c\u914d\u7f6e

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"admin/kpanda/workloads/pod-config/lifecycle.html#_5","title":"\u505c\u6b62\u524d\u547d\u4ee4","text":"

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                HTTP \u8bf7\u6c42\u914d\u7f6e

                \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c URL \u8def\u5f84 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684URL\u8def\u5f84\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u7aef\u53e3 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684\u7aef\u53e3\u3002 port=8080 \u8282\u70b9\u5730\u5740 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684 IP \u5730\u5740\uff0c\u9ed8\u8ba4\u662f\u5bb9\u5668\u6240\u5728\u7684\u8282\u70b9 IP\u3002 --"},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8282\u70b9\u4e5f\u6709\u6807\u7b7e\u3002\u60a8\u53ef\u4ee5\u624b\u52a8\u6dfb\u52a0\u6807\u7b7e\u3002 Kubernetes \u4e5f\u4f1a\u4e3a\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u6dfb\u52a0\u4e00\u4e9b\u6807\u51c6\u7684\u6807\u7b7e\u3002\u53c2\u89c1\u5e38\u7528\u7684\u6807\u7b7e\u3001\u6ce8\u89e3\u548c\u6c61\u70b9\u4ee5\u4e86\u89e3\u5e38\u89c1\u7684\u8282\u70b9\u6807\u7b7e\u3002\u901a\u8fc7\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u60a8\u53ef\u4ee5\u8ba9 Pod \u8c03\u5ea6\u5230\u7279\u5b9a\u8282\u70b9\u6216\u8282\u70b9\u7ec4\u4e0a\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u529f\u80fd\u6765\u786e\u4fdd\u7279\u5b9a\u7684 Pod \u53ea\u80fd\u8fd0\u884c\u5728\u5177\u6709\u4e00\u5b9a\u9694\u79bb\u6027\uff0c\u5b89\u5168\u6027\u6216\u76d1\u7ba1\u5c5e\u6027\u7684\u8282\u70b9\u4e0a\u3002

                nodeSelector \u662f\u8282\u70b9\u9009\u62e9\u7ea6\u675f\u7684\u6700\u7b80\u5355\u63a8\u8350\u5f62\u5f0f\u3002\u60a8\u53ef\u4ee5\u5c06 nodeSelector \u5b57\u6bb5\u6dfb\u52a0\u5230 Pod \u7684\u89c4\u7ea6\u4e2d\u8bbe\u7f6e\u60a8\u5e0c\u671b\u76ee\u6807\u8282\u70b9\u6240\u5177\u6709\u7684\u8282\u70b9\u6807\u7b7e\u3002Kubernetes \u53ea\u4f1a\u5c06 Pod \u8c03\u5ea6\u5230\u62e5\u6709\u6307\u5b9a\u6bcf\u4e2a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002 nodeSelector \u63d0\u4f9b\u4e86\u4e00\u79cd\u6700\u7b80\u5355\u7684\u65b9\u6cd5\u6765\u5c06 Pod \u7ea6\u675f\u5230\u5177\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002\u4eb2\u548c\u6027\u548c\u53cd\u4eb2\u548c\u6027\u6269\u5c55\u4e86\u60a8\u53ef\u4ee5\u5b9a\u4e49\u7684\u7ea6\u675f\u7c7b\u578b\u3002\u4f7f\u7528\u4eb2\u548c\u6027\u4e0e\u53cd\u4eb2\u548c\u6027\u7684\u4e00\u4e9b\u597d\u5904\u6709\uff1a

                • \u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u8bed\u8a00\u7684\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002 nodeSelector \u53ea\u80fd\u9009\u62e9\u62e5\u6709\u6240\u6709\u6307\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u3002\u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u4e3a\u60a8\u63d0\u4f9b\u5bf9\u9009\u62e9\u903b\u8f91\u7684\u66f4\u5f3a\u63a7\u5236\u80fd\u529b\u3002

                • \u60a8\u53ef\u4ee5\u6807\u660e\u67d0\u89c4\u5219\u662f\u201c\u8f6f\u9700\u6c42\u201d\u6216\u8005\u201c\u504f\u597d\u201d\uff0c\u8fd9\u6837\u8c03\u5ea6\u5668\u5728\u65e0\u6cd5\u627e\u5230\u5339\u914d\u8282\u70b9\u65f6\uff0c\u4f1a\u5ffd\u7565\u4eb2\u548c\u6027/\u53cd\u4eb2\u548c\u6027\u89c4\u5219\uff0c\u786e\u4fdd Pod \u8c03\u5ea6\u6210\u529f\u3002

                • \u60a8\u53ef\u4ee5\u4f7f\u7528\u8282\u70b9\u4e0a\uff08\u6216\u5176\u4ed6\u62d3\u6251\u57df\u4e2d\uff09\u8fd0\u884c\u7684\u5176\u4ed6 Pod \u7684\u6807\u7b7e\u6765\u5b9e\u65bd\u8c03\u5ea6\u7ea6\u675f\uff0c\u800c\u4e0d\u662f\u53ea\u80fd\u4f7f\u7528\u8282\u70b9\u672c\u8eab\u7684\u6807\u7b7e\u3002\u8fd9\u4e2a\u80fd\u529b\u8ba9\u60a8\u80fd\u591f\u5b9a\u4e49\u89c4\u5219\u5141\u8bb8\u54ea\u4e9b Pod \u53ef\u4ee5\u88ab\u653e\u7f6e\u5728\u4e00\u8d77\u3002

                \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u4eb2\u548c\uff08affinity\uff09\u4e0e\u53cd\u4eb2\u548c\uff08anti-affinity\uff09\u6765\u9009\u62e9 Pod \u8981\u90e8\u7f72\u7684\u8282\u70b9\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_2","title":"\u5bb9\u5fcd\u65f6\u95f4","text":"

                \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u7cfb\u7edf\u5c06\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\u7a97\u3002\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#nodeaffinity","title":"\u8282\u70b9\u4eb2\u548c\u6027\uff08nodeAffinity\uff09","text":"

                \u8282\u70b9\u4eb2\u548c\u6027\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u5b83\u4f7f\u60a8\u53ef\u4ee5\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002 \u8282\u70b9\u4eb2\u548c\u6027\u6709\u4e24\u79cd\uff1a

                • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_3","title":"\u6807\u7b7e\u540d","text":"

                \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_4","title":"\u64cd\u4f5c\u7b26","text":"
                • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                • Gt\uff1a\u6807\u7b7e\u7684\u503c\u5927\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                • Lt\uff1a\u6807\u7b7e\u7684\u503c\u5c0f\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_5","title":"\u6743\u91cd","text":"

                \u4ec5\u652f\u6301\u5728\u201c\u5c3d\u91cf\u6ee1\u8db3\u201d\u7b56\u7565\u4e2d\u6dfb\u52a0\uff0c\u53ef\u4ee5\u7406\u89e3\u4e3a\u8c03\u5ea6\u7684\u4f18\u5148\u7ea7\uff0c\u6743\u91cd\u5927\u7684\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u53d6\u503c\u8303\u56f4\u662f 1 \u5230 100\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_6","title":"\u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027","text":"

                \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                \u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u53ef\u4ee5\u548c\u54ea\u4e9b Pod\u90e8 \u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e\u76f8\u4e92\u901a\u4fe1\u7684\u670d\u52a1\uff0c\u53ef\u901a\u8fc7\u5e94\u7528\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u5c06\u5176\u90e8\u7f72\u5230\u540c\u4e00\u62d3\u6251\u57df\uff08\u5982\u540c\u4e00\u53ef\u7528\u533a\uff09\u4e2d\uff0c\u51cf\u5c11\u5b83\u4eec\u4e4b\u95f4\u7684\u7f51\u7edc\u5ef6\u8fdf\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_7","title":"\u6807\u7b7e\u540d","text":"

                \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_8","title":"\u547d\u540d\u7a7a\u95f4","text":"

                \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_9","title":"\u64cd\u4f5c\u7b26","text":"
                • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_10","title":"\u62d3\u6251\u57df","text":"

                \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_11","title":"\u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027","text":"

                \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                \u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u4e0d\u53ef\u4ee5\u548c\u54ea\u4e9b Pod \u90e8\u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5c06\u4e00\u4e2a\u8d1f\u8f7d\u7684\u76f8\u540c Pod \u5206\u6563\u90e8\u7f72\u5230\u4e0d\u540c\u7684\u62d3\u6251\u57df\uff08\u4f8b\u5982\u4e0d\u540c\u4e3b\u673a\uff09\u4e2d\uff0c\u63d0\u9ad8\u8d1f\u8f7d\u672c\u8eab\u7684\u7a33\u5b9a\u6027\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_12","title":"\u6807\u7b7e\u540d","text":"

                \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_13","title":"\u547d\u540d\u7a7a\u95f4","text":"

                \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_14","title":"\u64cd\u4f5c\u7b26","text":"
                • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_15","title":"\u62d3\u6251\u57df","text":"

                \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/workload-status.html","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                \u5de5\u4f5c\u8d1f\u8f7d\u662f\u8fd0\u884c\u5728 Kubernetes \u4e0a\u7684\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c\u5728 Kubernetes \u4e2d\uff0c\u65e0\u8bba\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u662f\u7531\u5355\u4e2a\u540c\u4e00\u7ec4\u4ef6\u6216\u662f\u7531\u591a\u4e2a\u4e0d\u540c\u7684\u7ec4\u4ef6\u6784\u6210\uff0c\u90fd\u53ef\u4ee5\u4f7f\u7528\u4e00\u7ec4 Pod \u6765\u8fd0\u884c\u5b83\u3002Kubernetes \u63d0\u4f9b\u4e86\u4e94\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u7ba1\u7406 Pod\uff1a

                • \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                • \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                • \u5b88\u62a4\u8fdb\u7a0b
                • \u4efb\u52a1
                • \u5b9a\u65f6\u4efb\u52a1

                \u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u8d44\u6e90 CRD \u6765\u5b9e\u73b0\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u7684\u6269\u5c55\u3002\u5728\u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u4e2d\uff0c\u652f\u6301\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u521b\u5efa\u3001\u66f4\u65b0\u3001\u6269\u5bb9\u3001\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5220\u9664\u3001\u7248\u672c\u7ba1\u7406\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/workload-status.html#pod","title":"Pod \u72b6\u6001","text":"

                Pod \u662f Kuberneters \u4e2d\u521b\u5efa\u548c\u7ba1\u7406\u7684\u3001\u6700\u5c0f\u7684\u8ba1\u7b97\u5355\u5143\uff0c\u5373\u4e00\u7ec4\u5bb9\u5668\u7684\u96c6\u5408\u3002\u8fd9\u4e9b\u5bb9\u5668\u5171\u4eab\u5b58\u50a8\u3001\u7f51\u7edc\u4ee5\u53ca\u7ba1\u7406\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u65b9\u5f0f\u7684\u7b56\u7565\u3002 Pod \u901a\u5e38\u4e0d\u7531\u7528\u6237\u76f4\u63a5\u521b\u5efa\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u521b\u5efa\u3002 Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c\u81f3\u5c11\u5176\u4e2d\u6709\u4e00\u4e2a\u4e3b\u8981\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \uff0c\u4e4b\u540e\u53d6\u51b3\u4e8e Pod \u4e2d\u662f\u5426\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\u800c\u8fdb\u5165 Succeeded \u6216\u8005 Failed \u9636\u6bb5\u3002

                "},{"location":"admin/kpanda/workloads/pod-config/workload-status.html#_2","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                \u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4f9d\u636e Pod \u7684\u72b6\u6001\u3001\u526f\u672c\u6570\u7b49\u56e0\u7d20\uff0c\u8bbe\u8ba1\u4e86\u4e00\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u751f\u547d\u5468\u671f\u7684\u72b6\u6001\u96c6\uff0c\u4ee5\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u771f\u5b9e\u7684\u611f\u77e5\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u60c5\u51b5\u3002 \u7531\u4e8e\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\uff08\u6bd4\u5982\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u548c\u4efb\u52a1\uff09\u5bf9 Pod \u7684\u7ba1\u7406\u673a\u5236\u4e0d\u4e00\u81f4\uff0c\u56e0\u6b64\uff0c\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u4f1a\u5448\u73b0\u4e0d\u540c\u7684\u751f\u547d\u5468\u671f\u72b6\u6001\uff0c\u5177\u4f53\u5982\u4e0b\u8868\uff1a

                "},{"location":"admin/kpanda/workloads/pod-config/workload-status.html#_3","title":"\u65e0\u72b6\u6001\u8d1f\u8f7d\u3001\u6709\u72b6\u6001\u8d1f\u8f7d\u3001\u5b88\u62a4\u8fdb\u7a0b\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d 1. \u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30022. \u89e6\u53d1\u5347\u7ea7\u6216\u8005\u56de\u6eda\u52a8\u4f5c\u540e\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30023. \u89e6\u53d1\u6682\u505c/\u6269\u7f29\u5bb9\u7b49\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u8fd0\u884c\u4e2d \u8d1f\u8f7d\u4e0b\u7684\u6240\u6709\u5b9e\u4f8b\u90fd\u5728\u8fd0\u884c\u4e2d\u4e14\u526f\u672c\u6570\u4e0e\u7528\u6237\u9884\u5b9a\u4e49\u7684\u6570\u91cf\u4e00\u81f4\u65f6\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u6267\u884c\u5220\u9664\u64cd\u4f5c\u65f6\uff0c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\uff0c\u76f4\u5230\u5220\u9664\u5b8c\u6210\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97\u5de5\u4f5c\u8d1f\u8f7d\u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002 \u672a\u5c31\u7eea \u5bb9\u5668\u5904\u4e8e\u5f02\u5e38\uff0cpending \u72b6\u6001\u65f6\uff0c\u56e0\u672a\u77e5\u9519\u8bef\u5bfc\u81f4\u8d1f\u8f7d\u65e0\u6cd5\u542f\u52a8\u65f6\u663e\u793a\u6b64\u72b6\u6001"},{"location":"admin/kpanda/workloads/pod-config/workload-status.html#_4","title":"\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u4e2d \u4efb\u52a1\u6b63\u5728\u6267\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u5b8c\u6210 \u4efb\u52a1\u6267\u884c\u5b8c\u6210\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002"},{"location":"admin/kpanda/workloads/pod-config/workload-status.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u5b9a\u65f6\u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u542f\u52a8 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u6210\u529f\u540e\uff0c\u6b63\u5e38\u8fd0\u884c\u6216\u5c06\u5df2\u6682\u505c\u7684\u4efb\u52a1\u542f\u52a8\u65f6\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u505c\u6b62 \u6267\u884c\u505c\u6b62\u4efb\u52a1\u64cd\u4f5c\u65f6\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u5728\u6b64\u72b6\u6001\u3002

                \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u5f02\u5e38\u6216\u672a\u5c31\u7eea\u72b6\u6001\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5c06\u9f20\u6807\u79fb\u52a8\u5230\u8d1f\u8f7d\u7684\u72b6\u6001\u503c\u4e0a\uff0c\u7cfb\u7edf\u5c06\u901a\u8fc7\u63d0\u793a\u6846\u5c55\u793a\u66f4\u52a0\u8be6\u7ec6\u7684\u9519\u8bef\u4fe1\u606f\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u67e5\u770b\u65e5\u5fd7\u6216\u4e8b\u4ef6\u6765\u83b7\u53d6\u5de5\u4f5c\u8d1f\u8f7d\u7684\u76f8\u5173\u8fd0\u884c\u4fe1\u606f\u3002

                "},{"location":"admin/register/index.html","title":"\u7528\u6237\u6ce8\u518c","text":"

                \u65b0\u7528\u6237\u9996\u6b21\u4f7f\u7528 AI \u7b97\u529b\u5e73\u53f0\u9700\u8981\u8fdb\u884c\u6ce8\u518c\u3002

                "},{"location":"admin/register/index.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                • \u5df2\u5f00\u542f\u90ae\u7bb1\u6ce8\u518c\u529f\u80fd
                • \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u90ae\u7bb1
                "},{"location":"admin/register/index.html#_3","title":"\u90ae\u7bb1\u6ce8\u518c\u6b65\u9aa4","text":"
                1. \u6253\u5f00 AI \u7b97\u529b\u5e73\u53f0\u9996\u9875 https://ai.isuanova.com/\uff0c\u70b9\u51fb \u6ce8\u518c

                2. \u952e\u5165\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u90ae\u7bb1\u540e\u70b9\u51fb \u6ce8\u518c

                3. \u7cfb\u7edf\u63d0\u793a\u53d1\u9001\u4e86\u4e00\u5c01\u90ae\u4ef6\u5230\u60a8\u7684\u90ae\u7bb1\u3002

                4. \u767b\u5f55\u81ea\u5df1\u7684\u90ae\u7bb1\uff0c\u627e\u5230\u90ae\u4ef6\uff0c\u70b9\u51fb\u94fe\u63a5\u3002

                5. \u606d\u559c\uff0c\u60a8\u6210\u529f\u8fdb\u5165\u4e86 AI \u7b97\u529b\u5e73\u53f0\uff0c\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u60a8\u7684 AI \u4e4b\u65c5\u4e86\u3002

                \u4e0b\u4e00\u6b65\uff1a\u4e3a\u7528\u6237\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4

                "},{"location":"admin/register/bindws.html","title":"\u4e3a\u7528\u6237\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4","text":"

                \u7528\u6237\u6210\u529f\u6ce8\u518c\u4e4b\u540e\uff0c\u9700\u8981\u4e3a\u5176\u7ed1\u5b9a\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002

                "},{"location":"admin/register/bindws.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                • \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u7ba1\u7406\u5458\u8d26\u53f7
                "},{"location":"admin/register/bindws.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                2. \u5bfc\u822a\u5207\u6362\u81f3 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \uff0c\u70b9\u51fb \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4

                3. \u8f93\u5165\u540d\u79f0\uff0c\u9009\u62e9\u6587\u4ef6\u5939\u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4

                4. \u7ed9\u5de5\u4f5c\u7a7a\u95f4\u7ed1\u5b9a\u8d44\u6e90

                  \u53ef\u4ee5\u5728\u8fd9\u4e2a\u754c\u9762\u4e0a\u70b9\u51fb \u521b\u5efa\u96c6\u7fa4-\u547d\u540d\u7a7a\u95f4 \u6765\u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                5. \u6dfb\u52a0\u6388\u6743\uff1a\u5c06\u7528\u6237\u5206\u914d\u81f3\u5de5\u4f5c\u7a7a\u95f4

                6. \u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u67e5\u770b\u662f\u5426\u5177\u6709\u5de5\u4f5c\u7a7a\u95f4\u53ca\u547d\u540d\u7a7a\u95f4\u7684\u6743\u9650\u3002 \u7ba1\u7406\u5458\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

                \u4e0b\u4e00\u6b65\uff1a\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90

                "},{"location":"admin/register/wsres.html","title":"\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90","text":"

                \u5c06\u7528\u6237\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\u540e\uff0c\u9700\u8981\u7ed9\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u5408\u9002\u7684\u8d44\u6e90\u3002

                "},{"location":"admin/register/wsres.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                • \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u7ba1\u7406\u5458\u8d26\u53f7
                • \u5de5\u4f5c\u7a7a\u95f4\u5df2\u521b\u5efa\u4e14\u7ed1\u5b9a\u4e86\u547d\u540d\u7a7a\u95f4
                "},{"location":"admin/register/wsres.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                2. \u5bfc\u822a\u5230 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\uff0c\u627e\u5230\u8981\u6dfb\u52a0\u8d44\u6e90\u7684\u5de5\u4f5c\u7a7a\u95f4\uff0c\u70b9\u51fb \u65b0\u589e\u5171\u4eab\u8d44\u6e90

                3. \u9009\u62e9\u96c6\u7fa4\uff0c\u8bbe\u7f6e\u5408\u9002\u7684\u8d44\u6e90\u914d\u989d\u540e\uff0c\u70b9\u51fb \u786e\u5b9a

                4. \u8fd4\u56de\u5171\u4eab\u8d44\u6e90\u9875\uff0c\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u6210\u529f\u5206\u914d\u4e86\u8d44\u6e90\uff0c\u7ba1\u7406\u5458\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u968f\u65f6\u4fee\u6539\u3002

                \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa\u4e91\u4e3b\u673a

                "},{"location":"admin/security/index.html","title":"\u4e91\u539f\u751f\u5b89\u5168","text":"

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9488\u5bf9\u5bb9\u5668\u3001Pod\u3001\u955c\u50cf\u3001\u8fd0\u884c\u65f6\u3001\u5fae\u670d\u52a1\u63d0\u4f9b\u4e86\u5168\u9762\u81ea\u52a8\u5316\u7684\u5b89\u5168\u5b9e\u73b0\u3002 \u4e0b\u8868\u5217\u51fa\u4e86\u4e00\u4e9b\u5df2\u5b9e\u73b0\u6216\u6b63\u5728\u5b9e\u73b0\u4e2d\u7684\u5b89\u5168\u7279\u6027\u3002

                \u5b89\u5168\u7279\u6027 \u7ec6\u76ee \u63cf\u8ff0 \u955c\u50cf\u5b89\u5168 \u53ef\u4fe1\u955c\u50cf\u5206\u53d1 \u4e3a\u5b9e\u73b0\u955c\u50cf\u7684\u5b89\u5168\u4f20\u8f93\uff0c\u9700\u5177\u5907\u5bc6\u94a5\u5bf9\u548c\u7b7e\u540d\u4fe1\u606f\uff0c\u4fdd\u8bc1\u4f20\u8f93\u5b89\u5168\u3002\u5728\u4f20\u8f93\u955c\u50cf\u65f6\u5177\u5907\u9009\u62e9\u5bc6\u94a5\u8fdb\u884c\u955c\u50cf\u7b7e\u540d\u80fd\u529b\u3002 \u8fd0\u884c\u65f6\u5b89\u5168 \u4e8b\u4ef6\u5173\u8054\u5206\u6790 \u652f\u6301\u5bf9\u8fd0\u884c\u65f6\u68c0\u6d4b\u51fa\u7684\u5b89\u5168\u4e8b\u4ef6\u505a\u5173\u8054\u4e0e\u98ce\u9669\u5206\u6790\uff0c\u589e\u52a0\u653b\u51fb\u6eaf\u6e90\u80fd\u529b\uff0c\u6536\u655b\u544a\u8b66\uff0c\u964d\u4f4e\u65e0\u6548\u544a\u8b66\uff0c\u63d0\u9ad8\u4e8b\u4ef6\u54cd\u5e94\u6548\u7387\u3002 - \u5bb9\u5668\u8bf1\u9975\u4ed3\u5e93 \u5177\u5907\u5bb9\u5668\u8bf1\u9975\u4ed3\u5e93\uff0c\u5e38\u89c1\u8bf1\u9975\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u672a\u6388\u6743\u8bbf\u95ee\u6f0f\u6d1e\u3001\u4ee3\u7801\u6267\u884c\u6f0f\u6d1e\u3001\u672c\u5730\u6587\u4ef6\u8bfb\u53d6\u6f0f\u6d1e\u3001\u8fdc\u7a0b\u547d\u4ee4\u6267\u884c RCE \u6f0f\u6d1e\u7b49\u5bb9\u5668\u8bf1\u9975\u3002 - \u5bb9\u5668\u8bf1\u9975\u90e8\u7f72 \u652f\u6301\u81ea\u5b9a\u4e49\u65b0\u589e\u8bf1\u9975\u5bb9\u5668\uff0c\u53ef\u4ee5\u81ea\u5b9a\u4e49\u670d\u52a1\u540d\u79f0\u3001\u670d\u52a1\u4f4d\u7f6e\u7b49\u3002 - \u5bb9\u5668\u8bf1\u9975\u544a\u8b66 \u652f\u6301\u5bf9\u5bb9\u5668\u8bf1\u9975\u4e2d\u53ef\u7591\u884c\u4e3a\u8fdb\u884c\u544a\u8b66\u3002 - \u504f\u79fb\u68c0\u6d4b \u5728\u626b\u63cf\u955c\u50cf\u540c\u65f6\uff0c\u5b66\u4e60\u955c\u50cf\u4e2d\u5168\u90e8\u4e8c\u8fdb\u5236\u6587\u4ef6\u4fe1\u606f\uff0c\u5e76\u5f62\u6210\u201c\u767d\u540d\u5355\u201d\uff0c\u5bb9\u5668\u4e0a\u7ebf\u540e\u4ec5\u5141\u8bb8\u201c\u767d\u540d\u5355\u201d\u4e2d\u4e8c\u8fdb\u5236\u6587\u4ef6\u8fd0\u884c\uff0c\u786e\u4fdd\u5bb9\u5668\u5185\u4e0d\u80fd\u8fd0\u884c\u4e0d\u6388\u4fe1\uff08\u5982\u975e\u6cd5\u4e0b\u8f7d\uff09\u7684\u53ef\u6267\u884c\u6587\u4ef6\u3002 \u5fae\u9694\u79bb \u9694\u79bb\u7b56\u7565\u667a\u80fd\u63a8\u8350 \u652f\u6301\u8bb0\u5f55\u8d44\u6e90\u5386\u53f2\u8bbf\u95ee\u6d41\u91cf\uff0c\u5e76\u5728\u5bf9\u8d44\u6e90\u8fdb\u884c\u9694\u79bb\u7b56\u7565\u914d\u7f6e\u65f6\u80fd\u591f\u667a\u80fd\u4f9d\u636e\u5386\u53f2\u8bbf\u95ee\u6d41\u91cf\u8fdb\u884c\u7b56\u7565\u63a8\u8350\u3002 - \u79df\u6237\u9694\u79bb \u652f\u6301\u5bf9 Kubernetes \u96c6\u7fa4\u5185\u79df\u6237\u8fdb\u884c\u9694\u79bb\u63a7\u5236\uff0c\u5177\u5907\u5bf9\u4e0d\u540c\u7684\u79df\u6237\u8bbe\u7f6e\u4e0d\u540c\u7684\u7f51\u7edc\u5b89\u5168\u7ec4\u7684\u80fd\u529b\uff0c\u652f\u6301\u79df\u6237\u7ea7\u522b\u7684\u5b89\u5168\u7b56\u7565\u8bbe\u7f6e\u529f\u80fd\uff0c\u901a\u8fc7\u4e0d\u540c\u5b89\u5168\u7ec4\u548c\u8bbe\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u5b9e\u73b0\u79df\u6237\u95f4\u7f51\u7edc\u7684\u8bbf\u95ee\u4e0e\u9694\u79bb\u3002 \u5fae\u670d\u52a1\u5b89\u5168 \u670d\u52a1\u53ca API \u5b89\u5168\u626b\u63cf \u5bf9\u96c6\u7fa4\u5185\u7684\u670d\u52a1\u53ca API \u652f\u6301\u81ea\u52a8\u626b\u63cf\u3001\u624b\u52a8\u626b\u63cf\u53ca\u5468\u671f\u6027\u626b\u63cf\u7684\u5b89\u5168\u626b\u63cf\u65b9\u5f0f\uff0c\u652f\u6301\u5168\u90e8\u7684\u4f20\u7edf web \u626b\u63cf\u9879\u76ee\u5305\u62ec XSS \u6f0f\u6d1e\u3001SQL \u6ce8\u5165\u3001\u547d\u4ee4/\u4ee3\u7801\u6ce8\u5165\u3001\u76ee\u5f55\u679a\u4e3e\u3001\u8def\u5f84\u7a7f\u8d8a\u3001XML \u5b9e\u4f53\u6ce8\u5165\u3001poc\u3001\u6587\u4ef6\u4e0a\u4f20\u3001\u5f31\u53e3\u4ee4\u3001jsonp\u3001ssrf\u3001\u4efb\u610f\u8df3\u8f6c\u3001CRLF \u6ce8\u5165\u7b49\u98ce\u9669\uff0c\u4ee5\u53ca\u5bb9\u5668\u73af\u5883\u7279\u6709\u7684\u9879\uff0c\u9488\u5bf9\u53d1\u73b0\u7684\u6f0f\u6d1e\u652f\u6301\u6f0f\u6d1e\u7c7b\u578b\u5c55\u793a\u3001url \u5c55\u793a\u3001\u53c2\u6570\u5c55\u793a\u3001\u5371\u9669\u7ea7\u522b\u5c55\u793a\u3001\u6d4b\u8bd5\u65b9\u6cd5\u5c55\u793a\u7b49\u3002"},{"location":"admin/security/falco-exporter.html","title":"Falco-exporter","text":"

                Falco-exporter \u662f\u4e00\u4e2a Falco \u8f93\u51fa\u4e8b\u4ef6\u7684 Prometheus Metrics \u5bfc\u51fa\u5668\u3002

                Falco-exporter \u4f1a\u90e8\u7f72\u4e3a Kubernetes \u96c6\u7fa4\u4e0a\u7684\u5b88\u62a4\u8fdb\u7a0b\u96c6\u3002\u5982\u679c\u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5\u5e76\u8fd0\u884c Prometheus\uff0cPrometheus \u5c06\u81ea\u52a8\u53d1\u73b0 Falco-exporter \u63d0\u4f9b\u7684\u6307\u6807\u3002

                "},{"location":"admin/security/falco-exporter.html#falco-exporter_1","title":"\u5b89\u88c5 Falco-exporter","text":"

                \u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 Falco-exporter \u7ec4\u4ef6\u3002

                Note

                \u5728\u5b89\u88c5\u4f7f\u7528 Falco-exporter \u4e4b\u524d\uff0c\u9700\u8981\u5b89\u88c5\u5e76\u8fd0\u884c Falco\uff0c\u5e76\u542f\u7528 gRPC \u8f93\u51fa\uff08\u9ed8\u8ba4\u901a\u8fc7 Unix \u5957\u63a5\u5b57\u542f\u7528\uff09\u3002 \u5173\u4e8e\u542f\u7528 gRPC \u8f93\u51fa\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u53c2\u9605\u5728 Falco Helm Chart \u4e2d\u542f\u7528 gRPC \u8f93\u51fa\u3002

                \u8bf7\u786e\u8ba4\u60a8\u7684\u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Falco-exporter\u3002

                1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb\u5bb9\u5668\u7ba1\u7406\u2014>\u96c6\u7fa4\u5217\u8868\uff0c\u7136\u540e\u627e\u5230\u51c6\u5907\u5b89\u88c5 Falco-exporter \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u9009\u62e9 Helm \u5e94\u7528 -> Helm \u6a21\u677f\uff0c\u627e\u5230\u5e76\u70b9\u51fb falco-exporter\u3002

                3. \u5728\u7248\u672c\u9009\u62e9\u4e2d\u9009\u62e9\u5e0c\u671b\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb\u5b89\u88c5\u3002

                4. \u5728\u5b89\u88c5\u754c\u9762\uff0c\u586b\u5199\u6240\u9700\u7684\u5b89\u88c5\u53c2\u6570\u3002

                  \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u5e94\u7528\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u7248\u672c\u7b49\u3002

                  \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570:

                  • Falco Prometheus Exporter -> Image Settings -> Registry\uff1a\u8bbe\u7f6e falco-exporter \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002
                  • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Repository\uff1a\u8bbe\u7f6e falco-exporter \u955c\u50cf\u540d\u3002
                  • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Install ServiceMonitor\uff1a\u5b89\u88c5 Prometheus Operator \u670d\u52a1\u76d1\u89c6\u5668\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                  • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Scrape Interval\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u95f4\u9694\uff1b\u5982\u679c\u672a\u6307\u5b9a\uff0c\u5219\u4f7f\u7528 Prometheus \u9ed8\u8ba4\u95f4\u9694\u3002
                  • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Scrape Timeout\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u6293\u53d6\u8d85\u65f6\u65f6\u95f4\uff1b\u5982\u679c\u672a\u6307\u5b9a\uff0c\u5219\u4f7f\u7528 Prometheus \u9ed8\u8ba4\u7684\u6293\u53d6\u8d85\u65f6\u65f6\u95f4\u3002

                  \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570:

                  • Falco Prometheus Exporter -> Prometheus prometheusRules -> Install prometheusRules\uff1a\u521b\u5efa PrometheusRules\uff0c\u5bf9\u4f18\u5148\u4e8b\u4ef6\u53d1\u51fa\u8b66\u62a5\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                  • Falco Prometheus Exporter -> Prometheus prometheusRules -> Alerts settings\uff1a\u8b66\u62a5\u8bbe\u7f6e\uff0c\u4e3a\u4e0d\u540c\u7ea7\u522b\u7684\u65e5\u5fd7\u4e8b\u4ef6\u8bbe\u7f6e\u8b66\u62a5\u662f\u5426\u542f\u7528\u3001\u8b66\u62a5\u7684\u95f4\u9694\u65f6\u95f4\u3001\u8b66\u62a5\u7684\u9608\u503c\u3002
                5. \u70b9\u51fb\u53f3\u4e0b\u89d2\u786e\u5b9a\u6309\u94ae\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\u3002

                "},{"location":"admin/security/falco-install.html","title":"\u5b89\u88c5 Falco","text":"

                \u8bf7\u786e\u8ba4\u60a8\u7684\u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Falco\u3002

                1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb\u5bb9\u5668\u7ba1\u7406\u2014>\u96c6\u7fa4\u5217\u8868\uff0c\u7136\u540e\u627e\u5230\u51c6\u5907\u5b89\u88c5 Falco \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u9009\u62e9 Helm \u5e94\u7528 -> Helm \u6a21\u677f\uff0c\u627e\u5230\u5e76\u70b9\u51fb Falco\u3002

                3. \u5728\u7248\u672c\u9009\u62e9\u4e2d\u9009\u62e9\u5e0c\u671b\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb\u5b89\u88c5\u3002

                4. \u5728\u5b89\u88c5\u754c\u9762\uff0c\u586b\u5199\u6240\u9700\u7684\u5b89\u88c5\u53c2\u6570\u3002

                  \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u5e94\u7528\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u7248\u672c\u7b49\u3002

                  \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570\uff1a

                  • Falco -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                  • Falco -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco \u955c\u50cf\u540d\u3002

                  • Falco -> Falco Driver -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                  • Falco -> Falco Driver -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u540d\u3002

                  • Falco -> Falco Driver -> Image Settings -> Driver Kind\uff1a\u8bbe\u7f6e Driver Kind\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u4e24\u79cd\u9009\u62e9\uff1a

                    1. ebpf\uff1a\u4f7f\u7528 ebpf \u6765\u68c0\u6d4b\u4e8b\u4ef6\uff0c\u8fd9\u9700\u8981 Linux \u5185\u6838\u652f\u6301 ebpf\uff0c\u5e76\u542f\u7528 CONFIG_BPF_JIT \u548c sysctl net.core.bpf_jit_enable=1\u3002

                    2. module\uff1a\u4f7f\u7528\u5185\u6838\u6a21\u5757\u68c0\u6d4b\uff0c\u652f\u6301\u6709\u9650\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\uff0c\u53c2\u8003 module \u652f\u6301\u7cfb\u7edf\u7248\u672c\u3002

                  • Falco -> Falco Driver -> Image Settings -> Log Level\uff1a\u8981\u5305\u542b\u5728\u65e5\u5fd7\u4e2d\u7684\u6700\u5c0f\u65e5\u5fd7\u7ea7\u522b\u3002

                    \u53ef\u9009\u62e9\u503c\u4e3a\uff1aemergency, alert, critical, error, warning, notice, info, debug\u3002

                  • Falco -> Falco Driver -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                  • Falco -> Falco Driver -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u540d\u3002

                  • Falco -> Falco Driver -> Image Settings -> Driver Kind\uff1a\u8bbe\u7f6e Driver Kind\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u4e24\u79cd\u9009\u62e9\uff1a

                    1. ebpf\uff1a\u4f7f\u7528 ebpf \u6765\u68c0\u6d4b\u4e8b\u4ef6\uff0c\u8fd9\u9700\u8981 Linux \u5185\u6838\u652f\u6301 ebpf\uff0c\u5e76\u542f\u7528 CONFIG_BPF_JIT \u548c sysctl net.core.bpf_jit_enable=1\u3002
                    2. module\uff1a\u4f7f\u7528\u5185\u6838\u6a21\u5757\u68c0\u6d4b\uff0c\u652f\u6301\u6709\u9650\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\uff0c\u53c2\u8003 module \u652f\u6301\u7cfb\u7edf\u7248\u672c\u3002
                  • Falco -> Falco Driver -> Image Settings -> Log Level\uff1a\u8981\u5305\u542b\u5728\u65e5\u5fd7\u4e2d\u7684\u6700\u5c0f\u65e5\u5fd7\u7ea7\u522b\u3002

                    \u53ef\u9009\u62e9\u503c\u4e3a\uff1aemergency\u3001alert\u3001critical\u3001error\u3001warning\u3001notice\u3001info\u3001debug\u3002

                5. \u70b9\u51fb\u53f3\u4e0b\u89d2\u786e\u5b9a\u6309\u94ae\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\u3002

                "},{"location":"admin/security/falco.html","title":"\u4ec0\u4e48\u662f Falco","text":"

                Falco \u662f\u4e00\u4e2a\u4e91\u539f\u751f\u8fd0\u884c\u65f6\u5b89\u5168\u5de5\u5177\uff0c\u65e8\u5728\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u5f02\u5e38\u6d3b\u52a8\uff0c\u53ef\u7528\u4e8e\u76d1\u63a7 Kubernetes \u5e94\u7528\u7a0b\u5e8f\u548c\u5185\u90e8\u7ec4\u4ef6\u7684\u8fd0\u884c\u65f6\u5b89\u5168\u6027\u3002\u4ec5\u9700\u4e3a Falco \u64b0\u5199\u4e00\u5957\u89c4\u5219\uff0c\u5373\u53ef\u6301\u7eed\u76d1\u6d4b\u5e76\u76d1\u63a7\u5bb9\u5668\u3001\u5e94\u7528\u3001\u4e3b\u673a\u53ca\u7f51\u7edc\u7684\u5f02\u5e38\u6d3b\u52a8\u3002

                "},{"location":"admin/security/falco.html#falco_1","title":"Falco \u80fd\u68c0\u6d4b\u5230\u4ec0\u4e48\uff1f","text":"

                Falco \u53ef\u5bf9\u4efb\u4f55\u6d89\u53ca Linux \u7cfb\u7edf\u8c03\u7528\u7684\u884c\u4e3a\u8fdb\u884c\u68c0\u6d4b\u548c\u62a5\u8b66\u3002Falco \u7684\u8b66\u62a5\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u7279\u5b9a\u7684\u7cfb\u7edf\u8c03\u7528\u3001\u53c2\u6570\u4ee5\u53ca\u8c03\u7528\u8fdb\u7a0b\u7684\u5c5e\u6027\u6765\u89e6\u53d1\u3002\u4f8b\u5982\uff0cFalco \u53ef\u4ee5\u8f7b\u677e\u68c0\u6d4b\u5230\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ee5\u4e0b\u4e8b\u4ef6\uff1a

                • Kubernetes \u4e2d\u7684\u5bb9\u5668\u6216 pod \u5185\u6b63\u5728\u8fd0\u884c\u4e00\u4e2a shell \u3002
                • \u5bb9\u5668\u4ee5\u7279\u6743\u6a21\u5f0f\u8fd0\u884c\uff0c\u6216\u4ece\u4e3b\u673a\u6302\u8f7d\u654f\u611f\u8def\u5f84\uff0c\u5982 /proc\u3002
                • \u4e00\u4e2a\u670d\u52a1\u5668\u8fdb\u7a0b\u6b63\u5728\u751f\u6210\u4e00\u4e2a\u610f\u5916\u7c7b\u578b\u7684\u5b50\u8fdb\u7a0b\u3002
                • \u610f\u5916\u8bfb\u53d6\u4e00\u4e2a\u654f\u611f\u6587\u4ef6\uff0c\u5982 /etc/shadow\u3002
                • \u4e00\u4e2a\u975e\u8bbe\u5907\u6587\u4ef6\u88ab\u5199\u5230 /dev\u3002
                • \u4e00\u4e2a\u6807\u51c6\u7684\u7cfb\u7edf\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u5982 ls\uff0c\u6b63\u5728\u8fdb\u884c\u4e00\u4e2a\u5916\u5411\u7684\u7f51\u7edc\u8fde\u63a5\u3002
                • \u5728 Kubernetes \u96c6\u7fa4\u4e2d\u542f\u52a8\u4e00\u4e2a\u6709\u7279\u6743\u7684 Pod\u3002

                \u5173\u4e8e Falco \u9644\u5e26\u7684\u66f4\u591a\u9ed8\u8ba4\u89c4\u5219\uff0c\u8bf7\u53c2\u8003 Rules \u6587\u6863\u3002

                "},{"location":"admin/security/falco.html#falco_2","title":"\u4ec0\u4e48\u662f Falco \u89c4\u5219\uff1f","text":"

                Falco \u89c4\u5219\u5b9a\u4e49 Falco \u5e94\u76d1\u89c6\u7684\u884c\u4e3a\u53ca\u4e8b\u4ef6\uff1b\u53ef\u4ee5\u5728 Falco \u89c4\u5219\u6587\u4ef6\u6216\u901a\u7528\u914d\u7f6e\u6587\u4ef6\u64b0\u5199\u89c4\u5219\u3002\u6709\u5173\u7f16\u5199\u3001\u7ba1\u7406\u548c\u90e8\u7f72\u89c4\u5219\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 Falco Rules\u3002

                "},{"location":"admin/security/falco.html#falco_3","title":"\u4ec0\u4e48\u662f Falco \u8b66\u62a5\uff1f","text":"

                \u8b66\u62a5\u662f\u53ef\u914d\u7f6e\u7684\u4e0b\u6e38\u64cd\u4f5c\uff0c\u53ef\u4ee5\u50cf\u8bb0\u5f55\u65e5\u5fd7\u4e00\u6837\u7b80\u5355\uff0c\u4e5f\u53ef\u4ee5\u50cf STDOUT \u5411\u5ba2\u6237\u7aef\u4f20\u9012 gRPC \u8c03\u7528\u4e00\u6837\u590d\u6742\u3002\u6709\u5173\u914d\u7f6e\u3001\u7406\u89e3\u548c\u5f00\u53d1\u8b66\u62a5\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605Falco \u8b66\u62a5\u3002Falco \u53ef\u4ee5\u5c06\u8b66\u62a5\u53d1\u9001\u81f3\uff1a

                • \u6807\u51c6\u8f93\u51fa
                • \u4e00\u4efd\u6587\u4ef6
                • \u7cfb\u7edf\u65e5\u5fd7
                • \u751f\u6210\u7684\u7a0b\u5e8f
                • \u4e00\u4e2a HTTP[s] \u7aef\u70b9
                • \u901a\u8fc7 gRPC API \u7684\u5ba2\u6237\u7aef
                "},{"location":"admin/security/falco.html#falco_4","title":"Falco \u7531\u54ea\u4e9b\u90e8\u5206\u7ec4\u6210\uff1f","text":"

                Falco \u7531\u4ee5\u4e0b\u51e0\u4e2a\u4e3b\u8981\u7ec4\u4ef6\u7ec4\u6210\uff1a

                • \u7528\u6237\u7a7a\u95f4\u7a0b\u5e8f\uff1aCLI \u5de5\u5177\uff0c\u53ef\u7528\u4e8e\u4e0e Falco \u4ea4\u4e92\u3002\u7528\u6237\u7a7a\u95f4\u7a0b\u5e8f\u5904\u7406\u4fe1\u53f7\uff0c\u89e3\u6790\u6765\u81ea Falco \u9a71\u52a8\u7684\u4fe1\u606f\uff0c\u5e76\u53d1\u9001\u8b66\u62a5\u3002

                • \u914d\u7f6e\uff1a\u5b9a\u4e49 Falco \u7684\u8fd0\u884c\u65b9\u5f0f\u3001\u8981\u65ad\u8a00\u7684\u89c4\u5219\u4ee5\u53ca\u5982\u4f55\u6267\u884c\u8b66\u62a5\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u914d\u7f6e\u3002

                • Driver\uff1a\u4e00\u6b3e\u9075\u5faa Falco \u9a71\u52a8\u89c4\u8303\u5e76\u53d1\u9001\u7cfb\u7edf\u8c03\u7528\u4fe1\u606f\u6d41\u7684\u8f6f\u4ef6\u3002\u5982\u679c\u4e0d\u5b89\u88c5\u9a71\u52a8\u7a0b\u5e8f\uff0c\u5c06\u65e0\u6cd5\u8fd0\u884c Falco\u3002\u76ee\u524d\uff0cFalco \u652f\u6301\u4ee5\u4e0b\u9a71\u52a8\u7a0b\u5e8f\uff1a

                  • \u57fa\u4e8e C++ \u5e93\u6784\u5efa libscap \u7684\u5185\u6838\u6a21\u5757 libsinsp\uff08\u9ed8\u8ba4\uff09
                  • \u7531\u76f8\u540c\u6a21\u5757\u6784\u5efa\u7684 BPF \u63a2\u9488
                  • \u7528\u6237\u7a7a\u95f4\u68c0\u6d4b

                    \u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 Falco \u9a71\u52a8\u7a0b\u5e8f\u3002

                • \u63d2\u4ef6\uff1a\u53ef\u7528\u4e8e\u6269\u5c55 falco libraries/falco \u53ef\u6267\u884c\u6587\u4ef6\u7684\u529f\u80fd\uff0c\u6269\u5c55\u65b9\u5f0f\u662f\u901a\u8fc7\u6dfb\u52a0\u65b0\u7684\u4e8b\u4ef6\u6e90\u548c\u4ece\u4e8b\u4ef6\u4e2d\u63d0\u53d6\u4fe1\u606f\u7684\u65b0\u5b57\u6bb5\u3002 \u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u63d2\u4ef6\u3002

                "},{"location":"admin/share/infer.html","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":""},{"location":"admin/share/job.html","title":"\u521b\u5efa\u8bad\u7ec3\u4efb\u52a1","text":""},{"location":"admin/share/notebook.html","title":"\u4f7f\u7528 Notebook","text":"

                Notebook \u901a\u5e38\u6307\u7684\u662f Jupyter Notebook \u6216\u7c7b\u4f3c\u7684\u4ea4\u4e92\u5f0f\u8ba1\u7b97\u73af\u5883\u3002 \u8fd9\u662f\u4e00\u79cd\u975e\u5e38\u6d41\u884c\u7684\u5de5\u5177\uff0c\u5e7f\u6cdb\u7528\u4e8e\u6570\u636e\u79d1\u5b66\u3001\u673a\u5668\u5b66\u4e60\u548c\u6df1\u5ea6\u5b66\u4e60\u7b49\u9886\u57df\u3002 \u672c\u9875\u8bf4\u660e\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528 Notebook\u3002

                "},{"location":"admin/share/notebook.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                • \u7ba1\u7406\u5458\u4e3a\u7528\u6237\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4
                • \u5df2\u51c6\u5907\u597d\u6570\u636e\u96c6\uff08\u4ee3\u7801\u3001\u6570\u636e\u7b49\uff09
                "},{"location":"admin/share/notebook.html#notebook_1","title":"\u521b\u5efa\u548c\u4f7f\u7528 Notebook \u5b9e\u4f8b","text":"
                1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                2. \u5bfc\u822a\u81f3 AI Lab -> \u8fd0\u7ef4\u7ba1\u7406 -> \u961f\u5217\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae

                3. \u952e\u5165\u540d\u79f0\uff0c\u9009\u62e9\u96c6\u7fa4\u3001\u5de5\u4f5c\u7a7a\u95f4\u548c\u914d\u989d\u540e\uff0c\u70b9\u51fb \u786e\u5b9a

                4. \u4ee5 \u7528\u6237\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5bfc\u822a\u81f3 AI Lab -> Notebook \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae

                5. \u914d\u7f6e\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                  \u57fa\u672c\u4fe1\u606f\u8d44\u6e90\u914d\u7f6e\u9ad8\u7ea7\u914d\u7f6e

                  \u952e\u5165\u540d\u79f0\uff0c\u9009\u62e9\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\uff0c\u9009\u62e9\u521a\u521b\u5efa\u7684\u961f\u5217\uff0c\u70b9\u51fb \u4e00\u952e\u521d\u59cb\u5316

                  \u9009\u62e9 Notebook \u7c7b\u578b\uff0c\u914d\u7f6e\u5185\u5b58\u3001CPU\uff0c\u5f00\u542f GPU\uff0c\u521b\u5efa\u548c\u914d\u7f6e PVC\uff1a

                  \u5f00\u542f SSH \u5916\u7f51\u8bbf\u95ee\uff1a

                6. \u81ea\u52a8\u8df3\u8f6c\u5230 Notebook \u5b9e\u4f8b\u5217\u8868\uff0c\u70b9\u51fb\u5b9e\u4f8b\u540d\u79f0

                7. \u8fdb\u5165 Notebook \u5b9e\u4f8b\u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u6253\u5f00 \u6309\u94ae

                8. \u8fdb\u5165\u4e86 Notebook \u5f00\u53d1\u73af\u5883\uff0c\u6bd4\u5982\u5728 /home/jovyan \u76ee\u5f55\u6302\u8f7d\u4e86\u6301\u4e45\u5377\uff0c\u53ef\u4ee5\u901a\u8fc7 git \u514b\u9686\u4ee3\u7801\uff0c\u901a\u8fc7 SSH \u8fde\u63a5\u540e\u4e0a\u4f20\u6570\u636e\u7b49\u3002

                "},{"location":"admin/share/notebook.html#ssh-notebook","title":"\u901a\u8fc7 SSH \u8bbf\u95ee Notebook \u5b9e\u4f8b","text":"
                1. \u5728\u81ea\u5df1\u7684\u7535\u8111\u4e0a\u751f\u6210 SSH \u5bc6\u94a5\u5bf9

                  \u5728\u81ea\u5df1\u7535\u8111\u4e0a\u6253\u5f00\u547d\u4ee4\u884c\uff0c\u6bd4\u5982\u5728 Windows \u4e0a\u6253\u5f00 git bash\uff0c\u8f93\u5165 ssh-keygen.exe -t rsa\uff0c\u7136\u540e\u4e00\u8def\u56de\u8f66\u3002

                2. \u901a\u8fc7 cat ~/.ssh/id_rsa.pub \u7b49\u547d\u4ee4\u67e5\u770b\u5e76\u590d\u5236\u516c\u94a5

                3. \u4ee5\u7528\u6237\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u4e2a\u4eba\u4e2d\u5fc3 -> SSH \u516c\u94a5 -> \u5bfc\u5165 SSH \u516c\u94a5

                4. \u8fdb\u5165 Notebook \u5b9e\u4f8b\u7684\u8be6\u60c5\u9875\uff0c\u590d\u5236 SSH \u7684\u94fe\u63a5

                5. \u5728\u5ba2\u6237\u7aef\u4f7f\u7528 SSH \u8bbf\u95ee Notebook \u5b9e\u4f8b

                \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa\u8bad\u7ec3\u4efb\u52a1

                "},{"location":"admin/share/quota.html","title":"\u914d\u989d\u7ba1\u7406","text":"

                \u7528\u6237\u88ab\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\u540e\uff0c\u5373\u53ef\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90\uff0c\u7ba1\u7406\u8d44\u6e90\u914d\u989d\u3002

                "},{"location":"admin/share/quota.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                • \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u7ba1\u7406\u5458\u8d26\u53f7
                "},{"location":"admin/share/quota.html#_3","title":"\u521b\u5efa\u548c\u7ba1\u7406\u914d\u989d","text":"
                1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                2. \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u548c\u547d\u540d\u7a7a\u95f4\uff0c\u5e76\u7ed1\u5b9a\u7528\u6237
                3. \u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90\u914d\u989d

                4. \u7ba1\u7406\u547d\u540d\u7a7a\u95f4 test-ns-1 \u7684\u8d44\u6e90\u914d\u989d\uff0c\u5176\u6570\u503c\u4e0d\u80fd\u8d85\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u7684\u914d\u989d\u3002

                5. \u4ee5 \u7528\u6237\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u67e5\u770b\u5176\u662f\u5426\u88ab\u5206\u914d\u4e86 test-ns-1 \u547d\u540d\u7a7a\u95f4\u3002

                \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa AI \u8d1f\u8f7d\u4f7f\u7528 GPU \u8d44\u6e90

                "},{"location":"admin/share/workload.html","title":"\u521b\u5efa AI \u8d1f\u8f7d\u4f7f\u7528 GPU \u8d44\u6e90","text":"

                \u7ba1\u7406\u5458\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90\u914d\u989d\u540e\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d\u6765\u4f7f\u7528 GPU \u7b97\u529b\u8d44\u6e90\u3002

                "},{"location":"admin/share/workload.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                • \u7ba1\u7406\u5458\u4e3a\u7528\u6237\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4
                • \u4e3a\u5de5\u4f5c\u7a7a\u95f4\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d
                • \u5df2\u7ecf\u521b\u5efa\u4e86\u4e00\u4e2a\u96c6\u7fa4
                "},{"location":"admin/share/workload.html#ai","title":"\u521b\u5efa AI \u8d1f\u8f7d\u6b65\u9aa4","text":"
                1. \u4ee5\u7528\u6237\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u62e9\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c \u70b9\u51fb\u53f3\u4fa7\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae

                3. \u914d\u7f6e\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                  \u57fa\u672c\u4fe1\u606f\u5bb9\u5668\u914d\u7f6e\u5176\u4ed6

                  \u9009\u62e9\u81ea\u5df1\u7684\u547d\u540d\u7a7a\u95f4\u3002

                  \u8bbe\u7f6e\u955c\u50cf\uff0c\u914d\u7f6e CPU\u3001\u5185\u5b58\u3001GPU \u7b49\u8d44\u6e90\uff0c\u8bbe\u7f6e\u542f\u52a8\u547d\u4ee4\u3002

                  \u670d\u52a1\u914d\u7f6e\u548c\u9ad8\u7ea7\u914d\u7f6e\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u914d\u7f6e\u3002

                4. \u81ea\u52a8\u8fd4\u56de\u65e0\u72b6\u6001\u8d1f\u8f7d\u5217\u8868\uff0c\u70b9\u51fb\u8d1f\u8f7d\u540d\u79f0

                5. \u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u53ef\u4ee5\u770b\u5230 GPU \u914d\u989d

                6. \u4f60\u8fd8\u53ef\u4ee5\u8fdb\u5165\u63a7\u5236\u53f0\uff0c\u8fd0\u884c mx-smi \u547d\u4ee4\u67e5\u770b GPU \u8d44\u6e90

                \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528 Notebook

                "},{"location":"admin/virtnest/gpu/vm-gpu.html","title":"\u4e91\u4e3b\u673a\u914d\u7f6e GPU\uff08\u76f4\u901a\u6a21\u5f0f\uff09","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\uff0c\u914d\u7f6e GPU \u7684\u524d\u63d0\u6761\u4ef6\u3002

                \u914d\u7f6e\u4e91\u4e3b\u673a\u7684 GPU \u7684\u91cd\u70b9\u662f\u5bf9 GPU Operator \u8fdb\u884c\u914d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u5de5\u4f5c\u8282\u70b9\u4e0a\u90e8\u7f72\u4e0d\u540c\u7684\u8f6f\u4ef6\u7ec4\u4ef6\uff0c \u5177\u4f53\u53d6\u51b3\u4e8e\u8fd9\u4e9b\u8282\u70b9\u4e0a\u914d\u7f6e\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u3002\u4ee5\u4e0b\u4e09\u4e2a\u8282\u70b9\u4e3a\u4f8b\uff1a

                • controller-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5bb9\u5668\u3002
                • work-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u76f4\u901a GPU \u7684\u4e91\u4e3b\u673a\u3002
                • work-node-2 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u865a\u62df vGPU \u7684\u4e91\u4e3b\u673a\u3002
                "},{"location":"admin/virtnest/gpu/vm-gpu.html#_1","title":"\u5047\u8bbe\u3001\u9650\u5236\u548c\u4f9d\u8d56\u6027","text":"

                \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\uff0c\u4e5f\u53ef\u4ee5\u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4f46\u4e0d\u80fd\u8fd0\u884c\u5176\u4e2d\u4efb\u4f55\u4e00\u4e2a\u7684\u7ec4\u5408\u3002

                1. \u96c6\u7fa4\u7ba1\u7406\u5458\u6216\u5f00\u53d1\u4eba\u5458\u9700\u8981\u63d0\u524d\u4e86\u89e3\u96c6\u7fa4\u60c5\u51b5\uff0c\u5e76\u6b63\u786e\u6807\u8bb0\u8282\u70b9\u4ee5\u6307\u793a\u5b83\u4eec\u5c06\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u3002
                2. \u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u6216 vGPU \u7684 GPU \u52a0\u901f VM \u7684\u5de5\u4f5c\u8282\u70b9\u88ab\u5047\u5b9a\u4e3a\u88f8\u673a\uff0c\u5982\u679c\u5de5\u4f5c\u8282\u70b9\u662f\u4e91\u4e3b\u673a\uff0c \u5219\u9700\u8981\u5728\u4e91\u4e3b\u673a\u5e73\u53f0\u4e0a\u542f\u7528 GPU \u76f4\u901a\u529f\u80fd\uff0c\u8bf7\u5411\u4e91\u4e3b\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u54a8\u8be2\u3002
                3. \u4e0d\u652f\u6301 Nvidia MIG \u7684 vGPU\u3002
                4. GPU Operator \u4e0d\u4f1a\u81ea\u52a8\u5728 VM \u4e2d\u5b89\u88c5 GPU \u9a71\u52a8\u7a0b\u5e8f\u3002
                "},{"location":"admin/virtnest/gpu/vm-gpu.html#iommu","title":"\u542f\u7528 IOMMU","text":"

                \u4e3a\u4e86\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u96c6\u7fa4\u8282\u70b9\u9700\u8981\u5f00\u542fIOMMU\u3002\u8bf7\u53c2\u8003\u5982\u4f55\u5f00\u542f IOMMU\u3002 \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u662f\u5728\u4e91\u4e3b\u673a\u4e0a\u8fd0\u884c\uff0c\u8bf7\u54a8\u8be2\u60a8\u7684\u4e91\u4e3b\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u3002

                "},{"location":"admin/virtnest/gpu/vm-gpu.html#_2","title":"\u6807\u8bb0\u96c6\u7fa4\u8282\u70b9","text":"

                \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \u7684\u64cd\u4f5c\u680f \u4fee\u6539\u6807\u7b7e \uff0c\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u6bcf\u4e2a\u8282\u70b9\u53ea\u80fd\u6709\u4e00\u79cd\u6807\u7b7e\u3002

                \u60a8\u53ef\u4ee5\u4e3a\u6807\u7b7e\u5206\u914d\u4ee5\u4e0b\u503c\uff1acontainer\u3001vm-passthrough \u548c vm-vgpu\u3002

                "},{"location":"admin/virtnest/gpu/vm-gpu.html#nvidia-operator","title":"\u5b89\u88c5 Nvidia Operator","text":"
                1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u9009\u62e9\u5e76\u5b89\u88c5 gpu-operator\u3002 \u9700\u8981\u4fee\u6539\u4e00\u4e9b yaml \u4e2d\u7684\u76f8\u5173\u5b57\u6bb5\u3002

                  gpu-operator.sandboxWorkloads.enabled=true\ngpu-operator.vfioManager.enabled=true\ngpu-operator.sandboxDevicePlugin.enabled=true\ngpu-operator.sandboxDevicePlugin.version=v1.2.4   # (1)!\ngpu-operator.toolkit.version=v1.14.3-ubuntu20.04\n
                  1. version \u9700\u8981 >= v1.2.4
                2. \u7b49\u5f85\u5b89\u88c5\u6210\u529f\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                "},{"location":"admin/virtnest/gpu/vm-gpu.html#virtnest-agent-cr","title":"\u5b89\u88c5 virtnest-agent \u5e76\u914d\u7f6e CR","text":"
                1. \u5b89\u88c5 virtnest-agent\uff0c\u53c2\u8003\u5b89\u88c5 virtnest-agent\u3002

                2. \u5c06 vGPU \u548c GPU \u76f4\u901a\u52a0\u5165 Virtnest Kubevirt CR\uff0c\u4ee5\u4e0b\u793a\u4f8b\u662f\u6dfb\u52a0 vGPU \u548c GPU \u76f4\u901a\u540e\u7684 \u90e8\u5206\u5173\u952e yaml\uff1a

                  spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:            # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com /GRID_P4-1Q\n      pciHostDevices:             # (3)!\n      - externalResourceProvider:  true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com /GP104GL_TESLA_P4\n
                  1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                  2. vGPU
                  3. GPU \u76f4\u901a
                3. \u5728 kubevirt CR yaml \u4e2d\uff0cpermittedHostDevices \u7528\u4e8e\u5bfc\u5165 VM \u8bbe\u5907\uff0cvGPU \u9700\u5728\u5176\u4e2d\u6dfb\u52a0 mediatedDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                  mediatedDevices:          \n- mdevNameSelector: GRID P4-1Q          # (1)!\n  resourceName: nvidia.com/GRID_P4-1Q   # (2)!\n
                  1. \u8bbe\u5907\u540d\u79f0
                  2. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 vGPU \u4fe1\u606f
                4. GPU \u76f4\u901a\u9700\u8981\u5728 permittedHostDevices \u4e0b\u6dfb\u52a0 pciHostDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                  pciHostDevices:           \n- externalResourceProvider: true            # (1)!\n  pciVendorSelector: 10DE:1BB3              # (2)!\n  resourceName: nvidia.com/GP104GL_TESLA_P4 # (3)!\n
                  1. \u9ed8\u8ba4\u4e0d\u8981\u66f4\u6539
                  2. \u5f53\u524d pci \u8bbe\u5907\u7684 vednor id
                  3. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 GPU \u4fe1\u606f
                5. \u83b7\u53d6 vGPU \u4fe1\u606f\u793a\u4f8b\uff08\u4ec5\u9002\u7528\u4e8e vGPU\uff09\uff1a\u5728\u6807\u8bb0\u4e3a nvidia.com/gpu.workload.config=vm-gpu \u7684\u8282\u70b9\uff08\u4f8b\u5982 work-node-2\uff09\u4e0a\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c Capacity \u4e2d\u7684 nvidia.com/GRID_P4-1Q: 8 \u8868\u793a\u53ef\u7528 vGPU\uff1a

                  kubectl describe node work-node-2\n
                  Capacity:\n  cpu:                                 64\n  devices.kubevirt.io/kvm:             1k\n  devices.kubevirt.io/tun:             1k\n  devices.kubevirt.io/vhost-net:       1k\n  ephemeral-storage:                   102626232Ki\n  hugepages-1Gi:                       0\n  hugepages-2Mi:                       0\n  memory:                              264010840Ki\n  nvidia.com/GRID_P4-1Q :              8\n  pods:                                110\nAllocatable:\n  cpu:                                  64\n  devices.kubevirt.io/kvm:              1k\n  devices.kubevirt.io/tun:              1k\n  devices.kubevirt.io/vhost-net:        1k\n  ephemeral-storage:                    94580335255\n  hugepages-1Gi:                        0\n  hugepages-2Mi:                        0\n  memory:                               263908440Ki\n  nvidia.com/GRID_P4-1Q:                8\n  pods:                                 110\n

                  \u90a3\u4e48 mdevNameSelector \u5e94\u8be5\u662f \u201cGRID P4-1Q\u201d\uff0cresourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d

                6. \u83b7\u53d6 GPU \u76f4\u901a\u4fe1\u606f\uff1a\u5728\u6807\u8bb0 nvidia.com/gpu.workload.config=vm-passthrough \u7684 node \u4e0a\uff08\u672c\u6587\u6863\u793a\u4f8b node \u4e3a work-node-1\uff09\uff0c \u67e5\u770b node \u4fe1\u606f\uff0cCapacity \u4e2d nvidia.com/GP104GL_TESLA_P4: 2 \u5c31\u662f\u53ef\u7528 vGPU\uff1a

                  kubectl describe node work-node-1\n
                  Capacity:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              102626232Ki\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         264010840Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\nAllocatable:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              94580335255\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         263908440Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\n

                  \u90a3\u4e48 resourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d, \u5982\u4f55\u83b7\u53d6 pciVendorSelector \u5462\uff1f\u901a\u8fc7 ssh \u767b\u5f55\u5230 work-node-1 \u76ee\u6807\u8282\u70b9\uff0c \u901a\u8fc7 lspci -nnk -d 10de: \u547d\u4ee4\u83b7\u53d6 Nvidia GPU PCI \u4fe1\u606f\uff0c\u5982\u4e0b\u6240\u793a\uff1a\u7ea2\u6846\u6240\u793a\u5373\u662f pciVendorSelector \u4fe1\u606f\u3002

                7. \u7f16\u8f91 kubevirt CR \u63d0\u793a\uff1a\u5982\u679c\u540c\u4e00\u578b\u53f7 GPU \u6709\u591a\u4e2a\uff0c\u53ea\u9700\u5728 CR \u4e2d\u5199\u5165\u4e00\u4e2a\u5373\u53ef\uff0c\u65e0\u9700\u5217\u51fa\u6bcf\u4e2a GPU\u3002

                  kubectl -n virtnest-system edit kubevirt kubevirt\n
                  spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:                    # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com/GRID_P4-1Q\n      pciHostDevices:                     # (3)!\n      - externalResourceProvider: true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com/GP104GL_TESLA_P4 \n

                  1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                  2. vGPU
                  3. GPU \u76f4\u901a\uff0c\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d TEESLA P4 \u6709\u4e24\u4e2a GPU\uff0c\u8fd9\u91cc\u53ea\u9700\u8981\u6ce8\u518c\u4e00\u4e2a\u5373\u53ef
                "},{"location":"admin/virtnest/gpu/vm-gpu.html#yaml-vm-gpu","title":"\u901a\u8fc7 YAML \u521b\u5efa VM \u5e76\u4f7f\u7528 GPU \u52a0\u901f","text":"

                \u4e0e\u666e\u901a\u4e91\u4e3b\u673a\u552f\u4e00\u7684\u533a\u522b\u662f\u5728 devices \u4e2d\u6dfb\u52a0 GPU \u76f8\u5173\u4fe1\u606f\u3002

                \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: testvm-gpu1\n  namespace: default\nspec:\n  dataVolumeTemplates:\n  - metadata:\n      creationTimestamp: null\n      name: systemdisk-testvm-gpu1\n      namespace: default\n    spec:\n      pvc:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 10Gi\n        storageClassName: www\n      source:\n        registry:\n          url: docker://release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1\nrunStrategy: Manual\ntemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n          - bootOrder: 1\n            disk:\n              bus: virtio\n            name: systemdisk-testvm-gpu1\n          - disk:\n              bus: virtio\n            name: cloudinitdisk\n        gpus:\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n            name: gpu-0-0\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n          name: gpu-0-1\n        interfaces:\n        - masquerade: {}\n          name: default\n      machine:\n        type: q35\n      resources:\n        requests:\n          memory: 2Gi\n    networks:\n    - name: default\n      pod: {}\n    volumes:\n    - dataVolume:\n        name: systemdisk-testvm-gpu1\n      name: systemdisk-testvm-gpu1\n    - cloudInitNoCloud:\n        userDataBase64: I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OmRhbmdlcm91cyIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n        name: cloudinitdisk\n
                "},{"location":"admin/virtnest/gpu/vm-vgpu.html","title":"\u4e91\u4e3b\u673a\u914d\u7f6e GPU\uff08vGPU\uff09","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\uff0c\u914d\u7f6e GPU \u7684\u524d\u63d0\u6761\u4ef6\u3002

                \u914d\u7f6e\u4e91\u4e3b\u673a\u7684 GPU \u7684\u91cd\u70b9\u662f\u5bf9 GPU Operator \u8fdb\u884c\u914d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u5de5\u4f5c\u8282\u70b9\u4e0a\u90e8\u7f72\u4e0d\u540c\u7684\u8f6f\u4ef6\u7ec4\u4ef6\uff0c \u5177\u4f53\u53d6\u51b3\u4e8e\u8fd9\u4e9b\u8282\u70b9\u4e0a\u914d\u7f6e\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u3002\u4ee5\u4e0b\u4e09\u4e2a\u8282\u70b9\u4e3a\u4f8b\uff1a

                • controller-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5bb9\u5668\u3002
                • work-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u76f4\u901a GPU \u7684\u4e91\u4e3b\u673a\u3002
                • work-node-2 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u865a\u62df vGPU \u7684\u4e91\u4e3b\u673a\u3002
                "},{"location":"admin/virtnest/gpu/vm-vgpu.html#_1","title":"\u5047\u8bbe\u3001\u9650\u5236\u548c\u4f9d\u8d56\u6027","text":"

                \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\uff0c\u4e5f\u53ef\u4ee5\u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4f46\u4e0d\u80fd\u8fd0\u884c\u5176\u4e2d\u4efb\u4f55\u4e00\u4e2a\u7684\u7ec4\u5408\u3002

                1. \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u5355\u72ec\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\u3001\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4e0d\u652f\u6301\u4efb\u4f55\u7ec4\u5408\u5f62\u5f0f\u3002
                2. \u96c6\u7fa4\u7ba1\u7406\u5458\u6216\u5f00\u53d1\u4eba\u5458\u9700\u8981\u63d0\u524d\u4e86\u89e3\u96c6\u7fa4\u60c5\u51b5\uff0c\u5e76\u6b63\u786e\u6807\u8bb0\u8282\u70b9\u4ee5\u6307\u793a\u5b83\u4eec\u5c06\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u3002
                3. \u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u6216vGPU\u7684 GPU \u52a0\u901f VM\u7684\u5de5\u4f5c\u8282\u70b9\u88ab\u5047\u5b9a\u4e3a\u88f8\u673a\uff0c\u5982\u679c\u5de5\u4f5c\u8282\u70b9\u662f\u4e91\u4e3b\u673a\uff0c\u5219\u9700\u8981\u5728\u4e91\u4e3b\u673a\u5e73\u53f0\u4e0a\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u8bf7\u5411\u4e91\u4e3b\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u54a8\u8be2\u3002
                4. \u4e0d\u652f\u6301 Nvidia MIG \u7684 vGPU\u3002
                5. GPU Operator \u4e0d\u4f1a\u81ea\u52a8\u5728 VM \u4e2d\u5b89\u88c5 GPU \u9a71\u52a8\u7a0b\u5e8f\u3002
                "},{"location":"admin/virtnest/gpu/vm-vgpu.html#iommu","title":"\u542f\u7528 IOMMU","text":"

                \u4e3a\u4e86\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u96c6\u7fa4\u8282\u70b9\u9700\u8981\u5f00\u542fIOMMU\u3002\u8bf7\u53c2\u8003\u5982\u4f55\u5f00\u542fIOMMU\u3002 \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u662f\u5728\u4e91\u4e3b\u673a\u4e0a\u8fd0\u884c\uff0c\u8bf7\u54a8\u8be2\u60a8\u7684\u4e91\u4e3b\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u3002

                "},{"location":"admin/virtnest/gpu/vm-vgpu.html#vgpu-manager","title":"\u6784\u5efa vGPU Manager \u955c\u50cf","text":"

                \u6ce8\u610f\uff1a\u4ec5\u5f53\u4f7f\u7528 NVIDIA vGPU \u65f6\u624d\u9700\u8981\u6784\u5efa vGPU Manager \u955c\u50cf\u3002\u5982\u679c\u60a8\u8ba1\u5212\u4ec5\u4f7f\u7528 GPU \u76f4\u901a\uff0c\u8bf7\u8df3\u8fc7\u6b64\u90e8\u5206\u3002

                \u4ee5\u4e0b\u662f\u6784\u5efa vGPU Manager \u955c\u50cf\u5e76\u5c06\u5176\u63a8\u9001\u5230\u955c\u50cf\u4ed3\u5e93\u4e2d\u7684\u6b65\u9aa4\uff1a

                1. \u4ece NVIDIA Licensing Portal \u4e0b\u8f7d vGPU \u8f6f\u4ef6\u3002

                  • \u767b\u5f55 NVIDIA Licensing Portal\uff0c\u8f6c\u5230 Software Downloads \u9875\u9762\u3002
                  • NVIDIA vGPU \u8f6f\u4ef6\u4f4d\u4e8e Software Downloads \u9875\u9762\u7684 Driver downloads \u9009\u9879\u5361\u4e2d\u3002
                  • \u5728\u7b5b\u9009\u6761\u4ef6\u4e2d\u9009\u62e9 VGPU + Linux \uff0c\u70b9\u51fb \u4e0b\u8f7d \u4ee5\u83b7\u53d6 Linux KVM \u7684\u8f6f\u4ef6\u5305\u3002 \u8bf7\u89e3\u538b\u4e0b\u8f7d\u7684\u6587\u4ef6\uff08NVIDIA-Linux-x86_64-<version>-vgpu-kvm.run\uff09\u3002

                2. \u6253\u5f00\u7ec8\u7aef\u514b\u9686 container-images/driver \u4ed3\u5e93

                  git clone https://gitlab.com/nvidia/container-images/driver cd driver\n
                3. \u5207\u6362\u5230\u60a8\u7684\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94 vgpu-manager \u76ee\u5f55

                  cd vgpu-manager/<your-os>\n
                4. \u5c06\u6b65\u9aa4 1 \u4e2d\u63d0\u53d6\u7684 .run \u6587\u4ef6 copy \u5230\u5f53\u524d\u76ee\u5f55

                  cp <local-driver-download-directory>/*-vgpu-kvm.run ./\n
                5. \u8bbe\u7f6e\u73af\u5883\u53d8\u91cf

                  • PRIVATE_REGISTRY\uff1a\u4e13\u7528\u6ce8\u518c\u8868\u7684\u540d\u79f0\uff0c\u7528\u4e8e\u5b58\u50a8\u9a71\u52a8\u7a0b\u5e8f\u6620\u50cf\u3002
                  • VERSION\uff1aNVIDIA vGPU\u7ba1\u7406\u5668\u7684\u7248\u672c\uff0c\u4eceNVIDIA\u8f6f\u4ef6\u95e8\u6237\u4e0b\u8f7d\u3002
                  • OS_TAG\uff1a\u5fc5\u987b\u4e0e\u96c6\u7fa4\u8282\u70b9\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u5339\u914d\u3002
                  • CUDA_VERSION\uff1a\u7528\u4e8e\u6784\u5efa\u9a71\u52a8\u7a0b\u5e8f\u6620\u50cf\u7684CUDA\u57fa\u672c\u6620\u50cf\u7248\u672c\u3002
                  export PRIVATE_REGISTRY=my/private/registry VERSION=510.73.06 OS_TAG=ubuntu22.04 CUDA_VERSION=12.2.0\n
                6. \u6784\u5efa NVIDIA vGPU Manager Image

                  docker build \\\n  --build-arg DRIVER_VERSION=${VERSION} \\\n  --build-arg CUDA_VERSION=${CUDA_VERSION} \\\n  -t ${PRIVATE_REGISTRY}/vgpu-manager:${VERSION}-${OS_TAG} .\n
                7. \u5c06 NVIDIA vGPU Manager \u6620\u50cf\u63a8\u9001\u5230\u60a8\u7684\u955c\u50cf\u4ed3\u5e93

                  docker push ${PRIVATE_REGISTRY}/vgpu-manager:${VERSION}-${OS_TAG}\n
                "},{"location":"admin/virtnest/gpu/vm-vgpu.html#_2","title":"\u6807\u8bb0\u96c6\u7fa4\u8282\u70b9","text":"

                \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u7136\u540e\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 , \u8fdb\u5165\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u4fee\u6539\u6807\u7b7e \uff0c\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u6bcf\u4e2a\u8282\u70b9\u53ea\u80fd\u6709\u4e00\u79cd\u6807\u7b7e\u3002

                \u60a8\u53ef\u4ee5\u4e3a\u6807\u7b7e\u5206\u914d\u4ee5\u4e0b\u503c\uff1acontainer\u3001vm-passthrough \u548c vm-vgpu\u3002

                "},{"location":"admin/virtnest/gpu/vm-vgpu.html#nvidia-operator","title":"\u5b89\u88c5 Nvidia Operator","text":"
                1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u9009\u62e9\u5e76\u5b89\u88c5 gpu-operator\u3002\u9700\u8981\u4fee\u6539\u4e00\u4e9b yaml \u4e2d\u7684\u76f8\u5173\u5b57\u6bb5\u3002

                  gpu-operator.sandboxWorkloads.enabled=true\ngpu-operator.vgpuManager.enabled=true\ngpu-operator.vgpuManager.repository=<your-register-url>      # (1)!\ngpu-operator.vgpuManager.image=vgpu-manager\ngpu-operator.vgpuManager.version=<your-vgpu-manager-version> # (2)!\ngpu-operator.vgpuDeviceManager.enabled=true\n
                  1. \u201c\u6784\u5efa vGPU Manager \u955c\u50cf\u201d \u6b65\u9aa4\u4e2d\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740
                  2. \u201c\u6784\u5efa vGPU Manager \u955c\u50cf\u201d \u6b65\u9aa4\u4e2d\u7684 VERSION
                2. \u7b49\u5f85\u5b89\u88c5\u6210\u529f\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                "},{"location":"admin/virtnest/gpu/vm-vgpu.html#virtnest-agent-cr","title":"\u5b89\u88c5 virtnest-agent \u5e76\u914d\u7f6e CR","text":"
                1. \u5b89\u88c5 virtnest-agent\uff0c\u53c2\u8003\u5b89\u88c5 virtnest-agent\u3002

                2. \u5c06 vGPU \u548c GPU \u76f4\u901a\u52a0\u5165 Virtnest Kubevirt CR\uff0c\u4ee5\u4e0b\u793a\u4f8b\u662f\u6dfb\u52a0 vGPU \u548c GPU \u76f4\u901a\u540e\u7684 \u90e8\u5206\u5173\u952e yaml\uff1a

                  spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:            # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com /GRID_P4-1Q\n      pciHostDevices:             # (3)!\n      - externalResourceProvider:  true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com /GP104GL_TESLA_P4\n
                  1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                  2. vGPU
                  3. GPU \u76f4\u901a
                3. \u5728 kubevirt CR yaml \u4e2d\uff0cpermittedHostDevices \u7528\u4e8e\u5bfc\u5165 VM \u8bbe\u5907\uff0cvGPU \u9700\u5728\u5176\u4e2d\u6dfb\u52a0 mediatedDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                  mediatedDevices:          \n- mdevNameSelector: GRID P4-1Q          # (1)!\n  resourceName: nvidia.com/GRID_P4-1Q   # (2)!\n
                  1. \u8bbe\u5907\u540d\u79f0
                  2. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 vGPU \u4fe1\u606f
                4. GPU \u76f4\u901a\u9700\u8981\u5728 permittedHostDevices \u4e0b\u6dfb\u52a0 pciHostDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                  pciHostDevices:           \n- externalResourceProvider: true            # (1)!\n  pciVendorSelector: 10DE:1BB3              # (2)!\n  resourceName: nvidia.com/GP104GL_TESLA_P4 # (3)!\n
                  1. \u9ed8\u8ba4\u4e0d\u8981\u66f4\u6539
                  2. \u5f53\u524d pci \u8bbe\u5907\u7684 vednor id
                  3. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 GPU \u4fe1\u606f
                5. \u83b7\u53d6 vGPU \u4fe1\u606f\u793a\u4f8b\uff08\u4ec5\u9002\u7528\u4e8e vGPU\uff09\uff1a\u5728\u6807\u8bb0\u4e3a nvidia.com/gpu.workload.config=vm-gpu \u7684\u8282\u70b9\uff08\u4f8b\u5982 work-node-2\uff09\u4e0a\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c Capacity \u4e2d\u7684 nvidia.com/GRID_P4-1Q: 8 \u8868\u793a\u53ef\u7528 vGPU\uff1a

                  kubectl describe node work-node-2\n
                  Capacity:\n  cpu:                                 64\n  devices.kubevirt.io/kvm:             1k\n  devices.kubevirt.io/tun:             1k\n  devices.kubevirt.io/vhost-net:       1k\n  ephemeral-storage:                   102626232Ki\n  hugepages-1Gi:                       0\n  hugepages-2Mi:                       0\n  memory:                              264010840Ki\n  nvidia.com/GRID_P4-1Q :              8\n  pods:                                110\nAllocatable:\n  cpu:                                  64\n  devices.kubevirt.io/kvm:              1k\n  devices.kubevirt.io/tun:              1k\n  devices.kubevirt.io/vhost-net:        1k\n  ephemeral-storage:                    94580335255\n  hugepages-1Gi:                        0\n  hugepages-2Mi:                        0\n  memory:                               263908440Ki\n  nvidia.com/GRID_P4-1Q:                8\n  pods:                                 110\n

                  \u90a3\u4e48 mdevNameSelector \u5e94\u8be5\u662f \u201cGRID P4-1Q\u201d\uff0cresourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d

                6. \u83b7\u53d6 GPU \u76f4\u901a\u4fe1\u606f\uff1a\u5728\u6807\u8bb0 nvidia.com/gpu.workload.config=vm-passthrough \u7684 node \u4e0a\uff08\u672c\u6587\u6863\u793a\u4f8b node \u4e3a work-node-1\uff09\uff0c \u67e5\u770b node \u4fe1\u606f\uff0cCapacity \u4e2d nvidia.com/GP104GL_TESLA_P4: 2 \u5c31\u662f\u53ef\u7528 vGPU\uff1a

                  kubectl describe node work-node-1\n
                  Capacity:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              102626232Ki\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         264010840Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\nAllocatable:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              94580335255\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         263908440Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\n

                  \u90a3\u4e48 resourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d, \u5982\u4f55\u83b7\u53d6 pciVendorSelector \u5462\uff1f\u901a\u8fc7 ssh \u767b\u5f55\u5230 work-node-1 \u76ee\u6807\u8282\u70b9\uff0c \u901a\u8fc7 lspci -nnk -d 10de: \u547d\u4ee4\u83b7\u53d6 Nvidia GPU PCI \u4fe1\u606f\uff0c\u5982\u4e0b\u6240\u793a\uff1a\u7ea2\u6846\u6240\u793a\u5373\u662f pciVendorSelector \u4fe1\u606f\u3002

                7. \u7f16\u8f91 kubevirt CR \u63d0\u793a\uff1a\u5982\u679c\u540c\u4e00\u578b\u53f7 GPU \u6709\u591a\u4e2a\uff0c\u53ea\u9700\u5728 CR \u4e2d\u5199\u5165\u4e00\u4e2a\u5373\u53ef\uff0c\u65e0\u9700\u5217\u51fa\u6bcf\u4e2a GPU\u3002

                  kubectl -n virtnest-system edit kubevirt kubevirt\n
                  spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:                    # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com/GRID_P4-1Q\n      pciHostDevices:                       # (3)!\n      - externalResourceProvider: true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com/GP104GL_TESLA_P4 \n

                  1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                  2. vGPU
                  3. GPU \u76f4\u901a\uff0c\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d TEESLA P4 \u6709\u4e24\u4e2a GPU\uff0c\u8fd9\u91cc\u53ea\u9700\u8981\u6ce8\u518c\u4e00\u4e2a\u5373\u53ef
                "},{"location":"admin/virtnest/gpu/vm-vgpu.html#yaml-vm-gpu","title":"\u901a\u8fc7 YAML \u521b\u5efa VM \u5e76\u4f7f\u7528 GPU \u52a0\u901f","text":"

                \u4e0e\u666e\u901a\u4e91\u4e3b\u673a\u552f\u4e00\u7684\u533a\u522b\u662f\u5728 devices \u4e2d\u6dfb\u52a0 gpu \u76f8\u5173\u4fe1\u606f\u3002

                \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: testvm-gpu1\n  namespace: default\nspec:\n  dataVolumeTemplates:\n  - metadata:\n      creationTimestamp: null\n      name: systemdisk-testvm-gpu1\n      namespace: default\n    spec:\n      pvc:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 10Gi\n        storageClassName: www\n      source:\n        registry:\n          url: docker://release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1\nrunStrategy: Manual\ntemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n          - bootOrder: 1\n            disk:\n              bus: virtio\n            name: systemdisk-testvm-gpu1\n          - disk:\n              bus: virtio\n            name: cloudinitdisk\n        gpus:\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n            name: gpu-0-0\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n          name: gpu-0-1\n        interfaces:\n        - masquerade: {}\n          name: default\n      machine:\n        type: q35\n      resources:\n        requests:\n          memory: 2Gi\n    networks:\n    - name: default\n      pod: {}\n    volumes:\n    - dataVolume:\n        name: systemdisk-testvm-gpu1\n      name: systemdisk-testvm-gpu1\n    - cloudInitNoCloud:\n        userDataBase64: I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OmRhbmdlcm91cyIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n        name: cloudinitdisk\n
                "},{"location":"admin/virtnest/quickstart/index.html","title":"\u521b\u5efa\u4e91\u4e3b\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u4e91\u4e3b\u673a\u3002

                \u4e91\u4e3b\u673a\u57fa\u4e8e KubeVirt \u6280\u672f\u5c06\u4e91\u4e3b\u673a\u4f5c\u4e3a\u4e91\u539f\u751f\u5e94\u7528\u8fdb\u884c\u7ba1\u7406\uff0c\u4e0e\u5bb9\u5668\u65e0\u7f1d\u5730\u8854\u63a5\u5728\u4e00\u8d77\uff0c \u4f7f\u7528\u6237\u80fd\u591f\u8f7b\u677e\u5730\u90e8\u7f72\u4e91\u4e3b\u673a\u5e94\u7528\uff0c\u4eab\u53d7\u4e0e\u5bb9\u5668\u5e94\u7528\u4e00\u81f4\u7684\u4e1d\u6ed1\u4f53\u9a8c\u3002

                "},{"location":"admin/virtnest/quickstart/index.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u521b\u5efa\u4e91\u4e3b\u673a\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5411\u7528\u6237\u673a\u64cd\u4f5c\u7cfb\u7edf\u516c\u5f00\u786c\u4ef6\u8f85\u52a9\u7684\u865a\u62df\u5316\u3002
                • \u5728\u6307\u5b9a\u96c6\u7fa4\u5b89\u88c5 virtnest-agent\uff0c\u64cd\u4f5c\u7cfb\u7edf\u5185\u6838\u7248\u672c\u9700\u8981\u5728 3.15 \u4ee5\u4e0a\u3002
                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002
                • \u63d0\u524d\u51c6\u5907\u597d\u955c\u50cf\uff0c\u5e73\u53f0\u5185\u7f6e\u4e09\u79cd\u955c\u50cf (\u5982\u4e0b\u6587\u6240\u793a)\uff0c\u5982\u9700\u5236\u4f5c\u955c\u50cf\uff0c\u53ef\u53c2\u8003\u5f00\u6e90\u9879\u76ee\u5236\u4f5c\u955c\u50cf\u3002
                • \u8fdb\u884c\u7f51\u7edc\u914d\u7f6e\u65f6\uff0c\u82e5\u9009\u62e9\u4f7f\u7528 Passt \u7f51\u7edc\u6a21\u5f0f\uff0c\u5219\u9700\u8981\u5347\u7ea7\u81f3 0.4.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u3002
                "},{"location":"admin/virtnest/quickstart/index.html#_3","title":"\u955c\u50cf\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u4e91\u4e3b\u673a\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165 \u4e91\u4e3b\u673a \u9875\u9762\u3002

                2. \u5728\u4e91\u4e3b\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb \u521b\u5efa\u4e91\u4e3b\u673a -> \u9009\u62e9 \u901a\u8fc7\u955c\u50cf\u521b\u5efa \u3002

                3. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u9875\u9762\uff0c\u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u955c\u50cf\u914d\u7f6e\u3001\u5b58\u50a8\u4e0e\u7f51\u7edc\u3001\u767b\u5f55\u8bbe\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u4e91\u4e3b\u673a\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u4e91\u4e3b\u673a\u6267\u884c\u5173\u673a/\u5f00\u542f\u3001\u91cd\u542f\u3001\u514b\u9686\u3001\u66f4\u65b0\u3001\u521b\u5efa\u5feb\u7167\u3001\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002 \u514b\u9686\u548c\u5feb\u7167\u80fd\u529b\u4f9d\u8d56\u4e8e\u5b58\u50a8\u6c60\u7684\u9009\u62e9\u3002

                "},{"location":"admin/virtnest/quickstart/index.html#_4","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u5728 \u521b\u5efa\u4e91\u4e3b\u673a \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                • \u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002 \u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u540d\u79f0\u5728\u4e91\u4e3b\u673a\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u522b\u540d\uff1a\u5141\u8bb8\u4efb\u4f55\u5b57\u7b26\uff0c\u6700\u957f 60 \u4e2a\u5b57\u7b26\u3002
                • \u96c6\u7fa4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4e91\u4e3b\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u96c6\u7fa4\u5185\uff0c\u82e5\u6709\u4f7f\u7528 GPU \u80fd\u529b\u7684\u9700\u6c42\uff0c\u5219\u9700\u8981\u9009\u62e9\u6709 GPU/vGPU \u5361\u7684\u96c6\u7fa4\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4e91\u4e3b\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\u3002 \u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                • \u6807\u7b7e/\u6ce8\u89e3\uff1a\u9009\u62e9\u4e3a\u4e91\u4e3b\u673a\u6dfb\u52a0\u6240\u9700\u7684\u6807\u7b7e/\u6ce8\u89e3\u4fe1\u606f\u3002
                "},{"location":"admin/virtnest/quickstart/index.html#_5","title":"\u955c\u50cf\u914d\u7f6e","text":"

                \u6839\u636e\u4e0b\u8868\u586b\u5199\u955c\u50cf\u76f8\u5173\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65

                1. \u955c\u50cf\u6765\u6e90\uff1a\u652f\u6301\u4e09\u79cd\u7c7b\u578b\u7684\u6765\u6e90\u3002

                  • \u955c\u50cf\u4ed3\u5e93\u7c7b\u578b\uff1a\u955c\u50cf\u5b58\u50a8\u5728\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93\u4e2d\uff0c\u652f\u6301\u4ece\u955c\u50cf\u4ed3\u5e93\u4e2d\u6309\u9700\u9009\u62e9\u955c\u50cf\uff1b
                  • HTTP \u7c7b\u578b\uff1a\u955c\u50cf\u5b58\u50a8\u4e8e HTTP \u534f\u8bae\u7684\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\uff0c\u652f\u6301 HTTPS://\u548c HTTP://\u524d\u7f00\uff1b
                  • \u5bf9\u8c61\u5b58\u50a8\uff08S3\uff09\uff1a\u652f\u6301\u901a\u8fc7\u5bf9\u8c61\u5b58\u50a8\u534f\u8bae (S3) \u83b7\u53d6\u7684\u4e91\u4e3b\u673a\u955c\u50cf\uff0c\u82e5\u662f\u65e0\u9700\u8ba4\u8bc1\u7684\u5bf9\u8c61\u5b58\u50a8\u6587\u4ef6\uff0c\u8bf7\u4f7f\u7528 HTTP \u6765\u6e90\u3002
                2. \u4ee5\u4e0b\u662f\u5e73\u53f0\u5185\u7f6e\u7684\u955c\u50cf\u4fe1\u606f\uff0c\u5305\u62ec\u64cd\u4f5c\u7cfb\u7edf\u548c\u7248\u672c\u3001\u955c\u50cf\u5730\u5740\u3002\u540c\u65f6\u4e5f\u652f\u6301\u81ea\u5b9a\u4e49\u4e91\u4e3b\u673a\u955c\u50cf\u3002

                  \u64cd\u4f5c\u7cfb\u7edf \u5bf9\u5e94\u7248\u672c \u955c\u50cf\u5730\u5740 CentOS CentOS 7.9 release-ci.daocloud.io/virtnest/system-images/centos-7.9-x86_64:v1 Ubuntu Ubuntu 22.04 release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1 Debian Debian 12 release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1
                3. \u955c\u50cf\u5bc6\u94a5\uff1a\u4ec5\u652f\u6301\u9ed8\u8ba4\uff08Opaque\uff09\u7c7b\u578b\u5bc6\u94a5\uff0c\u5177\u4f53\u683c\u5f0f\u8bf7\u53c2\u8003\u521b\u5efa\u5bc6\u94a5\u3002

                  \u5e73\u53f0\u5185\u7f6e\u955c\u50cf\u5b58\u50a8\u5728\u70b9\u706b\u96c6\u7fa4\u4e2d\uff0c\u800c\u70b9\u706b\u96c6\u7fa4\u7684\u955c\u50cf\u4ed3\u5e93\u672a\u52a0\u5bc6\uff0c\u56e0\u6b64\u5f53\u9009\u62e9\u5185\u7f6e\u955c\u50cf\u65f6\uff0c\u65e0\u9700\u9009\u62e9\u5bc6\u94a5\u3002

                Note

                CPU \u548c\u5185\u5b58\u7684\u70ed\u52a0\u8f7d\u914d\u7f6e\u8981\u6c42\uff1avirtnest \u7684\u7248\u672c\u4e0d\u4f4e\u4e8e v0.10.0\uff0c\u5e76\u4e14 virtnest-agent \u7248\u672c\u4e0d\u4f4e\u4e8e v0.7.0\uff1b\u652f\u6301\u5b9e\u65f6\u8fc1\u79fb\uff08\u786e\u4fdd PVC \u8bbf\u95ee\u6a21\u5f0f\u4e3a ReadWriteMany\uff09\u3002

                1. \u8d44\u6e90\u914d\u7f6e\uff1aCPU \u5efa\u8bae\u4f7f\u7528\u6574\u6570\uff0c\u82e5\u586b\u5199\u5c0f\u6570\u5219\u4f1a\u5411\u4e0a\u53d6\u6574\u3002\u652f\u6301 CPU\u3001\u5185\u5b58\u7684\u70ed\u52a0\u8f7d\u3002

                2. GPU \u914d\u7f6e\uff1a\u542f\u7528 GPU \u529f\u80fd\u9700\u8981\u9700\u8981\u6ee1\u8db3\u524d\u63d0\u6761\u4ef6\uff0c\u5177\u4f53\u53ef\u53c2\u8003 \u4e91\u4e3b\u673a\u914d\u7f6e GPU\uff08Nvidia)\u3002 \u4e91\u4e3b\u673a\u652f\u6301 Nvidia\u2014GPU \u548c Nvidia\u2014vGPU \u4e24\u79cd\u7c7b\u578b\uff0c\u9009\u62e9\u6240\u9700\u7c7b\u578b\u540e\uff0c\u9700\u8981\u9009\u62e9\u5bf9\u5e94\u7684 GPU \u578b\u53f7\u548c\u5361\u7684\u6570\u91cf\u3002

                "},{"location":"admin/virtnest/quickstart/index.html#_6","title":"\u5b58\u50a8\u4e0e\u7f51\u7edc\u914d\u7f6e","text":"
                • \u5b58\u50a8\uff1a

                  • \u5b58\u50a8\u548c\u4e91\u4e3b\u673a\u7684\u529f\u80fd\u606f\u606f\u76f8\u5173\uff0c\u4e3b\u8981\u662f\u901a\u8fc7\u4f7f\u7528 Kubernetes \u7684\u6301\u4e45\u5377\u548c\u5b58\u50a8\u7c7b\uff0c\u63d0\u4f9b\u4e86\u7075\u6d3b\u4e14\u53ef\u6269\u5c55\u7684\u4e91\u4e3b\u673a\u5b58\u50a8\u80fd\u529b\u3002\u6bd4\u5982\u4e91\u4e3b\u673a\u955c\u50cf\u5b58\u50a8\u5728 pvc \u91cc\uff0c\u652f\u6301\u548c\u5176\u4ed6\u6570\u636e\u4e00\u8d77\u514b\u9686\u3001\u5feb\u7167\u7b49\u3002

                  • \u7cfb\u7edf\u76d8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002

                  • \u6570\u636e\u76d8\uff1a\u6570\u636e\u76d8\u662f\u4e91\u4e3b\u673a\u4e2d\u7528\u4e8e\u5b58\u50a8\u7528\u6237\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u6570\u636e\u6216\u5176\u4ed6\u975e\u64cd\u4f5c\u7cfb\u7edf\u76f8\u5173\u6587\u4ef6\u7684\u5b58\u50a8\u8bbe\u5907\u3002\u4e0e\u7cfb\u7edf\u76d8\u76f8\u6bd4\uff0c\u6570\u636e\u76d8\u662f\u975e\u5fc5\u9009\u7684\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u52a8\u6001\u6dfb\u52a0\u6216\u79fb\u9664\u3002\u6570\u636e\u76d8\u7684\u5bb9\u91cf\u4e5f\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u8fdb\u884c\u7075\u6d3b\u914d\u7f6e\u3002

                  • \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u5df2\u7ecf\u521b\u5efa\u4e86\u5bf9\u5e94\u7684 VolumeSnapshotClass\uff0c \u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u793a\u4f8b\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u652f\u6301\u5e76\u9009\u62e9\u4e86 ReadWriteMany \u7684\u8bbf\u95ee\u6a21\u5f0f \u3002

                    \u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5b58\u50a8\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u4e0d\u4f1a\u81ea\u52a8\u521b\u5efa\u8fd9\u6837\u7684 VolumeSnapshotClass\uff0c\u56e0\u6b64\u60a8\u9700\u8981\u624b\u52a8\u521b\u5efa VolumeSnapshotClass\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a HwameiStor \u521b\u5efa VolumeSnapshotClass \u7684\u793a\u4f8b\uff1a

                    kind: VolumeSnapshotClass\napiVersion: snapshot.storage.k8s.io/v1\nmetadata:\n  name: hwameistor-storage-lvm-snapshot\n  annotations:\n    snapshot.storage.kubernetes.io/is-default-class: \"true\"\nparameters:\n  snapsize: \"1073741824\"\ndriver: lvm.hwameistor.io\ndeletionPolicy: Delete\n
                  • \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u68c0\u67e5 VolumeSnapshotClass \u662f\u5426\u521b\u5efa\u6210\u529f\u3002

                    kubectl get VolumeSnapshotClass\n
                  • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass\uff0c\u5e76\u4e14\u786e\u8ba4 provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002

                • \u7f51\u7edc\uff1a

                  • \u7f51\u7edc\u914d\u7f6e\u53ef\u4ee5\u6839\u636e\u8868\u683c\u4fe1\u606f\u6309\u9700\u7ec4\u5408\u3002

                    \u7f51\u7edc\u6a21\u5f0f CNI \u662f\u5426\u5b89\u88c5 Spiderpool \u7f51\u5361\u6a21\u5f0f \u56fa\u5b9a IP \u5b9e\u65f6\u8fc1\u79fb Masquerade\uff08NAT\uff09 Calico \u274c \u5355\u7f51\u5361 \u274c \u2705 Cilium \u274c \u5355\u7f51\u5361 \u274c \u2705 Flannel \u274c \u5355\u7f51\u5361 \u274c \u2705 Bridge\uff08\u6865\u63a5\uff09 OVS \u2705 \u591a\u7f51\u5361 \u2705 \u2705

                  • \u7f51\u7edc\u6a21\u5f0f\u5206\u4e3a Masquerade\uff08NAT\uff09\u548c Bridge\uff08\u6865\u63a5\uff09\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u9700\u8981\u5b89\u88c5\u4e86 Spiderpool \u7ec4\u4ef6\u540e\u65b9\u53ef\u4f7f\u7528\u3002

                    • \u9ed8\u8ba4\u9009\u62e9 Masquerade\uff08NAT\uff09\u7684\u7f51\u7edc\u6a21\u5f0f\uff0c\u4f7f\u7528 eth0 \u9ed8\u8ba4\u7f51\u5361\u3002
                    • \u82e5\u96c6\u7fa4\u5185\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\uff0c\u5219\u652f\u6301\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u652f\u6301\u591a\u7f51\u5361\u5f62\u5f0f\u3002

                  • \u6dfb\u52a0\u7f51\u5361

                    • Passt\uff08\u76f4\u901a\uff09/Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u4e0b\u652f\u6301\u624b\u52a8\u6dfb\u52a0\u7f51\u5361\u3002\u70b9\u51fb \u6dfb\u52a0\u7f51\u5361 \uff0c\u8fdb\u884c\u7f51\u5361 IP \u6c60\u7684\u914d\u7f6e\u3002\u9009\u62e9\u548c\u7f51\u7edc\u6a21\u5f0f\u5339\u914d\u7684 Multus CR\uff0c\u82e5\u6ca1\u6709\u5219\u9700\u8981\u81ea\u884c\u521b\u5efa\u3002
                    • \u82e5\u6253\u5f00 \u4f7f\u7528\u9ed8\u8ba4 IP \u6c60 \u5f00\u5173\uff0c\u5219\u4f7f\u7528 multus CR \u914d\u7f6e\u4e2d\u7684\u9ed8\u8ba4 IP \u6c60\u3002\u82e5\u5173\u95ed\u5f00\u5173\uff0c\u5219\u624b\u52a8\u9009\u62e9 IP \u6c60\u3002

                "},{"location":"admin/virtnest/quickstart/index.html#_7","title":"\u767b\u5f55\u8bbe\u7f6e","text":"
                • \u7528\u6237\u540d/\u5bc6\u7801\uff1a\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u81f3\u4e91\u4e3b\u673a\u3002
                • SSH\uff1a\u9009\u62e9 SSH \u767b\u5f55\u65b9\u5f0f\u65f6\u53ef\u4e3a\u4e91\u4e3b\u673a\u7ed1\u5b9a SSH \u5bc6\u94a5\uff0c\u7528\u4e8e\u65e5\u540e\u767b\u5f55\u4e91\u4e3b\u673a\u3002
                "},{"location":"admin/virtnest/quickstart/index.html#yaml","title":"YAML \u521b\u5efa","text":"

                \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u4e91\u4e3b\u673a\u3002

                \u8fdb\u5165\u4e91\u4e3b\u673a\u5217\u8868\u9875\uff0c\u70b9\u51fb \u901a\u8fc7 YAML \u521b\u5efa \u6309\u94ae\u3002

                \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u4e91\u4e3b\u673a\u7684 YAML \u793a\u4f8b
                apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: demo\n  namespace: default\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        name: systemdisk-demo\n        namespace: default\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n              docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Always\n  template:\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: systemdisk-demo\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      volumes:\n        - dataVolume:\n            name: systemdisk-demo\n          name: systemdisk-demo\n        - cloudInitNoCloud:\n            userDataBase64: >-\n              I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OjEyMzQ1NiIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n          name: cloudinitdisk\n
                "},{"location":"admin/virtnest/quickstart/access.html","title":"\u8fde\u63a5\u4e91\u4e3b\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u4e24\u79cd\u8fde\u63a5\u4e91\u4e3b\u673a\u7684\u65b9\u5f0f\uff0c\u5206\u522b\u4e3a \u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u548c\u7ec8\u7aef\u65b9\u5f0f\u3002

                "},{"location":"admin/virtnest/quickstart/access.html#_2","title":"\u7ec8\u7aef","text":"

                \u901a\u8fc7\u7ec8\u7aef\u8bbf\u95ee\u4e91\u4e3b\u673a\u7684\u65b9\u5f0f\u66f4\u52a0\u7075\u6d3b\u548c\u8f7b\u91cf\uff0c\u4f46\u662f\u65e0\u6cd5\u76f4\u63a5\u5c55\u793a\u56fe\u5f62\u754c\u9762\uff0c\u4ea4\u4e92\u6027\u8f83\u5dee\uff0c\u4e14\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u652f\u6301\u901a\u8fc7\u7ec8\u7aef\u65b9\u5f0f\u8bbf\u95ee\u4e91\u4e3b\u673a\u3002

                "},{"location":"admin/virtnest/quickstart/access.html#vnc","title":"\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09","text":"

                \u901a\u8fc7 VNC \u8bbf\u95ee\u4e91\u4e3b\u673a\u7684\u65b9\u5f0f\u53ef\u4ee5\u5b9e\u73b0\u5bf9\u8fdc\u7a0b\u8ba1\u7b97\u673a\u7684\u5b8c\u6574\u56fe\u5f62\u754c\u9762\u7684\u8bbf\u95ee\u548c\u63a7\u5236\uff0c\u80fd\u591f\u76f4\u89c2\u5730\u64cd\u4f5c\u8fdc\u7a0b\u8bbe\u5907\uff0c\u4ea4\u4e92\u6027\u66f4\u52a0\u597d\uff0c\u4f46\u662f\u6027\u80fd\u4f1a\u53d7\u5230\u4e00\u5b9a\u5f71\u54cd\uff0c\u4e14\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                Windows \u7cfb\u7edf\u9009\u62e9 VNC\u3002

                \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u652f\u6301\u901a\u8fc7\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u7684\u65b9\u5f0f\u8bbf\u95ee\u4e91\u4e3b\u673a\u3002

                "},{"location":"admin/virtnest/quickstart/detail.html","title":"\u4e91\u4e3b\u673a\u8be6\u60c5","text":"

                \u6210\u529f\u521b\u5efa\u4e91\u4e3b\u673a\u540e\uff0c\u53ef\u8fdb\u5165\u4e91\u4e3b\u673a\u8be6\u60c5\u9875\u9762\uff0c\u652f\u6301\u67e5\u770b\u57fa\u672c\u4fe1\u606f\u3001\u914d\u7f6e\u4fe1\u606f\u3001GPU \u4fe1\u606f\u3001\u6982\u89c8\u3001\u5b58\u50a8\u3001\u7f51\u7edc\u3001\u5feb\u7167\u3001\u4e8b\u4ef6\u7b49\u3002

                \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u96c6\u7fa4\u5217\u8868 \uff0c\u8fdb\u5165\u4e91\u4e3b\u673a\u6240\u5728\u96c6\u7fa4\u8be6\u60c5\uff0c\u70b9\u51fb\u4e91\u4e3b\u673a\u540d\u79f0\u67e5\u770b\u4e91\u4e3b\u673a\u8be6\u60c5\u3002

                "},{"location":"admin/virtnest/quickstart/detail.html#_2","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u4e91\u4e3b\u673a\u57fa\u672c\u4fe1\u606f\u5305\u542b\u72b6\u6001\u3001\u522b\u540d\u3001\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001IP\u3001\u6807\u7b7e\u3001\u8282\u70b9\u3001\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u3002\u5176\u4e2d\uff0c

                • \u72b6\u6001\uff1a\u4e91\u4e3b\u673a\u5f53\u524d\u7684\u8fd0\u884c\u72b6\u6001\uff08\u8fd0\u884c\u4e2d/\u5904\u7406\u4e2d/\u5173\u673a/\u9519\u8bef\uff09\u3002
                • IP \uff1a\u4e91\u4e3b\u673a\u7684 IP \u5730\u5740\u3002\u5bf9\u4e8e\u6dfb\u52a0\u591a\u5f20\u7f51\u5361\u7684\u4e91\u4e3b\u673a\uff0c\u4f1a\u4e3a\u5176\u5206\u914d\u591a\u4e2a IP \u5730\u5740\u3002
                "},{"location":"admin/virtnest/quickstart/detail.html#gpu","title":"\u914d\u7f6e\u4fe1\u606f & GPU \u914d\u7f6e","text":"

                \u4e91\u4e3b\u673a\u914d\u7f6e\u4fe1\u606f\u5305\u62ec\uff1a

                • \u64cd\u4f5c\u7cfb\u7edf\uff1a\u5b89\u88c5\u5728\u4e91\u4e3b\u673a\u4e0a\u7528\u4e8e\u6267\u884c\u7a0b\u5e8f\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002
                • \u955c\u50cf\u5730\u5740\uff1a\u5411\u4e00\u4e2a\u865a\u62df\u786c\u76d8\u6587\u4ef6\u6216\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u4ecb\u8d28\u7684\u94fe\u63a5\uff0c\u8fd9\u4e2a\u5730\u5740\u7528\u4e8e\u5728\u4e91\u4e3b\u673a\u8f6f\u4ef6\u4e2d\u52a0\u8f7d\u548c\u5b89\u88c5\u64cd\u4f5c\u7cfb\u7edf\u3002
                • \u7f51\u7edc\u6a21\u5f0f\uff1a\u4e91\u4e3b\u673a\u914d\u7f6e\u7684\u7f51\u7edc\u6a21\u5f0f\uff0cBridge\uff08\u6865\u63a5\uff09\u6216 Masquerade\uff08NAT\uff09\u3002
                • CPU\u3001\u5185\u5b58\uff1a\u4e3a\u4e91\u4e3b\u673a\u5206\u914d\u7684\u8d44\u6e90\u3002

                GPU \u914d\u7f6e\u4fe1\u606f\u5305\u542b GPU \u7c7b\u578b\u3001GPU \u578b\u53f7\u4ee5\u53ca\u5361\u6570\u91cf\u3002

                "},{"location":"admin/virtnest/quickstart/detail.html#_3","title":"\u5176\u4ed6\u4fe1\u606f","text":"\u6982\u89c8\u50a8\u5b58\u7f51\u7edc\u5feb\u7167\u4e8b\u4ef6\u5217\u8868

                \u4e91\u4e3b\u673a\u6982\u89c8\u9875\u53ef\u67e5\u770b\u4e91\u4e3b\u673a\u7684\u76d1\u63a7\u5185\u5bb9\u3002\u8bf7\u6ce8\u610f\uff0c\u82e5\u672a\u5b89\u88c5 insight-agent \u7ec4\u4ef6\uff0c\u5219\u65e0\u6cd5\u83b7\u53d6\u76d1\u63a7\u4fe1\u606f\u3002

                \u5c55\u793a\u4e91\u4e3b\u673a\u6240\u7528\u7684\u5b58\u50a8\uff0c\u5305\u62ec\u7cfb\u7edf\u76d8\u548c\u6570\u636e\u76d8\u7684\u4fe1\u606f\u3002

                \u5c55\u793a\u4e91\u4e3b\u673a\u7684\u7f51\u7edc\u914d\u7f6e\uff0c\u5305\u62ec Multus CR\u3001\u7f51\u5361\u540d\u79f0\u3001IP \u5730\u5740\u7b49\u4fe1\u606f\u3002

                \u82e5\u5df2\u7ecf\u521b\u5efa\u5feb\u7167\uff0c\u672c\u9875\u5c06\u5c55\u793a\u4e91\u4e3b\u673a\u7684\u5feb\u7167\u4fe1\u606f\uff0c\u652f\u6301\u901a\u8fc7\u5feb\u7167\u6062\u590d\u4e91\u4e3b\u673a\u3002

                \u4e8b\u4ef6\u5217\u8868\u5305\u542b\u4e91\u4e3b\u673a\u7684\u751f\u547d\u5468\u671f\u4e2d\u53d1\u751f\u7684\u5404\u79cd\u72b6\u6001\u53d8\u5316\u3001\u64cd\u4f5c\u8bb0\u5f55\u548c\u7cfb\u7edf\u6d88\u606f\u7b49\u3002

                "},{"location":"admin/virtnest/quickstart/nodeport.html","title":"\u901a\u8fc7 NodePort \u8bbf\u95ee\u4e91\u4e3b\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 NodePort \u8bbf\u95ee\u4e91\u4e3b\u673a\u3002

                "},{"location":"admin/virtnest/quickstart/nodeport.html#_1","title":"\u73b0\u6709\u8bbf\u95ee\u65b9\u5f0f\u7684\u7f3a\u9677","text":"
                1. \u4e91\u4e3b\u673a\u652f\u6301\u901a\u8fc7 VNC \u6216\u8005 console \u8bbf\u95ee\uff0c\u4f46\u8fd9\u4e24\u79cd\u8bbf\u95ee\u65b9\u5f0f\u90fd\u6709\u4e00\u4e2a\u5f0a\u7aef\uff0c\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                2. \u901a\u8fc7 NodePort \u5f62\u5f0f\u7684 Service\uff0c\u53ef\u4ee5\u5e2e\u52a9\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002

                "},{"location":"admin/virtnest/quickstart/nodeport.html#service","title":"\u521b\u5efa service \u7684\u65b9\u5f0f","text":"
                1. \u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u9875\u9762

                  • \u9009\u62e9\u76ee\u6807\u8bbf\u95ee\u7684\u4e91\u4e3b\u673a\u6240\u5728\u96c6\u7fa4\u9875\u9762\u521b\u5efa\u670d\u52a1\uff08Service\uff09
                  • \u9009\u62e9\u8bbf\u95ee\u7c7b\u578b\u4e3a\u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09
                  • \u9009\u62e9\u547d\u540d\u7a7a\u95f4\uff08\u4e91\u4e3b\u673a\u6240\u5728 namespace\uff09
                  • \u6807\u7b7e\u9009\u62e9\u5668\u586b\u5199 vm.kubevirt.io/name: you-vm-name
                  • \u7aef\u53e3\u914d\u7f6e\uff1a\u534f\u8bae\u9009\u62e9 TCP\uff0c\u7aef\u53e3\u540d\u79f0\u81ea\u5b9a\u4e49\uff0c\u670d\u52a1\u7aef\u53e3\u3001\u5bb9\u5668\u7aef\u53e3\u586b\u5199 22
                2. \u521b\u5efa\u6210\u529f\u540e\uff0c\u5c31\u53ef\u4ee5\u901a\u8fc7 ssh username@nodeip -p port \u6765\u8bbf\u95ee\u4e91\u4e3b\u673a

                "},{"location":"admin/virtnest/quickstart/nodeport.html#kubectl-svc","title":"\u901a\u8fc7 kubectl \u521b\u5efa svc","text":"
                1. \u7f16\u5199 YAML \u6587\u4ef6\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a

                  apiVersion: v1\nkind: Service\n  metadata:\n    name: test-ssh\nspec:\n  ports:\n  - name: tcp-ssh\n    nodePort: 32090\n    protocol: TCP\n    // 22 \u7aef\u53e3\uff0c\u4e0d\u8981\u66f4\u6539\n    port: 22 \n    targetPort: 22\n  selector:\n    // \u4e91\u4e3b\u673a\u7684 name\n\u00a0 \u00a0vm.kubevirt.io/name: test-image-s3\n  type: NodePort\n
                2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4

                  kubectl apply -f you-svc.yaml\n
                3. \u521b\u5efa\u6210\u529f\u540e\uff0c\u5c31\u53ef\u4ee5\u901a\u8fc7 ssh username@nodeip -p 32090 \u6765\u8bbf\u95ee\u4e91\u4e3b\u673a

                "},{"location":"admin/virtnest/quickstart/update.html","title":"\u66f4\u65b0\u4e91\u4e3b\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u8868\u5355\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u66f4\u65b0\u4e91\u4e3b\u673a\u3002

                "},{"location":"admin/virtnest/quickstart/update.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5f00\u673a\u72b6\u6001\u4e0b\u66f4\u65b0\u4e91\u4e3b\u673a CPU\u3001\u5185\u5b58\u3001\u6570\u636e\u76d8\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u4e91\u4e3b\u673a\u652f\u6301\u5b9e\u65f6\u8fc1\u79fb\u80fd\u529b\u3002
                "},{"location":"admin/virtnest/quickstart/update.html#_3","title":"\u8868\u5355\u66f4\u65b0\u4e91\u4e3b\u673a","text":"

                \u5728\u4e91\u4e3b\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb \u66f4\u65b0 \u8fdb\u5165\u4e91\u4e3b\u673a\u66f4\u65b0\u9875\u9762\u3002

                \u57fa\u672c\u4fe1\u606f\u955c\u50cf\u914d\u7f6e\u5b58\u50a8\u4e0e\u7f51\u7edc\u767b\u5f55\u8bbe\u7f6e

                \u57fa\u672c\u4fe1\u606f\u9875\u9762\u4e2d\uff0c \u522b\u540d \u4e0e \u6807\u7b7e\u6ce8\u89e3 \u652f\u6301\u66f4\u65b0\uff0c\u5176\u4ed6\u4fe1\u606f\u65e0\u6cd5\u66f4\u6539\u3002\u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u955c\u50cf\u914d\u7f6e\u7684\u754c\u9762\u3002

                \u5728\u955c\u50cf\u914d\u7f6e\u9875\u9762\u4e2d\uff0c\u955c\u50cf\u6765\u6e90\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7248\u672c\u7b49\u53c2\u6570\u4e00\u65e6\u9009\u62e9\u540e\u65e0\u6cd5\u66f4\u6539\uff0c\u5141\u8bb8\u7528\u6237\u66f4\u65b0 GPU \u914d\u7f6e \uff0c \u5305\u62ec\u542f\u7528\u6216\u7981\u7528 GPU \u652f\u6301\uff0c\u9009\u62e9 GPU \u7684\u7c7b\u578b\uff0c\u6307\u5b9a\u6240\u9700\u7684\u578b\u53f7\uff0c\u4ee5\u53ca\u914d\u7f6e GPU \u5361\u7684\u6570\u91cf\uff0c\u66f4\u65b0\u540e\u9700\u8981\u91cd\u542f\u624d\u80fd\u751f\u6548\u3002 \u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u5b58\u50a8\u4e0e\u7f51\u7edc\u7684\u754c\u9762\u3002

                \u5728\u5b58\u50a8\u4e0e\u7f51\u7edc\u9875\u9762\u4e2d\uff0c\u7cfb\u7edf\u76d8\u7684\u5b58\u50a8\u6c60\u548c PVC \u8bbf\u95ee\u6a21\u5f0f\u4e00\u65e6\u9009\u62e9\u540e\u65e0\u6cd5\u66f4\u6539\uff0c\u652f\u6301\u589e\u52a0\u78c1\u76d8\u5bb9\u91cf\uff0c\u4e0d\u53ef\u51cf\u5c11\u3002 \u6b64\u5916\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u7531\u6dfb\u52a0\u6216\u8005\u79fb\u9664\u6570\u636e\u76d8\u3002\u4e0d\u652f\u6301\u66f4\u65b0\u7f51\u7edc\u914d\u7f6e\u3002\u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u767b\u5f55\u8bbe\u7f6e\u7684\u754c\u9762\u3002

                Note

                \u5efa\u8bae\u5728\u4fee\u6539\u5b58\u50a8\u5bb9\u91cf\u6216\u589e\u52a0\u6570\u636e\u76d8\u540e\u91cd\u542f\u4e91\u4e3b\u673a\uff0c\u4ee5\u786e\u4fdd\u914d\u7f6e\u751f\u6548\u3002

                \u5728\u767b\u5f55\u8bbe\u7f6e\u9875\u9762\u4e2d\uff0c\u7528\u6237\u540d\u3001\u5bc6\u7801\u4ee5\u53ca SSH \u5bc6\u94a5\u914d\u7f6e\u4e00\u65e6\u8bbe\u7f6e\uff0c\u4e0d\u5141\u8bb8\u66f4\u6539\u3002\u786e\u8ba4\u60a8\u7684\u767b\u5f55\u4fe1\u606f\u65e0\u8bef\u540e\uff0c\u70b9\u51fb\u786e\u5b9a\u6309\u94ae\u4ee5\u5b8c\u6210\u66f4\u65b0\u6d41\u7a0b\u3002

                "},{"location":"admin/virtnest/quickstart/update.html#yaml","title":"\u7f16\u8f91 YAML","text":"

                \u9664\u4e86\u901a\u8fc7\u8868\u5355\u65b9\u5f0f\u66f4\u65b0\u4e91\u4e3b\u673a\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u66f4\u65b0\u4e91\u4e3b\u673a\u3002

                \u8fdb\u5165\u4e91\u4e3b\u673a\u5217\u8868\u9875\uff0c\u70b9\u51fb \u7f16\u8f91 YAML \u6309\u94ae\u3002

                "},{"location":"admin/virtnest/template/index.html","title":"\u901a\u8fc7\u6a21\u677f\u521b\u5efa\u4e91\u4e3b\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u6a21\u677f\u521b\u5efa\u4e91\u4e3b\u673a\u3002

                \u901a\u8fc7\u5185\u7f6e\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u6a21\u677f\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u521b\u5efa\u65b0\u7684\u4e91\u4e3b\u673a\u3002\u6b64\u5916\uff0c\u6211\u4eec\u8fd8\u63d0\u4f9b\u5c06\u73b0\u6709\u4e91\u4e3b\u673a\u8f6c\u6362\u4e3a\u4e91\u4e3b\u673a\u6a21\u677f\u7684\u529f\u80fd\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u7075\u6d3b\u5730\u7ba1\u7406\u548c\u4f7f\u7528\u8d44\u6e90\u3002

                "},{"location":"admin/virtnest/template/index.html#_2","title":"\u6a21\u677f\u521b\u5efa","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u6a21\u677f\u521b\u5efa\u4e00\u4e2a\u4e91\u4e3b\u673a\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165 \u4e91\u4e3b\u673a\u7ba1\u7406 \u9875\u9762\u3002\u5728\u4e91\u4e3b\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u521b\u5efa\u4e91\u4e3b\u673a-\u9009\u62e9\u6a21\u677f\u521b\u5efa\u4e91\u4e3b\u673a\u3002

                2. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u9875\u9762\uff0c\u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u6a21\u677f\u914d\u7f6e\u3001\u5b58\u50a8\u4e0e\u7f51\u7edc\u3001\u767b\u5f55\u8bbe\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                  \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u4e91\u4e3b\u673a\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u4e91\u4e3b\u673a\u6267\u884c\u5173\u673a/\u5f00\u542f\u3001\u91cd\u542f\u3001\u514b\u9686\u3001\u66f4\u65b0\u3001\u521b\u5efa\u5feb\u7167\u3001\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3001\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002 \u514b\u9686\u548c\u5feb\u7167\u80fd\u529b\u4f9d\u8d56\u4e8e\u5b58\u50a8\u6c60\u7684\u9009\u62e9\u3002

                "},{"location":"admin/virtnest/template/index.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                \u5728\u521b\u5efa\u4e91\u4e3b\u673a\u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                • \u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002 \u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u540d\u79f0\u5728\u4e91\u4e3b\u673a\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                • \u522b\u540d\uff1a\u5141\u8bb8\u4efb\u4f55\u5b57\u7b26\uff0c\u6700\u957f60\u4e2a\u5b57\u7b26\u3002
                • \u96c6\u7fa4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4e91\u4e3b\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u96c6\u7fa4\u5185\u3002
                • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4e91\u4e3b\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\u3002 \u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                "},{"location":"admin/virtnest/template/index.html#_4","title":"\u6a21\u677f\u914d\u7f6e","text":"

                \u51fa\u73b0\u6a21\u677f\u5217\u8868\uff0c\u6309\u9700\u9009\u62e9\u5185\u7f6e\u6a21\u677f/\u81ea\u5b9a\u4e49\u6a21\u677f\u3002

                • \u9009\u62e9\u5185\u7f6e\u6a21\u677f\uff1a\u5e73\u53f0\u5185\u7f6e\u4e862\u4e2a\u6807\u51c6\u6a21\u677f\uff0c\u4e0d\u5141\u8bb8\u7f16\u8f91\u548c\u5220\u9664\u3002\u9009\u62e9\u5185\u7f6e\u6a21\u677f\u540e\uff0c\u955c\u50cf\u6765\u6e90\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u955c\u50cf\u5730\u5740\u7b49\u5c06\u4f7f\u7528\u6a21\u677f\u5185\u7684\u4fe1\u606f\uff0c\u65e0\u6cd5\u4fee\u6539\uff1b\u8d44\u6e90\u914d\u989d\u4e5f\u5c06\u4f7f\u7528\u6a21\u677f\u5185\u7684\u4fe1\u606f\uff0c\u5141\u8bb8\u4fee\u6539\u3002

                • \u9009\u62e9\u81ea\u5b9a\u4e49\u6a21\u677f\uff1a\u7531\u4e91\u4e3b\u673a\u914d\u7f6e\u8f6c\u5316\u800c\u6765\u7684\u6a21\u677f\uff0c\u652f\u6301\u7f16\u8f91\u548c\u5220\u9664\u3002\u4f7f\u7528\u81ea\u5b9a\u4e49\u6a21\u677f\u5219\u6839\u636e\u5177\u4f53\u60c5\u51b5\u652f\u6301\u4fee\u6539\u955c\u50cf\u6765\u6e90\u7b49\u4fe1\u606f\u3002

                "},{"location":"admin/virtnest/template/index.html#_5","title":"\u5b58\u50a8\u4e0e\u7f51\u7edc\u914d\u7f6e","text":"
                • \u5b58\u50a8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002 \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u652f\u6301 VolumeSnapshots \u529f\u80fd\uff0c \u5e76\u5728\u5b58\u50a8\u6c60\uff08SC\uff09\u4e2d\u8fdb\u884c\u521b\u5efa\u3002\u8bf7\u6ce8\u610f\uff0c\u5b58\u50a8\u6c60\uff08SC\uff09\u8fd8\u6709\u5176\u4ed6\u4e00\u4e9b\u5148\u51b3\u6761\u4ef6\u9700\u8981\u6ee1\u8db3\u3002

                  • \u5148\u51b3\u6761\u4ef6\uff1a

                    • KubeVirt \u5229\u7528 Kubernetes CSI \u9a71\u52a8\u7a0b\u5e8f\u7684 VolumeSnapshot\u529f\u80fd\u6765\u6355\u83b7\u6301\u4e45\u5316\u4e91\u4e3b\u673a\u72b6\u6001\u3002 \u56e0\u6b64\uff0c\u60a8\u9700\u8981\u786e\u4fdd\u60a8\u7684\u4e91\u4e3b\u673a\u4f7f\u7528\u7531\u652f\u6301 VolumeSnapshots \u7684 StorageClass \u5e76\u914d\u7f6e\u4e86\u6b63\u786e\u7684 VolumeSnapshotClass\u3002
                    • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass \uff0c\u5e76\u4e14\u786e\u8ba4 provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002
                  • \u652f\u6301\u6dfb\u52a0\u4e00\u5757\u7cfb\u7edf\u76d8\u548c\u591a\u5757\u6570\u636e\u76d8\u3002

                • \u7f51\u7edc\uff1a\u82e5\u60a8\u4e0d\u505a\u4efb\u4f55\u914d\u7f6e\uff0c\u7cfb\u7edf\u5c06\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684\u7f51\u7edc\u3002

                "},{"location":"admin/virtnest/template/index.html#_6","title":"\u767b\u5f55\u8bbe\u7f6e","text":"
                • \u7528\u6237\u540d/\u5bc6\u7801\uff1a\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u81f3\u4e91\u4e3b\u673a\u3002
                • SSH\uff1a\u9009\u62e9 SSH \u767b\u5f55\u65b9\u5f0f\u65f6\u53ef\u4e3a\u4e91\u4e3b\u673a\u7ed1\u5b9a SSH \u5bc6\u94a5\uff0c\u7528\u4e8e\u65e5\u540e\u767b\u5f55\u4e91\u4e3b\u673a\u3002
                "},{"location":"admin/virtnest/template/tep.html","title":"\u4e91\u4e3b\u673a\u6a21\u677f","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5185\u7f6e\u4e91\u4e3b\u673a\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u4e91\u4e3b\u673a\u6a21\u677f\u3002

                \u901a\u8fc7\u5185\u7f6e\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u6a21\u677f\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u521b\u5efa\u65b0\u7684\u4e91\u4e3b\u673a\u3002\u6b64\u5916\uff0c\u6211\u4eec\u8fd8\u63d0\u4f9b\u5c06\u73b0\u6709\u4e91\u4e3b\u673a\u8f6c\u6362\u4e3a\u4e91\u4e3b\u673a\u6a21\u677f\u7684\u529f\u80fd\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u7075\u6d3b\u5730\u7ba1\u7406\u548c\u4f7f\u7528\u8d44\u6e90\u3002

                "},{"location":"admin/virtnest/template/tep.html#_2","title":"\u4e91\u4e3b\u673a\u6a21\u677f","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a\u6a21\u677f \uff0c\u8fdb\u5165 \u4e91\u4e3b\u673a\u6a21\u677f \u9875\u9762\uff0c\u82e5\u8be5\u6a21\u677f\u662f\u7531\u914d\u7f6e\u4e86 GPU \u7684\u4e91\u4e3b\u673a\u8f6c\u6362\u800c\u6765\uff0c\u6a21\u677f\u4e5f\u4f1a\u5e26\u6709 GPU \u7684\u4fe1\u606f\uff0c\u5c06\u5728\u6a21\u677f\u5217\u8868\u4e2d\u5c55\u793a\u3002

                2. \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5185\u7f6e\u6a21\u677f\u6267\u884c\u521b\u5efa\u4e91\u4e3b\u673a\u548c\u67e5\u770b YAML \u64cd\u4f5c\uff1b\u5bf9\u81ea\u5b9a\u4e49\u6a21\u677f\u652f\u6301\u521b\u5efa\u4e91\u4e3b\u673a\u3001\u7f16\u8f91 YAML \u548c\u5220\u9664\u64cd\u4f5c\u3002

                "},{"location":"admin/virtnest/template/tep.html#_3","title":"\u5185\u7f6e\u6a21\u677f","text":"
                • \u5e73\u53f0\u5185\u5185\u7f6e\u4e24\u79cd\u6a21\u677f\uff0c\u5206\u522b\u662f CentOS \u548c Ubuntu\u3002

                "},{"location":"admin/virtnest/template/tep.html#_4","title":"\u81ea\u5b9a\u4e49\u6a21\u677f","text":"

                \u81ea\u5b9a\u4e49\u6a21\u677f\u662f\u7531\u4e91\u4e3b\u673a\u914d\u7f6e\u8f6c\u5316\u800c\u6765\u7684\u6a21\u677f\u3002\u4ee5\u4e0b\u4ecb\u7ecd\u5982\u4f55\u4ece\u4e91\u4e3b\u673a\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u652f\u6301\u5c06\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3002\u53ea\u6709\u8fd0\u884c\u4e2d/\u5173\u95ed\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u652f\u6301\u8f6c\u5316\u3002

                2. \u586b\u5199\u65b0\u6a21\u677f\u7684\u540d\u79f0\uff0c\u63d0\u793a\u539f\u59cb\u4e91\u4e3b\u673a\u5c06\u4f1a\u4fdd\u7559\u5e76\u4e14\u53ef\u7528\u3002\u8f6c\u6362\u6210\u529f\u540e\uff0c\u5c06\u4f1a\u5728\u6a21\u677f\u5217\u8868\u65b0\u589e\u4e00\u6761\u6570\u636e\u3002

                "},{"location":"admin/virtnest/template/tep.html#_5","title":"\u6a21\u677f\u8be6\u60c5","text":"

                \u6210\u529f\u521b\u5efa\u51fa\u6765\u4e00\u4e2a\u6a21\u677f\u540e\uff0c\u70b9\u51fb\u6a21\u677f\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u4e91\u4e3b\u673a\u8be6\u60c5\uff0c\u5305\u62ec\u57fa\u672c\u4fe1\u606f\u3001GPU \u4fe1\u606f\u3001\u5b58\u50a8\u3001\u7f51\u7edc\u7b49\u3002\u5982\u679c\u9700\u8981\u5feb\u901f\u57fa\u4e8e\u8be5\u6a21\u677f\u90e8\u7f72\u65b0\u7684\u4e91\u4e3b\u673a\uff0c\u53ea\u9700\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u4e91\u4e3b\u673a \u6309\u94ae\u5373\u53ef\u4fbf\u6377\u64cd\u4f5c\u3002

                "},{"location":"admin/virtnest/vm/auto-migrate.html","title":"\u4e91\u4e3b\u673a\u81ea\u52a8\u6f02\u79fb","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5f53\u96c6\u7fa4\u5185\u67d0\u4e2a\u8282\u70b9\u56e0\u4e3a\u65ad\u7535\u6216\u7f51\u7edc\u6545\u969c\uff0c\u5bfc\u81f4\u8be5\u8282\u70b9\u4e0a\u7684\u4e91\u4e3b\u673a\u65e0\u6cd5\u8bbf\u95ee\u65f6\uff0c \u5982\u4f55\u5c06\u6b63\u5728\u8fd0\u884c\u7684\u4e91\u4e3b\u673a\u65e0\u7f1d\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u8282\u70b9\u4e0a\uff0c\u540c\u65f6\u4fdd\u8bc1\u4e1a\u52a1\u7684\u8fde\u7eed\u6027\u548c\u6570\u636e\u7684\u5b89\u5168\u6027\u3002

                \u4e0e\u5b9e\u65f6\u8fc1\u79fb\u76f8\u6bd4\uff0c\u81ea\u52a8\u6f02\u79fb\u4e0d\u9700\u8981\u60a8\u5728\u754c\u9762\u4e2d\u4e3b\u52a8\u64cd\u4f5c\uff0c\u800c\u662f\u7cfb\u7edf\u81ea\u52a8\u89e6\u53d1\u8fc1\u79fb\u8fc7\u7a0b\u3002

                "},{"location":"admin/virtnest/vm/auto-migrate.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b9e\u73b0\u81ea\u52a8\u6f02\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u4e91\u4e3b\u673a\u672a\u8fdb\u884c\u78c1\u76d8\u843d\u76d8\u64cd\u4f5c\uff0c\u6216\u4f7f\u7528 Rook-Ceph\u3001HwameiStor HA \u6a21\u5f0f\u4f5c\u4e3a\u5b58\u50a8\u7cfb\u7edf
                • \u8282\u70b9\u5931\u8054\u65f6\u95f4\u8d85\u8fc7\u4e94\u5206\u949f
                • \u786e\u4fdd\u96c6\u7fa4\u5185\u81f3\u5c11\u6709\u4e24\u4e2a\u8282\u70b9\u53ef\u4f9b\u4f7f\u7528\uff0c\u5e76\u4e14\u4e91\u4e3b\u673a\u6ca1\u6709\u6307\u5b9a\u8c03\u5ea6\u8282\u70b9
                • \u4e91\u4e3b\u673a\u7684 launcher pod \u5df2\u88ab\u5220\u9664
                "},{"location":"admin/virtnest/vm/auto-migrate.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u68c0\u67e5\u4e91\u4e3b\u673a launcher pod \u72b6\u6001\uff1a

                  kubectl get pod\n

                  \u67e5\u770b launcher pod \u662f\u5426\u5904\u4e8e Terminating \u72b6\u6001\u3002

                2. \u5f3a\u5236\u5220\u9664 launcher pod\uff1a

                  \u5982\u679c launcher pod \u72b6\u6001\u4e3a Terminating\uff0c\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5f3a\u5236\u5220\u9664\uff1a

                  kubectl delete <launcher pod> --force\n

                  \u66ff\u6362 <launcher pod> \u4e3a\u4f60\u7684 launcher pod \u540d\u79f0\u3002

                3. \u7b49\u5f85\u91cd\u65b0\u521b\u5efa\u5e76\u68c0\u67e5\u72b6\u6001\uff1a

                  \u5220\u9664\u540e\uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u91cd\u65b0\u521b\u5efa launcher pod\u3002 \u7b49\u5f85\u5176\u72b6\u6001\u53d8\u4e3a running\uff0c\u7136\u540e\u5237\u65b0\u4e91\u4e3b\u673a\u5217\u8868\uff0c\u89c2\u5bdf\u4e91\u4e3b\u673a\u662f\u5426\u6210\u529f\u8fc1\u79fb\u5230\u65b0\u8282\u70b9\u3002

                "},{"location":"admin/virtnest/vm/auto-migrate.html#_4","title":"\u6ce8\u610f\u4e8b\u9879","text":"

                \u5982\u679c\u4f7f\u7528 rook-ceph \u4f5c\u4e3a\u5b58\u50a8\uff0c\u9700\u8981\u914d\u7f6e\u4e3a ReadWriteOnce \u6a21\u5f0f\uff1a

                1. \u5f3a\u5236\u5220\u9664 pod \u540e\uff0c\u9700\u8981\u7b49\u5f85\u5927\u7ea6\u516d\u5206\u949f\u4ee5\u8ba9 launcher pod \u542f\u52a8\uff0c\u6216\u8005\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u7acb\u5373\u542f\u52a8 pod\uff1a

                  kubectl get pv | grep <vm name>\nkubectl get VolumeAttachment | grep <pv name>\n

                  \u66ff\u6362 <vm name> \u548c <pv name> \u4e3a\u4f60\u7684\u4e91\u4e3b\u673a\u540d\u79f0\u548c\u6301\u4e45\u5377\u540d\u79f0\u3002

                2. \u7136\u540e\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5220\u9664\u5bf9\u5e94\u7684 VolumeAttachment\uff1a

                  kubectl delete VolumeAttachment <vm>\n

                  \u66ff\u6362 <vm> \u4e3a\u4f60\u7684\u4e91\u4e3b\u673a\u540d\u79f0\u3002

                "},{"location":"admin/virtnest/vm/clone.html","title":"\u514b\u9686\u4e91\u4e3b\u673a","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u514b\u9686\u4e00\u53f0\u65b0\u7684\u4e91\u4e3b\u673a\u3002

                \u7528\u6237\u53ef\u4ee5\u514b\u9686\u4e00\u53f0\u65b0\u7684\u4e91\u4e3b\u673a\uff0c\u514b\u9686\u540e\u7684\u4e91\u4e3b\u673a\u5c06\u5177\u6709\u4e0e\u539f\u59cb\u4e91\u4e3b\u673a\u76f8\u540c\u7684\u64cd\u4f5c\u7cfb\u7edf\u548c\u7cfb\u7edf\u914d\u7f6e\uff0c\u80fd\u591f\u5b9e\u73b0\u5feb\u901f\u90e8\u7f72\u548c\u6269\u5c55\uff0c\u5feb\u901f\u521b\u5efa\u76f8\u4f3c\u914d\u7f6e\u7684\u65b0\u4e91\u4e3b\u673a\uff0c\u800c\u65e0\u9700\u4ece\u5934\u5f00\u59cb\u5b89\u88c5\u3002

                "},{"location":"admin/virtnest/vm/clone.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u4f7f\u7528\u514b\u9686\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff08\u548c\u5feb\u7167\u529f\u80fd\u7684\u524d\u63d0\u6761\u4ef6\u4e00\u81f4\uff09\uff1a

                • \u53ea\u6709\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u624d\u80fd\u4f7f\u7528\u514b\u9686\u529f\u80fd\u3002
                • \u5b89\u88c5 Snapshot CRDs\u3001Snapshot Controller\u3001CSI Driver\u3002 \u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u53ef\u53c2\u8003 CSI Snapshotter\u3002
                • \u7b49\u5f85 snapshot-controller \u7ec4\u4ef6\u51c6\u5907\u5c31\u7eea, \u8be5\u7ec4\u4ef6\u4f1a\u76d1\u63a7 VolumeSnapshot \u548c VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                • \u7b49\u5f85 CSI Driver \u51c6\u5907\u5c31\u7eea, \u786e\u4fdd csi-snapshotter sidecar \u8dd1\u5728 CSI Driver \u91cc\uff0ccsi-snapshotter sidecar \u4f1a\u76d1\u63a7 VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                  • \u5982\u5b58\u50a8\u662f Rook-Ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                  • \u5982\u5b58\u50a8\u662f HwameiStor\uff0c\u53ef\u53c2\u8003 huameistor-snapshot
                "},{"location":"admin/virtnest/vm/clone.html#_3","title":"\u514b\u9686\u4e91\u4e3b\u673a","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u6267\u884c\u5feb\u7167\u64cd\u4f5c\u3002

                2. \u5f39\u51fa\u5f39\u6846\uff0c\u9700\u8981\u586b\u5199\u514b\u9686\u65b0\u7684\u4e91\u4e3b\u673a\u7684\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u514b\u9686\u64cd\u4f5c\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u4e91\u4e3b\u673a\u7684\u5927\u5c0f\u548c\u5b58\u50a8\u6027\u80fd\u3002

                3. \u514b\u9686\u6210\u529f\u540e\u53ef\u4ee5\u5728\u4e91\u4e3b\u673a\u5217\u8868\u5185\u67e5\u770b\u5230\u65b0\u7684\u4e91\u4e3b\u673a\uff0c\u65b0\u521b\u5efa\u51fa\u6765\u7684\u4e91\u4e3b\u673a\u5904\u4e8e\u5173\u673a\u72b6\u6001\uff0c\u82e5\u9700\u8981\u5f00\u673a\u9700\u8981\u624b\u52a8\u64cd\u4f5c\u3002

                4. \u514b\u9686\u524d\u5efa\u8bae\u5bf9\u539f\u6709\u4e91\u4e3b\u673a\u8fdb\u884c\u5feb\u7167\uff0c\u5982\u679c\u514b\u9686\u8fc7\u7a0b\u4e2d\u9047\u5230\u95ee\u9898\uff0c\u8bf7\u68c0\u67e5\u5148\u51b3\u6761\u4ef6\u662f\u5426\u6ee1\u8db3\uff0c\u5e76\u5c1d\u8bd5\u91cd\u65b0\u6267\u884c\u514b\u9686\u64cd\u4f5c\u3002

                "},{"location":"admin/virtnest/vm/create-secret.html","title":"\u521b\u5efa\u5bc6\u94a5","text":"

                \u5f53\u521b\u5efa\u4e91\u4e3b\u673a\u4f7f\u7528\u5bf9\u8c61\u5b58\u50a8\uff08S3\uff09\u4f5c\u4e3a\u955c\u50cf\u6765\u6e90\u65f6\uff0c\u6709\u65f6\u5019\u9700\u8981\u586b\u5199\u5bc6\u94a5\u6765\u83b7\u53d6\u901a\u8fc7 S3 \u7684\u9a8c\u8bc1\u3002\u4ee5\u4e0b\u5c06\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u7b26\u5408\u4e91\u4e3b\u673a\u8981\u6c42\u7684\u5bc6\u94a5\u3002

                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u96c6\u7fa4\u5217\u8868 \uff0c\u8fdb\u5165\u4e91\u4e3b\u673a\u6240\u5728\u96c6\u7fa4\u8be6\u60c5\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 \uff0c\u9009\u62e9 \u5bc6\u94a5 \uff0c\u70b9\u51fb \u521b\u5efa\u5bc6\u94a5 \u3002

                2. \u8fdb\u5165\u521b\u5efa\u9875\u9762\uff0c\u586b\u5199\u5bc6\u94a5\u540d\u79f0\uff0c\u9009\u62e9\u548c\u4e91\u4e3b\u673a\u76f8\u540c\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6ce8\u610f\u9700\u8981\u9009\u62e9 \u9ed8\u8ba4\uff08Opaque\uff09 \u7c7b\u578b\u3002\u5bc6\u94a5\u6570\u636e\u9700\u8981\u9075\u5faa\u4ee5\u4e0b\u539f\u5219

                  • accessKeyId: \u9700\u8981\u4ee5 Base64 \u7f16\u7801\u65b9\u5f0f\u8868\u793a\u7684\u6570\u636e
                  • secretKey: \u9700\u8981\u4ee5 Base64 \u7f16\u7801\u65b9\u5f0f\u8868\u793a\u7684\u6570\u636e
                3. \u521b\u5efa\u6210\u529f\u540e\u53ef\u4ee5\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\u4f7f\u7528\u6240\u9700\u5bc6\u94a5\uff0c\u6700\u540e\u901a\u8fc7\u9a8c\u8bc1\u3002

                "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html","title":"\u4e91\u4e3b\u673a\u8de8\u96c6\u7fa4\u8fc1\u79fb","text":"

                \u672c\u529f\u80fd\u6682\u672a\u505a UI \u754c\u9762\u80fd\u529b\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u7684\u64cd\u4f5c\u6b65\u9aa4\u6267\u884c\u3002

                "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"
                • \u5f53\u539f\u96c6\u7fa4\u53d1\u751f\u6545\u969c\u6216\u6027\u80fd\u4e0b\u964d\u5bfc\u81f4\u8be5\u96c6\u7fa4\u4e0a\u7684\u4e91\u4e3b\u673a\u65e0\u6cd5\u8bbf\u95ee\u65f6\uff0c\u5c06\u4e91\u4e3b\u673a\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u3002
                • \u9700\u8981\u5bf9\u96c6\u7fa4\u8fdb\u884c\u8ba1\u5212\u5185\u7684\u7ef4\u62a4\u6216\u5347\u7ea7\u65f6\uff0c\u5c06\u4e91\u4e3b\u673a\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u3002
                • \u5f53\u7279\u5b9a\u5e94\u7528\u7684\u6027\u80fd\u9700\u6c42\u53d8\u5316\uff0c\u9700\u8981\u8c03\u6574\u8d44\u6e90\u5206\u914d\u65f6\uff0c\u8fc1\u79fb\u4e91\u4e3b\u673a\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u4ee5\u5339\u914d\u66f4\u5408\u9002\u7684\u8d44\u6e90\u914d\u7f6e\u3002
                "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html#_3","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b9e\u73b0\u4e91\u4e3b\u673a\u8de8\u96c6\u7fa4\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u96c6\u7fa4\u7f51\u7edc\u4e92\u901a\uff1a\u786e\u4fdd\u539f\u6709\u96c6\u7fa4\u4e0e\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u4e4b\u95f4\u7684\u7f51\u7edc\u662f\u4e92\u901a\u7684
                • \u76f8\u540c\u5b58\u50a8\u7c7b\u578b\uff1a\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u9700\u652f\u6301\u4e0e\u539f\u6709\u96c6\u7fa4\u76f8\u540c\u7684\u5b58\u50a8\u7c7b\u578b\uff08\u4f8b\u5982\uff0c\u5982\u679c\u5bfc\u51fa\u96c6\u7fa4\u4f7f\u7528 rook-ceph-block \u7c7b\u578b\u7684 StorageClass\uff0c\u5219\u5bfc\u5165\u96c6\u7fa4\u4e5f\u5fc5\u987b\u652f\u6301\u6b64\u7c7b\u578b\uff09\u3002
                • \u5728\u539f\u6709\u96c6\u7fa4\u7684 KubeVirt \u4e2d\u5f00\u542f VMExport Feature Gate\u3002
                "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html#vmexport-feature-gate","title":"\u5f00\u542f VMExport Feature Gate","text":"

                \u6fc0\u6d3b VMExport Feature Gate\uff0c\u5728\u539f\u6709\u96c6\u7fa4\u5185\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c \u53ef\u53c2\u8003How to activate a feature gate

                kubectl edit kubevirt kubevirt -n virtnest-system\n

                \u8fd9\u6761\u547d\u4ee4\u5c06\u4fee\u6539 featureGates \uff0c\u589e\u52a0 VMExport \u3002

                apiVersion: kubevirt.io/v1\nkind: KubeVirt\nmetadata:\n  name: kubevirt\n  namespace: virtnest-system\nspec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n        - DataVolumes\n        - LiveMigration\n        - VMExport\n
                "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html#ingress","title":"\u914d\u7f6e\u539f\u6709\u96c6\u7fa4\u7684 Ingress","text":"

                \u4ee5 Nginx Ingress \u4e3a\u4f8b\uff0c\u914d\u7f6e Ingress \u4ee5\u6307\u5411 virt-exportproxy Service\uff1a

                apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n  name: ingress-vm-export\n  namespace: virtnest-system\nspec:\n  tls:\n    - hosts:\n        - upgrade-test.com\n      secretName: nginx-tls\n  rules:\n    - host: upgrade-test.com\n      http:\n        paths:\n          - path: /\n            pathType: Prefix\n            backend:\n              service:\n                name: virt-exportproxy\n                port:\n                  number: 8443\n  ingressClassName: nginx\n
                "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html#_4","title":"\u8fc1\u79fb\u6b65\u9aa4","text":"
                1. \u521b\u5efa VirtualMachineExport CR

                  • \u5982\u679c \u4e91\u4e3b\u673a\u5173\u673a\u72b6\u6001 \u4e0b\u8fdb\u884c\u8fc1\u79fb\uff08\u51b7\u8fc1\u79fb\uff09\uff1a

                    apiVersion: v1\nkind: Secret\nmetadata:\n  name: example-token # \u5bfc\u51fa\u4e91\u4e3b\u673a\u6240\u7528 token\n  namespace: default # \u4e91\u4e3b\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nstringData:\n  token: 1234567890ab # \u5bfc\u51fa\u4f7f\u7528\u7684 token,\u53ef\u4fee\u6539\n\n---\napiVersion: export.kubevirt.io/v1alpha1\nkind: VirtualMachineExport\nmetadata:\n  name: example-export # \u5bfc\u51fa\u540d\u79f0, \u53ef\u81ea\u884c\u4fee\u6539\n  namespace: default # \u4e91\u4e3b\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nspec:\n  tokenSecretRef: example-token # \u548c\u4e0a\u9762\u521b\u5efa\u7684token\u540d\u79f0\u4fdd\u6301\u4e00\u81f4\n  source:\n    apiGroup: \"kubevirt.io\"\n    kind: VirtualMachine\n    name: testvm # \u4e91\u4e3b\u673a\u540d\u79f0\n
                  • \u5982\u679c\u8981\u5728 \u4e91\u4e3b\u673a\u4e0d\u5173\u673a \u7684\u72b6\u6001\u4e0b\uff0c\u4f7f\u7528\u4e91\u4e3b\u673a\u5feb\u7167\u8fdb\u884c\u8fc1\u79fb\uff08\u70ed\u8fc1\u79fb\uff09\uff1a

                    apiVersion: v1\nkind: Secret\nmetadata:\n  name: example-token # \u5bfc\u51fa\u4e91\u4e3b\u673a\u6240\u7528 token\n  namespace: default # \u4e91\u4e3b\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nstringData:\n  token: 1234567890ab # \u5bfc\u51fa\u4f7f\u7528\u7684 token ,\u53ef\u4fee\u6539\n\n---\napiVersion: export.kubevirt.io/v1alpha1\nkind: VirtualMachineExport\nmetadata:\n  name: export-snapshot # \u5bfc\u51fa\u540d\u79f0, \u53ef\u81ea\u884c\u4fee\u6539\n  namespace: default # \u4e91\u4e3b\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nspec:\n  tokenSecretRef: export-token # \u548c\u4e0a\u9762\u521b\u5efa\u7684token\u540d\u79f0\u4fdd\u6301\u4e00\u81f4\n  source:\n    apiGroup: \"snapshot.kubevirt.io\"\n    kind: VirtualMachineSnapshot\n    name: export-snap-202407191524 # \u5bf9\u5e94\u7684\u4e91\u4e3b\u673a\u5feb\u7167\u540d\u79f0\n
                2. \u68c0\u67e5 VirtualMachineExport \u662f\u5426\u51c6\u5907\u5c31\u7eea\uff1a

                  # \u8fd9\u91cc\u7684 example-export \u9700\u8981\u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0\nkubectl get VirtualMachineExport example-export -n default\n\nNAME             SOURCEKIND       SOURCENAME   PHASE\nexample-export   VirtualMachine   testvm       Ready\n
                3. \u5f53 VirtualMachineExport \u51c6\u5907\u5c31\u7eea\u540e\uff0c\u5bfc\u51fa\u4e91\u4e3b\u673a YAML\u3002

                  • \u5982\u679c\u5df2\u5b89\u88c5 virtctl \uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bfc\u51fa\u4e91\u4e3b\u673a\u7684 YAML\uff1a

                    # \u81ea\u884c\u5c06 example-export\u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0\n# \u81ea\u884c\u901a\u8fc7 -n \u6307\u5b9a\u547d\u540d\u7a7a\u95f4\nvirtctl vmexport download example-export --manifest --include-secret --output=manifest.yaml\n
                  • \u5982\u679c\u6ca1\u6709\u5b89\u88c5 virtctl \uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bfc\u51fa\u4e91\u4e3b\u673a YAML\uff1a

                    # \u81ea\u884c\u66ff\u6362 example-export \u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0 \u548c\u547d\u540d\u7a7a\u95f4\nmanifesturl=$(kubectl get VirtualMachineExport example-export -n default -o=jsonpath='{.status.links.internal.manifests[0].url}')\nsecreturl=$(kubectl get VirtualMachineExport example-export -n default -o=jsonpath='{.status.links.internal.manifests[1].url}')\n# \u81ea\u884c\u66ff\u6362 secert \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\ntoken=$(kubectl get secret example-token -n default -o=jsonpath='{.data.token}' | base64 -d)\n\ncurl -H \"Accept: application/yaml\" -H \"x-kubevirt-export-token: $token\"  --insecure  $secreturl > manifest.yaml\ncurl -H \"Accept: application/yaml\" -H \"x-kubevirt-export-token: $token\"  --insecure  $manifesturl >> manifest.yaml\n
                4. \u5bfc\u5165\u4e91\u4e3b\u673a

                  \u5c06\u5bfc\u51fa\u7684 manifest.yaml \u590d\u5236\u5230\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u5e76\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff08\u5982\u679c\u547d\u540d\u7a7a\u95f4\u4e0d\u5b58\u5728\u5219\u9700\u8981\u63d0\u524d\u521b\u5efa\uff09\uff1a

                  kubectl apply -f manifest.yaml\n
                  \u521b\u5efa\u6210\u529f\u540e\uff0c\u91cd\u542f\u4e91\u4e3b\u673a\uff0c\u4e91\u4e3b\u673a\u6210\u529f\u8fd0\u884c\u540e\uff0c\u5728\u539f\u6709\u96c6\u7fa4\u5185\u5220\u9664\u539f\u4e91\u4e3b\u673a\uff08\u4e91\u4e3b\u673a\u672a\u542f\u52a8\u6210\u529f\u65f6\uff0c\u8bf7\u52ff\u5220\u9664\u539f\u4e91\u4e3b\u673a\uff09\u3002

                "},{"location":"admin/virtnest/vm/health-check.html","title":"\u5065\u5eb7\u68c0\u67e5","text":"

                \u5f53\u914d\u7f6e\u4e91\u4e3b\u673a\u7684\u5b58\u6d3b\uff08Liveness\uff09\u548c\u5c31\u7eea\uff08Readiness\uff09\u63a2\u9488\u65f6\uff0c\u4e0e Kubernetes \u7684\u914d\u7f6e\u8fc7\u7a0b\u76f8\u4f3c\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 YAML \u4e3a\u4e91\u4e3b\u673a\u914d\u7f6e\u5065\u5eb7\u68c0\u67e5\u53c2\u6570\u3002

                \u4f46\u662f\u9700\u8981\u6ce8\u610f\uff1a\u9700\u8981\u5728\u4e91\u4e3b\u673a\u521b\u5efa\u6210\u529f\u5e76\u4e14\u5904\u4e8e\u5173\u673a\u72b6\u6001\u4e0b\uff0c\u4fee\u6539 YAML \u8fdb\u884c\u914d\u7f6e\u3002

                "},{"location":"admin/virtnest/vm/health-check.html#http-liveness-probe","title":"\u914d\u7f6e HTTP Liveness Probe","text":"
                1. \u5728 spec.template.spec \u4e2d\u914d\u7f6e livenessProbe.httpGet\u3002
                2. \u4fee\u6539 cloudInitNoCloud \u4ee5\u542f\u52a8\u4e00\u4e2a HTTP \u670d\u52a1\u5668\u3002

                  \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                  apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      livenessProbe:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        httpGet:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                3. \u6839\u636e\u64cd\u4f5c\u7cfb\u7edf\uff08\u5982 Ubuntu/Debian \u6216 CentOS\uff09\uff0cuserData \u7684\u914d\u7f6e\u53ef\u80fd\u6709\u6240\u4e0d\u540c\u3002\u4e3b\u8981\u533a\u522b\uff1a

                  • \u5305\u7ba1\u7406\u5668\uff1a

                    Ubuntu/Debian \u4f7f\u7528 apt-get \u4f5c\u4e3a\u5305\u7ba1\u7406\u5668\u3002 CentOS \u4f7f\u7528 yum \u4f5c\u4e3a\u5305\u7ba1\u7406\u5668\u3002

                  • SSH \u670d\u52a1\u91cd\u542f\u547d\u4ee4\uff1a

                    Ubuntu/Debian \u4f7f\u7528 systemctl restart ssh.service\u3002 CentOS \u4f7f\u7528 systemctl restart sshd.service\uff08\u6ce8\u610f CentOS 7 \u53ca\u4e4b\u524d\u7248\u672c\u4f7f\u7528 service sshd restart\uff09\u3002

                  • \u5b89\u88c5\u7684\u8f6f\u4ef6\u5305\uff1a

                    Ubuntu/Debian \u5b89\u88c5 ncat\u3002 CentOS \u5b89\u88c5 nmap-ncat\uff08\u56e0\u4e3a ncat \u5728 CentOS \u7684\u9ed8\u8ba4\u4ed3\u5e93\u4e2d\u53ef\u80fd\u4e0d\u53ef\u7528\uff09\u3002

                "},{"location":"admin/virtnest/vm/health-check.html#tcp-liveness-probe","title":"\u914d\u7f6e TCP Liveness Probe","text":"

                \u5728 spec.template.spec \u4e2d\u914d\u7f6e livenessProbe.tcpSocket\u3002

                \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      livenessProbe:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        tcpSocket:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                "},{"location":"admin/virtnest/vm/health-check.html#readiness-probes","title":"\u914d\u7f6e Readiness Probes","text":"

                \u5728 spec.template.spec \u4e2d\u914d\u7f6e readiness\u3002

                \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      readiness:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        httpGet:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                "},{"location":"admin/virtnest/vm/live-migration.html","title":"\u5b9e\u65f6\u8fc1\u79fb","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5c06\u4e91\u4e3b\u673a\u4ece\u4e00\u4e2a\u8282\u70b9\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\u3002

                \u5f53\u8282\u70b9\u7ef4\u62a4\u6216\u8005\u5347\u7ea7\u65f6\uff0c\u7528\u6237\u53ef\u4ee5\u5c06\u6b63\u5728\u8fd0\u884c\u7684\u4e91\u4e3b\u673a\u65e0\u7f1d\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u8282\u70b9\u4e0a\uff0c\u540c\u65f6\u53ef\u4ee5\u4fdd\u8bc1\u4e1a\u52a1\u7684\u8fde\u7eed\u6027\u548c\u6570\u636e\u7684\u5b89\u5168\u6027\u3002

                "},{"location":"admin/virtnest/vm/live-migration.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u4e91\u4e3b\u673a\u5fc5\u987b\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\u624d\u80fd\u8fdb\u884c\u5b9e\u65f6\u8fc1\u79fb\u3002
                • \u786e\u4fdd\u60a8\u7684 PVC \u8bbf\u95ee\u6a21\u5f0f\u4e3a ReadWriteMany\uff0c\u4ee5\u4fbf\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\u3002
                • \u786e\u4fdd\u96c6\u7fa4\u5185\u81f3\u5c11\u6709\u4e24\u4e2a\u8282\u70b9\u53ef\u4f9b\u4f7f\u7528\u3002
                "},{"location":"admin/virtnest/vm/live-migration.html#_3","title":"\u5b9e\u65f6\u8fc1\u79fb","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u8fd0\u884c\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u8fdb\u884c\u8fc1\u79fb\u52a8\u4f5c\u3002\u76ee\u524d\u4e91\u4e3b\u673a\u6240\u5728\u8282\u70b9\u4e3a controller-node-3 \u3002

                2. \u5f39\u51fa\u5f39\u6846\uff0c\u63d0\u793a\u5728\u5b9e\u65f6\u8fc1\u79fb\u671f\u95f4\uff0c\u6b63\u5728\u8fd0\u884c\u7684\u4e91\u4e3b\u673a\u5b9e\u4f8b\u4f1a\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\uff0c\u53ef\u4ee5\u9009\u62e9\u6307\u5b9a\u8282\u70b9\u8fc1\u79fb\uff0c\u4e5f\u53ef\u4ee5\u968f\u673a\u8fc1\u79fb\uff0c\u8bf7\u786e\u4fdd\u5176\u4ed6\u8282\u70b9\u8d44\u6e90\u5145\u8db3\u3002

                3. \u8fc1\u79fb\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u5728\u4e91\u4e3b\u673a\u5217\u8868\u5185\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c\u6b64\u65f6\u8282\u70b9\u8fc1\u79fb\u5230 controller-node-1 \u3002

                "},{"location":"admin/virtnest/vm/migratiom.html","title":"\u96c6\u7fa4\u5185\u51b7\u8fc1\u79fb","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5728\u5173\u673a\u72b6\u6001\u4e0b\u5982\u4f55\u5c06\u4e91\u4e3b\u673a\u5728\u540c\u4e00\u96c6\u7fa4\u5185\u4ece\u4e00\u4e2a\u8282\u70b9\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\u3002

                \u51b7\u8fc1\u79fb\u7684\u4e3b\u8981\u7279\u70b9\u662f\uff0c\u4e91\u4e3b\u673a\u5728\u8fc1\u79fb\u8fc7\u7a0b\u4e2d\u4f1a\u5904\u4e8e\u79bb\u7ebf\u72b6\u6001\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5bf9\u4e1a\u52a1\u8fde\u7eed\u6027\u4ea7\u751f\u5f71\u54cd\u3002\u56e0\u6b64\uff0c \u5728\u5b9e\u65bd\u51b7\u8fc1\u79fb\u65f6\u9700\u8981\u4ed4\u7ec6\u89c4\u5212\u8fc1\u79fb\u65f6\u95f4\u7a97\u53e3\uff0c\u5e76\u8003\u8651\u4e1a\u52a1\u9700\u6c42\u548c\u7cfb\u7edf\u53ef\u7528\u6027\u3002\u901a\u5e38\uff0c\u51b7\u8fc1\u79fb\u9002\u7528\u4e8e\u5bf9\u505c\u673a\u65f6\u95f4\u8981\u6c42\u4e0d\u662f\u975e\u5e38\u4e25\u683c\u7684\u573a\u666f\u3002

                "},{"location":"admin/virtnest/vm/migratiom.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u4f7f\u7528\u51b7\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u4e91\u4e3b\u673a\u5fc5\u987b\u5904\u4e8e\u5173\u673a\u72b6\u6001\u624d\u80fd\u8fdb\u884c\u51b7\u8fc1\u79fb\u3002
                "},{"location":"admin/virtnest/vm/migratiom.html#_3","title":"\u51b7\u8fc1\u79fb","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c \u53ef\u4ee5\u5bf9\u5173\u673a\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u8fdb\u884c\u8fc1\u79fb\u52a8\u4f5c\u3002\u4e91\u4e3b\u673a\u5728\u5173\u673a\u72b6\u6001\u4e0b\u65f6\u65e0\u6cd5\u67e5\u770b\u6240\u5728\u8282\u70b9\uff0c\u9700\u8981\u63d0\u524d\u89c4\u5212\u6216\u8005\u5f00\u673a\u67e5\u8be2\u3002

                  Note

                  \u5982\u679c\u60a8\u5728\u539f\u59cb\u8282\u70b9\u7684\u5b58\u50a8\u6c60\u4e2d\u4f7f\u7528\u4e86 local-path\uff0c\u8de8\u8282\u70b9\u8fc1\u79fb\u65f6\u53ef\u80fd\u51fa\u73b0\u95ee\u9898\uff0c\u8bf7\u8c28\u614e\u9009\u62e9\u3002

                2. \u70b9\u51fb\u8fc1\u79fb\u540e\uff0c\u63d0\u793a\u5728\u8fc1\u79fb\u671f\u95f4\uff0c\u53ef\u4ee5\u9009\u62e9\u6307\u5b9a\u8282\u70b9\u8fc1\u79fb\uff0c\u4e5f\u53ef\u4ee5\u968f\u673a\u8fc1\u79fb\uff0c\u82e5\u9700\u8981\u4fee\u6539\u5b58\u50a8\u6c60\uff0c \u9700\u8981\u786e\u4fdd\u76ee\u6807\u8282\u70b9\u5185\u6709\u53ef\u7528\u5b58\u50a8\u6c60\u3002\u540c\u65f6\u9700\u8981\u76ee\u6807\u8282\u70b9\u8d44\u6e90\u5145\u8db3\uff0c\u8fc1\u79fb\u8fc7\u7a0b\u8017\u8d39\u65f6\u95f4\u8f83\u957f\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002

                3. \u8fc1\u79fb\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u6210\u529f\u540e\u9700\u8981\u91cd\u542f\u67e5\u770b\u662f\u5426\u8fc1\u79fb\u6210\u529f\u3002\u672c\u793a\u4f8b\u5df2\u7ecf\u5f00\u673a\u67e5\u770b\u8fc1\u79fb\u6548\u679c\u3002

                "},{"location":"admin/virtnest/vm/monitor.html","title":"\u4e91\u4e3b\u673a\u76d1\u63a7","text":"

                \u4e91\u4e3b\u673a\u57fa\u4e8e Kubevirt \u5f00\u6e90\u7684 Grafana Dashboard\uff0c\u4e3a\u4e86\u6bcf\u4e00\u4e2a\u4e91\u4e3b\u673a\u751f\u6210\u4e86\u76d1\u63a7\u770b\u677f

                \u4e91\u4e3b\u673a\u7684\u76d1\u63a7\u4fe1\u606f\u53ef\u4ee5\u66f4\u597d\u7684\u4e86\u89e3\u4e91\u4e3b\u673a\u7684\u8d44\u6e90\u6d88\u8017\u60c5\u51b5\uff0c\u6bd4\u5982 CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u548c\u7f51\u7edc\u7b49\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c \u4ece\u800c\u8fdb\u884c\u8d44\u6e90\u7684\u4f18\u5316\u548c\u89c4\u5212\uff0c\u63d0\u5347\u6574\u4f53\u7684\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                "},{"location":"admin/virtnest/vm/monitor.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u67e5\u770b\u4e91\u4e3b\u673a\u76d1\u63a7\u7684\u76f8\u5173\u4fe1\u606f\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u4e91\u4e3b\u673a\u6240\u5728\u7684\u540c\u4e00\u96c6\u7fa4\u5185\u5b89\u88c5 Insight-agent \u7ec4\u4ef6\uff0c\u5e76\u4e14\u4fdd\u8bc1 Insight-agent \u7ec4\u4ef6\u6b63\u5e38\u53ef\u7528\u3002
                "},{"location":"admin/virtnest/vm/monitor.html#_3","title":"\u4e91\u4e3b\u673a\u76d1\u63a7","text":"

                \u8fdb\u5165\u4e91\u4e3b\u673a\u7684\u8be6\u7ec6\u4fe1\u606f\u5e76\u70b9\u51fb \u6982\u89c8 \uff0c\u5373\u53ef\u67e5\u770b\u4e91\u4e3b\u673a\u7684\u76d1\u63a7\u5185\u5bb9\u3002\u8bf7\u6ce8\u610f\uff0c\u82e5\u672a\u5b89\u88c5 Insight-agent \u7ec4\u4ef6\uff0c\u5219\u65e0\u6cd5\u83b7\u53d6\u76d1\u63a7\u4fe1\u606f\u3002\u4ee5\u4e0b\u662f\u8be6\u7ec6\u4fe1\u606f\uff1a

                • CPU \u603b\u91cf\u3001CPU \u4f7f\u7528\u91cf\u3001\u5185\u5b58\u603b\u91cf\u3001\u5185\u5b58\u4f7f\u7528\u91cf\u3002

                • CPU \u4f7f\u7528\u7387\uff1a\u6307\u5f53\u524d\u4e91\u4e3b\u673a\u6b63\u5728\u4f7f\u7528\u7684 CPU \u8d44\u6e90\u7684\u767e\u5206\u6bd4\uff1b

                • \u5185\u5b58\u4f7f\u7528\u7387\uff1a\u6307\u5f53\u524d\u4e91\u4e3b\u673a\u6b63\u5728\u4f7f\u7528\u7684\u5185\u5b58\u8d44\u6e90\u5360\u603b\u53ef\u7528\u5185\u5b58\u7684\u767e\u5206\u6bd4\u3002

                • \u7f51\u7edc\u6d41\u91cf\uff1a\u6307\u4e91\u4e3b\u673a\u5728\u7279\u5b9a\u65f6\u95f4\u6bb5\u5185\u53d1\u9001\u548c\u63a5\u6536\u7684\u7f51\u7edc\u6570\u636e\u91cf\uff1b

                • \u7f51\u7edc\u4e22\u5305\u7387\uff1a\u6307\u5728\u6570\u636e\u4f20\u8f93\u8fc7\u7a0b\u4e2d\u4e22\u5931\u7684\u6570\u636e\u5305\u5360\u603b\u53d1\u9001\u6570\u636e\u5305\u6570\u91cf\u7684\u6bd4\u4f8b\u3002

                • \u7f51\u7edc\u9519\u8bef\u7387\uff1a\u6307\u5728\u7f51\u7edc\u4f20\u8f93\u8fc7\u7a0b\u4e2d\u53d1\u751f\u7684\u9519\u8bef\u7684\u6bd4\u7387\uff1b

                • \u78c1\u76d8\u541e\u5410\uff1a\u6307\u4e91\u4e3b\u673a\u7cfb\u7edf\u5728\u4e00\u5b9a\u65f6\u95f4\u5185\u8bfb\u53d6\u548c\u5199\u5165\u78c1\u76d8\u7684\u901f\u5ea6\u548c\u80fd\u529b\u3002

                • IOPS\uff1a\u6307\u7684\u662f\u5728\u4e00\u79d2\u949f\u5185\u4e91\u4e3b\u673a\u7cfb\u7edf\u8fdb\u884c\u7684\u8f93\u5165/\u8f93\u51fa\u64cd\u4f5c\u7684\u6b21\u6570\u3002\u78c1\u76d8\u5ef6\u8fdf\uff1a\u6307\u4e91\u4e3b\u673a\u7cfb\u7edf\u5728\u8fdb\u884c\u78c1\u76d8\u8bfb\u5199\u64cd\u4f5c\u65f6\u6240\u7ecf\u5386\u7684\u65f6\u95f4\u5ef6\u8fdf\u3002

                "},{"location":"admin/virtnest/vm/scheduled-snapshot.html","title":"\u5b9a\u65f6\u5feb\u7167","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u4e91\u4e3b\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\u3002

                \u7528\u6237\u53ef\u4ee5\u4e3a\u4e91\u4e3b\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\uff0c\u80fd\u591f\u4e3a\u6570\u636e\u63d0\u4f9b\u6301\u7eed\u7684\u4fdd\u62a4\uff0c\u786e\u4fdd\u5728\u53d1\u751f\u6570\u636e\u4e22\u5931\u3001\u635f\u574f\u6216\u5220\u9664\u7684\u60c5\u51b5\u4e0b\u53ef\u4ee5\u8fdb\u884c\u6709\u6548\u7684\u6570\u636e\u6062\u590d\u3002

                "},{"location":"admin/virtnest/vm/scheduled-snapshot.html#_2","title":"\u5b9a\u65f6\u5feb\u7167\u6b65\u9aa4","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u5728\u5217\u8868\u9875\u9762\uff0c\u9009\u62e9\u76ee\u6807\u4e91\u4e3b\u673a\u6240\u5728\u7684\u96c6\u7fa4\u3002 \u8fdb\u5165\u96c6\u7fa4\u540e\uff0c\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u9009\u62e9 YAML \u521b\u5efa \u5b9a\u65f6\u4efb\u52a1\uff0c\u53c2\u8003\u4ee5\u4e0b YAML \u793a\u4f8b\u53ef\u4e3a\u6307\u5b9a\u4e91\u4e3b\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\u3002

                  \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                  apiVersion: batch/v1\nkind: CronJob\nmetadata:\n  name: xxxxx-xxxxx-cronjob # \u5b9a\u65f6\u4efb\u52a1\u540d\u79f0, \u53ef\u81ea\u5b9a\u4e49\n  namespace: virtnest-system # \u8bf7\u52ff\u4fee\u6539\u6b64namespace\nspec:\n  schedule: \"5 * * * *\" # \u6309\u9700\u4fee\u6539\u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u95f4\u9694\n  concurrencyPolicy: Allow\n  suspend: false\n  successfulJobsHistoryLimit: 10\n  failedJobsHistoryLimit: 3\n  startingDeadlineSeconds: 60\n  jobTemplate:\n    spec:\n      template:\n        metadata:\n          labels:\n            virtnest.io/vm: xxxx # \u4fee\u6539\u4e3a\u9700\u8981\u5feb\u7167\u7684\u4e91\u4e3b\u673a\u540d\u79f0\n            virtnest.io/namespace: xxxx # \u4fee\u6539\u4e3a\u4e91\u4e3b\u673a\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\n        spec:\n          serviceAccountName: kubevirt-operator\n          containers:\n            - name: snapshot-job\n              image: release.daocloud.io/virtnest/tools:v0.1.5 # \u79bb\u7ebf\u73af\u5883\u4e0b,\u4ed3\u5e93\u5730\u5740\u4fee\u6539\u4e3a\u5bf9\u5e94\u706b\u79cd\u96c6\u7fa4\u4ed3\u5e93\u5730\u5740\n              imagePullPolicy: IfNotPresent\n              env:\n                - name: NS\n                  valueFrom:\n                    fieldRef:\n                      fieldPath: metadata.labels['virtnest.io/namespace']\n                - name: VM\n                  valueFrom:\n                    fieldRef:\n                      fieldPath: metadata.labels['virtnest.io/vm']\n              command:\n                - /bin/sh\n                - -c\n                - |\n                  export SUFFIX=$(date +\"%Y%m%d-%H%M%S\")\n                  cat <<EOF | kubectl apply -f -\n                  apiVersion: snapshot.kubevirt.io/v1alpha1\n                  kind: VirtualMachineSnapshot\n                  metadata:\n                    name: $(VM)-snapshot-$SUFFIX\n                    namespace: $(NS)\n                  spec:\n                    source:\n                      apiGroup: kubevirt.io\n                      kind: VirtualMachine\n                      name: $(VM)\n                  EOF\n          restartPolicy: OnFailure\n
                2. \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u5e76\u6210\u529f\u8fd0\u884c\u540e\uff0c\u53ef\u70b9\u51fb \u4e91\u4e3b\u673a \u5728\u5217\u8868\u9875\u9762\u9009\u62e9\u76ee\u6807\u4e91\u4e3b\u673a\uff0c\u8fdb\u5165\u8be6\u60c5\u540e\u53ef\u67e5\u770b\u5feb\u7167\u5217\u8868\u3002

                "},{"location":"admin/virtnest/vm/snapshot.html","title":"\u5feb\u7167\u7ba1\u7406","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u4e91\u4e3b\u673a\u521b\u5efa\u5feb\u7167\uff0c\u5e76\u4ece\u5feb\u7167\u4e2d\u6062\u590d\u7684\u3002

                \u7528\u6237\u53ef\u4ee5\u4e3a\u4e91\u4e3b\u673a\u521b\u5efa\u5feb\u7167\uff0c\u4fdd\u5b58\u4e91\u4e3b\u673a\u5f53\u4e0b\u7684\u72b6\u6001\uff0c\u4e00\u4e2a\u5feb\u7167\u53ef\u4ee5\u652f\u6301\u591a\u6b21\u6062\u590d\uff0c\u6bcf\u6b21\u6062\u590d\u65f6\uff0c \u4e91\u4e3b\u673a\u5c06\u88ab\u8fd8\u539f\u5230\u5feb\u7167\u521b\u5efa\u65f6\u7684\u72b6\u6001\u3002\u901a\u5e38\u53ef\u4ee5\u7528\u4e8e\u5907\u4efd\u3001\u6062\u590d\u3001\u56de\u6eda\u7b49\u573a\u666f\u3002

                "},{"location":"admin/virtnest/vm/snapshot.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u4f7f\u7528\u5feb\u7167\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u53ea\u6709\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u624d\u80fd\u4f7f\u7528\u5feb\u7167\u529f\u80fd\u3002
                • \u5b89\u88c5 Snapshot CRDs\u3001Snapshot Controller\u3001CSI Driver\u3002 \u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u53ef\u53c2\u8003 CSI Snapshotter\u3002
                • \u7b49\u5f85 snapshot-controller \u7ec4\u4ef6\u51c6\u5907\u5c31\u7eea, \u8be5\u7ec4\u4ef6\u4f1a\u76d1\u63a7 VolumeSnapshot \u548c VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                • \u7b49\u5f85 CSI Driver \u51c6\u5907\u5c31\u7eea, \u786e\u4fdd csi-snapshotter sidecar \u8dd1\u5728 CSI Driver \u91cc\uff0ccsi-snapshotter sidecar \u4f1a\u76d1\u63a7 VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002\u5982 POC \u4f7f\u7528\u7684\u5b58\u50a8\u662f rook-ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                  • \u5982\u5b58\u50a8\u662f Rook-Ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                  • \u5982\u5b58\u50a8\u662f HwameiStor\uff0c\u53ef\u53c2\u8003 huameistor-snapshot
                "},{"location":"admin/virtnest/vm/snapshot.html#_3","title":"\u521b\u5efa\u5feb\u7167","text":"
                1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u6267\u884c\u5feb\u7167\u64cd\u4f5c\u3002

                2. \u5f39\u51fa\u5f39\u6846\uff0c\u9700\u8981\u586b\u5199\u5feb\u7167\u7684\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u521b\u5efa\u5feb\u7167\u5927\u6982\u9700\u8981\u51e0\u5206\u949f\u7684\u65f6\u95f4\uff0c\u5728\u6b64\u671f\u95f4\u65e0\u6cd5\u5bf9\u4e91\u4e3b\u673a\u505a\u4efb\u4f55\u64cd\u4f5c\u3002

                3. \u521b\u5efa\u6210\u529f\u540e\u53ef\u4ee5\u5728\u4e91\u4e3b\u673a\u8be6\u60c5\u5185\u67e5\u770b\u5feb\u7167\u4fe1\u606f\uff0c\u652f\u6301\u7f16\u8f91\u63cf\u8ff0\u3001\u4ece\u5feb\u7167\u4e2d\u6062\u590d\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                "},{"location":"admin/virtnest/vm/snapshot.html#_4","title":"\u4ece\u5feb\u7167\u4e2d\u6062\u590d","text":"
                1. \u70b9\u51fb \u4ece\u5feb\u7167\u6062\u590d \uff0c\u9700\u8981\u586b\u5199\u4e91\u4e3b\u673a\u6062\u590d\u8bb0\u5f55\u7684\u540d\u79f0\uff0c\u540c\u65f6\u6062\u590d\u64cd\u4f5c\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\u6765\u5b8c\u6210\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u5feb\u7167\u7684\u5927\u5c0f\u548c\u5176\u4ed6\u56e0\u7d20\u3002\u6062\u590d\u6210\u529f\u540e\uff0c\u4e91\u4e3b\u673a\u5c06\u56de\u5230\u5feb\u7167\u521b\u5efa\u65f6\u7684\u72b6\u6001\u3002

                2. \u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u4e0b\u62c9\u5feb\u7167\u4fe1\u606f\uff0c\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u5feb\u7167\u7684\u6240\u6709\u6062\u590d\u8bb0\u5f55\uff0c\u5e76\u4e14\u652f\u6301\u5c55\u793a\u5b9a\u4f4d\u6062\u590d\u7684\u4f4d\u7f6e\u3002

                "},{"location":"admin/virtnest/vm/vm-network.html","title":"\u4e91\u4e3b\u673a\u7f51\u7edc","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\uff0c\u914d\u7f6e\u7f51\u7edc\u4fe1\u606f\u3002

                \u5728\u4e91\u4e3b\u673a\u4e2d\uff0c\u7f51\u7edc\u7ba1\u7406\u662f\u4e00\u4e2a\u5173\u952e\u7684\u90e8\u5206\uff0c\u5b83\u4f7f\u5f97\u6211\u4eec\u80fd\u591f\u5728 Kubernetes \u73af\u5883\u4e2d\u7ba1\u7406\u548c\u914d\u7f6e\u4e91\u4e3b\u673a\u7684\u7f51\u7edc\u8fde\u63a5\uff0c\u53ef\u4ee5\u6839\u636e\u4e0d\u540c\u7684\u9700\u6c42\u548c\u573a\u666f\u6765\u8fdb\u884c\u914d\u7f6e\uff0c\u5b9e\u73b0\u66f4\u7075\u6d3b\u548c\u591a\u6837\u5316\u7684\u7f51\u7edc\u67b6\u6784\u3002

                1. \u5355\u7f51\u5361\u573a\u666f\uff1a\u5bf9\u4e8e\u4e00\u4e9b\u7b80\u5355\u7684\u53ea\u9700\u8981\u57fa\u672c\u7f51\u7edc\u8fde\u63a5\u7684\u5e94\u7528\uff0c\u6216\u8005\u5b58\u5728\u8d44\u6e90\u9650\u5236\u7684\u65f6\u5019\uff0c\u4f7f\u7528\u5355\u7f51\u5361\u53ef\u4ee5\u8282\u7ea6\u7f51\u7edc\u8d44\u6e90\uff0c\u5e76\u907f\u514d\u8d44\u6e90\u7684\u6d6a\u8d39\u3002
                2. \u591a\u7f51\u5361\u573a\u666f\uff1a\u5f53\u9700\u8981\u5b9e\u73b0\u4e0d\u540c\u7f51\u7edc\u73af\u5883\u4e4b\u95f4\u7684\u5b89\u5168\u9694\u79bb\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528\u591a\u7f51\u5361\u6765\u5212\u5206\u4e0d\u540c\u7684\u7f51\u7edc\u533a\u57df\u3002\u540c\u65f6\u4e5f\u53ef\u4ee5\u5bf9\u63a7\u5236\u548c\u6d41\u91cf\u8fdb\u884c\u7ba1\u7406\u3002
                "},{"location":"admin/virtnest/vm/vm-network.html#_2","title":"\u7f51\u7edc\u914d\u7f6e\u524d\u63d0","text":"

                \u5728\u4f7f\u7528\u4e91\u4e3b\u673a\u7f51\u7edc\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6839\u636e\u7f51\u7edc\u6a21\u5f0f\u7684\u4e0d\u540c\u914d\u7f6e\u4e0d\u540c\u7684\u4fe1\u606f\uff1a

                • \u9009\u62e9 Bridge \u7f51\u7edc\u6a21\u5f0f\u65f6\u9700\u8981\u63d0\u524d\u914d\u7f6e\u4e00\u4e9b\u4fe1\u606f\uff1a

                  • \u5728\u4e3b\u673a\u8282\u70b9\u4e0a\u5b89\u88c5\u5e76\u8fd0\u884c Open vSwitch, \u53ef\u53c2\u8003\u8fd9\u91cc
                  • \u5728\u4e3b\u673a\u8282\u70b9\u4e0a\u914d\u7f6e Open vSwitch \u7f51\u6865, \u53ef\u53c2\u8003\u8fd9\u91cc
                  • \u5b89\u88c5 Spiderpool\uff0c\u53ef\u53c2\u8003\u5b89\u88c5 Spiderpool, Spiderpool \u9ed8\u8ba4\u4f1a\u628a Multus CNI \u548c Ovs CNI \u90fd\u88c5\u4e0a
                  • \u521b\u5efa ovs \u7c7b\u578b\u7684 Multus CR\uff0c\u53ef\u53c2\u8003\u754c\u9762\u521b\u5efa Multus CR \u6216 YAML \u521b\u5efa Multus CR
                  • \u521b\u5efa\u5b50\u7f51\u53ca IP \u6c60\uff0c\u53c2\u8003\u521b\u5efa\u5b50\u7f51\u548c IP \u6c60
                "},{"location":"admin/virtnest/vm/vm-network.html#_3","title":"\u7f51\u7edc\u914d\u7f6e","text":"
                1. \u914d\u7f6e\u4e91\u4e3b\u673a\u7684\u7f51\u7edc\u914d\u7f6e\uff0c\u53ef\u4ee5\u6839\u636e\u8868\u683c\u4fe1\u606f\u6309\u9700\u7ec4\u5408\u3002

                  \u7f51\u7edc\u6a21\u5f0f CNI \u662f\u5426\u5b89\u88c5 Spiderpool \u7f51\u5361\u6a21\u5f0f \u56fa\u5b9a IP \u5b9e\u65f6\u8fc1\u79fb Masquerade\uff08NAT\uff09 Calico \u274c \u5355\u7f51\u5361 \u274c \u2705 Cilium \u274c \u5355\u7f51\u5361 \u274c \u2705 Flannel \u274c \u5355\u7f51\u5361 \u274c \u2705 Bridge\uff08\u6865\u63a5\uff09 OVS \u2705 \u591a\u7f51\u5361 \u2705 \u2705

                2. \u7f51\u7edc\u6a21\u5f0f\uff1a\u5206\u4e3a Masquerade\uff08NAT\uff09\u3001Bridge\uff08\u6865\u63a5\uff09\u4e24\u79cd\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u9700\u8981\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\u540e\u65b9\u53ef\u4f7f\u7528\u3002

                  1. \u9ed8\u8ba4\u9009\u62e9 Masquerade\uff08NAT\uff09\u7684\u7f51\u7edc\u6a21\u5f0f\uff0c\u4f7f\u7528 eth0 \u9ed8\u8ba4\u7f51\u5361\u3002

                  2. \u82e5\u96c6\u7fa4\u5185\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\uff0c\u5219\u652f\u6301\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\uff0c\u652f\u6301\u591a\u7f51\u5361\u5f62\u5f0f\u3002

                    \u9009\u62e9 Bridge \u6a21\u5f0f\u65f6\uff0c\u9700\u8981\u6709\u4e00\u4e9b\u524d\u63d0\u6761\u4ef6

                3. \u6dfb\u52a0\u7f51\u5361

                  1. Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u4e0b\u652f\u6301\u624b\u52a8\u6dfb\u52a0\u7f51\u5361\u3002\u70b9\u51fb \u6dfb\u52a0\u7f51\u5361 \uff0c\u8fdb\u884c\u7f51\u5361 IP \u6c60\u7684\u914d\u7f6e\u3002\u9009\u62e9\u548c\u7f51\u7edc\u6a21\u5f0f\u5339\u914d\u7684 Multus CR\uff0c\u82e5\u6ca1\u6709\u5219\u9700\u8981\u81ea\u884c\u521b\u5efa\u3002

                  2. \u82e5\u6253\u5f00 \u4f7f\u7528\u9ed8\u8ba4 IP \u6c60 \u5f00\u5173\uff0c\u5219\u4f7f\u7528 multus CR \u914d\u7f6e\u4e2d\u7684\u9ed8\u8ba4 IP \u6c60\u3002\u82e5\u5173\u95ed\u5f00\u5173\uff0c\u5219\u624b\u52a8\u9009\u62e9 IP \u6c60\u3002

                "},{"location":"admin/virtnest/vm/vm-sc.html","title":"\u4e91\u4e3b\u673a\u5b58\u50a8","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\uff0c\u914d\u7f6e\u5b58\u50a8\u4fe1\u606f\u3002

                \u5b58\u50a8\u548c\u4e91\u4e3b\u673a\u7684\u529f\u80fd\u606f\u606f\u76f8\u5173\uff0c\u4e3b\u8981\u662f\u901a\u8fc7\u4f7f\u7528 Kubernetes \u7684\u6301\u4e45\u5377\u548c\u5b58\u50a8\u7c7b\uff0c\u63d0\u4f9b\u4e86\u7075\u6d3b\u4e14\u53ef\u6269\u5c55\u7684\u4e91\u4e3b\u673a\u5b58\u50a8\u80fd\u529b\u3002 \u6bd4\u5982\u4e91\u4e3b\u673a\u955c\u50cf\u5b58\u50a8\u5728 PVC \u91cc\uff0c\u652f\u6301\u548c\u5176\u4ed6\u6570\u636e\u4e00\u8d77\u514b\u9686\u3001\u5feb\u7167\u7b49

                "},{"location":"admin/virtnest/vm/vm-sc.html#_2","title":"\u90e8\u7f72\u4e0d\u540c\u7684\u5b58\u50a8","text":"

                \u5728\u4f7f\u7528\u4e91\u4e3b\u673a\u5b58\u50a8\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6839\u636e\u9700\u8981\u90e8\u7f72\u4e0d\u540c\u7684\u5b58\u50a8\uff1a

                1. \u53c2\u8003\u90e8\u7f72 hwameistor\uff0c \u6216\u8005\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684 Helm \u6a21\u677f\u4e2d\u5b89\u88c5 hwameistor-operator\u3002
                2. \u53c2\u8003\u90e8\u7f72 rook-ceph
                3. \u90e8\u7f72 localpath\uff0c\u4f7f\u7528\u547d\u4ee4 kubectl apply -f \u521b\u5efa\u4ee5\u4e0b YAML\uff1a
                \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                ---\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: local-path-storage\n\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  name: local-path-provisioner-service-account\n  namespace: local-path-storage\n\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: local-path-provisioner-role\nrules:\n- apiGroups: [\"\"]\n  resources: [\"nodes\", \"persistentvolumeclaims\", \"configmaps\"]\n  verbs: [\"get\", \"list\", \"watch\"]\n- apiGroups: [\"\"]\n  resources: [\"endpoints\", \"persistentvolumes\", \"pods\"]\n  verbs: [\"*\"]\n- apiGroups: [\"\"]\n  resources: [\"events\"]\n  verbs: [\"create\", \"patch\"]\n- apiGroups: [\"storage.k8s.io\"]\n  resources: [\"storageclasses\"]\n  verbs: [\"get\", \"list\", \"watch\"]\n\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n  name: local-path-provisioner-bind\nroleRef:\n  apiGroup: rbac.authorization.k8s.io\n  kind: ClusterRole\n  name: local-path-provisioner-role\nsubjects:\n- kind: ServiceAccount\n  name: local-path-provisioner-service-account\n  namespace: local-path-storage\n\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: local-path-provisioner\n  namespace: local-path-storage\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: local-path-provisioner\n  template:\n    metadata:\n      labels:\n        app: local-path-provisioner\n    spec:\n      serviceAccountName: local-path-provisioner-service-account\n      containers:\n      - name: local-path-provisioner\n        image: rancher/local-path-provisioner:v0.0.22\n        imagePullPolicy: IfNotPresent\n        command:\n        - local-path-provisioner\n        - --debug\n        - start\n        - --config\n        - /etc/config/config.json\n        volumeMounts:\n        - name: config-volume\n          mountPath: /etc/config/\n        env:\n        - name: POD_NAMESPACE\n          valueFrom:\n            fieldRef:\n              fieldPath: metadata.namespace\n      volumes:\n      - name: config-volume\n        configMap:\n          name: local-path-config\n\n---\napiVersion: storage.k8s.io/v1\nkind: StorageClass\nmetadata:\n  name: local-path\nprovisioner: rancher.io/local-path\nvolumeBindingMode: WaitForFirstConsumer\nreclaimPolicy: Delete\n\n---\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: local-path-config\n  namespace: local-path-storage\ndata:\n  config.json: |-\n    {\n      \"nodePathMap\": [\n        {\n          \"node\": \"DEFAULT_PATH_FOR_NON_LISTED_NODES\",\n          \"paths\": [\"/opt/local-path-provisioner\"]\n        }\n      ]\n    }\n  setup: |-\n    #!/bin/sh\n    set -eu\n    mkdir -m 0777 -p \"$VOL_DIR\"\n  teardown: |-\n    #!/bin/sh\n    set -eu\n    rm -rf \"$VOL_DIR\"\n  helperPod.yaml: |-\n    apiVersion: v1\n    kind: Pod\n    metadata:\n      name: helper-pod\n    spec:\n      containers:\n      - name: helper-pod\n        image: busybox\n        imagePullPolicy: IfNotPresent\n
                "},{"location":"admin/virtnest/vm/vm-sc.html#_3","title":"\u4e91\u4e3b\u673a\u5b58\u50a8","text":"
                1. \u7cfb\u7edf\u76d8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002

                2. \u6570\u636e\u76d8\uff1a\u6570\u636e\u76d8\u662f\u4e91\u4e3b\u673a\u4e2d\u7528\u4e8e\u5b58\u50a8\u7528\u6237\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u6570\u636e\u6216\u5176\u4ed6\u975e\u64cd\u4f5c\u7cfb\u7edf\u76f8\u5173\u6587\u4ef6\u7684\u5b58\u50a8\u8bbe\u5907\u3002\u4e0e\u7cfb\u7edf\u76d8\u76f8\u6bd4\uff0c\u6570\u636e\u76d8\u662f\u975e\u5fc5\u9009\u7684\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u52a8\u6001\u6dfb\u52a0\u6216\u79fb\u9664\u3002\u6570\u636e\u76d8\u7684\u5bb9\u91cf\u4e5f\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u8fdb\u884c\u7075\u6d3b\u914d\u7f6e\u3002

                  \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u5df2\u7ecf\u521b\u5efa\u4e86\u5bf9\u5e94\u7684 VolumeSnapshotClass\uff0c \u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u793a\u4f8b\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u652f\u6301\u5e76\u9009\u62e9\u4e86 ReadWriteMany \u7684\u8bbf\u95ee\u6a21\u5f0f \u3002

                  \u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5b58\u50a8\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u4e0d\u4f1a\u81ea\u52a8\u521b\u5efa\u8fd9\u6837\u7684 VolumeSnapshotClass\uff0c\u56e0\u6b64\u60a8\u9700\u8981\u624b\u52a8\u521b\u5efa VolumeSnapshotClass\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a HwameiStor \u521b\u5efa VolumeSnapshotClass \u7684\u793a\u4f8b\uff1a

                  kind: VolumeSnapshotClass\napiVersion: snapshot.storage.k8s.io/v1\nmetadata:\n  name: hwameistor-storage-lvm-snapshot\n  annotations:\n    snapshot.storage.kubernetes.io/is-default-class: \"true\"\nparameters:\n  snapsize: \"1073741824\"\ndriver: lvm.hwameistor.io\ndeletionPolicy: Delete\n
                  • \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u68c0\u67e5 VolumeSnapshotClass \u662f\u5426\u521b\u5efa\u6210\u529f\u3002

                    kubectl get VolumeSnapshotClass\n
                  • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass\uff0c\u5e76\u4e14\u786e\u8ba4 Provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002

                "},{"location":"admin/virtnest/vm-image/index.html","title":"\u6784\u5efa\u4e91\u4e3b\u673a\u955c\u50cf","text":"

                \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa\u9700\u8981\u7684\u4e91\u4e3b\u673a\u955c\u50cf\u3002

                \u4e91\u4e3b\u673a\u955c\u50cf\u5176\u5b9e\u5c31\u662f\u526f\u672c\u6587\u4ef6\uff0c\u662f\u5b89\u88c5\u6709\u64cd\u4f5c\u7cfb\u7edf\u7684\u4e00\u4e2a\u78c1\u76d8\u5206\u533a\u3002\u5e38\u89c1\u7684\u955c\u50cf\u6587\u4ef6\u683c\u5f0f\u5305\u62ec raw\u3001qcow2\u3001vmdk\u7b49\u3002

                "},{"location":"admin/virtnest/vm-image/index.html#_2","title":"\u6784\u5efa\u955c\u50cf","text":"

                \u4e0b\u9762\u662f\u6784\u5efa\u4e91\u4e3b\u673a\u955c\u50cf\u7684\u4e00\u4e9b\u8be6\u7ec6\u6b65\u9aa4\uff1a

                1. \u4e0b\u8f7d\u7cfb\u7edf\u955c\u50cf

                  \u5728\u6784\u5efa\u4e91\u4e3b\u673a\u955c\u50cf\u4e4b\u524d\uff0c\u60a8\u9700\u8981\u4e0b\u8f7d\u6240\u9700\u7684\u7cfb\u7edf\u955c\u50cf\u3002\u6211\u4eec\u63a8\u8350\u4f7f\u7528 qcow2\u3001raw \u6216 vmdk \u683c\u5f0f\u7684\u955c\u50cf\u3002\u53ef\u4ee5\u8bbf\u95ee\u4ee5\u4e0b\u94fe\u63a5\u83b7\u53d6 CentOS \u548c Fedora \u7684\u955c\u50cf\uff1a

                  • CentOS Cloud Images\uff1a\u652f\u6301\u4ece\u5b98\u65b9 CentOS \u9879\u76ee\u6216\u5176\u4ed6\u8d44\u6e90\u4e2d\u83b7\u53d6 CentOS \u955c\u50cf\u3002\u8bf7\u786e\u4fdd\u9009\u62e9\u4e0e\u60a8\u7684\u865a\u62df\u5316\u5e73\u53f0\u517c\u5bb9\u7684\u7248\u672c\u3002
                  • Fedora Cloud Images\uff1a \u652f\u6301\u4ece\u5b98\u65b9 Fedora \u9879\u76ee\u83b7\u53d6\u955c\u50cf\u3002\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u7248\u672c\u3002
                2. \u6784\u5efa Docker \u955c\u50cf\u5e76\u63a8\u9001\u5230\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93

                  \u5728\u6b64\u6b65\u9aa4\u4e2d\uff0c\u6211\u4eec\u5c06\u4f7f\u7528 Docker \u6784\u5efa\u4e00\u4e2a\u955c\u50cf\uff0c\u5e76\u5c06\u5176\u63a8\u9001\u5230\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u80fd\u591f\u65b9\u4fbf\u5730\u90e8\u7f72\u548c\u4f7f\u7528\u3002

                  • \u521b\u5efa Dockerfile \u6587\u4ef6

                    FROM scratch\nADD --chown=107:107 CentOS-7-x86_64-GenericCloud.qcow2 /disk/\n

                    \u5411\u57fa\u4e8e\u7a7a\u767d\u955c\u50cf\u6784\u5efa\u7684\u955c\u50cf\u4e2d\u6dfb\u52a0\u540d\u4e3a CentOS-7-x86_64-GenericCloud.qcow2 \u7684\u6587\u4ef6\uff0c\u5e76\u5c06\u5176\u653e\u7f6e\u5728\u955c\u50cf\u4e2d\u7684 /disk/ \u76ee\u5f55\u4e0b\u3002\u901a\u8fc7\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u955c\u50cf\u5c31\u5305\u542b\u4e86\u8fd9\u4e2a\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\u4f7f\u7528\u5b83\u6765\u63d0\u4f9b CentOS 7 x86_64 \u7684\u64cd\u4f5c\u7cfb\u7edf\u73af\u5883\u3002

                  • \u6784\u5efa\u955c\u50cf

                    docker build -t release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1 .\n

                    \u4e0a\u8ff0\u547d\u4ee4\u5c06\u4f7f\u7528 Dockerfile \u4e2d\u7684\u6307\u4ee4\u6784\u5efa\u4e00\u4e2a\u540d\u4e3a release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1 \u7684\u955c\u50cf\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u9879\u76ee\u9700\u6c42\u4fee\u6539\u955c\u50cf\u540d\u79f0\u3002

                  • \u63a8\u9001\u955c\u50cf\u81f3\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93

                    \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u6784\u5efa\u597d\u7684\u955c\u50cf\u63a8\u9001\u5230\u540d\u4e3a release-ci.daocloud.io \u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u60a8\u8fd8\u53ef\u4ee5\u6839\u636e\u9700\u8981\u4fee\u6539\u955c\u50cf\u4ed3\u5e93\u7684\u540d\u79f0\u548c\u5730\u5740\u3002

                    docker push release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1\n

                \u4ee5\u4e0a\u662f\u6784\u5efa\u4e91\u4e3b\u673a\u955c\u50cf\u7684\u8be6\u7ec6\u6b65\u9aa4\u548c\u8bf4\u660e\u3002\u901a\u8fc7\u6309\u7167\u8fd9\u4e9b\u6b65\u9aa4\u64cd\u4f5c\uff0c\u60a8\u5c06\u80fd\u591f\u6210\u529f\u6784\u5efa\u5e76\u63a8\u9001\u7528\u4e8e\u4e91\u4e3b\u673a\u7684\u955c\u50cf\uff0c\u4ee5\u6ee1\u8db3\u60a8\u7684\u4f7f\u7528\u9700\u6c42\u3002

                "},{"location":"end-user/index.html","title":"\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 - \u7ec8\u7aef\u7528\u6237","text":"

                \u8fd9\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9762\u5411\u7ec8\u7aef\u7528\u6237\u7684\u4f7f\u7528\u6587\u6863\u3002

                • \u7528\u6237\u6ce8\u518c

                  \u7528\u6237\u6ce8\u518c\u662f\u4f7f\u7528 AI \u7b97\u529b\u5e73\u53f0\u7684\u7b2c\u4e00\u6b65\u3002

                  • \u7528\u6237\u6ce8\u518c
                • \u4e91\u4e3b\u673a

                  \u4e91\u4e3b\u673a\u662f\u90e8\u7f72\u5728\u4e91\u7aef\u7684\u865a\u62df\u673a\u3002

                  • \u521b\u5efa\u4e91\u4e3b\u673a
                  • \u4f7f\u7528\u4e91\u4e3b\u673a
                • \u5bb9\u5668\u7ba1\u7406

                  \u5bb9\u5668\u7ba1\u7406\u662f AI \u7b97\u529b\u4e2d\u5fc3\u7684\u6838\u5fc3\u6a21\u5757\u3002

                  • \u4e91\u4e0a K8s \u96c6\u7fa4
                  • \u8282\u70b9\u7ba1\u7406
                  • \u5de5\u4f5c\u8d1f\u8f7d
                  • Helm \u5e94\u7528\u548c\u6a21\u677f
                • \u7b97\u6cd5\u5f00\u53d1

                  \u7ba1\u7406\u6570\u636e\u96c6\uff0c\u6267\u884c AI \u8bad\u7ec3\u548c\u63a8\u7406\u4efb\u52a1\u3002

                  • \u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d
                  • \u4f7f\u7528 Notebook
                  • \u521b\u5efa\u8bad\u7ec3\u4efb\u52a1
                  • \u521b\u5efa\u63a8\u7406\u670d\u52a1
                • \u53ef\u89c2\u6d4b\u6027

                  \u901a\u8fc7\u4eea\u8868\u76d8\u76d1\u63a7\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u51b5\u3002

                  • \u76d1\u63a7\u96c6\u7fa4/\u8282\u70b9
                  • \u6307\u6807
                  • \u65e5\u5fd7
                  • \u94fe\u8def\u8ffd\u8e2a
                • \u4e2a\u4eba\u4e2d\u5fc3

                  \u5728\u4e2a\u4eba\u4e2d\u5fc3\u8bbe\u7f6e\u5bc6\u7801\u3001\u5bc6\u94a5\u548c\u8bed\u8a00\u3002

                  • \u5b89\u5168\u8bbe\u7f6e
                  • \u8bbf\u95ee\u5bc6\u94a5
                  • \u8bed\u8a00\u8bbe\u7f6e

                "},{"location":"end-user/baize/dataset/create-use-delete.html","title":"\u6570\u636e\u96c6\u5217\u8868","text":"

                AI Lab \u63d0\u4f9b\u6a21\u578b\u5f00\u53d1\u3001\u8bad\u7ec3\u4ee5\u53ca\u63a8\u7406\u8fc7\u7a0b\u6240\u6709\u9700\u8981\u7684\u6570\u636e\u96c6\u7ba1\u7406\u529f\u80fd\u3002\u76ee\u524d\u652f\u6301\u5c06\u591a\u79cd\u6570\u636e\u6e90\u7edf\u4e00\u63a5\u5165\u80fd\u529b\u3002

                \u901a\u8fc7\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5c06\u6570\u636e\u6e90\u63a5\u5165\u5230 AI Lab \u4e2d\uff0c\u5b9e\u73b0\u6570\u636e\u7684\u7edf\u4e00\u7eb3\u7ba1\u3001\u9884\u70ed\u3001\u6570\u636e\u96c6\u7ba1\u7406\u7b49\u529f\u80fd\u3002

                "},{"location":"end-user/baize/dataset/create-use-delete.html#_2","title":"\u521b\u5efa\u6570\u636e\u96c6","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u6570\u636e\u7ba1\u7406 -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                2. \u9009\u62e9\u6570\u636e\u96c6\u5f52\u5c5e\u7684\u5de5\u4f5c\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4 \u4e0b\u4e00\u6b65 \u3002

                3. \u914d\u7f6e\u76ee\u6807\u6570\u636e\u7684\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                  \u76ee\u524d\u652f\u6301\u8fd9\u51e0\u79cd\u6570\u636e\u6e90\uff1a

                  • GIT\uff1a\u652f\u6301 GitHub\u3001GitLab\u3001Gitee \u7b49\u4ed3\u5e93
                  • S3\uff1a\u652f\u6301 Amazon \u4e91\u7b49\u5bf9\u8c61\u5b58\u50a8
                  • HTTP\uff1a\u76f4\u63a5\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684 HTTP \u7f51\u5740
                  • PVC\uff1a\u652f\u6301\u9884\u5148\u521b\u5efa\u7684 Kubernetes PersistentVolumeClaim
                  • NFS\uff1a\u652f\u6301 NFS \u5171\u4eab\u5b58\u50a8
                4. \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u5c06\u8fd4\u56de\u6570\u636e\u96c6\u5217\u8868\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

                Info

                \u7cfb\u7edf\u81ea\u52a8\u4f1a\u5728\u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u7acb\u5373\u8fdb\u884c\u4e00\u6b21\u6027\u7684\u6570\u636e\u9884\u52a0\u8f7d\uff1b\u5728\u9884\u52a0\u8f7d\u5b8c\u6210\u4e4b\u524d\uff0c\u6570\u636e\u96c6\u4e0d\u53ef\u4ee5\u4f7f\u7528\u3002

                "},{"location":"end-user/baize/dataset/create-use-delete.html#_3","title":"\u6570\u636e\u96c6\u4f7f\u7528","text":"

                \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u5728\u6a21\u578b\u8bad\u7ec3\u3001\u63a8\u7406\u7b49\u4efb\u52a1\u4e2d\u4f7f\u7528\u3002

                "},{"location":"end-user/baize/dataset/create-use-delete.html#notebook","title":"\u5728 Notebook \u4e2d\u4f7f\u7528","text":"

                \u5728\u521b\u5efa Notebook \u4e2d\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u6570\u636e\u96c6\uff1b\u4f7f\u7528\u65b9\u5f0f\u5982\u4e0b\uff1a

                • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u8bad\u7ec3\u6570\u636e\u6302\u8f7d
                • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u4ee3\u7801\u6302\u8f7d

                "},{"location":"end-user/baize/dataset/create-use-delete.html#_4","title":"\u5728 \u8bad\u7ec3\u4efb\u52a1 \u4e2d\u4f7f\u7528","text":"
                • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u51fa
                • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u5165
                • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a TensorBoard \u8f93\u51fa
                "},{"location":"end-user/baize/dataset/create-use-delete.html#_5","title":"\u5728\u63a8\u7406\u670d\u52a1 \u4e2d\u4f7f\u7528","text":"
                • \u4f7f\u7528\u6570\u636e\u96c6\u6302\u8f7d\u6a21\u578b
                "},{"location":"end-user/baize/dataset/create-use-delete.html#_6","title":"\u5220\u9664\u6570\u636e\u96c6","text":"

                \u5982\u679c\u53d1\u73b0\u6570\u636e\u96c6\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u6570\u636e\u96c6\u5217\u8868\u4e2d\u5220\u9664\u3002

                1. \u5728\u6570\u636e\u96c6\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u6570\u636e\u96c6\uff0c\u8f93\u5165\u6570\u636e\u96c6\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u6570\u636e\u96c6\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                Caution

                \u6570\u636e\u96c6\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                "},{"location":"end-user/baize/dataset/environments.html","title":"\u7ba1\u7406\u73af\u5883","text":"

                \u672c\u6587\u8bf4\u660e\u5982\u4f55\u5728 AI Lab \u4e2d\u7ba1\u7406\u4f60\u7684\u73af\u5883\u4f9d\u8d56\u5e93\uff0c\u4ee5\u4e0b\u662f\u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

                1. \u73af\u5883\u7ba1\u7406\u6982\u8ff0
                2. \u521b\u5efa\u65b0\u73af\u5883
                3. \u914d\u7f6e\u73af\u5883
                4. \u6545\u969c\u6392\u9664
                "},{"location":"end-user/baize/dataset/environments.html#_2","title":"\u73af\u5883\u7ba1\u7406\u6982\u8ff0","text":"

                \u4f20\u7edf\u65b9\u5f0f\uff0c\u4e00\u822c\u4f1a\u5c06 Python \u73af\u5883\u4f9d\u8d56\u5728\u955c\u50cf\u4e2d\u6784\u5efa\uff0c\u955c\u50cf\u5e26\u6709 Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7684\u955c\u50cf\uff0c\u7ef4\u62a4\u6210\u672c\u8f83\u9ad8\u4e14\u66f4\u65b0\u4e0d\u65b9\u4fbf\uff0c\u5f80\u5f80\u9700\u8981\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

                \u800c\u5728 AI Lab \u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 \u73af\u5883\u7ba1\u7406 \u6a21\u5757\u6765\u7ba1\u7406\u7eaf\u7cb9\u7684\u73af\u5883\u4f9d\u8d56\uff0c\u5c06\u8fd9\u90e8\u5206\u4ece\u955c\u50cf\u4e2d\u89e3\u8026\uff0c\u5e26\u6765\u7684\u4f18\u52bf\u6709\uff1a

                • \u4e00\u4efd\u73af\u5883\u591a\u5904\u4f7f\u7528\uff0c\u540c\u65f6\u53ef\u4ee5\u5728 Notebook\u3001\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3001\u4e43\u81f3\u63a8\u7406\u670d\u52a1\u4e2d\u4f7f\u7528\u3002
                • \u66f4\u65b0\u4f9d\u8d56\u5305\u66f4\u52a0\u65b9\u4fbf\uff0c\u53ea\u9700\u8981\u66f4\u65b0\u73af\u5883\u4f9d\u8d56\u5373\u53ef\uff0c\u65e0\u9700\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

                \u4ee5\u4e0b\u4e3a\u73af\u5883\u7ba1\u7406\u7684\u4e3b\u8981\u7ec4\u6210\u90e8\u5206\uff1a

                • \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u64cd\u4f5c\u7684\u96c6\u7fa4\u3002
                • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4\u4ee5\u9650\u5b9a\u64cd\u4f5c\u8303\u56f4\u3002
                • \u73af\u5883\u5217\u8868 \uff1a\u5c55\u793a\u5f53\u524d\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u73af\u5883\u53ca\u5176\u72b6\u6001\u3002

                \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u73af\u5883\u7684\u540d\u79f0 my-environment \u72b6\u6001 \u73af\u5883\u5f53\u524d\u7684\u72b6\u6001\uff08\u6b63\u5e38\u6216\u5931\u8d25\uff09\uff0c\u65b0\u521b\u5efa\u73af\u5883\u6709\u4e00\u4e2a\u9884\u70ed\u8fc7\u7a0b\uff0c\u9884\u70ed\u6210\u529f\u540e\u5373\u53ef\u5728\u5176\u4ed6\u4efb\u52a1\u4e2d\u4f7f\u7528 \u6b63\u5e38 \u521b\u5efa\u65f6\u95f4 \u73af\u5883\u521b\u5efa\u7684\u65f6\u95f4 2023-10-01 10:00:00"},{"location":"end-user/baize/dataset/environments.html#_3","title":"\u521b\u5efa\u65b0\u73af\u5883","text":"

                \u5728 \u73af\u5883\u7ba1\u7406 \u754c\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u73af\u5883\u7684\u6d41\u7a0b\u3002

                \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u8f93\u5165\u73af\u5883\u7684\u540d\u79f0\uff0c\u957f\u5ea6\u4e3a 2-63 \u4e2a\u5b57\u7b26\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\u3002 my-environment \u90e8\u7f72\u4f4d\u7f6e \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u90e8\u7f72\u7684\u96c6\u7fa4 gpu-cluster \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4 default \u5907\u6ce8 \u586b\u5199\u5907\u6ce8\u4fe1\u606f\u3002 \u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u73af\u5883 \u6807\u7b7e \u4e3a\u73af\u5883\u6dfb\u52a0\u6807\u7b7e\u3002 env:test \u6ce8\u89e3 \u4e3a\u73af\u5883\u6dfb\u52a0\u6ce8\u89e3\u3002\u586b\u5199\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u73af\u5883\u914d\u7f6e\u3002 \u6ce8\u89e3\u793a\u4f8b"},{"location":"end-user/baize/dataset/environments.html#_4","title":"\u914d\u7f6e\u73af\u5883","text":"

                \u5728\u73af\u5883\u914d\u7f6e\u6b65\u9aa4\u4e2d\uff0c\u7528\u6237\u9700\u8981\u914d\u7f6e Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7ba1\u7406\u5de5\u5177\u3002

                \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c Python \u7248\u672c \u9009\u62e9\u6240\u9700\u7684 Python \u7248\u672c 3.12.3 \u5305\u7ba1\u7406\u5668 \u9009\u62e9\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u53ef\u9009 PIP \u6216 CONDA PIP Environment Data \u5982\u679c\u9009\u62e9 PIP\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 requirements.txt \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 numpy==1.21.0 \u5982\u679c\u9009\u62e9 CONDA\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 environment.yaml \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 \u5176\u4ed6\u9009\u9879 pip \u989d\u5916\u7d22\u5f15\u5730\u5740 \uff1a\u914d\u7f6e pip \u989d\u5916\u7684\u7d22\u5f15\u5730\u5740\uff1b\u9002\u7528\u4e8e\u4f01\u4e1a\u5185\u90e8\u6709\u81ea\u5df1\u7684\u79c1\u6709\u4ed3\u5e93\u6216\u8005 PIP \u52a0\u901f\u7ad9\u70b9\u3002 https://pypi.example.com GPU \u914d\u7f6e \uff1a\u542f\u7528\u6216\u7981\u7528 GPU \u914d\u7f6e\uff1b\u90e8\u5206\u6d89\u53ca\u5230 GPU \u7684\u4f9d\u8d56\u5305\u9700\u8981\u5728\u9884\u52a0\u8f7d\u65f6\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u542f\u7528 \u5173\u8054\u5b58\u50a8 \uff1a\u9009\u62e9\u5173\u8054\u7684\u5b58\u50a8\u914d\u7f6e\uff1b\u73af\u5883\u4f9d\u8d56\u5305\u4f1a\u5b58\u50a8\u5728\u5173\u8054\u5b58\u50a8\u4e2d\u3002\u6ce8\u610f\uff1a\u9700\u8981\u4f7f\u7528\u652f\u6301 ReadWriteMany \u7684\u5b58\u50a8\u3002 my-storage-config

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u521b\u5efa \u6309\u94ae\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa\u5e76\u914d\u7f6e\u65b0\u7684 Python \u73af\u5883\u3002

                "},{"location":"end-user/baize/dataset/environments.html#_5","title":"\u6545\u969c\u6392\u9664","text":"
                • \u5982\u679c\u73af\u5883\u521b\u5efa\u5931\u8d25\uff1a

                  • \u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\u662f\u5426\u6b63\u5e38\u3002
                  • \u786e\u8ba4\u586b\u5199\u7684 Python \u7248\u672c\u548c\u5305\u7ba1\u7406\u5668\u914d\u7f6e\u65e0\u8bef\u3002
                  • \u786e\u4fdd\u6240\u9009\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u53ef\u7528\u3002
                • \u5982\u679c\u4f9d\u8d56\u9884\u70ed\u5931\u8d25\uff1a

                  • \u68c0\u67e5 requirements.txt \u6216 environment.yaml \u6587\u4ef6\u683c\u5f0f\u662f\u5426\u6b63\u786e\u3002
                  • \u786e\u8ba4\u4f9d\u8d56\u5305\u540d\u79f0\u548c\u7248\u672c\u662f\u5426\u6b63\u786e\u65e0\u8bef\u3002\u5982\u9047\u5230\u5176\u4ed6\u95ee\u9898\uff0c\u8bf7\u8054\u7cfb\u5e73\u53f0\u7ba1\u7406\u5458\u6216\u67e5\u770b\u5e73\u53f0\u5e2e\u52a9\u6587\u6863\u83b7\u53d6\u66f4\u591a\u652f\u6301\u3002

                \u4ee5\u4e0a\u5373\u4e3a\u5728 AI Lab \u4e2d\u7ba1\u7406 Python \u4f9d\u8d56\u5e93\u7684\u57fa\u672c\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

                "},{"location":"end-user/baize/inference/models.html","title":"\u4e86\u89e3\u6a21\u578b\u652f\u6301\u60c5\u51b5","text":"

                \u968f\u7740 AI Lab \u7684\u5feb\u901f\u8fed\u4ee3\uff0c\u6211\u4eec\u5df2\u7ecf\u652f\u6301\u4e86\u591a\u79cd\u6a21\u578b\u7684\u63a8\u7406\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6240\u652f\u6301\u7684\u6a21\u578b\u4fe1\u606f\u3002

                • AI Lab v0.3.0 \u4e0a\u7ebf\u4e86\u6a21\u578b\u63a8\u7406\u670d\u52a1\uff0c\u9488\u5bf9\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u65b9\u4fbf\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528AI Lab \u7684\u63a8\u7406\u670d\u52a1\uff0c\u65e0\u9700\u5173\u5fc3\u6a21\u578b\u7684\u90e8\u7f72\u548c\u7ef4\u62a4\u3002
                • AI Lab v0.6.0 \u652f\u6301\u4e86\u5b8c\u6574\u7248\u672c\u7684 vLLM \u63a8\u7406\u80fd\u529b\uff0c\u652f\u6301\u8bf8\u591a\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u5982 LLama\u3001Qwen\u3001ChatGLM \u7b49\u3002

                \u60a8\u53ef\u4ee5\u5728 AI Lab \u4e2d\u4f7f\u7528\u7ecf\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9a8c\u8bc1\u8fc7\u7684 GPU \u7c7b\u578b\uff1b \u66f4\u591a\u7ec6\u8282\u53c2\u9605 GPU \u652f\u6301\u77e9\u9635\u3002

                "},{"location":"end-user/baize/inference/models.html#triton-inference-server","title":"Triton Inference Server","text":"

                \u901a\u8fc7 Triton Inference Server \u53ef\u4ee5\u5f88\u597d\u7684\u652f\u6301\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u6211\u4eec\u76ee\u524d\u652f\u6301\u4e3b\u6d41\u7684\u63a8\u7406\u540e\u7aef\u670d\u52a1\uff1a

                Backend \u652f\u6301\u6a21\u578b\u683c\u5f0f \u4ecb\u7ecd pytorch TorchScript\u3001PyTorch 2.0 \u683c\u5f0f\u7684\u6a21\u578b triton-inference-server/pytorch_backend tensorflow TensorFlow 2.x triton-inference-server/tensorflow_backend vLLM(Deprecated) \u4e0e vLLM \u4e00\u81f4 \u652f\u6301\u7684\u6a21\u578b\u548c vLLM support Model \u4e00\u81f4

                Danger

                \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

                "},{"location":"end-user/baize/inference/models.html#vllm","title":"vLLM","text":"

                \u901a\u8fc7 vLLM \u6211\u4eec\u53ef\u4ee5\u5f88\u5feb\u7684\u4f7f\u7528\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6211\u4eec\u652f\u6301\u7684\u6a21\u578b\u5217\u8868\uff0c\u8fd9\u901a\u5e38\u548c vLLM Support Models \u4fdd\u6301\u4e00\u81f4\u3002

                • HuggingFace \u6a21\u578b\uff1a\u6211\u4eec\u652f\u6301\u4e86 HuggingFace \u7684\u5927\u90e8\u5206\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728 HuggingFace Model Hub \u67e5\u770b\u66f4\u591a\u6a21\u578b\u3002
                • vLLM \u652f\u6301\u6a21\u578b\u5217\u51fa\u4e86\u652f\u6301\u7684\u5927\u8bed\u8a00\u6a21\u578b\u548c\u89c6\u89c9\u8bed\u8a00\u6a21\u578b\u3002
                • \u4f7f\u7528 vLLM \u652f\u6301\u6846\u67b6\u7684\u6a21\u578b\u8fdb\u884c\u5fae\u8c03\u540e\u7684\u6a21\u578b\u3002
                "},{"location":"end-user/baize/inference/models.html#vllm_1","title":"vLLM \u65b0\u7279\u6027","text":"

                \u76ee\u524d\uff0cAI Lab \u8fd8\u652f\u6301\u5728\u4f7f\u7528 vLLM \u4f5c\u4e3a\u63a8\u7406\u5de5\u5177\u65f6\u7684\u4e00\u4e9b\u65b0\u7279\u6027\uff1a

                • \u5728\u63a8\u7406\u6a21\u578b\u65f6\uff0c\u542f\u7528 Lora Adapter \u6765\u4f18\u5316\u6a21\u578b\u63a8\u7406\u670d\u52a1
                • \u63d0\u4f9b\u517c\u5bb9 OpenAI \u7684 OpenAPI \u63a5\u53e3\uff0c\u65b9\u4fbf\u7528\u6237\u5207\u6362\u5230\u672c\u5730\u63a8\u7406\u670d\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f4e\u6210\u672c\u7684\u5feb\u901f\u5207\u6362
                "},{"location":"end-user/baize/inference/models.html#_2","title":"\u4e0b\u4e00\u6b65","text":"
                • \u521b\u5efa Triton \u63a8\u7406\u670d\u52a1
                • \u521b\u5efa vLLM \u63a8\u7406\u670d\u52a1
                "},{"location":"end-user/baize/inference/triton-inference.html","title":"\u521b\u5efa Triton \u63a8\u7406\u670d\u52a1","text":"

                AI Lab \u76ee\u524d\u63d0\u4f9b\u4ee5 Triton\u3001vLLM \u4f5c\u4e3a\u63a8\u7406\u6846\u67b6\uff0c\u7528\u6237\u53ea\u9700\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5feb\u901f\u542f\u52a8\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u63a8\u7406\u670d\u52a1\u3002

                Danger

                \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

                "},{"location":"end-user/baize/inference/triton-inference.html#triton_1","title":"Triton\u4ecb\u7ecd","text":"

                Triton \u662f\u7531 NVIDIA \u5f00\u53d1\u7684\u4e00\u4e2a\u5f00\u6e90\u63a8\u7406\u670d\u52a1\u5668\uff0c\u65e8\u5728\u7b80\u5316\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u90e8\u7f72\u548c\u63a8\u7406\u670d\u52a1\u3002\u5b83\u652f\u6301\u591a\u79cd\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5305\u62ec TensorFlow\u3001PyTorch \u7b49\uff0c\u4f7f\u5f97\u7528\u6237\u80fd\u591f\u8f7b\u677e\u7ba1\u7406\u548c\u90e8\u7f72\u4e0d\u540c\u7c7b\u578b\u7684\u6a21\u578b\u3002

                "},{"location":"end-user/baize/inference/triton-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\uff0c\u4e0b\u9762\u4ee5 mnist \u624b\u5199\u6570\u5b57\u8bc6\u522b\u7684 PyTorch \u6a21\u578b\u4e3a\u4f8b\u3002

                Note

                \u5f85\u63a8\u7406\u7684\u6a21\u578b\u5728\u6570\u636e\u96c6\u4e2d\u9700\u8981\u9075\u4ee5\u4e0b\u76ee\u5f55\u683c\u5f0f\uff1a

                  <model-repository-name>\n  \u2514\u2500\u2500 <model-name>\n     \u2514\u2500\u2500 <version>\n        \u2514\u2500\u2500 <model-definition-file>\n

                \u672c\u4f8b\u4e2d\u7684\u76ee\u5f55\u683c\u5f0f\u4e3a\uff1a

                    model-repo\n    \u2514\u2500\u2500 mnist-cnn\n        \u2514\u2500\u2500 1\n            \u2514\u2500\u2500 model.pt\n
                "},{"location":"end-user/baize/inference/triton-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"

                \u76ee\u524d\u5df2\u7ecf\u652f\u6301\u8868\u5355\u521b\u5efa\uff0c\u53ef\u4ee5\u754c\u9762\u5b57\u6bb5\u63d0\u793a\uff0c\u8fdb\u884c\u670d\u52a1\u521b\u5efa\u3002

                "},{"location":"end-user/baize/inference/triton-inference.html#_3","title":"\u914d\u7f6e\u6a21\u578b\u8def\u5f84","text":"

                \u6a21\u578b\u8def\u5f84 model-repo/mnist-cnn/1/model.pt \u9700\u8981\u548c\u6570\u636e\u96c6\u4e2d\u7684\u6a21\u578b\u76ee\u5f55\u683c\u5f0f\u4e00\u81f4\u3002

                "},{"location":"end-user/baize/inference/triton-inference.html#_4","title":"\u6a21\u578b\u914d\u7f6e","text":""},{"location":"end-user/baize/inference/triton-inference.html#_5","title":"\u914d\u7f6e\u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570","text":"

                Note

                \u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570\u7684\u7b2c\u4e00\u4e2a\u7ef4\u5ea6\u9ed8\u8ba4\u4e3a batchsize \u7684\u5927\u5c0f\uff0c\u8bbe\u7f6e\u4e3a -1 \u53ef\u4ee5\u6839\u636e\u8f93\u5165\u7684\u63a8\u7406\u6570\u636e\u81ea\u52a8\u8ba1\u7b97 batchsize\u3002\u53c2\u6570\u5176\u4f59\u7ef4\u5ea6\u548c\u6570\u636e\u7c7b\u578b\u9700\u8981\u4e0e\u6a21\u578b\u8f93\u5165\u5339\u914d\u3002

                "},{"location":"end-user/baize/inference/triton-inference.html#_6","title":"\u914d\u7f6e\u73af\u5883","text":"

                \u53ef\u4ee5\u5bfc\u5165 \u73af\u5883\u7ba1\u7406 \u4e2d\u521b\u5efa\u7684\u73af\u5883\u4f5c\u4e3a\u63a8\u7406\u65f6\u7684\u8fd0\u884c\u73af\u5883\u3002

                "},{"location":"end-user/baize/inference/triton-inference.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":""},{"location":"end-user/baize/inference/triton-inference.html#_8","title":"\u914d\u7f6e\u8ba4\u8bc1\u7b56\u7565","text":"

                \u652f\u6301 API key \u7684\u8bf7\u6c42\u65b9\u5f0f\u8ba4\u8bc1\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u5b9a\u4e49\u589e\u52a0\u8ba4\u8bc1\u53c2\u6570\u3002

                "},{"location":"end-user/baize/inference/triton-inference.html#_9","title":"\u4eb2\u548c\u6027\u8c03\u5ea6","text":"

                \u652f\u6301 \u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

                "},{"location":"end-user/baize/inference/triton-inference.html#_10","title":"\u8bbf\u95ee","text":""},{"location":"end-user/baize/inference/triton-inference.html#api","title":"API \u8bbf\u95ee","text":"
                • Triton \u63d0\u4f9b\u4e86\u4e00\u4e2a\u57fa\u4e8e REST \u7684 API\uff0c\u5141\u8bb8\u5ba2\u6237\u7aef\u901a\u8fc7 HTTP POST \u8bf7\u6c42\u8fdb\u884c\u6a21\u578b\u63a8\u7406\u3002
                • \u5ba2\u6237\u7aef\u53ef\u4ee5\u53d1\u9001 JSON \u683c\u5f0f\u7684\u8bf7\u6c42\u4f53\uff0c\u5176\u4e2d\u5305\u542b\u8f93\u5165\u6570\u636e\u548c\u76f8\u5173\u7684\u5143\u6570\u636e\u3002
                "},{"location":"end-user/baize/inference/triton-inference.html#http","title":"HTTP \u8bbf\u95ee","text":"
                1. \u53d1\u9001 HTTP POST \u8bf7\u6c42\uff1a\u4f7f\u7528\u5de5\u5177\u5982 curl \u6216 HTTP \u5ba2\u6237\u7aef\u5e93\uff08\u5982 Python \u7684 requests \u5e93\uff09\u5411 Triton Server \u53d1\u9001 POST \u8bf7\u6c42\u3002

                2. \u8bbe\u7f6e HTTP \u5934\uff1a\u6839\u636e\u7528\u6237\u914d\u7f6e\u9879\u81ea\u52a8\u751f\u6210\u7684\u914d\u7f6e\uff0c\u5305\u542b\u6a21\u578b\u8f93\u5165\u548c\u8f93\u51fa\u7684\u5143\u6570\u636e\u3002

                3. \u6784\u5efa\u8bf7\u6c42\u4f53\uff1a\u8bf7\u6c42\u4f53\u901a\u5e38\u5305\u542b\u8981\u8fdb\u884c\u63a8\u7406\u7684\u8f93\u5165\u6570\u636e\uff0c\u4ee5\u53ca\u6a21\u578b\u7279\u5b9a\u7684\u5143\u6570\u636e\u3002

                "},{"location":"end-user/baize/inference/triton-inference.html#curl","title":"\u793a\u4f8b curl \u547d\u4ee4","text":"
                  curl -X POST \"http://<ip>:<port>/v2/models/<inference-name>/infer\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"inputs\": [\n      {\n        \"name\": \"model_input\",            \n        \"shape\": [1, 1, 32, 32],          \n        \"datatype\": \"FP32\",               \n        \"data\": [\n          [0.1234, 0.5678, 0.9101, ... ]  \n        ]\n      }\n    ]\n  }'\n
                • <ip> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u5730\u5740\u3002
                • <port> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u7aef\u53e3\u53f7\u3002
                • <inference-name> \u662f\u6240\u521b\u5efa\u7684\u63a8\u7406\u670d\u52a1\u7684\u540d\u79f0\u3002
                • \"name\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 name \u4e00\u81f4\u3002
                • \"shape\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 dims \u4e00\u81f4\u3002
                • \"datatype\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 Data Type \u4e00\u81f4\u3002
                • \"data\" \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u63a8\u7406\u6570\u636e\u3002

                \u8bf7\u6ce8\u610f\uff0c\u4e0a\u8ff0\u793a\u4f8b\u4ee3\u7801\u9700\u8981\u6839\u636e\u4f60\u7684\u5177\u4f53\u6a21\u578b\u548c\u73af\u5883\u8fdb\u884c\u8c03\u6574\uff0c\u8f93\u5165\u6570\u636e\u7684\u683c\u5f0f\u548c\u5185\u5bb9\u4e5f\u9700\u8981\u7b26\u5408\u6a21\u578b\u7684\u8981\u6c42\u3002

                "},{"location":"end-user/baize/inference/vllm-inference.html","title":"\u521b\u5efa vLLM \u63a8\u7406\u670d\u52a1","text":"

                AI Lab \u652f\u6301\u4ee5 vLLM \u4f5c\u4e3a\u63a8\u7406\u670d\u52a1\uff0c\u63d0\u4f9b\u5168\u90e8 vLLM \u7684\u80fd\u529b\uff0c\u540c\u65f6\u63d0\u4f9b\u4e86\u5b8c\u5168\u9002\u914d OpenAI \u63a5\u53e3\u5b9a\u4e49\u3002

                "},{"location":"end-user/baize/inference/vllm-inference.html#vllm_1","title":"vLLM \u4ecb\u7ecd","text":"

                vLLM \u662f\u4e00\u4e2a\u5feb\u901f\u4e14\u6613\u4e8e\u4f7f\u7528\u7684\u7528\u4e8e\u63a8\u7406\u548c\u670d\u52a1\u7684\u5e93\uff0cvLLM \u65e8\u5728\u6781\u5927\u5730\u63d0\u5347\u5b9e\u65f6\u573a\u666f\u4e0b\u7684\u8bed\u8a00\u6a21\u578b\u670d\u52a1\u7684\u541e\u5410\u4e0e\u5185\u5b58\u4f7f\u7528\u6548\u7387\u3002vLLM \u5728\u901f\u5ea6\u3001\u7075\u6d3b\u6027\u65b9\u9762\u5177\u6709\u4ee5\u4e0b\u90e8\u5206\u7279\u70b9\uff1a

                • \u8fde\u7eed\u6279\u5904\u7406\u4f20\u5165\u8bf7\u6c42\uff1b
                • \u4f7f\u7528 PagedAttention \u9ad8\u6548\u7ba1\u7406\u6ce8\u610f\u529b\u952e\u548c\u503c\u5185\u5b58\uff1b
                • \u4e0e\u6d41\u884c\u7684 HuggingFace \u578b\u53f7\u65e0\u7f1d\u96c6\u6210\uff1b
                • \u517c\u5bb9 OpenAI \u7684 API \u670d\u52a1\u5668\u3002
                "},{"location":"end-user/baize/inference/vllm-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\u3002

                "},{"location":"end-user/baize/inference/vllm-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"
                1. \u9009\u62e9 vLLM \u63a8\u7406\u6846\u67b6\uff0c\u5e76\u5728\u9009\u62e9\u6a21\u578b\u6a21\u5757\u9009\u62e9\u63d0\u524d\u521b\u5efa\u597d\u7684\u6a21\u578b\u6570\u636e\u96c6 hdd-models \u5e76\u586b\u5199\u6570\u636e\u96c6\u4e2d\u6a21\u578b\u6240\u5728\u7684\u8def\u5f84\u4fe1\u606f\u3002

                  \u672c\u6587\u63a8\u7406\u670d\u52a1\u7684\u521b\u5efa\u4f7f\u7528 ChatGLM3 \u6a21\u578b\u3002

                2. \u914d\u7f6e\u63a8\u7406\u670d\u52a1\u7684\u8d44\u6e90\uff0c\u5e76\u8c03\u6574\u63a8\u7406\u670d\u52a1\u8fd0\u884c\u7684\u53c2\u6570\u3002

                  \u53c2\u6570\u540d \u63cf\u8ff0 GPU \u8d44\u6e90 \u6839\u636e\u6a21\u578b\u89c4\u6a21\u4ee5\u53ca\u96c6\u7fa4\u8d44\u6e90\u53ef\u4ee5\u4e3a\u63a8\u7406\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u5141\u8bb8\u8fdc\u7a0b\u4ee3\u7801 \u63a7\u5236 vLLM \u662f\u5426\u4fe1\u4efb\u5e76\u6267\u884c\u6765\u81ea\u8fdc\u7a0b\u6e90\u7684\u4ee3\u7801 LoRA LoRA \u662f\u4e00\u79cd\u9488\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u7684\u53c2\u6570\u9ad8\u6548\u8c03\u6574\u6280\u672f\u3002\u5b83\u901a\u8fc7\u5c06\u539f\u59cb\u6a21\u578b\u53c2\u6570\u77e9\u9635\u5206\u89e3\u4e3a\u4f4e\u79e9\u77e9\u9635\uff0c\u4ece\u800c\u51cf\u5c11\u53c2\u6570\u6570\u91cf\u548c\u8ba1\u7b97\u590d\u6742\u5ea6\u3002 1. --lora-modules\uff1a\u7528\u6765\u6307\u5b9a\u7279\u5b9a\u6a21\u5757\u6216\u5c42\u8fdb\u884c\u4f4e\u79e9\u8fd1\u4f3c 2. max_loras_rank\uff1a\u7528\u6765\u6307\u5b9a LoRA \u6a21\u578b\u4e2d\u6bcf\u4e2a\u9002\u914d\u5c42\u7684\u6700\u5927\u79e9\uff0c\u5bf9\u4e8e\u7b80\u5355\u7684\u4efb\u52a1\uff0c\u53ef\u4ee5\u9009\u62e9\u8f83\u5c0f\u7684\u79e9\u503c\uff0c\u800c\u5bf9\u4e8e\u590d\u6742\u4efb\u52a1\uff0c\u53ef\u80fd\u9700\u8981\u8f83\u5927\u7684\u79e9\u503c\u6765\u4fdd\u8bc1\u6a21\u578b\u6027\u80fd\u3002 3. max_loras\uff1a\u8868\u793a\u6a21\u578b\u4e2d\u53ef\u4ee5\u5305\u542b\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u91cf\uff0c\u6839\u636e\u6a21\u578b\u5927\u5c0f\u3001\u63a8\u7406\u590d\u6742\u5ea6\u7b49\u56e0\u7d20\u81ea\u5b9a 4. max_cpu_loras\uff1a\u7528\u4e8e\u6307\u5b9a\u5728 CPU \u73af\u5883\u4e2d\u53ef\u4ee5\u5904\u7406\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u3002 \u5173\u8054\u73af\u5883 \u901a\u8fc7\u9009\u62e9\u73af\u5883\u9884\u5b9a\u4e49\u63a8\u7406\u65f6\u6240\u9700\u7684\u73af\u5883\u4f9d\u8d56\u3002

                  Info

                  \u652f\u6301\u914d\u7f6e LoRA \u53c2\u6570\u7684\u6a21\u578b\u53ef\u53c2\u8003 vLLM \u652f\u6301\u7684\u6a21\u578b\u3002

                3. \u5728 \u9ad8\u7ea7\u914d\u7f6e \u4e2d\uff0c\u652f\u6301\u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

                "},{"location":"end-user/baize/inference/vllm-inference.html#_3","title":"\u9a8c\u8bc1\u63a8\u7406\u670d\u52a1","text":"

                \u63a8\u7406\u670d\u52a1\u521b\u5efa\u5b8c\u6210\u4e4b\u540e\uff0c\u70b9\u51fb\u63a8\u7406\u670d\u52a1\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\uff0c\u67e5\u770b API \u8c03\u7528\u65b9\u6cd5\u3002\u901a\u8fc7\u4f7f\u7528 Curl\u3001Python\u3001Nodejs \u7b49\u65b9\u5f0f\u9a8c\u8bc1\u6267\u884c\u7ed3\u679c\u3002

                \u62f7\u8d1d\u8be6\u60c5\u4e2d\u7684 curl \u547d\u4ee4\uff0c\u5e76\u5728\u7ec8\u7aef\u4e2d\u6267\u884c\u547d\u4ee4\u53d1\u9001\u4e00\u6761\u6a21\u578b\u63a8\u7406\u8bf7\u6c42\uff0c\u9884\u671f\u8f93\u51fa\uff1a

                "},{"location":"end-user/baize/jobs/create.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

                \u4efb\u52a1\u7ba1\u7406\u662f\u6307\u901a\u8fc7\u4f5c\u4e1a\u8c03\u5ea6\u548c\u7ba1\u63a7\u7ec4\u4ef6\u6765\u521b\u5efa\u548c\u7ba1\u7406\u4efb\u52a1\u751f\u547d\u5468\u671f\u7684\u529f\u80fd\u3002

                AI Lab \u91c7\u7528 Kubernetes \u7684 Job \u673a\u5236\u6765\u8c03\u5ea6\u5404\u9879 AI \u63a8\u7406\u3001\u8bad\u7ec3\u4efb\u52a1\u3002

                "},{"location":"end-user/baize/jobs/create.html#_1","title":"\u901a\u7528\u6b65\u9aa4","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u4efb\u52a1\u4e2d\u5fc3 -> \u8bad\u7ec3\u4efb\u52a1 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u914d\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u4efb\u52a1\u7c7b\u578b\u3001\u961f\u5217\u3001\u4f18\u5148\u7ea7\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                3. \u914d\u7f6e\u955c\u50cf\u5730\u5740\u3001\u8fd0\u884c\u53c2\u6570\u4ee5\u53ca\u5173\u8054\u7684\u6570\u636e\u96c6\u3001\u73af\u5883\u548c\u8d44\u6e90\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                4. \u6309\u9700\u6dfb\u52a0\u6807\u7b7e\u3001\u6ce8\u89e3\u3001\u73af\u5883\u53d8\u91cf\u7b49\u4efb\u52a1\u53c2\u6570\uff0c\u9009\u62e9\u8c03\u5ea6\u7b56\u7565\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                5. \u4efb\u52a1\u521b\u5efa\u6210\u529f\u540e\uff0c\u4f1a\u6709\u51e0\u79cd\u8fd0\u884c\u72b6\u6001\uff1a

                  • \u8fd0\u884c\u4e2d
                  • \u6392\u961f\u4e2d
                  • \u63d0\u4ea4\u6210\u529f\u3001\u63d0\u4ea4\u5931\u8d25
                  • \u4efb\u52a1\u6210\u529f\u3001\u4efb\u52a1\u5931\u8d25
                "},{"location":"end-user/baize/jobs/create.html#_2","title":"\u521b\u5efa\u7279\u5b9a\u4efb\u52a1","text":"
                • \u521b\u5efa Pytorch \u4efb\u52a1
                • \u521b\u5efa TensorFlow \u4efb\u52a1
                • \u521b\u5efa MPI \u4efb\u52a1
                • \u521b\u5efa MXNet \u4efb\u52a1
                • \u521b\u5efa PaddlePaddle \u4efb\u52a1
                "},{"location":"end-user/baize/jobs/delete.html","title":"\u5220\u9664\u4efb\u52a1\uff08Job\uff09","text":"

                \u5982\u679c\u53d1\u73b0\u4efb\u52a1\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u5220\u9664\u3002

                1. \u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u4efb\u52a1\uff0c\u8f93\u5165\u4efb\u52a1\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u4efb\u52a1\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                Caution

                \u4efb\u52a1\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                "},{"location":"end-user/baize/jobs/mpi.html","title":"MPI \u4efb\u52a1","text":"

                MPI\uff08Message Passing Interface\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u5e76\u884c\u8ba1\u7b97\u7684\u901a\u4fe1\u534f\u8bae\uff0c\u5b83\u5141\u8bb8\u591a\u4e2a\u8ba1\u7b97\u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u6d88\u606f\u4f20\u9012\u548c\u534f\u4f5c\u3002 MPI \u4efb\u52a1\u662f\u4f7f\u7528 MPI \u534f\u8bae\u8fdb\u884c\u5e76\u884c\u8ba1\u7b97\u7684\u4efb\u52a1\uff0c\u9002\u7528\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u5904\u7406\u7684\u5e94\u7528\u573a\u666f\uff0c\u4f8b\u5982\u5206\u5e03\u5f0f\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

                \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 MPI \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MPI \u4efb\u52a1\uff0c\u8fdb\u884c\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u8ba1\u7b97\u3002 \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u4e2d\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002

                "},{"location":"end-user/baize/jobs/mpi.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                • \u4efb\u52a1\u7c7b\u578b \uff1aMPI\uff0c\u7528\u4e8e\u8fd0\u884c\u5e76\u884c\u8ba1\u7b97\u4efb\u52a1\u3002
                • \u8fd0\u884c\u73af\u5883 \uff1a\u9009\u7528\u9884\u88c5\u4e86 MPI \u73af\u5883\u7684\u955c\u50cf\uff0c\u6216\u8005\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                • MPIJob \u914d\u7f6e \uff1a\u7406\u89e3\u5e76\u914d\u7f6e MPIJob \u7684\u5404\u9879\u53c2\u6570\uff0c\u5982\u526f\u672c\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
                "},{"location":"end-user/baize/jobs/mpi.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf\u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002 \u786e\u4fdd\u8fd0\u884c\u73af\u5883\u4e2d\u5305\u542b MPI \u53ca\u76f8\u5173\u5e93\uff0c\u5982 OpenMPI\u3001mpi4py \u7b49\u3002

                \u6ce8\u610f \uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u5217\u8868\u3002

                "},{"location":"end-user/baize/jobs/mpi.html#mpi_1","title":"\u521b\u5efa MPI \u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/mpi.html#mpi_2","title":"MPI \u4efb\u52a1\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5e73\u53f0 \uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                2. \u521b\u5efa\u4efb\u52a1 \uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b \uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MPI\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f \uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cbenchmarks-mpi\u201d\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570 \uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                "},{"location":"end-user/baize/jobs/mpi.html#_3","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4 \uff1a\u4f7f\u7528 mpirun\uff0c\u8fd9\u662f\u8fd0\u884c MPI \u7a0b\u5e8f\u7684\u547d\u4ee4\u3002
                • \u547d\u4ee4\u53c2\u6570 \uff1a\u8f93\u5165\u60a8\u8981\u8fd0\u884c\u7684 MPI \u7a0b\u5e8f\u7684\u53c2\u6570\u3002

                \u793a\u4f8b\uff1a\u8fd0\u884c TensorFlow Benchmarks

                \u5728\u672c\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u5c06\u8fd0\u884c\u4e00\u4e2a TensorFlow \u7684\u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\uff0c\u4f7f\u7528 Horovod \u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002 \u9996\u5148\uff0c\u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u4e2d\u5305\u542b\u6240\u9700\u7684\u4f9d\u8d56\u9879\uff0c\u4f8b\u5982 TensorFlow\u3001Horovod\u3001Open MPI \u7b49\u3002

                \u955c\u50cf\u9009\u62e9 \uff1a\u4f7f\u7528\u5305\u542b TensorFlow \u548c MPI \u7684\u955c\u50cf\uff0c\u4f8b\u5982 mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\u3002

                \u547d\u4ee4\u53c2\u6570 \uff1a

                mpirun --allow-run-as-root -np 2 -bind-to none -map-by slot \\\n  -x NCCL_DEBUG=INFO -x LD_LIBRARY_PATH -x PATH \\\n  -mca pml ob1 -mca btl ^openib \\\n  python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \\\n  --model=resnet101 --batch_size=64 --variable_update=horovod\n

                \u8bf4\u660e \uff1a

                • mpirun\uff1aMPI \u7684\u542f\u52a8\u547d\u4ee4\u3002
                • --allow-run-as-root\uff1a\u5141\u8bb8\u4ee5 root \u7528\u6237\u8fd0\u884c\uff08\u5728\u5bb9\u5668\u4e2d\u901a\u5e38\u662f root \u7528\u6237\uff09\u3002
                • -np 2\uff1a\u6307\u5b9a\u8fd0\u884c\u7684\u8fdb\u7a0b\u6570\u4e3a 2\u3002
                • -bind-to none\uff0c-map-by slot\uff1aMPI \u8fdb\u7a0b\u7ed1\u5b9a\u548c\u6620\u5c04\u7684\u914d\u7f6e\u3002
                • -x NCCL_DEBUG=INFO\uff1a\u8bbe\u7f6e NCCL\uff08NVIDIA Collective Communication Library\uff09\u7684\u8c03\u8bd5\u4fe1\u606f\u7ea7\u522b\u3002
                • -x LD_LIBRARY_PATH\uff0c-x PATH\uff1a\u5728 MPI \u73af\u5883\u4e2d\u4f20\u9012\u5fc5\u8981\u7684\u73af\u5883\u53d8\u91cf\u3002
                • -mca pml ob1 -mca btl ^openib\uff1aMPI \u7684\u914d\u7f6e\u53c2\u6570\uff0c\u6307\u5b9a\u4f20\u8f93\u5c42\u548c\u6d88\u606f\u5c42\u534f\u8bae\u3002
                • python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\uff1a\u8fd0\u884c TensorFlow \u57fa\u51c6\u6d4b\u8bd5\u811a\u672c\u3002
                • --model=resnet101\uff0c--batch_size=64\uff0c--variable_update=horovod\uff1aTensorFlow \u811a\u672c\u7684\u53c2\u6570\uff0c\u6307\u5b9a\u6a21\u578b\u3001\u6279\u91cf\u5927\u5c0f\u548c\u4f7f\u7528 Horovod \u8fdb\u884c\u53c2\u6570\u66f4\u65b0\u3002
                "},{"location":"end-user/baize/jobs/mpi.html#_4","title":"\u8d44\u6e90\u914d\u7f6e","text":"

                \u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u4e3a\u6bcf\u4e2a\u8282\u70b9\uff08Launcher \u548c Worker\uff09\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u4f8b\u5982 CPU\u3001\u5185\u5b58\u548c GPU\u3002

                \u8d44\u6e90\u793a\u4f8b \uff1a

                • Launcher\uff08\u542f\u52a8\u5668\uff09 \uff1a

                  • \u526f\u672c\u6570 \uff1a1
                  • \u8d44\u6e90\u8bf7\u6c42 \uff1a
                    • CPU\uff1a2 \u6838
                    • \u5185\u5b58\uff1a4 GiB
                • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09 \uff1a

                  • \u526f\u672c\u6570 \uff1a2
                  • \u8d44\u6e90\u8bf7\u6c42 \uff1a
                    • CPU\uff1a2 \u6838
                    • \u5185\u5b58\uff1a4 GiB
                    • GPU\uff1a\u6839\u636e\u9700\u6c42\u5206\u914d
                "},{"location":"end-user/baize/jobs/mpi.html#mpijob","title":"\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b","text":"

                \u4ee5\u4e0b\u662f\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b\uff0c\u4f9b\u60a8\u53c2\u8003\u3002

                apiVersion: kubeflow.org/v1\nkind: MPIJob\nmetadata:\n  name: tensorflow-benchmarks\nspec:\n  slotsPerWorker: 1\n  runPolicy:\n    cleanPodPolicy: Running\n  mpiReplicaSpecs:\n    Launcher:\n      replicas: 1\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              command:\n                - mpirun\n                - --allow-run-as-root\n                - -np\n                - \"2\"\n                - -bind-to\n                - none\n                - -map-by\n                - slot\n                - -x\n                - NCCL_DEBUG=INFO\n                - -x\n                - LD_LIBRARY_PATH\n                - -x\n                - PATH\n                - -mca\n                - pml\n                - ob1\n                - -mca\n                - btl\n                - ^openib\n                - python\n                - scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\n                - --model=resnet101\n                - --batch_size=64\n                - --variable_update=horovod\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 2\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpumem: 1k\n                  nvidia.com/vgpu: \"1\"\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

                \u914d\u7f6e\u89e3\u6790 \uff1a

                • apiVersion \u548c kind\uff1a\u8868\u793a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0cMPIJob \u662f Kubeflow \u5b9a\u4e49\u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u7528\u4e8e\u521b\u5efa MPI \u7c7b\u578b\u7684\u4efb\u52a1\u3002
                • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u542b\u4efb\u52a1\u7684\u540d\u79f0\u7b49\u4fe1\u606f\u3002
                • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                  • slotsPerWorker\uff1a\u6bcf\u4e2a Worker \u8282\u70b9\u7684\u69fd\u4f4d\u6570\u91cf\uff0c\u901a\u5e38\u8bbe\u7f6e\u4e3a 1\u3002
                  • runPolicy\uff1a\u8fd0\u884c\u7b56\u7565\uff0c\u4f8b\u5982\u4efb\u52a1\u5b8c\u6210\u540e\u662f\u5426\u6e05\u7406 Pod\u3002
                  • mpiReplicaSpecs\uff1aMPI \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                    • Launcher\uff1a\u542f\u52a8\u5668\uff0c\u8d1f\u8d23\u542f\u52a8 MPI \u4efb\u52a1\u3002
                      • replicas\uff1a\u526f\u672c\u6570\uff0c\u901a\u5e38\u4e3a 1\u3002
                      • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u7684\u955c\u50cf\u3001\u547d\u4ee4\u3001\u8d44\u6e90\u7b49\u3002
                    • Worker\uff1a\u5de5\u4f5c\u8282\u70b9\uff0c\u5b9e\u9645\u6267\u884c\u4efb\u52a1\u7684\u8ba1\u7b97\u8282\u70b9\u3002
                      • replicas\uff1a\u526f\u672c\u6570\uff0c\u6839\u636e\u5e76\u884c\u9700\u6c42\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 2\u3002
                      • template\uff1aPod \u6a21\u677f\uff0c\u540c\u6837\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                "},{"location":"end-user/baize/jobs/mpi.html#_5","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                \u5728\u521b\u5efa MPI \u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mpiReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                • \u603b\u526f\u672c\u6570 = Launcher \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
                • \u672c\u793a\u4f8b\u4e2d\uff1a

                  • Launcher \u526f\u672c\u6570\uff1a1
                  • Worker \u526f\u672c\u6570\uff1a2
                  • \u603b\u526f\u672c\u6570 \uff1a1 + 2 = 3

                \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u60a8\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

                "},{"location":"end-user/baize/jobs/mpi.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MPI \u4efb\u52a1\u3002

                "},{"location":"end-user/baize/jobs/mpi.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002 \u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6bcf\u4e2a\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                \u793a\u4f8b\u8f93\u51fa\uff1a

                TensorFlow:  1.13\nModel:       resnet101\nMode:        training\nBatch size:  64\n...\n\nTotal images/sec: 125.67\n

                \u8fd9\u8868\u793a MPI \u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0cTensorFlow \u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\u5b8c\u6210\u4e86\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002

                "},{"location":"end-user/baize/jobs/mpi.html#_8","title":"\u5c0f\u7ed3","text":"

                \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MPIJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c \u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                \u9644\u5f55 \uff1a

                • \u5982\u679c\u60a8\u7684\u8fd0\u884c\u73af\u5883\u672a\u9884\u88c5\u6240\u9700\u7684\u5e93\uff08\u5982 mpi4py\u3001Horovod \u7b49\uff09\uff0c\u8bf7\u5728\u4efb\u52a1\u4e2d\u6dfb\u52a0\u5b89\u88c5\u547d\u4ee4\uff0c\u6216\u8005\u4f7f\u7528\u9884\u88c5\u4e86\u76f8\u5173\u4f9d\u8d56\u7684\u955c\u50cf\u3002
                • \u5728\u5b9e\u9645\u5e94\u7528\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u4fee\u6539 MPIJob \u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u66f4\u6539\u955c\u50cf\u3001\u547d\u4ee4\u53c2\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
                "},{"location":"end-user/baize/jobs/mxnet.html","title":"MXNet \u4efb\u52a1","text":"

                Warning

                \u7531\u4e8e Apache MXNet \u9879\u76ee\u5df2\u5b58\u6863\uff0c\u56e0\u6b64 Kubeflow MXJob \u5c06\u5728\u672a\u6765\u7684 Training Operator 1.9 \u7248\u672c\u4e2d\u5f03\u7528\u548c\u5220\u9664\u3002

                Apache MXNet \u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u3002MXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bad\u7ec3\uff0c\u5305\u62ec\u5355\u673a\u6a21\u5f0f\u548c\u5206\u5e03\u5f0f\u6a21\u5f0f\u3002\u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 MXNet \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MXNet \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                "},{"location":"end-user/baize/jobs/mxnet.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                • \u4efb\u52a1\u7c7b\u578b\uff1aMXNet\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
                • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b MXNet \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                "},{"location":"end-user/baize/jobs/mxnet.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                \u6211\u4eec\u4f7f\u7528 release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 MXNet \u53ca\u5176\u76f8\u5173\u4f9d\u8d56\uff0c\u652f\u6301 GPU \u52a0\u901f\u3002

                \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                "},{"location":"end-user/baize/jobs/mxnet.html#mxnet_1","title":"\u521b\u5efa MXNet \u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/mxnet.html#mxnet_2","title":"MXNet \u5355\u673a\u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/mxnet.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                "},{"location":"end-user/baize/jobs/mxnet.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4\uff1apython3
                • \u547d\u4ee4\u53c2\u6570\uff1a

                  /mxnet/mxnet/example/gluon/mnist/mnist.py --epochs 10 --cuda\n

                  \u8bf4\u660e\uff1a

                  • /mxnet/mxnet/example/gluon/mnist/mnist.py\uff1aMXNet \u63d0\u4f9b\u7684 MNIST \u624b\u5199\u6570\u5b57\u8bc6\u522b\u793a\u4f8b\u811a\u672c\u3002
                  • --epochs 10\uff1a\u8bbe\u7f6e\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
                  • --cuda\uff1a\u4f7f\u7528 CUDA \u8fdb\u884c GPU \u52a0\u901f\u3002
                "},{"location":"end-user/baize/jobs/mxnet.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
                • \u8d44\u6e90\u8bf7\u6c42\uff1a
                  • CPU\uff1a2 \u6838
                  • \u5185\u5b58\uff1a4 GiB
                  • GPU\uff1a1 \u5757
                "},{"location":"end-user/baize/jobs/mxnet.html#mxjob","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

                \u4ee5\u4e0b\u662f\u5355\u673a MXJob \u7684 YAML \u914d\u7f6e\uff1a

                apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-single-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/gluon/mnist/mnist.py\",\n                  \"--epochs\",\n                  \"10\",\n                  \"--cuda\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n

                \u914d\u7f6e\u89e3\u6790\uff1a

                • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f MXJob\u3002
                • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u7b49\u4fe1\u606f\u3002
                • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                  • jobMode\uff1a\u8bbe\u7f6e\u4e3a MXTrain\uff0c\u8868\u793a\u8bad\u7ec3\u4efb\u52a1\u3002
                  • mxReplicaSpecs\uff1aMXNet \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                    • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
                      • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\u3002
                      • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a Never\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u4e0d\u91cd\u542f\u3002
                      • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                        • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
                          • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
                          • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
                          • command \u548c args\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                          • ports\uff1a\u5bb9\u5668\u7aef\u53e3\u914d\u7f6e\u3002
                          • resources\uff1a\u8d44\u6e90\u8bf7\u6c42\u548c\u9650\u5236\u3002
                "},{"location":"end-user/baize/jobs/mxnet.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5355\u673a\u4efb\u52a1\u3002

                "},{"location":"end-user/baize/jobs/mxnet.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                \u793a\u4f8b\u8f93\u51fa\uff1a

                Epoch 1: accuracy=0.95\nEpoch 2: accuracy=0.97\n...\nEpoch 10: accuracy=0.98\nTraining completed.\n

                \u8fd9\u8868\u793a MXNet \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                "},{"location":"end-user/baize/jobs/mxnet.html#mxnet_3","title":"MXNet \u5206\u5e03\u5f0f\u4efb\u52a1","text":"

                \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cMXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

                "},{"location":"end-user/baize/jobs/mxnet.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
                2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
                "},{"location":"end-user/baize/jobs/mxnet.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4\uff1apython3
                • \u547d\u4ee4\u53c2\u6570\uff1a

                  /mxnet/mxnet/example/image-classification/train_mnist.py --num-epochs 10 --num-layers 2 --kv-store dist_device_sync --gpus 0\n

                  \u8bf4\u660e\uff1a

                  • /mxnet/mxnet/example/image-classification/train_mnist.py\uff1aMXNet \u63d0\u4f9b\u7684\u56fe\u50cf\u5206\u7c7b\u793a\u4f8b\u811a\u672c\u3002
                  • --num-epochs 10\uff1a\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
                  • --num-layers 2\uff1a\u6a21\u578b\u7684\u5c42\u6570\u4e3a 2\u3002
                  • --kv-store dist_device_sync\uff1a\u4f7f\u7528\u5206\u5e03\u5f0f\u8bbe\u5907\u540c\u6b65\u6a21\u5f0f\u3002
                  • --gpus 0\uff1a\u4f7f\u7528 GPU \u8fdb\u884c\u52a0\u901f\u3002
                "},{"location":"end-user/baize/jobs/mxnet.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                • \u4efb\u52a1\u526f\u672c\u6570\uff1a3\uff08\u5305\u62ec Scheduler\u3001Server \u548c Worker\uff09
                • \u5404\u89d2\u8272\u8d44\u6e90\u8bf7\u6c42\uff1a
                  • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a
                    • \u526f\u672c\u6570\uff1a1
                    • \u8d44\u6e90\u8bf7\u6c42\uff1a
                      • CPU\uff1a2 \u6838
                      • \u5185\u5b58\uff1a4 GiB
                      • GPU\uff1a1 \u5757
                  • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a
                    • \u526f\u672c\u6570\uff1a1
                    • \u8d44\u6e90\u8bf7\u6c42\uff1a
                      • CPU\uff1a2 \u6838
                      • \u5185\u5b58\uff1a4 GiB
                      • GPU\uff1a1 \u5757
                  • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a
                    • \u526f\u672c\u6570\uff1a1
                    • \u8d44\u6e90\u8bf7\u6c42\uff1a
                      • CPU\uff1a2 \u6838
                      • \u5185\u5b58\uff1a4 GiB
                      • GPU\uff1a1 \u5757
                "},{"location":"end-user/baize/jobs/mxnet.html#mxjob_1","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

                \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f MXJob \u7684 YAML \u914d\u7f6e\uff1a

                apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Scheduler:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Server:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/image-classification/train_mnist.py\",\n                  \"--num-epochs\",\n                  \"10\",\n                  \"--num-layers\",\n                  \"2\",\n                  \"--kv-store\",\n                  \"dist_device_sync\",\n                  \"--gpus\",\n                  \"0\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

                \u914d\u7f6e\u89e3\u6790\uff1a

                • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a\u8d1f\u8d23\u534f\u8c03\u96c6\u7fa4\u4e2d\u5404\u8282\u70b9\u7684\u4efb\u52a1\u8c03\u5ea6\u3002
                • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\uff0c\u5b9e\u73b0\u5206\u5e03\u5f0f\u53c2\u6570\u540c\u6b65\u3002
                • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a\u5b9e\u9645\u6267\u884c\u8bad\u7ec3\u4efb\u52a1\u3002
                • \u8d44\u6e90\u914d\u7f6e\uff1a\u4e3a\u5404\u89d2\u8272\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u4efb\u52a1\u987a\u5229\u8fd0\u884c\u3002
                "},{"location":"end-user/baize/jobs/mxnet.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                \u5728\u521b\u5efa MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mxReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                • \u603b\u526f\u672c\u6570 = Scheduler \u526f\u672c\u6570 + Server \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
                • \u672c\u793a\u4f8b\u4e2d\uff1a
                  • Scheduler \u526f\u672c\u6570\uff1a1
                  • Server \u526f\u672c\u6570\uff1a1
                  • Worker \u526f\u672c\u6570\uff1a1
                  • \u603b\u526f\u672c\u6570\uff1a1 + 1 + 1 = 3

                \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

                "},{"location":"end-user/baize/jobs/mxnet.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                "},{"location":"end-user/baize/jobs/mxnet.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u89d2\u8272\uff08Scheduler\u3001Server\u3001Worker\uff09\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                \u793a\u4f8b\u8f93\u51fa\uff1a

                INFO:root:Epoch[0] Batch [50]     Speed: 1000 samples/sec   accuracy=0.85\nINFO:root:Epoch[0] Batch [100]    Speed: 1200 samples/sec   accuracy=0.87\n...\nINFO:root:Epoch[9] Batch [100]    Speed: 1300 samples/sec   accuracy=0.98\nTraining completed.\n

                \u8fd9\u8868\u793a MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                "},{"location":"end-user/baize/jobs/mxnet.html#_14","title":"\u5c0f\u7ed3","text":"

                \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MXJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                "},{"location":"end-user/baize/jobs/mxnet.html#_15","title":"\u9644\u5f55","text":"
                • \u6ce8\u610f\u4e8b\u9879\uff1a

                  • \u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u5305\u542b\u6240\u9700\u7684 MXNet \u7248\u672c\u548c\u4f9d\u8d56\u3002
                  • \u6839\u636e\u5b9e\u9645\u9700\u6c42\u8c03\u6574\u8d44\u6e90\u914d\u7f6e\uff0c\u907f\u514d\u8d44\u6e90\u4e0d\u8db3\u6216\u6d6a\u8d39\u3002
                  • \u5982\u9700\u4f7f\u7528\u81ea\u5b9a\u4e49\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u8bf7\u4fee\u6539\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                • \u53c2\u8003\u6587\u6863\uff1a

                  • MXNet \u5b98\u65b9\u6587\u6863
                  • Kubeflow MXJob \u6307\u5357
                "},{"location":"end-user/baize/jobs/paddle.html","title":"PaddlePaddle \u4efb\u52a1","text":"

                PaddlePaddle\uff08\u98de\u6868\uff09\u662f\u767e\u5ea6\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u5e73\u53f0\uff0c\u652f\u6301\u4e30\u5bcc\u7684\u795e\u7ecf\u7f51\u7edc\u6a21\u578b\u548c\u5206\u5e03\u5f0f\u8bad\u7ec3\u65b9\u5f0f\u3002PaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u901a\u8fc7\u5355\u673a\u6216\u5206\u5e03\u5f0f\u6a21\u5f0f\u8fdb\u884c\u8bad\u7ec3\u3002\u5728 AI Lab \u5e73\u53f0\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 PaddlePaddle \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa PaddlePaddle \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                "},{"location":"end-user/baize/jobs/paddle.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                • \u4efb\u52a1\u7c7b\u578b\uff1aPaddlePaddle\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
                • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b PaddlePaddle \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                "},{"location":"end-user/baize/jobs/paddle.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                \u6211\u4eec\u4f7f\u7528 registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 PaddlePaddle \u6846\u67b6\uff0c\u9002\u7528\u4e8e CPU \u8ba1\u7b97\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u8bf7\u9009\u62e9\u5bf9\u5e94\u7684 GPU \u7248\u672c\u955c\u50cf\u3002

                \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                "},{"location":"end-user/baize/jobs/paddle.html#paddlepaddle_1","title":"\u521b\u5efa PaddlePaddle \u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/paddle.html#paddlepaddle_2","title":"PaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/paddle.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                "},{"location":"end-user/baize/jobs/paddle.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4\uff1apython
                • \u547d\u4ee4\u53c2\u6570\uff1a

                  -m paddle.distributed.launch run_check\n

                  \u8bf4\u660e\uff1a

                  • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\uff0c\u5373\u4f7f\u5728\u5355\u673a\u6a21\u5f0f\u4e0b\u4e5f\u53ef\u4ee5\u4f7f\u7528\uff0c\u65b9\u4fbf\u5c06\u6765\u8fc1\u79fb\u5230\u5206\u5e03\u5f0f\u3002
                  • run_check\uff1aPaddlePaddle \u63d0\u4f9b\u7684\u6d4b\u8bd5\u811a\u672c\uff0c\u7528\u4e8e\u68c0\u67e5\u5206\u5e03\u5f0f\u73af\u5883\u662f\u5426\u6b63\u5e38\u3002
                "},{"location":"end-user/baize/jobs/paddle.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
                • \u8d44\u6e90\u8bf7\u6c42\uff1a
                  • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
                  • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
                  • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
                "},{"location":"end-user/baize/jobs/paddle.html#paddlejob","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

                \u4ee5\u4e0b\u662f\u5355\u673a PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

                apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-simple-cpu\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 1\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'run_check',\n                              ]\n

                \u914d\u7f6e\u89e3\u6790\uff1a

                • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f PaddleJob\u3002
                • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u3002
                • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                  • paddleReplicaSpecs\uff1aPaddlePaddle \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                    • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
                      • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\uff0c\u8868\u793a\u5355\u673a\u8bad\u7ec3\u3002
                      • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a OnFailure\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u81ea\u52a8\u91cd\u542f\u3002
                      • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                        • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
                          • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
                          • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
                          • command\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                "},{"location":"end-user/baize/jobs/paddle.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5355\u673a\u4efb\u52a1\u3002

                "},{"location":"end-user/baize/jobs/paddle.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                \u793a\u4f8b\u8f93\u51fa\uff1a

                run check success, PaddlePaddle is installed correctly on this node :)\n

                \u8fd9\u8868\u793a PaddlePaddle \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u73af\u5883\u914d\u7f6e\u6b63\u5e38\u3002

                "},{"location":"end-user/baize/jobs/paddle.html#paddlepaddle_3","title":"PaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1","text":"

                \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cPaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

                "},{"location":"end-user/baize/jobs/paddle.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
                2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
                "},{"location":"end-user/baize/jobs/paddle.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4\uff1apython
                • \u547d\u4ee4\u53c2\u6570\uff1a

                  -m paddle.distributed.launch train.py --epochs=10\n

                  \u8bf4\u660e\uff1a

                  • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\u3002
                  • train.py\uff1a\u60a8\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u9700\u8981\u653e\u5728\u955c\u50cf\u4e2d\u6216\u6302\u8f7d\u5230\u5bb9\u5668\u5185\u3002
                  • --epochs=10\uff1a\u8bad\u7ec3\u7684\u8f6e\u6570\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 10\u3002
                "},{"location":"end-user/baize/jobs/paddle.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                • \u4efb\u52a1\u526f\u672c\u6570\uff1a\u6839\u636e Worker \u526f\u672c\u6570\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u4e3a 2\u3002
                • \u8d44\u6e90\u8bf7\u6c42\uff1a
                  • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
                  • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
                  • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
                "},{"location":"end-user/baize/jobs/paddle.html#paddlejob_1","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

                \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

                apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-distributed-job\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 2\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'train.py',\n                              ]\n                          args:\n                              - '--epochs=10'\n

                \u914d\u7f6e\u89e3\u6790\uff1a

                • Worker\uff1a
                  • replicas\uff1a\u526f\u672c\u6570\uff0c\u8bbe\u7f6e\u4e3a 2\uff0c\u8868\u793a\u4f7f\u7528 2 \u4e2a\u5de5\u4f5c\u8282\u70b9\u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002
                  • \u5176\u4ed6\u914d\u7f6e\u4e0e\u5355\u673a\u6a21\u5f0f\u7c7b\u4f3c\u3002
                "},{"location":"end-user/baize/jobs/paddle.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                \u5728\u521b\u5efa PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e paddleReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                • \u603b\u526f\u672c\u6570 = Worker \u526f\u672c\u6570
                • \u672c\u793a\u4f8b\u4e2d\uff1a
                  • Worker \u526f\u672c\u6570\uff1a2
                  • \u603b\u526f\u672c\u6570\uff1a2

                \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 2\u3002

                "},{"location":"end-user/baize/jobs/paddle.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                "},{"location":"end-user/baize/jobs/paddle.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u5de5\u4f5c\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\uff0c\u786e\u8ba4\u5206\u5e03\u5f0f\u8bad\u7ec3\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

                \u793a\u4f8b\u8f93\u51fa\uff1a

                Worker 0: Epoch 1, Batch 100, Loss 0.5\nWorker 1: Epoch 1, Batch 100, Loss 0.6\n...\nTraining completed.\n

                \u8fd9\u8868\u793a PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                "},{"location":"end-user/baize/jobs/paddle.html#_14","title":"\u5c0f\u7ed3","text":"

                \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 PaddleJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                "},{"location":"end-user/baize/jobs/paddle.html#_15","title":"\u9644\u5f55","text":"
                • \u6ce8\u610f\u4e8b\u9879\uff1a

                  • \u8bad\u7ec3\u811a\u672c\uff1a\u786e\u4fdd train.py\uff08\u6216\u5176\u4ed6\u8bad\u7ec3\u811a\u672c\uff09\u5728\u5bb9\u5668\u5185\u5b58\u5728\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u81ea\u5b9a\u4e49\u955c\u50cf\u3001\u6302\u8f7d\u6301\u4e45\u5316\u5b58\u50a8\u7b49\u65b9\u5f0f\u5c06\u811a\u672c\u653e\u5165\u5bb9\u5668\u3002
                  • \u955c\u50cf\u9009\u62e9\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u955c\u50cf\uff0c\u4f8b\u5982\u4f7f\u7528 GPU \u65f6\u9009\u62e9 paddle:2.4.0rc0-gpu \u7b49\u3002
                  • \u53c2\u6570\u8c03\u6574\uff1a\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 command \u548c args \u6765\u4f20\u9012\u4e0d\u540c\u7684\u8bad\u7ec3\u53c2\u6570\u3002
                • \u53c2\u8003\u6587\u6863\uff1a

                  • PaddlePaddle \u5b98\u65b9\u6587\u6863
                  • Kubeflow PaddleJob \u6307\u5357
                "},{"location":"end-user/baize/jobs/pytorch.html","title":"Pytorch \u4efb\u52a1","text":"

                Pytorch \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002 Pytorch \u4efb\u52a1\u662f\u4e00\u4e2a\u4f7f\u7528 Pytorch \u6846\u67b6\u7684\u4efb\u52a1\u3002

                \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 Pytorch \u4efb\u52a1\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c \u5feb\u901f\u521b\u5efa Pytorch \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                "},{"location":"end-user/baize/jobs/pytorch.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Pytorch \u5355\u673a \u548c Pytorch \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
                • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Pytorch \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
                "},{"location":"end-user/baize/jobs/pytorch.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

                \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                "},{"location":"end-user/baize/jobs/pytorch.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/pytorch.html#pytorch_1","title":"Pytorch \u5355\u673a\u4efb\u52a1","text":"
                1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                "},{"location":"end-user/baize/jobs/pytorch.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
                import torch\nimport torch.nn as nn\nimport torch.optim as optim\n\n# \u5b9a\u4e49\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc\nclass SimpleNet(nn.Module):\n    def __init__(self):\n        super(SimpleNet, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\n# \u521b\u5efa\u6a21\u578b\u3001\u635f\u5931\u51fd\u6570\u548c\u4f18\u5316\u5668\nmodel = SimpleNet()\ncriterion = nn.MSELoss()\noptimizer = optim.SGD(model.parameters(), lr=0.01)\n\n# \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = torch.randn(100, 10)\ny = torch.randn(100, 1)\n\n# \u8bad\u7ec3\u6a21\u578b\nfor epoch in range(100):\n    # \u524d\u5411\u4f20\u64ad\n    outputs = model(x)\n    loss = criterion(outputs, y)\n\n    # \u53cd\u5411\u4f20\u64ad\u548c\u4f18\u5316\n    optimizer.zero_grad()\n    loss.backward()\n    optimizer.step()\n\n    if (epoch + 1) % 10 == 0:\n        print(f'Epoch [{epoch+1}/100], Loss: {loss.item():.4f}')\n\nprint('Training finished.')\n
                "},{"location":"end-user/baize/jobs/pytorch.html#_5","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa

                [HAMI-core Warn(1:140244541377408:utils.c:183)]: get default cuda from (null)\n[HAMI-core Msg(1:140244541377408:libvgpu.c:855)]: Initialized\nEpoch [10/100], Loss: 1.1248\nEpoch [20/100], Loss: 1.0486\nEpoch [30/100], Loss: 0.9969\nEpoch [40/100], Loss: 0.9611\nEpoch [50/100], Loss: 0.9360\nEpoch [60/100], Loss: 0.9182\nEpoch [70/100], Loss: 0.9053\nEpoch [80/100], Loss: 0.8960\nEpoch [90/100], Loss: 0.8891\nEpoch [100/100], Loss: 0.8841\nTraining finished.\n[HAMI-core Msg(1:140244541377408:multiprocess_memory_limit.c:468)]: Calling exit handler 1\n
                "},{"location":"end-user/baize/jobs/pytorch.html#pytorch_2","title":"Pytorch \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
                1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                "},{"location":"end-user/baize/jobs/pytorch.html#_6","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
                import os\nimport torch\nimport torch.distributed as dist\nimport torch.nn as nn\nimport torch.optim as optim\nfrom torch.nn.parallel import DistributedDataParallel as DDP\n\nclass SimpleModel(nn.Module):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f'PyTorch version: {torch.__version__}')\n    print(f'CUDA available: {torch.cuda.is_available()}')\n    if torch.cuda.is_available():\n        print(f'CUDA version: {torch.version.cuda}')\n        print(f'CUDA device count: {torch.cuda.device_count()}')\n\n    rank = int(os.environ.get('RANK', '0'))\n    world_size = int(os.environ.get('WORLD_SIZE', '1'))\n\n    print(f'Rank: {rank}, World Size: {world_size}')\n\n    # \u521d\u59cb\u5316\u5206\u5e03\u5f0f\u73af\u5883\n    try:\n        if world_size > 1:\n            dist.init_process_group('nccl')\n            print('Distributed process group initialized successfully')\n        else:\n            print('Running in non-distributed mode')\n    except Exception as e:\n        print(f'Error initializing process group: {e}')\n        return\n\n    # \u8bbe\u7f6e\u8bbe\u5907\n    try:\n        if torch.cuda.is_available():\n            device = torch.device(f'cuda:{rank % torch.cuda.device_count()}')\n            print(f'Using CUDA device: {device}')\n        else:\n            device = torch.device('cpu')\n            print('CUDA not available, using CPU')\n    except Exception as e:\n        print(f'Error setting device: {e}')\n        device = torch.device('cpu')\n        print('Falling back to CPU')\n\n    try:\n        model = SimpleModel().to(device)\n        print('Model moved to device successfully')\n    except Exception as e:\n        print(f'Error moving model to device: {e}')\n        return\n\n    try:\n        if world_size > 1:\n            ddp_model = DDP(model, device_ids=[rank % torch.cuda.device_count()] if torch.cuda.is_available() else None)\n            print('DDP model created successfully')\n        else:\n            ddp_model = model\n            print('Using non-distributed model')\n    except Exception as e:\n        print(f'Error creating DDP model: {e}')\n        return\n\n    loss_fn = nn.MSELoss()\n    optimizer = optim.SGD(ddp_model.parameters(), lr=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    try:\n        data = torch.randn(100, 10, device=device)\n        labels = torch.randn(100, 1, device=device)\n        print('Data generated and moved to device successfully')\n    except Exception as e:\n        print(f'Error generating or moving data to device: {e}')\n        return\n\n    for epoch in range(10):\n        try:\n            ddp_model.train()\n            outputs = ddp_model(data)\n            loss = loss_fn(outputs, labels)\n            optimizer.zero_grad()\n            loss.backward()\n            optimizer.step()\n\n            if rank == 0:\n                print(f'Epoch {epoch}, Loss: {loss.item():.4f}')\n        except Exception as e:\n            print(f'Error during training epoch {epoch}: {e}')\n            break\n\n    if world_size > 1:\n        dist.destroy_process_group()\n\nif __name__ == '__main__':\n    train()\n
                "},{"location":"end-user/baize/jobs/pytorch.html#_7","title":"\u4efb\u52a1\u526f\u672c\u6570","text":"

                \u6ce8\u610f Pytorch \u5206\u5e03\u5f0f \u8bad\u7ec3\u4efb\u52a1\u4f1a\u521b\u5efa\u4e00\u7ec4 Master \u548c Worker \u7684\u8bad\u7ec3 Pod\uff0c Master \u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u4efb\u52a1\uff0cWorker \u8d1f\u8d23\u5b9e\u9645\u7684\u8bad\u7ec3\u5de5\u4f5c\u3002

                Note

                \u672c\u6b21\u6f14\u793a\u4e2d\uff1aMaster \u526f\u672c\u6570\u4e3a 1\uff0cWorker \u526f\u672c\u6570\u4e3a 2\uff1b \u6240\u4ee5\u6211\u4eec\u9700\u8981\u5728 \u4efb\u52a1\u914d\u7f6e \u4e2d\u8bbe\u7f6e\u526f\u672c\u6570\u4e3a 3\uff0c\u5373 Master \u526f\u672c\u6570 + Worker \u526f\u672c\u6570\u3002 Pytorch \u4f1a\u81ea\u52a8\u8c03\u8c10 Master \u548c Worker \u7684\u89d2\u8272\u3002

                "},{"location":"end-user/baize/jobs/pytorch.html#_8","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                "},{"location":"end-user/baize/jobs/tensorboard.html","title":"\u4efb\u52a1\u5206\u6790\u4ecb\u7ecd","text":"

                \u5728 AI Lab \u6a21\u5757\u4e2d\uff0c\u63d0\u4f9b\u4e86\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u91cd\u8981\u7684\u53ef\u89c6\u5316\u5206\u6790\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd \u4efb\u52a1\u5206\u6790\uff08Tensorboard\uff09\u7684\u57fa\u672c\u6982\u5ff5\u3001\u5728 AI Lab \u7cfb\u7edf\u4e2d\u7684\u4f7f\u7528\u65b9\u6cd5\uff0c\u4ee5\u53ca\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9\u3002

                Note

                Tensorboard \u662f TensorFlow \u63d0\u4f9b\u7684\u4e00\u4e2a\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u5b83\u53ef\u4ee5\u5e2e\u52a9\u5f00\u53d1\u8005\u66f4\u76f4\u89c2\u5730\u7406\u89e3\u6a21\u578b\u7684\u8bad\u7ec3\u52a8\u6001\uff0c\u5206\u6790\u6a21\u578b\u6027\u80fd\uff0c\u8c03\u8bd5\u6a21\u578b\u95ee\u9898\u7b49\u3002

                Tensorboard \u5728\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7684\u4f5c\u7528\u53ca\u4f18\u52bf\uff1a

                • \u53ef\u89c6\u5316\u8bad\u7ec3\u8fc7\u7a0b\uff1a\u901a\u8fc7\u56fe\u8868\u5c55\u793a\u8bad\u7ec3\u548c\u9a8c\u8bc1\u7684\u635f\u5931\u3001\u7cbe\u5ea6\u7b49\u6307\u6807\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u76f4\u89c2\u5730\u89c2\u5bdf\u6a21\u578b\u7684\u8bad\u7ec3\u6548\u679c\u3002
                • \u8c03\u8bd5\u548c\u4f18\u5316\u6a21\u578b\uff1a\u901a\u8fc7\u67e5\u770b\u4e0d\u540c\u5c42\u7684\u6743\u91cd\u3001\u68af\u5ea6\u5206\u5e03\u7b49\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u53d1\u73b0\u548c\u4fee\u6b63\u6a21\u578b\u4e2d\u7684\u95ee\u9898\u3002
                • \u5bf9\u6bd4\u4e0d\u540c\u5b9e\u9a8c\uff1a\u53ef\u4ee5\u540c\u65f6\u5c55\u793a\u591a\u4e2a\u5b9e\u9a8c\u7684\u7ed3\u679c\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u5bf9\u6bd4\u4e0d\u540c\u6a21\u578b\u548c\u8d85\u53c2\u6570\u914d\u7f6e\u7684\u6548\u679c\u3002
                • \u8ffd\u8e2a\u8bad\u7ec3\u6570\u636e\uff1a\u8bb0\u5f55\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u7684\u6570\u636e\u96c6\u548c\u53c2\u6570\uff0c\u786e\u4fdd\u5b9e\u9a8c\u7684\u53ef\u590d\u73b0\u6027\u3002
                "},{"location":"end-user/baize/jobs/tensorboard.html#tensorboard","title":"\u5982\u4f55\u521b\u5efa Tensorboard","text":"

                \u5728 AI Lab \u7cfb\u7edf\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u4fbf\u6377\u7684\u65b9\u5f0f\u6765\u521b\u5efa\u548c\u7ba1\u7406 Tensorboard\u3002\u4ee5\u4e0b\u662f\u5177\u4f53\u6b65\u9aa4\uff1a

                "},{"location":"end-user/baize/jobs/tensorboard.html#notebook-tensorboard","title":"\u5728\u521b\u5efa\u65f6 Notebook \u542f\u7528 Tensorboard","text":"
                1. \u521b\u5efa Notebook\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Notebook\u3002
                2. \u542f\u7528 Tensorboard\uff1a\u5728\u521b\u5efa Notebook \u7684\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002

                "},{"location":"end-user/baize/jobs/tensorboard.html#tensorboard_1","title":"\u5728\u5206\u5e03\u5f0f\u4efb\u52a1\u521b\u5efa\u53ca\u5b8c\u6210\u540e\u542f\u7528 Tensorboard","text":"
                1. \u521b\u5efa\u5206\u5e03\u5f0f\u4efb\u52a1\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3002
                2. \u914d\u7f6e Tensorboard\uff1a\u5728\u4efb\u52a1\u914d\u7f6e\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002
                3. \u4efb\u52a1\u5b8c\u6210\u540e\u67e5\u770b Tensorboard\uff1a\u4efb\u52a1\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u4efb\u52a1\u8be6\u60c5\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\uff0c\u70b9\u51fb\u94fe\u63a5\u5373\u53ef\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

                "},{"location":"end-user/baize/jobs/tensorboard.html#notebook-tensorboard_1","title":"\u5728 Notebook \u4e2d\u76f4\u63a5\u5f15\u7528 Tensorboard","text":"

                \u5728 Notebook \u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee3\u7801\u76f4\u63a5\u542f\u52a8 Tensorboard\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\nimport datetime\n\n# \u5b9a\u4e49\u65e5\u5fd7\u76ee\u5f55\nlog_dir = \"logs/fit/\" + datetime.datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n\n# \u521b\u5efa Tensorboard \u56de\u8c03\ntensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)\n\n# \u6784\u5efa\u5e76\u7f16\u8bd1\u6a21\u578b\nmodel = tf.keras.models.Sequential([\n    tf.keras.layers.Flatten(input_shape=(28, 28)),\n    tf.keras.layers.Dense(512, activation='relu'),\n    tf.keras.layers.Dropout(0.2),\n    tf.keras.layers.Dense(10, activation='softmax')\n])\n\nmodel.compile(optimizer='adam',\n              loss='sparse_categorical_crossentropy',\n              metrics=['accuracy'])\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u542f\u7528 Tensorboard \u56de\u8c03\nmodel.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])\n
                "},{"location":"end-user/baize/jobs/tensorboard.html#_2","title":"\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9","text":"

                \u5728\u4f7f\u7528 Tensorboard \u65f6\uff0c\u53ef\u4ee5\u8bb0\u5f55\u548c\u914d\u7f6e\u4e0d\u540c\u7684\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u5185\u5bb9\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5e38\u89c1\u7684\u914d\u7f6e\u65b9\u5f0f\uff1a

                "},{"location":"end-user/baize/jobs/tensorboard.html#_3","title":"\u914d\u7f6e\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7","text":"

                \u5728\u8bad\u7ec3\u6a21\u578b\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 TensorFlow \u7684 tf.summary API \u6765\u8bb0\u5f55\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\n\n# \u521b\u5efa\u65e5\u5fd7\u76ee\u5f55\ntrain_log_dir = 'logs/gradient_tape/train'\nval_log_dir = 'logs/gradient_tape/val'\ntrain_summary_writer = tf.summary.create_file_writer(train_log_dir)\nval_summary_writer = tf.summary.create_file_writer(val_log_dir)\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u8bb0\u5f55\u65e5\u5fd7\nfor epoch in range(EPOCHS):\n    for (x_train, y_train) in train_dataset:\n        # \u8bad\u7ec3\u6b65\u9aa4\n        train_step(x_train, y_train)\n        with train_summary_writer.as_default():\n            tf.summary.scalar('loss', train_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', train_accuracy.result(), step=epoch)\n\n    for (x_val, y_val) in val_dataset:\n        # \u9a8c\u8bc1\u6b65\u9aa4\n        val_step(x_val, y_val)\n        with val_summary_writer.as_default():\n            tf.summary.scalar('loss', val_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', val_accuracy.result(), step=epoch)\n
                "},{"location":"end-user/baize/jobs/tensorboard.html#_4","title":"\u914d\u7f6e\u81ea\u5b9a\u4e49\u65e5\u5fd7","text":"

                \u9664\u4e86\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5916\uff0c\u8fd8\u53ef\u4ee5\u8bb0\u5f55\u5176\u4ed6\u81ea\u5b9a\u4e49\u7684\u65e5\u5fd7\u5185\u5bb9\uff0c\u4f8b\u5982\u5b66\u4e60\u7387\u3001\u68af\u5ea6\u5206\u5e03\u7b49\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                # \u8bb0\u5f55\u81ea\u5b9a\u4e49\u65e5\u5fd7\nwith train_summary_writer.as_default():\n    tf.summary.scalar('learning_rate', learning_rate, step=epoch)\n    tf.summary.histogram('gradients', gradients, step=epoch)\n
                "},{"location":"end-user/baize/jobs/tensorboard.html#tensorboard_2","title":"Tensorboard \u7ba1\u7406","text":"

                \u5728 AI Lab \u4e2d\uff0c\u901a\u8fc7\u5404\u79cd\u65b9\u5f0f\u521b\u5efa\u51fa\u6765\u7684 Tensorboard \u4f1a\u7edf\u4e00\u5c55\u793a\u5728\u4efb\u52a1\u5206\u6790\u7684\u9875\u9762\u4e2d\uff0c\u65b9\u4fbf\u7528\u6237\u67e5\u770b\u548c\u7ba1\u7406\u3002

                \u7528\u6237\u53ef\u4ee5\u5728\u4efb\u52a1\u5206\u6790\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\u3001\u72b6\u6001\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u4fe1\u606f\uff0c\u5e76\u901a\u8fc7\u94fe\u63a5\u76f4\u63a5\u8bbf\u95ee Tensorboard \u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

                "},{"location":"end-user/baize/jobs/tensorflow.html","title":"Tensorflow \u4efb\u52a1","text":"

                Tensorflow \u662f\u9664\u4e86 Pytorch \u53e6\u5916\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u7684\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002

                \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u540c\u6837\u63d0\u4f9b\u4e86 Tensorflow \u6846\u67b6\u7684\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa Tensorflow \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                "},{"location":"end-user/baize/jobs/tensorflow.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Tensorflow \u5355\u673a \u548c Tensorflow \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
                • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Tensorflow \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
                "},{"location":"end-user/baize/jobs/tensorflow.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

                \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                "},{"location":"end-user/baize/jobs/tensorflow.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/tensorflow.html#tfjob","title":"\u793a\u4f8b TFJob \u5355\u673a\u4efb\u52a1","text":"
                1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                "},{"location":"end-user/baize/jobs/tensorflow.html#_4","title":"\u63d0\u524d\u9884\u70ed\u4ee3\u7801\u4ed3\u5e93","text":"

                \u4f7f\u7528 AI Lab -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u521b\u5efa\u4e00\u4e2a\u6570\u636e\u96c6\uff0c\u5e76\u5c06\u8fdc\u7aef Github \u7684\u4ee3\u7801\u62c9\u53d6\u5230\u6570\u636e\u96c6\u4e2d\uff0c \u8fd9\u6837\u5728\u521b\u5efa\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u9009\u62e9\u6570\u636e\u96c6\uff0c\u5c06\u4ee3\u7801\u6302\u8f7d\u5230\u4efb\u52a1\u4e2d\u3002

                \u6f14\u793a\u4ee3\u7801\u4ed3\u5e93\u5730\u5740\uff1ahttps://github.com/d-run/training-sample-code/

                "},{"location":"end-user/baize/jobs/tensorflow.html#_5","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tf-single.py
                \"\"\"\n  pip install tensorflow numpy\n\"\"\"\n\nimport tensorflow as tf\nimport numpy as np\n\n# \u521b\u5efa\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = np.random.rand(100, 1)\ny = 2 * x + 1 + np.random.rand(100, 1) * 0.1\n\n# \u521b\u5efa\u4e00\u4e2a\u7b80\u5355\u7684\u6a21\u578b\nmodel = tf.keras.Sequential([\n    tf.keras.layers.Dense(1, input_shape=(1,))\n])\n\n# \u7f16\u8bd1\u6a21\u578b\nmodel.compile(optimizer='adam', loss='mse')\n\n# \u8bad\u7ec3\u6a21\u578b\uff0c\u5c06 epochs \u6539\u4e3a 10\nhistory = model.fit(x, y, epochs=10, verbose=1)\n\n# \u6253\u5370\u6700\u7ec8\u635f\u5931\nprint('Final loss: {' + str(history.history['loss'][-1]) +'}')\n\n# \u4f7f\u7528\u6a21\u578b\u8fdb\u884c\u9884\u6d4b\ntest_x = np.array([[0.5]])\nprediction = model.predict(test_x)\nprint(f'Prediction for x=0.5: {prediction[0][0]}')\n
                "},{"location":"end-user/baize/jobs/tensorflow.html#_6","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                "},{"location":"end-user/baize/jobs/tensorflow.html#tfjob_1","title":"TFJob \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
                1. \u767b\u5f55 AI Lab \uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                "},{"location":"end-user/baize/jobs/tensorflow.html#_7","title":"\u793a\u4f8b\u4efb\u52a1\u4ecb\u7ecd","text":"

                \u672c\u6b21\u5305\u542b\u4e86\u4e09\u79cd\u89d2\u8272\uff1aChief\u3001Worker \u548c Parameter Server (PS)\u3002

                • Chief: \u4e3b\u8981\u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u8fc7\u7a0b\u548c\u6a21\u578b\u68c0\u67e5\u70b9\u7684\u4fdd\u5b58\u3002
                • Worker: \u6267\u884c\u5b9e\u9645\u7684\u6a21\u578b\u8bad\u7ec3\u3002
                • PS: \u5728\u5f02\u6b65\u8bad\u7ec3\u4e2d\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\u3002

                \u4e3a\u4e0d\u540c\u7684\u89d2\u8272\u5206\u914d\u4e86\u4e0d\u540c\u7684\u8d44\u6e90\u3002Chief \u548c Worker \u4f7f\u7528 GPU\uff0c\u800c PS \u4f7f\u7528 CPU \u548c\u8f83\u5927\u7684\u5185\u5b58\u3002

                "},{"location":"end-user/baize/jobs/tensorflow.html#_8","title":"\u8fd0\u884c\u53c2\u6570","text":"
                • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tensorflow-distributed.py
                import os\nimport json\nimport tensorflow as tf\n\nclass SimpleModel(tf.keras.Model):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = tf.keras.layers.Dense(1, input_shape=(10,))\n\n    def call(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f\"TensorFlow version: {tf.__version__}\")\n    print(f\"GPU available: {tf.test.is_gpu_available()}\")\n    if tf.test.is_gpu_available():\n        print(f\"GPU device count: {len(tf.config.list_physical_devices('GPU'))}\")\n\n    # \u83b7\u53d6\u5206\u5e03\u5f0f\u8bad\u7ec3\u4fe1\u606f\n    tf_config = json.loads(os.environ.get('TF_CONFIG') or '{}')\n    task_type = tf_config.get('task', {}).get('type')\n    task_id = tf_config.get('task', {}).get('index')\n\n    print(f\"Task type: {task_type}, Task ID: {task_id}\")\n\n    # \u8bbe\u7f6e\u5206\u5e03\u5f0f\u7b56\u7565\n    strategy = tf.distribute.experimental.MultiWorkerMirroredStrategy()\n\n    with strategy.scope():\n        model = SimpleModel()\n        loss_fn = tf.keras.losses.MeanSquaredError()\n        optimizer = tf.keras.optimizers.SGD(learning_rate=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    data = tf.random.normal((100, 10))\n    labels = tf.random.normal((100, 1))\n\n    @tf.function\n    def train_step(inputs, labels):\n        with tf.GradientTape() as tape:\n            predictions = model(inputs)\n            loss = loss_fn(labels, predictions)\n        gradients = tape.gradient(loss, model.trainable_variables)\n        optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n        return loss\n\n    for epoch in range(10):\n        loss = train_step(data, labels)\n        if task_type == 'chief':\n            print(f'Epoch {epoch}, Loss: {loss.numpy():.4f}')\n\nif __name__ == '__main__':\n    train()\n
                "},{"location":"end-user/baize/jobs/tensorflow.html#_9","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                "},{"location":"end-user/baize/jobs/view.html","title":"\u67e5\u770b\u4efb\u52a1\uff08Job\uff09\u5de5\u4f5c\u8d1f\u8f7d","text":"

                \u4efb\u52a1\u521b\u5efa\u597d\u540e\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u3002

                1. \u5728\u8bad\u7ec3\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u67d0\u4e2a\u4efb\u52a1\u53f3\u4fa7\u7684 \u2507 -> \u4efb\u52a1\u8d1f\u8f7d\u8be6\u60c5 \u3002

                2. \u51fa\u73b0\u4e00\u4e2a\u5f39\u7a97\u9009\u62e9\u8981\u67e5\u770b\u54ea\u4e2a Pod \u540e\uff0c\u70b9\u51fb \u8fdb\u5165 \u3002

                3. \u8df3\u8f6c\u5230\u5bb9\u5668\u7ba1\u7406\u754c\u9762\uff0c\u53ef\u4ee5\u67e5\u770b\u5bb9\u5668\u7684\u5de5\u4f5c\u72b6\u6001\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4ee5\u53ca\u53d1\u751f\u7684\u4e8b\u4ef6\u3002

                4. \u4f60\u8fd8\u53ef\u4ee5\u67e5\u770b\u5f53\u524d Pod \u6700\u8fd1\u4e00\u6bb5\u65f6\u95f4\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002 \u6b64\u5904\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u65e5\u5fd7\uff0c\u5982\u679c\u8981\u67e5\u770b\u66f4\u8be6\u7ec6\u7684\u65e5\u5fd7\u6d3b\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u8bf7\u70b9\u51fb\u9876\u90e8\u7684\u84dd\u8272 \u53ef\u89c2\u6d4b\u6027 \u6587\u5b57\u3002

                5. \u5f53\u7136\u4f60\u8fd8\u53ef\u4ee5\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684 ... \uff0c\u67e5\u770b\u5f53\u524d Pod \u7684 YAML\u3001\u4e0a\u4f20\u548c\u4e0b\u8f7d\u6587\u4ef6\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a Pod \u7684 YAML \u793a\u4f8b\u3002

                kind: Pod\napiVersion: v1\nmetadata:\n  name: neko-tensorboard-job-test-202404181843-skxivllb-worker-0\n  namespace: default\n  uid: ddedb6ff-c278-47eb-ae1e-0de9b7c62f8c\n  resourceVersion: '41092552'\n  creationTimestamp: '2024-04-18T10:43:36Z'\n  labels:\n    training.kubeflow.org/job-name: neko-tensorboard-job-test-202404181843-skxivllb\n    training.kubeflow.org/operator-name: pytorchjob-controller\n    training.kubeflow.org/replica-index: '0'\n    training.kubeflow.org/replica-type: worker\n  annotations:\n    cni.projectcalico.org/containerID: 0cfbb9af257d5e69027c603c6cb2d3890a17c4ae1a145748d5aef73a10d7fbe1\n    cni.projectcalico.org/podIP: ''\n    cni.projectcalico.org/podIPs: ''\n    hami.io/bind-phase: success\n    hami.io/bind-time: '1713437016'\n    hami.io/vgpu-devices-allocated: GPU-29d5fa0d-935b-2966-aff8-483a174d61d1,NVIDIA,1024,20:;\n    hami.io/vgpu-devices-to-allocate: ;\n    hami.io/vgpu-node: worker-a800-1\n    hami.io/vgpu-time: '1713437016'\n    k8s.v1.cni.cncf.io/network-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n    k8s.v1.cni.cncf.io/networks-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n  ownerReferences:\n    - apiVersion: kubeflow.org/v1\n      kind: PyTorchJob\n      name: neko-tensorboard-job-test-202404181843-skxivllb\n      uid: e5a8b05d-1f03-4717-8e1c-4ec928014b7b\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  volumes:\n    - name: 0-dataset-pytorch-examples\n      persistentVolumeClaim:\n        claimName: pytorch-examples\n    - name: kube-api-access-wh9rh\n      projected:\n        sources:\n          - serviceAccountToken:\n              expirationSeconds: 3607\n              path: token\n          - configMap:\n              name: kube-root-ca.crt\n              items:\n                - key: ca.crt\n                  path: ca.crt\n          - downwardAPI:\n              items:\n                - path: namespace\n                  fieldRef:\n                    apiVersion: v1\n                    fieldPath: metadata.namespace\n        defaultMode: 420\n  containers:\n    - name: pytorch\n      image: m.daocloud.io/docker.io/pytorch/pytorch\n      command:\n        - bash\n      args:\n        - '-c'\n        - >-\n          ls -la /root && which pip && pip install pytorch_lightning tensorboard\n          && python /root/Git/pytorch/examples/mnist/main.py\n      ports:\n        - name: pytorchjob-port\n          containerPort: 23456\n          protocol: TCP\n      env:\n        - name: PYTHONUNBUFFERED\n          value: '1'\n        - name: PET_NNODES\n          value: '1'\n      resources:\n        limits:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n        requests:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n      volumeMounts:\n        - name: 0-dataset-pytorch-examples\n          mountPath: /root/Git/pytorch/examples\n        - name: kube-api-access-wh9rh\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  restartPolicy: Never\n  terminationGracePeriodSeconds: 30\n  dnsPolicy: ClusterFirst\n  serviceAccountName: default\n  serviceAccount: default\n  nodeName: worker-a800-1\n  securityContext: {}\n  affinity: {}\n  schedulerName: hami-scheduler\n  tolerations:\n    - key: node.kubernetes.io/not-ready\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n    - key: node.kubernetes.io/unreachable\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n  priorityClassName: baize-high-priority\n  priority: 100000\n  enableServiceLinks: true\n  preemptionPolicy: PreemptLowerPriority\nstatus:\n  phase: Succeeded\n  conditions:\n    - type: Initialized\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n      reason: PodCompleted\n    - type: Ready\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: ContainersReady\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: PodScheduled\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n  hostIP: 10.20.100.211\n  podIP: 10.233.97.184\n  podIPs:\n    - ip: 10.233.97.184\n  startTime: '2024-04-18T10:43:36Z'\n  containerStatuses:\n    - name: pytorch\n      state:\n        terminated:\n          exitCode: 0\n          reason: Completed\n          startedAt: '2024-04-18T10:43:39Z'\n          finishedAt: '2024-04-18T10:46:34Z'\n          containerID: >-\n            containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      lastState: {}\n      ready: false\n      restartCount: 0\n      image: m.daocloud.io/docker.io/pytorch/pytorch:latest\n      imageID: >-\n        m.daocloud.io/docker.io/pytorch/pytorch@sha256:11691e035a3651d25a87116b4f6adc113a27a29d8f5a6a583f8569e0ee5ff897\n      containerID: >-\n        containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      started: false\n  qosClass: Guaranteed\n
                "},{"location":"end-user/ghippo/personal-center/accesstoken.html","title":"\u8bbf\u95ee\u5bc6\u94a5","text":"

                \u8bbf\u95ee\u5bc6\u94a5\uff08Access Key\uff09\u53ef\u7528\u4e8e\u8bbf\u95ee\u5f00\u653e API \u548c\u6301\u7eed\u53d1\u5e03\uff0c\u7528\u6237\u53ef\u5728\u4e2a\u4eba\u4e2d\u5fc3\u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u83b7\u53d6\u5bc6\u94a5\u5e76\u8bbf\u95ee API\u3002

                "},{"location":"end-user/ghippo/personal-center/accesstoken.html#_2","title":"\u83b7\u53d6\u5bc6\u94a5","text":"

                \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728\u53f3\u4e0a\u89d2\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\u627e\u5230 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u53ef\u4ee5\u5728 \u8bbf\u95ee\u5bc6\u94a5 \u9875\u9762\u7ba1\u7406\u8d26\u53f7\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                Info

                \u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\u4ec5\u663e\u793a\u4e00\u6b21\u3002\u5982\u679c\u60a8\u5fd8\u8bb0\u4e86\u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\uff0c\u60a8\u9700\u8981\u91cd\u65b0\u521b\u5efa\u65b0\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                "},{"location":"end-user/ghippo/personal-center/accesstoken.html#api","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbf\u95ee API","text":"

                \u5728\u8bbf\u95ee\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0openAPI \u65f6\uff0c\u5728\u8bf7\u6c42\u4e2d\u52a0\u4e0a\u8bf7\u6c42\u5934 Authorization:Bearer ${token} \u4ee5\u6807\u8bc6\u8bbf\u95ee\u8005\u7684\u8eab\u4efd\uff0c \u5176\u4e2d ${token} \u662f\u4e0a\u4e00\u6b65\u4e2d\u83b7\u53d6\u5230\u7684\u5bc6\u94a5\uff0c\u5177\u4f53\u63a5\u53e3\u4fe1\u606f\u53c2\u89c1 OpenAPI \u63a5\u53e3\u6587\u6863\u3002

                \u8bf7\u6c42\u793a\u4f8b

                curl -X GET -H 'Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRKVjlBTHRBLXZ4MmtQUC1TQnVGS0dCSWc1cnBfdkxiQVVqM2U3RVByWnMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NjE0MTU5NjksImlhdCI6MTY2MDgxMTE2OSwiaXNzIjoiZ2hpcHBvLmlvIiwic3ViIjoiZjdjOGIxZjUtMTc2MS00NjYwLTg2MWQtOWI3MmI0MzJmNGViIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiYWRtaW4iLCJncm91cHMiOltdfQ.RsUcrAYkQQ7C6BxMOrdD3qbBRUt0VVxynIGeq4wyIgye6R8Ma4cjxG5CbU1WyiHKpvIKJDJbeFQHro2euQyVde3ygA672ozkwLTnx3Tu-_mB1BubvWCBsDdUjIhCQfT39rk6EQozMjb-1X1sbLwzkfzKMls-oxkjagI_RFrYlTVPwT3Oaw-qOyulRSw7Dxd7jb0vINPq84vmlQIsI3UuTZSNO5BCgHpubcWwBss-Aon_DmYA-Et_-QtmPBA3k8E2hzDSzc7eqK0I68P25r9rwQ3DeKwD1dbRyndqWORRnz8TLEXSiCFXdZT2oiMrcJtO188Ph4eLGut1-4PzKhwgrQ' https://demo-dev.daocloud.io/apis/ghippo.io/v1alpha1/users?page=1&pageSize=10 -k\n

                \u8bf7\u6c42\u7ed3\u679c

                {\n    \"items\": [\n        {\n            \"id\": \"a7cfd010-ebbe-4601-987f-d098d9ef766e\",\n            \"name\": \"a\",\n            \"email\": \"\",\n            \"description\": \"\",\n            \"firstname\": \"\",\n            \"lastname\": \"\",\n            \"source\": \"locale\",\n            \"enabled\": true,\n            \"createdAt\": \"1660632794800\",\n            \"updatedAt\": \"0\",\n            \"lastLoginAt\": \"\"\n        }\n    ],\n    \"pagination\": {\n        \"page\": 1,\n        \"pageSize\": 10,\n        \"total\": 1\n    }\n}\n
                "},{"location":"end-user/ghippo/personal-center/language.html","title":"\u8bed\u8a00\u8bbe\u7f6e","text":"

                \u672c\u8282\u8bf4\u660e\u5982\u4f55\u8bbe\u7f6e\u754c\u9762\u8bed\u8a00\u3002\u76ee\u524d\u652f\u6301\u4e2d\u6587\u3001English \u4e24\u4e2a\u8bed\u8a00\u3002

                \u8bed\u8a00\u8bbe\u7f6e\u662f\u5e73\u53f0\u63d0\u4f9b\u591a\u8bed\u8a00\u670d\u52a1\u7684\u5165\u53e3\uff0c\u5e73\u53f0\u9ed8\u8ba4\u663e\u793a\u4e3a\u4e2d\u6587\uff0c\u7528\u6237\u53ef\u6839\u636e\u9700\u8981\u9009\u62e9\u82f1\u8bed\u6216\u81ea\u52a8\u68c0\u6d4b\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u7684\u65b9\u5f0f\u6765\u5207\u6362\u5e73\u53f0\u8bed\u8a00\u3002 \u6bcf\u4e2a\u7528\u6237\u7684\u591a\u8bed\u8a00\u670d\u52a1\u662f\u76f8\u4e92\u72ec\u7acb\u7684\uff0c\u5207\u6362\u540e\u4e0d\u4f1a\u5f71\u54cd\u5176\u4ed6\u7528\u6237\u3002

                \u5e73\u53f0\u63d0\u4f9b\u4e09\u79cd\u5207\u6362\u8bed\u8a00\u65b9\u5f0f\uff1a\u4e2d\u6587\u3001\u82f1\u8bed-English\u3001\u81ea\u52a8\u68c0\u6d4b\u60a8\u7684\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u3002

                \u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\u3002

                1. \u4f7f\u7528\u60a8\u7684\u7528\u6237\u540d/\u5bc6\u7801\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

                3. \u70b9\u51fb \u8bed\u8a00\u8bbe\u7f6e \u9875\u7b7e\u3002

                4. \u5207\u6362\u8bed\u8a00\u9009\u9879\u3002

                "},{"location":"end-user/ghippo/personal-center/security-setting.html","title":"\u5b89\u5168\u8bbe\u7f6e","text":"

                \u529f\u80fd\u8bf4\u660e\uff1a\u7528\u4e8e\u586b\u5199\u90ae\u7bb1\u5730\u5740\u548c\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

                • \u90ae\u7bb1\uff1a\u5f53\u7ba1\u7406\u5458\u914d\u7f6e\u90ae\u7bb1\u670d\u52a1\u5668\u5730\u5740\u4e4b\u540e\uff0c\u7528\u6237\u80fd\u591f\u901a\u8fc7\u767b\u5f55\u9875\u7684\u5fd8\u8bb0\u5bc6\u7801\u6309\u94ae\uff0c\u586b\u5199\u8be5\u5904\u7684\u90ae\u7bb1\u5730\u5740\u4ee5\u627e\u56de\u5bc6\u7801\u3002
                • \u5bc6\u7801\uff1a\u7528\u4e8e\u767b\u5f55\u5e73\u53f0\u7684\u5bc6\u7801\uff0c\u5efa\u8bae\u5b9a\u671f\u4fee\u6539\u5bc6\u7801\u3002

                \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

                2. \u70b9\u51fb \u5b89\u5168\u8bbe\u7f6e \u9875\u7b7e\u3002\u586b\u5199\u60a8\u7684\u90ae\u7bb1\u5730\u5740\u6216\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

                "},{"location":"end-user/ghippo/personal-center/ssh-key.html","title":"\u914d\u7f6e SSH \u516c\u94a5","text":"

                \u672c\u6587\u8bf4\u660e\u5982\u4f55\u914d\u7f6e SSH \u516c\u94a5\u3002

                "},{"location":"end-user/ghippo/personal-center/ssh-key.html#1-ssh","title":"\u6b65\u9aa4 1\uff1a\u67e5\u770b\u5df2\u5b58\u5728\u7684 SSH \u5bc6\u94a5","text":"

                \u5728\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\u524d\uff0c\u8bf7\u5148\u786e\u8ba4\u662f\u5426\u9700\u8981\u4f7f\u7528\u672c\u5730\u5df2\u751f\u6210\u7684 SSH \u5bc6\u94a5\uff0cSSH \u5bc6\u94a5\u5bf9\u4e00\u822c\u5b58\u653e\u5728\u672c\u5730\u7528\u6237\u7684\u6839\u76ee\u5f55\u4e0b\u3002 Linux\u3001Mac \u8bf7\u76f4\u63a5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u5b58\u5728\u7684\u516c\u94a5\uff0cWindows \u7528\u6237\u5728 WSL\uff08\u9700\u8981 Windows 10 \u6216\u4ee5\u4e0a\uff09\u6216 Git Bash \u4e0b\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u751f\u6210\u7684\u516c\u94a5\u3002

                • ED25519 \u7b97\u6cd5\uff1a

                  cat ~/.ssh/id_ed25519.pub\n
                • RSA \u7b97\u6cd5\uff1a

                  cat ~/.ssh/id_rsa.pub\n

                \u5982\u679c\u8fd4\u56de\u4e00\u957f\u4e32\u4ee5 ssh-ed25519 \u6216 ssh-rsa \u5f00\u5934\u7684\u5b57\u7b26\u4e32\uff0c\u8bf4\u660e\u5df2\u5b58\u5728\u672c\u5730\u516c\u94a5\uff0c \u60a8\u53ef\u4ee5\u8df3\u8fc7\u6b65\u9aa4 2 \u751f\u6210 SSH \u5bc6\u94a5\uff0c\u76f4\u63a5\u64cd\u4f5c\u6b65\u9aa4 3\u3002

                "},{"location":"end-user/ghippo/personal-center/ssh-key.html#2-ssh","title":"\u6b65\u9aa4 2\uff1a\u751f\u6210 SSH \u5bc6\u94a5","text":"

                \u82e5\u6b65\u9aa4 1 \u672a\u8fd4\u56de\u6307\u5b9a\u7684\u5185\u5bb9\u5b57\u7b26\u4e32\uff0c\u8868\u793a\u672c\u5730\u6682\u65e0\u53ef\u7528 SSH \u5bc6\u94a5\uff0c\u9700\u8981\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\uff0c\u8bf7\u6309\u5982\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                1. \u8bbf\u95ee\u7ec8\u7aef\uff08Windows \u8bf7\u4f7f\u7528 WSL \u6216 Git Bash\uff09\uff0c \u8fd0\u884c ssh-keygen -t\u3002

                2. \u8f93\u5165\u5bc6\u94a5\u7b97\u6cd5\u7c7b\u578b\u548c\u53ef\u9009\u7684\u6ce8\u91ca\u3002

                  \u6ce8\u91ca\u4f1a\u51fa\u73b0\u5728 .pub \u6587\u4ef6\u4e2d\uff0c\u4e00\u822c\u53ef\u4f7f\u7528\u90ae\u7bb1\u4f5c\u4e3a\u6ce8\u91ca\u5185\u5bb9\u3002

                  • \u57fa\u4e8e ED25519 \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

                    ssh-keygen -t ed25519 -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
                  • \u57fa\u4e8e RSA \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

                    ssh-keygen -t rsa -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
                3. \u70b9\u51fb\u56de\u8f66\uff0c\u9009\u62e9 SSH \u5bc6\u94a5\u751f\u6210\u8def\u5f84\u3002

                  \u4ee5 ED25519 \u7b97\u6cd5\u4e3a\u4f8b\uff0c\u9ed8\u8ba4\u8def\u5f84\u5982\u4e0b\uff1a

                  Generating public/private ed25519 key pair.\nEnter file in which to save the key (/home/user/.ssh/id_ed25519):\n

                  \u5bc6\u94a5\u9ed8\u8ba4\u751f\u6210\u8def\u5f84\uff1a/home/user/.ssh/id_ed25519\uff0c\u516c\u94a5\u4e0e\u4e4b\u5bf9\u5e94\u4e3a\uff1a/home/user/.ssh/id_ed25519.pub\u3002

                4. \u8bbe\u7f6e\u4e00\u4e2a\u5bc6\u94a5\u53e3\u4ee4\u3002

                  Enter passphrase (empty for no passphrase):\nEnter same passphrase again:\n

                  \u53e3\u4ee4\u9ed8\u8ba4\u4e3a\u7a7a\uff0c\u60a8\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528\u53e3\u4ee4\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u3002 \u5982\u679c\u60a8\u4e0d\u60f3\u5728\u6bcf\u6b21\u4f7f\u7528 SSH \u534f\u8bae\u8bbf\u95ee\u4ed3\u5e93\u65f6\uff0c\u90fd\u8981\u8f93\u5165\u7528\u4e8e\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u7684\u53e3\u4ee4\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u8f93\u5165\u7a7a\u53e3\u4ee4\u3002

                5. \u70b9\u51fb\u56de\u8f66\uff0c\u5b8c\u6210\u5bc6\u94a5\u5bf9\u521b\u5efa\u3002

                "},{"location":"end-user/ghippo/personal-center/ssh-key.html#3","title":"\u6b65\u9aa4 3\uff1a\u62f7\u8d1d\u516c\u94a5","text":"

                \u9664\u4e86\u5728\u547d\u4ee4\u884c\u6253\u5370\u51fa\u5df2\u751f\u6210\u7684\u516c\u94a5\u4fe1\u606f\u624b\u52a8\u590d\u5236\u5916\uff0c\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u62f7\u8d1d\u516c\u94a5\u5230\u7c98\u8d34\u677f\u4e0b\uff0c\u8bf7\u53c2\u8003\u64cd\u4f5c\u7cfb\u7edf\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u62f7\u8d1d\u3002

                • Windows\uff08\u5728 WSL \u6216 Git Bash \u4e0b\uff09\uff1a

                  cat ~/.ssh/id_ed25519.pub | clip\n
                • Mac\uff1a

                  tr -d '\\n'< ~/.ssh/id_ed25519.pub | pbcopy\n
                • GNU/Linux (requires xclip):

                  xclip -sel clip < ~/.ssh/id_ed25519.pub\n
                "},{"location":"end-user/ghippo/personal-center/ssh-key.html#4-ai","title":"\u6b65\u9aa4 4\uff1a\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u8bbe\u7f6e\u516c\u94a5","text":"
                1. \u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0UI \u9875\u9762\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 -> SSH \u516c\u94a5 \u3002

                2. \u6dfb\u52a0\u751f\u6210\u7684 SSH \u516c\u94a5\u4fe1\u606f\u3002

                  1. SSH \u516c\u94a5\u5185\u5bb9\u3002

                  2. \u516c\u94a5\u6807\u9898\uff1a\u652f\u6301\u81ea\u5b9a\u4e49\u516c\u94a5\u540d\u79f0\uff0c\u7528\u4e8e\u533a\u5206\u7ba1\u7406\u3002

                  3. \u8fc7\u671f\u65f6\u95f4\uff1a\u8bbe\u7f6e\u516c\u94a5\u8fc7\u671f\u65f6\u95f4\uff0c\u5230\u671f\u540e\u516c\u94a5\u5c06\u81ea\u52a8\u5931\u6548\uff0c\u4e0d\u53ef\u4f7f\u7528\uff1b\u5982\u679c\u4e0d\u8bbe\u7f6e\uff0c\u5219\u6c38\u4e45\u6709\u6548\u3002

                "},{"location":"end-user/ghippo/workspace/folder-permission.html","title":"\u6587\u4ef6\u5939\u6743\u9650\u8bf4\u660e","text":"

                \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

                \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u662f Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5b50\u6587\u4ef6\u5939\u4ecd\u4e3a Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4\u5219\u4e3a Workspace Admin\uff1b \u82e5\u5728 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 -> \u8d44\u6e90\u7ec4 \u4e2d\u7ed1\u5b9a\u4e86 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fd8\u662f Namespace Admin\u3002

                Note

                \u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

                "},{"location":"end-user/ghippo/workspace/folder-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

                \u6587\u4ef6\u5939\u5177\u6709\u5c42\u7ea7\u80fd\u529b\uff0c\u56e0\u6b64\u5c06\u6587\u4ef6\u5939\u5bf9\u5e94\u4e8e\u4f01\u4e1a\u4e2d\u7684\u90e8\u95e8/\u4f9b\u5e94\u5546/\u9879\u76ee\u7b49\u5c42\u7ea7\u65f6\uff0c

                • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u7ba1\u7406\u6743\u9650\uff08Admin\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u7ba1\u7406\u6743\u9650\uff1b
                • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u4f7f\u7528\u6743\u9650\uff08Editor\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u4f7f\u7528\u6743\u9650\uff1b
                • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u53ea\u8bfb\u6743\u9650\uff08Viewer\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u53ea\u8bfb\u6743\u9650\u3002
                \u5bf9\u8c61 \u64cd\u4f5c Folder Admin Folder Editor Folder Viewer \u5bf9\u6587\u4ef6\u5939\u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5b50\u6587\u4ef6\u5939 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717"},{"location":"end-user/ghippo/workspace/folders.html","title":"\u521b\u5efa/\u5220\u9664\u6587\u4ef6\u5939","text":"

                \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u3002

                1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u6587\u4ef6\u5939 \u6309\u94ae\u3002

                3. \u586b\u5199\u6587\u4ef6\u5939\u540d\u79f0\u3001\u4e0a\u4e00\u7ea7\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u6587\u4ef6\u5939\u3002

                Tip

                \u521b\u5efa\u6210\u529f\u540e\u6587\u4ef6\u5939\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

                Note

                \u9009\u4e2d\u67d0\u4e00\u4e2a\u6587\u4ef6\u5939\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

                • \u5f53\u8be5\u6587\u4ef6\u5939\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002

                • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u6587\u4ef6\u5939\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u6587\u4ef6\u5939\u3002

                "},{"location":"end-user/ghippo/workspace/quota.html","title":"\u8d44\u6e90\u914d\u989d\uff08Quota\uff09","text":"

                \u5171\u4eab\u8d44\u6e90\u5e76\u975e\u610f\u5473\u7740\u88ab\u5171\u4eab\u8005\u53ef\u4ee5\u65e0\u9650\u5236\u5730\u4f7f\u7528\u88ab\u5171\u4eab\u7684\u8d44\u6e90\u3002 Admin\u3001Kpanda Owner \u548c Workspace Admin \u53ef\u4ee5\u901a\u8fc7\u5171\u4eab\u8d44\u6e90\u4e2d\u7684 \u8d44\u6e90\u914d\u989d \u529f\u80fd\u9650\u5236\u67d0\u4e2a\u7528\u6237\u7684\u6700\u5927\u4f7f\u7528\u989d\u5ea6\u3002 \u82e5\u4e0d\u9650\u5236\uff0c\u5219\u8868\u793a\u53ef\u4ee5\u65e0\u9650\u5236\u4f7f\u7528\u3002

                • CPU \u8bf7\u6c42\uff08Core\uff09
                • CPU \u9650\u5236\uff08Core\uff09
                • \u5185\u5b58\u8bf7\u6c42\uff08MB\uff09
                • \u5185\u5b58\u9650\u5236\uff08MB\uff09
                • \u5b58\u50a8\u8bf7\u6c42\u603b\u91cf\uff08GB\uff09
                • \u5b58\u50a8\u5377\u58f0\u660e\uff08\u4e2a\uff09
                • GPU \u7c7b\u578b\u3001\u89c4\u683c\u3001\u6570\u91cf\uff08\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e Nvidia\u3001Ascend\u3001lluvatar\u7b49GPU\u5361\u7c7b\u578b\uff09

                \u4e00\u4e2a\u8d44\u6e90\uff08\u96c6\u7fa4\uff09\u53ef\u4ee5\u88ab\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5171\u4eab\uff0c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u53ef\u4ee5\u540c\u65f6\u4f7f\u7528\u591a\u4e2a\u5171\u4eab\u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u3002

                "},{"location":"end-user/ghippo/workspace/quota.html#_1","title":"\u8d44\u6e90\u7ec4\u548c\u5171\u4eab\u8d44\u6e90","text":"

                \u5171\u4eab\u8d44\u6e90\u548c\u8d44\u6e90\u7ec4\u4e2d\u7684\u96c6\u7fa4\u8d44\u6e90\u5747\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\uff0c\u4f46\u662f\u96c6\u7fa4\u7ed1\u5b9a\u548c\u5171\u4eab\u7ed9\u540c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5c06\u4f1a\u4ea7\u751f\u4e24\u79cd\u622a\u7136\u4e0d\u540c\u7684\u6548\u679c\u3002

                1. \u7ed1\u5b9a\u8d44\u6e90

                  \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u7684\u5168\u90e8\u7ba1\u7406\u548c\u4f7f\u7528\u6743\u9650\uff0cWorkspace Admin \u5c06\u88ab\u6620\u5c04\u4e3a Cluster Admin\u3002 Workspace Admin \u80fd\u591f\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7ba1\u7406\u8be5\u96c6\u7fa4\u3002

                  Note

                  \u5f53\u524d\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u6682\u65e0 Cluster Editor \u548c Cluster Viewer \u89d2\u8272\uff0c\u56e0\u6b64 Workspace Editor\u3001Workspace Viewer \u8fd8\u65e0\u6cd5\u6620\u5c04\u3002

                2. \u65b0\u589e\u5171\u4eab\u8d44\u6e90

                  \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u8d44\u6e90\u7684\u4f7f\u7528\u6743\u9650\uff0c\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff08Namespace\uff09\u65f6\u4f7f\u7528\u3002

                  \u4e0e\u8d44\u6e90\u7ec4\u4e0d\u540c\uff0c\u5c06\u96c6\u7fa4\u5171\u4eab\u5230\u5de5\u4f5c\u7a7a\u95f4\u65f6\uff0c\u7528\u6237\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u89d2\u8272\u4e0d\u4f1a\u6620\u5c04\u5230\u8d44\u6e90\u4e0a\uff0c\u56e0\u6b64 Workspace Admin \u4e0d\u4f1a\u88ab\u6620\u5c04\u4e3a Cluster admin\u3002

                \u672c\u8282\u5c55\u793a 3 \u4e2a\u4e0e\u8d44\u6e90\u914d\u989d\u6709\u5173\u7684\u573a\u666f\u3002

                "},{"location":"end-user/ghippo/workspace/quota.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

                \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u4f1a\u6d89\u53ca\u5230\u8d44\u6e90\u914d\u989d\u3002

                1. \u5728\u5de5\u4f5c\u7a7a\u95f4 ws01 \u65b0\u589e\u4e00\u4e2a\u5171\u4eab\u96c6\u7fa4\u3002

                2. \u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u9009\u62e9\u5de5\u4f5c\u7a7a\u95f4 ws01 \u548c\u5171\u4eab\u96c6\u7fa4\uff0c\u521b\u5efa\u547d\u540d\u7a7a\u95f4 ns01\u3002

                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4e0d\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\u3002
                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff08\u4f8b\u5982 CPU \u8bf7\u6c42 = 100 core\uff09\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6 CPU \u8bf7\u6c42 \u2264 100 core \u3002
                "},{"location":"end-user/ghippo/workspace/quota.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

                \u524d\u63d0\uff1a\u5de5\u4f5c\u7a7a\u95f4 ws01 \u5df2\u65b0\u589e\u5171\u4eab\u96c6\u7fa4\uff0c\u64cd\u4f5c\u8005\u4e3a Workspace Admin + Kpanda Owner \u6216 Admin \u89d2\u8272\u3002

                \u4ee5\u4e0b\u4e24\u79cd\u7ed1\u5b9a\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

                • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u521b\u5efa\u7684\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
                • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\uff0c\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
                "},{"location":"end-user/ghippo/workspace/quota.html#_4","title":"\u4ece\u5de5\u4f5c\u7a7a\u95f4\u89e3\u7ed1\u547d\u540d\u7a7a\u95f4","text":"

                \u4ee5\u4e0b\u4e24\u79cd\u89e3\u7ed1\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

                • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
                • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
                  • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
                "},{"location":"end-user/ghippo/workspace/res-gp-and-shared-res.html","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u533a\u522b","text":"

                \u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u5747\u652f\u6301\u7ed1\u5b9a\u96c6\u7fa4\uff0c\u4f46\u4f7f\u7528\u4e0a\u5b58\u5728\u5f88\u5927\u533a\u522b\u3002

                "},{"location":"end-user/ghippo/workspace/res-gp-and-shared-res.html#_2","title":"\u4f7f\u7528\u573a\u666f\u533a\u522b","text":"
                • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u6279\u91cf\u6388\u6743\u3002\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u540e\uff0c \u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u96c6\u7fa4\u7ba1\u7406\u5458\uff0c\u80fd\u591f\u7ba1\u7406\u5e76\u4f7f\u7528\u96c6\u7fa4\u8d44\u6e90\u3002
                • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u5171\u4eab\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u505a\u8d44\u6e90\u9650\u989d\u3002 \u5178\u578b\u7684\u573a\u666f\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u5c06\u96c6\u7fa4\u5206\u914d\u7ed9\u4e00\u7ea7\u4f9b\u5e94\u5546\u540e\uff0c\u518d\u7531\u4e00\u7ea7\u4f9b\u5e94\u5546\u5206\u914d\u7ed9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u5e76\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u989d\u3002

                \u8bf4\u660e\uff1a\u5728\u8be5\u573a\u666f\u4e2d\uff0c\u9700\u8981\u5e73\u53f0\u7ba1\u7406\u5458\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u5236\uff0c\u6682\u65f6\u8fd8\u4e0d\u652f\u6301\u4e00\u7ea7\u4f9b\u5e94\u5546\u9650\u5236\u4e8c\u7ea7\u4f9b\u5e94\u5546\u7684\u96c6\u7fa4\u989d\u5ea6\u3002

                "},{"location":"end-user/ghippo/workspace/res-gp-and-shared-res.html#_3","title":"\u96c6\u7fa4\u989d\u5ea6\u7684\u4f7f\u7528\u533a\u522b","text":"
                • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u8be5\u96c6\u7fa4\u7684\u7ba1\u7406\u5458\uff0c\u76f8\u5f53\u4e8e\u5728\u5bb9\u5668\u7ba1\u7406-\u6743\u9650\u7ba1\u7406\u4e2d\u88ab\u6388\u4e88 Cluster Admin \u89d2\u8272\uff0c \u80fd\u591f\u65e0\u9650\u5236\u652f\u914d\u8be5\u96c6\u7fa4\u8d44\u6e90\uff0c\u7ba1\u7406\u8282\u70b9\u7b49\u91cd\u8981\u5185\u5bb9\uff0c\u4e14\u8d44\u6e90\u7ec4\u4e0d\u80fd\u591f\u88ab\u8d44\u6e90\u9650\u989d\u3002
                • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u8d44\u6e90\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u4ec5\u80fd\u591f\u4f7f\u7528\u96c6\u7fa4\u4e2d\u7684\u989d\u5ea6\u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\u3002 \u82e5\u5bf9\u8be5\u5de5\u4f5c\u7a7a\u95f4\u9650\u5236\u989d\u5ea6\uff0c\u5219\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u4ec5\u80fd\u591f\u5728\u989d\u5ea6\u8303\u56f4\u5185\u521b\u5efa\u5e76\u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u3002
                "},{"location":"end-user/ghippo/workspace/res-gp-and-shared-res.html#_4","title":"\u8d44\u6e90\u7c7b\u578b\u7684\u533a\u522b","text":"
                • \u8d44\u6e90\u7ec4\uff1a\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4\u3001\u96c6\u7fa4-\u547d\u540d\u7a7a\u95f4\u3001\u591a\u4e91\u3001\u591a\u4e91-\u547d\u540d\u7a7a\u95f4\u3001\u7f51\u683c\u3001\u7f51\u683c-\u547d\u540d\u7a7a\u95f4
                • \u5171\u4eab\u8d44\u6e90\uff1a\u4ec5\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4
                "},{"location":"end-user/ghippo/workspace/res-gp-and-shared-res.html#_5","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u76f8\u540c\u70b9","text":"

                \u5728\u8d44\u6e90\u7ec4/\u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\u540e\u90fd\u53ef\u4ee5\u524d\u5f80\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u521b\u5efa\u540e\u547d\u540d\u7a7a\u95f4\u5c06\u81ea\u52a8\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\u3002

                "},{"location":"end-user/ghippo/workspace/workspace.html","title":"\u521b\u5efa/\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4","text":"

                \u5de5\u4f5c\u7a7a\u95f4\u662f\u4e00\u79cd\u8d44\u6e90\u8303\u7574\uff0c\u4ee3\u8868\u4e00\u79cd\u8d44\u6e90\u5c42\u7ea7\u5173\u7cfb\u3002 \u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5305\u542b\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u6ce8\u518c\u4e2d\u5fc3\u7b49\u8d44\u6e90\u3002 \u901a\u5e38\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5bf9\u5e94\u4e00\u4e2a\u9879\u76ee\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u4e0d\u540c\u7684\u8d44\u6e90\uff0c\u6307\u6d3e\u4e0d\u540c\u7684\u7528\u6237\u548c\u7528\u6237\u7ec4\u3002

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002

                1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

                2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4 \u6309\u94ae\u3002

                3. \u586b\u5199\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u3001\u6240\u5c5e\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u3002

                Tip

                \u521b\u5efa\u6210\u529f\u540e\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u3002

                Note

                \u9009\u4e2d\u67d0\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 ... \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

                • \u5f53\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002
                • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
                • \u5f53\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u955c\u50cf\u7a7a\u95f4\u6216\u96c6\u6210\u4ed3\u5e93\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u955c\u50cf\u7a7a\u95f4\u89e3\u7ed1\uff0c\u5c06\u4ed3\u5e93\u96c6\u6210\u5220\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
                "},{"location":"end-user/ghippo/workspace/ws-folder.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7","text":"

                \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u662f\u4e00\u4e2a\u5177\u6709\u5c42\u7ea7\u7684\u8d44\u6e90\u9694\u79bb\u548c\u8d44\u6e90\u5206\u7ec4\u7279\u6027\uff0c\u4e3b\u8981\u89e3\u51b3\u8d44\u6e90\u7edf\u4e00\u6388\u6743\u3001\u8d44\u6e90\u5206\u7ec4\u4ee5\u53ca\u8d44\u6e90\u9650\u989d\u95ee\u9898\u3002

                \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u6709\u4e24\u4e2a\u6982\u5ff5\uff1a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

                "},{"location":"end-user/ghippo/workspace/ws-folder.html#_2","title":"\u5de5\u4f5c\u7a7a\u95f4","text":"

                \u5de5\u4f5c\u7a7a\u95f4\u53ef\u901a\u8fc7 \u6388\u6743 \u3001 \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u6765\u7ba1\u7406\u8d44\u6e90\uff0c\u4f7f\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u4e4b\u95f4\u80fd\u591f\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u3002

                • \u8d44\u6e90

                  \u8d44\u6e90\u5904\u4e8e\u8d44\u6e90\u7ba1\u7406\u6a21\u5757\u5c42\u7ea7\u7ed3\u6784\u7684\u6700\u4f4e\u5c42\u7ea7\uff0c\u8d44\u6e90\u5305\u62ec Cluster\u3001Namespace\u3001Pipeline\u3001\u7f51\u5173\u7b49\u3002 \u6240\u6709\u8fd9\u4e9b\u8d44\u6e90\u7684\u7236\u7ea7\u53ea\u80fd\u662f\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4f5c\u4e3a\u8d44\u6e90\u5bb9\u5668\u662f\u4e00\u79cd\u8d44\u6e90\u5206\u7ec4\u5355\u4f4d\u3002

                • \u5de5\u4f5c\u7a7a\u95f4

                  \u5de5\u4f5c\u7a7a\u95f4\u901a\u5e38\u4ee3\u6307\u4e00\u4e2a\u9879\u76ee\u6216\u73af\u5883\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u76f8\u5bf9\u4e8e\u5176\u4ed6\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u65f6\u903b\u8f91\u9694\u79bb\u7684\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u6388\u6743\uff0c\u6388\u4e88\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u540c\u4e00\u7ec4\u8d44\u6e90\u7684\u4e0d\u540c\u8bbf\u95ee\u6743\u9650\u3002

                  \u4ece\u5c42\u6b21\u7ed3\u6784\u7684\u5e95\u5c42\u7b97\u8d77\uff0c\u5de5\u4f5c\u7a7a\u95f4\u4f4d\u4e8e\u7b2c\u4e00\u5c42\uff0c\u4e14\u5305\u542b\u8d44\u6e90\u3002 \u9664\u5171\u4eab\u8d44\u6e90\u5916\uff0c\u6240\u6709\u8d44\u6e90\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u9879\u3002\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\u3002

                  \u8d44\u6e90\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5b58\u5728\u4e24\u79cd\u5206\u7ec4\u6a21\u5f0f\uff0c\u5206\u522b\u662f \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u3002

                • \u8d44\u6e90\u7ec4

                  \u4e00\u4e2a\u8d44\u6e90\u53ea\u80fd\u52a0\u5165\u4e00\u4e2a\u8d44\u6e90\u7ec4\uff0c\u8d44\u6e90\u7ec4\u4e0e\u5de5\u4f5c\u7a7a\u95f4\u4e00\u4e00\u5bf9\u5e94\u3002 \u8d44\u6e90\u88ab\u52a0\u5165\u5230\u8d44\u6e90\u7ec4\u540e\uff0cWorkspace Admin \u5c06\u83b7\u5f97\u8d44\u6e90\u7684\u7ba1\u7406\u6743\u9650\uff0c\u76f8\u5f53\u4e8e\u8be5\u8d44\u6e90\u7684\u6240\u6709\u8005\u3002

                • \u5171\u4eab\u8d44\u6e90

                  \u800c\u5bf9\u4e8e\u5171\u4eab\u8d44\u6e90\u6765\u8bf4\uff0c\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u8d44\u6e90\u3002 \u8d44\u6e90\u7684\u6240\u6709\u8005\uff0c\u53ef\u4ee5\u9009\u62e9\u5c06\u81ea\u5df1\u62e5\u6709\u7684\u8d44\u6e90\u5171\u4eab\u7ed9\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u4e00\u822c\u5171\u4eab\u65f6\u8d44\u6e90\u6240\u6709\u8005\u4f1a\u9650\u5236\u88ab\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u989d\u5ea6\u3002 \u8d44\u6e90\u88ab\u5171\u4eab\u540e\uff0cWorkspace Admin \u4ec5\u5177\u6709\u8d44\u6e90\u9650\u989d\u4e0b\u7684\u8d44\u6e90\u4f7f\u7528\u6743\u9650\uff0c\u65e0\u6cd5\u7ba1\u7406\u8d44\u6e90\u6216\u8005\u8c03\u6574\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u91cf\u3002

                  \u540c\u65f6\u5171\u4eab\u8d44\u6e90\u5bf9\u4e8e\u8d44\u6e90\u672c\u8eab\u4e5f\u5177\u6709\u4e00\u5b9a\u7684\u8981\u6c42\uff0c\u53ea\u6709 Cluster\uff08\u96c6\u7fa4\uff09\u8d44\u6e90\u53ef\u4ee5\u88ab\u5171\u4eab\u3002 Cluster Admin \u80fd\u591f\u5c06 Cluster \u8d44\u6e90\u5206\u4eab\u7ed9\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u5e76\u4e14\u9650\u5236\u5de5\u4f5c\u7a7a\u95f4\u5728\u6b64 Cluster \u4e0a\u7684\u4f7f\u7528\u989d\u5ea6\u3002

                  Workspace Admin \u5728\u8d44\u6e90\u9650\u989d\u5185\u80fd\u591f\u521b\u5efa\u591a\u4e2a Namespace\uff0c\u4f46\u662f Namespace \u7684\u8d44\u6e90\u989d\u5ea6\u603b\u548c\u4e0d\u80fd\u8d85\u8fc7 Cluster \u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u9650\u989d\u3002 \u5bf9\u4e8e Kubernetes \u8d44\u6e90\uff0c\u5f53\u524d\u80fd\u591f\u5206\u4eab\u7684\u8d44\u6e90\u7c7b\u578b\u4ec5\u6709 Cluster\u3002

                "},{"location":"end-user/ghippo/workspace/ws-folder.html#_3","title":"\u6587\u4ef6\u5939","text":"

                \u6587\u4ef6\u5939\u53ef\u7528\u4e8e\u6784\u5efa\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\u3002

                • \u6587\u4ef6\u5939\u662f\u5728\u5de5\u4f5c\u7a7a\u95f4\u57fa\u7840\u4e4b\u4e0a\u7684\u8fdb\u4e00\u6b65\u5206\u7ec4\u673a\u5236\uff0c\u5177\u6709\u5c42\u7ea7\u7ed3\u6784\u3002 \u4e00\u4e2a\u6587\u4ef6\u5939\u53ef\u4ee5\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u3001\u5176\u4ed6\u6587\u4ef6\u5939\u6216\u4e24\u8005\u7684\u7ec4\u5408\uff0c\u80fd\u591f\u5f62\u6210\u6811\u72b6\u7684\u7ec4\u7ec7\u5173\u7cfb\u3002

                • \u501f\u52a9\u6587\u4ef6\u5939\u60a8\u53ef\u4ee5\u6620\u5c04\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\uff0c\u6309\u7167\u90e8\u95e8\u5bf9\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\u3002 \u6587\u4ef6\u5939\u4e0d\u76f4\u63a5\u4e0e\u8d44\u6e90\u6302\u94a9\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u95f4\u63a5\u5b9e\u73b0\u8d44\u6e90\u5206\u7ec4\u3002

                • \u6587\u4ef6\u5939\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\uff0c\u800c\u6839\u6587\u4ef6\u5939\u662f\u5c42\u6b21\u7ed3\u6784\u7684\u6700\u9ad8\u5c42\u7ea7\u3002 \u6839\u6587\u4ef6\u5939\u6ca1\u6709\u7236\u7ea7\uff0c\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u5747\u6302\u9760\u5230\u6839\u6587\u4ef6\u5939\u4e0b\u3002

                \u53e6\u5916\uff0c\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u5728\u6587\u4ef6\u5939\u4e2d\u80fd\u591f\u901a\u8fc7\u5c42\u7ea7\u7ed3\u6784\u7ee7\u627f\u6765\u81ea\u7236\u9879\u7684\u6743\u9650\u3002 \u7528\u6237\u5728\u5c42\u6b21\u7ed3\u6784\u4e2d\u7684\u6743\u9650\u6765\u81ea\u5f53\u524d\u5c42\u7ea7\u7684\u6743\u9650\u4ee5\u53ca\u7ee7\u627f\u5176\u7236\u9879\u6743\u9650\u7684\u7ec4\u5408\u7ed3\u679c\uff0c\u6743\u9650\u4e4b\u95f4\u662f\u52a0\u5408\u5173\u7cfb\u4e0d\u5b58\u5728\u4e92\u65a5\u3002

                "},{"location":"end-user/ghippo/workspace/ws-permission.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u6743\u9650\u8bf4\u660e","text":"

                \u5de5\u4f5c\u7a7a\u95f4\u5177\u6709\u6743\u9650\u6620\u5c04\u548c\u8d44\u6e90\u9694\u79bb\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u8d44\u6e90\u4e0a\u3002 \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u662f Workspace Admin \u89d2\u8272\uff0c\u540c\u65f6\u5de5\u4f5c\u7a7a\u95f4-\u8d44\u6e90\u7ec4\u4e2d\u7ed1\u5b9a\u4e86\u8d44\u6e90 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u5c06\u6210\u4e3a Namespace Admin\u3002

                Note

                \u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

                "},{"location":"end-user/ghippo/workspace/ws-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

                \u901a\u8fc7\u5c06\u8d44\u6e90\u7ed1\u5b9a\u5230\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u5b9e\u73b0\u8d44\u6e90\u9694\u79bb\u3002 \u56e0\u6b64\u501f\u52a9\u6743\u9650\u6620\u5c04\u3001\u8d44\u6e90\u9694\u79bb\u548c\u5171\u4eab\u8d44\u6e90\u80fd\u529b\u80fd\u591f\u5c06\u8d44\u6e90\u7075\u6d3b\u5206\u914d\u7ed9\u5404\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff08\u79df\u6237\uff09\u3002

                \u901a\u5e38\u9002\u7528\u4e8e\u4ee5\u4e0b\u4e24\u4e2a\u573a\u666f\uff1a

                • \u96c6\u7fa4\u4e00\u5bf9\u4e00

                  \u666e\u901a\u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u7528\u9014 \u96c6\u7fa4 01 A \u7ba1\u7406\u548c\u4f7f\u7528 \u96c6\u7fa4 02 B \u7ba1\u7406\u548c\u4f7f\u7528
                • \u96c6\u7fa4\u4e00\u5bf9\u591a

                  \u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u8d44\u6e90\u9650\u989d \u96c6\u7fa4 01 A 100 \u6838 CPU B 50 \u6838 CPU
                "},{"location":"end-user/ghippo/workspace/ws-permission.html#_3","title":"\u6743\u9650\u8bf4\u660e","text":"\u64cd\u4f5c\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 - \u6388\u6743 \u2713 \u2717 \u2717 - \u4fee\u6539\u522b\u540d \u2713 \u2713 \u2717 \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 - \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 - \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 - \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 - \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 - \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717 - \u4f7f\u7528\u5171\u4eab\u8d44\u6e90 1 \u2713 \u2717 \u2717
                1. \u6388\u6743\u7528\u6237\u53ef\u524d\u5f80\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u3001\u591a\u4e91\u7f16\u6392\u3001\u670d\u52a1\u7f51\u683c\u7b49\u6a21\u5757\u4f7f\u7528\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u3002 \u6709\u5173 Workspace Admin\u3001Workspace Editor\u3001Workspace Viewer \u89d2\u8272\u5728\u5404\u4ea7\u54c1\u6a21\u5757\u7684\u64cd\u4f5c\u8303\u56f4\uff0c\u8bf7\u67e5\u9605\u5404\u6a21\u5757\u7684\u6743\u9650\u8bf4\u660e\uff1a

                  • \u5e94\u7528\u5de5\u4f5c\u53f0\u6743\u9650\u8bf4\u660e
                  • \u670d\u52a1\u7f51\u683c\u6743\u9650\u8bf4\u660e
                  • \u4e2d\u95f4\u4ef6\u6743\u9650\u8bf4\u660e
                  • \u5fae\u670d\u52a1\u5f15\u64ce\u6743\u9650\u8bf4\u660e
                  • \u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e

                  \u21a9

                "},{"location":"end-user/ghippo/workspace/wsbind-permission.html","title":"\u8d44\u6e90\u7ed1\u5b9a\u6743\u9650\u8bf4\u660e","text":"

                \u5047\u5982\u7528\u6237\u5c0f\u660e\uff08\u201c\u5c0f\u660e\u201d\u4ee3\u8868\u4efb\u4f55\u6709\u8d44\u6e90\u7ed1\u5b9a\u9700\u6c42\u7684\u7528\u6237\uff09\u5df2\u7ecf\u5177\u5907\u4e86 Workspace Admin \u89d2\u8272\u6216\u5df2\u901a\u8fc7\u81ea\u5b9a\u4e49\u89d2\u8272\u6388\u6743\uff0c \u540c\u65f6\u81ea\u5b9a\u4e49\u89d2\u8272\u4e2d\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u5e0c\u671b\u5c06\u67d0\u4e2a\u96c6\u7fa4\u6216\u8005\u67d0\u4e2a\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5176\u6240\u5728\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

                \u8981\u5c06\u96c6\u7fa4/\u547d\u540d\u7a7a\u95f4\u8d44\u6e90\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\uff0c\u4e0d\u4ec5\u9700\u8981\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u8fd8\u9700\u8981 Cluster Admin \u7684\u8d44\u6e90\u6743\u9650\u3002

                "},{"location":"end-user/ghippo/workspace/wsbind-permission.html#_2","title":"\u7ed9\u5c0f\u660e\u6388\u6743","text":"
                1. \u4f7f\u7528\u5e73\u53f0 Admin \u89d2\u8272\uff0c \u5728 \u5de5\u4f5c\u7a7a\u95f4 -> \u6388\u6743 \u9875\u9762\u7ed9\u5c0f\u660e\u6388\u4e88 Workspace Admin \u89d2\u8272\u3002

                2. \u7136\u540e\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u6743\u9650\u7ba1\u7406 \u9875\u9762\uff0c\u901a\u8fc7 \u6dfb\u52a0\u6388\u6743 \u5c06\u5c0f\u660e\u6388\u6743\u4e3a Cluster Admin\u3002

                "},{"location":"end-user/ghippo/workspace/wsbind-permission.html#_3","title":"\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

                \u4f7f\u7528\u5c0f\u660e\u7684\u8d26\u53f7\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u901a\u8fc7 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u529f\u80fd\uff0c \u5c0f\u660e\u53ef\u4ee5\u5c06\u6307\u5b9a\u96c6\u7fa4\u7ed1\u5b9a\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

                Note

                \u5c0f\u660e\u80fd\u4e14\u53ea\u80fd\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5c06\u96c6\u7fa4\u6216\u8005\u8be5\u96c6\u7fa4\u4e0b\u7684\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u65e0\u6cd5\u5728\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u5b8c\u6210\u6b64\u64cd\u4f5c\u3002

                \u7ed1\u5b9a\u547d\u540d\u7a7a\u95f4\u5230\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u81f3\u5c11\u9700\u8981 Workspace Admin + Cluster Admin \u6743\u9650\u3002

                "},{"location":"end-user/host/createhost.html","title":"\u521b\u5efa\u548c\u542f\u52a8\u4e91\u4e3b\u673a","text":"

                \u7528\u6237\u5b8c\u6210\u6ce8\u518c\uff0c\u4e3a\u5176\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4\u548c\u8d44\u6e90\u540e\uff0c\u5373\u53ef\u4ee5\u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a\u3002

                "},{"location":"end-user/host/createhost.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                • \u7ba1\u7406\u5458\u4e3a\u7528\u6237\u7ed1\u5b9a\u4e86\u5de5\u4f5c\u7a7a\u95f4
                • \u7ba1\u7406\u5458\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u4e86\u8d44\u6e90
                "},{"location":"end-user/host/createhost.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                2. \u70b9\u51fb \u521b\u5efa\u865a\u62df\u673a -> \u901a\u8fc7\u6a21\u677f\u521b\u5efa

                3. \u5b9a\u4e49\u7684\u4e91\u4e3b\u673a\u5404\u9879\u914d\u7f6e\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

                  \u57fa\u672c\u914d\u7f6e\u6a21\u677f\u914d\u7f6e\u5b58\u50a8\u4e0e\u7f51\u7edc

                4. \u914d\u7f6e root \u5bc6\u7801\u6216 ssh \u5bc6\u94a5\u540e\u70b9\u51fb \u786e\u5b9a

                5. \u8fd4\u56de\u4e3b\u673a\u5217\u8868\uff0c\u7b49\u5f85\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u4e4b\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u542f\u52a8\u4e3b\u673a\u3002

                \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u4e91\u4e3b\u673a

                "},{"location":"end-user/host/usehost.html","title":"\u4f7f\u7528\u4e91\u4e3b\u673a","text":"

                \u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a\u4e4b\u540e\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u4e91\u4e3b\u673a\u3002

                "},{"location":"end-user/host/usehost.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                • \u7528\u6237\u5df2\u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a
                "},{"location":"end-user/host/usehost.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                2. \u5bfc\u822a\u5230 \u5bb9\u5668\u7ba1\u7406 -> \u5bb9\u5668\u7f51\u7edc -> \u670d\u52a1 \uff0c\u70b9\u51fb\u670d\u52a1\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u670d\u52a1\u8be6\u60c5\u9875\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u66f4\u65b0

                3. \u66f4\u6539\u7aef\u53e3\u8303\u56f4\u4e3a 30900-30999\uff0c\u4f46\u4e0d\u80fd\u51b2\u7a81\u3002

                4. \u4ee5\u7ec8\u7aef\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5bfc\u822a\u5230\u5bf9\u5e94\u7684\u670d\u52a1\uff0c\u67e5\u770b\u8bbf\u95ee\u7aef\u53e3\u3002

                5. \u5728\u5916\u7f51\u4f7f\u7528 SSH \u5ba2\u6237\u7aef\u767b\u5f55\u4e91\u4e3b\u673a

                6. \u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u5728\u4e91\u4e3b\u673a\u4e0a\u6267\u884c\u5404\u9879\u64cd\u4f5c\u3002

                \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528 Notebook

                "},{"location":"end-user/insight/alert-center/index.html","title":"\u544a\u8b66\u4e2d\u5fc3","text":"

                \u544a\u8b66\u4e2d\u5fc3\u662f AI \u7b97\u529b\u5e73\u53f0 \u63d0\u4f9b\u7684\u4e00\u4e2a\u91cd\u8981\u529f\u80fd\uff0c\u5b83\u8ba9\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u65b9\u4fbf\u5730\u6309\u7167\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u67e5\u770b\u6240\u6709\u6d3b\u52a8\u548c\u5386\u53f2\u544a\u8b66\uff0c \u5e76\u6839\u636e\u544a\u8b66\u7ea7\u522b\uff08\u7d27\u6025\u3001\u8b66\u544a\u3001\u63d0\u793a\uff09\u6765\u641c\u7d22\u544a\u8b66\u3002

                \u6240\u6709\u544a\u8b66\u90fd\u662f\u57fa\u4e8e\u9884\u8bbe\u7684\u544a\u8b66\u89c4\u5219\u8bbe\u5b9a\u7684\u9608\u503c\u6761\u4ef6\u89e6\u53d1\u7684\u3002\u5728 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c\u5185\u7f6e\u4e86\u4e00\u4e9b\u5168\u5c40\u544a\u8b66\u7b56\u7565\uff0c\u540c\u65f6\u60a8\u4e5f\u53ef\u4ee5\u968f\u65f6\u521b\u5efa\u3001\u5220\u9664\u544a\u8b66\u7b56\u7565\uff0c\u5bf9\u4ee5\u4e0b\u6307\u6807\u8fdb\u884c\u8bbe\u7f6e\uff1a

                • CPU \u4f7f\u7528\u91cf
                • \u5185\u5b58\u4f7f\u7528\u91cf
                • \u78c1\u76d8\u4f7f\u7528\u91cf
                • \u78c1\u76d8\u6bcf\u79d2\u8bfb\u6b21\u6570
                • \u78c1\u76d8\u6bcf\u79d2\u5199\u6b21\u6570
                • \u96c6\u7fa4\u78c1\u76d8\u8bfb\u53d6\u541e\u5410\u91cf
                • \u96c6\u7fa4\u78c1\u76d8\u5199\u5165\u541e\u5410\u91cf
                • \u7f51\u7edc\u53d1\u9001\u901f\u7387
                • \u7f51\u7edc\u63a5\u6536\u901f\u7387

                \u8fd8\u53ef\u4ee5\u4e3a\u544a\u8b66\u89c4\u5219\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002\u544a\u8b66\u89c4\u5219\u5206\u4e3a\u6d3b\u8dc3\u548c\u8fc7\u671f\u89c4\u5219\uff0c\u652f\u6301\u542f\u7528/\u7981\u7528\u67d0\u4e9b\u89c4\u5219\u6765\u5b9e\u73b0\u544a\u8b66\u9759\u9ed8\u3002

                \u5f53\u8fbe\u5230\u9608\u503c\u6761\u4ef6\u540e\uff0c\u53ef\u4ee5\u914d\u7f6e\u544a\u8b66\u901a\u77e5\u65b9\u5f0f\uff0c\u5305\u62ec\u90ae\u4ef6\u3001\u9489\u9489\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001Webhook \u548c\u77ed\u4fe1\u901a\u77e5\u3002 \u6240\u6709\u901a\u77e5\u7684\u6d88\u606f\u6a21\u677f\u90fd\u53ef\u4ee5\u81ea\u5b9a\u4e49\uff0c\u540c\u65f6\u8fd8\u652f\u6301\u6309\u8bbe\u5b9a\u7684\u95f4\u9694\u65f6\u95f4\u53d1\u9001\u901a\u77e5\u3002

                \u6b64\u5916\uff0c\u544a\u8b66\u4e2d\u5fc3\u8fd8\u652f\u6301\u901a\u8fc7\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u7b49\u63d0\u4f9b\u7684\u77ed\u4fe1\u670d\u52a1\u5c06\u544a\u8b66\u6d88\u606f\u53d1\u9001\u7ed9\u6307\u5b9a\u7528\u6237\uff0c\u5b9e\u73b0\u591a\u79cd\u65b9\u5f0f\u7684\u544a\u8b66\u901a\u77e5\u3002

                AI \u7b97\u529b\u5e73\u53f0 \u544a\u8b66\u4e2d\u5fc3\u662f\u4e00\u4e2a\u529f\u80fd\u5f3a\u5927\u7684\u544a\u8b66\u7ba1\u7406\u5e73\u53f0\uff0c\u53ef\u5e2e\u52a9\u7528\u6237\u53ca\u65f6\u53d1\u73b0\u548c\u89e3\u51b3\u96c6\u7fa4\u4e2d\u51fa\u73b0\u7684\u95ee\u9898\uff0c \u63d0\u9ad8\u4e1a\u52a1\u7a33\u5b9a\u6027\u548c\u53ef\u7528\u6027\uff0c\u4fbf\u4e8e\u96c6\u7fa4\u5de1\u68c0\u548c\u6545\u969c\u6392\u67e5\u3002

                "},{"location":"end-user/insight/alert-center/alert-policy.html","title":"\u544a\u8b66\u7b56\u7565","text":"

                \u544a\u8b66\u7b56\u7565\u662f\u5728\u53ef\u89c2\u6d4b\u6027\u7cfb\u7edf\u4e2d\u5b9a\u4e49\u7684\u4e00\u7ec4\u89c4\u5219\u548c\u6761\u4ef6\uff0c\u7528\u4e8e\u68c0\u6d4b\u548c\u89e6\u53d1\u8b66\u62a5\uff0c\u4ee5\u4fbf\u5728\u7cfb\u7edf\u51fa\u73b0\u5f02\u5e38\u6216\u8fbe\u5230\u9884\u5b9a\u7684\u9608\u503c\u65f6\u53ca\u65f6\u901a\u77e5\u76f8\u5173\u4eba\u5458\u6216\u7cfb\u7edf\u3002

                \u6bcf\u6761\u544a\u8b66\u7b56\u7565\u662f\u4e00\u7ec4\u544a\u8b66\u89c4\u5219\u7684\u96c6\u5408\uff0c\u652f\u6301\u5bf9\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7b49\u8d44\u6e90\u3001\u65e5\u5fd7\u3001\u4e8b\u4ef6\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219\u3002\u5f53\u544a\u8b66\u5bf9\u8c61\u8fbe\u5230\u7b56\u7565\u4e0b\u4efb\u4e00\u89c4\u5219\u8bbe\u5b9a\u7684\u9608\u503c\uff0c\u5219\u4f1a\u81ea\u52a8\u89e6\u53d1\u544a\u8b66\u5e76\u53d1\u9001\u901a\u77e5\u3002

                "},{"location":"end-user/insight/alert-center/alert-policy.html#_2","title":"\u67e5\u770b\u544a\u8b66\u7b56\u7565","text":"
                1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027\u3002
                2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u544a\u8b66\u7b56\u7565\u3002

                  • \u96c6\u7fa4\uff1a\u5355\u51fb\u96c6\u7fa4\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\uff1b
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u5355\u51fb\u547d\u540d\u7a7a\u95f4\u5207\u6362\u4e0b\u62c9\u6846\u3002

                3. \u70b9\u51fb\u544a\u8b66\u7b56\u7565\u540d\u79f0\u53ef\u67e5\u770b\u7b56\u7565\u7684\u57fa\u672c\u4fe1\u606f\u3001\u89c4\u5219\u4ee5\u53ca\u901a\u77e5\u914d\u7f6e\u3002

                  1. \u5728\u89c4\u5219\u5217\u8868\u4e2d\u53ef\u67e5\u770b\u89c4\u5219\u7c7b\u578b\u3001\u89c4\u5219\u7684\u8868\u8fbe\u5f0f\u3001\u7ea7\u522b\u3001\u72b6\u6001\u7b49\u4fe1\u606f\u3002
                  2. \u8fdb\u5165\u7b56\u7565\u8be6\u60c5\uff0c\u53ef\u4ee5\u6dfb\u52a0\u3001\u7f16\u8f91\u3001\u5220\u9664\u5176\u4e0b\u7684\u544a\u8b66\u89c4\u5219\u3002

                "},{"location":"end-user/insight/alert-center/alert-policy.html#_3","title":"\u521b\u5efa\u544a\u8b66\u7b56\u7565","text":"
                1. \u586b\u5199\u57fa\u672c\u4fe1\u606f\uff0c\u9009\u62e9\u4e00\u4e2a\u6216\u591a\u4e2a\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\u4e3a\u544a\u8b66\u5bf9\u8c61\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002

                  Note

                  • \u9009\u62e9\u5168\u90e8\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\uff1a\u521b\u5efa\u7684\u544a\u8b66\u89c4\u5219\u5bf9\u6240\u6709\u5df2\u5b89\u88c5 insight-agent \u7684\u96c6\u7fa4\u751f\u6548\u3002
                  • \u9009\u62e9\u5355\u4e2a\u6216\u591a\u4e2a\u96c6\u7fa4\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\uff1a\u521b\u5efa\u7684\u544a\u8b66\u89c4\u5219\u4ec5\u5bf9\u6240\u9009\u7684\u8d44\u6e90\u5bf9\u8c61\u751f\u6548\u3002
                  • \u540c\u65f6\uff0c\u7528\u6237\u53ea\u80fd\u5bf9\u5df2\u6743\u9650\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219\u3002
                "},{"location":"end-user/insight/alert-center/alert-policy.html#_4","title":"\u624b\u52a8\u6dfb\u52a0\u89c4\u5219","text":"
                1. \u5728\u521b\u5efa\u544a\u8b66\u7b56\u7565\u7684\u7b2c\u4e8c\u90e8\u4e2d\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4e0a\u89d2\u7684\u6dfb\u52a0\u89c4\u5219\u3002

                2. \u5728\u5f39\u7a97\u4e2d\u521b\u5efa\u544a\u8b66\u89c4\u5219\uff0c\u586b\u5199\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a\u3002

                  • \u6a21\u677f\u89c4\u5219\uff1a\u9884\u5b9a\u4e49\u4e86\u57fa\u7840\u6307\u6807\uff0c\u53ef\u4ee5\u6309 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edc\u8bbe\u5b9a\u8981\u76d1\u63a7\u7684\u6307\u6807\u3002
                  • PromQL \u89c4\u5219\uff1a\u8f93\u5165\u4e00\u4e2a PromQL \u8868\u8fbe\u5f0f\uff0c\u5177\u4f53\u8bf7\u67e5\u8be2 Prometheus \u8868\u8fbe\u5f0f\u3002
                  • \u6301\u7eed\u65f6\u957f\uff1a\u544a\u8b66\u88ab\u89e6\u53d1\u4e14\u6301\u7eed\u65f6\u95f4\u8fbe\u5230\u8be5\u8bbe\u5b9a\u503c\u540e\uff0c\u544a\u8b66\u7b56\u7565\u5c06\u53d8\u4e3a\u89e6\u53d1\u4e2d\u72b6\u6001\u3002
                  • \u544a\u8b66\u7ea7\u522b\uff1a\u5305\u542b\u7d27\u6025\u3001\u8b66\u544a\u3001\u4fe1\u606f\u4e09\u79cd\u7ea7\u522b\u3002
                  • \u9ad8\u7ea7\u8bbe\u7f6e\uff1a\u53ef\u4ee5\u81ea\u5b9a\u4e49\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                  Info

                  \u7cfb\u7edf\u5b9a\u4e49\u4e86\u5185\u7f6e\u6807\u7b7e\uff0c\u82e5\u81ea\u5b9a\u4e49\u6807\u7b7e\u4e0e\u5185\u7f6e\u6807\u7b7e\u7684\u952e\u503c\u76f8\u540c\uff0c\u5219\u81ea\u5b9a\u4e49\u6807\u7b7e\u4e0d\u751f\u6548\u3002 \u5185\u7f6e\u6807\u7b7e\u6709\uff1aseverity\u3001rule_id\uff0csource\u3001cluster_name\u3001group_id\u3001 target_type \u548c target\u3002

                "},{"location":"end-user/insight/alert-center/alert-policy.html#_5","title":"\u521b\u5efa\u65e5\u5fd7\u89c4\u5219","text":"

                \u5b8c\u6210\u57fa\u672c\u4fe1\u606f\u7684\u586b\u5199\u540e\uff0c\u70b9\u51fb \u6dfb\u52a0\u89c4\u5219\uff0c\u89c4\u5219\u7c7b\u578b\u9009\u62e9 \u65e5\u5fd7\u89c4\u5219\u3002

                Note

                \u4ec5\u5f53\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u652f\u6301\u521b\u5efa\u65e5\u5fd7\u89c4\u5219\u3002

                \u5b57\u6bb5\u8bf4\u660e\uff1a

                • \u8fc7\u6ee4\u6761\u4ef6\uff1a\u67e5\u8be2\u65e5\u5fd7\u5185\u5bb9\u7684\u5b57\u6bb5\uff0c\u652f\u6301\u4e0e\u3001\u6216\u3001\u6b63\u5219\u5339\u914d\u3001\u6a21\u7cca\u5339\u914d\u56db\u79cd\u8fc7\u6ee4\u6761\u4ef6\u3002
                • \u5224\u65ad\u6761\u4ef6\uff1a\u6839\u636e \u8fc7\u6ee4\u6761\u4ef6\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u5339\u914d\u6761\u4ef6\u3002
                • \u65f6\u95f4\u8303\u56f4\uff1a\u65e5\u5fd7\u67e5\u8be2\u7684\u65f6\u95f4\u8303\u56f4\u3002
                • \u9608\u503c\u6761\u4ef6\uff1a\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u544a\u8b66\u9608\u503c\u3002\u5f53\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u65f6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u3002\u652f\u6301\u7684\u6bd4\u8f83\u8fd0\u7b97\u7b26\u6709\uff1a >\u3001\u2265\u3001=\u3001\u2264\u3001<\u3002
                • \u544a\u8b66\u7ea7\u522b\uff1a\u9009\u62e9\u544a\u8b66\u7ea7\u522b\uff0c\u7528\u4e8e\u8868\u793a\u544a\u8b66\u7684\u4e25\u91cd\u7a0b\u5ea6\u3002
                "},{"location":"end-user/insight/alert-center/alert-policy.html#_6","title":"\u521b\u5efa\u4e8b\u4ef6\u89c4\u5219","text":"

                \u5b8c\u6210\u57fa\u672c\u4fe1\u606f\u7684\u586b\u5199\u540e\uff0c\u70b9\u51fb \u6dfb\u52a0\u89c4\u5219\uff0c\u89c4\u5219\u7c7b\u578b\u9009\u62e9 \u4e8b\u4ef6\u89c4\u5219\u3002

                Note

                \u4ec5\u5f53\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u652f\u6301\u521b\u5efa\u4e8b\u4ef6\u89c4\u5219\u3002

                \u5b57\u6bb5\u8bf4\u660e\uff1a

                • \u4e8b\u4ef6\u89c4\u5219\uff1a\u4ec5\u652f\u6301\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u5de5\u4f5c\u8d1f\u8f7d
                • \u4e8b\u4ef6\u539f\u56e0\uff1a\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u7684\u4e8b\u4ef6\u539f\u56e0\u4e0d\u540c\uff0c\u4e8b\u4ef6\u539f\u56e0\u4e4b\u95f4\u662f\u201c\u548c\u201d\u7684\u5173\u7cfb\u3002
                • \u65f6\u95f4\u8303\u56f4\uff1a\u68c0\u6d4b\u8be5\u65f6\u95f4\u8303\u56f4\u5185\u4ea7\u751f\u6570\u636e\uff0c\u82e5\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u6761\u4ef6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u4e8b\u4ef6\u3002
                • \u9608\u503c\u6761\u4ef6\uff1a\u5f53\u4ea7\u751f\u7684\u4e8b\u4ef6\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u65f6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u4e8b\u4ef6\u3002
                • \u8d8b\u52bf\u56fe\uff1a\u9ed8\u8ba4\u67e5\u8be2 10 \u5206\u949f\u5185\u7684\u4e8b\u4ef6\u53d8\u5316\u8d8b\u52bf\uff0c\u6bcf\u4e2a\u70b9\u7684\u6570\u503c\u7edf\u8ba1\u7684\u662f\u5f53\u524d\u65f6\u95f4\u70b9\u5230\u4e4b\u524d\u7684\u67d0\u6bb5\u65f6\u95f4\uff08\u65f6\u95f4\u8303\u56f4\uff09\u5185\u53d1\u751f\u7684\u603b\u6b21\u6570\u3002
                "},{"location":"end-user/insight/alert-center/alert-policy.html#_7","title":"\u5bfc\u5165\u89c4\u5219\u6a21\u677f","text":"
                1. \u53ef\u70b9\u51fb \u6a21\u677f\u5bfc\u5165\uff0c\u9009\u62e9\u5e73\u53f0\u7ba1\u7406\u5458\u5df2\u521b\u5efa\u597d\u7684\u544a\u8b66\u6a21\u677f\u6279\u91cf\u5bfc\u5165\u544a\u8b66\u89c4\u5219\u3002

                2. \u70b9\u51fb \u4e0b\u4e00\u6b65 \u540e\u914d\u7f6e\u901a\u77e5\u3002

                3. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u8fd4\u56de\u544a\u8b66\u7b56\u7565\u5217\u8868\u3002

                Tip

                \u65b0\u5efa\u7684\u544a\u8b66\u7b56\u7565\u4e3a \u672a\u89e6\u53d1 \u72b6\u6001\u3002\u4e00\u65e6\u6ee1\u8db3\u89c4\u5219\u4e2d\u7684\u9608\u503c\u6761\u4ef6\u548c\u6301\u7eed\u65f6\u95f4\u540e\uff0c\u5c06\u53d8\u4e3a \u89e6\u53d1\u4e2d \u72b6\u6001\u3002

                Warning

                \u5220\u9664\u540e\u7684\u544a\u8b66\u7b56\u7565\u5c06\u5b8c\u5168\u6d88\u5931\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                "},{"location":"end-user/insight/alert-center/alert-policy.html#yaml","title":"\u901a\u8fc7 YAML \u5bfc\u5165\u544a\u8b66\u7b56\u7565","text":"
                1. \u8fdb\u5165\u544a\u8b66\u7b56\u7565\u5217\u8868\uff0c\u70b9\u51fb YAML \u521b\u5efa\u3002

                2. \u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u7684\u9009\u62e9\u662f\u4e3a\u4e86\u544a\u8b66\u7b56\u7565\u7684\u7ba1\u7406\u6743\u9650\u3002

                3. YAML \u7f16\u8f91\u5668\u4e2d\u8bf7\u586b\u5199 spec \u53ca\u5176\u4e2d\u7684\u5185\u5bb9\uff0c\u4ec5\u652f\u6301\u5bfc\u5165\u4e00\u4e2a group\u3002
                4. \u544a\u8b66\u89c4\u5219\u540d\u79f0 \u9700\u8981\u7b26\u5408\u89c4\u8303\uff1a\u540d\u79f0\u53ea\u80fd\u5305\u542b\u5927\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\uff08_\uff09\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002
                5. \u5fc5\u586b severity \u4e14\u7b26\u5408\u89c4\u8303\uff1acritical\u3001warning\u3001info\u3002
                6. \u5fc5\u586b\u8868\u8fbe\u5f0f expr\u3002

                7. \u5bfc\u5165 YAML \u6587\u4ef6\u540e\uff0c\u70b9\u51fb \u9884\u89c8\uff0c\u53ef\u4ee5\u5bf9\u5bfc\u5165\u7684 YAML \u683c\u5f0f\u8fdb\u884c\u9a8c\u8bc1\uff0c\u5e76\u5feb\u901f\u786e\u8ba4\u5bfc\u5165\u7684\u544a\u8b66\u89c4\u5219\u3002

                "},{"location":"end-user/insight/alert-center/alert-template.html","title":"\u544a\u8b66\u6a21\u677f","text":"

                \u544a\u8b66\u6a21\u677f\u53ef\u652f\u6301\u5e73\u53f0\u7ba1\u7406\u5458\u521b\u5efa\u544a\u8b66\u6a21\u677f\u53ca\u89c4\u5219\uff0c\u4e1a\u52a1\u4fa7\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u544a\u8b66\u6a21\u677f\u521b\u5efa\u544a\u8b66\u7b56\u7565\u3002 \u8fd9\u4e2a\u529f\u80fd\u53ef\u4ee5\u51cf\u5c11\u4e1a\u52a1\u4eba\u5458\u5bf9\u544a\u8b66\u89c4\u5219\u7684\u7ba1\u7406\uff0c\u4e14\u53ef\u4ee5\u6839\u636e\u73af\u5883\u5b9e\u9645\u60c5\u51b5\u81ea\u884c\u4fee\u6539\u544a\u8b66\u9608\u503c\u3002

                "},{"location":"end-user/insight/alert-center/alert-template.html#_2","title":"\u521b\u5efa\u544a\u8b66\u6a21\u677f","text":"
                1. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u7b56\u7565\uff0c\u5355\u51fb\u9876\u90e8\u7684 \u544a\u8b66\u6a21\u677f \u3002

                2. \u70b9\u51fb \u521b\u5efa\u544a\u8b66\u6a21\u677f \uff0c\u8bbe\u7f6e\u544a\u8b66\u6a21\u677f\u7684\u540d\u79f0\u3001\u63cf\u8ff0\u7b49\u4fe1\u606f\u3002

                  \u53c2\u6570 \u8bf4\u660e \u6a21\u677f\u540d\u79f0 \u540d\u79f0\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002 \u63cf\u8ff0 \u63cf\u8ff0\u53ef\u5305\u542b\u4efb\u610f\u5b57\u7b26\uff0c\u6700\u957f 256 \u4e2a\u5b57\u7b26\u3002 \u8d44\u6e90\u7c7b\u578b \u7528\u4e8e\u6307\u5b9a\u544a\u8b66\u6a21\u677f\u7684\u5339\u914d\u7c7b\u578b\u3002 \u544a\u8b66\u89c4\u5219 \u652f\u6301\u9884\u5b9a\u4e49\u591a\u4e2a\u544a\u8b66\u89c4\u5219\uff0c\u53ef\u6dfb\u52a0\u6a21\u677f\u89c4\u5219\u3001PromQL \u89c4\u5219\u3002
                3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u540e\u8fd4\u56de\u544a\u8b66\u6a21\u677f\u5217\u8868\uff0c\u70b9\u51fb\u6a21\u677f\u540d\u79f0\u540e\u53ef\u67e5\u770b\u6a21\u677f\u8be6\u60c5\u3002

                "},{"location":"end-user/insight/alert-center/alert-template.html#_3","title":"\u7f16\u8f91\u544a\u8b66\u6a21\u677f","text":"

                \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u7684 \u2507 \uff0c\u70b9\u51fb \u7f16\u8f91\uff0c\u8fdb\u5165\u6291\u5236\u89c4\u5219\u7684\u7f16\u8f91\u9875\u3002

                "},{"location":"end-user/insight/alert-center/alert-template.html#_4","title":"\u5220\u9664\u544a\u8b66\u6a21\u677f","text":"

                \u70b9\u51fb\u76ee\u6807\u6a21\u677f\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u5220\u9664\uff0c\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u544a\u8b66\u6a21\u677f\u7684\u540d\u79f0\u5373\u53ef\u5220\u9664\u3002

                "},{"location":"end-user/insight/alert-center/inhibition.html","title":"\u544a\u8b66\u6291\u5236","text":"

                \u544a\u8b66\u6291\u5236\u4e3b\u8981\u662f\u5bf9\u4e8e\u67d0\u4e9b\u4e0d\u9700\u8981\u7acb\u5373\u5173\u6ce8\u7684\u544a\u8b66\u8fdb\u884c\u4e34\u65f6\u9690\u85cf\u6216\u8005\u964d\u4f4e\u5176\u4f18\u5148\u7ea7\u7684\u4e00\u79cd\u673a\u5236\u3002\u8fd9\u4e2a\u529f\u80fd\u7684\u76ee\u7684\u662f\u4e3a\u4e86\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u544a\u8b66\u4fe1\u606f\u5bf9\u8fd0\u7ef4\u4eba\u5458\u7684\u5e72\u6270\uff0c\u4f7f\u4ed6\u4eec\u80fd\u591f\u96c6\u4e2d\u7cbe\u529b\u5904\u7406\u66f4\u91cd\u8981\u7684\u95ee\u9898\u3002

                \u544a\u8b66\u6291\u5236\u901a\u8fc7\u5b9a\u4e49\u4e00\u7ec4\u89c4\u5219\u6765\u8bc6\u522b\u548c\u5ffd\u7565\u67d0\u4e9b\u544a\u8b66\uff0c\u5f53\u5b83\u4eec\u5728\u7279\u5b9a\u6761\u4ef6\u4e0b\u53d1\u751f\u65f6\u3002\u4e3b\u8981\u6709\u4ee5\u4e0b\u51e0\u79cd\u60c5\u51b5\uff1a

                • \u7236\u5b50\u5173\u7cfb\u6291\u5236\uff1a\u5f53\u4e00\u4e2a\u7236\u544a\u8b66\uff08\u4f8b\u5982\u67d0\u4e2a\u8282\u70b9\u7684\u5d29\u6e83\uff09\u89e6\u53d1\u65f6\uff0c\u53ef\u4ee5\u6291\u5236\u6240\u6709\u7531\u6b64\u5f15\u8d77\u7684\u5b50\u544a\u8b66\uff08\u4f8b\u5982\u8be5\u8282\u70b9\u4e0a\u8fd0\u884c\u7684\u5bb9\u5668\u5d29\u6e83\uff09\u3002
                • \u76f8\u4f3c\u544a\u8b66\u6291\u5236\uff1a\u5f53\u591a\u4e2a\u544a\u8b66\u5177\u6709\u76f8\u540c\u7684\u7279\u5f81\uff08\u4f8b\u5982\u540c\u4e00\u5b9e\u4f8b\u4e0a\u7684\u76f8\u540c\u95ee\u9898\uff09\u65f6\uff0c\u53ef\u4ee5\u6291\u5236\u91cd\u590d\u7684\u544a\u8b66\u901a\u77e5\u3002
                "},{"location":"end-user/insight/alert-center/inhibition.html#_2","title":"\u521b\u5efa\u6291\u5236\u89c4\u5219","text":"
                1. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u964d\u566a\uff0c\u5355\u51fb\u9876\u90e8\u7684 \u544a\u8b66\u6291\u5236 \u3002

                2. \u70b9\u51fb \u65b0\u5efa\u6291\u5236\u89c4\u5219 \uff0c\u8bbe\u7f6e\u6291\u5236\u89c4\u5219\u7684\u540d\u79f0\u3001\u89c4\u5219\u7b49\u3002

                  Note

                  \u901a\u8fc7\u89c4\u5219\u6807\u7b7e\u548c\u544a\u8b66\u6807\u7b7e\u5b9a\u4e49\u4e00\u7ec4\u89c4\u5219\u6765\u8bc6\u522b\u548c\u5ffd\u7565\u67d0\u4e9b\u544a\u8b66\uff0c\u8fbe\u5230\u907f\u514d\u540c\u4e00\u95ee\u9898\u53ef\u80fd\u4f1a\u89e6\u53d1\u591a\u4e2a\u76f8\u4f3c\u6216\u76f8\u5173\u7684\u544a\u8b66\u7684\u95ee\u9898\u3002

                  \u53c2\u6570\u65f6\u95f4 \u8bf4\u660e \u6291\u5236\u89c4\u5219\u540d\u79f0 \u6291\u5236\u89c4\u5219\u540d\u79f0\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002 \u63cf\u8ff0 \u63cf\u8ff0\u53ef\u5305\u542b\u4efb\u610f\u5b57\u7b26\uff0c\u6700\u957f 256 \u4e2a\u5b57\u7b26\u3002 \u96c6\u7fa4 \u8be5\u6291\u5236\u89c4\u5219\u4f5c\u7528\u7684\u96c6\u7fa4\u3002 \u547d\u540d\u7a7a\u95f4 \u8be5\u6291\u5236\u89c4\u5219\u4f5c\u7528\u7684\u547d\u540d\u7a7a\u95f4\u3002 \u6839\u6e90\u544a\u8b66 \u901a\u8fc7\u586b\u5199\u7684\u6807\u7b7e\u6761\u4ef6\u5339\u914d\u544a\u8b66\uff0c\u4f1a\u5c06\u7b26\u5408\u6240\u6709\u6807\u7b7e\u6761\u4ef6\u7684\u544a\u8b66\u4e0e\u7b26\u5408\u6291\u5236\u6761\u4ef6\u7684\u8fdb\u884c\u5bf9\u6bd4\uff0c\u4e0d\u7b26\u5408\u6291\u5236\u6761\u4ef6\u7684\u544a\u8b66\u5c06\u7167\u5e38\u53d1\u9001\u6d88\u606f\u7ed9\u7528\u6237\u3002 \u53d6\u503c\u8303\u56f4\u8bf4\u660e\uff1a - \u544a\u8b66\u7ea7\u522b\uff1a\u6307\u6807\u6216\u4e8b\u4ef6\u544a\u8b66\u7684\u7ea7\u522b\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a\uff1a\u7d27\u6025\u3001\u91cd\u8981\u3001\u63d0\u793a\u3002 - \u8d44\u6e90\u7c7b\u578b\uff1a\u544a\u8b66\u5bf9\u8c61\u6240\u5bf9\u5e94\u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a\uff1a\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u65e0\u72b6\u6001\u8d1f\u8f7d\u3001\u6709\u72b6\u5bb9\u8d1f\u8f7d\u3001\u5b88\u62a4\u8fdb\u7a0b\u3001\u5bb9\u5668\u7ec4\u3002 - \u6807\u7b7e\uff1a\u544a\u8b66\u6807\u8bc6\u5c5e\u6027\uff0c\u7531\u6807\u7b7e\u540d\u548c\u6807\u7b7e\u503c\u6784\u6210\uff0c\u652f\u6301\u7528\u6237\u81ea\u5b9a\u4e49\u3002 \u6291\u5236\u544a\u8b66 \u7528\u4e8e\u6307\u5b9a\u76ee\u6807\u8b66\u62a5\uff08\u5c06\u88ab\u6291\u5236\u7684\u8b66\u62a5\uff09\u7684\u5339\u914d\u6761\u4ef6\uff0c\u7b26\u5408\u6240\u6709\u6807\u7b7e\u6761\u4ef6\u7684\u544a\u8b66\u5c06\u4e0d\u4f1a\u518d\u53d1\u9001\u6d88\u606f\u7ed9\u7528\u6237\u3002 \u5339\u914d\u6807\u7b7e \u7528\u4e8e\u6307\u5b9a\u5e94\u8be5\u6bd4\u8f83\u7684\u6807\u7b7e\u5217\u8868\uff0c\u4ee5\u786e\u5b9a\u6e90\u8b66\u62a5\u548c\u76ee\u6807\u8b66\u62a5\u662f\u5426\u5339\u914d\u3002\u53ea\u6709\u5728\u00a0equal\u00a0\u4e2d\u6307\u5b9a\u7684\u6807\u7b7e\u5728\u6e90\u548c\u76ee\u6807\u8b66\u62a5\u4e2d\u7684\u503c\u5b8c\u5168\u76f8\u540c\u7684\u60c5\u51b5\u4e0b\uff0c\u624d\u4f1a\u89e6\u53d1\u6291\u5236\u3002equal\u00a0\u5b57\u6bb5\u662f\u53ef\u9009\u7684\u3002\u5982\u679c\u7701\u7565\u00a0equal\u00a0\u5b57\u6bb5\uff0c\u5219\u4f1a\u5c06\u6240\u6709\u6807\u7b7e\u7528\u4e8e\u5339\u914d
                3. \u70b9\u51fb**\u786e\u5b9a**\u5b8c\u6210\u521b\u5efa\u540e\u8fd4\u56de\u544a\u8b66\u6291\u5236\u5217\u8868\uff0c\u70b9\u51fb\u544a\u8b66\u6291\u5236\u540d\u79f0\u540e\u53ef\u67e5\u770b\u6291\u5236\u89c4\u5219\u8be6\u60c5\u3002

                "},{"location":"end-user/insight/alert-center/inhibition.html#_3","title":"\u67e5\u770b\u89c4\u5219\u6807\u7b7e","text":"
                1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u7b56\u7565 \uff0c\u70b9\u51fb\u89c4\u5219\u6240\u5728\u7684\u7b56\u7565\u8be6\u60c5\u3002
                2. \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540d\u79f0\uff0c\u67e5\u770b\u89c4\u5219\u8be6\u60c5\uff0c\u67e5\u770b\u5bf9\u5e94\u544a\u8b66\u89c4\u5219\u7684\u6807\u7b7e\u3002

                  Note

                  \u5728\u6dfb\u52a0\u89c4\u5219\u65f6\u53ef\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                "},{"location":"end-user/insight/alert-center/inhibition.html#_4","title":"\u67e5\u770b\u544a\u8b66\u6807\u7b7e","text":"
                1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u5217\u8868 \uff0c\u70b9\u51fb\u544a\u8b66\u6240\u5728\u884c\u67e5\u770b\u544a\u8b66\u8be6\u60c5\u3002

                  Note

                  \u544a\u8b66\u6807\u7b7e\u7528\u4e8e\u63cf\u8ff0\u544a\u8b66\u7684\u8be6\u7ec6\u4fe1\u606f\u548c\u5c5e\u6027\uff0c\u53ef\u4ee5\u7528\u6765\u521b\u5efa\u6291\u5236\u89c4\u5219\u3002

                "},{"location":"end-user/insight/alert-center/inhibition.html#_5","title":"\u7f16\u8f91\u6291\u5236\u89c4\u5219","text":"
                1. \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u7f16\u8f91\uff0c\u8fdb\u5165\u6291\u5236\u89c4\u5219\u7684\u7f16\u8f91\u9875\u3002

                "},{"location":"end-user/insight/alert-center/inhibition.html#_6","title":"\u5220\u9664\u6291\u5236\u89c4\u5219","text":"

                \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u5220\u9664\uff0c\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u6291\u5236\u89c4\u5219\u7684\u540d\u79f0\u5373\u53ef\u5220\u9664\u3002

                "},{"location":"end-user/insight/alert-center/message.html","title":"\u901a\u77e5\u914d\u7f6e","text":"

                \u5728 \u901a\u77e5\u914d\u7f6e \u9875\u9762\uff0c\u53ef\u4ee5\u914d\u7f6e\u901a\u8fc7\u90ae\u4ef6\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001\u9489\u9489\u3001Webhook \u548c\u77ed\u4fe1\u7b49\u65b9\u5f0f\u5411\u7528\u6237\u53d1\u9001\u6d88\u606f\u3002

                "},{"location":"end-user/insight/alert-center/message.html#_2","title":"\u90ae\u4ef6\u7ec4","text":"
                1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e\uff0c\u9ed8\u8ba4\u4f4d\u4e8e\u90ae\u4ef6\u901a\u77e5\u5bf9\u8c61\u3002

                2. \u70b9\u51fb \u6dfb\u52a0\u90ae\u7bb1\u7ec4\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u90ae\u4ef6\u5730\u5740\u3002

                3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u90ae\u7bb1\u7ec4\u3002

                "},{"location":"end-user/insight/alert-center/message.html#_3","title":"\u4f01\u4e1a\u5fae\u4fe1","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u4f01\u4e1a\u5fae\u4fe1\u3002

                  \u6709\u5173\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\u7684 URL\uff0c\u8bf7\u53c2\u9605\u4f01\u4e1a\u5fae\u4fe1\u5b98\u65b9\u6587\u6863\uff1a\u5982\u4f55\u4f7f\u7528\u7fa4\u673a\u5668\u4eba\u3002

                2. \u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

                3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

                "},{"location":"end-user/insight/alert-center/message.html#_4","title":"\u9489\u9489","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u9489\u9489\uff0c\u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

                  \u6709\u5173\u9489\u9489\u7fa4\u673a\u5668\u4eba\u7684 URL\uff0c\u8bf7\u53c2\u9605\u9489\u9489\u5b98\u65b9\u6587\u6863\uff1a\u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u63a5\u5165\u3002

                  Note

                  \u52a0\u7b7e\u7684\u65b9\u5f0f\u662f\u9489\u9489\u673a\u5668\u4eba\u4e0e\u5f00\u53d1\u8005\u53cc\u5411\u8fdb\u884c\u5b89\u5168\u8ba4\u8bc1\uff0c\u82e5\u5728\u521b\u5efa\u9489\u9489\u673a\u5668\u4eba\u65f6\u5f00\u542f\u4e86\u52a0\u7b7e\uff0c\u5219\u9700\u8981\u5728\u6b64\u5904\u8f93\u5165\u9489\u9489\u751f\u6210\u7684\u5bc6\u94a5\u3002 \u53ef\u53c2\u8003\u9489\u9489\u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u5b89\u5168\u8bbe\u7f6e\u3002

                2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

                "},{"location":"end-user/insight/alert-center/message.html#_5","title":"\u98de\u4e66","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u98de\u4e66\uff0c\u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

                  Note

                  \u5f53\u98de\u4e66\u7684\u7fa4\u673a\u5668\u4eba\u5f00\u542f\u7b7e\u540d\u6821\u9a8c\u65f6\uff0c\u6dfb\u52a0\u98de\u4e66\u901a\u77e5\u65f6\u9700\u8981\u586b\u5199\u5bf9\u5e94\u7684\u7b7e\u540d\u5bc6\u94a5\u3002\u8bf7\u67e5\u9605 \u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u4f7f\u7528\u6307\u5357\u3002

                2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

                "},{"location":"end-user/insight/alert-center/message.html#webhook","title":"Webhook","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> Webhook\u3002

                  \u6709\u5173 Webhook URL \u53ca\u66f4\u591a\u914d\u7f6e\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605 webhook \u6587\u6863\u3002

                2. \u70b9\u51fb \u65b0\u5efa Webhook\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a Webhook\u3002

                  HTTP Headers\uff1a\u975e\u5fc5\u586b\uff0c\u8bbe\u7f6e\u8bf7\u6c42\u5934\u3002\u53ef\u4ee5\u6dfb\u52a0\u591a\u4e2a Headers\u3002

                  Note

                  \u6709\u5173 Webhook URL \u53ca\u66f4\u591a\u914d\u7f6e\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605 webhook \u6587\u6863\u3002

                3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664 Webhook\u3002

                "},{"location":"end-user/insight/alert-center/message.html#_6","title":"\u7ad9\u5185\u4fe1","text":"

                Note

                \u544a\u8b66\u6d88\u606f\u53d1\u9001\u81f3\u7528\u6237\u4e2a\u4eba\u7684\u7ad9\u5185\u4fe1\uff0c\u70b9\u51fb\u9876\u90e8\u7684 \ud83d\udd14 \u7b26\u53f7\u53ef\u4ee5\u67e5\u770b\u901a\u77e5\u6d88\u606f\u3002

                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u7ad9\u5185\u4fe1\uff0c\u70b9\u51fb\u521b\u5efa\u3002

                  • \u7ad9\u5185\u4fe1\u901a\u77e5\u5141\u8bb8\u6dfb\u52a0\u591a\u4e2a\u7528\u6237\u3002

                2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de \u7ad9\u5185\u4fe1\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\u3002

                "},{"location":"end-user/insight/alert-center/message.html#_7","title":"\u77ed\u4fe1\u7ec4","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u77ed\u4fe1\uff0c\u70b9\u51fb \u6dfb\u52a0\u77ed\u4fe1\u7ec4\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u77ed\u4fe1\u7ec4\u3002

                2. \u5728\u5f39\u7a97\u4e2d\u8f93\u5165\u540d\u79f0\u3001\u63a5\u6536\u77ed\u4fe1\u7684\u5bf9\u8c61\u3001\u624b\u673a\u53f7\u4ee5\u53ca\u901a\u77e5\u670d\u52a1\u5668\u3002

                  \u901a\u77e5\u670d\u52a1\u5668\u9700\u8981\u9884\u5148\u5728 \u901a\u77e5\u914d\u7f6e -> \u901a\u77e5\u670d\u52a1\u5668 \u4e2d\u6dfb\u52a0\u521b\u5efa\u3002\u76ee\u524d\u652f\u6301\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u4e24\u79cd\u4e91\u670d\u52a1\u5668\uff0c\u5177\u4f53\u914d\u7f6e\u7684\u53c2\u6570\u8bf7\u53c2\u9605\u81ea\u5df1\u7684\u4e91\u670d\u52a1\u5668\u4fe1\u606f\u3002

                3. \u77ed\u4fe1\u7ec4\u6dfb\u52a0\u6210\u529f\u540e\uff0c\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u77ed\u4fe1\u7ec4\u3002

                "},{"location":"end-user/insight/alert-center/msg-template.html","title":"\u6d88\u606f\u6a21\u677f","text":"

                \u53ef\u89c2\u6d4b\u6027\u63d0\u4f9b\u81ea\u5b9a\u4e49\u6d88\u606f\u6a21\u677f\u5185\u5bb9\u7684\u80fd\u529b\uff0c\u652f\u6301\u90ae\u4ef6\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001\u9489\u9489\u3001Webhook\u3001\u98de\u4e66\u3001\u7ad9\u5185\u4fe1\u7b49\u4e0d\u540c\u7684\u901a\u77e5\u5bf9\u8c61\u5b9a\u4e49\u4e0d\u540c\u7684\u6d88\u606f\u901a\u77e5\u5185\u5bb9\u3002

                "},{"location":"end-user/insight/alert-center/msg-template.html#_2","title":"\u521b\u5efa\u6d88\u606f\u6a21\u677f","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u6d88\u606f\u6a21\u677f\u3002

                  Insight \u9ed8\u8ba4\u5185\u7f6e\u4e2d\u82f1\u6587\u4e24\u4e2a\u6a21\u677f\uff0c\u4ee5\u4fbf\u7528\u6237\u4f7f\u7528\u3002

                2. \u70b9\u51fb \u65b0\u5efa\u6d88\u606f\u6a21\u677f \u6309\u94ae\uff0c\u586b\u5199\u6a21\u677f\u5185\u5bb9\u3002

                Info

                \u53ef\u89c2\u6d4b\u6027\u9884\u7f6e\u4e86\u6d88\u606f\u6a21\u677f\u3002\u82e5\u9700\u8981\u5b9a\u4e49\u6a21\u677f\u7684\u5185\u5bb9\uff0c\u8bf7\u53c2\u8003\u914d\u7f6e\u901a\u77e5\u6a21\u677f\u3002

                "},{"location":"end-user/insight/alert-center/msg-template.html#_3","title":"\u6d88\u606f\u6a21\u677f\u8be6\u60c5","text":"

                \u70b9\u51fb\u67d0\u4e00\u6d88\u606f\u6a21\u677f\u7684\u540d\u79f0\uff0c\u53f3\u4fa7\u6ed1\u5757\u53ef\u67e5\u770b\u6d88\u606f\u6a21\u677f\u7684\u8be6\u60c5\u3002

                \u53c2\u6570 \u53d8\u91cf \u63cf\u8ff0 \u89c4\u5219\u540d\u79f0 {{ .Labels.alertname }} \u89e6\u53d1\u544a\u8b66\u7684\u89c4\u5219\u540d\u79f0 \u7b56\u7565\u540d\u79f0 {{ .Labels.alertgroup }} \u89e6\u53d1\u544a\u8b66\u89c4\u5219\u6240\u5c5e\u7684\u544a\u8b66\u7b56\u7565\u540d\u79f0 \u544a\u8b66\u7ea7\u522b {{ .Labels.severity }} \u89e6\u53d1\u544a\u8b66\u7684\u7ea7\u522b \u96c6\u7fa4 {{ .Labels.cluster }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u96c6\u7fa4 \u547d\u540d\u7a7a\u95f4 {{ .Labels.namespace }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4 \u8282\u70b9 {{ .Labels.node }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u8282\u70b9 \u8d44\u6e90\u7c7b\u578b {{ .Labels.target_type }} \u544a\u8b66\u5bf9\u8c61\u7684\u8d44\u6e90\u7c7b\u578b \u8d44\u6e90\u540d\u79f0 {{ .Labels.target }} \u89e6\u53d1\u544a\u8b66\u7684\u5bf9\u8c61\u540d\u79f0 \u89e6\u53d1\u503c {{ .Annotations.value }} \u89e6\u53d1\u544a\u8b66\u901a\u77e5\u65f6\u7684\u6307\u6807\u503c \u53d1\u751f\u65f6\u95f4 {{ .StartsAt }} \u544a\u8b66\u5f00\u59cb\u53d1\u751f\u7684\u65f6\u95f4 \u7ed3\u675f\u65f6\u95f4 {{ .EndsAT }} \u544a\u8b66\u7ed3\u675f\u7684\u65f6\u95f4 \u63cf\u8ff0 {{ .Annotations.description }} \u544a\u8b66\u7684\u8be6\u7ec6\u63cf\u8ff0 \u6807\u7b7e {{ for .labels}} {{end}} \u544a\u8b66\u7684\u6240\u6709\u6807\u7b7e\uff0c\u4f7f\u7528 for \u51fd\u6570\u904d\u5386 labels \u5217\u8868\uff0c\u83b7\u53d6\u544a\u8b66\u7684\u6240\u6709\u6807\u7b7e\u5185\u5bb9\u3002"},{"location":"end-user/insight/alert-center/msg-template.html#_4","title":"\u7f16\u8f91\u6216\u5220\u9664\u6d88\u606f\u6a21\u677f","text":"

                \u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u7f16\u8f91 \u6216 \u5220\u9664\uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6d88\u606f\u6a21\u677f\u3002

                Warning

                \u8bf7\u6ce8\u610f\uff0c\u5220\u9664\u6a21\u677f\u540e\u65e0\u6cd5\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                "},{"location":"end-user/insight/alert-center/silent.html","title":"\u544a\u8b66\u9759\u9ed8","text":"

                \u544a\u8b66\u9759\u9ed8\u662f\u6307\u5728\u7279\u5b9a\u7684\u65f6\u95f4\u8303\u56f4\u5185\uff0c\u6839\u636e\u5b9a\u4e49\u597d\u7684\u89c4\u5219\u5bf9\u7b26\u5408\u6761\u4ef6\u7684\u544a\u8b66\u4e0d\u518d\u53d1\u9001\u544a\u8b66\u901a\u77e5\u3002\u8be5\u529f\u80fd\u53ef\u4ee5\u5e2e\u52a9\u8fd0\u7ef4\u4eba\u5458\u907f\u514d\u5728\u67d0\u4e9b\u64cd\u4f5c\u6216\u4e8b\u4ef6\u671f\u95f4\u63a5\u6536\u5230\u8fc7\u591a\u7684\u566a\u58f0\u544a\u8b66\uff0c\u540c\u65f6\u4fbf\u4e8e\u66f4\u52a0\u7cbe\u786e\u5730\u5904\u7406\u771f\u6b63\u9700\u8981\u89e3\u51b3\u7684\u95ee\u9898\u3002

                \u5728\u544a\u8b66\u9759\u9ed8\u9875\u9762\u4e0a\uff0c\u7528\u6237\u53ef\u4ee5\u770b\u5230\u4e24\u4e2a\u9875\u7b7e\uff1a\u6d3b\u8dc3\u89c4\u5219\u548c\u8fc7\u671f\u89c4\u5219\u3002 \u5176\u4e2d\uff0c\u6d3b\u8dc3\u89c4\u5219\u8868\u793a\u76ee\u524d\u6b63\u5728\u751f\u6548\u7684\u89c4\u5219\uff0c\u800c\u8fc7\u671f\u89c4\u5219\u5219\u662f\u4ee5\u524d\u5b9a\u4e49\u8fc7\u4f46\u5df2\u7ecf\u8fc7\u671f\uff08\u6216\u8005\u7528\u6237\u4e3b\u52a8\u5220\u9664\uff09\u7684\u89c4\u5219\u3002

                "},{"location":"end-user/insight/alert-center/silent.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u544a\u8b66\u9759\u9ed8 ,\u70b9\u51fb \u65b0\u5efa\u9759\u9ed8\u89c4\u5219 \u6309\u94ae\u3002

                2. \u586b\u5199\u9759\u9ed8\u89c4\u5219\u7684\u5404\u9879\u53c2\u6570\uff0c\u5982\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u6807\u7b7e\u3001\u65f6\u95f4\u7b49\uff0c\u4ee5\u5b9a\u4e49\u8fd9\u6761\u89c4\u5219\u7684\u4f5c\u7528\u8303\u56f4\u548c\u751f\u6548\u65f6\u95f4\u3002

                3. \u8fd4\u56de\u89c4\u5219\u5217\u8868\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u9759\u9ed8\u89c4\u5219\u3002

                \u901a\u8fc7\u544a\u8b66\u9759\u9ed8\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u7075\u6d3b\u5730\u63a7\u5236\u54ea\u4e9b\u544a\u8b66\u9700\u8981\u88ab\u5ffd\u7565\uff0c\u5728\u4ec0\u4e48\u65f6\u95f4\u6bb5\u5185\u751f\u6548\uff0c\u4ece\u800c\u63d0\u9ad8\u8fd0\u7ef4\u6548\u7387\uff0c\u51cf\u5c11\u8bef\u62a5\u7684\u53ef\u80fd\u6027\u3002

                "},{"location":"end-user/insight/alert-center/sms-provider.html","title":"\u914d\u7f6e\u901a\u77e5\u670d\u52a1\u5668","text":"

                \u53ef\u89c2\u6d4b\u6027 Insight \u652f\u6301\u77ed\u4fe1\u901a\u77e5\uff0c\u76ee\u524d\u901a\u8fc7\u96c6\u6210\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u7684\u77ed\u4fe1\u670d\u52a1\u53d1\u9001\u544a\u8b66\u6d88\u606f\u3002\u672c\u6587\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728 insight \u4e2d\u914d\u7f6e\u77ed\u4fe1\u901a\u77e5\u7684\u670d\u52a1\u5668\u3002\u77ed\u4fe1\u7b7e\u540d\u4e2d\u652f\u6301\u7684\u53d8\u91cf\u4e3a\u6d88\u606f\u6a21\u677f\u4e2d\u7684\u9ed8\u8ba4\u53d8\u91cf\uff0c\u540c\u65f6\u7531\u4e8e\u77ed\u4fe1\u5b57\u6570\u6709\u9650\uff0c\u5efa\u8bae\u9009\u62e9\u8f83\u4e3a\u660e\u786e\u7684\u53d8\u91cf\u3002

                \u5982\u4f55\u914d\u7f6e\u77ed\u4fe1\u63a5\u6536\u4eba\u53ef\u53c2\u8003\u6587\u6863\uff1a\u914d\u7f6e\u77ed\u4fe1\u901a\u77e5\u7ec4\u3002

                "},{"location":"end-user/insight/alert-center/sms-provider.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u8fdb\u5165 \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u901a\u77e5\u670d\u52a1\u5668 \u3002

                2. \u70b9\u51fb \u6dfb\u52a0\u901a\u77e5\u670d\u52a1\u5668 \u3002

                  1. \u914d\u7f6e\u963f\u91cc\u4e91\u670d\u52a1\u5668\u3002

                    \u7533\u8bf7\u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1\uff0c\u8bf7\u53c2\u8003\u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1\u3002

                    \u5b57\u6bb5\u8bf4\u660e\uff1a

                    • AccessKey ID \uff1a\u963f\u91cc\u4e91\u7528\u4e8e\u6807\u8bc6\u7528\u6237\u7684\u53c2\u6570\u3002
                    • AccessKey Secret \uff1a\u963f\u91cc\u4e91\u7528\u4e8e\u9a8c\u8bc1\u7528\u6237\u7684\u5bc6\u94a5\u3002AccessKey Secret \u5fc5\u987b\u4fdd\u5bc6\u3002
                    • \u77ed\u4fe1\u7b7e\u540d \uff1a\u77ed\u4fe1\u670d\u52a1\u652f\u6301\u6839\u636e\u7528\u6237\u9700\u6c42\u521b\u5efa\u7b26\u5408\u8981\u6c42\u7684\u7b7e\u540d\u3002\u53d1\u9001\u77ed\u4fe1\u65f6\uff0c\u77ed\u4fe1\u5e73\u53f0\u4f1a\u5c06\u5df2\u5ba1\u6838\u901a\u8fc7\u7684\u77ed\u4fe1\u7b7e\u540d\u6dfb\u52a0\u5230\u77ed\u4fe1\u5185\u5bb9\u4e2d\uff0c\u518d\u53d1\u9001\u7ed9\u77ed\u4fe1\u63a5\u6536\u65b9\u3002
                    • \u6a21\u677f CODE \uff1a\u77ed\u4fe1\u6a21\u677f\u662f\u53d1\u9001\u77ed\u4fe1\u7684\u5177\u4f53\u5185\u5bb9\u3002
                    • \u53c2\u6570\u6a21\u677f \uff1a\u77ed\u4fe1\u6b63\u6587\u6a21\u677f\u53ef\u4ee5\u5305\u542b\u53d8\u91cf\uff0c\u7528\u6237\u53ef\u901a\u8fc7\u53d8\u91cf\u5b9e\u73b0\u81ea\u5b9a\u4e49\u77ed\u4fe1\u5185\u5bb9\u3002

                    \u8bf7\u53c2\u8003\u963f\u91cc\u4e91\u53d8\u91cf\u89c4\u8303\u3002

                    Note

                    \u4e3e\u4f8b\uff1a\u5728\u963f\u91cc\u4e91\u5b9a\u4e49\u7684\u6a21\u677f\u5185\u5bb9\u4e3a\uff1a\\({severity}\uff1a\\) \u88ab\u89e6\u53d1\u3002\u53c2\u6570\u6a21\u677f\u4e2d\u7684\u914d\u7f6e\u53c2\u8003\u4e0a\u56fe\u3002} \u5728 ${startat

                  2. \u914d\u7f6e\u817e\u8baf\u4e91\u670d\u52a1\u5668\u3002

                    \u7533\u8bf7\u817e\u8baf\u4e91\u77ed\u4fe1\u670d\u52a1\uff0c\u8bf7\u53c2\u8003\u817e\u8baf\u4e91\u77ed\u4fe1\u3002

                    \u5b57\u6bb5\u8bf4\u660e\uff1a

                    • Secret ID \uff1a\u817e\u8baf\u4e91\u7528\u4e8e\u6807\u8bc6 API \u8c03\u7528\u8005\u8eab\u4efd\u53c2\u6570\u3002
                    • SecretKey \uff1a\u817e\u8baf\u4e91\u7528\u4e8e\u9a8c\u8bc1 API \u8c03\u7528\u8005\u7684\u8eab\u4efd\u7684\u53c2\u6570\u3002
                    • \u77ed\u4fe1\u6a21\u677f ID \uff1a\u77ed\u4fe1\u6a21\u677f ID\uff0c\u7531\u817e\u8baf\u4e91\u7cfb\u7edf\u81ea\u52a8\u751f\u6210\u3002
                    • \u7b7e\u540d\u5185\u5bb9 \uff1a\u77ed\u4fe1\u7b7e\u540d\u5185\u5bb9\uff0c\u5373\u5728\u817e\u8baf\u4e91\u77ed\u4fe1\u7b7e\u540d\u4e2d\u5b9a\u4e49\u7684\u5b9e\u9645\u7f51\u7ad9\u540d\u7684\u5168\u79f0\u6216\u7b80\u79f0\u3002
                    • SdkAppId \uff1a\u77ed\u4fe1 SdkAppId\uff0c\u5728\u817e\u8baf\u4e91\u77ed\u4fe1\u63a7\u5236\u53f0\u6dfb\u52a0\u5e94\u7528\u540e\u751f\u6210\u7684\u5b9e\u9645 SdkAppId\u3002
                    • \u53c2\u6570\u6a21\u677f \uff1a\u77ed\u4fe1\u6b63\u6587\u6a21\u677f\u53ef\u4ee5\u5305\u542b\u53d8\u91cf\uff0c\u7528\u6237\u53ef\u901a\u8fc7\u53d8\u91cf\u5b9e\u73b0\u81ea\u5b9a\u4e49\u77ed\u4fe1\u5185\u5bb9\u3002\u8bf7\u53c2\u8003\uff1a\u817e\u8baf\u4e91\u53d8\u91cf\u89c4\u8303\u3002

                    Note

                    \u4e3e\u4f8b\uff1a\u5728\u817e\u8baf\u4e91\u5b9a\u4e49\u7684\u6a21\u677f\u5185\u5bb9\u4e3a\uff1a{1}\uff1a{2} \u5728 {3} \u88ab\u89e6\u53d1\u3002\u53c2\u6570\u6a21\u677f\u4e2d\u7684\u914d\u7f6e\u53c2\u8003\u4e0a\u56fe\u3002

                "},{"location":"end-user/insight/collection-manag/agent-status.html","title":"insight-agent \u7ec4\u4ef6\u72b6\u6001\u8bf4\u660e","text":"

                \u5728 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u89c2\u6d4b\u4ea7\u54c1\uff0c\u4e3a\u4e86\u5b9e\u73b0\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u7edf\u4e00\u91c7\u96c6\uff0c\u9700\u8981\u7528\u6237\u5b89\u88c5 Helm \u5e94\u7528 insight-agent \uff08\u9ed8\u8ba4\u5b89\u88c5\u5728 insight-system \u547d\u540d\u7a7a\u95f4\uff09\u3002\u53c2\u9605\u5982\u4f55\u5b89\u88c5 insight-agent \u3002

                "},{"location":"end-user/insight/collection-manag/agent-status.html#_1","title":"\u72b6\u6001\u8bf4\u660e","text":"

                \u5728 \u53ef\u89c2\u6d4b\u6027 -> \u91c7\u96c6\u7ba1\u7406 \u90e8\u5206\u53ef\u67e5\u770b\u5404\u96c6\u7fa4\u5b89\u88c5 insight-agent \u7684\u60c5\u51b5\u3002

                • \u672a\u5b89\u88c5 \uff1a\u8be5\u96c6\u7fa4\u4e2d\u672a\u5728 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u5b89\u88c5 insight-agent
                • \u8fd0\u884c\u4e2d \uff1a\u8be5\u96c6\u7fa4\u4e2d\u6210\u529f\u5b89\u88c5 insight-agent \uff0c\u4e14\u90e8\u7f72\u7684\u6240\u6709\u7ec4\u4ef6\u5747\u5904\u4e8e\u8fd0\u884c\u4e2d\u72b6\u6001
                • \u5f02\u5e38 \uff1a\u82e5 insight-agent \u5904\u4e8e\u6b64\u72b6\u6001\uff0c\u8bf4\u660e helm \u90e8\u7f72\u5931\u8d25\u6216\u5b58\u5728\u90e8\u7f72\u7684\u7ec4\u4ef6\u5904\u4e8e\u975e\u8fd0\u884c\u4e2d\u72b6\u6001

                \u53ef\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u6392\u67e5\uff1a

                1. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u82e5\u72b6\u6001\u4e3a deployed \uff0c\u5219\u6267\u884c\u4e0b\u4e00\u6b65\u3002\u82e5\u4e3a failed \uff0c\u7531\u4e8e\u4f1a\u5f71\u54cd\u5e94\u7528\u7684\u5347\u7ea7\uff0c\u5efa\u8bae\u5728 \u5bb9\u5668\u7ba1\u7406 -> helm \u5e94\u7528 \u5378\u8f7d\u540e\u91cd\u65b0\u5b89\u88c5 :

                  helm list -n insight-system\n
                2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6216\u5728 \u53ef\u89c2\u6d4b\u6027 -> \u91c7\u96c6\u7ba1\u7406 \u4e2d\u67e5\u770b\u8be5\u96c6\u7fa4\u90e8\u7f72\u7684\u7ec4\u4ef6\u7684\u72b6\u6001\uff0c\u82e5\u5b58\u5728\u975e \u8fd0\u884c\u4e2d \u72b6\u6001\u7684\u5bb9\u5668\u7ec4\uff0c\u8bf7\u91cd\u542f\u5f02\u5e38\u7684\u5bb9\u5668\u7ec4\u3002

                  kubectl get pods -n insight-system\n
                "},{"location":"end-user/insight/collection-manag/agent-status.html#_2","title":"\u8865\u5145\u8bf4\u660e","text":"
                1. insight-agent \u4e2d\u6307\u6807\u91c7\u96c6\u7ec4\u4ef6 Prometheus \u7684\u8d44\u6e90\u6d88\u8017\u4e0e\u96c6\u7fa4\u4e2d\u8fd0\u884c\u7684\u5bb9\u5668\u7ec4\u6570\u91cf\u5b58\u5728\u6b63\u6bd4\u5173\u7cfb\uff0c \u8bf7\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 Prometheus \u7684\u8d44\u6e90\uff0c\u8bf7\u53c2\u8003\uff1aPrometheus \u8d44\u6e90\u89c4\u5212

                2. \u7531\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u6307\u6807\u5b58\u50a8\u7ec4\u4ef6 vmstorage \u7684\u5b58\u50a8\u5bb9\u91cf\u4e0e\u5404\u4e2a\u96c6\u7fa4\u5bb9\u5668\u7ec4\u6570\u91cf\u603b\u548c\u5b58\u5728\u6b63\u6bd4\u5173\u7cfb\u3002

                  • \u8bf7\u8054\u7cfb\u5e73\u53f0\u7ba1\u7406\u5458\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf\uff0c\u53c2\u9605 vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212
                  • \u6839\u636e\u591a\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u78c1\u76d8\uff0c\u53c2\u9605 vmstorge \u78c1\u76d8\u6269\u5bb9
                "},{"location":"end-user/insight/collection-manag/collection-manag.html","title":"\u91c7\u96c6\u7ba1\u7406","text":"

                \u91c7\u96c6\u7ba1\u7406 \u4e3b\u8981\u662f\u96c6\u4e2d\u7ba1\u7406\u3001\u5c55\u793a\u96c6\u7fa4\u5b89\u88c5\u91c7\u96c6\u63d2\u4ef6 insight-agent \u7684\u5165\u53e3\uff0c\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u7684\u67e5\u770b\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u5e76\u63d0\u4f9b\u4e86\u5feb\u6377\u5165\u53e3\u914d\u7f6e\u91c7\u96c6\u89c4\u5219\u3002

                \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                1. \u70b9\u51fb\u5de6\u4e0a\u89d2\u7684\uff0c\u9009\u62e9 \u53ef\u89c2\u6d4b\u6027 \u3002

                2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u91c7\u96c6\u7ba1\u7406 \uff0c\u67e5\u770b\u5168\u90e8\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u72b6\u6001\u3002

                3. \u96c6\u7fa4\u63a5\u5165 insight-agent \u4e14\u5904\u4e8e\u8fd0\u884c\u4e2d\u72b6\u6001\u65f6\uff0c\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\u3002

                4. \u5728 \u670d\u52a1\u76d1\u63a7 \u9875\u7b7e\u4e2d\uff0c\u70b9\u51fb\u5feb\u6377\u94fe\u63a5\u8df3\u8f6c\u5230 \u5bb9\u5668\u7ba1\u7406 -> \u81ea\u5b9a\u4e49\u8d44\u6e90 \u6dfb\u52a0\u670d\u52a1\u53d1\u73b0\u89c4\u5219\u3002

                "},{"location":"end-user/insight/collection-manag/metric-collect.html","title":"\u6307\u6807\u6293\u53d6\u65b9\u5f0f","text":"

                Prometheus \u4e3b\u8981\u901a\u8fc7 Pull \u7684\u65b9\u5f0f\u6765\u6293\u53d6\u76ee\u6807\u670d\u52a1\u66b4\u9732\u51fa\u6765\u7684\u76d1\u63a7\u63a5\u53e3\uff0c\u56e0\u6b64\u9700\u8981\u914d\u7f6e\u5bf9\u5e94\u7684\u6293\u53d6\u4efb\u52a1\u6765\u8bf7\u6c42\u76d1\u63a7\u6570\u636e\u5e76\u5199\u5165\u5230 Prometheus \u63d0\u4f9b\u7684\u5b58\u50a8\u4e2d\uff0c\u76ee\u524d Prometheus \u670d\u52a1\u63d0\u4f9b\u4e86\u5982\u4e0b\u51e0\u4e2a\u4efb\u52a1\u7684\u914d\u7f6e\uff1a

                • \u539f\u751f Job \u914d\u7f6e\uff1a\u63d0\u4f9b Prometheus \u539f\u751f\u6293\u53d6 Job \u7684\u914d\u7f6e\u3002
                • Pod Monitor\uff1a\u5728 K8S \u751f\u6001\u4e0b\uff0c\u57fa\u4e8e Prometheus Operator \u6765\u6293\u53d6 Pod \u4e0a\u5bf9\u5e94\u7684\u76d1\u63a7\u6570\u636e\u3002
                • Service Monitor\uff1a\u5728 K8S \u751f\u6001\u4e0b\uff0c\u57fa\u4e8e Prometheus Operator \u6765\u6293\u53d6 Service \u5bf9\u5e94 Endpoints \u4e0a\u7684\u76d1\u63a7\u6570\u636e\u3002

                Note

                [ ] \u4e2d\u7684\u914d\u7f6e\u9879\u4e3a\u53ef\u9009\u3002

                "},{"location":"end-user/insight/collection-manag/metric-collect.html#job","title":"\u539f\u751f Job \u914d\u7f6e","text":"

                \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                # \u6293\u53d6\u4efb\u52a1\u540d\u79f0\uff0c\u540c\u65f6\u4f1a\u5728\u5bf9\u5e94\u6293\u53d6\u7684\u6307\u6807\u4e2d\u52a0\u4e86\u4e00\u4e2a label(job=job_name)\njob_name: <job_name>\n\n# \u6293\u53d6\u4efb\u52a1\u65f6\u95f4\u95f4\u9694\n[ scrape_interval: <duration> | default = <global_config.scrape_interval> ]\n\n# \u6293\u53d6\u8bf7\u6c42\u8d85\u65f6\u65f6\u95f4\n[ scrape_timeout: <duration> | default = <global_config.scrape_timeout> ]\n\n# \u6293\u53d6\u4efb\u52a1\u8bf7\u6c42 URI \u8def\u5f84\n[ metrics_path: <path> | default = /metrics ]\n\n# \u89e3\u51b3\u5f53\u6293\u53d6\u7684 label \u4e0e\u540e\u7aef Prometheus \u6dfb\u52a0 label \u51b2\u7a81\u65f6\u7684\u5904\u7406\u3002\n# true: \u4fdd\u7559\u6293\u53d6\u5230\u7684 label\uff0c\u5ffd\u7565\u4e0e\u540e\u7aef Prometheus \u51b2\u7a81\u7684 label\uff1b\n# false: \u5bf9\u51b2\u7a81\u7684 label\uff0c\u628a\u6293\u53d6\u7684 label \u524d\u52a0\u4e0a exported_<original-label>\uff0c\u6dfb\u52a0\u540e\u7aef Prometheus \u589e\u52a0\u7684 label\uff1b\n[ honor_labels: <boolean> | default = false ]\n\n# \u662f\u5426\u4f7f\u7528\u6293\u53d6\u5230 target \u4e0a\u4ea7\u751f\u7684\u65f6\u95f4\u3002\n# true: \u5982\u679c target \u4e2d\u6709\u65f6\u95f4\uff0c\u4f7f\u7528 target \u4e0a\u7684\u65f6\u95f4\uff1b\n# false: \u76f4\u63a5\u5ffd\u7565 target \u4e0a\u7684\u65f6\u95f4\uff1b\n[ honor_timestamps: <boolean> | default = true ]\n\n# \u6293\u53d6\u534f\u8bae: http \u6216\u8005 https\n[ scheme: <scheme> | default = http ]\n\n# \u6293\u53d6\u8bf7\u6c42\u5bf9\u5e94 URL \u53c2\u6570\nparams:\n  [ <string>: [<string>, ...] ]\n\n# \u901a\u8fc7 basic auth \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` \u7684\u503c\uff0cpassword/password_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 password_file \u91cc\u9762\u7684\u503c\u3002\nbasic_auth:\n  [ username: <string> ]\n  [ password: <secret> ]\n  [ password_file: <string> ]\n\n# \u901a\u8fc7 bearer token \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` bearer_token/bearer_token_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 bearer_token \u91cc\u9762\u7684\u503c\u3002\n[ bearer_token: <secret> ]\n\n# \u901a\u8fc7 bearer token \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` bearer_token/bearer_token_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 bearer_token \u91cc\u9762\u7684\u503c\u3002\n[ bearer_token_file: <filename> ]\n\n# \u6293\u53d6\u8fde\u63a5\u662f\u5426\u901a\u8fc7 TLS \u5b89\u5168\u901a\u9053\uff0c\u914d\u7f6e\u5bf9\u5e94\u7684 TLS \u53c2\u6570\ntls_config:\n  [ <tls_config> ]\n\n# \u901a\u8fc7\u4ee3\u7406\u670d\u52a1\u6765\u6293\u53d6 target \u4e0a\u7684\u6307\u6807\uff0c\u586b\u5199\u5bf9\u5e94\u7684\u4ee3\u7406\u670d\u52a1\u5730\u5740\u3002\n[ proxy_url: <string> ]\n\n# \u901a\u8fc7\u9759\u6001\u914d\u7f6e\u6765\u6307\u5b9a target\uff0c\u8be6\u89c1\u4e0b\u9762\u7684\u8bf4\u660e\u3002\nstatic_configs:\n  [ - <static_config> ... ]\n\n# CVM \u670d\u52a1\u53d1\u73b0\u914d\u7f6e\uff0c\u8be6\u89c1\u4e0b\u9762\u7684\u8bf4\u660e\u3002\ncvm_sd_configs:\n  [ - <cvm_sd_config> ... ]\n\n# \u5728\u6293\u53d6\u6570\u636e\u4e4b\u540e\uff0c\u628a target \u4e0a\u5bf9\u5e94\u7684 label \u901a\u8fc7 relabel \u7684\u673a\u5236\u8fdb\u884c\u6539\u5199\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\u3002\nrelabel_configs:\n  [ - <relabel_config> ... ]\n\n# \u6570\u636e\u6293\u53d6\u5b8c\u6210\u5199\u5165\u4e4b\u524d\uff0c\u901a\u8fc7 relabel \u673a\u5236\u8fdb\u884c\u6539\u5199 label \u5bf9\u5e94\u7684\u503c\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\u3002\nmetric_relabel_configs:\n  [ - <relabel_config> ... ]\n\n# \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n[ sample_limit: <int> | default = 0 ]\n\n# \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n[ target_limit: <int> | default = 0 ]\n
                "},{"location":"end-user/insight/collection-manag/metric-collect.html#pod-monitor","title":"Pod Monitor","text":"

                \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                # Prometheus Operator CRD \u7248\u672c\napiVersion: monitoring.coreos.com/v1\n# \u5bf9\u5e94 K8S \u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u8fd9\u91cc\u9762 Pod Monitor\nkind: PodMonitor\n# \u5bf9\u5e94 K8S \u7684 Metadata\uff0c\u8fd9\u91cc\u53ea\u7528\u5173\u5fc3 name\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a jobLabel\uff0c\u5bf9\u5e94\u6293\u53d6\u6307\u6807 label \u4e2d job \u7684\u503c\u4e3a <namespace>/<name>\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus  # namespace \u56fa\u5b9a\uff0c\u4e0d\u9700\u8981\u4fee\u6539\n# \u63cf\u8ff0\u6293\u53d6\u76ee\u6807 Pod \u7684\u9009\u53d6\u53ca\u6293\u53d6\u4efb\u52a1\u7684\u914d\u7f6e\n  label:\n    operator.insight.io/managed-by: insight # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\nspec:\n  # \u586b\u5199\u5bf9\u5e94 Pod \u7684 label\uff0cpod monitor \u4f1a\u53d6\u5bf9\u5e94\u7684\u503c\u4f5c\u4e3a job label \u7684\u503c\u3002\n  # \u5982\u679c\u67e5\u770b\u7684\u662f Pod Yaml\uff0c\u53d6 pod.metadata.labels \u4e2d\u7684\u503c\u3002\n  # \u5982\u679c\u67e5\u770b\u7684\u662f Deployment/Daemonset/Statefulset\uff0c\u53d6 spec.template.metadata.labels\u3002\n  [ jobLabel: string ]\n  # \u628a\u5bf9\u5e94 Pod \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ podTargetLabels: []string ]\n  # \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ sampleLimit: uint64 ]\n  # \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ targetLimit: uint64 ]\n  # \u914d\u7f6e\u9700\u8981\u6293\u53d6\u66b4\u9732\u7684 Prometheus HTTP \u63a5\u53e3\uff0c\u53ef\u4ee5\u914d\u7f6e\u591a\u4e2a Endpoint\n  podMetricsEndpoints:\n  [ - <endpoint_config> ... ] # \u8be6\u89c1\u4e0b\u9762 endpoint \u8bf4\u660e\n  # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\uff0c\u4e0d\u586b\u4e3a\u9009\u53d6\u6240\u6709 namespace\n  [ namespaceSelector: ]\n    # \u662f\u5426\u9009\u53d6\u6240\u6709 namespace\n    [ any: bool ]\n    # \u9700\u8981\u9009\u53d6 namespace \u5217\u8868\n    [ matchNames: []string ]\n  # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 Pod [K8S metav1.LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta)\n  selector:\n    [ matchExpressions: array ]\n      [ example: - {key: tier, operator: In, values: [cache]} ]\n    [ matchLabels: object ]\n      [ example: k8s-app: redis-exporter ]\n
                "},{"location":"end-user/insight/collection-manag/metric-collect.html#1","title":"\u4e3e\u4f8b 1","text":"
                apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus # namespace \u56fa\u5b9a\uff0c\u4e0d\u8981\u4fee\u6539\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  podMetricsEndpoints:\n    - interval: 30s\n      port: metric-port # \u586b\u5199 pod yaml \u4e2d Prometheus Exporter \u5bf9\u5e94\u7684 Port \u7684 Name\n      path: /metrics # \u586b\u5199 Prometheus Exporter \u5bf9\u5e94\u7684 Path \u7684\u503c\uff0c\u4e0d\u586b\u9ed8\u8ba4 /metrics\n      relabelings:\n        - action: replace\n          sourceLabels:\n            - instance\n          regex: (.*)\n          targetLabel: instance\n          replacement: \"crs-xxxxxx\" # \u8c03\u6574\u6210\u5bf9\u5e94\u7684 Redis \u5b9e\u4f8b ID\n        - action: replace\n          sourceLabels:\n            - instance\n          regex: (.*)\n          targetLabel: ip\n          replacement: \"1.x.x.x\" # \u8c03\u6574\u6210\u5bf9\u5e94\u7684 Redis \u5b9e\u4f8b IP\n  namespaceSelector: # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\n    matchNames:\n      - redis-test\n  selector: # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 pod\n    matchLabels:\n      k8s-app: redis-exporter\n
                "},{"location":"end-user/insight/collection-manag/metric-collect.html#2","title":"\u4e3e\u4f8b 2","text":"
                job_name: prometheus\nscrape_interval: 30s\nstatic_configs:\n- targets:\n  - 127.0.0.1:9090\n
                "},{"location":"end-user/insight/collection-manag/metric-collect.html#service-monitor","title":"Service Monitor","text":"

                \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                # Prometheus Operator CRD \u7248\u672c\napiVersion: monitoring.coreos.com/v1\n# \u5bf9\u5e94 K8S \u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u8fd9\u91cc\u9762 Service Monitor\nkind: ServiceMonitor\n# \u5bf9\u5e94 K8S \u7684 Metadata\uff0c\u8fd9\u91cc\u53ea\u7528\u5173\u5fc3 name\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a jobLabel\uff0c\u5bf9\u5e94\u6293\u53d6\u6307\u6807 label \u4e2d job \u7684\u503c\u4e3a Service \u7684\u540d\u79f0\u3002\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus  # namespace \u56fa\u5b9a\uff0c\u4e0d\u9700\u8981\u4fee\u6539\n# \u63cf\u8ff0\u6293\u53d6\u76ee\u6807 Pod \u7684\u9009\u53d6\u53ca\u6293\u53d6\u4efb\u52a1\u7684\u914d\u7f6e\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  # \u586b\u5199\u5bf9\u5e94 Pod \u7684 label(metadata/labels)\uff0cservice monitor \u4f1a\u53d6\u5bf9\u5e94\u7684\u503c\u4f5c\u4e3a job label \u7684\u503c\n  [ jobLabel: string ]\n  # \u628a\u5bf9\u5e94 service \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ targetLabels: []string ]\n  # \u628a\u5bf9\u5e94 Pod \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ podTargetLabels: []string ]\n  # \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ sampleLimit: uint64 ]\n  # \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ targetLimit: uint64 ]\n  # \u914d\u7f6e\u9700\u8981\u6293\u53d6\u66b4\u9732\u7684 Prometheus HTTP \u63a5\u53e3\uff0c\u53ef\u4ee5\u914d\u7f6e\u591a\u4e2a Endpoint\n  endpoints:\n  [ - <endpoint_config> ... ] # \u8be6\u89c1\u4e0b\u9762 endpoint \u8bf4\u660e\n  # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\uff0c\u4e0d\u586b\u4e3a\u9009\u53d6\u6240\u6709 namespace\n  [ namespaceSelector: ]\n    # \u662f\u5426\u9009\u53d6\u6240\u6709 namespace\n    [ any: bool ]\n    # \u9700\u8981\u9009\u53d6 namespace \u5217\u8868\n    [ matchNames: []string ]\n  # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 Pod [K8S metav1.LabelSelector](https://v1-17.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#labelselector-v1-meta)\n  selector:\n    [ matchExpressions: array ]\n      [ example: - {key: tier, operator: In, values: [cache]} ]\n    [ matchLabels: object ]\n      [ example: k8s-app: redis-exporter ]\n
                "},{"location":"end-user/insight/collection-manag/metric-collect.html#_2","title":"\u4e3e\u4f8b","text":"
                apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: go-demo # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus # namespace \u56fa\u5b9a\uff0c\u4e0d\u8981\u4fee\u6539\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  endpoints:\n    - interval: 30s\n      # \u586b\u5199 service yaml \u4e2d Prometheus Exporter \u5bf9\u5e94\u7684 Port \u7684 Name\n      port: 8080-8080-tcp\n      # \u586b\u5199 Prometheus Exporter \u5bf9\u5e94\u7684 Path \u7684\u503c\uff0c\u4e0d\u586b\u9ed8\u8ba4 /metrics\n      path: /metrics\n      relabelings:\n        # ** \u5fc5\u987b\u8981\u6709\u4e00\u4e2a label \u4e3a application\uff0c\u8fd9\u91cc\u5047\u8bbe k8s \u6709\u4e00\u4e2a label \u4e3a app\uff0c\n        # \u6211\u4eec\u901a\u8fc7 relabel \u7684 replace \u52a8\u4f5c\u628a\u5b83\u66ff\u6362\u6210\u4e86 application\n        - action: replace\n          sourceLabels: [__meta_kubernetes_pod_label_app]\n          targetLabel: application\n  # \u9009\u62e9\u8981\u76d1\u63a7 service \u6240\u5728\u7684 namespace\n  namespaceSelector:\n    matchNames:\n      - golang-demo\n  # \u586b\u5199\u8981\u76d1\u63a7 service \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 service\n  selector:\n    matchLabels:\n      app: golang-app-demo\n
                "},{"location":"end-user/insight/collection-manag/metric-collect.html#endpoint_config","title":"endpoint_config","text":"

                \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                # \u5bf9\u5e94 port \u7684\u540d\u79f0\uff0c\u8fd9\u91cc\u9700\u8981\u6ce8\u610f\u4e0d\u662f\u5bf9\u5e94\u7684\u7aef\u53e3\uff0c\u9ed8\u8ba4\uff1a80\uff0c\u5bf9\u5e94\u7684\u53d6\u503c\u5982\u4e0b\uff1a\n# ServiceMonitor: \u5bf9\u5e94 Service>spec/ports/name;\n# PodMonitor: \u8bf4\u660e\u5982\u4e0b\uff1a\n#   \u5982\u679c\u67e5\u770b\u7684\u662f Pod Yaml\uff0c\u53d6 pod.spec.containers.ports.name \u4e2d\u7684\u503c\u3002\n#   \u5982\u679c\u67e5\u770b\u7684\u662f Deployment/Daemonset/Statefulset\uff0c\u53d6\u503c spec.template.spec.containers.ports.name\n[ port: string | default = 80]\n# \u6293\u53d6\u4efb\u52a1\u8bf7\u6c42 URI \u8def\u5f84\n[ path: string | default = /metrics ]\n# \u6293\u53d6\u534f\u8bae: http \u6216\u8005 https\n[ scheme: string | default = http]\n# \u6293\u53d6\u8bf7\u6c42\u5bf9\u5e94 URL \u53c2\u6570\n[ params: map[string][]string]\n# \u6293\u53d6\u4efb\u52a1\u95f4\u9694\u7684\u65f6\u95f4\n[ interval: string | default = 30s ]\n# \u6293\u53d6\u4efb\u52a1\u8d85\u65f6\n[ scrapeTimeout: string | default = 30s]\n# \u6293\u53d6\u8fde\u63a5\u662f\u5426\u901a\u8fc7 TLS \u5b89\u5168\u901a\u9053\uff0c\u914d\u7f6e\u5bf9\u5e94\u7684 TLS \u53c2\u6570\n[ tlsConfig: TLSConfig ]\n# \u901a\u8fc7\u5bf9\u5e94\u7684\u6587\u4ef6\u8bfb\u53d6 bearer token \u5bf9\u5e94\u7684\u503c\uff0c\u653e\u5230\u6293\u53d6\u4efb\u52a1\u7684 header \u4e2d\n[ bearerTokenFile: string ]\n# \u901a\u8fc7\u5bf9\u5e94\u7684 K8S secret key \u8bfb\u53d6\u5bf9\u5e94\u7684 bearer token\uff0c\u6ce8\u610f secret namespace \u9700\u8981\u548c PodMonitor/ServiceMonitor \u76f8\u540c\n[ bearerTokenSecret: string ]\n# \u89e3\u51b3\u5f53\u6293\u53d6\u7684 label \u4e0e\u540e\u7aef Prometheus \u6dfb\u52a0 label \u51b2\u7a81\u65f6\u7684\u5904\u7406\u3002\n# true: \u4fdd\u7559\u6293\u53d6\u5230\u7684 label\uff0c\u5ffd\u7565\u4e0e\u540e\u7aef Prometheus \u51b2\u7a81\u7684 label\uff1b\n# false: \u5bf9\u51b2\u7a81\u7684 label\uff0c\u628a\u6293\u53d6\u7684 label \u524d\u52a0\u4e0a exported_<original-label>\uff0c\u6dfb\u52a0\u540e\u7aef Prometheus \u589e\u52a0\u7684 label\uff1b\n[ honorLabels: bool | default = false ]\n# \u662f\u5426\u4f7f\u7528\u6293\u53d6\u5230 target \u4e0a\u4ea7\u751f\u7684\u65f6\u95f4\u3002\n# true: \u5982\u679c target \u4e2d\u6709\u65f6\u95f4\uff0c\u4f7f\u7528 target \u4e0a\u7684\u65f6\u95f4\uff1b\n# false: \u76f4\u63a5\u5ffd\u7565 target \u4e0a\u7684\u65f6\u95f4\uff1b\n[ honorTimestamps: bool | default = true ]\n# basic auth \u7684\u8ba4\u8bc1\u4fe1\u606f\uff0cusername/password \u586b\u5199\u5bf9\u5e94 K8S secret key \u7684\u503c\uff0c\u6ce8\u610f secret namespace \u9700\u8981\u548c PodMonitor/ServiceMonitor \u76f8\u540c\u3002\n[ basicAuth: BasicAuth ]\n# \u901a\u8fc7\u4ee3\u7406\u670d\u52a1\u6765\u6293\u53d6 target \u4e0a\u7684\u6307\u6807\uff0c\u586b\u5199\u5bf9\u5e94\u7684\u4ee3\u7406\u670d\u52a1\u5730\u5740\n[ proxyUrl: string ]\n# \u5728\u6293\u53d6\u6570\u636e\u4e4b\u540e\uff0c\u628a target \u4e0a\u5bf9\u5e94\u7684 label \u901a\u8fc7 relabel \u7684\u673a\u5236\u8fdb\u884c\u6539\u5199\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\nrelabelings:\n[ - <relabel_config> ...]\n# \u6570\u636e\u6293\u53d6\u5b8c\u6210\u5199\u5165\u4e4b\u524d\uff0c\u901a\u8fc7 relabel \u673a\u5236\u8fdb\u884c\u6539\u5199 label \u5bf9\u5e94\u7684\u503c\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\nmetricRelabelings:\n[ - <relabel_config> ...]\n
                "},{"location":"end-user/insight/collection-manag/metric-collect.html#relabel_config","title":"relabel_config","text":"

                \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                # \u4ece\u539f\u59cb labels \u4e2d\u53d6\u54ea\u4e9b label \u7684\u503c\u8fdb\u884c relabel\uff0c\u53d6\u51fa\u6765\u7684\u503c\u901a\u8fc7 separator \u4e2d\u7684\u5b9a\u4e49\u8fdb\u884c\u5b57\u7b26\u62fc\u63a5\u3002\n# \u5982\u679c\u662f PodMonitor/ServiceMonitor \u5bf9\u5e94\u7684\u914d\u7f6e\u9879\u4e3a sourceLabels\n[ source_labels: '[' <labelname> [, ...] ']' ]\n# \u5b9a\u4e49\u9700\u8981 relabel \u7684 label \u503c\u62fc\u63a5\u7684\u5b57\u7b26\uff0c\u9ed8\u8ba4\u4e3a ';'\n[ separator: <string> | default = ; ]\n\n# action \u4e3a replace/hashmod \u65f6\uff0c\u901a\u8fc7 target_label \u6765\u6307\u5b9a\u5bf9\u5e94 label name\u3002\n# \u5982\u679c\u662f PodMonitor/ServiceMonitor \u5bf9\u5e94\u7684\u914d\u7f6e\u9879\u4e3a targetLabel\n[ target_label: <labelname> ]\n\n# \u9700\u8981\u5bf9 source labels \u5bf9\u5e94\u503c\u8fdb\u884c\u6b63\u5219\u5339\u914d\u7684\u8868\u8fbe\u5f0f\n[ regex: <regex> | default = (.*) ]\n\n# action \u4e3a hashmod \u65f6\u7528\u5230\uff0c\u6839\u636e source label \u5bf9\u5e94\u503c md5 \u53d6\u6a21\u503c\n[ modulus: <int> ]\n\n# action \u4e3a replace \u7684\u65f6\u5019\uff0c\u901a\u8fc7 replacement \u6765\u5b9a\u4e49\u5f53 regex \u5339\u914d\u4e4b\u540e\u9700\u8981\u66ff\u6362\u7684\u8868\u8fbe\u5f0f\uff0c\u53ef\u4ee5\u7ed3\u5408 regex \u6b63\u89c4\u5219\u8868\u8fbe\u5f0f\u66ff\u6362\n[ replacement: <string> | default = $1 ]\n\n# \u57fa\u4e8e regex \u5339\u914d\u5230\u7684\u503c\u8fdb\u884c\u76f8\u5173\u7684\u64cd\u4f5c\uff0c\u5bf9\u5e94\u7684 action \u5982\u4e0b\uff0c\u9ed8\u8ba4\u4e3a replace\uff1a\n# replace: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u901a\u8fc7 replacement \u4e2d\u5b9a\u4e49\u7684\u503c\u66ff\u6362\u76f8\u5e94\u7684\u503c\uff0c\u5e76\u901a\u8fc7 target_label \u8bbe\u503c\u5e76\u6dfb\u52a0\u76f8\u5e94\u7684 label\n# keep: \u5982\u679c regex \u6ca1\u6709\u5339\u914d\u5230\uff0c\u4e22\u5f03\n# drop: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u4e22\u5f03\n# hashmod: \u901a\u8fc7 moduels \u6307\u5b9a\u7684\u503c\u628a source label \u5bf9\u5e94\u7684 md5 \u503c\u53d6\u6a21\n# \u5e76\u6dfb\u52a0\u4e00\u4e2a\u65b0\u7684 label\uff0clabel name \u901a\u8fc7 target_label \u6307\u5b9a\n# labelmap: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u4f7f\u7528 replacement \u66ff\u6362\u5bf9\u5c31\u7684 label name\n# labeldrop: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u5220\u9664\u5bf9\u5e94\u7684 label\n# labelkeep: \u5982\u679c regex \u6ca1\u6709\u5339\u914d\u5230\uff0c\u5220\u9664\u5bf9\u5e94\u7684 label\n[ action: <relabel_action> | default = replace ]\n
                "},{"location":"end-user/insight/collection-manag/probe-module.html","title":"\u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f","text":"

                Insight \u4f7f\u7528 Prometheus \u5b98\u65b9\u63d0\u4f9b\u7684 Blackbox Exporter \u4f5c\u4e3a\u9ed1\u76d2\u76d1\u63a7\u89e3\u51b3\u65b9\u6848\uff0c\u53ef\u4ee5\u901a\u8fc7 HTTP\u3001HTTPS\u3001DNS\u3001ICMP\u3001TCP \u548c gRPC \u65b9\u5f0f\u5bf9\u76ee\u6807\u5b9e\u4f8b\u8fdb\u884c\u68c0\u6d4b\u3002\u53ef\u7528\u4e8e\u4ee5\u4e0b\u4f7f\u7528\u573a\u666f\uff1a

                • HTTP/HTTPS\uff1aURL/API\u53ef\u7528\u6027\u68c0\u6d4b
                • ICMP\uff1a\u4e3b\u673a\u5b58\u6d3b\u68c0\u6d4b
                • TCP\uff1a\u7aef\u53e3\u5b58\u6d3b\u68c0\u6d4b
                • DNS\uff1a\u57df\u540d\u89e3\u6790

                \u5728\u672c\u6587\u4e2d\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u5df2\u6709\u7684 Blackbox ConfigMap \u4e2d\u914d\u7f6e\u81ea\u5b9a\u4e49\u7684\u63a2\u6d4b\u65b9\u5f0f\u3002

                Insight \u9ed8\u8ba4\u672a\u5f00\u542f ICMP \u63a2\u6d4b\u65b9\u5f0f\uff0c\u56e0\u4e3a ICMP \u9700\u8981\u66f4\u9ad8\u6743\u9650\uff0c\u56e0\u6b64\uff0c\u6211\u4eec\u5c06\u4ee5 ICMP \u548c HTTP \u63a2\u6d4b\u65b9\u5f0f\u4f5c\u4e3a\u793a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u4fee\u6539 ConfigMap \u4ee5\u5b9e\u73b0\u81ea\u5b9a\u4e49\u7684 ICMP \u548c HTTP \u63a2\u6d4b\u3002

                "},{"location":"end-user/insight/collection-manag/probe-module.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u8fdb\u5165\u76ee\u6807\u96c6\u7fa4\u7684\u8be6\u60c5\uff1b
                2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\uff0c\u9009\u62e9 \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff1b
                3. \u627e\u5230\u540d\u4e3a insight-agent-prometheus-blackbox-exporter \u7684\u914d\u7f6e\u9879\uff0c\u70b9\u51fb \u7f16\u8f91 YAML\uff1b

                  \u5728 modules \u4e0b\u6dfb\u52a0\u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f\uff1a

                HTTP \u63a2\u6d4bICMP \u63a2\u6d4b
                module:\n  http_2xx:\n    prober: http\n    timeout: 5s\n    http:\n      valid_http_versions: [HTTP/1.1, HTTP/2]\n      valid_status_codes: []  # Defaults to 2xx\n      method: GET\n

                module:\n  ICMP: # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b\n    prober: icmp\n    timeout: 5s\n    icmp:\n      preferred_ip_protocol: ip4\nicmp_example: # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b 2\n  prober: icmp\n  timeout: 5s\n  icmp:\n    preferred_ip_protocol: \"ip4\"\n    source_ip_address: \"127.0.0.1\"\n
                \u7531\u4e8e ICMP \u9700\u8981\u66f4\u9ad8\u6743\u9650\uff0c\u56e0\u6b64\uff0c\u6211\u4eec\u8fd8\u9700\u8981\u63d0\u5347 Pod \u6743\u9650\uff0c\u5426\u5219\u4f1a\u51fa\u73b0 operation not permitted \u7684\u9519\u8bef\u3002\u6709\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\u63d0\u5347\u6743\u9650\uff1a

                • \u65b9\u5f0f\u4e00\uff1a \u76f4\u63a5\u7f16\u8f91 BlackBox Exporter \u90e8\u7f72\u6587\u4ef6\u5f00\u542f

                  apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: insight-agent-prometheus-blackbox-exporter\n  namespace: insight-system\nspec:\n  template:\n    spec:\n      containers:\n        - name: blackbox-exporter\n          image: # ... (image, args, ports \u7b49\u4fdd\u6301\u4e0d\u53d8)\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            allowPrivilegeEscalation: false\n            capabilities:\n              add:\n              - NET_RAW\n              drop:\n              - ALL\n            readOnlyRootFilesystem: true\n            runAsGroup: 0\n            runAsNonRoot: false\n            runAsUser: 0\n
                • \u65b9\u5f0f\u4e8c\uff1a \u901a\u8fc7 Helm Upgrade \u65b9\u5f0f\u63d0\u6743

                  prometheus-blackbox-exporter:\n  enabled: true\n  securityContext:\n    runAsUser: 0\n    runAsGroup: 0\n    readOnlyRootFilesystem: true\n    runAsNonRoot: false\n    allowPrivilegeEscalation: false\n    capabilities:\n      add: [\"NET_RAW\"]\n

                Info

                \u66f4\u591a\u63a2\u6d4b\u65b9\u5f0f\u53ef\u53c2\u8003 blackbox_exporter Configuration\u3002

                "},{"location":"end-user/insight/collection-manag/probe-module.html#_3","title":"\u5176\u4ed6\u53c2\u8003","text":"

                \u4ee5\u4e0b YAML \u6587\u4ef6\u4e2d\u5305\u542b\u4e86 HTTP\u3001TCP\u3001SMTP\u3001ICMP\u3001DNS \u7b49\u591a\u79cd\u63a2\u6d4b\u65b9\u5f0f\uff0c\u53ef\u6839\u636e\u9700\u6c42\u81ea\u884c\u4fee\u6539 insight-agent-prometheus-blackbox-exporter \u7684\u914d\u7f6e\u6587\u4ef6\u3002

                \u70b9\u51fb\u67e5\u770b\u5b8c\u6574\u7684 YAML \u6587\u4ef6
                kind: ConfigMap\napiVersion: v1\nmetadata:\n  name: insight-agent-prometheus-blackbox-exporter\n  namespace: insight-system\n  labels:\n    app.kubernetes.io/instance: insight-agent\n    app.kubernetes.io/managed-by: Helm\n    app.kubernetes.io/name: prometheus-blackbox-exporter\n    app.kubernetes.io/version: v0.24.0\n    helm.sh/chart: prometheus-blackbox-exporter-8.8.0\n  annotations:\n    meta.helm.sh/release-name: insight-agent\n    meta.helm.sh/release-namespace: insight-system\ndata:\n  blackbox.yaml: |\n    modules:\n      HTTP_GET:\n        prober: http\n        timeout: 5s\n        http:\n          method: GET\n          valid_http_versions: [\"HTTP/1.1\", \"HTTP/2.0\"]\n          follow_redirects: true\n          preferred_ip_protocol: \"ip4\"\n      HTTP_POST:\n        prober: http\n        timeout: 5s\n        http:\n          method: POST\n          body_size_limit: 1MB\n      TCP:\n        prober: tcp\n        timeout: 5s\n      # \u9ed8\u8ba4\u672a\u5f00\u542f\uff1a\n      # ICMP:\n      #   prober: icmp\n      #   timeout: 5s\n      #   icmp:\n      #     preferred_ip_protocol: ip4\n      SSH:\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n          - expect: \"^SSH-2.0-\"\n      POP3S:\n        prober: tcp\n        tcp:\n          query_response:\n          - expect: \"^+OK\"\n          tls: true\n          tls_config:\n            insecure_skip_verify: false\n      http_2xx_example:               # http \u63a2\u6d4b\u793a\u4f8b\n        prober: http\n        timeout: 5s                   # \u63a2\u6d4b\u7684\u8d85\u65f6\u65f6\u95f4\n        http:\n          valid_http_versions: [\"HTTP/1.1\", \"HTTP/2.0\"]                   # \u8fd4\u56de\u4fe1\u606f\u4e2d\u7684 Version\uff0c\u4e00\u822c\u9ed8\u8ba4\u5373\u53ef\n          valid_status_codes: []  # Defaults to 2xx                       # \u6709\u6548\u7684\u8fd4\u56de\u7801\u8303\u56f4\uff0c\u5982\u679c\u8bf7\u6c42\u7684\u8fd4\u56de\u7801\u5728\u8be5\u8303\u56f4\u5185\uff0c\u89c6\u4e3a\u63a2\u6d4b\u6210\u529f\n          method: GET                 # \u8bf7\u6c42\u65b9\u6cd5\n          headers:                    # \u8bf7\u6c42\u7684\u5934\u90e8\n            Host: vhost.example.com\n            Accept-Language: en-US\n            Origin: example.com\n          no_follow_redirects: false  # \u662f\u5426\u5141\u8bb8\u91cd\u5b9a\u5411\n          fail_if_ssl: false   \n          fail_if_not_ssl: false\n          fail_if_body_matches_regexp:\n            - \"Could not connect to database\"\n          fail_if_body_not_matches_regexp:\n            - \"Download the latest version here\"\n          fail_if_header_matches: # Verifies that no cookies are set\n            - header: Set-Cookie\n              allow_missing: true\n              regexp: '.*'\n          fail_if_header_not_matches:\n            - header: Access-Control-Allow-Origin\n              regexp: '(\\*|example\\.com)'\n          tls_config:                  # \u9488\u5bf9 https \u8bf7\u6c42\u7684 tls \u7684\u914d\u7f6e\n            insecure_skip_verify: false\n          preferred_ip_protocol: \"ip4\" # defaults to \"ip6\"                 # \u9996\u9009\u7684 IP \u534f\u8bae\u7248\u672c\n          ip_protocol_fallback: false  # no fallback to \"ip6\"            \n      http_post_2xx:                   # \u5e26 Body \u7684 http \u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: http\n        timeout: 5s\n        http:\n          method: POST                 # \u63a2\u6d4b\u7684\u8bf7\u6c42\u65b9\u6cd5\n          headers:\n            Content-Type: application/json\n          body: '{\"username\":\"admin\",\"password\":\"123456\"}'                   # \u63a2\u6d4b\u65f6\u643a\u5e26\u7684 body\n      http_basic_auth_example:         # \u5e26\u7528\u6237\u540d\u5bc6\u7801\u7684\u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: http\n        timeout: 5s\n        http:\n          method: POST\n          headers:\n            Host: \"login.example.com\"\n          basic_auth:                  # \u63a2\u6d4b\u65f6\u8981\u52a0\u7684\u7528\u6237\u540d\u5bc6\u7801\n            username: \"username\"\n            password: \"mysecret\"\n      http_custom_ca_example:\n        prober: http\n        http:\n          method: GET\n          tls_config:                  # \u6307\u5b9a\u63a2\u6d4b\u65f6\u4f7f\u7528\u7684\u6839\u8bc1\u4e66\n            ca_file: \"/certs/my_cert.crt\"\n      http_gzip:\n        prober: http\n        http:\n          method: GET\n          compression: gzip            # \u63a2\u6d4b\u65f6\u4f7f\u7528\u7684\u538b\u7f29\u65b9\u6cd5\n      http_gzip_with_accept_encoding:\n        prober: http\n        http:\n          method: GET\n          compression: gzip\n          headers:\n            Accept-Encoding: gzip\n      tls_connect:                     # TCP \u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          tls: true                    # \u662f\u5426\u4f7f\u7528 TLS\n      tcp_connect_example:\n        prober: tcp\n        timeout: 5s\n      imap_starttls:                   # \u63a2\u6d4b IMAP \u90ae\u7bb1\u670d\u52a1\u5668\u7684\u914d\u7f6e\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - expect: \"OK.*STARTTLS\"\n            - send: \". STARTTLS\"\n            - expect: \"OK\"\n            - starttls: true\n            - send: \". capability\"\n            - expect: \"CAPABILITY IMAP4rev1\"\n      smtp_starttls:                   # \u63a2\u6d4b SMTP \u90ae\u7bb1\u670d\u52a1\u5668\u7684\u914d\u7f6e\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - expect: \"^220 ([^ ]+) ESMTP (.+)$\"\n            - send: \"EHLO prober\\r\"\n            - expect: \"^250-STARTTLS\"\n            - send: \"STARTTLS\\r\"\n            - expect: \"^220\"\n            - starttls: true\n            - send: \"EHLO prober\\r\"\n            - expect: \"^250-AUTH\"\n            - send: \"QUIT\\r\"\n      irc_banner_example:\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - send: \"NICK prober\"\n            - send: \"USER prober prober prober :prober\"\n            - expect: \"PING :([^ ]+)\"\n              send: \"PONG ${1}\"\n            - expect: \"^:[^ ]+ 001\"\n      # icmp_example:                    # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b\n      #   prober: icmp\n      #   timeout: 5s\n      #   icmp:\n      #     preferred_ip_protocol: \"ip4\"\n      #     source_ip_address: \"127.0.0.1\"\n      dns_udp_example:                 # \u4f7f\u7528 UDP \u8fdb\u884c DNS \u67e5\u8be2\u7684\u793a\u4f8b\n        prober: dns\n        timeout: 5s\n        dns:\n          query_name: \"www.prometheus.io\"                 # \u8981\u89e3\u6790\u7684\u57df\u540d\n          query_type: \"A\"              # \u8be5\u57df\u540d\u5bf9\u5e94\u7684\u7c7b\u578b\n          valid_rcodes:\n          - NOERROR\n          validate_answer_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n            fail_if_all_match_regexp:\n            - \".*127.0.0.1\"\n            fail_if_not_matches_regexp:\n            - \"www.prometheus.io.\\t300\\tIN\\tA\\t127.0.0.1\"\n            fail_if_none_matches_regexp:\n            - \"127.0.0.1\"\n          validate_authority_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n          validate_additional_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n      dns_soa:\n        prober: dns\n        dns:\n          query_name: \"prometheus.io\"\n          query_type: \"SOA\"\n      dns_tcp_example:               # \u4f7f\u7528 TCP \u8fdb\u884c DNS \u67e5\u8be2\u7684\u793a\u4f8b\n        prober: dns\n        dns:\n          transport_protocol: \"tcp\" # defaults to \"udp\"\n          preferred_ip_protocol: \"ip4\" # defaults to \"ip6\"\n          query_name: \"www.prometheus.io\"\n
                "},{"location":"end-user/insight/collection-manag/service-monitor.html","title":"\u914d\u7f6e\u670d\u52a1\u53d1\u73b0\u89c4\u5219","text":"

                \u53ef\u89c2\u6d4b Insight \u652f\u6301\u901a\u8fc7 \u5bb9\u5668\u7ba1\u7406 \u521b\u5efa CRD ServiceMonitor \u7684\u65b9\u5f0f\u6765\u6ee1\u8db3\u60a8\u81ea\u5b9a\u4e49\u670d\u52a1\u53d1\u73b0\u7684\u91c7\u96c6\u9700\u6c42\u3002 \u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 ServiceMonitor \u81ea\u884c\u5b9a\u4e49 Pod \u53d1\u73b0\u7684 Namespace \u8303\u56f4\u4ee5\u53ca\u901a\u8fc7 matchLabel \u6765\u9009\u62e9\u76d1\u542c\u7684 Service\u3002

                "},{"location":"end-user/insight/collection-manag/service-monitor.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u96c6\u7fa4\u5df2\u5b89\u88c5 Helm \u5e94\u7528 insight-agent \u4e14\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                "},{"location":"end-user/insight/collection-manag/service-monitor.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u91c7\u96c6\u7ba1\u7406 \uff0c\u67e5\u770b\u5168\u90e8\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u72b6\u6001\u3002

                2. \u70b9\u51fb\u5217\u8868\u4e2d\u7684\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\u8fdb\u5165\u91c7\u96c6\u914d\u7f6e\u8be6\u60c5\u3002

                3. \u70b9\u51fb\u94fe\u63a5\u8df3\u8f6c\u5230 \u5bb9\u5668\u7ba1\u7406 \u4e2d\u521b\u5efa Service Monitor\u3002

                  apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: micrometer-demo # (1)\n  namespace: insight-system # (2)\n    labels: \n      operator.insight.io/managed-by: insight\nspec:\n  endpoints: # (3)\n    - honorLabels: true\n        interval: 15s\n        path: /actuator/prometheus\n        port: http\n  namespaceSelector: # (4)\n    matchNames:\n      - insight-system  # (5)\n  selector: # (6)\n    matchLabels:\n          micrometer-prometheus-discovery: \"true\"\n
                  1. \u6307\u5b9a ServiceMonitor \u7684\u540d\u79f0
                  2. \u6307\u5b9a ServiceMonitor \u7684\u547d\u540d\u7a7a\u95f4
                  3. \u8fd9\u662f\u670d\u52a1\u7aef\u70b9\uff0c\u4ee3\u8868 Prometheus \u6240\u9700\u7684\u91c7\u96c6 Metrics \u7684\u5730\u5740\u3002 endpoints \u4e3a\u4e00\u4e2a\u6570\u7ec4\uff0c \u540c\u65f6\u53ef\u4ee5\u521b\u5efa\u591a\u4e2a endpoints \u3002\u6bcf\u4e2a endpoints \u5305\u542b\u4e09\u4e2a\u5b57\u6bb5\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u7684\u542b\u4e49\u5982\u4e0b\uff1a

                    • interval \uff1a\u6307\u5b9a Prometheus \u5bf9\u5f53\u524d endpoints \u91c7\u96c6\u7684\u5468\u671f\u3002\u5355\u4f4d\u4e3a\u79d2\uff0c\u5728\u672c\u6b21\u793a\u4f8b\u4e2d\u8bbe\u5b9a\u4e3a 15s \u3002
                    • path \uff1a\u6307\u5b9a Prometheus \u7684\u91c7\u96c6\u8def\u5f84\u3002\u5728\u672c\u6b21\u793a\u4f8b\u4e2d\uff0c\u6307\u5b9a\u4e3a /actuator/prometheus \u3002
                    • port \uff1a\u6307\u5b9a\u91c7\u96c6\u6570\u636e\u9700\u8981\u901a\u8fc7\u7684\u7aef\u53e3\uff0c\u8bbe\u7f6e\u7684\u7aef\u53e3\u4e3a\u91c7\u96c6\u7684 Service \u7aef\u53e3\u6240\u8bbe\u7f6e\u7684 name \u3002
                  4. \u8fd9\u662f\u9700\u8981\u53d1\u73b0\u7684 Service \u7684\u8303\u56f4\u3002 namespaceSelector \u5305\u542b\u4e24\u4e2a\u4e92\u65a5\u5b57\u6bb5\uff0c\u5b57\u6bb5\u7684\u542b\u4e49\u5982\u4e0b\uff1a

                    • any \uff1a\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u503c true \uff0c\u5f53\u8be5\u5b57\u6bb5\u88ab\u8bbe\u7f6e\u65f6\uff0c\u5c06\u76d1\u542c\u6240\u6709\u7b26\u5408 Selector \u8fc7\u6ee4\u6761\u4ef6\u7684 Service \u7684\u53d8\u52a8\u3002
                    • matchNames \uff1a\u6570\u7ec4\u503c\uff0c\u6307\u5b9a\u9700\u8981\u76d1\u542c\u7684 namespace \u7684\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u53ea\u60f3\u76d1\u542c default \u548c insight-system \u4e24\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u7684 Service\uff0c\u90a3\u4e48 matchNames \u8bbe\u7f6e\u5982\u4e0b\uff1a

                      namespaceSelector:\n  matchNames:\n    - default\n    - insight-system\n
                  5. \u6b64\u5904\u5339\u914d\u7684\u547d\u540d\u7a7a\u95f4\u4e3a\u9700\u8981\u66b4\u9732\u6307\u6807\u7684\u5e94\u7528\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

                  6. \u7528\u4e8e\u9009\u62e9 Service
                "},{"location":"end-user/insight/dashboard/dashboard.html","title":"\u4eea\u8868\u76d8","text":"

                Grafana \u662f\u4e00\u79cd\u5f00\u6e90\u7684\u6570\u636e\u53ef\u89c6\u5316\u548c\u76d1\u63a7\u5e73\u53f0\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u56fe\u8868\u548c\u9762\u677f\uff0c\u7528\u4e8e\u5b9e\u65f6\u76d1\u63a7\u3001\u5206\u6790\u548c\u53ef\u89c6\u5316\u5404\u79cd\u6570\u636e\u6e90\u7684\u6307\u6807\u548c\u65e5\u5fd7\u3002\u53ef\u89c2\u6d4b\u6027 Insight \u4f7f\u7528\u5f00\u6e90 Grafana \u63d0\u4f9b\u76d1\u63a7\u670d\u52a1\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u591a\u7ef4\u5ea6\u67e5\u770b\u8d44\u6e90\u6d88\u8017\u60c5\u51b5\uff0c

                \u5173\u4e8e\u5f00\u6e90 Grafana \u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 Grafana \u5b98\u65b9\u6587\u6863\u3002

                "},{"location":"end-user/insight/dashboard/dashboard.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u4eea\u8868\u76d8 \u3002

                  • \u5728 Insight /\u6982\u89c8 \u4eea\u8868\u76d8\u4e2d\uff0c\u53ef\u67e5\u770b\u591a\u9009\u96c6\u7fa4\u7684\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff0c\u5e76\u4ee5\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u7b49\u591a\u4e2a\u7ef4\u5ea6\u5206\u6790\u4e86\u8d44\u6e90\u4f7f\u7528\u3001\u7f51\u7edc\u3001\u5b58\u50a8\u7b49\u60c5\u51b5\u3002

                  • \u70b9\u51fb\u4eea\u8868\u76d8\u5de6\u4e0a\u4fa7\u7684\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\u3002

                  • \u70b9\u51fb\u4eea\u8868\u76d8\u53f3\u4e0b\u4fa7\u53ef\u5207\u6362\u67e5\u8be2\u7684\u65f6\u95f4\u8303\u56f4\u3002

                2. Insight \u7cbe\u9009\u591a\u4e2a\u793e\u533a\u63a8\u8350\u4eea\u8868\u76d8\uff0c\u53ef\u4ece\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7b49\u591a\u4e2a\u7ef4\u5ea6\u8fdb\u884c\u76d1\u63a7\u3002\u70b9\u51fb insight-system / Insight /\u6982\u89c8 \u533a\u57df\u5207\u6362\u4eea\u8868\u76d8\u3002

                Note

                1. \u8bbf\u95ee Grafana UI \u8bf7\u53c2\u8003\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 Grafana\u3002

                2. \u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8\u8bf7\u53c2\u8003\u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8\u3002

                "},{"location":"end-user/insight/dashboard/import-dashboard.html","title":"\u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8","text":"

                \u901a\u8fc7\u4f7f\u7528 Grafana CRD\uff0c\u53ef\u4ee5\u5c06\u4eea\u8868\u677f\u7684\u7ba1\u7406\u548c\u90e8\u7f72\u7eb3\u5165\u5230 Kubernetes \u7684\u751f\u547d\u5468\u671f\u7ba1\u7406\u4e2d\uff0c\u5b9e\u73b0\u4eea\u8868\u677f\u7684\u7248\u672c\u63a7\u5236\u3001\u81ea\u52a8\u5316\u90e8\u7f72\u548c\u96c6\u7fa4\u7ea7\u7684\u7ba1\u7406\u3002\u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 CRD \u548c UI \u754c\u9762\u5bfc\u5165\u81ea\u5b9a\u4e49\u7684\u4eea\u8868\u76d8\u3002

                "},{"location":"end-user/insight/dashboard/import-dashboard.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0 \u5e73\u53f0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u9009\u62e9 kpanda-global-cluster \u3002

                2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u5728\u5217\u8868\u4e2d\u67e5\u627e grafanadashboards.integreatly.org \u6587\u4ef6\uff0c\u8fdb\u5165\u8be6\u60c5\u3002

                3. \u70b9\u51fb Yaml \u521b\u5efa \uff0c\u4f7f\u7528\u4ee5\u4e0b\u6a21\u677f\uff0c\u5728 Json \u5b57\u6bb5\u4e2d\u66ff\u6362\u4eea\u8868\u76d8 JSON\u3002

                  • namespace \uff1a\u586b\u5199\u76ee\u6807\u547d\u540d\u7a7a\u95f4\uff1b
                  • name \uff1a\u586b\u5199\u4eea\u8868\u76d8\u7684\u540d\u79f0\u3002
                  • label \uff1a\u5fc5\u586b\uff0c operator.insight.io/managed-by: insight \u3002
                  apiVersion: integreatly.org/v1alpha1\nkind: GrafanaDashboard\nmetadata:\n  labels:\n    app: insight-grafana-operator\n    operator.insight.io/managed-by: insight\n  name: sample-dashboard\n  namespace: insight-system\nspec:\n  json: >\n    {\n      \"id\": null,\n      \"title\": \"Simple Dashboard\",\n      \"tags\": [],\n      \"style\": \"dark\",\n      \"timezone\": \"browser\",\n      \"editable\": true,\n      \"hideControls\": false,\n      \"graphTooltip\": 1,\n      \"panels\": [],\n      \"time\": {\n        \"from\": \"now-6h\",\n        \"to\": \"now\"\n      },\n      \"timepicker\": {\n        \"time_options\": [],\n        \"refresh_intervals\": []\n      },\n      \"templating\": {\n        \"list\": []\n      },\n      \"annotations\": {\n        \"list\": []\n      },\n      \"refresh\": \"5s\",\n      \"schemaVersion\": 17,\n      \"version\": 0,\n      \"links\": []\n    }\n
                4. \u70b9\u51fb \u786e\u8ba4 \u540e\uff0c\u7a0d\u7b49\u7247\u523b\u5373\u53ef\u5728 \u4eea\u8868\u76d8 \u4e2d\u67e5\u770b\u521a\u521a\u5bfc\u5165\u7684\u4eea\u8868\u76d8\u3002

                Info

                \u81ea\u5b9a\u4e49\u8bbe\u8ba1\u4eea\u8868\u76d8\uff0c\u8bf7\u53c2\u8003\u6dfb\u52a0\u4eea\u8868\u76d8\u9762\u677f\u3002

                "},{"location":"end-user/insight/dashboard/login-grafana.html","title":"\u8bbf\u95ee\u539f\u751f Grafana","text":"

                Insight \u501f\u52a9 Grafana \u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u53ef\u89c6\u5316\u80fd\u529b\uff0c\u540c\u65f6\u4fdd\u7559\u4e86\u8bbf\u95ee\u539f\u751f Grafana \u7684\u5165\u53e3\u3002

                "},{"location":"end-user/insight/dashboard/login-grafana.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u6d4f\u89c8\u5668\uff0c\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165 Grafana \u5730\u5740\u3002

                  \u8bbf\u95ee\u5730\u5740\uff1a http://ip:\u8bbf\u95ee\u7aef\u53e3/ui/insight-grafana/login

                  \u4f8b\u5982\uff1a http://10.6.10.233:30209/ui/insight-grafana/login

                2. \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u767b\u5f55\uff0c\u4f7f\u7528\u9ed8\u8ba4\u7528\u6237\u540d\u3001\u5bc6\u7801\uff08admin/admin\uff09\u8fdb\u884c\u767b\u5f55\u3002

                3. \u70b9\u51fb Log in \u5b8c\u6210\u767b\u5f55\u3002

                "},{"location":"end-user/insight/dashboard/overview.html","title":"\u6982\u89c8","text":"

                \u6982\u7387 \u4ec5\u7edf\u8ba1\u5df2\u5b89\u88c5 insight-agent \u4e14\u5176\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u7684\u96c6\u7fa4\u6570\u636e\u3002\u53ef\u5728\u6982\u89c8\u4e2d\u591a\u96c6\u7fa4\u7684\u8d44\u6e90\u6982\u51b5\uff1a

                • \u544a\u8b66\u7edf\u8ba1\uff1a\u53ef\u67e5\u770b\u6240\u6709\u96c6\u7fa4\u7684\u6b63\u5728\u544a\u8b66\u7684\u7edf\u8ba1\u6570\u636e\u3002
                • \u8d44\u6e90\u6d88\u8017\uff1a\u53ef\u6309 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u548c\u78c1\u76d8\u4f7f\u7528\u7387\u5206\u522b\u67e5\u770b\u8fd1\u4e00\u5c0f\u65f6 TOP5 \u96c6\u7fa4\u3001\u8282\u70b9\u7684\u8d44\u6e90\u53d8\u5316\u8d8b\u52bf\u3002
                • \u9ed8\u8ba4\u6309\u7167\u6839\u636e CPU \u4f7f\u7528\u7387\u6392\u5e8f\u3002\u60a8\u53ef\u5207\u6362\u6307\u6807\u5207\u6362\u96c6\u7fa4\u3001\u8282\u70b9\u7684\u6392\u5e8f\u65b9\u5f0f\u3002
                • \u8d44\u6e90\u53d8\u5316\u8d8b\u52bf\uff1a\u53ef\u67e5\u770b\u8fd1 15 \u5929\u7684\u8282\u70b9\u4e2a\u6570\u8d8b\u52bf\u4ee5\u53ca\u4e00\u5c0f\u65f6 Pod \u7684\u8fd0\u884c\u8d8b\u52bf\u3002
                • \u670d\u52a1\u8bf7\u6c42\u6392\u884c\uff1a\u53ef\u67e5\u770b\u591a\u96c6\u7fa4\u4e2d\u8bf7\u6c42\u5ef6\u65f6\u3001\u9519\u8bef\u7387\u6392\u884c TOP5 \u7684\u670d\u52a1\u53ca\u6240\u5728\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u3002
                "},{"location":"end-user/insight/dashboard/overview.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u6982\u89c8 \u3002

                "},{"location":"end-user/insight/data-query/log.html","title":"\u65e5\u5fd7\u67e5\u8be2","text":"

                Insight \u9ed8\u8ba4\u91c7\u96c6\u8282\u70b9\u65e5\u5fd7\u3001\u5bb9\u5668\u65e5\u5fd7\u4ee5\u53ca kubernetes \u5ba1\u8ba1\u65e5\u5fd7\u3002\u5728\u65e5\u5fd7\u67e5\u8be2\u9875\u9762\u4e2d\uff0c\u53ef\u67e5\u8be2\u767b\u5f55\u8d26\u53f7\u6743\u9650\u5185\u7684\u6807\u51c6\u8f93\u51fa (stdout) \u65e5\u5fd7\uff0c\u5305\u62ec\u8282\u70b9\u65e5\u5fd7\u3001\u4ea7\u54c1\u65e5\u5fd7\u3001Kubenetes \u5ba1\u8ba1\u65e5\u5fd7\u7b49\uff0c\u5feb\u901f\u5728\u5927\u91cf\u65e5\u5fd7\u4e2d\u67e5\u8be2\u5230\u6240\u9700\u7684\u65e5\u5fd7\uff0c\u540c\u65f6\u7ed3\u5408\u65e5\u5fd7\u7684\u6765\u6e90\u4fe1\u606f\u548c\u4e0a\u4e0b\u6587\u539f\u59cb\u6570\u636e\u8f85\u52a9\u5b9a\u4f4d\u95ee\u9898\u3002

                "},{"location":"end-user/insight/data-query/log.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002
                2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u65e5\u5fd7 \u3002

                  • \u9ed8\u8ba4\u67e5\u8be2\u6700\u8fd1 24 \u5c0f\u65f6\uff1b
                  • \u7b2c\u4e00\u6b21\u8fdb\u5165\u65f6\uff0c\u9ed8\u8ba4\u6839\u636e\u767b\u5f55\u8d26\u53f7\u6743\u9650\u67e5\u8be2\u6709\u6743\u9650\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u7684\u5bb9\u5668\u65e5\u5fd7\uff1b

                3. \u9876\u90e8 Tab \u9ed8\u8ba4\u8fdb\u5165 \u666e\u901a\u67e5\u8be2 \u3002

                  1. \u70b9\u51fb \u7b5b\u9009 \u5c55\u5f00\u8fc7\u6ee4\u9762\u677f\uff0c\u53ef\u5207\u6362\u65e5\u5fd7\u641c\u7d22\u6761\u4ef6\u548c\u7c7b\u578b\u3002
                  2. \u65e5\u5fd7\u7c7b\u578b\uff1a

                    • \u5bb9\u5668\u65e5\u5fd7 \uff1a\u8bb0\u5f55\u96c6\u7fa4\u4e2d\u5bb9\u5668\u5185\u90e8\u7684\u6d3b\u52a8\u548c\u4e8b\u4ef6\uff0c\u5305\u62ec\u5e94\u7528\u7a0b\u5e8f\u7684\u8f93\u51fa\u3001\u9519\u8bef\u6d88\u606f\u3001\u8b66\u544a\u548c\u8c03\u8bd5\u4fe1\u606f\u7b49\u3002\u652f\u6301\u901a\u8fc7\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u3001\u5bb9\u5668\u8fc7\u6ee4\u65e5\u5fd7\u3002
                    • \u8282\u70b9\u65e5\u5fd7 \uff1a\u8bb0\u5f55\u96c6\u7fa4\u4e2d\u6bcf\u4e2a\u8282\u70b9\u7684\u7cfb\u7edf\u7ea7\u522b\u65e5\u5fd7\u3002\u8fd9\u4e9b\u65e5\u5fd7\u5305\u542b\u8282\u70b9\u7684\u64cd\u4f5c\u7cfb\u7edf\u3001\u5185\u6838\u3001\u670d\u52a1\u548c\u7ec4\u4ef6\u7684\u76f8\u5173\u4fe1\u606f\u3002\u652f\u6301\u901a\u8fc7\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u6587\u4ef6\u8def\u5f84\u8fc7\u6ee4\u65e5\u5fd7\u3002
                  3. \u652f\u6301\u5bf9\u5355\u4e2a\u5173\u952e\u5b57\u8fdb\u884c\u6a21\u7cca\u641c\u7d22\u3002

                4. \u9876\u90e8\u5207\u6362 Tab \u9009\u62e9 Lucene \u8bed\u6cd5\u67e5\u8be2 \u3002

                  \u7b2c\u4e00\u6b21\u8fdb\u5165\u65f6\uff0c\u9ed8\u8ba4\u9009\u62e9\u767b\u5f55\u8d26\u53f7\u6743\u9650\u67e5\u8be2\u6709\u6743\u9650\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u7684\u5bb9\u5668\u65e5\u5fd7\u3002

                  Lucene \u8bed\u6cd5\u8bf4\u660e\uff1a

                  1. \u4f7f\u7528 \u903b\u8f91\u64cd\u4f5c\u7b26\uff08AND\u3001OR\u3001NOT\u3001\"\" \uff09\u7b26\u67e5\u8be2\u591a\u4e2a\u5173\u952e\u5b57\uff0c\u4f8b\u5982\uff1akeyword1 AND (keyword2 OR keyword3) NOT keyword4\u3002
                  2. \u4f7f\u7528\u6ce2\u6d6a\u53f7 (~) \u5b9e\u73b0\u6a21\u7cca\u67e5\u8be2\uff0c\u5728 \"~\" \u540e\u53ef\u6307\u5b9a\u53ef\u9009\u7684\u53c2\u6570\uff0c\u7528\u4e8e\u63a7\u5236\u6a21\u7cca\u67e5\u8be2\u7684\u76f8\u4f3c\u5ea6\uff0c\u4e0d\u6307\u5b9a\u5219\u9ed8\u8ba4\u4f7f\u7528 0.5\u3002\u4f8b\u5982\uff1aerror~\u3002
                  3. \u4f7f\u7528\u901a\u914d\u7b26 (*\u3001?) \u7528\u4f5c\u5355\u5b57\u7b26\u901a\u914d\u7b26\uff0c\u8868\u793a\u5339\u914d\u4efb\u610f\u4e00\u4e2a\u5b57\u7b26\u3002
                  4. \u4f7f\u7528\u65b9\u62ec\u53f7 [ ] \u6216\u82b1\u62ec\u53f7 { } \u6765\u67e5\u8be2\u8303\u56f4\uff0c\u65b9\u62ec\u53f7\u00a0[ ]\u00a0\u8868\u793a\u95ed\u533a\u95f4\uff0c\u5305\u542b\u8fb9\u754c\u503c\u3002\u82b1\u62ec\u53f7\u00a0{ }\u00a0\u8868\u793a\u5f00\u533a\u95f4\uff0c\u6392\u9664\u8fb9\u754c\u503c\u3002\u8303\u56f4\u67e5\u8be2\u53ea\u9002\u7528\u4e8e\u80fd\u591f\u8fdb\u884c\u6392\u5e8f\u7684\u5b57\u6bb5\u7c7b\u578b\uff0c\u5982\u6570\u5b57\u3001\u65e5\u671f\u7b49\u3002\u4f8b\u5982\uff1atimestamp:[2022-01-01 TO 2022-01-31]\u3002
                  5. \u66f4\u591a\u7528\u6cd5\u8bf7\u67e5\u770b\uff1aLucene \u8bed\u6cd5\u8bf4\u660e\u3002
                "},{"location":"end-user/insight/data-query/log.html#_3","title":"\u5176\u4ed6\u64cd\u4f5c","text":""},{"location":"end-user/insight/data-query/log.html#_4","title":"\u67e5\u770b\u65e5\u5fd7\u4e0a\u4e0b\u6587","text":"

                \u70b9\u51fb\u65e5\u5fd7\u540e\u7684\u6309\u94ae\uff0c\u5728\u53f3\u4fa7\u5212\u51fa\u9762\u677f\u4e2d\u53ef\u67e5\u770b\u8be5\u6761\u65e5\u5fd7\u7684\u9ed8\u8ba4 100 \u6761\u4e0a\u4e0b\u6587\u3002\u53ef\u5207\u6362 \u663e\u793a\u884c\u6570 \u67e5\u770b\u66f4\u591a\u4e0a\u4e0b\u6587\u5185\u5bb9\u3002

                "},{"location":"end-user/insight/data-query/log.html#_5","title":"\u5bfc\u51fa\u65e5\u5fd7\u6570\u636e","text":"

                \u70b9\u51fb\u5217\u8868\u53f3\u4e0a\u4fa7\u7684\u4e0b\u8f7d\u6309\u94ae\u3002

                • \u652f\u6301\u914d\u7f6e\u5bfc\u51fa\u7684\u65e5\u5fd7\u5b57\u6bb5\uff0c\u6839\u636e\u65e5\u5fd7\u7c7b\u578b\u53ef\u914d\u7f6e\u7684\u5b57\u6bb5\u4e0d\u540c\uff0c\u5176\u4e2d \u65e5\u5fd7\u5185\u5bb9 \u5b57\u6bb5\u4e3a\u5fc5\u9009\u3002
                • \u652f\u6301\u5c06\u65e5\u5fd7\u67e5\u8be2\u7ed3\u679c\u5bfc\u51fa\u4e3a .txt \u6216 .csv \u683c\u5f0f\u3002

                Note

                \u82e5\u9700\u6307\u5b9a\u4e0d\u91c7\u96c6\u67d0\u4e00\u4e9b\u5bb9\u5668\u7ec4\u7684\u65e5\u5fd7\uff0c\u53ef\u53c2\u8003\uff1a\u5bb9\u5668\u65e5\u5fd7\u9ed1\u540d\u5355\u3002

                "},{"location":"end-user/insight/data-query/metric.html","title":"\u6307\u6807\u67e5\u8be2","text":"

                \u6307\u6807\u67e5\u8be2\u652f\u6301\u67e5\u8be2\u5bb9\u5668\u5404\u8d44\u6e90\u7684\u6307\u6807\u6570\u636e\uff0c\u53ef\u67e5\u770b\u76d1\u63a7\u6307\u6807\u7684\u8d8b\u52bf\u53d8\u5316\u3002\u540c\u65f6\uff0c\u9ad8\u7ea7\u67e5\u8be2\u652f\u6301\u539f\u751f PromQL \u8bed\u53e5\u8fdb\u884c\u6307\u6807\u67e5\u8be2\u3002

                "},{"location":"end-user/insight/data-query/metric.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002
                "},{"location":"end-user/insight/data-query/metric.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002

                2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u6307\u6807 \u3002

                3. \u9009\u62e9\u96c6\u7fa4\u3001\u7c7b\u578b\u3001\u8282\u70b9\u3001\u6307\u6807\u540d\u79f0\u67e5\u8be2\u6761\u4ef6\u540e\uff0c\u70b9\u51fb \u641c\u7d22 \uff0c\u5c4f\u5e55\u53f3\u4fa7\u5c06\u663e\u793a\u5bf9\u5e94\u6307\u6807\u56fe\u8868\u53ca\u6570\u636e\u8be6\u60c5\u3002

                4. \u652f\u6301\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002\u53ef\u624b\u52a8\u70b9\u51fb \u5237\u65b0 \u56fe\u6807\u6216\u9009\u62e9\u9ed8\u8ba4\u65f6\u95f4\u95f4\u9694\u8fdb\u884c\u5237\u65b0\u3002

                5. \u70b9\u51fb \u9ad8\u7ea7\u67e5\u8be2 \u9875\u7b7e\u901a\u8fc7\u539f\u751f\u7684 PromQL \u67e5\u8be2\u3002

                Note

                \u53c2\u9605 PromQL \u8bed\u6cd5\u3002

                "},{"location":"end-user/insight/infra/cluster.html","title":"\u96c6\u7fa4\u76d1\u63a7","text":"

                \u901a\u8fc7\u96c6\u7fa4\u76d1\u63a7\uff0c\u4f60\u53ef\u4ee5\u67e5\u770b\u96c6\u7fa4\u7684\u57fa\u672c\u4fe1\u606f\u3001\u8be5\u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u6d88\u8017\u4ee5\u53ca\u4e00\u6bb5\u65f6\u95f4\u7684\u8d44\u6e90\u6d88\u8017\u53d8\u5316\u8d8b\u52bf\u7b49\u3002

                "},{"location":"end-user/insight/infra/cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                "},{"location":"end-user/insight/infra/cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u96c6\u7fa4 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

                  • \u8d44\u6e90\u6982\u89c8 \uff1a\u591a\u9009\u96c6\u7fa4\u4e2d\u7684\u8282\u70b9\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6b63\u5e38\u548c\u5168\u90e8\u7684\u6570\u91cf\u7edf\u8ba1\uff1b
                  • \u6545\u969c \uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
                  • \u8d44\u6e90\u6d88\u8017 \uff1a\u6240\u9009\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7684\u5b9e\u9645\u4f7f\u7528\u91cf\u548c\u603b\u91cf\uff1b
                  • \u6307\u6807\u8bf4\u660e \uff1a\u6240\u9009\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u8bfb\u5199\u3001\u7f51\u7edc\u63a5\u6536\u53d1\u9001\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                3. \u5207\u6362\u5230 \u8d44\u6e90\u6c34\u4f4d\u7ebf\u76d1\u63a7 \u9875\u7b7e\uff0c\u53ef\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u66f4\u591a\u76d1\u63a7\u6570\u636e\u3002

                "},{"location":"end-user/insight/infra/cluster.html#_4","title":"\u53c2\u8003\u6307\u6807\u8bf4\u660e","text":"\u6307\u6807\u540d \u8bf4\u660e CPU \u4f7f\u7528\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u8d44\u6e90\u7684\u5b9e\u9645 CPU \u7528\u91cf\u4e0e\u6240\u6709\u8282\u70b9\u7684 CPU \u603b\u91cf\u7684\u6bd4\u7387\u3002 CPU \u5206\u914d\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u7684 CPU \u8bf7\u6c42\u91cf\u7684\u603b\u548c\u4e0e\u6240\u6709\u8282\u70b9\u7684 CPU \u603b\u91cf\u7684\u6bd4\u7387\u3002 \u5185\u5b58\u4f7f\u7528\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u8d44\u6e90\u7684\u5b9e\u9645\u5185\u5b58\u7528\u91cf\u4e0e\u6240\u6709\u8282\u70b9\u7684\u5185\u5b58\u603b\u91cf\u7684\u6bd4\u7387\u3002 \u5185\u5b58\u5206\u914d\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u7684\u5185\u5b58\u8bf7\u6c42\u91cf\u7684\u603b\u548c\u4e0e\u6240\u6709\u8282\u70b9\u7684\u5185\u5b58\u603b\u91cf\u7684\u6bd4\u7387\u3002

                Note

                \u4f7f\u7528\u7684\u5177\u4f53\u6307\u6807\u53ef\u53c2\u8003\u53ef\u89c2\u6d4b\u6027\u53c2\u8003\u6307\u6807\u8bf4\u660e\u3002

                "},{"location":"end-user/insight/infra/container.html","title":"\u5bb9\u5668\u76d1\u63a7","text":"

                \u5bb9\u5668\u76d1\u63a7\u662f\u5bf9\u96c6\u7fa4\u7ba1\u7406\u4e2d\u5de5\u4f5c\u8d1f\u8f7d\u7684\u76d1\u63a7\uff0c\u5728\u5217\u8868\u4e2d\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u57fa\u672c\u4fe1\u606f\u548c\u72b6\u6001\u3002\u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\uff0c\u53ef\u67e5\u770b\u6b63\u5728\u544a\u8b66\u7684\u6570\u91cf\u4ee5\u53ca CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u6d88\u8017\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                "},{"location":"end-user/insight/infra/container.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u96c6\u7fa4\u5df2\u5b89\u88c5 insight-agent\uff0c\u4e14\u6240\u6709\u7684\u5bb9\u5668\u7ec4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                • \u5b89\u88c5 insight-agent\uff0c\u8bf7\u53c2\u8003\u5728\u7ebf\u5b89\u88c5 insight-agent \u6216\u79bb\u7ebf\u5347\u7ea7 insight-agent\u3002
                "},{"location":"end-user/insight/infra/container.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u770b\u670d\u52a1\u76d1\u63a7\u6307\u6807\uff1a

                1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u5de5\u4f5c\u8d1f\u8f7d \u3002

                3. \u5207\u6362\u9876\u90e8 Tab\uff0c\u67e5\u770b\u4e0d\u540c\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u3002

                4. \u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u540d\u79f0\u67e5\u770b\u8be6\u60c5\u3002

                  1. \u6545\u969c\uff1a\u5728\u6545\u969c\u5361\u7247\u4e2d\u7edf\u8ba1\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u5f53\u524d\u6b63\u5728\u544a\u8b66\u7684\u603b\u6570\u3002
                  2. \u8d44\u6e90\u6d88\u8017\uff1a\u5728\u8be5\u5361\u7247\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684 CPU\u3001\u5185\u5b58\u3001\u7f51\u7edc\u7684\u4f7f\u7528\u60c5\u51b5\u3002
                  3. \u76d1\u63a7\u6307\u6807\uff1a\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u9ed8\u8ba4 1 \u5c0f\u65f6\u7684 CPU\u3001\u5185\u5b58\u3001\u7f51\u7edc\u548c\u78c1\u76d8\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                5. \u5207\u6362 Tab \u5230 \u5bb9\u5668\u7ec4\u5217\u8868 \uff0c\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u5404\u4e2a\u5bb9\u5668\u7ec4\u72b6\u6001\u3001\u6240\u5728\u8282\u70b9\u3001\u91cd\u542f\u6b21\u6570\u7b49\u4fe1\u606f\u3002

                6. \u5207\u6362 Tab \u5230 JVM \u76d1\u63a7 \uff0c\u53ef\u67e5\u770b\u5404\u4e2a\u5bb9\u5668\u7ec4\u7684 JVM \u6307\u6807\u3002

                  Note

                  1. JVM \u76d1\u63a7\u529f\u80fd\u4ec5\u652f\u6301 Java \u8bed\u8a00\u3002
                  2. \u5f00\u542f JVM \u76d1\u63a7\u529f\u80fd\uff0c\u8bf7\u53c2\u8003\u5f00\u59cb\u76d1\u63a7 Java \u5e94\u7528\u3002
                "},{"location":"end-user/insight/infra/container.html#_4","title":"\u6307\u6807\u53c2\u8003\u8bf4\u660e","text":"\u6307\u6807\u540d\u79f0 \u8bf4\u660e CPU \u4f7f\u7528\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf\u4e4b\u548c\u3002 CPU \u8bf7\u6c42\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u8bf7\u6c42\u91cf\u4e4b\u548c\u3002 CPU \u9650\u5236\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u9650\u5236\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u4f7f\u7528\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u8bf7\u6c42\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u9650\u5236\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u9650\u5236\u91cf\u4e4b\u548c\u3002 \u78c1\u76d8\u8bfb\u5199\u901f\u7387 \u6307\u5b9a\u65f6\u95f4\u8303\u56f4\u5185\u78c1\u76d8\u6bcf\u79d2\u8fde\u7eed\u8bfb\u53d6\u548c\u5199\u5165\u7684\u603b\u548c\uff0c\u8868\u793a\u78c1\u76d8\u6bcf\u79d2\u8bfb\u53d6\u548c\u5199\u5165\u64cd\u4f5c\u6570\u7684\u6027\u80fd\u5ea6\u91cf\u3002 \u7f51\u7edc\u53d1\u9001\u63a5\u6536\u901f\u7387 \u6307\u5b9a\u65f6\u95f4\u8303\u56f4\u5185\uff0c\u6309\u5de5\u4f5c\u8d1f\u8f7d\u7edf\u8ba1\u7684\u7f51\u7edc\u6d41\u91cf\u7684\u6d41\u5165\u3001\u6d41\u51fa\u901f\u7387\u3002"},{"location":"end-user/insight/infra/event.html","title":"\u4e8b\u4ef6\u67e5\u8be2","text":"

                AI \u7b97\u529b\u5e73\u53f0 Insight \u652f\u6301\u6309\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u67e5\u8be2\u4e8b\u4ef6\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\uff0c\u5bf9\u91cd\u8981\u4e8b\u4ef6\u8fdb\u884c\u7edf\u8ba1\u3002

                "},{"location":"end-user/insight/infra/event.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002
                2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u57fa\u7840\u8bbe\u7f6e > \u4e8b\u4ef6 \u3002

                "},{"location":"end-user/insight/infra/event.html#_3","title":"\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03","text":"

                \u9ed8\u8ba4\u663e\u793a\u6700\u8fd1 12 \u5c0f\u65f6\u5185\u53d1\u751f\u7684\u4e8b\u4ef6\uff0c\u60a8\u53ef\u4ee5\u5728\u53f3\u4e0a\u89d2\u9009\u62e9\u4e0d\u540c\u7684\u65f6\u95f4\u8303\u56f4\u6765\u67e5\u770b\u8f83\u957f\u6216\u8f83\u77ed\u7684\u65f6\u95f4\u6bb5\u3002 \u60a8\u8fd8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u91c7\u6837\u95f4\u9694\u4e3a 1 \u5206\u949f\u81f3 5 \u5c0f\u65f6\u3002

                \u901a\u8fc7\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\uff0c\u60a8\u53ef\u4ee5\u76f4\u89c2\u5730\u4e86\u89e3\u4e8b\u4ef6\u7684\u5bc6\u96c6\u7a0b\u5ea6\u548c\u5206\u6563\u60c5\u51b5\u3002 \u8fd9\u6709\u52a9\u4e8e\u5bf9\u540e\u7eed\u7684\u96c6\u7fa4\u8fd0\u7ef4\u8fdb\u884c\u8bc4\u4f30\uff0c\u5e76\u505a\u597d\u51c6\u5907\u548c\u5b89\u6392\u5de5\u4f5c\u3002 \u5982\u679c\u4e8b\u4ef6\u5bc6\u96c6\u53d1\u751f\u5728\u7279\u5b9a\u65f6\u6bb5\uff0c\u60a8\u53ef\u80fd\u9700\u8981\u8c03\u914d\u66f4\u591a\u7684\u8d44\u6e90\u6216\u91c7\u53d6\u76f8\u5e94\u63aa\u65bd\u6765\u786e\u4fdd\u96c6\u7fa4\u7a33\u5b9a\u6027\u548c\u9ad8\u53ef\u7528\u6027\u3002 \u800c\u5982\u679c\u4e8b\u4ef6\u8f83\u4e3a\u5206\u6563\uff0c\u5728\u6b64\u671f\u95f4\u60a8\u53ef\u4ee5\u5408\u7406\u5b89\u6392\u5176\u4ed6\u8fd0\u7ef4\u5de5\u4f5c\uff0c\u4f8b\u5982\u7cfb\u7edf\u4f18\u5316\u3001\u5347\u7ea7\u6216\u5904\u7406\u5176\u4ed6\u4efb\u52a1\u3002

                \u901a\u8fc7\u7efc\u5408\u8003\u8651\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\u548c\u65f6\u95f4\u8303\u56f4\uff0c\u60a8\u80fd\u66f4\u597d\u5730\u89c4\u5212\u548c\u7ba1\u7406\u96c6\u7fa4\u7684\u8fd0\u7ef4\u5de5\u4f5c\uff0c\u786e\u4fdd\u7cfb\u7edf\u7a33\u5b9a\u6027\u548c\u53ef\u9760\u6027\u3002

                "},{"location":"end-user/insight/infra/event.html#_4","title":"\u4e8b\u4ef6\u603b\u6570\u548c\u7edf\u8ba1","text":"

                \u901a\u8fc7\u91cd\u8981\u4e8b\u4ef6\u7edf\u8ba1\uff0c\u60a8\u53ef\u4ee5\u65b9\u4fbf\u5730\u4e86\u89e3\u955c\u50cf\u62c9\u53d6\u5931\u8d25\u6b21\u6570\u3001\u5065\u5eb7\u68c0\u67e5\u5931\u8d25\u6b21\u6570\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u8fd0\u884c\u5931\u8d25\u6b21\u6570\u3001 Pod \u8c03\u5ea6\u5931\u8d25\u6b21\u6570\u3001\u5bb9\u5668 OOM \u5185\u5b58\u8017\u5c3d\u6b21\u6570\u3001\u5b58\u50a8\u5377\u6302\u8f7d\u5931\u8d25\u6b21\u6570\u4ee5\u53ca\u6240\u6709\u4e8b\u4ef6\u7684\u603b\u6570\u3002\u8fd9\u4e9b\u4e8b\u4ef6\u901a\u5e38\u5206\u4e3a\u300cWarning\u300d\u548c\u300cNormal\u300d\u4e24\u7c7b\u3002

                "},{"location":"end-user/insight/infra/event.html#_5","title":"\u4e8b\u4ef6\u5217\u8868","text":"

                \u4e8b\u4ef6\u5217\u8868\u4ee5\u65f6\u95f4\u4e3a\u8f74\uff0c\u4ee5\u6d41\u6c34\u7684\u5f62\u5f0f\u5c55\u793a\u53d1\u751f\u7684\u4e8b\u4ef6\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u300c\u6700\u8fd1\u53d1\u751f\u65f6\u95f4\u300d\u548c\u300c\u7ea7\u522b\u300d\u8fdb\u884c\u6392\u5e8f\u3002

                \u70b9\u51fb\u53f3\u4fa7\u7684 \u2699\ufe0f \u56fe\u6807\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u559c\u597d\u548c\u9700\u6c42\u6765\u81ea\u5b9a\u4e49\u663e\u793a\u7684\u5217\u3002

                \u5728\u9700\u8981\u7684\u65f6\u5019\uff0c\u60a8\u8fd8\u53ef\u4ee5\u70b9\u51fb\u5237\u65b0\u56fe\u6807\u6765\u66f4\u65b0\u5f53\u524d\u7684\u4e8b\u4ef6\u5217\u8868\u3002

                "},{"location":"end-user/insight/infra/event.html#_6","title":"\u5176\u4ed6\u64cd\u4f5c","text":"
                1. \u5728\u4e8b\u4ef6\u5217\u8868\u4e2d\u64cd\u4f5c\u5217\u7684\u56fe\u6807\uff0c\u53ef\u67e5\u770b\u67d0\u4e00\u4e8b\u4ef6\u7684\u5143\u6570\u636e\u4fe1\u606f\u3002

                2. \u70b9\u51fb\u9876\u90e8\u9875\u7b7e\u7684 \u4e0a\u4e0b\u6587 \u53ef\u67e5\u770b\u8be5\u4e8b\u4ef6\u5bf9\u5e94\u8d44\u6e90\u7684\u5386\u53f2\u4e8b\u4ef6\u8bb0\u5f55\u3002

                "},{"location":"end-user/insight/infra/event.html#_7","title":"\u53c2\u8003","text":"

                \u6709\u5173\u7cfb\u7edf\u81ea\u5e26\u7684 Event \u4e8b\u4ef6\u7684\u8be6\u7ec6\u542b\u4e49\uff0c\u8bf7\u53c2\u9605 Kubenetest API \u4e8b\u4ef6\u5217\u8868\u3002

                "},{"location":"end-user/insight/infra/namespace.html","title":"\u547d\u540d\u7a7a\u95f4\u76d1\u63a7","text":"

                \u4ee5\u547d\u540d\u7a7a\u95f4\u4e3a\u7ef4\u5ea6\uff0c\u5feb\u901f\u67e5\u8be2\u547d\u540d\u7a7a\u95f4\u5185\u7684\u8d44\u6e90\u6d88\u8017\u548c\u53d8\u5316\u8d8b\u52bf\u3002

                "},{"location":"end-user/insight/infra/namespace.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                "},{"location":"end-user/insight/infra/namespace.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd > \u547d\u540d\u7a7a\u95f4 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

                  1. \u5207\u6362\u547d\u540d\u7a7a\u95f4\uff1a\u5728\u9876\u90e8\u5207\u6362\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\uff1b
                  2. \u8d44\u6e90\u6982\u89c8\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6b63\u5e38\u548c\u5168\u90e8\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u91cf\uff1b
                  3. \u6545\u969c\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
                  4. \u4e8b\u4ef6\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b 24 \u5c0f\u65f6\u5185 Warning \u7ea7\u522b\u7684\u4e8b\u4ef6\u6570\u91cf\uff1b
                  5. \u8d44\u6e90\u6d88\u8017\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u5bb9\u5668\u7ec4\u7684 CPU\u3001\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c \u53ca CPU\u3001\u5185\u5b58\u914d\u989d\u60c5\u51b5\u3002

                "},{"location":"end-user/insight/infra/namespace.html#_4","title":"\u6307\u6807\u8bf4\u660e","text":"\u6307\u6807\u540d \u8bf4\u660e CPU \u4f7f\u7528\u91cf \u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e2d\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf\u4e4b\u548c \u5185\u5b58\u4f7f\u7528\u91cf \u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e2d\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c \u5bb9\u5668\u7ec4 CPU \u4f7f\u7528\u91cf \u547d\u540d\u7a7a\u95f4\u4e2d\u5404\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf \u5bb9\u5668\u7ec4\u5185\u5b58\u4f7f\u7528\u91cf \u547d\u540d\u7a7a\u95f4\u4e2d\u5404\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf"},{"location":"end-user/insight/infra/node.html","title":"\u8282\u70b9\u76d1\u63a7","text":"

                \u901a\u8fc7\u8282\u70b9\u76d1\u63a7\uff0c\u4f60\u53ef\u4ee5\u6982\u89c8\u6240\u9009\u96c6\u7fa4\u4e0b\u8282\u70b9\u7684\u5f53\u524d\u5065\u5eb7\u72b6\u6001\u3001\u5bf9\u5e94\u5bb9\u5668\u7ec4\u7684\u5f02\u5e38\u6570\u91cf\uff1b \u5728\u5f53\u524d\u8282\u70b9\u8be6\u60c5\u9875\uff0c\u4f60\u53ef\u4ee5\u67e5\u770b\u6b63\u5728\u544a\u8b66\u7684\u6570\u91cf\u4ee5\u53ca CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7b49\u8d44\u6e90\u6d88\u8017\u7684\u53d8\u5316\u8d8b\u52bf\u56fe\u3002

                "},{"location":"end-user/insight/infra/node.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                "},{"location":"end-user/insight/infra/node.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u8282\u70b9 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

                  • \u96c6\u7fa4\u5207\u6362 \uff1a\u5207\u6362\u9876\u90e8\u7684\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\uff1b
                  • \u8282\u70b9\u5217\u8868 \uff1a\u6240\u9009\u96c6\u7fa4\u4e2d\u7684\u8282\u70b9\u5217\u8868\uff0c\u5355\u51fb\u5207\u6362\u8282\u70b9\u3002
                  • \u6545\u969c \uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
                  • \u8d44\u6e90\u6d88\u8017 \uff1a\u6240\u9009\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7684\u5b9e\u9645\u4f7f\u7528\u91cf\u548c\u603b\u91cf\uff1b
                  • \u6307\u6807\u8bf4\u660e \uff1a\u6240\u9009\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u8bfb\u5199\u3001\u7f51\u7edc\u63a5\u6536\u53d1\u9001\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                3. \u5207\u6362\u5230 \u8d44\u6e90\u6c34\u4f4d\u7ebf\u76d1\u63a7 \u9875\u7b7e\uff0c\u53ef\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684\u66f4\u591a\u76d1\u63a7\u6570\u636e\u3002

                "},{"location":"end-user/insight/infra/probe.html","title":"\u62e8\u6d4b","text":"

                \u62e8\u6d4b\uff08Probe\uff09\u6307\u7684\u662f\u57fa\u4e8e\u9ed1\u76d2\u76d1\u63a7\uff0c\u5b9a\u671f\u901a\u8fc7 HTTP\u3001TCP \u7b49\u65b9\u5f0f\u5bf9\u76ee\u6807\u8fdb\u884c\u8fde\u901a\u6027\u6d4b\u8bd5\uff0c\u5feb\u901f\u53d1\u73b0\u6b63\u5728\u53d1\u751f\u7684\u6545\u969c\u3002

                Insight \u57fa\u4e8e Prometheus Blackbox Exporter \u5de5\u5177\u901a\u8fc7 HTTP\u3001HTTPS\u3001DNS\u3001TCP \u548c ICMP \u7b49\u534f\u8bae\uff0c\u5bf9\u7f51\u7edc\u8fdb\u884c\u63a2\u6d4b\u5e76\u8fd4\u56de\u63a2\u6d4b\u7ed3\u679c\u4ee5\u4fbf\u4e86\u89e3\u7f51\u7edc\u72b6\u6001\u3002

                "},{"location":"end-user/insight/infra/probe.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u76ee\u6807\u96c6\u7fa4\u4e2d\u5df2\u6210\u529f\u90e8\u7f72 insight-agent\uff0c\u4e14\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                "},{"location":"end-user/insight/infra/probe.html#_3","title":"\u67e5\u770b\u62e8\u6d4b\u4efb\u52a1","text":"
                1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff1b
                2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u62e8\u6d4b\u3002

                  • \u70b9\u51fb\u8868\u683c\u4e2d\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u4e0b\u62c9\u6846\uff0c\u53ef\u5207\u6362\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4
                  • \u4f60\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u2699\ufe0f \u4fee\u6539\u663e\u793a\u7684\u5217\uff0c\u9ed8\u8ba4\u4e3a\u62e8\u6d4b\u540d\u79f0\u3001\u63a2\u6d4b\u65b9\u5f0f\u3001\u63a2\u6d4b\u76ee\u6807\u3001\u8fde\u901a\u72b6\u6001\u3001\u521b\u5efa\u65f6\u95f4
                  • \u8fde\u901a\u72b6\u6001\u6709 3 \u79cd\uff1a
                    • \u6b63\u5e38\uff1aProbe \u6210\u529f\u8fde\u63a5\u5230\u4e86\u76ee\u6807\uff0c\u76ee\u6807\u8fd4\u56de\u4e86\u9884\u671f\u7684\u54cd\u5e94
                    • \u5f02\u5e38\uff1aProbe \u65e0\u6cd5\u8fde\u63a5\u5230\u76ee\u6807\uff0c\u6216\u76ee\u6807\u6ca1\u6709\u8fd4\u56de\u9884\u671f\u7684\u54cd\u5e94
                    • Pending\uff1aProbe \u6b63\u5728\u5c1d\u8bd5\u8fde\u63a5\u76ee\u6807
                  • \u4f60\u53ef\u4ee5\u5728 \ud83d\udd0d \u641c\u7d22\u6846\u4e2d\u952e\u5165\u540d\u79f0\uff0c\u6a21\u7cca\u641c\u7d22\u67d0\u4e9b\u62e8\u6d4b\u4efb\u52a1

                "},{"location":"end-user/insight/infra/probe.html#_4","title":"\u521b\u5efa\u62e8\u6d4b\u4efb\u52a1","text":"
                1. \u70b9\u51fb \u521b\u5efa\u62e8\u6d4b\u4efb\u52a1\u3002
                2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

                  • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u62e8\u6d4b\u7684\u96c6\u7fa4
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u62e8\u6d4b\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

                3. \u914d\u7f6e\u63a2\u6d4b\u53c2\u6570\u3002

                  • Blackbox \u5b9e\u4f8b\uff1a\u9009\u62e9\u8d1f\u8d23\u63a2\u6d4b\u7684 blackbox \u5b9e\u4f8b
                  • \u63a2\u6d4b\u65b9\u5f0f\uff1a
                    • HTTP\uff1a\u901a\u8fc7\u53d1\u9001 HTTP \u6216 HTTPS \u8bf7\u6c42\u5230\u76ee\u6807 URL\uff0c\u68c0\u6d4b\u5176\u8fde\u901a\u6027\u548c\u54cd\u5e94\u65f6\u95f4\uff0c\u8fd9\u53ef\u4ee5\u7528\u4e8e\u76d1\u6d4b\u7f51\u7ad9\u6216 Web \u5e94\u7528\u7684\u53ef\u7528\u6027\u548c\u6027\u80fd
                    • TCP\uff1a\u901a\u8fc7\u5efa\u7acb\u5230\u76ee\u6807\u4e3b\u673a\u548c\u7aef\u53e3\u7684 TCP \u8fde\u63a5\uff0c\u68c0\u6d4b\u5176\u8fde\u901a\u6027\u548c\u54cd\u5e94\u65f6\u95f4\u3002\u8fd9\u53ef\u4ee5\u7528\u4e8e\u76d1\u6d4b\u57fa\u4e8e TCP \u7684\u670d\u52a1\uff0c\u5982 Web \u670d\u52a1\u5668\u3001\u6570\u636e\u5e93\u670d\u52a1\u5668\u7b49
                    • \u5176\u4ed6\uff1a\u652f\u6301\u901a\u8fc7\u914d\u7f6e ConfigMap \u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f\uff0c\u53ef\u53c2\u8003\u81ea\u5b9a\u4e49\u62e8\u6d4b\u65b9\u5f0f
                  • \u63a2\u6d4b\u76ee\u6807\uff1a\u63a2\u6d4b\u7684\u76ee\u6807\u5730\u5740\uff0c\u652f\u6301\u57df\u540d\u6216 IP \u5730\u5740\u7b49
                  • \u6807\u7b7e\uff1a\u81ea\u5b9a\u4e49\u6807\u7b7e\uff0c\u8be5\u6807\u7b7e\u4f1a\u81ea\u52a8\u6dfb\u52a0\u5230 Prometheus \u7684 Label \u4e2d
                  • \u63a2\u6d4b\u95f4\u9694\uff1a\u63a2\u6d4b\u95f4\u9694\u65f6\u95f4
                  • \u63a2\u6d4b\u8d85\u65f6\uff1a\u63a2\u6d4b\u76ee\u6807\u65f6\u7684\u6700\u957f\u7b49\u5f85\u65f6\u95f4

                4. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                Warning

                \u62e8\u6d4b\u4efb\u52a1\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u9700\u8981\u5927\u6982 3 \u5206\u949f\u7684\u65f6\u95f4\u6765\u540c\u6b65\u914d\u7f6e\u3002\u5728\u6b64\u671f\u95f4\uff0c\u4e0d\u4f1a\u8fdb\u884c\u63a2\u6d4b\uff0c\u65e0\u6cd5\u67e5\u770b\u63a2\u6d4b\u7ed3\u679c\u3002

                "},{"location":"end-user/insight/infra/probe.html#_5","title":"\u7f16\u8f91\u62e8\u6d4b\u4efb\u52a1","text":"

                \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 -> \u7f16\u8f91\uff0c\u5b8c\u6210\u7f16\u8f91\u540e\u70b9\u51fb \u786e\u5b9a\u3002

                "},{"location":"end-user/insight/infra/probe.html#_6","title":"\u67e5\u770b\u76d1\u63a7\u9762\u677f","text":"

                \u70b9\u51fb\u62e8\u6d4b\u540d\u79f0 \u67e5\u770b\u62e8\u6d4b\u4efb\u52a1\u4e2d\u6bcf\u4e2a\u76ee\u6807\u7684\u76d1\u63a7\u72b6\u6001\uff0c\u4ee5\u56fe\u8868\u65b9\u5f0f\u663e\u793a\u9488\u5bf9\u7f51\u7edc\u72b6\u51b5\u7684\u63a2\u6d4b\u7ed3\u679c\u3002

                \u6307\u6807\u540d\u79f0 \u63cf\u8ff0 Current Status Response \u8868\u793a HTTP \u63a2\u6d4b\u8bf7\u6c42\u7684\u54cd\u5e94\u72b6\u6001\u7801\u3002 Ping Status \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u662f\u5426\u6210\u529f\u30021 \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u6210\u529f\uff0c0 \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u5931\u8d25\u3002 IP Protocol \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u4f7f\u7528\u7684 IP \u534f\u8bae\u7248\u672c\u3002 SSL Expiry \u8868\u793a SSL/TLS \u8bc1\u4e66\u7684\u6700\u65e9\u5230\u671f\u65f6\u95f4\u3002 DNS Response (Latency) \u8868\u793a\u6574\u4e2a\u63a2\u6d4b\u8fc7\u7a0b\u7684\u6301\u7eed\u65f6\u95f4\uff0c\u5355\u4f4d\u662f\u79d2\u3002 HTTP Duration \u8868\u793a\u4ece\u53d1\u9001\u8bf7\u6c42\u5230\u63a5\u6536\u5230\u5b8c\u6574\u54cd\u5e94\u7684\u6574\u4e2a\u8fc7\u7a0b\u7684\u65f6\u95f4\u3002"},{"location":"end-user/insight/infra/probe.html#_7","title":"\u5220\u9664\u62e8\u6d4b\u4efb\u52a1","text":"

                \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 -> \u5220\u9664\uff0c\u786e\u8ba4\u65e0\u8bef\u540e\u70b9\u51fb \u786e\u5b9a\u3002

                Caution

                \u5220\u9664\u64cd\u4f5c\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                "},{"location":"end-user/insight/quickstart/install/index.html","title":"\u5f00\u59cb\u89c2\u6d4b","text":"

                AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u5b9e\u73b0\u4e86\u5bf9\u591a\u4e91\u591a\u96c6\u7fa4\u7684\u7eb3\u7ba1\uff0c\u5e76\u652f\u6301\u521b\u5efa\u96c6\u7fa4\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u7edf\u4e00\u89c2\u6d4b\u65b9\u6848\uff0c\u901a\u8fc7\u90e8\u7f72 insight-agent \u63d2\u4ef6\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u91c7\u96c6\uff0c\u5e76\u652f\u6301\u901a\u8fc7 AI \u7b97\u529b\u4e2d\u5fc3 \u53ef\u89c2\u6d4b\u6027\u4ea7\u54c1\u5b9e\u73b0\u5bf9\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u6570\u636e\u7684\u67e5\u8be2\u3002

                insight-agent \u662f\u53ef\u89c2\u6d4b\u6027\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u6570\u636e\u91c7\u96c6\u7684\u5de5\u5177\uff0c\u5b89\u88c5\u540e\u65e0\u9700\u4efb\u4f55\u4fee\u6539\uff0c\u5373\u53ef\u5b9e\u73b0\u5bf9\u6307\u6807\u3001\u65e5\u5fd7\u4ee5\u53ca\u94fe\u8def\u6570\u636e\u7684\u81ea\u52a8\u5316\u91c7\u96c6\u3002

                \u901a\u8fc7 \u5bb9\u5668\u7ba1\u7406 \u521b\u5efa\u7684\u96c6\u7fa4\u9ed8\u8ba4\u4f1a\u5b89\u88c5 insight-agent\uff0c\u6545\u5728\u6b64\u4ec5\u9488\u5bf9\u63a5\u5165\u7684\u96c6\u7fa4\u5982\u4f55\u5f00\u542f\u89c2\u6d4b\u80fd\u529b\u63d0\u4f9b\u6307\u5bfc\u3002

                • \u5728\u7ebf\u5b89\u88c5 insight-agent

                \u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u7684\u7edf\u4e00\u89c2\u6d4b\u5e73\u53f0\uff0c\u5176\u90e8\u5206\u7ec4\u4ef6\u7684\u8d44\u6e90\u6d88\u8017\u4e0e\u521b\u5efa\u96c6\u7fa4\u7684\u6570\u636e\u3001\u63a5\u5165\u96c6\u7fa4\u7684\u6570\u91cf\u606f\u606f\u76f8\u5173\uff0c\u5728\u5b89\u88c5 insight-agent \u65f6\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u5bf9\u76f8\u5e94\u7ec4\u4ef6\u7684\u8d44\u6e90\u8fdb\u884c\u8c03\u6574\u3002

                1. \u6839\u636e\u521b\u5efa\u96c6\u7fa4\u7684\u89c4\u6a21\u6216\u63a5\u5165\u96c6\u7fa4\u7684\u89c4\u6a21\uff0c\u8c03\u6574 insight-agent \u4e2d\u91c7\u96c6\u7ec4\u4ef6 Prometheus \u7684 CPU \u548c\u5185\u5b58\uff0c\u8bf7\u53c2\u8003: Prometheus \u8d44\u6e90\u89c4\u5212

                2. \u7531\u4e8e\u591a\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u4f1a\u7edf\u4e00\u5b58\u50a8\uff0c\u5219\u9700\u8981 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u7ba1\u7406\u5458\u6839\u636e\u521b\u5efa\u96c6\u7fa4\u7684\u89c4\u6a21\u3001\u63a5\u5165\u96c6\u7fa4\u7684\u89c4\u6a21\u5bf9\u5e94\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\uff0c\u8bf7\u53c2\u8003\uff1avmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212\u3002

                3. \u5982\u4f55\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\uff0c\u8bf7\u53c2\u8003\uff1avmstorge \u78c1\u76d8\u6269\u5bb9\u3002

                \u7531\u4e8e AI \u7b97\u529b\u4e2d\u5fc3 \u652f\u6301\u5bf9\u591a\u4e91\u591a\u96c6\u7fa4\u7684\u7eb3\u7ba1\uff0cinsight-agent \u76ee\u524d\u4e5f\u5b8c\u6210\u4e86\u90e8\u5206\u9a8c\u8bc1\uff0c\u7531\u4e8e\u76d1\u63a7\u7ec4\u4ef6\u51b2\u7a81\u95ee\u9898\u5bfc\u81f4\u5728 DCE 4.0 \u96c6\u7fa4\u548c Openshift 4.x \u96c6\u7fa4\u4e2d\u5b89\u88c5 insight-agent \u4f1a\u51fa\u73b0\u95ee\u9898\uff0c\u82e5\u60a8\u9047\u5230\u540c\u6837\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6587\u6863\uff1a

                • \u5728 DCE 4.0.x \u5b89\u88c5 insight-agent
                • \u5728 Openshift 4.x \u5b89\u88c5 insight-agent
                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html","title":"\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f","text":"

                \u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e3a\u4e86\u63d0\u9ad8\u5927\u89c4\u6a21\u73af\u5883\u4e0b\u7684\u6570\u636e\u5199\u5165\u80fd\u529b\uff0c\u652f\u6301\u5c06\u65e5\u5fd7\u5207\u6362\u4e3a \u5927\u65e5\u5fd7 \u6a21\u5f0f\u3001\u5c06\u94fe\u8def\u5207\u6362\u4e3a \u5927\u94fe\u8def \u6a21\u5f0f\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u4ee5\u4e0b\u51e0\u79cd\u5f00\u542f\u65b9\u5f0f\uff1a

                • \u901a\u8fc7\u5b89\u88c5\u5668\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\uff08\u901a\u8fc7 manifest.yaml \u4e2d\u540c\u4e00\u4e2a\u53c2\u6570\u503c\u63a7\u5236\uff09
                • \u901a\u8fc7 Helm \u547d\u4ee4\u624b\u52a8\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f
                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_2","title":"\u65e5\u5fd7","text":"

                \u672c\u8282\u8bf4\u660e\u666e\u901a\u65e5\u5fd7\u6a21\u5f0f\u548c\u5927\u65e5\u5fd7\u6a21\u5f0f\u7684\u533a\u522b\u3002

                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_3","title":"\u65e5\u5fd7\u6a21\u5f0f","text":"

                \u7ec4\u4ef6\uff1aFluentbit + Elasticsearch

                \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a ES \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_4","title":"\u5927\u65e5\u5fd7\u6a21\u5f0f","text":"

                \u7ec4\u4ef6\uff1aFluentbit + Kafka + Vector + Elasticsearch

                \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a Kafka \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_5","title":"\u94fe\u8def","text":"

                \u672c\u8282\u8bf4\u660e\u666e\u901a\u94fe\u8def\u6a21\u5f0f\u548c\u5927\u94fe\u8def\u6a21\u5f0f\u7684\u533a\u522b\u3002

                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_6","title":"\u94fe\u8def\u6a21\u5f0f","text":"

                \u7ec4\u4ef6\uff1aAgent opentelemetry-collector + Global opentelemetry-collector + Jaeger-collector + Elasticsearch

                \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a OTlp \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_7","title":"\u5927\u94fe\u8def\u6a21\u5f0f","text":"

                \u7ec4\u4ef6\uff1aAgent opentelemetry-collector + Kafka + Global opentelemetry-collector + Jaeger-collector + Elasticsearch

                \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a Kafka \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_8","title":"\u901a\u8fc7\u5b89\u88c5\u5668\u5f00\u542f","text":"

                \u901a\u8fc7\u5b89\u88c5\u5668\u90e8\u7f72/\u5347\u7ea7 AI \u7b97\u529b\u4e2d\u5fc3 \u65f6\u4f7f\u7528\u7684 manifest.yaml \u4e2d\u5b58\u5728 infrastructures.kafka \u5b57\u6bb5\uff0c \u5982\u679c\u60f3\u5f00\u542f\u53ef\u89c2\u6d4b\u7684\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\uff0c\u5219\u9700\u8981\u542f\u7528 kafka\uff1a

                manifest.yaml
                apiVersion: manifest.daocloud.io/v1alpha1\nkind: DCEManifest\n...\ninfrastructures:\n  ...\n  kafka:\n    enable: true # \u9ed8\u8ba4\u4e3a false\n    cpuLimit: 1\n    memLimit: 2Gi\n    pvcSize: 15Gi\n
                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_9","title":"\u5f00\u542f","text":"

                \u5b89\u88c5\u65f6\u4f7f\u7528\u542f\u7528 kafka \u7684 manifest.yaml\uff0c\u5219\u4f1a\u9ed8\u8ba4\u5b89\u88c5 kafka \u4e2d\u95f4\u4ef6\uff0c \u5e76\u5728\u5b89\u88c5 Insight \u65f6\u9ed8\u8ba4\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\u3002\u5b89\u88c5\u547d\u4ee4\u4e3a\uff1a

                ./dce5-installer cluster-create -c clusterConfig.yaml -m manifest.yaml\n
                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_10","title":"\u5347\u7ea7","text":"

                \u5347\u7ea7\u540c\u6837\u662f\u4fee\u6539 kafka \u5b57\u6bb5\u3002\u4f46\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u56e0\u4e3a\u8001\u73af\u5883\u5b89\u88c5\u65f6\u4f7f\u7528\u7684\u662f kafka: false\uff0c \u6240\u4ee5\u73af\u5883\u4e2d\u65e0 kafka\u3002\u6b64\u65f6\u5347\u7ea7\u9700\u8981\u6307\u5b9a\u5347\u7ea7 middleware\uff0c\u624d\u4f1a\u540c\u65f6\u5b89\u88c5 kafka \u4e2d\u95f4\u4ef6\u3002\u5347\u7ea7\u547d\u4ee4\u4e3a\uff1a

                ./dce5-installer cluster-create -c clusterConfig.yaml -m manifest.yaml -u gproduct,middleware\n

                Note

                \u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u8981\u624b\u52a8\u91cd\u542f\u4ee5\u4e0b\u7ec4\u4ef6\uff1a

                • insight-agent-fluent-bit
                • insight-agent-opentelemetry-collector
                • insight-opentelemetry-collector
                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#helm","title":"\u901a\u8fc7 Helm \u547d\u4ee4\u5f00\u542f","text":"

                \u524d\u63d0\u6761\u4ef6\uff1a\u9700\u8981\u4fdd\u8bc1\u5b58\u5728 \u53ef\u7528\u7684 kafka \u4e14\u5730\u5740\u53ef\u6b63\u5e38\u8bbf\u95ee\u3002

                \u6839\u636e\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6\u8001\u7248\u672c insight \u548c insight-agent \u7684 values\uff08\u5efa\u8bae\u505a\u597d\u5907\u4efd\uff09\uff1a

                helm get values insight -n insight-system -o yaml > insight.yaml\nhelm get values insight-agent -n insight-system -o yaml > insight-agent.yaml\n
                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_11","title":"\u5f00\u542f\u5927\u65e5\u5fd7","text":"

                \u6709\u4ee5\u4e0b\u51e0\u79cd\u65b9\u5f0f\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u65e5\u5fd7\u6a21\u5f0f\uff1a

                \u5728 helm upgrade \u547d\u4ee4\u4e2d\u4f7f\u7528 --set\u4fee\u6539 YAML \u540e\u8fd0\u884c helm upgrade\u5bb9\u5668\u7ba1\u7406 UI \u5347\u7ea7

                \u5148\u8fd0\u884c\u4ee5\u4e0b insight \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --set global.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.kafka.enabled=true \\\n  --set vector.enabled=true \\\n  --version 0.30.1\n

                \u7136\u540e\u8fd0\u884c\u4ee5\u4e0b insight-agent \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --set global.exporters.logging.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.exporters.logging.output=kafka \\\n  --version 0.30.1\n

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539 YAMl \u540e\u8fd0\u884c helm upgrade \u547d\u4ee4\uff1a

                1. \u4fee\u6539 insight.yaml

                  insight.yaml
                  global:\n  ...\n  kafka:\n    brokers: 10.6.216.111:30592\n    enabled: true\n...\nvector:\n  enabled: true\n
                2. \u5347\u7ea7 insight \u7ec4\u4ef6\uff1a

                  helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --version 0.30.1\n
                3. \u4fee\u6539 insight-agent.yaml

                  insight-agent.yaml
                  global:\n  ...\n  exporters:\n    ...\n    logging:\n      ...\n      kafka:\n        brokers: 10.6.216.111:30592\n      output: kafka\n
                4. \u5347\u7ea7 insight-agent\uff1a

                  helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --version 0.30.1\n

                \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u627e\u5230\u5bf9\u5e94\u7684\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u627e\u5230\u5e76\u66f4\u65b0 insight-agent\u3002

                \u5728 Logging Settings \u4e2d\uff0c\u4e3a output \u9009\u62e9 kafka\uff0c\u5e76\u586b\u5199\u6b63\u786e\u7684 brokers \u5730\u5740\u3002

                \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u624b\u52a8\u91cd\u542f insight-agent-fluent-bit \u7ec4\u4ef6\u3002

                "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_12","title":"\u5f00\u542f\u5927\u94fe\u8def","text":"

                \u6709\u4ee5\u4e0b\u51e0\u79cd\u65b9\u5f0f\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u94fe\u8def\u6a21\u5f0f\uff1a

                \u5728 helm upgrade \u547d\u4ee4\u4e2d\u4f7f\u7528 --set\u4fee\u6539 YAML \u540e\u8fd0\u884c helm upgrade\u5bb9\u5668\u7ba1\u7406 UI \u5347\u7ea7

                \u5148\u8fd0\u884c\u4ee5\u4e0b insight \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --set global.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.kafka.enabled=true \\\n  --set global.tracing.kafkaReceiver.enabled=true \\\n  --version 0.30.1\n

                \u7136\u540e\u8fd0\u884c\u4ee5\u4e0b insight-agent \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --set global.exporters.trace.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.exporters.trace.output=kafka \\\n  --version 0.30.1\n

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539 YAMl \u540e\u8fd0\u884c helm upgrade \u547d\u4ee4\uff1a

                1. \u4fee\u6539 insight.yaml

                  insight.yaml
                  global:\n  ...\n  kafka:\n    brokers: 10.6.216.111:30592\n    enabled: true\n...\ntracing:\n  ...\n  kafkaReceiver:\n    enabled: true\n
                2. \u5347\u7ea7 insight \u7ec4\u4ef6\uff1a

                  helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --version 0.30.1\n
                3. \u4fee\u6539 insight-agent.yaml

                  insight-agent.yaml
                  global:\n  ...\n  exporters:\n    ...\n    trace:\n      ...\n      kafka:\n        brokers: 10.6.216.111:30592\n      output: kafka\n
                4. \u5347\u7ea7 insight-agent\uff1a

                  helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --version 0.30.1\n

                \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u627e\u5230\u5bf9\u5e94\u7684\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u627e\u5230\u5e76\u66f4\u65b0 insight-agent\u3002

                \u5728 Trace Settings \u4e2d\uff0c\u4e3a output \u9009\u62e9 kafka\uff0c\u5e76\u586b\u5199\u6b63\u786e\u7684 brokers \u5730\u5740\u3002

                \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u624b\u52a8 \u91cd\u542f insight-agent-opentelemetry-collector \u548c insight-opentelemetry-collector \u7ec4\u4ef6\u3002

                "},{"location":"end-user/insight/quickstart/install/component-scheduling.html","title":"\u81ea\u5b9a\u4e49 Insight \u7ec4\u4ef6\u8c03\u5ea6\u7b56\u7565","text":"

                \u5f53\u90e8\u7f72\u53ef\u89c2\u6d4b\u5e73\u53f0 Insight \u5230 Kubernetes \u73af\u5883\u65f6\uff0c\u6b63\u786e\u7684\u8d44\u6e90\u7ba1\u7406\u548c\u4f18\u5316\u81f3\u5173\u91cd\u8981\u3002 Insight \u5305\u542b\u591a\u4e2a\u6838\u5fc3\u7ec4\u4ef6\uff0c\u5982 Prometheus\u3001OpenTelemetry\u3001FluentBit\u3001Vector\u3001Elasticsearch \u7b49\uff0c \u8fd9\u4e9b\u7ec4\u4ef6\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u53ef\u80fd\u56e0\u4e3a\u8d44\u6e90\u5360\u7528\u95ee\u9898\u5bf9\u96c6\u7fa4\u5185\u5176\u4ed6 Pod \u7684\u6027\u80fd\u4ea7\u751f\u8d1f\u9762\u5f71\u54cd\u3002 \u4e3a\u4e86\u6709\u6548\u5730\u7ba1\u7406\u8d44\u6e90\u5e76\u4f18\u5316\u96c6\u7fa4\u7684\u8fd0\u884c\uff0c\u8282\u70b9\u4eb2\u548c\u6027\u6210\u4e3a\u4e00\u9879\u91cd\u8981\u7684\u914d\u7f6e\u9009\u9879\u3002

                \u672c\u6587\u5c06\u91cd\u70b9\u63a2\u8ba8\u5982\u4f55\u901a\u8fc7\u6c61\u70b9\u548c\u8282\u70b9\u4eb2\u548c\u6027\u7684\u914d\u7f6e\u7b56\u7565\uff0c\u4f7f\u5f97\u6bcf\u4e2a\u7ec4\u4ef6\u80fd\u591f\u5728\u9002\u5f53\u7684\u8282\u70b9\u4e0a\u8fd0\u884c\uff0c \u5e76\u907f\u514d\u8d44\u6e90\u7ade\u4e89\u6216\u4e89\u7528\uff0c\u4ece\u800c\u786e\u4fdd\u6574\u4e2a Kubernetes \u96c6\u7fa4\u7684\u7a33\u5b9a\u6027\u548c\u9ad8\u6548\u6027\u3002

                "},{"location":"end-user/insight/quickstart/install/component-scheduling.html#insight_1","title":"\u901a\u8fc7\u6c61\u70b9\u4e3a Insight \u914d\u7f6e\u4e13\u6709\u8282\u70b9","text":"

                \u7531\u4e8e Insight Agent \u5305\u542b\u4e86 DaemonSet \u7ec4\u4ef6\uff0c\u6240\u4ee5\u672c\u8282\u6240\u8ff0\u7684\u914d\u7f6e\u65b9\u5f0f\u662f\u8ba9\u9664\u4e86 Insight DameonSet \u4e4b\u5916\u7684\u5176\u4f59\u7ec4\u4ef6\u5747\u8fd0\u884c\u5728\u4e13\u6709\u8282\u70b9\u4e0a\u3002

                \u8be5\u65b9\u5f0f\u662f\u901a\u8fc7\u4e3a\u4e13\u6709\u8282\u70b9\u6dfb\u52a0\u6c61\u70b9\uff08taint\uff09\uff0c\u5e76\u914d\u5408\u6c61\u70b9\u5bb9\u5fcd\u5ea6\uff08tolerations\uff09\u6765\u5b9e\u73b0\u7684\u3002 \u66f4\u591a\u7ec6\u8282\u53ef\u4ee5\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u3002

                \u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u547d\u4ee4\u4e3a\u8282\u70b9\u6dfb\u52a0\u53ca\u79fb\u9664\u6c61\u70b9\uff1a

                # \u6dfb\u52a0\u6c61\u70b9\nkubectl taint nodes worker1 node.daocloud.io=insight-only:NoSchedule\n\n# \u79fb\u9664\u6c61\u70b9\nkubectl taint nodes worker1 node.daocloud.io:NoSchedule-\n

                \u6709\u4ee5\u4e0b\u4e24\u79cd\u9014\u5f84\u8ba9 Insight \u7ec4\u4ef6\u8c03\u5ea6\u81f3\u4e13\u6709\u8282\u70b9\uff1a

                "},{"location":"end-user/insight/quickstart/install/component-scheduling.html#1","title":"1. \u4e3a\u6bcf\u4e2a\u7ec4\u4ef6\u6dfb\u52a0\u6c61\u70b9\u5bb9\u5fcd\u5ea6","text":"

                \u9488\u5bf9 insight-server \u548c insight-agent \u4e24\u4e2a Chart \u5206\u522b\u8fdb\u884c\u914d\u7f6e\uff1a

                insight-server Chart \u914d\u7f6einsight-agent Chart \u914d\u7f6e
                server:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nui:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nrunbook:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\n# mysql:\nvictoria-metrics-k8s-stack:\n  victoria-metrics-operator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  vmcluster:\n    spec:\n      vmstorage:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n      vmselect:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n      vminsert:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n  vmalert:\n    spec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n  alertmanager:\n    spec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n\njaeger:\n  collector:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  query:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n\nopentelemetry-collector-aggregator:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nopentelemetry-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\ngrafana-operator:\n  operator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  grafana:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\nkibana:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nelastic-alert:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nvector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n
                kube-prometheus-stack:\n  prometheus:\n    prometheusSpec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n  prometheus-node-exporter:\n    tolerations:\n      - effect: NoSchedule\n        operator: Exists\n  prometheusOperator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n\nkube-state-metrics:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-operator:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\ntailing-sidecar-operator:\n  operator:\n    tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-kubernetes-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nprometheus-blackbox-exporter:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\netcd-exporter:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\" \n
                "},{"location":"end-user/insight/quickstart/install/component-scheduling.html#2","title":"2. \u901a\u8fc7\u547d\u540d\u7a7a\u95f4\u7ea7\u522b\u914d\u7f6e","text":"

                \u8ba9 insight-system \u547d\u540d\u7a7a\u95f4\u7684 Pod \u90fd\u5bb9\u5fcd node.daocloud.io=insight-only \u6c61\u70b9\u3002

                1. \u8c03\u6574 apiserver \u7684\u914d\u7f6e\u6587\u4ef6 /etc/kubernetes/manifests/kube-apiserver.yaml\uff0c\u653e\u5f00 PodTolerationRestriction,PodNodeSelector, \u53c2\u8003\u4e0b\u56fe\uff1a

                2. \u7ed9 insight-system \u547d\u540d\u7a7a\u95f4\u589e\u52a0\u6ce8\u89e3\uff1a

                  apiVersion: v1\nkind: Namespace\nmetadata:\n  name: insight-system\n  annotations:\n    scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Equal\", \"effect\": \"NoSchedule\", \"key\": \"node.daocloud.io\", \"value\": \"insight-only\"}]'\n

                \u91cd\u542f insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u9762\u7684\u7ec4\u4ef6\u5373\u53ef\u6b63\u5e38\u5bb9\u5fcd insight-system \u4e0b\u7684 Pod \u8c03\u5ea6\u3002

                "},{"location":"end-user/insight/quickstart/install/component-scheduling.html#label","title":"\u4e3a\u8282\u70b9\u6dfb\u52a0 Label \u548c\u8282\u70b9\u4eb2\u548c\u6027\u6765\u7ba1\u7406\u7ec4\u4ef6\u8c03\u5ea6","text":"

                Info

                \u8282\u70b9\u4eb2\u548c\u6027\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e nodeSelector\uff0c\u5b83\u4f7f\u4f60\u53ef\u4ee5\u6839\u636e\u8282\u70b9\u4e0a\u7684 \u6807\u7b7e(label) \u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002 \u8282\u70b9\u4eb2\u548c\u6027\u6709\u4e24\u79cd\uff1a

                1. requiredDuringSchedulingIgnoredDuringExecution\uff1a\u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector\uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002
                2. preferredDuringSchedulingIgnoredDuringExecution\uff1a\u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002

                \u66f4\u8fc7\u7ec6\u8282\u8bf7\u53c2\u8003 kubernetes \u5b98\u65b9\u6587\u6863\u3002

                \u4e3a\u4e86\u5b9e\u73b0\u4e0d\u540c\u7528\u6237\u5bf9 Insight \u7ec4\u4ef6\u8c03\u5ea6\u7684\u7075\u6d3b\u9700\u6c42\uff0cInsight \u5206\u522b\u63d0\u4f9b\u4e86\u8f83\u4e3a\u7ec6\u7c92\u5ea6\u7684 Label \u6765\u5b9e\u73b0\u4e0d\u540c\u7ec4\u4ef6\u7684\u8c03\u5ea6\u7b56\u7565\uff0c\u4ee5\u4e0b\u662f\u6807\u7b7e\u4e0e\u7ec4\u4ef6\u7684\u5173\u7cfb\u8bf4\u660e\uff1a

                \u6807\u7b7e Key \u6807\u7b7e Value \u8bf4\u660e node.daocloud.io/insight-any \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u4ee3\u8868 Insight \u6240\u6709\u7ec4\u4ef6\u4f18\u5148\u8003\u8651\u5e26\u4e86\u8be5\u6807\u7b7e\u7684\u8282\u70b9 node.daocloud.io/insight-prometheus \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 Prometheus \u7ec4\u4ef6 node.daocloud.io/insight-vmstorage \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 VictoriaMetrics vmstorage \u7ec4\u4ef6 node.daocloud.io/insight-vector \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 Vector \u7ec4\u4ef6 node.daocloud.io/insight-otel-col \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 OpenTelemetry \u7ec4\u4ef6

                \u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u547d\u4ee4\u4e3a\u8282\u70b9\u6dfb\u52a0\u53ca\u79fb\u9664\u6807\u7b7e\uff1a

                # \u4e3a node8 \u6dfb\u52a0\u6807\u7b7e\uff0c\u5148\u5c06 insight-prometheus \u8c03\u5ea6\u5230 node8 \nkubectl label nodes node8 node.daocloud.io/insight-prometheus=true\n\n# \u79fb\u9664 node8 \u7684 node.daocloud.io/insight-prometheus \u6807\u7b7e\nkubectl label nodes node8 node.daocloud.io/insight-prometheus-\n

                \u4ee5\u4e0b\u662f insight-prometheus \u7ec4\u4ef6\u5728\u90e8\u7f72\u65f6\u9ed8\u8ba4\u7684\u4eb2\u548c\u6027\u504f\u597d\uff1a

                affinity:\n  nodeAffinity:\n    preferredDuringSchedulingIgnoredDuringExecution:\n    - preference:\n        matchExpressions:\n        - key: node-role.kubernetes.io/control-plane\n          operator: DoesNotExist\n      weight: 1\n    - preference:\n        matchExpressions:\n        - key: node.daocloud.io/insight-prometheus # (1)!\n          operator: Exists\n      weight: 2\n    - preference:\n        matchExpressions:\n        - key: node.daocloud.io/insight-any\n          operator: Exists\n      weight: 3\n    podAntiAffinity:\n      preferredDuringSchedulingIgnoredDuringExecution:\n        - weight: 1\n          podAffinityTerm:\n            topologyKey: kubernetes.io/hostname\n            labelSelector:\n              matchExpressions:\n                - key: app.kubernetes.io/instance\n                  operator: In\n                  values:\n                    - insight-agent-kube-prometh-prometheus\n
                1. \u5148\u5c06 insight-prometheus \u8c03\u5ea6\u5230\u5e26\u6709 node.daocloud.io/insight-prometheus \u6807\u7b7e\u7684\u8282\u70b9
                "},{"location":"end-user/insight/quickstart/install/gethosturl.html","title":"\u83b7\u53d6\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u6570\u636e\u5b58\u50a8\u5730\u5740","text":"

                \u53ef\u89c2\u6d4b\u6027\u662f\u591a\u96c6\u7fa4\u7edf\u4e00\u89c2\u6d4b\u7684\u4ea7\u54c1\uff0c\u4e3a\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u7edf\u4e00\u5b58\u50a8\u3001\u67e5\u8be2\uff0c \u5b50\u96c6\u7fa4\u9700\u8981\u5c06\u91c7\u96c6\u7684\u89c2\u6d4b\u6570\u636e\u4e0a\u62a5\u7ed9\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u8fdb\u884c\u7edf\u4e00\u5b58\u50a8\u3002 \u672c\u6587\u63d0\u4f9b\u4e86\u5728\u5b89\u88c5\u91c7\u96c6\u7ec4\u4ef6 insight-agent \u65f6\u5fc5\u586b\u7684\u5b58\u50a8\u7ec4\u4ef6\u7684\u5730\u5740\u3002

                "},{"location":"end-user/insight/quickstart/install/gethosturl.html#insight-agent","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 insight-agent","text":"

                \u5982\u679c\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 insight-agent\uff0c\u63a8\u8350\u901a\u8fc7\u57df\u540d\u6765\u8bbf\u95ee\u96c6\u7fa4\uff1a

                export vminsert_host=\"vminsert-insight-victoria-metrics-k8s-stack.insight-system.svc.cluster.local\" # (1)!\nexport es_host=\"insight-es-master.insight-system.svc.cluster.local\" # (2)!\nexport otel_col_host=\"insight-opentelemetry-collector.insight-system.svc.cluster.local\" # (3)!\n
                "},{"location":"end-user/insight/quickstart/install/gethosturl.html#insight-agent_1","title":"\u5728\u5176\u4ed6\u96c6\u7fa4\u5b89\u88c5 insight-agent","text":""},{"location":"end-user/insight/quickstart/install/gethosturl.html#insight-server","title":"\u901a\u8fc7 Insight Server \u63d0\u4f9b\u7684\u63a5\u53e3\u83b7\u53d6\u5730\u5740","text":"
                1. \u7ba1\u7406\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer \u65b9\u5f0f\u66b4\u9732

                  \u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                  export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam'\n

                  Note

                  \u8bf7\u66ff\u6362\u547d\u4ee4\u4e2d\u7684 ${INSIGHT_SERVER_IP} \u53c2\u6570\u3002

                  \u83b7\u5f97\u5982\u4e0b\u8fd4\u56de\u503c\uff1a

                  {\n  \"values\": {\n    \"global\": {\n      \"exporters\": {\n        \"logging\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"metric\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"auditLog\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"trace\": {\n          \"host\": \"10.6.182.32\"\n        }\n      }\n    },\n    \"opentelemetry-operator\": {\n      \"enabled\": true\n    },\n    \"opentelemetry-collector\": {\n      \"enabled\": true\n    }\n  }\n}\n
                  • global.exporters.logging.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff0c\u4e0d\u9700\u8981\u518d\u8bbe\u7f6e\u5bf9\u5e94\u670d\u52a1\u7684\u7aef\u53e3\uff0c\u90fd\u4f1a\u4f7f\u7528\u76f8\u5e94\u9ed8\u8ba4\u503c
                  • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740
                  • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740
                  • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff08\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3\uff09
                2. \u7ba1\u7406\u96c6\u7fa4\u7981\u7528 LoadBalancer

                  \u8c03\u7528\u63a5\u53e3\u65f6\u9700\u8981\u989d\u5916\u4f20\u9012\u96c6\u7fa4\u4e2d\u4efb\u610f\u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u8282\u70b9 IP\uff0c\u4f1a\u4f7f\u7528\u8be5 IP \u62fc\u63a5\u51fa\u5bf9\u5e94\u670d\u52a1\u7684\u5b8c\u6574\u8bbf\u95ee\u5730\u5740\u3002

                  export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam' --data '{\"extra\": {\"EXPORTER_EXTERNAL_IP\": \"10.5.14.51\"}}'\n

                  \u5c06\u83b7\u5f97\u5982\u4e0b\u7684\u8fd4\u56de\u503c\uff1a

                  {\n  \"values\": {\n    \"global\": {\n      \"exporters\": {\n        \"logging\": {\n          \"scheme\": \"https\",\n          \"host\": \"10.5.14.51\",\n          \"port\": 32007,\n          \"user\": \"elastic\",\n          \"password\": \"j8V1oVoM1184HvQ1F3C8Pom2\"\n        },\n        \"metric\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30683\n        },\n        \"auditLog\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30884\n        },\n        \"trace\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30274\n        }\n      }\n    },\n    \"opentelemetry-operator\": {\n      \"enabled\": true\n    },\n    \"opentelemetry-collector\": {\n      \"enabled\": true\n    }\n  }\n}\n
                  • global.exporters.logging.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740
                  • global.exporters.logging.port \u662f\u65e5\u5fd7\u670d\u52a1\u66b4\u9732\u7684 NodePort
                  • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740
                  • global.exporters.metric.port \u662f\u6307\u6807\u670d\u52a1\u66b4\u9732\u7684 NodePort
                  • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740
                  • global.exporters.trace.port \u662f\u94fe\u8def\u670d\u52a1\u66b4\u9732\u7684 NodePort
                  • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff08\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3\uff09
                  • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u66b4\u9732\u7684 NodePort
                "},{"location":"end-user/insight/quickstart/install/gethosturl.html#loadbalancer","title":"\u901a\u8fc7 LoadBalancer \u8fde\u63a5","text":"
                1. \u82e5\u96c6\u7fa4\u4e2d\u5f00\u542f LoadBalancer \u4e14\u4e3a Insight \u8bbe\u7f6e\u4e86 VIP \u65f6\uff0c\u60a8\u4e5f\u53ef\u4ee5\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6 vminsert \u4ee5\u53ca opentelemetry-collector \u7684\u5730\u5740\u4fe1\u606f\uff1a

                  $ kubectl get service -n insight-system | grep lb\nlb-insight-opentelemetry-collector               LoadBalancer   10.233.23.12    <pending>     4317:31286/TCP,8006:31351/TCP  24d\nlb-vminsert-insight-victoria-metrics-k8s-stack   LoadBalancer   10.233.63.67    <pending>     8480:31629/TCP                 24d\n
                  • lb-vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740
                  • lb-insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740
                2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6 elasticsearch \u5730\u5740\u4fe1\u606f\uff1a

                  $ kubectl get service -n mcamel-system | grep es\nmcamel-common-es-cluster-masters-es-http               NodePort    10.233.16.120   <none>        9200:30465/TCP               47d\n

                  mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740

                "},{"location":"end-user/insight/quickstart/install/gethosturl.html#nodeport","title":"\u901a\u8fc7 NodePort \u8fde\u63a5","text":"

                \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7981\u7528 LB \u7279\u6027

                \u5728\u8be5\u60c5\u51b5\u4e0b\uff0c\u9ed8\u8ba4\u4e0d\u4f1a\u521b\u5efa\u4e0a\u8ff0\u7684 LoadBalancer \u8d44\u6e90\uff0c\u5bf9\u5e94\u670d\u52a1\u540d\u4e3a\uff1a

                • vminsert-insight-victoria-metrics-k8s-stack\uff08\u6307\u6807\u670d\u52a1\uff09
                • common-es\uff08\u65e5\u5fd7\u670d\u52a1\uff09
                • insight-opentelemetry-collector\uff08\u94fe\u8def\u670d\u52a1\uff09

                \u4e0a\u9762\u4e24\u79cd\u60c5\u51b5\u83b7\u53d6\u5230\u5bf9\u5e94\u670d\u52a1\u7684\u5bf9\u5e94\u7aef\u53e3\u4fe1\u606f\u540e\uff0c\u8fdb\u884c\u5982\u4e0b\u8bbe\u7f6e\uff1a

                --set global.exporters.logging.host=  # (1)!\n--set global.exporters.logging.port=  # (2)!\n--set global.exporters.metric.host=   # (3)!\n--set global.exporters.metric.port=   # (4)!\n--set global.exporters.trace.host=    # (5)!\n--set global.exporters.trace.port=    # (6)!\n--set global.exporters.auditLog.host= # (7)!\n
                1. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                2. \u65e5\u5fd7\u670d\u52a1 9200 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
                3. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                4. \u6307\u6807\u670d\u52a1 8480 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
                5. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                6. \u94fe\u8def\u670d\u52a1 4317 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
                7. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                "},{"location":"end-user/insight/quickstart/install/helm-installagent.html","title":"\u901a\u8fc7 Helm \u90e8\u7f72 Insight Agent","text":"

                \u672c\u6587\u63cf\u8ff0\u4e86\u5728\u547d\u4ee4\u884c\u4e2d\u901a\u8fc7 Helm \u547d\u4ee4\u5b89\u88c5 Insight Agent \u793e\u533a\u7248\u7684\u64cd\u4f5c\u6b65\u9aa4\u3002

                "},{"location":"end-user/insight/quickstart/install/helm-installagent.html#insight-agent","title":"\u5b89\u88c5 Insight Agent","text":"
                1. \u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6dfb\u52a0\u955c\u50cf\u4ed3\u5e93\u7684\u5730\u5740

                  helm repo add insight https://release.daocloud.io/chartrepo/insight\nhelm repo upgrade\nhelm search repo  insight/insight-agent --versions\n
                2. \u5b89\u88c5 Insight Agent \u9700\u8981\u786e\u4fdd\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u7684 Insight Server \u6b63\u5e38\u8fd0\u884c\uff0c\u6267\u884c\u4ee5\u4e0b\u5b89\u88c5\u547d\u4ee4\u5b89\u88c5 Insight Agent \u793e\u533a\u7248\uff0c\u8be5\u914d\u7f6e\u4e0d\u542f\u7528 Tracing \u529f\u80fd\uff1a

                  helm upgrade --install --create-namespace --cleanup-on-fail \\\n    --version ${version} \\      # \u8bf7\u6307\u5b9a\u90e8\u7f72\u7248\u672c\n    insight-agent  insight/insight-agent \\\n    --set global.exporters.logging.elasticsearch.host=10.10.10.x \\    # \u8bf7\u66ff\u6362\u201c10.10.10.x\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u5730\u5740\n    --set global.exporters.logging.elasticsearch.port=32517 \\     # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u66b4\u9732\u7684\u7aef\u53e3\n    --set global.exporters.logging.elasticsearch.user=elastic \\     # \u8bf7\u66ff\u6362\u201celastic\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u7528\u6237\u540d\n    --set global.exporters.logging.elasticsearch.password=dangerous \\  # \u8bf7\u66ff\u6362\u201cdangerous\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u5bc6\u7801\n    --set global.exporters.metric.host=${vminsert_address} \\    # \u8bf7\u66ff\u6362\u201c10.10.10.x\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d vminsert \u7684\u5730\u5740\n    --set global.exporters.metric.port=${vminsert_port} \\    # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d vminsert \u7684\u5730\u5740\n    --set global.exporters.auditLog.host=${opentelemetry-collector address} \\     # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d opentelemetry-collector \u7684\u7aef\u53e3\n    --set global.exporters.auditLog.port=${otel_col_auditlog_port}\\   # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d opentelemetry-collector \u5bb9\u5668\u7aef\u53e3\u4e3a 8006 \u7684 service \u5bf9\u5916\u8bbf\u95ee\u7684\u5730\u5740\n    -n insight-system\n

                  Info

                  \u53ef\u53c2\u8003 \u5982\u4f55\u83b7\u53d6\u8fde\u63a5\u5730\u5740 \u83b7\u53d6\u5730\u5740\u4fe1\u606f\u3002

                3. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u5b89\u88c5\u72b6\u6001\uff1a

                  helm list -A\nkubectl get pods -n insight-system\n
                "},{"location":"end-user/insight/quickstart/install/helm-installagent.html#_1","title":"\u5982\u4f55\u83b7\u53d6\u8fde\u63a5\u5730\u5740","text":""},{"location":"end-user/insight/quickstart/install/helm-installagent.html#insight-agent_1","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 Insight Agent","text":"

                \u5982\u679c Agent \u662f\u5b89\u88c5\u5728\u7ba1\u7406\u96c6\u7fa4\uff0c\u63a8\u8350\u901a\u8fc7\u57df\u540d\u6765\u8bbf\u95ee\u96c6\u7fa4\uff1a

                export vminsert_host=\"vminsert-insight-victoria-metrics-k8s-stack.insight-system.svc.cluster.local\" # \u6307\u6807\nexport es_host=\"insight-es-master.insight-system.svc.cluster.local\" # \u65e5\u5fd7\nexport otel_col_host=\"insight-opentelemetry-collector.insight-system.svc.cluster.local\" # \u94fe\u8def\n
                "},{"location":"end-user/insight/quickstart/install/helm-installagent.html#insight-agent_2","title":"\u5728\u5de5\u4f5c\u96c6\u7fa4\u5b89\u88c5 Insight Agent","text":"\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\u64cd\u4f5c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528 Nodeport

                \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer \u65b9\u5f0f\u66b4\u9732\u670d\u52a1\u65f6\uff0c\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam'\n

                \u5c06\u83b7\u5f97\u5982\u4e0b\u7684\u8fd4\u56de\u503c\uff1a

                {\"global\":{\"exporters\":{\"logging\":{\"output\":\"elasticsearch\",\"elasticsearch\":{\"host\":\"10.6.182.32\"},\"kafka\":{},\"host\":\"10.6.182.32\"},\"metric\":{\"host\":\"10.6.182.32\"},\"auditLog\":    {\"host\":\"10.6.182.32\"}}},\"opentelemetry-operator\":{\"enabled\":true},\"opentelemetry-collector\":{\"enabled\":true}}\n

                \u5176\u4e2d\uff1a

                • global.exporters.logging.elasticsearch.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740\u3010\u4e0d\u9700\u8981\u518d\u8bbe\u7f6e\u5bf9\u5e94\u670d\u52a1\u7684\u7aef\u53e3\uff0c\u90fd\u4f1a\u4f7f\u7528\u76f8\u5e94\u9ed8\u8ba4\u503c\u3011\uff1b
                • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740\uff1b
                • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740\uff1b
                • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740 (\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3)\uff1b

                \u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                kubectl get service -n insight-system | grep lb\nkubectl get service -n mcamel-system | grep es\n

                \u5176\u4e2d\uff1a

                • lb-vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740\uff1b
                • lb-insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740;
                • mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740;

                \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528 Nodeport \u65b9\u5f0f\u66b4\u9732\u670d\u52a1\u65f6\uff0c\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                kubectl get service -n insight-system\nkubectl get service -n mcamel-system\n

                \u5176\u4e2d\uff1a

                • vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740\uff1b
                • insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740;
                • mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740;
                "},{"location":"end-user/insight/quickstart/install/helm-installagent.html#insight-agent_3","title":"\u5347\u7ea7 Insight Agent","text":"
                1. \u767b\u5f55\u76ee\u6807\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5907\u4efd --set \u53c2\u6570\u3002

                  helm get values insight-agent -n insight-system -o yaml > insight-agent.yaml\n
                2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0\u4ed3\u5e93\u3002

                  helm repo upgrade\n
                3. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5347\u7ea7\u3002

                  helm upgrade insight-agent insight/insight-agent \\\n-n insight-system \\\n-f ./insight-agent.yaml \\\n--version ${version}   # \u6307\u5b9a\u5347\u7ea7\u7248\u672c\n
                4. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u5b89\u88c5\u72b6\u6001\uff1a

                  kubectl get pods -n insight-system\n
                "},{"location":"end-user/insight/quickstart/install/helm-installagent.html#insight-agent_4","title":"\u5378\u8f7d Insight Agent","text":"
                helm uninstall insight-agent -n insight-system --timeout 10m\n
                "},{"location":"end-user/insight/quickstart/install/install-agent.html","title":"\u5728\u7ebf\u5b89\u88c5 insight-agent","text":"

                insight-agent \u662f\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u91c7\u96c6\u7684\u63d2\u4ef6\uff0c\u652f\u6301\u5bf9\u6307\u6807\u3001\u94fe\u8def\u3001\u65e5\u5fd7\u6570\u636e\u7684\u7edf\u4e00\u89c2\u6d4b\u3002\u672c\u6587\u63cf\u8ff0\u4e86\u5982\u4f55\u5728\u5728\u7ebf\u73af\u5883\u4e2d\u4e3a\u63a5\u5165\u96c6\u7fa4\u5b89\u88c5 insight-agent\u3002

                "},{"location":"end-user/insight/quickstart/install/install-agent.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165 \u5bb9\u5668\u7ba1\u7406 \u6a21\u5757\u3002\u5982\u4f55\u63a5\u5165\u96c6\u7fa4\uff0c\u8bf7\u53c2\u8003\uff1a\u63a5\u5165\u96c6\u7fa4
                "},{"location":"end-user/insight/quickstart/install/install-agent.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u6a21\u5757\uff0c\u5728 \u96c6\u7fa4\u5217\u8868 \u4e2d\u627e\u5230\u8981\u5b89\u88c5 insight-agent \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                2. \u9009\u62e9 \u7acb\u5373\u5b89\u88c5 \u8df3\u8f6c\uff0c\u6216\u70b9\u51fb\u96c6\u7fa4\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u5185\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u641c\u7d22\u6846\u67e5\u8be2 insight-agent \uff0c\u70b9\u51fb\u8be5\u5361\u7247\u8fdb\u5165\u8be6\u60c5\u3002

                3. \u67e5\u770b insight-agent \u7684\u5b89\u88c5\u9875\u9762\uff0c\u70b9\u51fb \u5b89\u88c5 \u8fdb\u5165\u4e0b\u4e00\u6b65\u3002

                4. \u9009\u62e9\u5b89\u88c5\u7684\u7248\u672c\u5e76\u5728\u4e0b\u65b9\u8868\u5355\u5206\u522b\u586b\u5199\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u5bf9\u5e94\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\u7684\u5730\u5740\uff0c\u786e\u8ba4\u586b\u5199\u7684\u4fe1\u606f\u65e0\u8bef\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                  • insight-agent \u9ed8\u8ba4\u90e8\u7f72\u5728\u96c6\u7fa4\u7684 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u3002
                  • \u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\u7684 insight-agent\u3002
                  • \u7cfb\u7edf\u9ed8\u8ba4\u5df2\u586b\u5199\u6570\u636e\u4e0a\u62a5\u7684\u7ec4\u4ef6\u7684\u5730\u5740\uff0c\u4ecd\u8bf7\u60a8\u68c0\u67e5\u65e0\u8bef\u540e\u518d\u70b9\u51fb \u786e\u5b9a \u8fdb\u884c\u5b89\u88c5\u3002 \u5982\u9700\u4fee\u6539\u6570\u636e\u4e0a\u62a5\u5730\u5740\uff0c\u8bf7\u53c2\u8003\uff1a\u83b7\u53d6\u6570\u636e\u4e0a\u62a5\u5730\u5740\u3002

                5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u00a0 Helm \u5e94\u7528 \u5217\u8868\uff0c\u5f53\u5e94\u7528 insight-agent \u7684\u72b6\u6001\u4ece\u00a0 \u672a\u5c31\u7eea \u53d8\u4e3a \u5df2\u90e8\u7f72 \uff0c\u4e14\u6240\u6709\u7684\u7ec4\u4ef6\u72b6\u6001\u4e3a \u8fd0\u884c\u4e2d \u65f6\uff0c\u5219\u5b89\u88c5\u6210\u529f\u3002\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u53ef\u5728 \u53ef\u89c2\u6d4b\u6027 \u6a21\u5757\u67e5\u770b\u8be5\u96c6\u7fa4\u7684\u6570\u636e\u3002

                Note

                • \u70b9\u51fb\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u60a8\u53ef\u4ee5\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u6267\u884c\u66f4\u591a\u64cd\u4f5c\uff0c\u5982 \u66f4\u65b0 \u3001 \u67e5\u770b YAML \u548c \u5220\u9664 \u3002
                "},{"location":"end-user/insight/quickstart/install/knownissues.html","title":"\u5df2\u77e5\u95ee\u9898","text":"

                \u672c\u9875\u5217\u51fa\u4e00\u4e9b Insight Agent \u5b89\u88c5\u548c\u5378\u8f7d\u6709\u5173\u7684\u95ee\u9898\u53ca\u5176\u89e3\u51b3\u529e\u6cd5\u3002

                "},{"location":"end-user/insight/quickstart/install/knownissues.html#v0230","title":"v0.23.0","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#insight-agent","title":"Insight Agent","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#insight-agent_1","title":"Insight Agent \u5378\u8f7d\u5931\u8d25","text":"

                \u5f53\u4f60\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5378\u8f7d Insight Agent \u65f6\u3002

                helm uninstall insight-agent -n insight-system\n

                otel-oprator \u6240\u4f7f\u7528\u7684 tls secret \u672a\u88ab\u5378\u8f7d\u6389\u3002

                otel-operator \u5b9a\u4e49\u7684\u201c\u91cd\u590d\u5229\u7528 tls secret\u201d\u7684\u903b\u8f91\u4e2d\uff0c\u4f1a\u53bb\u5224\u65ad otel-oprator \u7684 MutationConfiguration \u662f\u5426\u5b58\u5728\u5e76\u91cd\u590d\u5229\u7528 MutationConfiguration \u4e2d\u7ed1\u5b9a\u7684 CA cert\u3002\u4f46\u662f\u7531\u4e8e helm uninstall \u5df2\u5378\u8f7d MutationConfiguration\uff0c\u5bfc\u81f4\u51fa\u73b0\u7a7a\u503c\u3002

                \u7efc\u4e0a\u8bf7\u624b\u52a8\u5220\u9664\u5bf9\u5e94\u7684 secret\uff0c\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\u4efb\u9009\u4e00\u79cd\u5373\u53ef\uff1a

                • \u901a\u8fc7\u547d\u4ee4\u884c\u5220\u9664\uff1a\u767b\u5f55\u76ee\u6807\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                  kubectl -n insight-system delete secret insight-agent-opentelemetry-operator-controller-manager-service-cert\n
                • \u901a\u8fc7 UI \u5220\u9664\uff1a\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5bb9\u5668\u7ba1\u7406\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u8fdb\u5165\u5bc6\u94a5\uff0c\u8f93\u5165 insight-agent-opentelemetry-operator-controller-manager-service-cert\uff0c\u9009\u62e9\u5220\u9664\u3002

                "},{"location":"end-user/insight/quickstart/install/knownissues.html#v0220","title":"v0.22.0","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#insight-agent_2","title":"Insight Agent","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#insight-agent_3","title":"\u5347\u7ea7 Insight Agent \u65f6\u66f4\u65b0\u65e5\u5fd7\u6536\u96c6\u7aef\uff0c\u672a\u751f\u6548","text":"

                \u66f4\u65b0 insight-agent \u65e5\u5fd7\u914d\u7f6e\u4ece elasticsearch \u6539\u4e3a kafka \u6216\u8005\u4ece kafka \u6539\u4e3a elasticsearch\uff0c\u5b9e\u9645\u4e0a\u90fd\u672a\u751f\u6548\uff0c\u8fd8\u662f\u4f7f\u7528\u66f4\u65b0\u524d\u914d\u7f6e\u3002

                \u89e3\u51b3\u65b9\u6848 \uff1a

                \u624b\u52a8\u91cd\u542f\u96c6\u7fa4\u4e2d\u7684 fluentbit\u3002

                "},{"location":"end-user/insight/quickstart/install/knownissues.html#v0210","title":"v0.21.0","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#insight-agent_4","title":"Insight Agent","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#podmonitor-jvm","title":"PodMonitor \u91c7\u96c6\u591a\u4efd JVM \u6307\u6807\u6570\u636e","text":"
                1. \u8fd9\u4e2a\u7248\u672c\u7684 PodMonitor/insight-kubernetes-pod \u5b58\u5728\u7f3a\u9677\uff1a\u4f1a\u9519\u8bef\u5730\u521b\u5efa Job \u53bb\u91c7\u96c6\u6807\u8bb0\u4e86 insight.opentelemetry.io/metric-scrape=true \u7684 Pod \u7684\u6240\u6709 container\uff1b\u800c\u5b9e\u9645\u4e0a\u53ea\u9700\u91c7\u96c6 insight.opentelemetry.io/metric-port \u6240\u5bf9\u5e94 container \u7684\u7aef\u53e3\u3002

                2. \u56e0\u4e3a PodMonitor \u58f0\u660e\u4e4b\u540e\uff0cPromethuesOperator \u4f1a\u9884\u8bbe\u7f6e\u4e00\u4e9b\u670d\u52a1\u53d1\u73b0\u914d\u7f6e\u3002 \u518d\u8003\u8651\u5230 CRD \u7684\u517c\u5bb9\u6027\u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u653e\u5f03\u901a\u8fc7 PodMonitor \u6765\u914d\u7f6e\u901a\u8fc7 annotation \u521b\u5efa\u91c7\u96c6\u4efb\u52a1\u7684\u673a\u5236\u3002

                3. \u901a\u8fc7 Prometheus \u81ea\u5e26\u7684 additional scrape config \u673a\u5236\uff0c\u5c06\u670d\u52a1\u53d1\u73b0\u89c4\u5219\u914d\u7f6e\u5728 secret \u4e2d\uff0c\u5728\u5f15\u5165 Prometheus \u91cc\u3002

                \u7efc\u4e0a\uff1a

                1. \u5220\u9664\u8fd9\u4e2a PodMonitor \u7684\u5f53\u524d insight-kubernetes-pod
                2. \u4f7f\u7528\u65b0\u7684\u89c4\u5219

                \u65b0\u7684\u89c4\u5219\u91cc\u901a\u8fc7 action: keepequal \u6765\u6bd4\u8f83 source_labels \u548c target_label \u7684\u4e00\u81f4\u6027\uff0c \u6765\u5224\u65ad\u662f\u5426\u8981\u7ed9\u67d0\u4e2a container \u7684 port \u521b\u5efa\u91c7\u96c6\u4efb\u52a1\u3002\u9700\u8981\u6ce8\u610f\uff0c\u8fd9\u4e2a\u662f Prometheus 2.41.0\uff082022-12-20\uff09\u548c\u66f4\u9ad8\u7248\u672c\u624d\u5177\u5907\u7684\u529f\u80fd\u3002

                +    - source_labels: [__meta_kubernetes_pod_annotation_insight_opentelemetry_io_metric_port]\n+      separator: ;\n+      target_label: __meta_kubernetes_pod_container_port_number\n+      action: keepequal\n
                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html","title":"\u5347\u7ea7\u6ce8\u610f\u4e8b\u9879","text":"

                \u672c\u9875\u4ecb\u7ecd\u4e00\u4e9b\u5347\u7ea7 insight-server \u548c insight-agent \u7684\u6ce8\u610f\u4e8b\u9879\u3002

                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#insight-agent","title":"insight-agent","text":""},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v028x-v029x","title":"\u4ece v0.28.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.29.x","text":"

                \u7531\u4e8e v0.29.0 \u5347\u7ea7\u4e86 Opentelemetry \u793e\u533a\u7684 operator chart \u7248\u672c\uff0cvalues \u4e2d\u7684 featureGates \u7684\u652f\u6301\u7684\u503c\u6709\u6240\u53d8\u5316\uff0c\u56e0\u6b64\uff0c\u5728 upgrade \u4e4b\u524d\uff0c\u9700\u8981\u5c06 featureGates \u7684\u503c\u8bbe\u7f6e\u4e3a\u7a7a, \u5373\uff1a

                -  --set opentelemetry-operator.manager.featureGates=\"+operator.autoinstrumentation.go,+operator.autoinstrumentation.multi-instrumentation,+operator.autoinstrumentation.nginx\" \\\n+  --set opentelemetry-operator.manager.featureGates=\"\"\n
                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#insight-server","title":"insight-server","text":""},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v026x-v027x","title":"\u4ece v0.26.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.27.x \u6216\u66f4\u9ad8\u7248\u672c","text":"

                \u5728 v0.27.x \u7248\u672c\u4e2d\u5c06 vector \u7ec4\u4ef6\u7684\u5f00\u5173\u5355\u72ec\u62bd\u51fa\u3002\u6545\u539f\u6709\u73af\u5883\u5f00\u542f\u4e86 vector\uff0c\u90a3\u5728\u5347\u7ea7 insight-server \u65f6\uff0c\u9700\u8981\u6307\u5b9a --set vector.enabled=true \u3002

                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v019x-020x","title":"\u4ece v0.19.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 0.20.x","text":"

                \u5728\u5347\u7ea7 Insight \u4e4b\u524d\uff0c\u60a8\u9700\u8981\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u5220\u9664 jaeger-collector \u548c jaeger-query \u90e8\u7f72\uff1a

                kubectl -n insight-system delete deployment insight-jaeger-collector\nkubectl -n insight-system delete deployment insight-jaeger-query\n
                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v017x-v018x","title":"\u4ece v0.17.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.18.x","text":"

                \u7531\u4e8e 0.18.x \u4e2d\u66f4\u65b0\u4e86 Jaeger \u76f8\u5173\u90e8\u7f72\u6587\u4ef6\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-server \u524d\u624b\u52a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                kubectl -n insight-system delete deployment insight-jaeger-collector\nkubectl -n insight-system delete deployment insight-jaeger-query\n

                \u7531\u4e8e 0.18.x \u4e2d\u6307\u6807\u540d\u4ea7\u751f\u4e86\u53d8\u52a8\uff0c\u56e0\u6b64\uff0c\u9700\u8981\u5728\u5347\u7ea7 insight-server \u4e4b\u540e\uff0cinsight-agent \u4e5f\u5e94\u8be5\u505a\u5347\u7ea7\u3002

                \u6b64\u5916\uff0c\u8c03\u6574\u4e86\u5f00\u542f\u94fe\u8def\u6a21\u5757\u7684\u53c2\u6570\uff0c\u4ee5\u53ca ElasticSearch \u8fde\u63a5\u8c03\u6574\u3002\u5177\u4f53\u53c2\u8003\u4ee5\u4e0b\u53c2\u6570\uff1a

                +  --set global.tracing.enable=true \\\n-  --set jaeger.collector.enabled=true \\\n-  --set jaeger.query.enabled=true \\\n+  --set global.elasticsearch.scheme=${your-external-elasticsearch-scheme} \\\n+  --set global.elasticsearch.host=${your-external-elasticsearch-host} \\\n+  --set global.elasticsearch.port=${your-external-elasticsearch-port} \\\n+  --set global.elasticsearch.user=${your-external-elasticsearch-username} \\\n+  --set global.elasticsearch.password=${your-external-elasticsearch-password} \\\n-  --set jaeger.storage.elasticsearch.scheme=${your-external-elasticsearch-scheme} \\\n-  --set jaeger.storage.elasticsearch.host=${your-external-elasticsearch-host} \\\n-  --set jaeger.storage.elasticsearch.port=${your-external-elasticsearch-port} \\\n-  --set jaeger.storage.elasticsearch.user=${your-external-elasticsearch-username} \\\n-  --set jaeger.storage.elasticsearch.password=${your-external-elasticsearch-password} \\\n
                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v015x-v016x","title":"\u4ece v0.15.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.16.x","text":"

                \u7531\u4e8e 0.16.x \u4e2d\u4f7f\u7528\u4e86 vmalertmanagers CRD \u7684\u65b0\u7279\u6027\u53c2\u6570 disableRouteContinueEnforce\uff0c \u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-server \u524d\u624b\u52a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u3002

                kubectl apply --server-side -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.33.0/config/crd/bases/operator.victoriametrics.com_vmalertmanagers.yaml --force-conflicts\n

                Note

                \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b Insight \u79bb\u7ebf\u5305\u540e\uff0c\u8bf7\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0 CRD\u3002

                kubectl apply --server-side -f insight/dependency-crds --force-conflicts \n
                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#insight-agent_1","title":"insight-agent","text":""},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v023x-v024x","title":"\u4ece v0.23.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.24.x","text":"

                \u7531\u4e8e 0.24.x \u7248\u672c\u4e2d OTEL operator chart \u4e2d\u65b0\u589e\u4e86 CRD\uff0c\u4f46\u7531\u4e8e Helm Upgrade \u65f6\u5e76\u4e0d\u4f1a\u66f4\u65b0 CRD\uff0c\u56e0\u6b64\uff0c\u9700\u8981\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                kubectl apply -f https://raw.githubusercontent.com/open-telemetry/opentelemetry-helm-charts/main/charts/opentelemetry-operator/crds/crd-opentelemetry.io_opampbridges.yaml\n

                \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\u53ef\u627e\u5230\u4e0a\u8ff0 CRD \u7684 yaml\uff0c\u89e3\u538b Insight-Agent Chart \u4e4b\u540e\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                kubectl apply -f charts/agent/crds/crd-opentelemetry.io_opampbridges.yaml\n
                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v019x-v020x","title":"\u4ece v0.19.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.20.x","text":"

                \u7531\u4e8e 0.20.x \u4e2d\u589e\u52a0\u4e86 Kafka \u65e5\u5fd7\u5bfc\u51fa\u914d\u7f6e\uff0c\u65e5\u5fd7\u5bfc\u51fa\u914d\u7f6e\u505a\u4e86\u4e00\u4e9b\u8c03\u6574\u3002\u5347\u7ea7 insight-agent \u4e4b\u524d\u9700\u8981\u6ce8\u610f\u53c2\u6570\u53d8\u5316\uff0c \u5373\u539f\u6765 logging \u7684\u914d\u7f6e\u5df2\u7ecf\u79fb\u5230\u4e86\u914d\u7f6e\u4e2d logging.elasticsearch\uff1a

                -  --set global.exporters.logging.host \\\n-  --set global.exporters.logging.port \\\n+  --set global.exporters.logging.elasticsearch.host \\\n+  --set global.exporters.logging.elasticsearch.port \\\n
                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v017x-v018x_1","title":"\u4ece v0.17.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.18.x","text":"

                \u7531\u4e8e 0.18.x \u4e2d\u66f4\u65b0\u4e86 Jaeger \u76f8\u5173\u90e8\u7f72\u6587\u4ef6\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u9700\u8981\u6ce8\u610f\u53c2\u6570\u7684\u6539\u52a8\u3002

                +  --set global.exporters.trace.enable=true \\\n-  --set opentelemetry-collector.enabled=true \\\n-  --set opentelemetry-operator.enabled=true \\\n
                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v016x-v017x","title":"\u4ece v0.16.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.17.x","text":"

                \u5728 v0.17.x \u7248\u672c\u4e2d\u5c06 kube-prometheus-stack chart \u7248\u672c\u4ece 41.9.1 \u5347\u7ea7\u81f3 45.28.1, \u5176\u4e2d\u4f7f\u7528\u7684 CRD \u4e5f\u5b58\u5728\u4e00\u4e9b\u5b57\u6bb5\u7684\u5347\u7ea7\uff0c\u5982 servicemonitor \u7684 attachMetadata \u5b57\u6bb5\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml --force-conflicts\n

                \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\uff0c\u5728 insight-agent/dependency-crds \u4e2d\u627e\u5230\u4e0a\u8ff0 CRD \u7684 yaml\u3002

                "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v011x-v012x","title":"\u4ece v0.11.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.12.x","text":"

                \u5728 v0.12.x \u5c06 kube-prometheus-stack chart \u4ece 39.6.0 \u5347\u7ea7\u5230 41.9.1\uff0c\u5176\u4e2d\u5305\u62ec prometheus-operator \u5347\u7ea7\u5230 v0.60.1, prometheus-node-exporter chart \u5347\u7ea7\u5230 4.3.0 \u7b49\u3002 prometheus-node-exporter \u5347\u7ea7\u540e\u4f7f\u7528\u4e86 Kubernetes \u63a8\u8350 label\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7\u524d\u5220\u9664 node-exporter \u7684 DaemonSet\u3002 prometheus-operator \u66f4\u65b0\u4e86 CRD\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                kubectl delete daemonset insight-agent-prometheus-node-exporter -n insight-system\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml --force-conflicts\n

                Note

                \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0 CRD\u3002

                kubectl apply --server-side -f insight-agent/dependency-crds --force-conflicts\n
                "},{"location":"end-user/insight/quickstart/otel/operator.html","title":"\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a","text":"

                \u76ee\u524d\u53ea\u6709 Java\u3001NodeJs\u3001Python\u3001.Net\u3001Golang \u652f\u6301 Operator \u7684\u65b9\u5f0f\u65e0\u4fb5\u5165\u63a5\u5165\u3002

                "},{"location":"end-user/insight/quickstart/otel/operator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u8bf7\u786e\u4fdd insight-agent \u5df2\u7ecf\u5c31\u7eea\u3002\u5982\u82e5\u6ca1\u6709\uff0c\u8bf7\u53c2\u8003\u5b89\u88c5 insight-agent \u91c7\u96c6\u6570\u636e\u5e76\u786e\u4fdd\u4ee5\u4e0b\u4e09\u9879\u5c31\u7eea\uff1a

                • \u4e3a insight-agent \u5f00\u542f trace \u529f\u80fd
                • trace \u6570\u636e\u7684\u5730\u5740\u4ee5\u53ca\u7aef\u53e3\u662f\u5426\u586b\u5199\u6b63\u786e
                • deployment/insight-agent-opentelemetry-operator \u548c deployment/insight-agent-opentelemetry-collector \u5bf9\u5e94\u7684 Pod \u5df2\u7ecf\u51c6\u5907\u5c31\u7eea
                "},{"location":"end-user/insight/quickstart/otel/operator.html#instrumentation-cr","title":"\u5b89\u88c5 Instrumentation CR","text":"

                Tip

                \u4ece Insight v0.22.0 \u5f00\u59cb\uff0c\u4e0d\u518d\u9700\u8981\u624b\u52a8\u5b89\u88c5 Instrumentation CR\u3002

                \u5728 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u5b89\u88c5\uff0c\u4e0d\u540c\u7248\u672c\u4e4b\u95f4\u6709\u4e00\u4e9b\u7ec6\u5c0f\u7684\u5dee\u522b\u3002

                Insight v0.21.xInsight v0.20.xInsight v0.18.xInsight v0.17.xInsight v0.16.x
                K8S_CLUSTER_UID=$(kubectl get namespace kube-system -o jsonpath='{.metadata.uid}')\nkubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/openinsight-proj/autoinstrumentation-java:1.31.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n      - name: OTEL_K8S_CLUSTER_UID\n        value: $K8S_CLUSTER_UID\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
                kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.29.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0-rc.2\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
                kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.25.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.37.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.38b0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.1-alpha\nEOF\n
                kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.23.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.34.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.33b0\nEOF\n
                kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.23.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.34.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.33b0\nEOF\n
                "},{"location":"end-user/insight/quickstart/otel/operator.html#_2","title":"\u4e0e\u670d\u52a1\u7f51\u683c\u94fe\u8def\u4e32\u8054\u573a\u666f","text":"

                \u5982\u679c\u60a8\u5f00\u542f\u4e86\u670d\u52a1\u7f51\u683c\u7684\u94fe\u8def\u8ffd\u8e2a\u80fd\u529b\uff0c\u9700\u8981\u989d\u5916\u589e\u52a0\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u6ce8\u5165\u7684\u914d\u7f6e\uff1a

                "},{"location":"end-user/insight/quickstart/otel/operator.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b","text":"
                1. \u767b\u5f55 DCE5.0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u540e\u9009\u62e9\u8fdb\u5165\u76ee\u6807\u96c6\u7fa4\uff0c
                2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u627e\u5230 instrumentations.opentelemetry.io \u540e\u8fdb\u5165\u8be6\u60c5\u9875\u3002
                3. \u9009\u62e9 insight-system \u547d\u540d\u7a7a\u95f4\u540e\uff0c\u7f16\u8f91 insight-opentelemetry-autoinstrumentation \uff0c\u5728 spec:env: \u4e0b\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a

                      - name: OTEL_SERVICE_NAME\n      valueFrom:\n        fieldRef:\n          fieldPath: metadata.labels['app'] \n

                  \u5b8c\u6574\u7684\u547d\u4ee4\u5982\u4e0b\uff08For Insight v0.21.x\uff09\uff1a

                  K8S_CLUSTER_UID=$(kubectl get namespace kube-system -o jsonpath='{.metadata.uid}')\nkubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n    - name: OTEL_SERVICE_NAME\n      valueFrom:\n        fieldRef:\n          fieldPath: metadata.labels['app'] \n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/openinsight-proj/autoinstrumentation-java:1.31.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n      - name: OTEL_K8S_CLUSTER_UID\n        value: $K8S_CLUSTER_UID\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
                "},{"location":"end-user/insight/quickstart/otel/operator.html#_4","title":"\u6dfb\u52a0\u6ce8\u89e3\uff0c\u81ea\u52a8\u63a5\u5165\u94fe\u8def","text":"

                \u4ee5\u4e0a\u5c31\u7eea\u4e4b\u540e\uff0c\u60a8\u5c31\u53ef\u4ee5\u901a\u8fc7\u6ce8\u89e3\uff08Annotation\uff09\u65b9\u5f0f\u4e3a\u5e94\u7528\u7a0b\u5e8f\u63a5\u5165\u94fe\u8def\u8ffd\u8e2a\u4e86\uff0cOTel \u76ee\u524d\u652f\u6301\u901a\u8fc7\u6ce8\u89e3\u7684\u65b9\u5f0f\u63a5\u5165\u94fe\u8def\u3002 \u6839\u636e\u670d\u52a1\u8bed\u8a00\uff0c\u9700\u8981\u6dfb\u52a0\u4e0a\u4e0d\u540c\u7684 pod annotations\u3002\u6bcf\u4e2a\u670d\u52a1\u53ef\u6dfb\u52a0\u4e24\u7c7b\u6ce8\u89e3\u4e4b\u4e00\uff1a

                • \u53ea\u6ce8\u5165\u73af\u5883\u53d8\u91cf\u6ce8\u89e3

                  \u8fd9\u7c7b\u6ce8\u89e3\u53ea\u6709\u4e00\u4e2a\uff0c\u7528\u4e8e\u6dfb\u52a0 otel \u76f8\u5173\u7684\u73af\u5883\u53d8\u91cf\uff0c\u6bd4\u5982\u94fe\u8def\u4e0a\u62a5\u5730\u5740\u3001\u5bb9\u5668\u6240\u5728\u7684\u96c6\u7fa4 id\u3001\u547d\u540d\u7a7a\u95f4\u7b49\uff08\u8fd9\u4e2a\u6ce8\u89e3\u5728\u5e94\u7528\u4e0d\u652f\u6301\u81ea\u52a8\u63a2\u9488\u8bed\u8a00\u65f6\u5341\u5206\u6709\u7528\uff09

                  instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                  \u5176\u4e2d value \u88ab / \u5206\u6210\u4e24\u90e8\u5206\uff0c\u7b2c\u4e00\u4e2a\u503c (insight-system) \u662f\u4e0a\u4e00\u6b65\u5b89\u88c5\u7684 CR \u7684\u547d\u540d\u7a7a\u95f4\uff0c \u7b2c\u4e8c\u4e2a\u503c (insight-opentelemetry-autoinstrumentation) \u662f\u8fd9\u4e2a CR \u7684\u540d\u5b57\u3002

                • \u81ea\u52a8\u63a2\u9488\u6ce8\u5165\u4ee5\u53ca\u73af\u5883\u53d8\u91cf\u6ce8\u5165\u6ce8\u89e3

                  \u8fd9\u7c7b\u6ce8\u89e3\u76ee\u524d\u6709 4 \u4e2a\uff0c\u5206\u522b\u5bf9\u5e94 4 \u79cd\u4e0d\u540c\u7684\u7f16\u7a0b\u8bed\u8a00\uff1ajava\u3001nodejs\u3001python\u3001dotnet\uff0c \u4f7f\u7528\u5b83\u540e\u5c31\u4f1a\u5bf9 spec.pod \u4e0b\u7684\u7b2c\u4e00\u4e2a\u5bb9\u5668\u6ce8\u5165\u81ea\u52a8\u63a2\u9488\u4ee5\u53ca otel \u9ed8\u8ba4\u73af\u5883\u53d8\u91cf\uff1a

                  Java \u5e94\u7528NodeJs \u5e94\u7528Python \u5e94\u7528Dotnet \u5e94\u7528Golang \u5e94\u7528
                  instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                  instrumentation.opentelemetry.io/inject-nodejs: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                  instrumentation.opentelemetry.io/inject-python: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                  instrumentation.opentelemetry.io/inject-dotnet: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                  \u7531\u4e8e Go \u81ea\u52a8\u68c0\u6d4b\u9700\u8981\u8bbe\u7f6e OTEL_GO_AUTO_TARGET_EXE\uff0c \u56e0\u6b64\u60a8\u5fc5\u987b\u901a\u8fc7\u6ce8\u89e3\u6216 Instrumentation \u8d44\u6e90\u63d0\u4f9b\u6709\u6548\u7684\u53ef\u6267\u884c\u8def\u5f84\u3002\u672a\u8bbe\u7f6e\u6b64\u503c\u4f1a\u5bfc\u81f4 Go \u81ea\u52a8\u68c0\u6d4b\u6ce8\u5165\u4e2d\u6b62\uff0c\u4ece\u800c\u5bfc\u81f4\u63a5\u5165\u94fe\u8def\u5931\u8d25\u3002

                  instrumentation.opentelemetry.io/inject-go: \"insight-system/insight-opentelemetry-autoinstrumentation\"\ninstrumentation.opentelemetry.io/otel-go-auto-target-exe: \"/path/to/container/executable\"\n

                  Go \u81ea\u52a8\u68c0\u6d4b\u4e5f\u9700\u8981\u63d0\u5347\u6743\u9650\u3002\u4ee5\u4e0b\u6743\u9650\u662f\u81ea\u52a8\u8bbe\u7f6e\u7684\u5e76\u4e14\u662f\u5fc5\u9700\u7684\u3002

                  securityContext:\n  privileged: true\n  runAsUser: 0\n

                Tip

                OpenTelemetry Operator \u5728\u6ce8\u5165\u63a2\u9488\u65f6\u4f1a\u81ea\u52a8\u6dfb\u52a0\u4e00\u4e9b OTel \u76f8\u5173\u73af\u5883\u53d8\u91cf\uff0c\u540c\u65f6\u4e5f\u652f\u6301\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\u7684\u8986\u76d6\u3002\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\u7684\u8986\u76d6\u4f18\u5148\u7ea7\uff1a

                original container env vars -> language specific env vars -> common env vars -> instrument spec configs' vars\n

                \u4f46\u662f\u9700\u8981\u907f\u514d\u624b\u52a8\u8986\u76d6 OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\uff0c\u5b83\u5728 Operator \u5185\u90e8\u4f5c\u4e3a\u4e00\u4e2a Pod \u662f\u5426\u5df2\u7ecf\u6ce8\u5165\u63a2\u9488\u7684\u6807\u8bc6\uff0c\u5982\u679c\u624b\u52a8\u6dfb\u52a0\u4e86\uff0c\u63a2\u9488\u53ef\u80fd\u65e0\u6cd5\u6ce8\u5165\u3002

                "},{"location":"end-user/insight/quickstart/otel/operator.html#demo","title":"\u81ea\u52a8\u6ce8\u5165\u793a\u4f8b Demo","text":"

                \u6ce8\u610f\u8fd9\u4e2a annotations \u662f\u52a0\u5728 spec.annotations \u4e0b\u7684\u3002

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-app\n  labels:\n    app: my-app\nspec:\n  selector:\n    matchLabels:\n      app: my-app\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app: my-app\n      annotations:\n        instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n    spec:\n      containers:\n      - name: myapp\n        image: jaegertracing/vertx-create-span:operator-e2e-tests\n        ports:\n          - containerPort: 8080\n            protocol: TCP\n

                \u6700\u7ec8\u751f\u6210\u7684 YAML \u5185\u5bb9\u5982\u4e0b\uff1a

                apiVersion: v1\nkind: Pod\nmetadata:\n  name: my-deployment-with-sidecar-565bd877dd-nqkk6\n  generateName: my-deployment-with-sidecar-565bd877dd-\n  namespace: default\n  uid: aa89ca0d-620c-4d20-8bc1-37d67bad4ea4\n  resourceVersion: '2668986'\n  creationTimestamp: '2022-04-08T05:58:48Z'\n  labels:\n    app: my-pod-with-sidecar\n    pod-template-hash: 565bd877dd\n  annotations:\n    cni.projectcalico.org/containerID: 234eae5e55ea53db2a4bc2c0384b9a1021ed3908f82a675e4a92a49a7e80dd61\n    cni.projectcalico.org/podIP: 192.168.134.133/32\n    cni.projectcalico.org/podIPs: 192.168.134.133/32\n    instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\nspec:\n  volumes:\n    - name: kube-api-access-sp2mz\n      projected:\n        sources:\n          - serviceAccountToken:\n              expirationSeconds: 3607\n              path: token\n          - configMap:\n              name: kube-root-ca.crt\n              items:\n                - key: ca.crt\n                  path: ca.crt\n          - downwardAPI:\n              items:\n                - path: namespace\n                  fieldRef:\n                    apiVersion: v1\n                    fieldPath: metadata.namespace\n        defaultMode: 420\n    - name: opentelemetry-auto-instrumentation\n      emptyDir: {}\n  initContainers:\n    - name: opentelemetry-auto-instrumentation\n      image: >-\n        ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java\n      command:\n        - cp\n        - /javaagent.jar\n        - /otel-auto-instrumentation/javaagent.jar\n      resources: {}\n      volumeMounts:\n        - name: opentelemetry-auto-instrumentation\n          mountPath: /otel-auto-instrumentation\n        - name: kube-api-access-sp2mz\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  containers:\n    - name: myapp\n      image: ghcr.io/pavolloffay/spring-petclinic:latest\n      env:\n        - name: OTEL_JAVAAGENT_DEBUG\n          value: 'true'\n        - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n          value: 'true'\n        - name: SPLUNK_PROFILER_ENABLED\n          value: 'false'\n        - name: JAVA_TOOL_OPTIONS\n          value: ' -javaagent:/otel-auto-instrumentation/javaagent.jar'\n        - name: OTEL_TRACES_EXPORTER\n          value: otlp\n        - name: OTEL_EXPORTER_OTLP_ENDPOINT\n          value: http://insight-agent-opentelemetry-collector.svc.cluster.local:4317\n        - name: OTEL_EXPORTER_OTLP_TIMEOUT\n          value: '20'\n        - name: OTEL_TRACES_SAMPLER\n          value: parentbased_traceidratio\n        - name: OTEL_TRACES_SAMPLER_ARG\n          value: '0.85'\n        - name: SPLUNK_TRACE_RESPONSE_HEADER_ENABLED\n          value: 'true'\n        - name: OTEL_SERVICE_NAME\n          value: my-deployment-with-sidecar\n        - name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: metadata.name\n        - name: OTEL_RESOURCE_ATTRIBUTES_POD_UID\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: metadata.uid\n        - name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: spec.nodeName\n        - name: OTEL_RESOURCE_ATTRIBUTES\n          value: >-\n            k8s.container.name=myapp,k8s.deployment.name=my-deployment-with-sidecar,k8s.deployment.uid=8de6929d-dda0-436c-bca1-604e9ca7ea4e,k8s.namespace.name=default,k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME),k8s.pod.uid=$(OTEL_RESOURCE_ATTRIBUTES_POD_UID),k8s.replicaset.name=my-deployment-with-sidecar-565bd877dd,k8s.replicaset.uid=190d5f6e-ba7f-4794-b2e6-390b5879a6c4\n        - name: OTEL_PROPAGATORS\n          value: jaeger,b3\n      resources: {}\n      volumeMounts:\n        - name: kube-api-access-sp2mz\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n        - name: opentelemetry-auto-instrumentation\n          mountPath: /otel-auto-instrumentation\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  restartPolicy: Always\n  terminationGracePeriodSeconds: 30\n  dnsPolicy: ClusterFirst\n  serviceAccountName: default\n  serviceAccount: default\n  nodeName: k8s-master3\n  securityContext:\n    runAsUser: 1000\n    runAsGroup: 3000\n    fsGroup: 2000\n  schedulerName: default-scheduler\n  tolerations:\n    - key: node.kubernetes.io/not-ready\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n    - key: node.kubernetes.io/unreachable\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n  priority: 0\n  enableServiceLinks: true\n  preemptionPolicy: PreemptLowerPriority\n
                "},{"location":"end-user/insight/quickstart/otel/operator.html#_5","title":"\u94fe\u8def\u67e5\u8be2","text":"

                \u5982\u4f55\u67e5\u8be2\u5df2\u7ecf\u63a5\u5165\u7684\u670d\u52a1\uff0c\u53c2\u8003\u94fe\u8def\u67e5\u8be2\u3002

                "},{"location":"end-user/insight/quickstart/otel/otel.html","title":"\u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027","text":"

                \u589e\u5f3a\u662f\u4f7f\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u80fd\u591f\u751f\u6210\u9065\u6d4b\u6570\u636e\u7684\u8fc7\u7a0b\u3002\u5373\u4e00\u4e9b\u53ef\u4ee5\u5e2e\u52a9\u60a8\u76d1\u89c6\u6216\u6d4b\u91cf\u5e94\u7528\u7a0b\u5e8f\u7684\u6027\u80fd\u548c\u72b6\u6001\u7684\u4e1c\u897f\u3002

                OpenTelemetry \u662f\u9886\u5148\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u4e3a\u4e3b\u8981\u7f16\u7a0b\u8bed\u8a00\u548c\u6d41\u884c\u6846\u67b6\u63d0\u4f9b\u68c0\u6d4b\u5e93\u3002\u5b83\u662f\u4e91\u539f\u751f\u8ba1\u7b97\u57fa\u91d1\u4f1a\u4e0b\u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5f97\u5230\u4e86\u793e\u533a\u5e9e\u5927\u8d44\u6e90\u7684\u652f\u6301\u3002 \u5b83\u4e3a\u91c7\u96c6\u7684\u6570\u636e\u63d0\u4f9b\u6807\u51c6\u5316\u7684\u6570\u636e\u683c\u5f0f\uff0c\u65e0\u9700\u96c6\u6210\u7279\u5b9a\u7684\u4f9b\u5e94\u5546\u3002

                Insight \u652f\u6301\u7528\u4e8e\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u7684 OpenTelemetry \u6765\u589e\u5f3a\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u3002

                \u672c\u6307\u5357\u4ecb\u7ecd\u4e86\u4f7f\u7528 OpenTelemetry \u8fdb\u884c\u9065\u6d4b\u589e\u5f3a\u7684\u57fa\u672c\u6982\u5ff5\u3002 OpenTelemetry \u8fd8\u6709\u4e00\u4e2a\u7531\u5e93\u3001\u63d2\u4ef6\u3001\u96c6\u6210\u548c\u5176\u4ed6\u6709\u7528\u5de5\u5177\u7ec4\u6210\u7684\u751f\u6001\u7cfb\u7edf\u6765\u6269\u5c55\u5b83\u3002 \u60a8\u53ef\u4ee5\u5728 Otel Registry \u4e2d\u627e\u5230\u8fd9\u4e9b\u8d44\u6e90\u3002

                \u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u5f00\u653e\u6807\u51c6\u5e93\u8fdb\u884c\u9065\u6d4b\u589e\u5f3a\uff0c\u5e76\u4f7f\u7528 Insight \u4f5c\u4e3a\u53ef\u89c2\u5bdf\u6027\u540e\u7aef\u6765\u6444\u53d6\u3001\u5206\u6790\u548c\u53ef\u89c6\u5316\u6570\u636e\u3002

                \u4e3a\u4e86\u589e\u5f3a\u60a8\u7684\u4ee3\u7801\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 OpenTelemetry \u4e3a\u7279\u5b9a\u8bed\u8a00\u63d0\u4f9b\u7684\u589e\u5f3a\u64cd\u4f5c\uff1a

                Insight \u76ee\u524d\u63d0\u4f9b\u4e86\u4f7f\u7528 OpenTelemetry \u589e\u5f3a .Net NodeJS\u3001Java\u3001Python \u548c Golang \u5e94\u7528\u7a0b\u5e8f\u7684\u7b80\u5355\u65b9\u6cd5\u3002\u8bf7\u9075\u5faa\u4ee5\u4e0b\u6307\u5357\u3002

                "},{"location":"end-user/insight/quickstart/otel/otel.html#_1","title":"\u94fe\u8def\u589e\u5f3a","text":"
                • \u94fe\u8def\u63a5\u5165\u7684\u6700\u4f73\u5b9e\u8df5\uff1a\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a
                • \u4ee5 Go \u8bed\u8a00\u4e3a\u4f8b\u7684\u624b\u52a8\u57cb\u70b9\u63a5\u5165\uff1a\u4f7f\u7528 OpenTelemetry SDK \u589e\u5f3a Go \u5e94\u7528\u7a0b\u5e8f
                • \u5229\u7528 ebpf \u5b9e\u73b0 Go \u8bed\u8a00\u65e0\u4fb5\u5165\u63a2\u9488\uff08\u5b9e\u9a8c\u6027\u529f\u80fd\uff09
                "},{"location":"end-user/insight/quickstart/otel/send_tracing_to_insight.html","title":"\u5411 Insight \u53d1\u9001\u94fe\u8def\u6570\u636e","text":"

                \u6b64\u6587\u6863\u4e3b\u8981\u63cf\u8ff0\u5ba2\u6237\u5e94\u7528\u5982\u4f55\u81ea\u884c\u5c06\u94fe\u8def\u6570\u636e\u4e0a\u62a5\u7ed9 Insight\u3002\u4e3b\u8981\u5305\u542b\u5982\u4e0b\u4e24\u79cd\u573a\u666f\uff1a

                1. \u5ba2\u6237\u5e94\u7528\u901a\u8fc7 OTEL Agent/SDK \u4e0a\u62a5\u94fe\u8def\u7ed9 Insight
                2. \u901a\u8fc7 Opentelemtry Collector(\u7b80\u79f0 OTEL COL) \u5c06\u94fe\u8def\u8f6c\u53d1\u7ed9 Insight

                \u5728\u6bcf\u4e2a\u5df2\u5b89\u88c5 Insight Agent \u7684\u96c6\u7fa4\u4e2d\u90fd\u6709 insight-agent-otel-col \u7ec4\u4ef6\u7528\u4e8e\u7edf\u4e00\u63a5\u6536\u8be5\u96c6\u7fa4\u7684\u94fe\u8def\u6570\u636e\u3002 \u56e0\u6b64\uff0c\u8be5\u7ec4\u4ef6\u4f5c\u4e3a\u7528\u6237\u63a5\u5165\u4fa7\u7684\u5165\u53e3\uff0c\u9700\u8981\u5148\u83b7\u53d6\u8be5\u5730\u5740\u3002\u53ef\u4ee5\u901a\u8fc7 AI \u7b97\u529b\u4e2d\u5fc3 \u754c\u9762\u83b7\u53d6\u8be5\u96c6\u7fa4 Opentelemtry Collector \u7684\u5730\u5740\uff0c \u6bd4\u5982 insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 \uff1a

                \u9664\u6b64\u4e4b\u5916\uff0c\u9488\u5bf9\u4e0d\u540c\u4e0a\u62a5\u65b9\u5f0f\uff0c\u6709\u4e00\u4e9b\u7ec6\u5fae\u5dee\u522b\uff1a

                "},{"location":"end-user/insight/quickstart/otel/send_tracing_to_insight.html#otel-agentsdk-insight-agent-opentelemtry-collector","title":"\u5ba2\u6237\u5e94\u7528\u901a\u8fc7 OTel Agent/SDK \u4e0a\u62a5\u94fe\u8def\u7ed9 Insight Agent Opentelemtry Collector","text":"

                \u4e3a\u4e86\u80fd\u591f\u5c06\u94fe\u8def\u6570\u636e\u6b63\u5e38\u4e0a\u62a5\u81f3 Insight \u5e76\u80fd\u591f\u5728 Insight \u6b63\u5e38\u5c55\u793a\uff0c\u9700\u8981\u5e76\u5efa\u8bae\u901a\u8fc7\u5982\u4e0b\u73af\u5883\u53d8\u91cf\u63d0\u4f9b OTLP \u6240\u9700\u7684\u5143\u6570\u636e (Resource Attribute)\uff0c\u6709\u4e24\u79cd\u65b9\u5f0f\u53ef\u5b9e\u73b0\uff1a

                • \u5728\u90e8\u7f72\u6587\u4ef6 YAML \u4e2d\u624b\u52a8\u6dfb\u52a0\uff0c\u4f8b\u5982\uff1a

                  ...\n- name: OTEL_EXPORTER_OTLP_ENDPOINT\n  value: \"http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\"\n- name: \"OTEL_SERVICE_NAME\"\n  value: my-java-app-name\n- name: \"OTEL_K8S_NAMESPACE\"\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: metadata.namespace\n- name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: spec.nodeName\n- name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: metadata.name\n- name: OTEL_RESOURCE_ATTRIBUTES\n  value: \"k8s.namespace.name=$(OTEL_K8S_NAMESPACE),k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME)\"\n
                • \u5229\u7528 Insight Agent \u81ea\u52a8\u6ce8\u5165\u5982\u4e0a\u5143\u6570\u636e (Resource Attribute) \u80fd\u529b

                  \u786e\u4fdd Insight Agent \u6b63\u5e38\u5de5\u4f5c\u5e76 \u5b89\u88c5 Instrumentation CR \u4e4b\u540e\uff0c \u53ea\u9700\u8981\u4e3a Pod \u6dfb\u52a0\u5982\u4e0b Annotation \u5373\u53ef\uff1a

                  instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                  \u4e3e\u4f8b\uff1a

                  apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-deployment-with-aotu-instrumentation\nspec:\n  selector:\n    matchLabels:\n      app.kubernetes.io/name: my-deployment-with-aotu-instrumentation-kuberntes\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app.kubernetes.io/name: my-deployment-with-aotu-instrumentation-kuberntes\n      annotations:\n        sidecar.opentelemetry.io/inject: \"false\"\n        instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                "},{"location":"end-user/insight/quickstart/otel/send_tracing_to_insight.html#opentelemtry-collector-insight-agent-opentelemtry-collector","title":"\u901a\u8fc7 Opentelemtry Collector \u5c06\u94fe\u8def\u8f6c\u53d1\u7ed9 Insight Agent Opentelemtry Collector","text":"

                \u5728\u4fdd\u8bc1\u5e94\u7528\u6dfb\u52a0\u4e86\u5982\u4e0a\u5143\u6570\u636e\u4e4b\u540e\uff0c\u53ea\u9700\u5728\u5ba2\u6237 Opentelemtry Collector \u91cc\u9762\u65b0\u589e\u4e00\u4e2a OTLP Exporter \u5c06\u94fe\u8def\u6570\u636e\u8f6c\u53d1\u7ed9 Insight Agent Opentelemtry Collector \u5373\u53ef\uff0c\u5982\u4e0b Opentelemtry Collector \u914d\u7f6e\u6587\u4ef6\u6240\u793a\uff1a

                ...\nexporters:\n  otlp/insight:\n    endpoint: insight-opentelemetry-collector.insight-system.svc.cluster.local:4317\nservice:\n...\npipelines:\n...\ntraces:\n  exporters:\n    - otlp/insight\n
                "},{"location":"end-user/insight/quickstart/otel/send_tracing_to_insight.html#_1","title":"\u53c2\u8003","text":"
                • \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a
                • \u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html","title":"\u4f7f\u7528 OTel SDK \u589e\u5f3a Go \u5e94\u7528\u7a0b\u5e8f","text":"

                Golang \u65e0\u4fb5\u5165\u5f0f\u63a5\u5165\u94fe\u8def\u8bf7\u53c2\u8003 \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u6587\u6863\uff0c\u901a\u8fc7\u6ce8\u89e3\u5b9e\u73b0\u81ea\u52a8\u63a5\u5165\u94fe\u8def\u3002

                OpenTelemetry \u4e5f\u7b80\u79f0\u4e3a OTel\uff0c\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u53ef\u89c2\u6d4b\u6027\u6846\u67b6\uff0c\u53ef\u4ee5\u5e2e\u52a9\u5728 Go \u5e94\u7528\u7a0b\u5e8f\u4e2d\u751f\u6210\u548c\u6536\u96c6\u9065\u6d4b\u6570\u636e\uff1a\u94fe\u8def\u3001\u6307\u6807\u548c\u65e5\u5fd7\u3002

                \u672c\u6587\u4e3b\u8981\u8bb2\u89e3\u5982\u4f55\u5728 Go \u5e94\u7528\u7a0b\u5e8f\u4e2d\u901a\u8fc7 OpenTelemetry Go SDK \u589e\u5f3a\u5e76\u63a5\u5165\u94fe\u8def\u76d1\u63a7\u3002

                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#otel-sdk-go_1","title":"\u4f7f\u7528 OTel SDK \u589e\u5f3a Go \u5e94\u7528","text":""},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_1","title":"\u5b89\u88c5\u76f8\u5173\u4f9d\u8d56","text":"

                \u5fc5\u987b\u5148\u5b89\u88c5\u4e0e OpenTelemetry exporter \u548c SDK \u76f8\u5173\u7684\u4f9d\u8d56\u9879\u3002\u5982\u679c\u60a8\u6b63\u5728\u4f7f\u7528\u5176\u4ed6\u8bf7\u6c42\u8def\u7531\u5668\uff0c\u8bf7\u53c2\u8003\u8bf7\u6c42\u8def\u7531\u3002 \u5207\u6362/\u8fdb\u5165\u5230\u5e94\u7528\u7a0b\u5e8f\u6e90\u6587\u4ef6\u5939\u540e\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                go get go.opentelemetry.io/otel@v1.19.0 \\\n  go.opentelemetry.io/otel/trace@v1.19.0 \\\n  go.opentelemetry.io/otel/sdk@v1.19.0 \\\n  go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin@v0.46.1 \\\n  go.opentelemetry.io/otel/exporters/otlp/otlptrace@v1.19.0 \\\n  go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.19.0\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#otel-sdk","title":"\u4f7f\u7528 OTel SDK \u521b\u5efa\u521d\u59cb\u5316\u51fd\u6570","text":"

                \u4e3a\u4e86\u8ba9\u5e94\u7528\u7a0b\u5e8f\u80fd\u591f\u53d1\u9001\u6570\u636e\uff0c\u9700\u8981\u4e00\u4e2a\u51fd\u6570\u6765\u521d\u59cb\u5316 OpenTelemetry\u3002\u5728 main.go \u6587\u4ef6\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u4ee3\u7801\u7247\u6bb5:

                import (\n    \"context\"\n    \"os\"\n    \"time\"\n\n    \"go.opentelemetry.io/otel\"\n    \"go.opentelemetry.io/otel/exporters/otlp/otlptrace\"\n    \"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc\"\n    \"go.opentelemetry.io/otel/propagation\"\n    \"go.opentelemetry.io/otel/sdk/resource\"\n    sdktrace \"go.opentelemetry.io/otel/sdk/trace\"\n    semconv \"go.opentelemetry.io/otel/semconv/v1.7.0\"\n    \"go.uber.org/zap\"\n    \"google.golang.org/grpc\"\n)\n\nvar tracerExp *otlptrace.Exporter\n\nfunc retryInitTracer() func() {\n    var shutdown func()\n    go func() {\n        for {\n            // otel will reconnected and re-send spans when otel col recover. so, we don't need to re-init tracer exporter.\n            if tracerExp == nil {\n                shutdown = initTracer()\n            } else {\n                break\n            }\n            time.Sleep(time.Minute * 5)\n        }\n    }()\n    return shutdown\n}\n\nfunc initTracer() func() {\n    // temporarily set timeout to 10s\n    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)\n    defer cancel()\n\n    serviceName, ok := os.LookupEnv(\"OTEL_SERVICE_NAME\")\n    if !ok {\n        serviceName = \"server_name\"\n        os.Setenv(\"OTEL_SERVICE_NAME\", serviceName)\n    }\n    otelAgentAddr, ok := os.LookupEnv(\"OTEL_EXPORTER_OTLP_ENDPOINT\")\n    if !ok {\n        otelAgentAddr = \"http://localhost:4317\"\n        os.Setenv(\"OTEL_EXPORTER_OTLP_ENDPOINT\", otelAgentAddr)\n    }\n    zap.S().Infof(\"OTLP Trace connect to: %s with service name: %s\", otelAgentAddr, serviceName)\n\n    traceExporter, err := otlptracegrpc.New(ctx, otlptracegrpc.WithInsecure(), otlptracegrpc.WithDialOption(grpc.WithBlock()))\n    if err != nil {\n        handleErr(err, \"OTLP Trace gRPC Creation\")\n        return nil\n    }\n\n    tracerProvider := sdktrace.NewTracerProvider(\n        sdktrace.WithBatcher(traceExporter),\n        sdktrace.WithSampler(sdktrace.AlwaysSample()),\n    sdktrace.WithResource(resource.NewWithAttributes(semconv.SchemaURL)))\n\n    otel.SetTracerProvider(tracerProvider)\n    otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{}))\n\n    tracerExp = traceExporter\n    return func() {\n        // Shutdown will flush any remaining spans and shut down the exporter.\n        handleErr(tracerProvider.Shutdown(ctx), \"failed to shutdown TracerProvider\")\n    }\n}\n\nfunc handleErr(err error, message string) {\n    if err != nil {\n        zap.S().Errorf(\"%s: %v\", message, err)\n    }\n}\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#maingo","title":"\u5728 main.go \u4e2d\u521d\u59cb\u5316\u8ddf\u8e2a\u5668","text":"

                \u4fee\u6539 main \u51fd\u6570\u4ee5\u5728 main.go \u4e2d\u521d\u59cb\u5316\u8ddf\u8e2a\u5668\u3002\u53e6\u5916\u5f53\u60a8\u7684\u670d\u52a1\u5173\u95ed\u65f6\uff0c\u5e94\u8be5\u8c03\u7528 TracerProvider.Shutdown() \u786e\u4fdd\u5bfc\u51fa\u6240\u6709 Span\u3002\u8be5\u670d\u52a1\u5c06\u8be5\u8c03\u7528\u4f5c\u4e3a\u4e3b\u51fd\u6570\u4e2d\u7684\u5ef6\u8fdf\u51fd\u6570\uff1a

                func main() {\n    // start otel tracing\n    if shutdown := retryInitTracer(); shutdown != nil {\n            defer shutdown()\n        }\n    ......\n}\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#otel-gin","title":"\u4e3a\u5e94\u7528\u6dfb\u52a0 OTel Gin \u4e2d\u95f4\u4ef6","text":"

                \u901a\u8fc7\u5728 main.go \u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u884c\u6765\u914d\u7f6e Gin \u4ee5\u4f7f\u7528\u4e2d\u95f4\u4ef6:

                import (\n    ....\n  \"go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin\"\n)\n\nfunc main() {\n    ......\n    r := gin.Default()\n    r.Use(otelgin.Middleware(\"my-app\"))\n    ......\n}\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_2","title":"\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f","text":"
                • \u672c\u5730\u8c03\u8bd5\u8fd0\u884c

                  \u6ce8\u610f: \u6b64\u6b65\u9aa4\u4ec5\u7528\u4e8e\u672c\u5730\u5f00\u53d1\u8c03\u8bd5\uff0c\u751f\u4ea7\u73af\u5883\u4e2d Operator \u4f1a\u81ea\u52a8\u5b8c\u6210\u4ee5\u4e0b\u73af\u5883\u53d8\u91cf\u7684\u6ce8\u5165\u3002

                  \u4ee5\u4e0a\u6b65\u9aa4\u5df2\u7ecf\u5b8c\u6210\u4e86\u521d\u59cb\u5316 SDK \u7684\u5de5\u4f5c\uff0c\u73b0\u5728\u5982\u679c\u9700\u8981\u5728\u672c\u5730\u5f00\u53d1\u8fdb\u884c\u8c03\u8bd5\uff0c\u9700\u8981\u63d0\u524d\u83b7\u53d6\u5230 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b insight-agent-opentelemerty-collector \u7684\u5730\u5740\uff0c\u5047\u8bbe\u4e3a\uff1a insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 \u3002

                  \u56e0\u6b64\uff0c\u53ef\u4ee5\u5728\u4f60\u672c\u5730\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\u7684\u65f6\u5019\u6dfb\u52a0\u5982\u4e0b\u73af\u5883\u53d8\u91cf\uff1a

                  OTEL_SERVICE_NAME=my-golang-app OTEL_EXPORTER_OTLP_ENDPOINT=http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 go run main.go...\n
                • \u751f\u4ea7\u73af\u5883\u8fd0\u884c

                  \u8bf7\u53c2\u8003\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u4e2d \u53ea\u6ce8\u5165\u73af\u5883\u53d8\u91cf\u6ce8\u89e3 \u76f8\u5173\u4ecb\u7ecd\uff0c\u4e3a deployment yaml \u6dfb\u52a0\u6ce8\u89e3\uff1a

                  instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                  \u5982\u679c\u65e0\u6cd5\u4f7f\u7528\u6ce8\u89e3\u7684\u65b9\u5f0f\uff0c\u60a8\u53ef\u4ee5\u624b\u52a8\u5728 deployment yaml \u6dfb\u52a0\u5982\u4e0b\u73af\u5883\u53d8\u91cf\uff1a

                \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\nenv:\n  - name: OTEL_EXPORTER_OTLP_ENDPOINT\n    value: 'http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317'\n  - name: OTEL_SERVICE_NAME\n    value: \"your depolyment name\" # (1)!\n  - name: OTEL_K8S_NAMESPACE\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: metadata.namespace\n  - name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: spec.nodeName\n  - name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: metadata.name\n  - name: OTEL_RESOURCE_ATTRIBUTES\n    value: 'k8s.namespace.name=$(OTEL_K8S_NAMESPACE),k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME)'\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n
                1. \u4fee\u6539\u6b64\u503c
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_3","title":"\u8bf7\u6c42\u8def\u7531","text":""},{"location":"end-user/insight/quickstart/otel/golang/golang.html#opentelemetry-gingonic","title":"OpenTelemetry gin/gonic \u589e\u5f3a","text":"
                # Add one line to your import() stanza depending upon your request router:\nmiddleware \"go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin\"\n

                \u7136\u540e\u6ce8\u5165 OpenTelemetry \u4e2d\u95f4\u4ef6\uff1a

                router.Use(middleware.Middleware(\"my-app\"))\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#opentelemetry-gorillamux","title":"OpenTelemetry gorillamux \u589e\u5f3a","text":"
                # Add one line to your import() stanza depending upon your request router:\nmiddleware \"go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux\"\n

                \u7136\u540e\u6ce8\u5165 OpenTelemetry \u4e2d\u95f4\u4ef6\uff1a

                router.Use(middleware.Middleware(\"my-app\"))\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#grpc","title":"gRPC \u589e\u5f3a","text":"

                \u540c\u6837\uff0cOpenTelemetry \u4e5f\u53ef\u4ee5\u5e2e\u52a9\u60a8\u81ea\u52a8\u68c0\u6d4b gRPC \u8bf7\u6c42\u3002\u8981\u68c0\u6d4b\u60a8\u62e5\u6709\u7684\u4efb\u4f55 gRPC \u670d\u52a1\u5668\uff0c\u8bf7\u5c06\u62e6\u622a\u5668\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u7684\u5b9e\u4f8b\u5316\u4e2d\u3002

                import (\n  grpcotel \"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc\"\n)\nfunc main() {\n  [...]\n\n    s := grpc.NewServer(\n        grpc.UnaryInterceptor(grpcotel.UnaryServerInterceptor()),\n        grpc.StreamInterceptor(grpcotel.StreamServerInterceptor()),\n    )\n}\n

                \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5982\u679c\u4f60\u7684\u7a0b\u5e8f\u91cc\u9762\u4f7f\u7528\u5230\u4e86 Grpc Client \u8c03\u7528\u7b2c\u4e09\u65b9\u670d\u52a1\uff0c\u4f60\u8fd8\u9700\u8981\u5bf9 Grpc Client \u6dfb\u52a0\u62e6\u622a\u5668\uff1a

                    [...]\n\n    conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(insecure.NewCredentials()),\n        grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor()),\n        grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor()),\n    )\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_4","title":"\u5982\u679c\u4e0d\u4f7f\u7528\u8bf7\u6c42\u8def\u7531","text":"
                import (\n  \"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp\"\n)\n

                \u5728\u5c06 http.Handler \u4f20\u9012\u7ed9 ServeMux \u7684\u6bcf\u4e2a\u5730\u65b9\uff0c\u60a8\u90fd\u5c06\u5305\u88c5\u5904\u7406\u7a0b\u5e8f\u51fd\u6570\u3002\u4f8b\u5982\uff0c\u5c06\u8fdb\u884c\u4ee5\u4e0b\u66ff\u6362\uff1a

                - mux.Handle(\"/path\", h)\n+ mux.Handle(\"/path\", otelhttp.NewHandler(h, \"description of path\"))\n---\n- mux.Handle(\"/path\", http.HandlerFunc(f))\n+ mux.Handle(\"/path\", otelhttp.NewHandler(http.HandlerFunc(f), \"description of path\"))\n

                \u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\uff0c\u60a8\u53ef\u4ee5\u786e\u4fdd\u4f7f\u7528 othttp \u5305\u88c5\u7684\u6bcf\u4e2a\u51fd\u6570\u90fd\u4f1a\u81ea\u52a8\u6536\u96c6\u5176\u5143\u6570\u636e\u5e76\u542f\u52a8\u76f8\u5e94\u7684\u8ddf\u8e2a\u3002

                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_5","title":"\u6570\u636e\u5e93\u8bbf\u95ee\u589e\u5f3a","text":""},{"location":"end-user/insight/quickstart/otel/golang/golang.html#golang-gorm","title":"Golang Gorm","text":"

                OpenTelemetry \u793e\u533a\u4e5f\u5f00\u53d1\u4e86\u6570\u636e\u5e93\u8bbf\u95ee\u5e93\u7684\u4e2d\u95f4\u4ef6\uff0c\u6bd4\u5982 Gorm:

                import (\n    \"github.com/uptrace/opentelemetry-go-extra/otelgorm\"\n    \"gorm.io/driver/sqlite\"\n    \"gorm.io/gorm\"\n)\n\ndb, err := gorm.Open(sqlite.Open(\"file::memory:?cache=shared\"), &gorm.Config{})\nif err != nil {\n    panic(err)\n}\n\notelPlugin := otelgorm.NewPlugin(otelgorm.WithDBName(\"mydb\"), # \u7f3a\u5931\u4f1a\u5bfc\u81f4\u6570\u636e\u5e93\u76f8\u5173\u62d3\u6251\u5c55\u793a\u4e0d\u5b8c\u6574\n    otelgorm.WithAttributes(semconv.ServerAddress(\"memory\"))) # \u7f3a\u5931\u4f1a\u5bfc\u81f4\u6570\u636e\u5e93\u76f8\u5173\u62d3\u6251\u5c55\u793a\u4e0d\u5b8c\u6574\nif err := db.Use(otelPlugin); err != nil {\n    panic(err)\n}\n

                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#span","title":"\u81ea\u5b9a\u4e49 Span","text":"

                \u5f88\u591a\u65f6\u5019\uff0cOpenTelemetry \u63d0\u4f9b\u7684\u4e2d\u95f4\u4ef6\u4e0d\u80fd\u5e2e\u52a9\u6211\u4eec\u8bb0\u5f55\u66f4\u591a\u5185\u90e8\u8c03\u7528\u7684\u51fd\u6570\uff0c\u9700\u8981\u6211\u4eec\u81ea\u5b9a\u4e49 Span \u6765\u8bb0\u5f55

                 \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n    _, span := otel.Tracer(\"GetServiceDetail\").Start(ctx,\n        \"spanMetricDao.GetServiceDetail\",\n        trace.WithSpanKind(trace.SpanKindInternal))\n    defer span.End()\n  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#span_1","title":"\u5411 span \u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\u548c\u4e8b\u4ef6","text":"

                \u4e5f\u53ef\u4ee5\u5c06\u81ea\u5b9a\u4e49\u5c5e\u6027\u6216\u6807\u7b7e\u8bbe\u7f6e\u4e3a Span\u3002\u8981\u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\u548c\u4e8b\u4ef6\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_6","title":"\u5bfc\u5165\u8ddf\u8e2a\u548c\u5c5e\u6027\u5e93","text":"
                import (\n    ...\n    \"go.opentelemetry.io/otel/attribute\"\n    \"go.opentelemetry.io/otel/trace\"\n)\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#span_2","title":"\u4ece\u4e0a\u4e0b\u6587\u4e2d\u83b7\u53d6\u5f53\u524d Span","text":"
                span := trace.SpanFromContext(c.Request.Context())\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#span_3","title":"\u5728\u5f53\u524d Span \u4e2d\u8bbe\u7f6e\u5c5e\u6027","text":"
                span.SetAttributes(attribute.String(\"controller\", \"books\"))\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#span-event","title":"\u4e3a\u5f53\u524d Span \u6dfb\u52a0 Event","text":"

                \u6dfb\u52a0 span \u4e8b\u4ef6\u662f\u4f7f\u7528 span \u5bf9\u8c61\u4e0a\u7684 AddEvent \u5b8c\u6210\u7684\u3002

                span.AddEvent(msg)\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_7","title":"\u8bb0\u5f55\u9519\u8bef\u548c\u5f02\u5e38","text":"
                import \"go.opentelemetry.io/otel/codes\"\n\n// \u83b7\u53d6\u5f53\u524d span\nspan := trace.SpanFromContext(ctx)\n\n// RecordError \u4f1a\u81ea\u52a8\u5c06\u4e00\u4e2a\u9519\u8bef\u8f6c\u6362\u6210 span even\nspan.RecordError(err)\n\n// \u6807\u8bb0\u8fd9\u4e2a span \u9519\u8bef\nspan.SetStatus(codes.Error, \"internal error\")\n
                "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_8","title":"\u53c2\u8003","text":"

                \u6709\u5173 Demo \u6f14\u793a\u8bf7\u53c2\u8003\uff1a - opentelemetry-demo/productcatalogservice - opentelemetry-collector-contrib/demo

                "},{"location":"end-user/insight/quickstart/otel/golang/meter.html","title":"\u4f7f\u7528 OTel SDK \u4e3a\u5e94\u7528\u7a0b\u5e8f\u66b4\u9732\u6307\u6807","text":"

                \u672c\u6587\u4ec5\u4f9b\u5e0c\u671b\u8bc4\u4f30\u6216\u63a2\u7d22\u6b63\u5728\u5f00\u53d1\u7684 OTLP \u6307\u6807\u7684\u7528\u6237\u53c2\u8003\u3002

                OpenTelemetry \u9879\u76ee\u8981\u6c42\u4ee5\u5fc5\u987b\u5728 OpenTelemetry \u534f\u8bae (OTLP) \u4e2d\u53d1\u51fa\u6570\u636e\u7684\u8bed\u8a00\u63d0\u4f9b API \u548c SDK\u3002

                "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#golang","title":"\u9488\u5bf9 Golang \u5e94\u7528\u7a0b\u5e8f","text":"

                Golang \u53ef\u4ee5\u901a\u8fc7 sdk \u66b4\u9732 runtime \u6307\u6807\uff0c\u5177\u4f53\u6765\u8bf4\uff0c\u5728\u5e94\u7528\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u65b9\u6cd5\u5f00\u542f metrics \u66b4\u9732\u5668\uff1a

                "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#_1","title":"\u5b89\u88c5\u76f8\u5173\u4f9d\u8d56","text":"

                \u5207\u6362/\u8fdb\u5165\u5230\u5e94\u7528\u7a0b\u5e8f\u6e90\u6587\u4ef6\u5939\u540e\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                go get go.opentelemetry.io/otel \\\n  go.opentelemetry.io/otel/attribute \\\n  go.opentelemetry.io/otel/exporters/prometheus \\\n  go.opentelemetry.io/otel/metric/global \\\n  go.opentelemetry.io/otel/metric/instrument \\\n  go.opentelemetry.io/otel/sdk/metric\n
                "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#otel-sdk_1","title":"\u4f7f\u7528 OTel SDK \u521b\u5efa\u521d\u59cb\u5316\u51fd\u6570","text":"
                import (\n    .....\n\n    \"go.opentelemetry.io/otel/attribute\"\n    otelPrometheus \"go.opentelemetry.io/otel/exporters/prometheus\"\n    \"go.opentelemetry.io/otel/metric/global\"\n    \"go.opentelemetry.io/otel/metric/instrument\"\n    \"go.opentelemetry.io/otel/sdk/metric/aggregator/histogram\"\n    controller \"go.opentelemetry.io/otel/sdk/metric/controller/basic\"\n    \"go.opentelemetry.io/otel/sdk/metric/export/aggregation\"\n    processor \"go.opentelemetry.io/otel/sdk/metric/processor/basic\"\n    selector \"go.opentelemetry.io/otel/sdk/metric/selector/simple\"\n)\nfunc (s *insightServer) initMeter() *otelPrometheus.Exporter {\n    s.meter = global.Meter(\"xxx\")\n\n    config := otelPrometheus.Config{\n        DefaultHistogramBoundaries: []float64{1, 2, 5, 10, 20, 50},\n        Gatherer:                   prometheus.DefaultGatherer,\n        Registry:                   prometheus.NewRegistry(),\n        Registerer:                 prometheus.DefaultRegisterer,\n    }\n\n    c := controller.New(\n        processor.NewFactory(\n            selector.NewWithHistogramDistribution(\n                histogram.WithExplicitBoundaries(config.DefaultHistogramBoundaries),\n            ),\n            aggregation.CumulativeTemporalitySelector(),\n            processor.WithMemory(true),\n        ),\n    )\n\n    exporter, err := otelPrometheus.New(config, c)\n    if err != nil {\n        zap.S().Panicf(\"failed to initialize prometheus exporter %v\", err)\n    }\n\n    global.SetMeterProvider(exporter.MeterProvider())\n\n    http.HandleFunc(\"/metrics\", exporter.ServeHTTP)\n\n    go func() {\n        _ = http.ListenAndServe(fmt.Sprintf(\":%d\", 8888), nil)\n    }()\n\n    zap.S().Info(\"Prometheus server running on \", fmt.Sprintf(\":%d\", port))\n    return exporter\n}\n

                \u4ee5\u4e0a\u65b9\u6cd5\u4f1a\u4e3a\u60a8\u7684\u5e94\u7528\u66b4\u9732\u4e00\u4e2a\u6307\u6807\u63a5\u53e3: http://localhost:8888/metrics

                \u968f\u540e\uff0c\u5728 main.go \u4e2d\u5bf9\u5176\u8fdb\u884c\u521d\u59cb\u5316\uff1a

                func main() {\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n    tp := initMeter()\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n}\n

                \u6b64\u5916\uff0c\u5982\u679c\u60f3\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6307\u6807\uff0c\u53ef\u4ee5\u53c2\u8003\uff1a

                // exposeClusterMetric expose metric like \"insight_logging_count{} 1\"\nfunc (s *insightServer) exposeLoggingMetric(lserver *log.LogService) {\n    s.meter = global.Meter(\"insight.io/basic\")\n\n    var lock sync.Mutex\n    logCounter, err := s.meter.AsyncFloat64().Counter(\"insight_log_total\")\n    if err != nil {\n        zap.S().Panicf(\"failed to initialize instrument: %v\", err)\n    }\n\n    _ = s.meter.RegisterCallback([]instrument.Asynchronous{logCounter}, func(ctx context.Context) {\n        lock.Lock()\n        defer lock.Unlock()\n        count, err := lserver.Count(ctx)\n        if err == nil || count != -1 {\n            logCounter.Observe(ctx, float64(count))\n        }\n    })\n}\n

                \u968f\u540e\uff0c\u5728 main.go \u8c03\u7528\u8be5\u65b9\u6cd5\uff1a

                \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\ns.exposeLoggingMetric(lservice)\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n

                \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

                "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#java","title":"\u9488\u5bf9 Java \u5e94\u7528\u7a0b\u5e8f","text":"

                Java \u5728\u4f7f\u7528 otel agent \u5728\u5b8c\u6210\u94fe\u8def\u7684\u81ea\u52a8\u63a5\u5165\u7684\u57fa\u7840\u4e0a\uff0c\u901a\u8fc7\u6dfb\u52a0\u73af\u5883\u53d8\u91cf\uff1a

                OTEL_METRICS_EXPORTER=prometheus\n

                \u5c31\u53ef\u4ee5\u76f4\u63a5\u66b4\u9732 JVM \u76f8\u5173\u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

                \u968f\u540e\uff0c\u518d\u914d\u5408 prometheus serviceMonitor \u5373\u53ef\u5b8c\u6210\u6307\u6807\u7684\u63a5\u5165\u3002 \u5982\u679c\u60f3\u66b4\u9732\u81ea\u5b9a\u4e49\u6307\u6807\u8bf7\u53c2\u9605 opentelemetry-java-docs/prometheus\u3002

                \u4e3b\u8981\u5206\u4ee5\u4e0b\u4e24\u6b65\uff1a

                • \u521b\u5efa meter provider\uff0c\u5e76\u6307\u5b9a prometheus \u4f5c\u4e3a exporter\u3002

                  /*\n* Copyright The OpenTelemetry Authors\n* SPDX-License-Identifier: Apache-2.0\n*/\n\npackage io.opentelemetry.example.prometheus;\n\nimport io.opentelemetry.api.metrics.MeterProvider;\nimport io.opentelemetry.exporter.prometheus.PrometheusHttpServer;\nimport io.opentelemetry.sdk.metrics.SdkMeterProvider;\nimport io.opentelemetry.sdk.metrics.export.MetricReader;\n\npublic final class ExampleConfiguration {\n\n  /**\n  * Initializes the Meter SDK and configures the prometheus collector with all default settings.\n  *\n  * @param prometheusPort the port to open up for scraping.\n  * @return A MeterProvider for use in instrumentation.\n  */\n  static MeterProvider initializeOpenTelemetry(int prometheusPort) {\n    MetricReader prometheusReader = PrometheusHttpServer.builder().setPort(prometheusPort).build();\n\n    return SdkMeterProvider.builder().registerMetricReader(prometheusReader).build();\n  }\n}\n
                • \u81ea\u5b9a\u4e49 meter \u5e76\u5f00\u542f http server

                  package io.opentelemetry.example.prometheus;\n\nimport io.opentelemetry.api.common.Attributes;\nimport io.opentelemetry.api.metrics.Meter;\nimport io.opentelemetry.api.metrics.MeterProvider;\nimport java.util.concurrent.ThreadLocalRandom;\n\n/**\n* Example of using the PrometheusHttpServer to convert OTel metrics to Prometheus format and expose\n* these to a Prometheus instance via a HttpServer exporter.\n*\n* <p>A Gauge is used to periodically measure how many incoming messages are awaiting processing.\n* The Gauge callback gets executed every collection interval.\n*/\npublic final class PrometheusExample {\n  private long incomingMessageCount;\n\n  public PrometheusExample(MeterProvider meterProvider) {\n    Meter meter = meterProvider.get(\"PrometheusExample\");\n    meter\n        .gaugeBuilder(\"incoming.messages\")\n        .setDescription(\"No of incoming messages awaiting processing\")\n        .setUnit(\"message\")\n        .buildWithCallback(result -> result.record(incomingMessageCount, Attributes.empty()));\n  }\n\n  void simulate() {\n    for (int i = 500; i > 0; i--) {\n      try {\n        System.out.println(\n            i + \" Iterations to go, current incomingMessageCount is:  \" + incomingMessageCount);\n        incomingMessageCount = ThreadLocalRandom.current().nextLong(100);\n        Thread.sleep(1000);\n      } catch (InterruptedException e) {\n        // ignored here\n      }\n    }\n  }\n\n  public static void main(String[] args) {\n    int prometheusPort = 8888;\n\n    // it is important to initialize the OpenTelemetry SDK as early as possible in your process.\n    MeterProvider meterProvider = ExampleConfiguration.initializeOpenTelemetry(prometheusPort);\n\n    PrometheusExample prometheusExample = new PrometheusExample(meterProvider);\n\n    prometheusExample.simulate();\n\n    System.out.println(\"Exiting\");\n  }\n}\n

                \u968f\u540e\uff0c\u5f85 java \u5e94\u7528\u7a0b\u5e8f\u8fd0\u884c\u4e4b\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

                "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#insight","title":"Insight \u91c7\u96c6\u6307\u6807","text":"

                \u6700\u540e\u91cd\u8981\u7684\u662f\uff0c\u60a8\u5df2\u7ecf\u5728\u5e94\u7528\u7a0b\u5e8f\u4e2d\u66b4\u9732\u51fa\u4e86\u6307\u6807\uff0c\u73b0\u5728\u9700\u8981 Insight \u6765\u91c7\u96c6\u6307\u6807\u3002

                \u63a8\u8350\u7684\u6307\u6807\u66b4\u9732\u65b9\u5f0f\u662f\u901a\u8fc7 servicemonitor \u6216\u8005 podmonitor\u3002

                "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#servicemonitorpodmonitor","title":"\u521b\u5efa servicemonitor/podmonitor","text":"

                \u6dfb\u52a0\u7684 servicemonitor/podmonitor \u9700\u8981\u6253\u4e0a label\uff1a\"operator.insight.io/managed-by\": \"insight\" \u624d\u4f1a\u88ab Operator \u8bc6\u522b\uff1a

                apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: example-app\n  labels:\n    operator.insight.io/managed-by: insight\nspec:\n  selector:\n    matchLabels:\n      app: example-app\n  endpoints:\n  - port: web\n  namespaceSelector:\n    any: true\n
                "},{"location":"end-user/insight/quickstart/otel/java/index.html","title":"\u5f00\u59cb\u76d1\u63a7 Java \u5e94\u7528","text":"
                1. Java \u5e94\u7528\u94fe\u8def\u63a5\u5165\u4e0e\u76d1\u63a7\u8bf7\u53c2\u8003 \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u6587\u6863\uff0c\u901a\u8fc7\u6ce8\u89e3\u5b9e\u73b0\u81ea\u52a8\u63a5\u5165\u94fe\u8def\u3002

                2. Java \u5e94\u7528\u7684 JVM \u8fdb\u884c\u76d1\u63a7\uff1a\u5df2\u7ecf\u66b4\u9732 JVM \u6307\u6807\u548c\u4ecd\u672a\u66b4\u9732 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5982\u4f55\u4e0e\u53ef\u89c2\u6d4b\u6027 Insight \u5bf9\u63a5\u3002

                3. \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u672a\u5f00\u59cb\u66b4\u9732 JVM \u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u6587\u6863\uff1a

                  • \u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807
                  • \u4f7f\u7528 OpenTelemetry Java Agent \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807
                4. \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u5df2\u7ecf\u66b4\u9732 JVM \u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u6587\u6863\uff1a

                  • \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027
                5. \u5c06 TraceId \u548c SpanId \u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7, \u5b9e\u73b0\u94fe\u8def\u6570\u636e\u4e0e\u65e5\u5fd7\u6570\u636e\u5173\u8054

                "},{"location":"end-user/insight/quickstart/otel/java/mdc.html","title":"\u5c06 TraceId \u548c SpanId \u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 OpenTelemetry \u5c06 TraceId \u548c SpanId \u81ea\u52a8\u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7\u3002 TraceId \u4e0e SpanId \u5199\u5165\u65e5\u5fd7\u540e\uff0c\u60a8\u53ef\u4ee5\u5c06\u5206\u5e03\u5f0f\u94fe\u8def\u6570\u636e\u4e0e\u65e5\u5fd7\u6570\u636e\u5173\u8054\u8d77\u6765\uff0c\u5b9e\u73b0\u66f4\u9ad8\u6548\u7684\u6545\u969c\u8bca\u65ad\u548c\u6027\u80fd\u5206\u6790\u3002

                "},{"location":"end-user/insight/quickstart/otel/java/mdc.html#_1","title":"\u652f\u6301\u7684\u65e5\u5fd7\u5e93","text":"

                \u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 Logger MDC auto-instrumentation\u3002

                \u65e5\u5fd7\u6846\u67b6 \u652f\u6301\u81ea\u52a8\u57cb\u70b9\u7684\u7248\u672c \u624b\u52a8\u57cb\u70b9\u9700\u8981\u5f15\u5165\u7684\u4f9d\u8d56 Log4j 1 1.2+ \u65e0 Log4j 2 2.7+ opentelemetry-log4j-context-data-2.17-autoconfigure Logback 1.0+ opentelemetry-logback-mdc-1.0"},{"location":"end-user/insight/quickstart/otel/java/mdc.html#logbackspringboot","title":"\u4f7f\u7528 Logback\uff08SpringBoot \u9879\u76ee\uff09","text":"

                Spring Boot \u9879\u76ee\u5185\u7f6e\u4e86\u65e5\u5fd7\u6846\u67b6\uff0c\u5e76\u4e14\u9ed8\u8ba4\u4f7f\u7528 Logback \u4f5c\u4e3a\u5176\u65e5\u5fd7\u5b9e\u73b0\u3002\u5982\u679c\u60a8\u7684 Java \u9879\u76ee\u4e3a SpringBoot \u9879\u76ee\uff0c\u53ea\u9700\u5c11\u91cf\u914d\u7f6e\u5373\u53ef\u5c06 TraceId \u5199\u5165\u65e5\u5fd7\u3002

                \u5728 application.properties \u4e2d\u8bbe\u7f6e logging.pattern.level\uff0c\u6dfb\u52a0 %mdc{trace_id} \u4e0e %mdc{span_id} \u5230\u65e5\u5fd7\u4e2d\u3002

                logging.pattern.level=trace_id=%mdc{trace_id} span_id=%mdc{span_id} %5p ....\u7701\u7565...\n

                \u4ee5\u4e0b\u4e3a\u65e5\u5fd7\u793a\u4f8b\uff1a

                2024-06-26 10:56:31.200 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'\n2024-06-26 10:56:31.201 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'\n2024-06-26 10:56:31.209 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 8 ms\n2024-06-26 10:56:31.296 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=5743699405074f4e  INFO 53724 --- [nio-8081-exec-1] com.example.httpserver.ot.OTServer       : hello world\n
                "},{"location":"end-user/insight/quickstart/otel/java/mdc.html#log4j2","title":"\u4f7f\u7528 Log4j2","text":"
                1. \u5728 pom.xml \u4e2d\u6dfb\u52a0 OpenTelemetry Log4j2 \u4f9d\u8d56:

                  Tip

                  \u8bf7\u5c06 OPENTELEMETRY_VERSION \u66ff\u6362\u4e3a\u6700\u65b0\u7248\u672c

                  <dependencies>\n  <dependency>\n    <groupId>io.opentelemetry.instrumentation</groupId>\n    <artifactId>opentelemetry-log4j-context-data-2.17-autoconfigure</artifactId>\n    <version>OPENTELEMETRY_VERSION</version>\n    <scope>runtime</scope>\n  </dependency>\n</dependencies>\n
                2. \u4fee\u6539 log4j2.xml \u914d\u7f6e\uff0c\u5728 pattern \u4e2d\u6dfb\u52a0 %X{trace_id} \u4e0e %X{span_id}\uff0c\u53ef\u4ee5\u5c06 TraceId \u4e0e SpanId \u81ea\u52a8\u5199\u5165\u65e5\u5fd7:

                  <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Configuration>\n  <Appenders>\n    <Console name=\"Console\" target=\"SYSTEM_OUT\">\n      <PatternLayout\n          pattern=\"%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} trace_id=%X{trace_id} span_id=%X{span_id} trace_flags=%X{trace_flags} - %msg%n\"/>\n    </Console>\n  </Appenders>\n  <Loggers>\n    <Root>\n      <AppenderRef ref=\"Console\" level=\"All\"/>\n    </Root>\n  </Loggers>\n</Configuration>\n
                3. \u4f7f\u7528 Logback \u5728 pom.xml \u4e2d\u6dfb\u52a0 OpenTelemetry Logback \u4f9d\u8d56\u3002

                  Tip

                  \u8bf7\u5c06 OPENTELEMETRY_VERSION \u66ff\u6362\u4e3a\u6700\u65b0\u7248\u672c

                  <dependencies>\n  <dependency>\n    <groupId>io.opentelemetry.instrumentation</groupId>\n    <artifactId>opentelemetry-logback-mdc-1.0</artifactId>\n    <version>OPENTELEMETRY_VERSION</version>\n  </dependency>\n</dependencies>\n
                4. \u4fee\u6539 log4j2.xml \u914d\u7f6e\uff0c\u5728 pattern \u4e2d\u6dfb\u52a0 %X{trace_id} \u4e0e %X{span_id}\uff0c\u53ef\u4ee5\u5c06 TraceId \u4e0e SpanId \u81ea\u52a8\u5199\u5165\u65e5\u5fd7:

                  <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configuration>\n  <appender name=\"CONSOLE\" class=\"ch.qos.logback.core.ConsoleAppender\">\n    <encoder>\n      <pattern>%d{HH:mm:ss.SSS} trace_id=%X{trace_id} span_id=%X{span_id} trace_flags=%X{trace_flags} %msg%n</pattern>\n    </encoder>\n  </appender>\n\n  <!-- Just wrap your logging appender, for example ConsoleAppender, with OpenTelemetryAppender -->\n  <appender name=\"OTEL\" class=\"io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppender\">\n    <appender-ref ref=\"CONSOLE\"/>\n  </appender>\n\n  <!-- Use the wrapped \"OTEL\" appender instead of the original \"CONSOLE\" one -->\n  <root level=\"INFO\">\n    <appender-ref ref=\"OTEL\"/>\n  </root>\n\n</configuration>\n
                "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html","title":"\u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807","text":"

                JMX-Exporter \u63d0\u4f9b\u4e86\u4e24\u79cd\u7528\u6cd5:

                1. \u542f\u52a8\u72ec\u7acb\u8fdb\u7a0b\u3002JVM \u542f\u52a8\u65f6\u6307\u5b9a\u53c2\u6570\uff0c\u66b4\u9732 JMX \u7684 RMI \u63a5\u53e3\uff0cJMX Exporter \u8c03\u7528 RMI \u83b7\u53d6 JVM \u8fd0\u884c\u65f6\u72b6\u6001\u6570\u636e\uff0c \u8f6c\u6362\u4e3a Prometheus metrics \u683c\u5f0f\uff0c\u5e76\u66b4\u9732\u7aef\u53e3\u8ba9 Prometheus \u91c7\u96c6\u3002
                2. JVM \u8fdb\u7a0b\u5185\u542f\u52a8(in-process)\u3002JVM \u542f\u52a8\u65f6\u6307\u5b9a\u53c2\u6570\uff0c\u901a\u8fc7 javaagent \u7684\u5f62\u5f0f\u8fd0\u884c JMX-Exporter \u7684 jar \u5305\uff0c \u8fdb\u7a0b\u5185\u8bfb\u53d6 JVM \u8fd0\u884c\u65f6\u72b6\u6001\u6570\u636e\uff0c\u8f6c\u6362\u4e3a Prometheus metrics \u683c\u5f0f\uff0c\u5e76\u66b4\u9732\u7aef\u53e3\u8ba9 Prometheus \u91c7\u96c6\u3002

                Note

                \u5b98\u65b9\u4e0d\u63a8\u8350\u4f7f\u7528\u7b2c\u4e00\u79cd\u65b9\u5f0f\uff0c\u4e00\u65b9\u9762\u914d\u7f6e\u590d\u6742\uff0c\u53e6\u4e00\u65b9\u9762\u56e0\u4e3a\u5b83\u9700\u8981\u4e00\u4e2a\u5355\u72ec\u7684\u8fdb\u7a0b\uff0c\u800c\u8fd9\u4e2a\u8fdb\u7a0b\u672c\u8eab\u7684\u76d1\u63a7\u53c8\u6210\u4e86\u65b0\u7684\u95ee\u9898\uff0c \u6240\u4ee5\u672c\u6587\u91cd\u70b9\u56f4\u7ed5\u7b2c\u4e8c\u79cd\u7528\u6cd5\u8bb2\u5982\u4f55\u5728 Kubernetes \u73af\u5883\u4e0b\u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807\u3002

                \u8fd9\u91cc\u4f7f\u7528\u7b2c\u4e8c\u79cd\u7528\u6cd5\uff0c\u542f\u52a8 JVM \u65f6\u9700\u8981\u6307\u5b9a JMX Exporter \u7684 jar \u5305\u6587\u4ef6\u548c\u914d\u7f6e\u6587\u4ef6\u3002 jar \u5305\u662f\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u4e0d\u597d\u901a\u8fc7 configmap \u6302\u8f7d\uff0c\u914d\u7f6e\u6587\u4ef6\u6211\u4eec\u51e0\u4e4e\u4e0d\u9700\u8981\u4fee\u6539\uff0c \u6240\u4ee5\u5efa\u8bae\u662f\u76f4\u63a5\u5c06 JMX Exporter \u7684 jar \u5305\u548c\u914d\u7f6e\u6587\u4ef6\u90fd\u6253\u5305\u5230\u4e1a\u52a1\u5bb9\u5668\u955c\u50cf\u4e2d\u3002

                \u5176\u4e2d\uff0c\u7b2c\u4e8c\u79cd\u65b9\u5f0f\u6211\u4eec\u53ef\u4ee5\u9009\u62e9\u5c06 JMX Exporter \u7684 jar \u6587\u4ef6\u653e\u5728\u4e1a\u52a1\u5e94\u7528\u955c\u50cf\u4e2d\uff0c \u4e5f\u53ef\u4ee5\u9009\u62e9\u5728\u90e8\u7f72\u7684\u65f6\u5019\u6302\u8f7d\u8fdb\u53bb\u3002\u8fd9\u91cc\u5206\u522b\u5bf9\u4e24\u79cd\u65b9\u5f0f\u505a\u4e00\u4e2a\u4ecb\u7ecd\uff1a

                "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html#jmx-exporter-jar","title":"\u65b9\u5f0f\u4e00\uff1a\u5c06 JMX Exporter JAR \u6587\u4ef6\u6784\u5efa\u81f3\u4e1a\u52a1\u955c\u50cf\u4e2d","text":"

                prometheus-jmx-config.yaml \u5185\u5bb9\u5982\u4e0b\uff1a

                prometheus-jmx-config.yaml
                ...\nssl: false\nlowercaseOutputName: false\nlowercaseOutputLabelNames: false\nrules:\n- pattern: \".*\"\n

                Note

                \u66f4\u591a\u914d\u7f6e\u9879\u8bf7\u53c2\u8003\u5e95\u90e8\u4ecb\u7ecd\u6216Prometheus \u5b98\u65b9\u6587\u6863\u3002

                \u7136\u540e\u51c6\u5907 jar \u5305\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728 jmx_exporter \u7684 Github \u9875\u9762\u627e\u5230\u6700\u65b0\u7684 jar \u5305\u4e0b\u8f7d\u5730\u5740\u5e76\u53c2\u8003\u5982\u4e0b Dockerfile:

                FROM openjdk:11.0.15-jre\nWORKDIR /app/\nCOPY target/my-app.jar ./\nCOPY prometheus-jmx-config.yaml ./\nRUN set -ex; \\\n    curl -L -O https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.17.2/jmx_prometheus_javaagent-0.17.2.jar;\nENV JAVA_TOOL_OPTIONS=-javaagent:/app/jmx_prometheus_javaagent-0.17.2.jar=8088:/app/prometheus-jmx-config.yaml\nEXPOSE 8081 8999 8080 8888\nENTRYPOINT java $JAVA_OPTS -jar my-app.jar\n

                \u6ce8\u610f\uff1a

                • \u542f\u52a8\u53c2\u6570\u683c\u5f0f\uff1a-javaagent:=:
                • \u8fd9\u91cc\u4f7f\u7528\u4e86 8088 \u7aef\u53e3\u66b4\u9732 JVM \u7684\u76d1\u63a7\u6307\u6807\uff0c\u5982\u679c\u548c Java \u5e94\u7528\u51b2\u7a81\uff0c\u53ef\u81ea\u884c\u66f4\u6539
                "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html#init-container","title":"\u65b9\u5f0f\u4e8c\uff1a\u901a\u8fc7 init container \u5bb9\u5668\u6302\u8f7d","text":"

                \u6211\u4eec\u9700\u8981\u5148\u5c06 JMX exporter \u505a\u6210 Docker \u955c\u50cf, \u4ee5\u4e0b Dockerfile \u4ec5\u4f9b\u53c2\u8003\uff1a

                FROM alpine/curl:3.14\nWORKDIR /app/\n# \u5c06\u524d\u9762\u521b\u5efa\u7684 config \u6587\u4ef6\u62f7\u8d1d\u81f3\u955c\u50cf\nCOPY prometheus-jmx-config.yaml ./\n# \u5728\u7ebf\u4e0b\u8f7d jmx prometheus javaagent jar\nRUN set -ex; \\\n    curl -L -O https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.17.2/jmx_prometheus_javaagent-0.17.2.jar;\n

                \u6839\u636e\u4e0a\u9762 Dockerfile \u6784\u5efa\u955c\u50cf\uff1a docker build -t my-jmx-exporter .

                \u5728 Java \u5e94\u7528\u90e8\u7f72 Yaml \u4e2d\u52a0\u5165\u5982\u4e0b init container\uff1a

                \u70b9\u51fb\u5c55\u5f00 YAML \u6587\u4ef6
                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-demo-app\n  labels:\n    app: my-demo-app\nspec:\n  selector:\n    matchLabels:\n      app: my-demo-app\n  template:\n    metadata:\n      labels:\n        app: my-demo-app\n    spec:\n      imagePullSecrets:\n      - name: registry-pull\n      initContainers:\n      - name: jmx-sidecar\n        image: my-jmx-exporter\n        command: [\"cp\", \"-r\", \"/app/jmx_prometheus_javaagent-0.17.2.jar\", \"/target/jmx_prometheus_javaagent-0.17.2.jar\"]  \u278a\n        volumeMounts:\n        - name: sidecar\n          mountPath: /target\n      containers:\n      - image: my-demo-app-image\n        name: my-demo-app\n        resources:\n          requests:\n            memory: \"1000Mi\"\n            cpu: \"500m\"\n          limits:\n            memory: \"1000Mi\"\n            cpu: \"500m\"\n        ports:\n        - containerPort: 18083\n        env:\n        - name: JAVA_TOOL_OPTIONS\n          value: \"-javaagent:/app/jmx_prometheus_javaagent-0.17.2.jar=8088:/app/prometheus-jmx-config.yaml\" \u278b\n        volumeMounts:\n        - name: host-time\n          mountPath: /etc/localtime\n          readOnly: true\n        - name: sidecar\n          mountPath: /sidecar\n      volumes:\n      - name: host-time\n        hostPath:\n          path: /etc/localtime\n      - name: sidecar  #\u5171\u4eab agent \u6587\u4ef6\u5939\n        emptyDir: {}\n      restartPolicy: Always\n

                \u7ecf\u8fc7\u5982\u4e0a\u7684\u6539\u9020\u4e4b\u540e\uff0c\u793a\u4f8b\u5e94\u7528 my-demo-app \u5177\u5907\u4e86\u66b4\u9732 JVM \u6307\u6807\u7684\u80fd\u529b\u3002 \u8fd0\u884c\u670d\u52a1\u4e4b\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 http://lcoalhost:8088 \u8bbf\u95ee\u670d\u52a1\u66b4\u9732\u51fa\u6765\u7684 prometheus \u683c\u5f0f\u7684\u6307\u6807\u3002

                \u63a5\u7740\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003 \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027\u3002

                "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/legacy-jvm.html","title":"\u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027","text":"

                \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u901a\u8fc7\u5176\u4ed6\u65b9\u5f0f\uff08\u6bd4\u5982 Spring Boot Actuator\uff09\u66b4\u9732\u4e86 JVM \u7684\u76d1\u63a7\u6307\u6807\uff0c \u6211\u4eec\u9700\u8981\u8ba9\u76d1\u63a7\u6570\u636e\u88ab\u91c7\u96c6\u5230\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u6dfb\u52a0\u6ce8\u89e3\uff08Kubernetes Annotations\uff09\u7684\u65b9\u5f0f\u8ba9 Insight \u6765\u91c7\u96c6\u5df2\u6709\u7684 JVM \u6307\u6807\uff1a

                annatation: \n  insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n  insight.opentelemetry.io/metric-path: \"/\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n  insight.opentelemetry.io/metric-port: \"9464\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n

                \u4f8b\u5982\u4e3a my-deployment-app \u6dfb\u52a0\u6ce8\u89e3\uff1a

                apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-deployment-app\nspec:\n  selector:\n    matchLabels:\n      app: my-deployment-app\n      app.kubernetes.io/name: my-deployment-app\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app: my-deployment-app\n        app.kubernetes.io/name: my-deployment-app\n      annotations:\n        insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n        insight.opentelemetry.io/metric-path: \"/\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n        insight.opentelemetry.io/metric-port: \"9464\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n

                \u4ee5\u4e0b\u662f\u5b8c\u6574\u793a\u4f8b\uff1a

                ---\napiVersion: v1\nkind: Service\nmetadata:\n  name: spring-boot-actuator-prometheus-metrics-demo\nspec:\n  type: NodePort\n  selector:\n    #app: my-deployment-with-aotu-instrumentation-app\n    app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n  ports:\n    - name: http\n      port: 8080\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: spring-boot-actuator-prometheus-metrics-demo\nspec:\n  selector:\n    matchLabels:\n      #app: my-deployment-with-aotu-instrumentation-app\n      app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n      annotations:\n        insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n        insight.opentelemetry.io/metric-path: \"/actuator/prometheus\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n        insight.opentelemetry.io/metric-port: \"8080\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n    spec:\n      containers:\n        - name: myapp\n          image: docker.m.daocloud.io/wutang/spring-boot-actuator-prometheus-metrics-demo\n          ports:\n            - name: http\n              containerPort: 8080\n          resources:\n            limits:\n              cpu: 500m\n              memory: 800Mi\n            requests:\n              cpu: 200m\n              memory: 400Mi\n

                \u4ee5\u4e0a\u793a\u4f8b\u4e2d\uff0cInsight \u4f1a\u901a\u8fc7 :8080//actuator/prometheus \u6293\u53d6\u901a\u8fc7 Spring Boot Actuator \u66b4\u9732\u51fa\u6765\u7684 Prometheus \u6307\u6807\u3002

                "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html","title":"\u4f7f\u7528 OpenTelemetry Java Agent \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807","text":"

                \u5728 Opentelemetry Agent v1.20.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u4e2d\uff0cOpentelemetry Agent \u65b0\u589e\u4e86 JMX Metric Insight \u6a21\u5757\uff0c\u5982\u679c\u4f60\u7684\u5e94\u7528\u5df2\u7ecf\u96c6\u6210\u4e86 Opentelemetry Agent \u53bb\u91c7\u96c6\u5e94\u7528\u94fe\u8def\uff0c\u90a3\u4e48\u4f60\u4e0d\u518d\u9700\u8981\u53e6\u5916\u5f15\u5165\u5176\u4ed6 Agent \u53bb\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u66b4\u9732 JMX \u6307\u6807\u3002Opentelemetry Agent \u4e5f\u662f\u901a\u8fc7\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u672c\u5730\u53ef\u7528\u7684 MBean \u516c\u5f00\u7684\u6307\u6807\uff0c\u5bf9\u5176\u8fdb\u884c\u6536\u96c6\u5e76\u66b4\u9732\u6307\u6807\u3002

                Opentelemetry Agent \u4e5f\u9488\u5bf9\u5e38\u89c1\u7684 Java Server \u6216\u6846\u67b6\u5185\u7f6e\u4e86\u4e00\u4e9b\u76d1\u63a7\u7684\u6837\u4f8b\uff0c\u8bf7\u53c2\u8003\u9884\u5b9a\u4e49\u7684\u6307\u6807\u3002

                \u4f7f\u7528 OpenTelemetry Java Agent \u540c\u6837\u9700\u8981\u8003\u8651\u5982\u4f55\u5c06 JAR \u6302\u8f7d\u8fdb\u5bb9\u5668\uff0c\u9664\u4e86\u53ef\u4ee5\u53c2\u8003\u4e0a\u9762 JMX Exporter \u6302\u8f7d JAR \u6587\u4ef6\u7684\u65b9\u5f0f\u5916\uff0c\u6211\u4eec\u8fd8\u53ef\u4ee5\u501f\u52a9 Opentelemetry \u63d0\u4f9b\u7684 Operator \u7684\u80fd\u529b\u6765\u5b9e\u73b0\u81ea\u52a8\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u5f00\u542f JVM \u6307\u6807\u66b4\u9732\uff1a

                \u5982\u679c\u4f60\u7684\u5e94\u7528\u5df2\u7ecf\u96c6\u6210\u4e86 Opentelemetry Agent \u53bb\u91c7\u96c6\u5e94\u7528\u94fe\u8def\uff0c\u90a3\u4e48\u4f60\u4e0d\u518d\u9700\u8981\u53e6\u5916\u5f15\u5165\u5176\u4ed6 Agent \u53bb\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u66b4\u9732 JMX \u6307\u6807\u3002Opentelemetry Agent \u901a\u8fc7\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u672c\u5730\u53ef\u7528\u7684 MBean \u516c\u5f00\u7684\u6307\u6807\uff0c\u73b0\u5728\u53ef\u4ee5\u672c\u5730\u6536\u96c6\u5e76\u66b4\u9732\u6307\u6807\u63a5\u53e3\u3002

                \u4f46\u662f\uff0c\u622a\u81f3\u76ee\u524d\u7248\u672c\uff0c\u4f60\u4ecd\u7136\u9700\u8981\u624b\u52a8\u4e3a\u5e94\u7528\u52a0\u4e0a\u76f8\u5e94\u6ce8\u89e3\u4e4b\u540e\uff0cJVM \u6570\u636e\u624d\u4f1a\u88ab Insight \u91c7\u96c6\u5230\uff0c\u5177\u4f53\u6ce8\u89e3\u5185\u5bb9\u8bf7\u53c2\u8003 \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027\u3002

                "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html#java","title":"\u4e3a Java \u4e2d\u95f4\u4ef6\u66b4\u9732\u6307\u6807","text":"

                Opentelemetry Agent \u4e5f\u5185\u7f6e\u4e86\u4e00\u4e9b\u4e2d\u95f4\u4ef6\u76d1\u63a7\u7684\u6837\u4f8b\uff0c\u8bf7\u53c2\u8003 \u9884\u5b9a\u4e49\u6307\u6807\u3002

                \u9ed8\u8ba4\u6ca1\u6709\u6307\u5b9a\u4efb\u4f55\u7c7b\u578b\uff0c\u9700\u8981\u901a\u8fc7 -Dotel.jmx.target.system JVM Options \u6307\u5b9a,\u6bd4\u5982 -Dotel.jmx.target.system=jetty,kafka-broker \u3002

                "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html#_1","title":"\u53c2\u8003","text":"
                • Gaining JMX Metric Insights with the OpenTelemetry Java Agent

                • Otel jmx metrics

                "},{"location":"end-user/insight/quickstart/other/install-agent-on-ocp.html","title":"OpenShift \u5b89\u88c5 Insight Agent","text":"

                \u867d\u7136 OpenShift \u7cfb\u7edf\u81ea\u5e26\u4e86\u4e00\u5957\u76d1\u63a7\u7cfb\u7edf\uff0c\u56e0\u4e3a\u6570\u636e\u91c7\u96c6\u7ea6\u5b9a\u7684\u4e00\u4e9b\u89c4\u5219\uff0c\u6211\u4eec\u8fd8\u662f\u4f1a\u5b89\u88c5 Insight Agent\u3002

                \u5176\u4e2d\uff0c\u5b89\u9664\u4e86\u57fa\u7840\u7684\u5b89\u88c5\u914d\u7f6e\u4e4b\u5916\uff0chelm install \u7684\u65f6\u5019\u8fd8\u9700\u8981\u589e\u52a0\u5982\u4e0b\u7684\u53c2\u6570\uff1a

                ## \u9488\u5bf9 fluentbit \u76f8\u5173\u7684\u53c2\u6570\uff1b\n--set fluent-bit.ocp.enabled=true \\\n--set fluent-bit.serviceAccount.create=false \\\n--set fluent-bit.securityContext.runAsUser=0 \\\n--set fluent-bit.securityContext.seLinuxOptions.type=spc_t \\\n--set fluent-bit.securityContext.readOnlyRootFilesystem=false \\\n--set fluent-bit.securityContext.allowPrivilegeEscalation=false \\\n\n## \u542f\u7528\u9002\u914d OpenShift4.x \u7684 Prometheus(CR)\n--set compatibility.openshift.prometheus.enabled=true \\\n\n## \u5173\u95ed\u9ad8\u7248\u672c\u7684 Prometheus \u5b9e\u4f8b\n--set kube-prometheus-stack.prometheus.enabled=false \\\n--set kube-prometheus-stack.kubeApiServer.enabled=false \\\n--set kube-prometheus-stack.kubelet.enabled=false \\\n--set kube-prometheus-stack.kubeControllerManager.enabled=false \\\n--set kube-prometheus-stack.coreDns.enabled=false \\\n--set kube-prometheus-stack.kubeDns.enabled=false \\\n--set kube-prometheus-stack.kubeEtcd.enabled=false \\\n--set kube-prometheus-stack.kubeEtcd.enabled=false \\\n--set kube-prometheus-stack.kubeScheduler.enabled=false \\\n--set kube-prometheus-stack.kubeStateMetrics.enabled=false \\\n--set kube-prometheus-stack.nodeExporter.enabled=false \\\n\n## \u9650\u5236 PrometheusOperator \u5904\u7406\u7684 namespace\uff0c\u907f\u514d\u4e0e OpenShift \u81ea\u5e26\u7684 PrometheusOperator \u76f8\u4e92\u7ade\u4e89\n--set kube-prometheus-stack.prometheusOperator.kubeletService.namespace=\"insight-system\" \\\n--set kube-prometheus-stack.prometheusOperator.prometheusInstanceNamespaces=\"insight-system\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[0]=\"openshift-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[1]=\"openshift-user-workload-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[2]=\"openshift-customer-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[3]=\"openshift-route-monitor-operator\" \\\n
                "},{"location":"end-user/insight/quickstart/other/install-agent-on-ocp.html#openshift-prometheus","title":"\u901a\u8fc7 OpenShift \u81ea\u8eab\u673a\u5236\uff0c\u5c06\u7cfb\u7edf\u76d1\u63a7\u6570\u636e\u5199\u5165 Prometheus \u4e2d","text":"
                apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: cluster-monitoring-config\n  namespace: openshift-monitoring\ndata:\n  config.yaml: |\n    prometheusK8s:\n      remoteWrite:\n        - queueConfig:\n            batchSendDeadline: 60s\n            maxBackoff: 5s\n            minBackoff: 30ms\n            minShards: 1\n            capacity: 5000\n            maxSamplesPerSend: 1000\n            maxShards: 100\n          remoteTimeout: 30s\n          url: http://insight-agent-prometheus.insight-system.svc.cluster.local:9090/api/v1/write\n          writeRelabelConfigs:\n            - action: keep\n              regex: etcd|kubelet|node-exporter|apiserver|kube-state-metrics\n              sourceLabels:\n                - job\n
                "},{"location":"end-user/insight/quickstart/other/install-agentindce.html","title":"DCE 4.0 \u4e2d\u5b89\u88c5 Insight Agent","text":"

                \u5728 AI \u7b97\u529b\u4e2d\u5fc3 \u4e2d\uff0c\u53ef\u4ee5\u5c06\u4ee5\u524d\u7684 DCE 4.0 \u4f5c\u4e3a\u5b50\u96c6\u7fa4\u63a5\u5165\u3002\u672c\u6587\u63d0\u4f9b\u5728 DCE4.0 \u96c6\u7fa4\u4e2d\u5b89\u88c5 insight-agent \u65f6\u53ef\u80fd\u9047\u5230\u7684\u95ee\u9898\u4ee5\u53ca\u89e3\u51b3\u65b9\u6848\u3002

                "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_1","title":"\u95ee\u9898\u4e00","text":"

                \u7531\u4e8e\u5927\u591a\u6570 DCE 4.0 \u96c6\u7fa4\u5df2\u5b89\u88c5 dx-insight \u4f5c\u4e3a\u76d1\u63a7\u7cfb\u7edf\uff0c\u82e5\u6b64\u65f6\u5b89\u88c5 insight-agent \u4f1a\u4e0e\u96c6\u7fa4\u4e2d\u5df2\u6709\u7684 Prometheus Operator \u51b2\u7a81\uff0c\u5bfc\u81f4\u65e0\u6cd5\u987a\u5229\u5b89\u88c5\u3002

                "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_2","title":"\u89e3\u51b3\u65b9\u6848","text":"

                \u5f00\u542f prometheus operator \u7684\u53c2\u6570\uff0c\u4fdd\u7559 dx-insight \u4e2d\u7684 prometheus operator\uff0c\u5e76\u517c\u5bb9 5.0 \u4e2d insight-agent \u7684 prometheus operator\u3002

                "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u767b\u5f55 DCE 4.0 \u96c6\u7fa4\uff0c\u8fdb\u5165 \u8bbe\u7f6e -> \u7a7a\u95f4\u7ba1\u7406 -> insight-system -> \u8d85\u5356\u7b56\u7565 \u4e2d\u5220\u9664 insight-system \u4e0b\u7684\u8d85\u5356\u7b56\u7565\u3002

                2. \u767b\u5f55 DCE 4.0 \u96c6\u7fa4\u7684\u63a7\u5236\u53f0\u3002\u5206\u522b\u5728\u4e24\u4e2a Prometheus Operator \u4e2d\u542f\u7528 --deny-namespaces \u53c2\u6570\u3002 \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff08\u4ee5\u4e0b\u547d\u4ee4\u4ec5\u4f9b\u53c2\u8003\uff0c\u5b9e\u9645\u9700\u66ff\u6362\u547d\u4ee4\u4e2d\u7684 Prometheus Operator \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\uff09\u3002

                  kubectl edit deploy insight-agent-kube-prometh-operator -n insight-system\n

                Note

                • \u5982\u4e0a\u56fe dx-insight \u7ec4\u4ef6\u90e8\u7f72\u5728 dx-insight \u79df\u6237\u4e0b\uff0cinsight-agent \u90e8\u7f72\u5728 insight-system \u79df\u6237\u4e0b\u3002 \u5728 dx-insight \u4e2d\u7684 prometheus operator \u4e2d\u6dfb\u52a0 --deny-namespaces=insight-system \uff0c \u5728 insight-agent \u4e2d\u7684 prometheus operator \u4e2d\u6dfb\u52a0 --deny-namespaces=dx-insight \u3002
                • \u53ea\u6dfb\u52a0 deny namespace\uff0c\u4e24\u4e2a prometheus operator \u90fd\u53ef\u4ee5\u7ee7\u7eed\u626b\u63cf\u9664\u6b64\u4e4b\u5916\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u800c kube-system \u6216\u5ba2\u6237\u4e1a\u52a1\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u76f8\u5173\u91c7\u96c6\u8d44\u6e90\u4e0d\u53d7\u5f71\u54cd\u3002
                • \u8bf7\u6ce8\u610f node exporter \u7aef\u53e3\u51b2\u7a81\u7684\u95ee\u9898\u3002
                "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_4","title":"\u8865\u5145\u8bf4\u660e","text":"

                \u5f00\u6e90 node-exporter \u9ed8\u8ba4\u5f00\u542f hostnetwork \u4e14\u9ed8\u8ba4\u7aef\u53e3\u4e3a 9100\u3002 \u82e5\u96c6\u7fa4\u5df2\u6709\u7684\u76d1\u63a7\u7cfb\u7edf\u5df2\u5b89\u88c5 node-exporter \uff0c\u5219\u5728\u5b89\u88c5 insight-agent \u65f6\u4f1a\u56e0\u4e3a node-exporter \u7aef\u53e3\u51b2\u7a81\u800c\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\u3002

                Note

                Insight \u7684 node exporter \u4f1a\u5f00\u542f\u4e00\u4e9b\u7279\u6027\u6765\u91c7\u96c6\u7279\u6b8a\u6307\u6807\uff0c\u6240\u4ee5\u63a8\u8350\u5b89\u88c5\u3002

                \u76ee\u524d\u4e0d\u652f\u6301\u5728\u5b89\u88c5\u547d\u4ee4\u4e2d\u4fee\u6539\u7aef\u53e3\uff0c\u9700\u8981\u5728 helm install insight-agent \u4e4b\u540e\u624b\u52a8\u4fee\u6539 insight node-exporter daemonset \u548c svc \u7684\u76f8\u5173\u7aef\u53e3\u3002

                "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_5","title":"\u95ee\u9898\u4e8c","text":"

                Insight Agent \u90e8\u7f72\u6210\u529f\u540e\uff0cfluentbit \u672a\u91c7\u96c6 DCE 4.0 \u7684\u65e5\u5fd7\u3002

                Note

                \u8be5\u95ee\u9898\u5df2\u5728 Insight Agent v0.22.0 \u7248\u672c\u4fee\u590d\uff0c\u5b89\u88c5\u6216\u5347\u7ea7\u540e\u5373\u4e0d\u5b58\u5728\u8be5\u95ee\u9898\u3002

                "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_6","title":"\u89e3\u51b3\u65b9\u6848","text":"

                DCE 4.0 \u7684 Docker \u5b58\u50a8\u76ee\u5f55\u662f /var/lib/containers \uff0c\u4e0e insigh-agent \u7684\u914d\u7f6e\u4e2d\u7684\u8def\u5f84\u4e0d\u540c\uff0c\u6545\u672a\u91c7\u96c6\u65e5\u5fd7\u3002

                "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_7","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u767b\u5f55\u5230\u63a7\u5236\u53f0\u3002
                2. \u4fee\u6539 insight-agent Chart \u4e2d\u7684\u5982\u4e0b\u53c2\u6570\u3002

                  fluent-bit:\ndaemonSetVolumeMounts:\n    - name: varlog\n    mountPath: /var/log\n    - name: varlibdockercontainers\n-     mountPath: /var/lib/docker/containers\n+     mountPath: /var/lib/containers/docker/containers\n    readOnly: true\n    - name: etcmachineid\n    mountPath: /etc/machine-id\n    readOnly: true\n    - name: dmesg\n    mountPath: /var/log/dmesg\n    readOnly: true\n
                "},{"location":"end-user/insight/quickstart/res-plan/index.html","title":"\u90e8\u7f72\u5bb9\u91cf\u89c4\u5212","text":"

                \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e3a\u4e86\u907f\u514d\u6d88\u8017\u8fc7\u591a\u8d44\u6e90\uff0c\u5df2\u7ecf\u8bbe\u7f6e\u4e86\u8d44\u6e90\u4e0a\u7ebf\uff08resource limit\uff09\uff0c\u53ef\u89c2\u6d4b\u7cfb\u7edf\u9700\u8981\u5904\u7406\u5927\u91cf\u7684\u6570\u636e\uff0c\u5982\u679c\u5bb9\u91cf\u89c4\u5212\u4e0d\u5408\u7406\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7cfb\u7edf\u8d1f\u8f7d\u8fc7\u9ad8\uff0c\u5f71\u54cd\u7a33\u5b9a\u6027\u548c\u53ef\u9760\u6027\u3002

                "},{"location":"end-user/insight/quickstart/res-plan/index.html#_2","title":"\u89c2\u6d4b\u7ec4\u4ef6\u7684\u8d44\u6e90\u89c4\u5212","text":"

                \u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u5305\u542b Insight \u548c Insight Agent\u3002\u5176\u4e2d\uff0cInsight \u4e3b\u8981\u8d1f\u8d23\u89c2\u6d4b\u6570\u636e\u7684\u5b58\u50a8\uff0c\u5206\u6790\u4e0e\u5c55\u793a\u3002\u800c Insight Agent \u5305\u542b\u4e86\u6570\u636e\u91c7\u96c6\u3001\u6570\u636e\u5904\u7406\u3001\u6570\u636e\u4e0a\u4f20\u7b49\u529f\u80fd\u3002

                "},{"location":"end-user/insight/quickstart/res-plan/index.html#_3","title":"\u5b58\u50a8\u7ec4\u4ef6\u7684\u5bb9\u91cf\u89c4\u5212","text":"

                Insight \u7684\u5b58\u50a8\u7ec4\u4ef6\u4e3b\u8981\u5305\u62ec ElasticSearch \u548c VictoriaMetrics. \u5176\u4e2d\uff0cElasticSearch \u4e3b\u8981\u8d1f\u8d23\u5b58\u50a8\u548c\u67e5\u8be2\u65e5\u5fd7\u4e0e\u94fe\u8def\u6570\u636e\uff0cVictoriaMetrics \u4e3b\u8981\u8d1f\u8d23\u5b58\u50a8\u548c\u67e5\u8be2\u6307\u6807\u6570\u636e\u3002

                • VictoriaMetircs: \u5176\u78c1\u76d8\u7528\u91cf\u4e0e\u5b58\u50a8\u7684\u6307\u6807\u6709\u5173\uff0c\u6839\u636e vmstorage \u7684\u78c1\u76d8\u89c4\u5212 \u9884\u4f30\u5bb9\u91cf\u540e \u8c03\u6574 vmstorage \u78c1\u76d8\u3002
                "},{"location":"end-user/insight/quickstart/res-plan/index.html#_4","title":"\u91c7\u96c6\u5668\u7684\u8d44\u6e90\u89c4\u5212","text":"

                Insight Agent \u7684\u91c7\u96c6\u5668\u4e2d\u5305\u542b Proemtheus\uff0c\u867d\u7136 Prometheus \u672c\u8eab\u662f\u4e00\u4e2a\u72ec\u7acb\u7684\u7ec4\u4ef6\uff0c\u4f46\u662f\u5728 Insight Agent \u4e2d\uff0cPrometheus \u4f1a\u88ab\u7528\u4e8e\u91c7\u96c6\u6570\u636e\uff0c\u56e0\u6b64\u9700\u8981\u5bf9 Prometheus \u7684\u8d44\u6e90\u8fdb\u884c\u89c4\u5212\u3002

                • Prometheus\uff1a\u5176\u8d44\u6e90\u7528\u91cf\u4e0e\u91c7\u96c6\u7684\u6307\u6807\u91cf\u6709\u5173\uff0c\u53ef\u4ee5\u53c2\u8003 Prometheus \u8d44\u6e90\u89c4\u5212 \u8fdb\u884c\u8c03\u6574\u3002
                "},{"location":"end-user/insight/quickstart/res-plan/modify-vms-disk.html","title":"vmstorge \u78c1\u76d8\u6269\u5bb9","text":"

                \u672c\u6587\u63cf\u8ff0\u4e86 vmstorge \u78c1\u76d8\u6269\u5bb9\u7684\u65b9\u6cd5\uff0c vmstorge \u78c1\u76d8\u89c4\u8303\u8bf7\u53c2\u8003 vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212\u3002

                "},{"location":"end-user/insight/quickstart/res-plan/modify-vms-disk.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/insight/quickstart/res-plan/modify-vms-disk.html#_2","title":"\u5f00\u542f\u5b58\u50a8\u6c60\u6269\u5bb9","text":"
                1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u70b9\u51fb \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb kpanda-global-cluster \u96c6\u7fa4\u3002

                2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230 vmstorage \u7ed1\u5b9a\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                3. \u70b9\u51fb\u67d0\u4e2a vmstorage PVC\uff0c\u8fdb\u5165 vmstorage \u7684\u6570\u636e\u5377\u58f0\u660e\u8be6\u60c5\uff0c\u786e\u8ba4\u8be5 PVC \u7ed1\u5b9a\u7684\u5b58\u50a8\u6c60\u3002

                4. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) \uff0c\u627e\u5230 local-path \uff0c\u70b9\u51fb\u76ee\u6807\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u7f16\u8f91 \u3002

                5. \u5f00\u542f \u6269\u5bb9 \u540e\u70b9\u51fb \u786e\u5b9a \u3002

                "},{"location":"end-user/insight/quickstart/res-plan/modify-vms-disk.html#vmstorage","title":"\u66f4\u6539 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf","text":"
                1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\u3002

                2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u627e\u5230 vmcluster \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                3. \u70b9\u51fb\u8be5 vmcluster \u81ea\u5b9a\u4e49\u8d44\u6e90\u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u5207\u6362\u5230 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u4ece insight-victoria-metrics-k8s-stack \u53f3\u4fa7\u83dc\u5355\u9009\u62e9 \u7f16\u8f91 YAML \u3002

                4. \u6839\u636e\u56fe\u4f8b\u4fee\u6539\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                5. \u518d\u6b21\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230 vmstorage \u7ed1\u5b9a\u7684\u6570\u636e\u5377\u58f0\u660e\u786e\u8ba4\u4fee\u6539\u5df2\u751f\u6548\u3002\u5728\u67d0\u4e2a PVC \u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u5173\u8054\u5b58\u50a8\u6e90 (PV)\u3002

                6. \u6253\u5f00\u6570\u636e\u5377\u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u66f4\u65b0 \u6309\u94ae\u3002

                7. \u4fee\u6539 \u5bb9\u91cf \u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u7a0d\u7b49\u7247\u523b\u7b49\u5230\u6269\u5bb9\u6210\u529f\u3002

                "},{"location":"end-user/insight/quickstart/res-plan/modify-vms-disk.html#_3","title":"\u514b\u9686\u5b58\u50a8\u5377","text":"

                \u82e5\u5b58\u50a8\u5377\u6269\u5bb9\u5931\u8d25\uff0c\u53ef\u53c2\u8003\u4ee5\u4e0b\u65b9\u6cd5\u514b\u9686\u5b58\u50a8\u5377\u3002

                1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\u3002

                2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u627e\u5230 vmstorage \u7684\u6709\u72b6\u6001\u8d1f\u8f7d\uff0c\u70b9\u51fb\u76ee\u6807\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u72b6\u6001 -> \u505c\u6b62 -> \u786e\u5b9a \u3002

                3. \u5728\u547d\u4ee4\u884c\u4e2d\u767b\u5f55 kpanda-global-cluster \u96c6\u7fa4\u7684 master \u8282\u70b9\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u590d\u5236 vmstorage \u5bb9\u5668\u4e2d\u7684 vm-data \u76ee\u5f55\u5c06\u6307\u6807\u4fe1\u606f\u5b58\u50a8\u5728\u672c\u5730\uff1a

                  kubectl cp -n insight-system vmstorage-insight-victoria-metrics-k8s-stack-1:vm-data ./vm-data\n
                4. \u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u514b\u9686 \uff0c\u5e76\u4fee\u6539\u6570\u636e\u5377\u7684\u5bb9\u91cf\u3002

                5. \u5220\u9664\u4e4b\u524d vmstorage \u7684\u6570\u636e\u5377\u3002

                6. \u7a0d\u7b49\u7247\u523b\uff0c\u5f85\u5b58\u50a8\u5377\u58f0\u660e\u8ddf\u514b\u9686\u7684\u6570\u636e\u5377\u7ed1\u5b9a\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u7b2c 3 \u6b65\u4e2d\u5bfc\u51fa\u7684\u6570\u636e\u5bfc\u5165\u5230\u5bf9\u5e94\u7684\u5bb9\u5668\u4e2d\uff0c\u7136\u540e\u5f00\u542f\u4e4b\u524d\u6682\u505c\u7684 vmstorage \u3002

                  kubectl cp -n insight-system ./vm-data vmstorage-insight-victoria-metrics-k8s-stack-1:vm-data\n
                "},{"location":"end-user/insight/quickstart/res-plan/prometheus-res.html","title":"Prometheus \u8d44\u6e90\u89c4\u5212","text":"

                Prometheus \u5728\u5b9e\u9645\u4f7f\u7528\u8fc7\u7a0b\u4e2d\uff0c\u53d7\u5230\u96c6\u7fa4\u5bb9\u5668\u6570\u91cf\u4ee5\u53ca\u5f00\u542f Istio \u7684\u5f71\u54cd\uff0c\u4f1a\u5bfc\u81f4 Prometheus \u7684 CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u4f7f\u7528\u91cf\u8d85\u51fa\u8bbe\u5b9a\u7684\u8d44\u6e90\u3002

                \u4e3a\u4e86\u4fdd\u8bc1\u4e0d\u540c\u89c4\u6a21\u96c6\u7fa4\u4e0b Prometheus \u7684\u6b63\u5e38\u8fd0\u884c\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u7684\u5b9e\u9645\u89c4\u6a21\u5bf9 Prometheus \u8fdb\u884c\u8d44\u6e90\u8c03\u6574\u3002

                "},{"location":"end-user/insight/quickstart/res-plan/prometheus-res.html#_1","title":"\u53c2\u8003\u8d44\u6e90\u89c4\u5212","text":"

                \u5728\u672a\u5f00\u542f\u7f51\u683c\u60c5\u51b5\u4e0b\uff0c\u6d4b\u8bd5\u60c5\u51b5\u7edf\u8ba1\u51fa\u7cfb\u7edf Job \u6307\u6807\u91cf\u4e0e Pod \u7684\u5173\u7cfb\u4e3a Series \u6570\u91cf = 800 * Pod \u6570\u91cf

                \u5728\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6\uff0c\u5f00\u542f\u529f\u80fd\u540e Pod \u4ea7\u751f\u7684 Istio \u76f8\u5173\u6307\u6807\u6570\u91cf\u7ea7\u4e3a Series \u6570\u91cf = 768 * Pod \u6570\u91cf

                "},{"location":"end-user/insight/quickstart/res-plan/prometheus-res.html#_2","title":"\u5f53\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"

                \u4ee5\u4e0b\u8d44\u6e90\u89c4\u5212\u4e3a \u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c \u573a\u666f\u4e0b\uff0cPrometheus \u7684\u8d44\u6e90\u89c4\u5212\u63a8\u8350\uff1a

                \u96c6\u7fa4\u89c4\u6a21(Pod \u6570) \u6307\u6807\u91cf(\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c) CPU(core) \u5185\u5b58(GB) 100 8w Request: 0.5Limit\uff1a1 Request\uff1a2GBLimit\uff1a4GB 200 16w Request\uff1a1Limit\uff1a1.5 Request\uff1a3GBLimit\uff1a6GB 300 24w Request\uff1a1Limit\uff1a2 Request\uff1a3GBLimit\uff1a6GB 400 32w Request\uff1a1Limit\uff1a2 Request\uff1a4GBLimit\uff1a8GB 500 40w Request\uff1a1.5Limit\uff1a3 Request\uff1a5GBLimit\uff1a10GB 800 64w Request\uff1a2Limit\uff1a4 Request\uff1a8GBLimit\uff1a16GB 1000 80w Request\uff1a2.5Limit\uff1a5 Request\uff1a9GBLimit\uff1a18GB 2000 160w Request\uff1a3.5Limit\uff1a7 Request\uff1a20GBLimit\uff1a40GB 3000 240w Request\uff1a4Limit\uff1a8 Request\uff1a33GBLimit\uff1a66GB"},{"location":"end-user/insight/quickstart/res-plan/prometheus-res.html#_3","title":"\u5f53\u5f00\u542f\u670d\u52a1\u7f51\u683c\u529f\u80fd\u65f6","text":"

                \u4ee5\u4e0b\u8d44\u6e90\u89c4\u5212\u4e3a \u5f00\u542f\u670d\u52a1\u7f51\u683c \u573a\u666f\u4e0b\uff0cPrometheus \u7684\u8d44\u6e90\u89c4\u5212\u63a8\u8350\uff1a

                \u96c6\u7fa4\u89c4\u6a21(Pod \u6570) \u6307\u6807\u91cf(\u5df2\u5f00\u542f\u670d\u52a1\u7f51\u683c) CPU(core) \u5185\u5b58(GB) 100 15w Request: 1Limit\uff1a2 Request\uff1a3GBLimit\uff1a6GB 200 31w Request\uff1a2Limit\uff1a3 Request\uff1a5GBLimit\uff1a10GB 300 46w Request\uff1a2Limit\uff1a4 Request\uff1a6GBLimit\uff1a12GB 400 62w Request\uff1a2Limit\uff1a4 Request\uff1a8GBLimit\uff1a16GB 500 78w Request\uff1a3Limit\uff1a6 Request\uff1a10GBLimit\uff1a20GB 800 125w Request\uff1a4Limit\uff1a8 Request\uff1a15GBLimit\uff1a30GB 1000 156w Request\uff1a5Limit\uff1a10 Request\uff1a18GBLimit\uff1a36GB 2000 312w Request\uff1a7Limit\uff1a14 Request\uff1a40GBLimit\uff1a80GB 3000 468w Request\uff1a8Limit\uff1a16 Request\uff1a65GBLimit\uff1a130GB

                Note

                1. \u8868\u683c\u4e2d\u7684 Pod \u6570\u91cf \u6307\u96c6\u7fa4\u4e2d\u57fa\u672c\u7a33\u5b9a\u8fd0\u884c\u7684 Pod \u6570\u91cf\uff0c\u5982\u51fa\u73b0\u5927\u91cf\u7684 Pod \u91cd\u542f\uff0c\u5219\u4f1a\u9020\u6210\u77ed\u65f6\u95f4\u5185\u6307\u6807\u91cf\u7684\u9661\u589e\uff0c\u6b64\u65f6\u8d44\u6e90\u9700\u8981\u8fdb\u884c\u76f8\u5e94\u4e0a\u8c03\u3002
                2. Prometheus \u5185\u5b58\u4e2d\u9ed8\u8ba4\u4fdd\u5b58\u4e24\u5c0f\u65f6\u6570\u636e\uff0c\u4e14\u96c6\u7fa4\u4e2d\u5f00\u542f\u4e86 Remote Write \u529f\u80fd\u65f6\uff0c\u4f1a\u5360\u7528\u4e00\u5b9a\u5185\u5b58\uff0c\u8d44\u6e90\u8d85\u914d\u6bd4\u5efa\u8bae\u914d\u7f6e\u4e3a 2\u3002
                3. \u8868\u683c\u4e2d\u6570\u636e\u4e3a\u63a8\u8350\u503c\uff0c\u9002\u7528\u4e8e\u901a\u7528\u60c5\u51b5\u3002\u5982\u73af\u5883\u6709\u7cbe\u786e\u7684\u8d44\u6e90\u8981\u6c42\uff0c\u5efa\u8bae\u5728\u96c6\u7fa4\u8fd0\u884c\u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u67e5\u770b\u5bf9\u5e94 Prometheus \u7684\u8d44\u6e90\u5360\u7528\u91cf\u8fdb\u884c\u7cbe\u786e\u914d\u7f6e\u3002
                "},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html","title":"vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212","text":"

                vmstorage \u662f\u8d1f\u8d23\u5b58\u50a8\u53ef\u89c2\u6d4b\u6027\u591a\u96c6\u7fa4\u6307\u6807\u3002 \u4e3a\u4fdd\u8bc1 vmstorage \u7684\u7a33\u5b9a\u6027\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u6570\u91cf\u53ca\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf\u3002 \u66f4\u591a\u8d44\u6599\u8bf7\u53c2\u8003\uff1avmstorage \u4fdd\u7559\u671f\u4e0e\u78c1\u76d8\u7a7a\u95f4\u3002

                "},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_1","title":"\u6d4b\u8bd5\u7ed3\u679c","text":"

                \u7ecf\u8fc7 14 \u5929\u5bf9\u4e0d\u540c\u89c4\u6a21\u7684\u96c6\u7fa4\u7684 vmstorage \u7684\u78c1\u76d8\u89c2\u6d4b\uff0c \u6211\u4eec\u53d1\u73b0 vmstorage \u7684\u78c1\u76d8\u7528\u91cf\u4e0e\u5176\u5b58\u50a8\u7684\u6307\u6807\u91cf\u548c\u5355\u4e2a\u6570\u636e\u70b9\u5360\u7528\u78c1\u76d8\u6b63\u76f8\u5173\u3002

                1. \u77ac\u65f6\u5b58\u50a8\u7684\u6307\u6807\u91cf increase(vm_rows{ type != \"indexdb\"}[30s]) \u4ee5\u83b7\u53d6 30s \u5185\u589e\u52a0\u7684\u6307\u6807\u91cf
                2. \u5355\u4e2a\u6570\u636e\u70b9 (datapoint) \u7684\u5360\u7528\u78c1\u76d8\uff1a sum(vm_data_size_bytes{type!=\"indexdb\"}) /\u00a0sum(vm_rows{type\u00a0!=\u00a0\"indexdb\"})
                "},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_2","title":"\u8ba1\u7b97\u65b9\u6cd5","text":"

                \u78c1\u76d8\u7528\u91cf = \u77ac\u65f6\u6307\u6807\u91cf x 2 x \u5355\u4e2a\u6570\u636e\u70b9\u7684\u5360\u7528\u78c1\u76d8 x 60 x 24 x \u5b58\u50a8\u65f6\u95f4 (\u5929)

                \u53c2\u6570\u8bf4\u660e\uff1a

                1. \u78c1\u76d8\u7528\u91cf\u5355\u4f4d\u4e3a Byte \u3002
                2. \u5b58\u50a8\u65f6\u957f(\u5929) x 60 x 24 \u5c06\u65f6\u95f4(\u5929)\u6362\u7b97\u6210\u5206\u949f\u4ee5\u4fbf\u8ba1\u7b97\u78c1\u76d8\u7528\u91cf\u3002
                3. Insight Agent \u4e2d Prometheus \u9ed8\u8ba4\u91c7\u96c6\u65f6\u95f4\u4e3a 30s \uff0c\u6545\u5728 1 \u5206\u949f\u5185\u4ea7\u751f\u4e24\u500d\u7684\u6307\u6807\u91cf\u3002
                4. vmstorage \u4e2d\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 1 \u4e2a\u6708\uff0c\u4fee\u6539\u914d\u7f6e\u8bf7\u53c2\u8003\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\u3002

                Warning

                \u8be5\u516c\u5f0f\u4e3a\u901a\u7528\u65b9\u6848\uff0c\u5efa\u8bae\u5728\u8ba1\u7b97\u7ed3\u679c\u4e0a\u9884\u7559\u5197\u4f59\u78c1\u76d8\u5bb9\u91cf\u4ee5\u4fdd\u8bc1 vmstorage \u7684\u6b63\u5e38\u8fd0\u884c\u3002

                "},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_3","title":"\u53c2\u8003\u5bb9\u91cf","text":"

                \u8868\u683c\u4e2d\u6570\u636e\u662f\u6839\u636e\u9ed8\u8ba4\u5b58\u50a8\u65f6\u95f4\u4e3a\u4e00\u4e2a\u6708 (30 \u5929)\uff0c\u5355\u4e2a\u6570\u636e\u70b9 (datapoint) \u7684\u5360\u7528\u78c1\u76d8\u53d6 0.9 \u8ba1\u7b97\u6240\u5f97\u7ed3\u679c\u3002 \u591a\u96c6\u7fa4\u573a\u666f\u4e0b\uff0cPod \u6570\u91cf\u8868\u793a\u591a\u96c6\u7fa4 Pod \u6570\u91cf\u7684\u603b\u548c\u3002

                "},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_4","title":"\u5f53\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"\u96c6\u7fa4\u89c4\u6a21 (Pod \u6570) \u6307\u6807\u91cf \u78c1\u76d8\u5bb9\u91cf 100 8w 6 GiB 200 16w 12 GiB 300 24w 18 GiB 400 32w 24 GiB 500 40w 30 GiB 800 64w 48 GiB 1000 80w 60 GiB 2000 160w 120 GiB 3000 240w 180 GiB"},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_5","title":"\u5f53\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"\u96c6\u7fa4\u89c4\u6a21 (Pod \u6570) \u6307\u6807\u91cf \u78c1\u76d8\u5bb9\u91cf 100 15w 12 GiB 200 31w 24 GiB 300 46w 36 GiB 400 62w 48 GiB 500 78w 60 GiB 800 125w 94 GiB 1000 156w 120 GiB 2000 312w 235 GiB 3000 468w 350 GiB"},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_6","title":"\u4e3e\u4f8b\u8bf4\u660e","text":"

                AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u4e2d\u6709\u4e24\u4e2a\u96c6\u7fa4\uff0c\u5176\u4e2d\u5168\u5c40\u670d\u52a1\u96c6\u7fa4(\u5f00\u542f\u670d\u52a1\u7f51\u683c)\u4e2d\u8fd0\u884c 500 \u4e2a Pod\uff0c\u5de5\u4f5c\u96c6\u7fa4(\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c)\u8fd0\u884c\u4e86 1000 \u4e2a Pod\uff0c\u9884\u671f\u6307\u6807\u5b58 30 \u5929\u3002

                • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u6307\u6807\u91cf\u4e3a 800x500 + 768x500 = 784000
                • \u5de5\u4f5c\u96c6\u7fa4\u6307\u6807\u91cf\u4e3a 800x1000 = 800000

                \u5219\u5f53\u524d vmstorage \u78c1\u76d8\u7528\u91cf\u5e94\u8bbe\u7f6e\u4e3a (784000+80000)x2x0.9x60x24x31 = 124384896000 byte = 116 GiB

                Note

                \u96c6\u7fa4\u4e2d\u6307\u6807\u91cf\u4e0e Pod \u6570\u91cf\u7684\u5173\u7cfb\u53ef\u53c2\u8003Prometheus \u8d44\u6e90\u89c4\u5212\u3002

                "},{"location":"end-user/insight/system-config/modify-config.html","title":"\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e","text":"

                \u53ef\u89c2\u6d4b\u6027\u4f1a\u9ed8\u8ba4\u6301\u4e45\u5316\u4fdd\u5b58\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u7684\u6570\u636e\uff0c\u60a8\u53ef\u53c2\u9605\u672c\u6587\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\u3002\u8be5\u6587\u6863\u4ec5\u9002\u7528\u4e8e\u5185\u7f6e\u90e8\u7f72\u7684 Elasticsearch\uff0c\u82e5\u4f7f\u7528\u5916\u90e8 Elasticsearch \u53ef\u81ea\u884c\u8c03\u6574\u3002

                "},{"location":"end-user/insight/system-config/modify-config.html#_2","title":"\u5982\u4f55\u4fee\u6539\u6307\u6807\u6570\u636e\u4fdd\u7559\u671f\u9650","text":"

                \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u6307\u6807\u6570\u636e\u4fdd\u7559\u671f\u9650\u3002

                1. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                  kubectl edit vmcluster insight-victoria-metrics-k8s-stack -n insight-system\n
                2. \u5728 Yaml \u6587\u4ef6\u4e2d\uff0c retentionPeriod \u7684\u9ed8\u8ba4\u503c\u4e3a 14 \uff0c\u5355\u4f4d\u4e3a \u5929 \u3002\u60a8\u53ef\u6839\u636e\u9700\u6c42\u4fee\u6539\u53c2\u6570\u3002

                  apiVersion: operator.victoriametrics.com/v1beta1\nkind: VMCluster\nmetadata:\n  annotations:\n    meta.helm.sh/release-name: insight\n    meta.helm.sh/release-namespace: insight-system\n  creationTimestamp: \"2022-08-25T04:31:02Z\"\n  finalizers:\n  - apps.victoriametrics.com/finalizer\n  generation: 2\n  labels:\n    app.kubernetes.io/instance: insight\n    app.kubernetes.io/managed-by: Helm\n    app.kubernetes.io/name: victoria-metrics-k8s-stack\n    app.kubernetes.io/version: 1.77.2\n    helm.sh/chart: victoria-metrics-k8s-stack-0.9.3\n  name: insight-victoria-metrics-k8s-stack\n  namespace: insight-system\n  resourceVersion: \"123007381\"\n  uid: 55cee8d6-c651-404b-b2c9-50603b405b54\nspec:\n  replicationFactor: 1\n  retentionPeriod: \"14\"\n  vminsert:\n    extraArgs:\n      maxLabelsPerTimeseries: \"45\"\n    image:\n      repository: docker.m.daocloud.io/victoriametrics/vminsert\n      tag: v1.80.0-cluster\n      replicaCount: 1\n
                3. \u4fdd\u5b58\u4fee\u6539\u540e\uff0c\u8d1f\u8d23\u5b58\u50a8\u6307\u6807\u7684\u7ec4\u4ef6\u7684\u5bb9\u5668\u7ec4\u4f1a\u81ea\u52a8\u91cd\u542f\uff0c\u7a0d\u7b49\u7247\u523b\u5373\u53ef\u3002

                "},{"location":"end-user/insight/system-config/modify-config.html#_3","title":"\u5982\u4f55\u4fee\u6539\u65e5\u5fd7\u6570\u636e\u5b58\u50a8\u65f6\u957f","text":"

                \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u65e5\u5fd7\u6570\u636e\u4fdd\u7559\u671f\u9650\uff1a

                "},{"location":"end-user/insight/system-config/modify-config.html#json","title":"\u65b9\u6cd5\u4e00\uff1a\u4fee\u6539 Json \u6587\u4ef6","text":"
                1. \u4fee\u6539\u4ee5\u4e0b\u6587\u4ef6\u4e2d rollover \u5b57\u6bb5\u4e2d\u7684 max_age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002\u6ce8\u610f\u9700\u8981\u4fee\u6539\u7b2c\u4e00\u884c\u4e2d\u7684 Elastic \u7528\u6237\u540d\u548c\u5bc6\u7801\u3001IP \u5730\u5740\u548c\u7d22\u5f15\u3002

                  curl  --insecure --location -u\"elastic:amyVt4o826e322TUVi13Ezw6\" -X PUT \"https://172.30.47.112:30468/_ilm/policy/insight-es-k8s-logs-policy?pretty\" -H 'Content-Type: application/json' -d'\n{\n    \"policy\": {\n        \"phases\": {\n            \"hot\": {\n                \"min_age\": \"0ms\",\n                \"actions\": {\n                    \"set_priority\": {\n                        \"priority\": 100\n                    },\n                    \"rollover\": {\n                        \"max_age\": \"8d\",\n                        \"max_size\": \"10gb\"\n                    }\n                }\n            },\n            \"warm\": {\n                \"min_age\": \"10d\",\n                \"actions\": {\n                    \"forcemerge\": {\n                        \"max_num_segments\": 1\n                    }\n                }\n            },\n            \"delete\": {\n                \"min_age\": \"30d\",\n                \"actions\": {\n                    \"delete\": {}\n                }\n            }\n        }\n    }\n}'\n
                2. \u4fee\u6539\u5b8c\u540e\uff0c\u6267\u884c\u4ee5\u4e0a\u547d\u4ee4\u3002\u5b83\u4f1a\u6253\u5370\u51fa\u5982\u4e0b\u6240\u793a\u5185\u5bb9\uff0c\u5219\u4fee\u6539\u6210\u529f\u3002

                  {\n\"acknowledged\" : true\n}\n
                "},{"location":"end-user/insight/system-config/modify-config.html#ui","title":"\u65b9\u6cd5\u4e8c\uff1a\u4ece UI \u4fee\u6539","text":"
                1. \u767b\u5f55 kibana \uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f Stack Management \u3002

                2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a Index Lifecycle Polices \uff0c\u5e76\u627e\u5230\u7d22\u5f15 insight-es-k8s-logs-policy \uff0c\u70b9\u51fb\u8fdb\u5165\u8be6\u60c5\u3002

                3. \u5c55\u5f00 Hot phase \u914d\u7f6e\u9762\u677f\uff0c\u4fee\u6539 Maximum age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002

                4. \u4fee\u6539\u5b8c\u540e\uff0c\u70b9\u51fb\u9875\u9762\u5e95\u90e8\u7684 Save policy \u5373\u4fee\u6539\u6210\u529f\u3002

                "},{"location":"end-user/insight/system-config/modify-config.html#_4","title":"\u5982\u4f55\u4fee\u6539\u94fe\u8def\u6570\u636e\u5b58\u50a8\u65f6\u957f","text":"

                \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u94fe\u8def\u6570\u636e\u4fdd\u7559\u671f\u9650\uff1a

                "},{"location":"end-user/insight/system-config/modify-config.html#json_1","title":"\u65b9\u6cd5\u4e00\uff1a\u4fee\u6539 Json \u6587\u4ef6","text":"
                1. \u4fee\u6539\u4ee5\u4e0b\u6587\u4ef6\u4e2d rollover \u5b57\u6bb5\u4e2d\u7684 max_age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002\u6ce8\u610f\u9700\u8981\u4fee\u6539\u7b2c\u4e00\u884c\u4e2d\u7684 Elastic \u7528\u6237\u540d\u548c\u5bc6\u7801\u3001IP \u5730\u5740\u548c\u7d22\u5f15\u3002

                  curl --insecure --location -u\"elastic:amyVt4o826e322TUVi13Ezw6\" -X PUT \"https://172.30.47.112:30468/_ilm/policy/jaeger-ilm-policy?pretty\" -H 'Content-Type: application/json' -d'\n{\n    \"policy\": {\n        \"phases\": {\n            \"hot\": {\n                \"min_age\": \"0ms\",\n                \"actions\": {\n                    \"set_priority\": {\n                        \"priority\": 100\n                    },\n                    \"rollover\": {\n                        \"max_age\": \"6d\",\n                        \"max_size\": \"10gb\"\n                    }\n                }\n            },\n            \"warm\": {\n                \"min_age\": \"10d\",\n                \"actions\": {\n                    \"forcemerge\": {\n                        \"max_num_segments\": 1\n                    }\n                }\n            },\n            \"delete\": {\n                \"min_age\": \"30d\",\n                \"actions\": {\n                    \"delete\": {}\n                }\n            }\n        }\n    }\n}'\n
                2. \u4fee\u6539\u5b8c\u540e\uff0c\u5728\u63a7\u5236\u53f0\u6267\u884c\u4ee5\u4e0a\u547d\u4ee4\u3002\u5b83\u4f1a\u6253\u5370\u51fa\u5982\u4e0b\u6240\u793a\u5185\u5bb9\uff0c\u5219\u4fee\u6539\u6210\u529f\u3002

                  {\n\"acknowledged\" : true\n}\n
                "},{"location":"end-user/insight/system-config/modify-config.html#ui_1","title":"\u65b9\u6cd5\u4e8c\uff1a\u4ece UI \u4fee\u6539","text":"
                1. \u767b\u5f55 kibana \uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f Stack Management \u3002

                2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a Index Lifecycle Polices \uff0c\u5e76\u627e\u5230\u7d22\u5f15 jaeger-ilm-policy \uff0c\u70b9\u51fb\u8fdb\u5165\u8be6\u60c5\u3002

                3. \u5c55\u5f00 Hot phase \u914d\u7f6e\u9762\u677f\uff0c\u4fee\u6539 Maximum age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002

                4. \u4fee\u6539\u5b8c\u540e\uff0c\u70b9\u51fb\u9875\u9762\u5e95\u90e8\u7684 Save policy \u5373\u4fee\u6539\u6210\u529f\u3002

                "},{"location":"end-user/insight/system-config/system-component.html","title":"\u7cfb\u7edf\u7ec4\u4ef6","text":"

                \u5728\u7cfb\u7edf\u7ec4\u4ef6\u9875\u9762\u53ef\u5feb\u901f\u7684\u67e5\u770b\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u72b6\u6001\uff0c\u5f53\u7cfb\u7528\u7ec4\u4ef6\u53d1\u751f\u6545\u969c\u65f6\uff0c\u4f1a\u5bfc\u81f4\u53ef\u89c2\u6d4b\u6a21\u5757\u4e2d\u7684\u90e8\u5206\u529f\u80fd\u4e0d\u53ef\u7528\u3002

                1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff0c
                2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u7cfb\u7edf\u7ba1\u7406 -> \u7cfb\u7edf\u7ec4\u4ef6 \u3002

                "},{"location":"end-user/insight/system-config/system-component.html#_2","title":"\u7ec4\u4ef6\u8bf4\u660e","text":"\u6a21\u5757 \u7ec4\u4ef6\u540d\u79f0 \u8bf4\u660e \u6307\u6807 vminsert-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5c06\u5404\u96c6\u7fa4\u4e2d Prometheus \u91c7\u96c6\u5230\u7684\u6307\u6807\u6570\u636e\u5199\u5165\u5b58\u50a8\u7ec4\u4ef6\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u5199\u5165\u5de5\u4f5c\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u3002 \u6307\u6807 vmalert-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u751f\u6548 VM Rule \u4e2d\u914d\u7f6e\u7684 recording \u548c Alert \u89c4\u5219\uff0c\u5e76\u5c06\u89e6\u53d1\u7684\u544a\u8b66\u89c4\u5219\u53d1\u9001\u7ed9 alertmanager\u3002 \u6307\u6807 vmalertmanager-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5728\u544a\u8b66\u89e6\u65f6\u53d1\u9001\u6d88\u606f\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u53d1\u9001\u544a\u8b66\u4fe1\u606f\u3002 \u6307\u6807 vmselect-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u67e5\u8be2\u6307\u6807\u6570\u636e\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u67e5\u8be2\u6307\u6807\u3002 \u6307\u6807 vmstorage-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5b58\u50a8\u591a\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u3002 \u4eea\u8868\u76d8 grafana-deployment \u63d0\u4f9b\u76d1\u63a7\u9762\u677f\u80fd\u529b\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u67e5\u770b\u5185\u7f6e\u7684\u4eea\u8868\u76d8\u3002 \u94fe\u8def insight-jaeger-collector \u8d1f\u8d23\u63a5\u6536\u00a0opentelemetry-collector\u00a0\u4e2d\u94fe\u8def\u6570\u636e\u5e76\u5c06\u5176\u8fdb\u884c\u5b58\u50a8\u3002 \u94fe\u8def insight-jaeger-query \u8d1f\u8d23\u67e5\u8be2\u5404\u96c6\u7fa4\u4e2d\u91c7\u96c6\u5230\u7684\u94fe\u8def\u6570\u636e\u3002 \u94fe\u8def insight-opentelemetry-collector \u8d1f\u8d23\u63a5\u6536\u5404\u5b50\u96c6\u7fa4\u8f6c\u53d1\u7684\u94fe\u8def\u6570\u636e \u65e5\u5fd7 elasticsearch \u8d1f\u8d23\u5b58\u50a8\u5404\u96c6\u7fa4\u7684\u65e5\u5fd7\u6570\u636e\u3002

                Note

                \u82e5\u4f7f\u7528\u5916\u90e8 Elasticsearch \u53ef\u80fd\u65e0\u6cd5\u83b7\u53d6\u90e8\u5206\u6570\u636e\u4ee5\u81f4\u4e8e Elasticsearch \u7684\u4fe1\u606f\u4e3a\u7a7a\u3002

                "},{"location":"end-user/insight/system-config/system-config.html","title":"\u7cfb\u7edf\u914d\u7f6e","text":"

                \u7cfb\u7edf\u914d\u7f6e \u5c55\u793a\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u9ed8\u8ba4\u7684\u4fdd\u5b58\u65f6\u957f\u4ee5\u53ca\u9ed8\u8ba4\u7684 Apdex \u9608\u503c\u3002

                1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\uff0c\u9009\u62e9 \u7cfb\u7edf\u914d\u7f6e\u3002

                2. \u4fee\u6539\u5386\u53f2\u544a\u8b66\u5b58\u50a8\u65f6\u957f\uff0c\u70b9\u51fb \u7f16\u8f91 \u8f93\u5165\u76ee\u6807\u65f6\u957f\u3002

                  \u5f53\u5b58\u50a8\u65f6\u957f\u8bbe\u7f6e\u4e3a \"0\" \u5c06\u4e0d\u6e05\u9664\u5386\u53f2\u544a\u8b66\u3002

                3. \u4fee\u6539\u62d3\u6251\u56fe\u6e32\u67d3\u9ed8\u8ba4\u914d\u7f6e\uff0c\u70b9\u51fb \u7f16\u8f91 \u6839\u636e\u9700\u6c42\u5b9a\u4e49\u7cfb\u7edf\u4e2d\u62d3\u6251\u56fe\u9608\u503c\u3002

                  \u9608\u503c\u8bbe\u7f6e\u5fc5\u987b\u5927\u4e8e 0\uff0c\u524d\u9762\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5c0f\u4e8e\u540e\u9762\u586b\u5199\u7684\u3002\u4e14\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5728\u6700\u5927\u548c\u6700\u5c0f\u7684\u8303\u56f4\u4e4b\u95f4\u3002

                Note

                \u4fee\u6539\u5176\u4ed6\u914d\u7f6e\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u5982\u4f55\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\uff1f

                "},{"location":"end-user/insight/trace/service.html","title":"\u670d\u52a1\u76d1\u63a7","text":"

                \u5728 \u53ef\u89c2\u6d4b\u6027 Insight \u4e2d\u670d\u52a1\u662f\u6307\u4f7f\u7528 Opentelemtry SDK \u63a5\u5165\u94fe\u8def\u6570\u636e\uff0c\u670d\u52a1\u76d1\u63a7\u80fd\u591f\u8f85\u52a9\u8fd0\u7ef4\u8fc7\u7a0b\u4e2d\u89c2\u5bdf\u5e94\u7528\u7a0b\u5e8f\u7684\u6027\u80fd\u548c\u72b6\u6001\u3002

                \u5982\u4f55\u4f7f\u7528 OpenTelemetry \u8bf7\u53c2\u8003\u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027\u3002

                "},{"location":"end-user/insight/trace/service.html#_2","title":"\u540d\u8bcd\u89e3\u91ca","text":"
                • \u670d\u52a1 \uff1a\u670d\u52a1\u8868\u793a\u4e3a\u4f20\u5165\u8bf7\u6c42\u63d0\u4f9b\u76f8\u540c\u884c\u4e3a\u7684\u4e00\u7ec4\u5de5\u4f5c\u8d1f\u8f7d\u3002\u60a8\u53ef\u4ee5\u5728\u4f7f\u7528 OpenTelemetry SDK \u65f6\u5b9a\u4e49\u670d\u52a1\u540d\u79f0\u6216\u4f7f\u7528 Istio \u4e2d\u5b9a\u4e49\u7684\u540d\u79f0\u3002
                • \u64cd\u4f5c \uff1a\u64cd\u4f5c\u662f\u6307\u4e00\u4e2a\u670d\u52a1\u5904\u7406\u7684\u7279\u5b9a\u8bf7\u6c42\u6216\u64cd\u4f5c\uff0c\u6bcf\u4e2a Span \u90fd\u6709\u4e00\u4e2a\u64cd\u4f5c\u540d\u79f0\u3002
                • \u51fa\u53e3\u6d41\u91cf \uff1a\u51fa\u53e3\u6d41\u91cf\u662f\u6307\u5f53\u524d\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u7684\u6240\u6709\u6d41\u91cf\u3002
                • \u5165\u53e3\u6d41\u91cf \uff1a\u5165\u53e3\u6d41\u91cf\u662f\u6307\u4e0a\u6e38\u670d\u52a1\u5bf9\u5f53\u524d\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u7684\u6240\u6709\u6d41\u91cf\u3002
                "},{"location":"end-user/insight/trace/service.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u670d\u52a1\u5217\u8868\u9875\u9762\u5c55\u793a\u4e86\u96c6\u7fa4\u4e2d\u6240\u6709\u5df2\u63a5\u5165\u94fe\u8def\u6570\u636e\u7684\u670d\u52a1\u7684\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u7b49\u5173\u952e\u6307\u6807\u3002 \u60a8\u53ef\u4ee5\u6839\u636e\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u5bf9\u670d\u52a1\u8fdb\u884c\u8fc7\u6ee4\uff0c\u4e5f\u53ef\u4ee5\u6309\u7167\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u5bf9\u8be5\u5217\u8868\u8fdb\u884c\u6392\u5e8f\u3002\u5217\u8868\u4e2d\u7684\u6307\u6807\u6570\u636e\u9ed8\u8ba4\u65f6\u95f4\u4e3a 1 \u5c0f\u65f6\uff0c\u60a8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002

                \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u770b\u670d\u52a1\u76d1\u63a7\u6307\u6807\uff1a

                1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u670d\u52a1 \u3002

                  Attention

                  1. \u82e5\u5217\u8868\u4e2d\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u4e3a unknown \u65f6\uff0c\u5219\u8868\u793a\u8be5\u670d\u52a1\u672a\u89c4\u8303\u63a5\u5165\uff0c\u5efa\u8bae\u91cd\u65b0\u63a5\u5165\u3002
                  2. \u82e5\u63a5\u5165\u7684\u670d\u52a1\u5b58\u5728\u540c\u540d\u4e14\u5747\u672a\u6b63\u786e\u586b\u5199\u73af\u5883\u53d8\u91cf\u4e2d\u7684 \u547d\u540d\u7a7a\u95f4 \u65f6\uff0c\u5217\u8868\u53ca\u670d\u52a1\u8be6\u60c5\u9875\u4e2d\u5c55\u793a\u7684\u76d1\u63a7\u6570\u636e\u4e3a\u591a\u4e2a\u670d\u52a1\u7684\u6c47\u603b\u6570\u636e\u3002
                3. \u70b9\u51fb\u670d\u52a1\u540d (\u4ee5 insight-server \u4e3a\u4f8b)\uff0c\u70b9\u51fb\u8fdb\u5165\u670d\u52a1\u8be6\u60c5\u9875\uff0c\u67e5\u770b\u670d\u52a1\u7684\u8be6\u7ec6\u6307\u6807\u548c\u8be5\u670d\u52a1\u7684\u64cd\u4f5c\u6307\u6807\u3002

                  1. \u5728\u670d\u52a1\u62d3\u6251\u6a21\u5757\u4e2d\uff0c\u60a8\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u6240\u9009\u670d\u52a1\u7684\u4e0a\u4e0b\u5404\u4e00\u5c42\u7684\u670d\u52a1\u62d3\u6251\uff0c\u9f20\u6807\u60ac\u6d6e\u5728\u8282\u70b9\u4e0a\u65f6\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u7684\u4fe1\u606f\u3002
                  2. \u5728\u6d41\u91cf\u6307\u6807\u6a21\u5757\uff0c\u60a8\u53ef\u67e5\u770b\u5230\u8be5\u670d\u52a1\u9ed8\u8ba4\u4e00\u5c0f\u65f6\u5185\u5168\u90e8\u8bf7\u6c42\uff08\u5305\u542b\u5165\u53e3\u6d41\u91cf\u548c\u51fa\u53e3\u6d41\u91cf\uff09\u7684\u76d1\u63a7\u6307\u6807\u3002
                  3. \u652f\u6301\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u65f6\u95f4\u9009\u62e9\u5668\u5feb\u901f\u9009\u62e9\u65f6\u95f4\u8303\u56f4\uff0c\u6216\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002
                  4. \u5728 \u5173\u8054\u5bb9\u5668 \u6a21\u5757\u70b9\u51fb\u5bb9\u5668\u7ec4\u540d\u79f0\uff0c\u53ef\u8df3\u8f6c\u81f3\u5bb9\u5668\u7ec4\u8be6\u60c5\u9875\u3002

                4. \u70b9\u51fb Tab \u5207\u6362\u5230 \u64cd\u4f5c\u6307\u6807 \uff0c\u53ef\u67e5\u8be2\u591a\u9009\u670d\u52a1\u76f8\u540c\u64cd\u4f5c\u7684\u805a\u5408\u8d77\u6765\u7684\u6d41\u91cf\u6307\u6807\u3002

                  1. \u652f\u6301\u5bf9\u64cd\u4f5c\u6307\u6807\u4e2d\u7684\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u7b49\u6307\u6807\u8fdb\u884c\u6392\u5e8f\u3002
                  2. \u70b9\u51fb\u5355\u4e2a\u64cd\u4f5c\u540e\u7684\u56fe\u6807\uff0c\u53ef\u8df3\u8f6c\u81f3 \u8c03\u7528\u94fe \u5feb\u901f\u67e5\u8be2\u76f8\u5173\u94fe\u8def\u3002

                "},{"location":"end-user/insight/trace/service.html#_4","title":"\u670d\u52a1\u6307\u6807\u8bf4\u660e","text":"\u53c2\u6570 \u8bf4\u660e \u541e\u5410\u7387 \u5355\u4f4d\u65f6\u95f4\u5185\u5904\u7406\u8bf7\u6c42\u7684\u6570\u91cf\u3002 \u9519\u8bef\u7387 \u67e5\u8be2\u65f6\u95f4\u8303\u56f4\u5185\u9519\u8bef\u8bf7\u6c42\u4e0e\u8bf7\u6c42\u603b\u6570\u7684\u6bd4\u503c\u3002 P50 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 50% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002 P95 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 95% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002 P99 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 95% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002"},{"location":"end-user/insight/trace/topology.html","title":"\u670d\u52a1\u62d3\u6251","text":"

                \u670d\u52a1\u62d3\u6251\u56fe\u662f\u5bf9\u670d\u52a1\u4e4b\u95f4\u8fde\u63a5\u3001\u901a\u4fe1\u548c\u4f9d\u8d56\u5173\u7cfb\u7684\u53ef\u89c6\u5316\u8868\u793a\u3002\u901a\u8fc7\u53ef\u89c6\u5316\u62d3\u6251\u4e86\u89e3\u670d\u52a1\u95f4\u7684\u8c03\u7528\u5173\u7cfb\uff0c \u67e5\u770b\u670d\u52a1\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u7684\u8c03\u7528\u53ca\u5176\u6027\u80fd\u72b6\u51b5\u3002\u62d3\u6251\u56fe\u7684\u8282\u70b9\u4e4b\u95f4\u7684\u8054\u7cfb\u4ee3\u8868\u4e24\u4e2a\u670d\u52a1\u5728\u67e5\u8be2\u65f6\u95f4\u8303\u56f4\u5185\u670d\u52a1\u4e4b\u95f4\u7684\u5b58\u5728\u8c03\u7528\u5173\u7cfb\u3002

                "},{"location":"end-user/insight/trace/topology.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                1. \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002
                2. \u670d\u52a1\u5df2\u901a\u8fc7 Operator \u6216 Opentelemetry SDK \u7684\u65b9\u5f0f\u63a5\u5165\u94fe\u8def\u3002
                "},{"location":"end-user/insight/trace/topology.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u6a21\u5757
                2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u670d\u52a1\u62d3\u6251
                3. \u5728\u62d3\u6251\u56fe\u4e2d\uff0c\u60a8\u53ef\u6309\u9700\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                  • \u5355\u51fb \u8282\u70b9\uff0c\u4ece\u53f3\u4fa7\u5212\u51fa\u670d\u52a1\u7684\u8be6\u60c5\uff0c\u53ef\u67e5\u770b\u670d\u52a1\u7684\u8bf7\u6c42\u5ef6\u65f6\u3001\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u7684\u6307\u6807\u3002\u70b9\u51fb\u670d\u52a1\u540d\u79f0\u53ef\u8df3\u8f6c\u81f3\u5bf9\u5e94\u670d\u52a1\u7684\u8be6\u60c5\u9875\u3002
                  • \u9f20\u6807\u60ac\u6d6e\u5728\u8fde\u7ebf\u4e0a\u65f6\uff0c\u53ef\u67e5\u770b\u4e24\u4e2a\u670d\u52a1\u4e4b\u95f4\u8bf7\u6c42\u7684\u6d41\u91cf\u6307\u6807\u3002
                  • \u5728 \u663e\u793a\u8bbe\u7f6e \u6a21\u5757\uff0c\u53ef\u914d\u7f6e\u62d3\u6251\u56fe\u4e2d\u7684\u663e\u793a\u5143\u7d20\u3002

                4. \u70b9\u51fb\u53f3\u4e0b\u89d2 \u56fe\u4f8b \uff0c\u53ef\u901a\u8fc7 \u4e34\u65f6\u914d\u7f6e \u4fee\u6539\u5f53\u524d\u7684\u62d3\u6251\u56fe\u5b9a\u4e49\u7684\u6e32\u67d3\u9608\u503c\uff0c\u8df3\u51fa\u6216\u5173\u95ed\u8be5\u9875\u9762\u5373\u4f1a\u4e22\u5931\u8be5\u914d\u7f6e\u3002

                  \u9608\u503c\u8bbe\u7f6e\u5fc5\u987b\u5927\u4e8e 0\uff0c\u524d\u9762\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5c0f\u4e8e\u540e\u9762\u586b\u5199\u7684\u3002\u4e14\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5728\u6700\u5927\u548c\u6700\u5c0f\u7684\u8303\u56f4\u4e4b\u95f4\u3002

                "},{"location":"end-user/insight/trace/topology.html#_4","title":"\u5176\u4ed6\u8282\u70b9","text":"

                \u5728\u670d\u52a1\u62d3\u6251\u4e2d\u4f1a\u5b58\u5728\u6e38\u79bb\u5728\u96c6\u7fa4\u4e4b\u5916\u7684\u8282\u70b9\uff0c\u8fd9\u4e9b\u6e38\u79bb\u5728\u5916\u7684\u8282\u70b9\u53ef\u5206\u6210\u4e09\u7c7b\uff1a

                • \u6570\u636e\u5e93
                • \u6d88\u606f\u961f\u5217
                • \u865a\u62df\u8282\u70b9

                • \u82e5\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u5230\u6570\u636e\u5e93\u6216\u6d88\u606f\u961f\u5217\u65f6\uff0c\u62d3\u6251\u56fe\u4e2d\u4f1a\u9ed8\u8ba4\u5c55\u793a\u8fd9\u4e24\u7c7b\u8282\u70b9\u3002 \u800c\u865a\u62df\u670d\u52a1\u8868\u793a\u96c6\u7fa4\u5185\u670d\u52a1\u8bf7\u6c42\u4e86\u96c6\u7fa4\u5916\u7684\u8282\u70b9\u6216\u8005\u672a\u63a5\u5165\u94fe\u8def\u7684\u670d\u52a1\uff0c\u62d3\u6251\u56fe\u4e2d\u9ed8\u8ba4\u4e0d\u4f1a\u5c55\u793a \u865a\u62df\u670d\u52a1\u3002

                • \u5f53\u670d\u52a1\u8bf7\u6c42\u5230 MySQL\u3001PostgreSQL\u3001Oracle Database \u8fd9\u4e09\u79cd\u6570\u636e\u5e93\u65f6\uff0c\u5728\u62d3\u6251\u56fe\u4e2d\u53ef\u4ee5\u770b\u5230\u8bf7\u6c42\u7684\u8be6\u7ec6\u6570\u636e\u5e93\u7c7b\u578b\u3002

                "},{"location":"end-user/insight/trace/topology.html#_5","title":"\u5f00\u542f\u865a\u62df\u8282\u70b9","text":"
                1. \u66f4\u65b0 insight-server chart \u7684 values\uff0c\u627e\u5230\u4e0b\u56fe\u6240\u793a\u53c2\u6570\uff0c\u5c06 false \u6539\u4e3a true\u3002

                2. \u5728\u670d\u52a1\u62d3\u6251\u7684\u663e\u793a\u8bbe\u7f6e\u4e2d\u52fe\u9009 \u865a\u62df\u670d\u52a1 \u3002

                "},{"location":"end-user/insight/trace/trace.html","title":"\u94fe\u8def\u67e5\u8be2","text":"

                \u5728\u94fe\u8def\u67e5\u8be2\u9875\u9762\uff0c\u60a8\u53ef\u4ee5\u8fc7 TraceID \u6216\u7cbe\u786e\u67e5\u8be2\u8c03\u7528\u94fe\u8def\u8be6\u7ec6\u60c5\u51b5\u6216\u7ed3\u5408\u591a\u79cd\u6761\u4ef6\u7b5b\u9009\u67e5\u8be2\u8c03\u7528\u94fe\u8def\u3002

                "},{"location":"end-user/insight/trace/trace.html#_2","title":"\u540d\u8bcd\u89e3\u91ca","text":"
                • TraceID\uff1a\u7528\u4e8e\u6807\u8bc6\u4e00\u4e2a\u5b8c\u6574\u7684\u8bf7\u6c42\u8c03\u7528\u94fe\u8def\u3002
                • \u64cd\u4f5c\uff1a\u63cf\u8ff0 Span \u6240\u4ee3\u8868\u7684\u5177\u4f53\u64cd\u4f5c\u6216\u4e8b\u4ef6\u3002
                • \u5165\u53e3 Span\uff1a\u5165\u53e3 Span \u4ee3\u8868\u4e86\u6574\u4e2a\u8bf7\u6c42\u7684\u7b2c\u4e00\u4e2a\u8bf7\u6c42\u3002
                • \u5ef6\u65f6\uff1a\u6574\u4e2a\u8c03\u7528\u94fe\u4ece\u5f00\u59cb\u63a5\u6536\u8bf7\u6c42\u5230\u5b8c\u6210\u54cd\u5e94\u7684\u6301\u7eed\u65f6\u95f4\u3002
                • Span\uff1a\u6574\u4e2a\u94fe\u8def\u4e2d\u5305\u542b\u7684 Span \u4e2a\u6570\u3002
                • \u53d1\u751f\u65f6\u95f4\uff1a\u5f53\u524d\u94fe\u8def\u5f00\u59cb\u7684\u65f6\u95f4\u3002
                • Tag\uff1a\u4e00\u7ec4\u952e\u503c\u5bf9\u6784\u6210\u7684 Span \u6807\u7b7e\u96c6\u5408\uff0cTag \u662f\u7528\u6765\u5bf9 Span \u8fdb\u884c\u7b80\u5355\u7684\u6ce8\u89e3\u548c\u8865\u5145\uff0c\u6bcf\u4e2a Span \u53ef\u4ee5\u6709\u591a\u4e2a\u7b80\u76f4\u5bf9\u5f62\u5f0f\u7684 Tag\u3002
                "},{"location":"end-user/insight/trace/trace.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u8be2\u94fe\u8def\uff1a

                1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff0c
                2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u8c03\u7528\u94fe\u3002

                  Note

                  \u5217\u8868\u4e2d\u652f\u6301\u5bf9 Span \u6570\u3001\u5ef6\u65f6\u3001\u53d1\u751f\u65f6\u95f4\u8fdb\u884c\u6392\u5e8f\u3002

                3. \u70b9\u51fb\u7b5b\u9009\u680f\u4e2d\u7684 TraceID \u641c\u7d22 \u5207\u6362\u4f7f\u7528 TraceID \u641c\u7d22\u94fe\u8def\u3002

                4. \u4f7f\u7528 TraceID \u641c\u7d22\u8bf7\u8f93\u5165\u5b8c\u6574\u7684 TraceID\u3002

                "},{"location":"end-user/insight/trace/trace.html#_4","title":"\u5176\u4ed6\u64cd\u4f5c","text":""},{"location":"end-user/insight/trace/trace.html#_5","title":"\u67e5\u770b\u94fe\u8def\u8be6\u60c5","text":"
                1. \u70b9\u51fb\u94fe\u8def\u5217\u8868\u4e2d\u7684\u67d0\u4e00\u94fe\u8def\u7684 TraceID\uff0c\u53ef\u67e5\u770b\u8be5\u94fe\u8def\u7684\u8be6\u60c5\u8c03\u7528\u60c5\u51b5\u3002

                "},{"location":"end-user/insight/trace/trace.html#_6","title":"\u67e5\u770b\u5173\u8054\u65e5\u5fd7","text":"
                1. \u70b9\u51fb\u94fe\u8def\u6570\u636e\u53f3\u4fa7\u7684\u56fe\u6807\uff0c\u53ef\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u5173\u8054\u65e5\u5fd7\u3002

                  • \u9ed8\u8ba4\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u6301\u7eed\u65f6\u95f4\u53ca\u5176\u7ed3\u675f\u4e4b\u540e\u4e00\u5206\u949f\u5185\u7684\u65e5\u5fd7\u6570\u636e\u3002
                  • \u67e5\u8be2\u7684\u65e5\u5fd7\u5185\u5bb9\u4e3a\u65e5\u5fd7\u6587\u672c\u4e2d\u5305\u542b\u8be5\u94fe\u8def\u7684 TraceID \u7684\u65e5\u5fd7\u548c\u94fe\u8def\u8c03\u7528\u8fc7\u7a0b\u4e2d\u76f8\u5173\u7684\u5bb9\u5668\u65e5\u5fd7\u3002
                2. \u70b9\u51fb \u67e5\u770b\u66f4\u591a \u540e\u53ef\u5e26\u6761\u4ef6\u8df3\u8f6c\u5230 \u65e5\u5fd7\u67e5\u8be2 \u7684\u9875\u9762\u3002

                3. \u9ed8\u8ba4\u641c\u7d22\u5168\u90e8\u65e5\u5fd7\uff0c\u4f46\u53ef\u4e0b\u62c9\u6839\u636e\u94fe\u8def\u7684 TraceID \u6216\u94fe\u8def\u8c03\u7528\u8fc7\u7a0b\u4e2d\u76f8\u5173\u7684\u5bb9\u5668\u65e5\u5fd7\u8fdb\u884c\u8fc7\u6ee4\u3002

                  Note

                  \u7531\u4e8e\u94fe\u8def\u4f1a\u8de8\u96c6\u7fa4\u6216\u8de8\u547d\u540d\u7a7a\u95f4\uff0c\u82e5\u7528\u6237\u6743\u9650\u4e0d\u8db3\uff0c\u5219\u65e0\u6cd5\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u5173\u8054\u65e5\u5fd7\u3002

                "},{"location":"end-user/k8s/add-node.html","title":"\u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9","text":"

                \u5982\u679c\u8282\u70b9\u4e0d\u591f\u7528\u4e86\uff0c\u53ef\u4ee5\u6dfb\u52a0\u66f4\u591a\u8282\u70b9\u5230\u96c6\u7fa4\u4e2d\u3002

                "},{"location":"end-user/k8s/add-node.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u5e10\u53f7
                • \u5df2\u521b\u5efa\u5e26 GPU \u8282\u70b9\u7684\u96c6\u7fa4
                • \u51c6\u5907\u4e00\u53f0\u4e91\u4e3b\u673a
                "},{"location":"end-user/k8s/add-node.html#_3","title":"\u6dfb\u52a0\u6b65\u9aa4","text":"
                1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0

                3. \u8fdb\u5165\u96c6\u7fa4\u6982\u89c8\u9875\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u63a5\u5165\u8282\u70b9 \u6309\u94ae

                4. \u6309\u7167\u5411\u5bfc\uff0c\u586b\u5199\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                  \u57fa\u672c\u4fe1\u606f\u53c2\u6570\u914d\u7f6e

                5. \u5728\u5f39\u7a97\u4e2d\u70b9\u51fb \u786e\u5b9a

                6. \u8fd4\u56de\u8282\u70b9\u5217\u8868\uff0c\u65b0\u63a5\u5165\u7684\u8282\u70b9\u72b6\u6001\u4e3a \u63a5\u5165\u4e2d \uff0c\u7b49\u5f85\u51e0\u5206\u949f\u540e\u72b6\u6001\u53d8\u4e3a \u5065\u5eb7 \u5219\u8868\u793a\u63a5\u5165\u6210\u529f\u3002

                Tip

                \u5bf9\u4e8e\u521a\u63a5\u5165\u6210\u529f\u7684\u8282\u70b9\uff0c\u53ef\u80fd\u8fd8\u8981\u7b49 2-3 \u5206\u949f\u624d\u80fd\u8bc6\u522b\u51fa GPU\u3002

                "},{"location":"end-user/k8s/create-k8s.html","title":"\u521b\u5efa\u4e91\u4e0a Kubernetes \u96c6\u7fa4","text":"

                \u90e8\u7f72 Kubernetes \u96c6\u7fa4\u662f\u4e3a\u4e86\u652f\u6301\u9ad8\u6548\u7684 AI \u7b97\u529b\u8c03\u5ea6\u548c\u7ba1\u7406\uff0c\u5b9e\u73b0\u5f39\u6027\u4f38\u7f29\uff0c\u63d0\u4f9b\u9ad8\u53ef\u7528\u6027\uff0c\u4ece\u800c\u4f18\u5316\u6a21\u578b\u8bad\u7ec3\u548c\u63a8\u7406\u8fc7\u7a0b\u3002

                "},{"location":"end-user/k8s/create-k8s.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0\u5df2
                • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u6743\u9650\u7684\u8d26\u53f7
                • \u51c6\u5907\u4e00\u53f0\u5e26 GPU \u7684\u7269\u7406\u673a
                • \u5206\u914d\u4e24\u6bb5 IP \u5730\u5740\uff08Pod CIDR 18 \u4f4d\u3001SVC CIDR 18 \u4f4d\uff0c\u4e0d\u80fd\u4e0e\u73b0\u6709\u7f51\u6bb5\u51b2\u7a81\uff09
                "},{"location":"end-user/k8s/create-k8s.html#_2","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                2. \u521b\u5efa\u5e76\u542f\u52a8 3 \u53f0\u4e0d\u5e26 GPU \u7684\u4e91\u4e3b\u673a\u7528\u4f5c\u96c6\u7fa4\u7684 Master \u8282\u70b9

                  • \u914d\u7f6e\u8d44\u6e90\uff0cCPU 16 \u6838\uff0c\u5185\u5b58 32 GB\uff0c\u7cfb\u7edf\u76d8 200 GB\uff08ReadWriteOnce\uff09
                  • \u7f51\u7edc\u6a21\u5f0f\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09
                  • \u8bbe\u7f6e root \u5bc6\u7801\u6216\u6dfb\u52a0 SSH \u516c\u94a5\uff0c\u65b9\u4fbf\u4ee5 SSH \u8fde\u63a5
                  • \u8bb0\u5f55\u597d 3 \u53f0\u4e3b\u673a\u7684 IP
                3. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa\u96c6\u7fa4 \u6309\u94ae

                4. \u6309\u7167\u5411\u5bfc\uff0c\u914d\u7f6e\u96c6\u7fa4\u7684\u5404\u9879\u53c2\u6570

                  \u57fa\u672c\u4fe1\u606f\u8282\u70b9\u914d\u7f6e\u7f51\u7edc\u914d\u7f6eAddon \u914d\u7f6e\u9ad8\u7ea7\u914d\u7f6e

                  \u914d\u7f6e\u5b8c\u8282\u70b9\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u5f00\u59cb\u68c0\u67e5 \uff0c

                  \u6bcf\u4e2a\u8282\u70b9\u9ed8\u8ba4\u53ef\u8fd0\u884c 110 \u4e2a Pod\uff08\u5bb9\u5668\u7ec4\uff09\uff0c\u5982\u679c\u8282\u70b9\u914d\u7f6e\u6bd4\u8f83\u9ad8\uff0c\u53ef\u4ee5\u8c03\u6574\u5230 200 \u6216 300 \u4e2a Pod\u3002

                5. \u7b49\u5f85\u96c6\u7fa4\u521b\u5efa\u5b8c\u6210\u3002

                6. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u627e\u5230\u521a\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u5bfc\u822a\u5230 Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u641c\u7d22\u6846\u5185\u641c\u7d22 metax-gpu-extensions\uff0c\u70b9\u51fb\u5361\u7247

                7. \u70b9\u51fb\u53f3\u4fa7\u7684 \u5b89\u88c5 \u6309\u94ae\uff0c\u5f00\u59cb\u5b89\u88c5 GPU \u63d2\u4ef6

                  \u5e94\u7528\u8bbe\u7f6eKubernetes \u7f16\u6392\u786e\u8ba4

                  \u8f93\u5165\u540d\u79f0\uff0c\u9009\u62e9\u547d\u540d\u7a7a\u95f4\uff0c\u5728 YAMl \u4e2d\u4fee\u6539\u955c\u50cf\u5730\u5740\uff1a

                8. \u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u7b49\u5f85 metax-gpu-extensions \u72b6\u6001\u53d8\u4e3a \u5df2\u90e8\u7f72

                9. \u5230\u6b64\u96c6\u7fa4\u521b\u5efa\u6210\u529f\uff0c\u53ef\u4ee5\u53bb\u67e5\u770b\u96c6\u7fa4\u6240\u5305\u542b\u7684\u8282\u70b9\u3002\u4f60\u53ef\u4ee5\u53bb\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d\u5e76\u4f7f\u7528 GPU \u4e86\u3002

                \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d

                "},{"location":"end-user/k8s/remove-node.html","title":"\u79fb\u9664 GPU \u5de5\u4f5c\u8282\u70b9","text":"

                GPU \u8d44\u6e90\u7684\u6210\u672c\u76f8\u5bf9\u8f83\u9ad8\uff0c\u5982\u679c\u6682\u65f6\u7528\u4e0d\u5230 GPU\uff0c\u53ef\u4ee5\u5c06\u5e26 GPU \u7684\u5de5\u4f5c\u8282\u70b9\u79fb\u9664\u3002 \u4ee5\u4e0b\u6b65\u9aa4\u4e5f\u540c\u6837\u9002\u7528\u4e8e\u79fb\u9664\u666e\u901a\u5de5\u4f5c\u8282\u70b9\u3002

                "},{"location":"end-user/k8s/remove-node.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u5e10\u53f7
                • \u5df2\u521b\u5efa\u5e26 GPU \u8282\u70b9\u7684\u96c6\u7fa4
                "},{"location":"end-user/k8s/remove-node.html#_2","title":"\u79fb\u9664\u6b65\u9aa4","text":"
                1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0

                3. \u8fdb\u5165\u96c6\u7fa4\u6982\u89c8\u9875\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u8981\u79fb\u9664\u7684\u8282\u70b9\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u79fb\u9664\u8282\u70b9

                4. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u8282\u70b9\u540d\u79f0\uff0c\u786e\u8ba4\u65e0\u8bef\u540e\u70b9\u51fb \u5220\u9664

                5. \u81ea\u52a8\u8fd4\u56de\u8282\u70b9\u5217\u8868\uff0c\u72b6\u6001\u4e3a \u79fb\u9664\u4e2d \uff0c\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\uff0c\u8282\u70b9\u4e0d\u5728\u4e86\uff0c\u8bf4\u660e\u8282\u70b9\u88ab\u6210\u529f\u79fb\u9664

                6. \u4ece UI \u5217\u8868\u79fb\u9664\u8282\u70b9\u540e\uff0c\u901a\u8fc7 SSH \u767b\u5f55\u5230\u5df2\u79fb\u9664\u7684\u8282\u70b9\u4e3b\u673a\uff0c\u6267\u884c\u5173\u673a\u547d\u4ee4\u3002

                Tip

                \u5728 UI \u4e0a\u79fb\u9664\u8282\u70b9\u5e76\u5c06\u5176\u5173\u673a\u540e\uff0c\u8282\u70b9\u4e0a\u7684\u6570\u636e\u5e76\u672a\u88ab\u7acb\u5373\u5220\u9664\uff0c\u8282\u70b9\u6570\u636e\u4f1a\u88ab\u4fdd\u7559\u4e00\u6bb5\u65f6\u95f4\u3002

                "},{"location":"end-user/kpanda/backup/index.html","title":"\u5907\u4efd\u6062\u590d","text":"

                \u5907\u4efd\u6062\u590d\u5206\u4e3a\u5907\u4efd\u548c\u6062\u590d\u4e24\u65b9\u9762\uff0c\u5b9e\u9645\u5e94\u7528\u65f6\u9700\u8981\u5148\u5907\u4efd\u7cfb\u7edf\u5728\u67d0\u4e00\u65f6\u70b9\u7684\u6570\u636e\uff0c\u7136\u540e\u5b89\u5168\u5b58\u50a8\u5730\u5907\u4efd\u6570\u636e\u3002\u540e\u7eed\u5982\u679c\u51fa\u73b0\u6570\u636e\u635f\u574f\u3001\u4e22\u5931\u3001\u8bef\u5220\u7b49\u4e8b\u6545\uff0c\u5c31\u53ef\u4ee5\u57fa\u4e8e\u4e4b\u524d\u7684\u6570\u636e\u5907\u4efd\u5feb\u901f\u8fd8\u539f\u7cfb\u7edf\uff0c\u7f29\u77ed\u6545\u969c\u65f6\u95f4\uff0c\u51cf\u5c11\u635f\u5931\u3002

                • \u5728\u771f\u5b9e\u7684\u751f\u4ea7\u73af\u5883\u4e2d\uff0c\u670d\u52a1\u53ef\u80fd\u5206\u5e03\u5f0f\u5730\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u4e91\u3001\u4e0d\u540c\u533a\u57df\u6216\u53ef\u7528\u533a\uff0c\u5982\u679c\u67d0\u4e00\u4e2a\u57fa\u7840\u8bbe\u65bd\u81ea\u8eab\u51fa\u73b0\u6545\u969c\uff0c\u4f01\u4e1a\u9700\u8981\u5728\u5176\u4ed6\u53ef\u7528\u73af\u5883\u4e2d\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u8de8\u4e91/\u8de8\u96c6\u7fa4\u7684\u5907\u4efd\u6062\u590d\u663e\u5f97\u975e\u5e38\u91cd\u8981\u3002
                • \u5728\u5927\u89c4\u6a21\u7cfb\u7edf\u4e2d\u5f80\u5f80\u6709\u5f88\u591a\u89d2\u8272\u548c\u7528\u6237\uff0c\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u590d\u6742\uff0c\u64cd\u4f5c\u8005\u4f17\u591a\uff0c\u96be\u514d\u6709\u4eba\u8bef\u64cd\u4f5c\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4e5f\u9700\u8981\u80fd\u591f\u901a\u8fc7\u4e4b\u524d\u5907\u4efd\u7684\u6570\u636e\u5feb\u901f\u56de\u6eda\u7cfb\u7edf\uff0c\u5426\u5219\u5982\u679c\u4f9d\u8d56\u4eba\u4e3a\u6392\u67e5\u6545\u969c\u3001\u4fee\u590d\u6545\u969c\u3001\u6062\u590d\u7cfb\u7edf\u5c31\u4f1a\u8017\u8d39\u5927\u91cf\u65f6\u95f4\uff0c\u7cfb\u7edf\u4e0d\u53ef\u7528\u65f6\u95f4\u8d8a\u957f\uff0c\u4f01\u4e1a\u7684\u635f\u5931\u8d8a\u5927\u3002
                • \u6b64\u5916\uff0c\u8fd8\u6709\u7f51\u7edc\u653b\u51fb\u3001\u81ea\u7136\u707e\u5bb3\u3001\u8bbe\u5907\u6545\u969c\u7b49\u5404\u79cd\u56e0\u7d20\u4e5f\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u4e8b\u6545

                \u56e0\u6b64\uff0c\u5907\u4efd\u6062\u590d\u975e\u5e38\u91cd\u8981\uff0c\u53ef\u4ee5\u89c6\u4e4b\u4e3a\u7ef4\u62a4\u7cfb\u7edf\u7a33\u5b9a\u548c\u6570\u636e\u5b89\u5168\u7684\u6700\u540e\u4e00\u9053\u4fdd\u9669\u3002

                \u5907\u4efd\u901a\u5e38\u5206\u4e3a\u5168\u91cf\u5907\u4efd\u3001\u589e\u91cf\u5907\u4efd\u3001\u5dee\u5f02\u5907\u4efd\u4e09\u79cd\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u76ee\u524d\u652f\u6301\u5168\u91cf\u5907\u4efd\u548c\u589e\u91cf\u5907\u4efd\u3002

                \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u7684\u5907\u4efd\u6062\u590d\u53ef\u4ee5\u5206\u4e3a \u5e94\u7528\u5907\u4efd \u548c ETCD \u5907\u4efd \u4e24\u79cd\uff0c\u652f\u6301\u624b\u52a8\u5907\u4efd\uff0c\u6216\u57fa\u4e8e CronJob \u5b9a\u65f6\u81ea\u52a8\u5907\u4efd\u3002

                • \u5e94\u7528\u5907\u4efd

                  \u5e94\u7528\u5907\u4efd\u6307\uff0c\u5907\u4efd\u96c6\u7fa4\u4e2d\u7684\u67d0\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\uff0c\u7136\u540e\u5c06\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6062\u590d\u5230\u672c\u96c6\u7fa4\u6216\u8005\u5176\u4ed6\u96c6\u7fa4\u3002\u652f\u6301\u5907\u4efd\u6574\u4e2a\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u8d44\u6e90\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u8fc7\u6ee4\uff0c\u4ec5\u5907\u4efd\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8d44\u6e90\u3002

                  \u5e94\u7528\u5907\u4efd\u652f\u6301\u8de8\u96c6\u7fa4\u5907\u4efd\u6709\u72b6\u6001\u5e94\u7528\uff0c\u5177\u4f53\u6b65\u9aa4\u53ef\u53c2\u8003MySQL \u5e94\u7528\u53ca\u6570\u636e\u7684\u8de8\u96c6\u7fa4\u5907\u4efd\u6062\u590d\u3002

                • ETCD \u5907\u4efd

                  etcd \u662f Kubernetes \u7684\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\uff0cKubernetes \u5c06\u81ea\u8eab\u7684\u7ec4\u4ef6\u6570\u636e\u548c\u5176\u4e2d\u7684\u5e94\u7528\u6570\u636e\u90fd\u5b58\u50a8\u5728 etcd \u4e2d\u3002\u56e0\u6b64\uff0c\u5907\u4efd etcd \u5c31\u76f8\u5f53\u4e8e\u5907\u4efd\u6574\u4e2a\u96c6\u7fa4\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u5728\u6545\u969c\u65f6\u5feb\u901f\u5c06\u96c6\u7fa4\u6062\u590d\u5230\u4e4b\u524d\u67d0\u4e00\u65f6\u70b9\u7684\u72b6\u6001\u3002

                  \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u76ee\u524d\u4ec5\u652f\u6301\u5c06 etcd \u5907\u4efd\u6570\u636e\u6062\u590d\u5230\u540c\u4e00\u96c6\u7fa4\uff08\u539f\u96c6\u7fa4\uff09\u3002

                "},{"location":"end-user/kpanda/backup/deployment.html","title":"\u5e94\u7528\u5907\u4efd","text":"

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u5e94\u7528\u505a\u5907\u4efd\uff0c\u672c\u6559\u7a0b\u4e2d\u4f7f\u7528\u7684\u6f14\u793a\u5e94\u7528\u540d\u4e3a dao-2048 \uff0c\u5c5e\u4e8e\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

                "},{"location":"end-user/kpanda/backup/deployment.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5728\u5bf9\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u5907\u4efd\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u5b89\u88c5 velero \u7ec4\u4ef6\uff0c\u4e14 velero \u7ec4\u4ef6\u8fd0\u884c\u6b63\u5e38\u3002

                • \u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\uff08\u672c\u6559\u7a0b\u4e2d\u7684\u8d1f\u8f7d\u540d\u4e3a dao-2048 \uff09\uff0c\u5e76\u4e3a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6253\u4e0a app: dao-2048 \u7684\u6807\u7b7e\u3002

                "},{"location":"end-user/kpanda/backup/deployment.html#_3","title":"\u5907\u4efd\u5de5\u4f5c\u8d1f\u8f7d","text":"

                \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u5907\u4efd\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d dao-2048 \u3002

                1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c \u70b9\u51fb \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d \u3002

                2. \u8fdb\u5165 \u5e94\u7528\u5907\u4efd \u5217\u8868\u9875\u9762\uff0c\u4ece\u96c6\u7fa4\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u5df2\u5b89\u88c5\u4e86 velero \u548c dao-2048 \u7684\u96c6\u7fa4\u3002 \u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa\u5907\u4efd\u8ba1\u5212 \u6309\u94ae\u3002

                3. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u586b\u5199\u5907\u4efd\u914d\u7f6e\u3002

                4. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u8bbe\u7f6e\u5907\u4efd\u6267\u884c\u9891\u7387\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                  • \u5907\u4efd\u9891\u7387\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49 \u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002
                  • \u7559\u5b58\u65f6\u957f\uff08\u5929\uff09\uff1a\u8bbe\u7f6e\u5907\u4efd\u8d44\u6e90\u4fdd\u5b58\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 30 \u5929\uff0c\u8fc7\u671f\u540e\u5c06\u4f1a\u88ab\u5220\u9664\u3002
                  • \u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\uff1a\u662f\u5426\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\uff0c\u652f\u6301\u76f4\u63a5\u590d\u5236\u548c\u4f7f\u7528 CSI \u5feb\u7167\u4e24\u79cd\u65b9\u5f0f\u3002
                    • \u76f4\u63a5\u590d\u5236\uff1a\u76f4\u63a5\u590d\u5236\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\u7528\u4e8e\u5907\u4efd\uff1b
                    • \u4f7f\u7528 CSI \u5feb\u7167\uff1a\u4f7f\u7528 CSI \u5feb\u7167\u6765\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u3002\u9700\u8981\u96c6\u7fa4\u4e2d\u6709\u53ef\u7528\u4e8e\u5907\u4efd\u7684 CSI \u5feb\u7167\u7c7b\u578b\u3002

                5. \u70b9\u51fb \u786e\u5b9a \uff0c\u9875\u9762\u4f1a\u81ea\u52a8\u8fd4\u56de\u5e94\u7528\u5907\u4efd\u8ba1\u5212\u5217\u8868\u3002\u60a8\u53ef\u4ee5\u627e\u5230\u65b0\u5efa\u7684 dao-2048 \u5907\u4efd\u8ba1\u5212\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u9009\u62e9 \u7acb\u5373\u6267\u884c \u5f00\u59cb\u5907\u4efd\u3002

                6. \u6b64\u65f6\u96c6\u7fa4\u7684 \u4e0a\u4e00\u6b21\u6267\u884c\u72b6\u6001 \u5c06\u8f6c\u53d8\u4e3a \u5907\u4efd\u4e2d \u3002\u7b49\u5f85\u5907\u4efd\u5b8c\u6210\u540e\u53ef\u4ee5\u70b9\u51fb\u5907\u4efd\u8ba1\u5212\u7684\u540d\u79f0\uff0c\u67e5\u770b\u5907\u4efd\u8ba1\u5212\u8be6\u60c5\u3002

                Note

                \u5982\u679c Job \u7c7b\u578b\u7684\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u4e3a \u6267\u884c\u5b8c\u6210 \uff0c\u5219\u4e0d\u652f\u6301\u5907\u4efd\u3002

                "},{"location":"end-user/kpanda/backup/etcd-backup.html","title":"etcd \u5907\u4efd","text":"

                etcd \u5907\u4efd\u662f\u4ee5\u96c6\u7fa4\u6570\u636e\u4e3a\u6838\u5fc3\u7684\u5907\u4efd\u3002\u5728\u786c\u4ef6\u8bbe\u5907\u635f\u574f\uff0c\u5f00\u53d1\u6d4b\u8bd5\u914d\u7f6e\u9519\u8bef\u7b49\u573a\u666f\u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7 etcd \u5907\u4efd\u6062\u590d\u96c6\u7fa4\u6570\u636e\u3002

                \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e3a\u96c6\u7fa4\u5236\u4f5c etcd \u5907\u4efd\u3002

                "},{"location":"end-user/kpanda/backup/etcd-backup.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                • \u63a5\u5165\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                • \u51c6\u5907\u4e00\u4e2a MinIO \u5b9e\u4f8b\u3002

                "},{"location":"end-user/kpanda/backup/etcd-backup.html#etcd_1","title":"\u521b\u5efa etcd \u5907\u4efd","text":"

                \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa etcd \u5907\u4efd\u3002

                1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u5907\u4efd\u7b56\u7565 \u3002

                2. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199 \u57fa\u672c\u4fe1\u606f \u3002\u586b\u5199\u5b8c\u6bd5\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u6821\u9a8c etcd \u7684\u8054\u901a\u6027\uff0c\u6821\u9a8c\u901a\u8fc7\u4e4b\u540e\u53ef\u4ee5\u8fdb\u884c\u4e0b\u4e00\u6b65\u3002

                  • \u5907\u4efd\u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u5907\u4efd\u54ea\u4e2a\u96c6\u7fa4\u7684 etcd \u6570\u636e\uff0c\u5e76\u5728\u7ec8\u7aef\u767b\u5f55
                  • etcd \u5730\u5740\uff1a\u683c\u5f0f\u4e3a https://${\u8282\u70b9IP}:${\u7aef\u53e3\u53f7}

                    • \u5728\u6807\u51c6 Kubernetes \u96c6\u7fa4\u4e2d\uff0cetcd \u7684\u9ed8\u8ba4\u7aef\u53e3\u53f7\u4e3a 2379
                    • \u5728\u516c\u6709\u4e91\u6258\u7ba1\u96c6\u7fa4\u4e2d\uff0c\u9700\u8981\u8054\u7cfb\u76f8\u5173\u5f00\u53d1\u4eba\u5458\u83b7\u53d6 etcd \u7684\u7aef\u53e3\u53f7\u3002 \u8fd9\u662f\u56e0\u4e3a\u516c\u6709\u4e91\u96c6\u7fa4\u7684\u63a7\u5236\u9762\u7ec4\u4ef6\u7531\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u7ef4\u62a4\u548c\u7ba1\u7406\uff0c\u7528\u6237\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee\u6216\u67e5\u770b\u8fd9\u4e9b\u7ec4\u4ef6\uff0c \u4e5f\u65e0\u6cd5\u901a\u8fc7\u5e38\u89c4\u547d\u4ee4\uff08\u5982 kubectl\uff09\u65e0\u6cd5\u83b7\u53d6\u5230\u63a7\u5236\u9762\u7684\u7aef\u53e3\u7b49\u4fe1\u606f\u3002
                    \u83b7\u53d6\u7aef\u53e3\u53f7\u7684\u65b9\u5f0f
                    1. \u5728 kube-system \u547d\u540d\u7a7a\u95f4\u4e0b\u67e5\u627e etcd Pod

                      kubectl get po -n kube-system | grep etcd\n
                    2. \u83b7\u53d6 etcd Pod \u7684 listen-client-urls \u4e2d\u7684\u7aef\u53e3\u53f7

                      kubectl get po -n kube-system ${etcd_pod_name} -oyaml | grep listen-client-urls # (1)!\n
                      1. \u5c06 etcd_pod_name \u66ff\u6362\u4e3a\u5b9e\u9645\u7684 Pod \u540d\u79f0

                      \u9884\u671f\u8f93\u51fa\u7ed3\u679c\u5982\u4e0b\uff0c\u8282\u70b9 IP \u540e\u7684\u6570\u5b57\u5373\u4e3a\u7aef\u53e3\u53f7:

                      - --listen-client-urls=https://127.0.0.1:2379,https://10.6.229.191:2379\n
                  • CA \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                    cat /etc/kubernetes/ssl/etcd/ca.crt\n
                  • Cert \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                    cat /etc/kubernetes/ssl/apiserver-etcd-client.crt\n
                  • Key\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                    cat /etc/kubernetes/ssl/apiserver-etcd-client.key\n

                  Note

                  \u70b9\u51fb\u8f93\u5165\u6846\u4e0b\u65b9\u7684 \u5982\u4f55\u83b7\u53d6 \u53ef\u4ee5\u5728 UI \u9875\u9762\u67e5\u770b\u83b7\u53d6\u5bf9\u5e94\u4fe1\u606f\u7684\u65b9\u5f0f\u3002

                3. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5907\u4efd\u7b56\u7565 \u3002

                  • \u5907\u4efd\u65b9\u5f0f\uff1a\u9009\u62e9\u624b\u52a8\u5907\u4efd\u6216\u5b9a\u65f6\u5907\u4efd

                    • \u624b\u52a8\u5907\u4efd\uff1a\u57fa\u4e8e\u5907\u4efd\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21 etcd \u5168\u91cf\u6570\u636e\u7684\u5907\u4efd\u3002
                    • \u5b9a\u65f6\u5907\u4efd\uff1a\u6309\u7167\u8bbe\u7f6e\u7684\u5907\u4efd\u9891\u7387\u5bf9 etcd \u6570\u636e\u8fdb\u884c\u5468\u671f\u6027\u5168\u91cf\u5907\u4efd\u3002
                  • \u5907\u4efd\u94fe\u957f\u5ea6\uff1a\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5907\u4efd\u6570\u636e\u3002\u9ed8\u8ba4\u4e3a 30 \u6761\u3002

                  • \u5907\u4efd\u9891\u7387\uff1a\u652f\u6301\u5c0f\u65f6\u3001\u65e5\u3001\u5468\u3001\u6708\u7ea7\u522b\u548c\u81ea\u5b9a\u4e49\u65b9\u5f0f\u3002

                4. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5b58\u50a8\u4f4d\u7f6e \u3002

                  • \u5b58\u50a8\u4f9b\u5e94\u5546\uff1a\u9ed8\u8ba4\u9009\u62e9 S3 \u5b58\u50a8
                  • \u5bf9\u8c61\u5b58\u50a8\u8bbf\u95ee\u5730\u5740\uff1aMinIO \u7684\u8bbf\u95ee\u5730\u5740
                  • \u5b58\u50a8\u6876\uff1a\u5728 MinIO \u4e2d\u521b\u5efa\u4e00\u4e2a Bucket\uff0c\u586b\u5199 Bucket \u7684\u540d\u79f0
                  • \u7528\u6237\u540d\uff1aMinIO \u7684\u767b\u5f55\u7528\u6237\u540d
                  • \u5bc6\u7801\uff1aMinIO \u7684\u767b\u5f55\u5bc6\u7801

                5. \u70b9\u51fb \u786e\u5b9a \u540e\u9875\u9762\u81ea\u52a8\u8df3\u8f6c\u5230\u5907\u4efd\u7b56\u7565\u5217\u8868\uff0c\u53ef\u4ee5\u67e5\u770b\u76ee\u524d\u521b\u5efa\u597d\u7684\u6240\u6709\u7b56\u7565\u3002

                  • \u5728\u7b56\u7565\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u3001\u67e5\u770b YAML\u3001\u66f4\u65b0\u7b56\u7565\u3001\u505c\u6b62\u7b56\u7565\u3001\u7acb\u5373\u6267\u884c\u7b56\u7565\u7b49\u3002
                  • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u624b\u52a8\u65f6\uff0c\u53ef\u4ee5\u70b9\u51fb \u7acb\u5373\u6267\u884c \u8fdb\u884c\u5907\u4efd\u3002
                  • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u5b9a\u65f6\u5907\u4efd\u65f6\uff0c\u5219\u4f1a\u6839\u636e\u914d\u7f6e\u7684\u65f6\u95f4\u8fdb\u884c\u5907\u4efd\u3002

                "},{"location":"end-user/kpanda/backup/etcd-backup.html#_2","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u65e5\u5fd7","text":"

                \u70b9\u51fb \u65e5\u5fd7 \u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u5185\u5bb9\uff0c\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u3002\u82e5\u60f3\u67e5\u770b\u66f4\u591a\u65e5\u5fd7\u4fe1\u606f\u6216\u8005\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u53ef\u5728\u65e5\u5fd7\u4e0a\u65b9\u6839\u636e\u63d0\u793a\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u3002

                "},{"location":"end-user/kpanda/backup/etcd-backup.html#_3","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u8be6\u60c5","text":"

                \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u63a5\u7740\u70b9\u51fb\u7b56\u7565\u540d\u79f0\u53ef\u4ee5\u67e5\u770b\u7b56\u7565\u8be6\u60c5\u3002

                "},{"location":"end-user/kpanda/backup/etcd-backup.html#_4","title":"\u67e5\u770b\u5907\u4efd\u70b9","text":"
                1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u70b9 \u9875\u7b7e\u3002
                2. \u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u96c6\u7fa4\u4e0b\u6240\u6709\u5907\u4efd\u4fe1\u606f\u3002

                  \u6bcf\u6267\u884c\u4e00\u6b21\u5907\u4efd\uff0c\u5bf9\u5e94\u751f\u6210\u4e00\u4e2a\u5907\u4efd\u70b9\uff0c\u53ef\u901a\u8fc7\u6210\u529f\u72b6\u6001\u7684\u5907\u4efd\u70b9\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002

                "},{"location":"end-user/kpanda/backup/install-velero.html","title":"\u5b89\u88c5 velero \u63d2\u4ef6","text":"

                velero \u662f\u4e00\u4e2a\u5907\u4efd\u548c\u6062\u590d Kubernetes \u96c6\u7fa4\u8d44\u6e90\u7684\u5f00\u6e90\u5de5\u5177\u3002\u5b83\u53ef\u4ee5\u5c06 Kubernetes \u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u5907\u4efd\u5230\u4e91\u5b58\u50a8\u670d\u52a1\u3001\u672c\u5730\u5b58\u50a8\u6216\u5176\u4ed6\u4f4d\u7f6e\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728\u9700\u8981\u65f6\u5c06\u8fd9\u4e9b\u8d44\u6e90\u6062\u590d\u5230\u540c\u4e00\u6216\u4e0d\u540c\u7684\u96c6\u7fa4\u4e2d\u3002

                \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528 Helm \u5e94\u7528 \u90e8\u7f72 velero \u63d2\u4ef6\u3002

                "},{"location":"end-user/kpanda/backup/install-velero.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                \u5b89\u88c5 velero \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                • \u521b\u5efa velero \u547d\u540d\u7a7a\u95f4\u3002

                • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                "},{"location":"end-user/kpanda/backup/install-velero.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 velero \u63d2\u4ef6\u3002

                1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5 velero \u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u641c\u7d22\u680f\u8f93\u5165 velero \u8fdb\u884c\u641c\u7d22\u3002

                2. \u9605\u8bfb velero \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u5b89\u88c5 4.0.2 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                3. \u586b\u5199\u548c\u914d\u7f6e\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

                  \u57fa\u672c\u53c2\u6570\u53c2\u6570\u914d\u7f6e

                  • \u540d\u79f0\uff1a\u5fc5\u586b\u53c2\u6570\uff0c\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09,\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
                  • \u547d\u540d\u7a7a\u95f4\uff1a\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a velero \u547d\u540d\u7a7a\u95f4\u3002
                  • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u3002
                  • \u5c31\u7eea\u7b49\u5f85\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                  • \u5931\u8d25\u5220\u9664\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
                  • \u8be6\u60c5\u65e5\u5fd7\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\u5c06\u8f93\u51fa\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                  Note

                  \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                  • S3 Credentials\uff1a

                    • Use secret \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true \u3002
                    • Secret name \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e velero-s3-credential \u3002
                    • SecretContents.aws_access_key_id = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u7528\u6237\u540d\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002
                    • SecretContents.aws_secret_access_key = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u5bc6\u7801\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002

                      config \"SecretContents \u6837\u4f8b\" [default] aws_access_key_id = minio aws_secret_access_key = minio123

                    • Velero Configuration\uff1a

                      • Backupstoragelocation \uff1avelero \u5907\u4efd\u6570\u636e\u5b58\u50a8\u7684\u4f4d\u7f6e
                      • S3 bucket \uff1a\u7528\u4e8e\u4fdd\u5b58\u5907\u4efd\u6570\u636e\u7684\u5b58\u50a8\u6876\u540d\u79f0(\u9700\u4e3a minio \u5df2\u7ecf\u5b58\u5728\u7684\u771f\u5b9e\u5b58\u50a8\u6876)
                      • Is default BackupStorage \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
                      • S3 access mode \uff1avelero \u5bf9\u6570\u636e\u7684\u8bbf\u95ee\u6a21\u5f0f\uff0c\u53ef\u4ee5\u9009\u62e9
                        • ReadWrite \uff1a\u5141\u8bb8 velero \u8bfb\u5199\u5907\u4efd\u6570\u636e
                        • ReadOnly \uff1a\u5141\u8bb8 velero \u8bfb\u53d6\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u4fee\u6539\u5907\u4efd\u6570\u636e
                        • WriteOnly \uff1a\u53ea\u5141\u8bb8 velero \u5199\u5165\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u8bfb\u53d6\u5907\u4efd\u6570\u636e
                      • S3 Configs \uff1aS3 \u5b58\u50a8\uff08minio\uff09\u7684\u8be6\u7ec6\u914d\u7f6e
                      • S3 region \uff1a\u4e91\u5b58\u50a8\u7684\u5730\u7406\u533a\u57df\u3002\u9ed8\u8ba4\u4f7f\u7528 us-east-1 \u53c2\u6570\uff0c\u7531\u7cfb\u7edf\u7ba1\u7406\u5458\u63d0\u4f9b
                      • S3 force path style \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
                      • S3 server URL \uff1a\u5bf9\u8c61\u5b58\u50a8\uff08minio\uff09\u7684\u63a7\u5236\u53f0\u8bbf\u95ee\u5730\u5740\uff0cminio \u4e00\u822c\u63d0\u4f9b\u4e86 UI \u8bbf\u95ee\u548c\u63a7\u5236\u53f0\u8bbf\u95ee\u4e24\u4e2a\u670d\u52a1\uff0c\u6b64\u5904\u8bf7\u4f7f\u7528\u63a7\u5236\u53f0\u8bbf\u95ee\u7684\u5730\u5740

                      Note

                      \u8bf7\u786e\u4fdd s3 \u5b58\u50a8\u670d\u52a1\u65f6\u95f4\u8ddf\u5907\u4efd\u8fd8\u539f\u96c6\u7fa4\u65f6\u95f4\u5dee\u572810\u5206\u949f\u4ee5\u5185\uff0c\u6700\u597d\u662f\u65f6\u95f4\u4fdd\u6301\u540c\u6b65\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u6267\u884c\u5907\u4efd\u64cd\u4f5c\u3002

                    • migration plugin configuration\uff1a\u542f\u7528\u4e4b\u540e\uff0c\u5c06\u5728\u4e0b\u4e00\u6b65\u7684 YAML \u4ee3\u7801\u6bb5\u4e2d\u65b0\u589e\uff1a

                      ...\ninitContainers:\n  - image: 'release.daocloud.io/kcoral/velero-plugin-for-migration:v0.3.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-migration\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-csi:v0.7.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-csi\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-aws:v1.9.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-aws\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n...\n
                    • \u786e\u8ba4 YAML \u65e0\u8bef\u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 velero \u63d2\u4ef6\u7684\u5b89\u88c5\u3002 \u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c\u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                    • "},{"location":"end-user/kpanda/clusterops/cluster-oversold.html","title":"\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356","text":"

                      \u76ee\u524d\uff0c\u8bb8\u591a\u4e1a\u52a1\u5b58\u5728\u5cf0\u503c\u548c\u4f4e\u8c37\u7684\u73b0\u8c61\u3002\u4e3a\u4e86\u786e\u4fdd\u670d\u52a1\u7684\u6027\u80fd\u548c\u7a33\u5b9a\u6027\uff0c\u5728\u90e8\u7f72\u670d\u52a1\u65f6\uff0c\u901a\u5e38\u4f1a\u6839\u636e\u5cf0\u503c\u9700\u6c42\u6765\u7533\u8bf7\u8d44\u6e90\u3002 \u7136\u800c\uff0c\u5cf0\u503c\u671f\u53ef\u80fd\u975e\u5e38\u77ed\u6682\uff0c\u5bfc\u81f4\u5728\u975e\u5cf0\u503c\u671f\u65f6\u8d44\u6e90\u88ab\u6d6a\u8d39\u3002 \u96c6\u7fa4\u8d44\u6e90\u8d85\u5356 \u5c31\u662f\u5c06\u8fd9\u4e9b\u7533\u8bf7\u4e86\u800c\u672a\u4f7f\u7528\u7684\u8d44\u6e90\uff08\u5373\u7533\u8bf7\u91cf\u4e0e\u4f7f\u7528\u91cf\u7684\u5dee\u503c\uff09\u5229\u7528\u8d77\u6765\uff0c\u4ece\u800c\u63d0\u5347\u96c6\u7fa4\u8d44\u6e90\u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u6d6a\u8d39\u3002

                      \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u529f\u80fd\u3002

                      "},{"location":"end-user/kpanda/clusterops/cluster-oversold.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                      • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 Cluster Admin \uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u6388\u6743\u3002
                      "},{"location":"end-user/kpanda/clusterops/cluster-oversold.html#_3","title":"\u5f00\u542f\u96c6\u7fa4\u8d85\u5356","text":"
                      1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762

                      2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e \uff0c\u7136\u540e\u9009\u62e9 \u9ad8\u7ea7\u914d\u7f6e \u9875\u7b7e

                      3. \u6253\u5f00\u96c6\u7fa4\u8d85\u5356\uff0c\u8bbe\u7f6e\u8d85\u5356\u6bd4

                        • \u82e5\u672a\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u70b9\u51fb \u7acb\u5373\u5b89\u88c5 \u6309\u94ae\uff0c\u5b89\u88c5\u6d41\u7a0b\u53c2\u8003\u7ba1\u7406 Helm \u5e94\u7528
                        • \u82e5\u5df2\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u6253\u5f00\u96c6\u7fa4\u8d85\u5356\u5f00\u5173\uff0c\u5219\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356\u529f\u80fd\u3002

                        Note

                        \u9700\u8981\u5728\u96c6\u7fa4\u4e0b\u5bf9\u5e94\u7684 namespace \u6253\u4e0a\u5982\u4e0b\u6807\u7b7e\uff0c\u96c6\u7fa4\u8d85\u5356\u7b56\u7565\u624d\u80fd\u751f\u6548\u3002

                        clusterresourceoverrides.admission.autoscaling.openshift.io/enabled: \"true\"\n

                      "},{"location":"end-user/kpanda/clusterops/cluster-oversold.html#_4","title":"\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356","text":"

                      \u8bbe\u7f6e\u597d\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u6bd4\u540e\uff0c\u4f1a\u5728\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u65f6\u751f\u6548\u3002\u4e0b\u6587\u4ee5 niginx \u4e3a\u4f8b\uff0c\u9a8c\u8bc1\u4f7f\u7528\u8d44\u6e90\u8d85\u5356\u80fd\u529b\u3002

                      1. \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d nginx \u5e76\u8bbe\u7f6e\u5bf9\u5e94\u7684\u8d44\u6e90\u9650\u5236\u503c\uff0c\u521b\u5efa\u6d41\u7a0b\u53c2\u8003\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09

                      2. \u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u8d44\u6e90\u7533\u8bf7\u503c\u4e0e\u9650\u5236\u503c\u7684\u6bd4\u503c\u662f\u5426\u7b26\u5408\u8d85\u552e\u6bd4

                      "},{"location":"end-user/kpanda/clusterops/cluster-settings.html","title":"\u96c6\u7fa4\u8bbe\u7f6e","text":"

                      \u96c6\u7fa4\u8bbe\u7f6e\u7528\u4e8e\u4e3a\u60a8\u7684\u96c6\u7fa4\u81ea\u5b9a\u4e49\u9ad8\u7ea7\u7279\u6027\u8bbe\u7f6e\uff0c\u5305\u62ec\u662f\u5426\u542f\u7528 GPU\u3001Helm \u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001Helm \u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u7b49\u3002

                      • \u542f\u7528 GPU\uff1a\u9700\u8981\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU \u5361\u53ca\u5bf9\u5e94\u9a71\u52a8\u63d2\u4ef6\u3002

                        \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \u3002

                      • Helm \u64cd\u4f5c\u57fa\u7840\u955c\u50cf\u3001\u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001\u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\u3001\u662f\u5426\u5f00\u542f\u96c6\u7fa4\u5220\u9664\u4fdd\u62a4\uff08\u5f00\u542f\u540e\u96c6\u7fa4\u5c06\u4e0d\u80fd\u76f4\u63a5\u5378\u8f7d\uff09

                      "},{"location":"end-user/kpanda/clusterops/latest-operations.html","title":"\u6700\u8fd1\u64cd\u4f5c","text":"

                      \u5728\u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u6700\u8fd1\u7684\u96c6\u7fa4\u64cd\u4f5c\u8bb0\u5f55\u548c Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u4ee5\u53ca\u5404\u9879\u64cd\u4f5c\u7684 YAML \u6587\u4ef6\u548c\u65e5\u5fd7\uff0c\u4e5f\u53ef\u4ee5\u5220\u9664\u67d0\u4e00\u6761\u8bb0\u5f55\u3002

                      \u8bbe\u7f6e Helm \u64cd\u4f5c\u7684\u4fdd\u7559\u6761\u6570\uff1a

                      \u7cfb\u7edf\u9ed8\u8ba4\u4fdd\u7559\u6700\u8fd1 100 \u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\u3002\u82e5\u4fdd\u7559\u6761\u6570\u592a\u591a\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u6570\u636e\u5197\u4f59\uff0c\u4fdd\u7559\u6761\u6570\u592a\u5c11\u53ef\u80fd\u4f1a\u9020\u6210\u60a8\u6240\u9700\u8981\u7684\u5173\u952e\u64cd\u4f5c\u8bb0\u5f55\u7684\u7f3a\u5931\u3002\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8bbe\u7f6e\u5408\u7406\u7684\u4fdd\u7559\u6570\u91cf\u3002\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a

                      1. \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> Helm \u64cd\u4f5c -> \u8bbe\u7f6e\u4fdd\u7559\u6761\u6570 \u3002

                      2. \u8bbe\u7f6e\u9700\u8981\u4fdd\u7559\u591a\u5c11\u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                      "},{"location":"end-user/kpanda/clusters/access-cluster.html","title":"\u8bbf\u95ee\u96c6\u7fa4","text":"

                      \u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u76f4\u63a5\u8bbf\u95ee\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5176\u4ed6\u4e24\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bbf\u95ee\u63a7\u5236\uff1a

                      • \u901a\u8fc7 CloudShell \u5728\u7ebf\u8bbf\u95ee
                      • \u4e0b\u8f7d\u96c6\u7fa4\u8bc1\u4e66\u540e\u901a\u8fc7 kubectl \u8fdb\u884c\u8bbf\u95ee

                      Note

                      \u8bbf\u95ee\u96c6\u7fa4\u65f6\uff0c\u7528\u6237\u5e94\u5177\u6709 Cluster Admin \u6743\u9650\u6216\u66f4\u9ad8\u6743\u9650\u3002

                      "},{"location":"end-user/kpanda/clusters/access-cluster.html#cloudshell","title":"\u901a\u8fc7 CloudShell \u8bbf\u95ee","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u901a\u8fc7 CloudShell \u8bbf\u95ee\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u63a7\u5236\u53f0 \u3002

                      2. \u5728 CloudShell \u63a7\u5236\u53f0\u6267\u884c kubectl get node \u547d\u4ee4\uff0c\u9a8c\u8bc1 CloudShell \u4e0e\u96c6\u7fa4\u7684\u8fde\u901a\u6027\u3002\u5982\u56fe\uff0c\u63a7\u5236\u53f0\u5c06\u8fd4\u56de\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u4fe1\u606f\u3002

                      \u73b0\u5728\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 CloudShell \u6765\u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

                      "},{"location":"end-user/kpanda/clusters/access-cluster.html#kubectl","title":"\u901a\u8fc7 kubectl \u8bbf\u95ee","text":"

                      \u901a\u8fc7\u672c\u5730\u8282\u70b9\u8bbf\u95ee\u5e76\u7ba1\u7406\u4e91\u7aef\u96c6\u7fa4\u65f6\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\uff1a

                      • \u672c\u5730\u8282\u70b9\u548c\u4e91\u7aef\u96c6\u7fa4\u7684\u7f51\u7edc\u4e92\u8054\u4e92\u901a\u3002
                      • \u5df2\u7ecf\u5c06\u96c6\u7fa4\u8bc1\u4e66\u4e0b\u8f7d\u5230\u4e86\u672c\u5730\u8282\u70b9\u3002
                      • \u672c\u5730\u8282\u70b9\u5df2\u7ecf\u5b89\u88c5\u4e86 kubectl \u5de5\u5177\u3002\u5173\u4e8e\u8be6\u7ec6\u7684\u5b89\u88c5\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605\u5b89\u88c5 kubectl\u3002

                      \u6ee1\u8db3\u4e0a\u8ff0\u6761\u4ef6\u540e\uff0c\u6309\u7167\u4e0b\u65b9\u6b65\u9aa4\u4ece\u672c\u5730\u8bbf\u95ee\u4e91\u7aef\u96c6\u7fa4\uff1a

                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u4e0b\u8f7d\u8bc1\u4e66\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u5e76\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u8bc1\u4e66\u83b7\u53d6 \u3002

                      2. \u9009\u62e9\u8bc1\u4e66\u6709\u6548\u671f\u5e76\u70b9\u51fb \u4e0b\u8f7d\u8bc1\u4e66 \u3002

                      3. \u6253\u5f00\u4e0b\u8f7d\u597d\u7684\u96c6\u7fa4\u8bc1\u4e66\uff0c\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u81f3\u672c\u5730\u8282\u70b9\u7684 config \u6587\u4ef6\u3002

                        kubectl \u5de5\u5177\u9ed8\u8ba4\u4f1a\u4ece\u672c\u5730\u8282\u70b9\u7684 $HOME/.kube \u76ee\u5f55\u4e0b\u67e5\u627e\u540d\u4e3a config \u7684\u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u5b58\u50a8\u4e86\u76f8\u5173\u96c6\u7fa4\u7684\u8bbf\u95ee\u51ed\u8bc1\uff0ckubectl \u53ef\u4ee5\u51ed\u8be5\u914d\u7f6e\u6587\u4ef6\u8fde\u63a5\u81f3\u96c6\u7fa4\u3002

                      4. \u5728\u672c\u5730\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u9a8c\u8bc1\u96c6\u7fa4\u7684\u8fde\u901a\u6027\uff1a

                        kubectl get pod -n default\n

                        \u9884\u671f\u7684\u8f93\u51fa\u7c7b\u4f3c\u4e8e:

                        NAME                            READY   STATUS      RESTARTS    AGE\ndao-2048-2048-58c7f7fc5-mq7h4   1/1     Running     0           30h\n

                      \u73b0\u5728\u60a8\u53ef\u4ee5\u5728\u672c\u5730\u901a\u8fc7 kubectl \u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

                      "},{"location":"end-user/kpanda/clusters/cluster-role.html","title":"\u96c6\u7fa4\u89d2\u8272","text":"

                      \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u57fa\u4e8e\u96c6\u7fa4\u7684\u4e0d\u540c\u529f\u80fd\u5b9a\u4f4d\u5bf9\u96c6\u7fa4\u8fdb\u884c\u4e86\u89d2\u8272\u5206\u7c7b\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u7ba1\u7406 IT \u57fa\u7840\u8bbe\u65bd\u3002

                      "},{"location":"end-user/kpanda/clusters/cluster-role.html#_2","title":"\u5168\u5c40\u670d\u52a1\u96c6\u7fa4","text":"

                      \u6b64\u96c6\u7fa4\u7528\u4e8e\u8fd0\u884c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7ec4\u4ef6\uff0c\u4f8b\u5982\u5bb9\u5668\u7ba1\u7406\u3001\u5168\u5c40\u7ba1\u7406\u3001\u53ef\u89c2\u6d4b\u6027\u3001\u955c\u50cf\u4ed3\u5e93\u7b49\u3002 \u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

                      \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"end-user/kpanda/clusters/cluster-role.html#_3","title":"\u7ba1\u7406\u96c6\u7fa4","text":"

                      \u6b64\u96c6\u7fa4\u7528\u4e8e\u7ba1\u7406\u5de5\u4f5c\u96c6\u7fa4\uff0c\u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

                      • \u7ecf\u5178\u6a21\u5f0f\u5c06\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u548c\u7ba1\u7406\u96c6\u7fa4\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u96c6\u7fa4\uff0c\u9002\u7528\u4e8e\u4f01\u4e1a\u591a\u6570\u636e\u4e2d\u5fc3\u3001\u591a\u67b6\u6784\u7684\u573a\u666f\u3002
                      • \u7b80\u7ea6\u6a21\u5f0f\u5c06\u7ba1\u7406\u96c6\u7fa4\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u90e8\u7f72\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u3002
                      \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"end-user/kpanda/clusters/cluster-role.html#_4","title":"\u5de5\u4f5c\u96c6\u7fa4","text":"

                      \u8fd9\u662f\u4f7f\u7528\u5bb9\u5668\u7ba1\u7406\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e3b\u8981\u7528\u4e8e\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002\u8be5\u96c6\u7fa4\u7531\u7ba1\u7406\u96c6\u7fa4\u8fdb\u884c\u7ba1\u7406\u3002

                      \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c \u652f\u6301 K8s 1.22 \u53ca\u4ee5\u4e0a\u7248\u672c \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"end-user/kpanda/clusters/cluster-role.html#_5","title":"\u63a5\u5165\u96c6\u7fa4","text":"

                      \u6b64\u96c6\u7fa4\u7528\u4e8e\u63a5\u5165\u5df2\u6709\u7684\u6807\u51c6 K8s \u96c6\u7fa4\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u672c\u5730\u6570\u636e\u4e2d\u5fc3\u81ea\u5efa\u96c6\u7fa4\u3001\u516c\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u79c1\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u8fb9\u7f18\u96c6\u7fa4\u3001\u4fe1\u521b\u96c6\u7fa4\u3001\u5f02\u6784\u96c6\u7fa4\u3002\u4e3b\u8981\u7528\u4e8e\u627f\u62c5\u4e1a\u52a1\u8d1f\u8f7d\u3002

                      \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.18+ \u652f\u6301\u53cb\u5546 Vmware Tanzu\u3001Amazon EKS\u3001Redhat Openshift\u3001SUSE Rancher\u3001\u963f\u91cc ACK\u3001\u534e\u4e3a CCE\u3001\u817e\u8baf TKE\u3001\u6807\u51c6 K8s \u96c6\u7fa4\u3001\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u4e0d\u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc \u4f9d\u8d56\u4e8e\u63a5\u5165\u96c6\u7fa4\u53d1\u884c\u7248\u7f51\u7edc\u6a21\u5f0f \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565

                      Note

                      \u4e00\u4e2a\u96c6\u7fa4\u53ef\u4ee5\u6709\u591a\u4e2a\u96c6\u7fa4\u89d2\u8272\uff0c\u4f8b\u5982\u4e00\u4e2a\u96c6\u7fa4\u65e2\u53ef\u4ee5\u662f\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\uff0c\u4e5f\u53ef\u4ee5\u662f\u7ba1\u7406\u96c6\u7fa4\u6216\u5de5\u4f5c\u96c6\u7fa4\u3002

                      "},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html","title":"\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u8c03\u5ea6\u5668 scheduler-plugins","text":"

                      \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u4e2a\u8c03\u5ea6\u5668 scheduler-plugins\u3002

                      "},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_1","title":"\u4e3a\u4ec0\u4e48\u9700\u8981 scheduler-plugins\uff1f","text":"

                      \u901a\u8fc7\u5e73\u53f0\u521b\u5efa\u7684\u96c6\u7fa4\u4e2d\u4f1a\u5b89\u88c5 K8s \u539f\u751f\u7684\u8c03\u5ea6\u5668\uff0c\u4f46\u662f\u539f\u751f\u7684\u8c03\u5ea6\u5668\u5b58\u5728\u5f88\u591a\u7684\u5c40\u9650\u6027\uff1a

                      • \u539f\u751f\u7684\u8c03\u5ea6\u5668\u65e0\u6cd5\u6ee1\u8db3\u8c03\u5ea6\u9700\u6c42\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528 CoScheduling\u3001 CapacityScheduling \u7b49 scheduler-plugins \u63d2\u4ef6\u3002
                      • \u5728\u7279\u6b8a\u7684\u573a\u666f\uff0c\u9700\u8981\u65b0\u7684\u8c03\u5ea6\u5668\u6765\u5b8c\u6210\u8c03\u5ea6\u4efb\u52a1\u800c\u4e0d\u5f71\u54cd\u539f\u751f\u8c03\u5ea6\u5668\u7684\u6d41\u7a0b\u3002
                      • \u533a\u5206\u4e0d\u540c\u529f\u80fd\u7684\u8c03\u5ea6\u5668\uff0c\u901a\u8fc7\u5207\u6362\u8c03\u5ea6\u5668\u540d\u79f0\u6765\u5b9e\u73b0\u4e0d\u540c\u7684\u8c03\u5ea6\u573a\u666f\u3002

                      \u672c\u6587\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u7684\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u5e76\u4f7f\u7528 scheduler-plugins\u3002

                      "},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_2","title":"\u5b89\u88c5 scheduler-plugins","text":""},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                      • kubean \u662f\u5728 v0.13.0 \u7248\u672c\u63a8\u51fa\u7684\u65b0\u529f\u80fd\uff0c\u9009\u62e9\u7ba1\u7406\u96c6\u7fa4\u65f6\u8bf7\u786e\u4fdd\u7248\u672c\u4e0d\u4f4e\u4e8e\u6b64\u7248\u672c\u3002
                      • \u5b89\u88c5 scheduler-plugins \u7248\u672c\u4e3a v0.27.8\uff0c\u8bf7\u786e\u4fdd\u96c6\u7fa4\u7248\u672c\u662f\u5426\u4e0e\u5b83\u517c\u5bb9\u3002 \u53c2\u8003\u6587\u6863 Compatibility Matrix\u3002
                      "},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html#_2","title":"\u5b89\u88c5\u6d41\u7a0b","text":"
                      1. \u5728 \u521b\u5efa\u96c6\u7fa4 -> \u9ad8\u7ea7\u914d\u7f6e -> \u81ea\u5b9a\u4e49\u53c2\u6570 \u4e2d\u6dfb\u52a0 scheduler-plugins \u53c2\u6570

                        scheduler_plugins_enabled:true\nscheduler_plugins_plugin_config:\n  - name: Coscheduling\n    args:\n      permitWaitingTimeSeconds: 10 # default is 60\n

                        \u53c2\u6570\u8bf4\u660e\uff1a

                        • scheduler_plugins_enabled \u8bbe\u7f6e\u4e3a true \u65f6\uff0c\u5f00\u542f scheduler-plugins \u63d2\u4ef6\u80fd\u529b\u3002
                        • \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e scheduler_plugins_enabled_plugins \u6216 scheduler_plugins_disabled_plugins \u9009\u9879\u6765\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u63d2\u4ef6\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u540d\u79f0\u3002
                        • \u5982\u679c\u9700\u8981\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u63d2\u4ef6\u7684\u53c2\u6570\u8bf7\u914d\u7f6e scheduler_plugins_plugin_config\uff0c\u4f8b\u5982\uff1a\u8bbe\u7f6e coscheduling \u7684 permitWaitingTimeoutSeconds \u53c2\u6570\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u914d\u7f6e\u9879
                      2. \u96c6\u7fa4\u521b\u5efa\u6210\u529f\u540e\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5b89\u88c5 scheduler-plugins \u548c controller \u7ec4\u4ef6\u8d1f\u8f7d\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u96c6\u7fa4\u7684\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e2d\u67e5\u770b\u8d1f\u8f7d\u72b6\u6001\u3002

                      "},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_3","title":"\u4f7f\u7528 scheduler-plugins","text":"

                      \u4ee5\u4e0b\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 scheduler-plugins\u3002

                      1. \u5728 Helm \u6a21\u677f\u4e2d\u5b89\u88c5 vgpu\uff0c\u8bbe\u7f6e values.yaml \u53c2\u6570\u3002

                        • schedulerName: scheduler-plugins-scheduler\uff0c\u8fd9\u662f kubean \u9ed8\u8ba4\u5b89\u88c5\u7684 scheduler-plugins \u7684 scheduler \u540d\u79f0\uff0c\u76ee\u524d\u4e0d\u80fd\u4fee\u6539\u3002
                        • scheduler.kubeScheduler.enabled: false\uff0c\u4e0d\u5b89\u88c5 kube-scheduler\uff0c\u5c06 vgpu-scheduler \u4f5c\u4e3a\u5355\u72ec\u7684 extender\u3002
                      2. \u5728 scheduler-plugins \u4e0a\u6269\u5c55 vgpu-scheduler\u3002

                        [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
                        apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\n

                        \u4fee\u6539 scheduler-plugins \u7684 scheduler-config \u7684 configmap \u53c2\u6570\uff0c\u5982\u4e0b\uff1a

                        [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
                        apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\nextenders:\n  - urlPrefix: \"${urlPrefix}\"\n    filterVerb: filter\n    bindVerb: bind\n    nodeCacheCapable: true\n    ignorable: true\n    httpTimeout: 30s\n    weight: 1\n    enableHTTPS: true\n    tlsConfig:\n      insecure: true\n    managedResources:\n      - name: nvidia.com/vgpu\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem\n        ignoredByScheduler: true\n      - name: nvidia.com/gpucores\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem-percentage\n        ignoredByScheduler: true\n      - name: nvidia.com/priority\n        ignoredByScheduler: true\n      - name: cambricon.com/mlunum\n        ignoredByScheduler: true\n
                      3. \u5b89\u88c5\u5b8c vgpu-scheduler \u540e\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa svc\uff0curlPrefix \u6307\u5b9a svc \u7684 URL\u3002

                        Note

                        • svc \u6307 pod \u670d\u52a1\u8d1f\u8f7d\uff0c\u60a8\u53ef\u4ee5\u5230\u5b89\u88c5\u4e86 nvidia-vgpu \u63d2\u4ef6\u7684\u547d\u540d\u7a7a\u95f4\u4e0b\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u62ff\u5230 443 \u7aef\u53e3\u5bf9\u5e94\u7684\u5916\u90e8\u8bbf\u95ee\u4fe1\u606f\u3002

                          kubectl get svc -n ${namespace} \n
                        • urlprifix \u683c\u5f0f\u4e3a https://${ip \u5730\u5740}:${\u7aef\u53e3}

                      4. \u5c06 scheduler-plugins \u7684 scheduler Pod \u91cd\u542f\uff0c\u52a0\u8f7d\u65b0\u7684\u914d\u7f6e\u6587\u4ef6\u3002

                        Note

                        \u5728\u521b\u5efa vgpu \u5e94\u7528\u65f6\u4e0d\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u540d\u79f0\uff0cvgpu-scheduler \u7684 Webhook \u4f1a\u81ea\u52a8\u5c06 Scheduler \u7684\u540d\u79f0\u4fee\u6539\u4e3a scheduler-plugins-scheduler\uff0c\u4e0d\u7528\u624b\u52a8\u6307\u5b9a\u3002

                      "},{"location":"end-user/kpanda/clusters/cluster-status.html","title":"\u96c6\u7fa4\u72b6\u6001","text":"

                      \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u7eb3\u7ba1\u4e24\u79cd\u7c7b\u578b\u7684\u96c6\u7fa4\uff1a\u63a5\u5165\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u3002 \u5173\u4e8e\u96c6\u7fa4\u7eb3\u7ba1\u7c7b\u578b\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1\u96c6\u7fa4\u89d2\u8272\u3002

                      \u8fd9\u4e24\u79cd\u96c6\u7fa4\u7684\u72b6\u6001\u5982\u4e0b\u6240\u8ff0\u3002

                      "},{"location":"end-user/kpanda/clusters/cluster-status.html#_2","title":"\u63a5\u5165\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u63a5\u5165\u4e2d\uff08Joining\uff09 \u96c6\u7fa4\u6b63\u5728\u63a5\u5165 \u89e3\u9664\u63a5\u5165\u4e2d\uff08Removing\uff09 \u96c6\u7fa4\u6b63\u5728\u89e3\u9664\u63a5\u5165 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002"},{"location":"end-user/kpanda/clusters/cluster-status.html#_3","title":"\u81ea\u5efa\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u521b\u5efa\u4e2d\uff08Creating\uff09 \u96c6\u7fa4\u6b63\u5728\u521b\u5efa \u66f4\u65b0\u4e2d\uff08Updating\uff09 \u66f4\u65b0\u96c6\u7fa4 Kubernetes \u7248\u672c \u5220\u9664\u4e2d\uff08Deleting\uff09 \u96c6\u7fa4\u6b63\u5728\u5220\u9664 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002 \u521b\u5efa\u5931\u8d25\uff08Failed\uff09 \u96c6\u7fa4\u521b\u5efa\u5931\u8d25\uff0c\u8bf7\u67e5\u770b\u65e5\u5fd7\u4ee5\u83b7\u53d6\u8be6\u7ec6\u5931\u8d25\u539f\u56e0"},{"location":"end-user/kpanda/clusters/cluster-version.html","title":"\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4","text":"

                      \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c\u63a5\u5165\u578b\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u91c7\u53d6\u4e0d\u540c\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

                      \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u81ea\u5efa\u96c6\u7fa4\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

                      Kubernetes \u793e\u533a\u652f\u6301 3 \u4e2a\u7248\u672c\u8303\u56f4\uff0c\u5982 1.26\u30011.27\u30011.28\u3002\u5f53\u793e\u533a\u65b0\u7248\u672c\u53d1\u5e03\u4e4b\u540e\uff0c\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u5c06\u4f1a\u8fdb\u884c\u9012\u589e\u3002 \u5982\u793e\u533a\u6700\u65b0\u7684 1.29 \u7248\u672c\u5df2\u7ecf\u53d1\u5e03\uff0c\u6b64\u65f6\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.27\u30011.28\u30011.29\u3002

                      \u4f8b\u5982\uff0c\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.25\u30011.26\u30011.27\uff0c\u5219\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u662f 1.24\u30011.25\u30011.26\uff0c\u5e76\u4e14\u4f1a\u4e3a\u7528\u6237\u63a8\u8350\u4e00\u4e2a\u7a33\u5b9a\u7684\u7248\u672c\uff0c\u5982 1.24.7\u3002

                      \u9664\u6b64\u4e4b\u5916\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e0e\u793e\u533a\u4fdd\u6301\u9ad8\u5ea6\u540c\u6b65\uff0c\u5f53\u793e\u533a\u7248\u672c\u8fdb\u884c\u9012\u589e\u540e\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e5f\u4f1a\u540c\u6b65\u9012\u589e\u4e00\u4e2a\u7248\u672c\u3002

                      "},{"location":"end-user/kpanda/clusters/cluster-version.html#kubernetes","title":"Kubernetes \u7248\u672c\u652f\u6301\u8303\u56f4","text":"Kubernetes \u793e\u533a\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u63a8\u8350\u7248\u672c \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5b89\u88c5\u5668 \u53d1\u5e03\u65f6\u95f4
                      • 1.26
                      • 1.27
                      • 1.28
                      • 1.25
                      • 1.26
                      • 1.27
                      1.27.5 v0.13.0 2023.11.30"},{"location":"end-user/kpanda/clusters/create-cluster.html","title":"\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4","text":"

                      \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u96c6\u7fa4\u89d2\u8272\u5206\u56db\u7c7b\uff1a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3001\u7ba1\u7406\u96c6\u7fa4\u3001\u5de5\u4f5c\u96c6\u7fa4\u3001\u63a5\u5165\u96c6\u7fa4\u3002 \u5176\u4e2d\uff0c\u63a5\u5165\u96c6\u7fa4\u53ea\u80fd\u4ece\u7b2c\u4e09\u65b9\u5382\u5546\u63a5\u5165\uff0c\u53c2\u89c1\u63a5\u5165\u96c6\u7fa4\u3002

                      \u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u65b0\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u9700\u8981\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4fdd\u6301\u4e00\u81f4\u3002 \u5982\u9700\u4f7f\u7528\u533a\u522b\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 OS \u6216\u67b6\u6784\u7684\u8282\u70b9\u521b\u5efa\u96c6\u7fa4\uff0c\u53c2\u9605\u5728 centos \u7ba1\u7406\u5e73\u53f0\u4e0a\u521b\u5efa ubuntu \u5de5\u4f5c\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

                      \u63a8\u8350\u4f7f\u7528 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684\u64cd\u4f5c\u7cfb\u7edf\u6765\u521b\u5efa\u96c6\u7fa4\u3002 \u5982\u60a8\u672c\u5730\u8282\u70b9\u4e0d\u5728\u4e0a\u8ff0\u652f\u6301\u8303\u56f4\uff0c\u53ef\u53c2\u8003\u5728\u975e\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u521b\u5efa\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

                      "},{"location":"end-user/kpanda/clusters/create-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                      \u521b\u5efa\u96c6\u7fa4\u4e4b\u524d\u9700\u8981\u6ee1\u8db3\u4e00\u5b9a\u7684\u524d\u63d0\u6761\u4ef6\uff1a

                      • \u6839\u636e\u4e1a\u52a1\u9700\u6c42\u51c6\u5907\u4e00\u5b9a\u6570\u91cf\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u4e00\u81f4\u3002
                      • \u63a8\u8350 Kubernetes \u7248\u672c 1.29.5\uff0c\u5177\u4f53\u7248\u672c\u8303\u56f4\uff0c\u53c2\u9605 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u96c6\u7fa4\u7248\u672c\u652f\u6301\u4f53\u7cfb\uff0c \u76ee\u524d\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4\u5728 v1.28.0-v1.30.2\u3002\u5982\u9700\u521b\u5efa\u4f4e\u7248\u672c\u7684\u96c6\u7fa4\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4\u3001\u90e8\u7f72\u4e0e\u5347\u7ea7 Kubean \u5411\u4e0b\u517c\u5bb9\u7248\u672c\u3002
                      • \u76ee\u6807\u4e3b\u673a\u9700\u8981\u5141\u8bb8 IPv4 \u8f6c\u53d1\u3002\u5982\u679c Pod \u548c Service \u4f7f\u7528\u7684\u662f IPv6\uff0c\u5219\u76ee\u6807\u670d\u52a1\u5668\u9700\u8981\u5141\u8bb8 IPv6 \u8f6c\u53d1\u3002
                      • \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u6682\u4e0d\u63d0\u4f9b\u5bf9\u9632\u706b\u5899\u7684\u7ba1\u7406\u529f\u80fd\uff0c\u60a8\u9700\u8981\u9884\u5148\u81ea\u884c\u5b9a\u4e49\u76ee\u6807\u4e3b\u673a\u9632\u706b\u5899\u89c4\u5219\u3002\u4e3a\u4e86\u907f\u514d\u521b\u5efa\u96c6\u7fa4\u7684\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u95ee\u9898\uff0c\u5efa\u8bae\u7981\u7528\u76ee\u6807\u4e3b\u673a\u7684\u9632\u706b\u5899\u3002
                      • \u53c2\u9605\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5\u3002
                      "},{"location":"end-user/kpanda/clusters/create-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u4e2d\uff0c\u70b9\u51fb \u521b\u5efa\u96c6\u7fa4 \u6309\u94ae\u3002

                      2. \u53c2\u8003\u4e0b\u5217\u8981\u6c42\u586b\u5199\u96c6\u7fa4\u57fa\u672c\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                        • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u53ea\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08\"-\"\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u8005\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002
                        • \u88ab\u7eb3\u7ba1\uff1a\u9009\u62e9\u7531\u54ea\u4e2a\u96c6\u7fa4\u6765\u7ba1\u7406\u6b64\u96c6\u7fa4\uff0c\u4f8b\u5982\u5728\u96c6\u7fa4\u751f\u547d\u5468\u671f\u4e2d\u521b\u5efa\u3001\u5347\u7ea7\u3001\u8282\u70b9\u6269\u7f29\u5bb9\u3001\u5220\u9664\u96c6\u7fa4\u7b49\u3002
                        • \u8fd0\u884c\u65f6\uff1a\u9009\u62e9\u96c6\u7fa4\u7684\u8fd0\u884c\u65f6\u73af\u5883\uff0c\u76ee\u524d\u652f\u6301 containerd \u548c docker\uff0c\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6\u3002
                        • Kubernetes \u7248\u672c\uff1a\u652f\u6301 3 \u4e2a\u7248\u672c\u8de8\u5ea6\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u88ab\u7eb3\u7ba1\u96c6\u7fa4\u6240\u652f\u6301\u7684\u7248\u672c\u3002

                      3. \u586b\u5199\u8282\u70b9\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                        • \u9ad8\u53ef\u7528\uff1a\u5f00\u542f\u540e\u9700\u8981\u63d0\u4f9b\u81f3\u5c11 3 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u3002\u5173\u95ed\u540e\uff0c\u53ea\u63d0\u4f9b 1 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u5373\u53ef\u3002

                          \u751f\u4ea7\u73af\u5883\u4e2d\u5efa\u8bae\u4f7f\u7528\u9ad8\u53ef\u7528\u6a21\u5f0f\u3002

                        • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u9009\u62e9\u901a\u8fc7\u7528\u6237\u540d/\u5bc6\u7801\u8fd8\u662f\u516c\u79c1\u94a5\u8bbf\u95ee\u8282\u70b9\u3002

                          \u5982\u679c\u4f7f\u7528\u516c\u79c1\u94a5\u65b9\u5f0f\u8bbf\u95ee\u8282\u70b9\uff0c\u9700\u8981\u9884\u5148\u914d\u7f6e\u8282\u70b9\u7684 SSH \u5bc6\u94a5\u3002\u53c2\u9605\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9\u3002

                        • \u4f7f\u7528\u7edf\u4e00\u7684\u5bc6\u7801\uff1a\u5f00\u542f\u540e\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u7684\u8bbf\u95ee\u5bc6\u7801\u90fd\u76f8\u540c\uff0c\u9700\u8981\u5728\u4e0b\u65b9\u8f93\u5165\u8bbf\u95ee\u6240\u6709\u8282\u70b9\u7684\u7edf\u4e00\u5bc6\u7801\u3002\u5982\u679c\u5173\u95ed\uff0c\u5219\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u8282\u70b9\u8bbe\u7f6e\u5355\u72ec\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002

                        • \u8282\u70b9\u4fe1\u606f\uff1a\u586b\u5199\u8282\u70b9\u540d\u79f0\u548c IP \u5730\u5740\u3002

                        • \u81ea\u5b9a\u4e49\u53c2\u6570\uff1a\u8bbe\u7f6e\u53d8\u91cf\u63a7\u5236 Ansible \u4e0e\u8fdc\u7a0b\u4e3b\u673a\u4ea4\u4e92\u3002\u53ef\u8bbe\u7f6e\u53d8\u91cf\u53c2\u8003\u8fde\u63a5\u5230\u4e3b\u673a\uff1a\u884c\u4e3a\u6e05\u5355\u53c2\u6570
                        • NTP \u65f6\u95f4\u540c\u6b65\uff1a\u5f00\u542f\u540e\u4f1a\u81ea\u52a8\u540c\u6b65\u5404\u4e2a\u8282\u70b9\u4e0a\u7684\u65f6\u95f4\uff0c\u9700\u8981\u63d0\u4f9b NTP \u670d\u52a1\u5668\u5730\u5740\u3002

                      4. \u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb\u8282\u70b9\u68c0\u67e5\u3002\u5982\u679c\u68c0\u67e5\u901a\u8fc7\u5219\u7ee7\u7eed\u4e0b\u4e00\u6b65\u64cd\u4f5c\u3002\u5982\u679c\u68c0\u67e5\u672a\u901a\u8fc7\uff0c\u5219\u66f4\u65b0 \u8282\u70b9\u4fe1\u606f \u5e76\u518d\u6b21\u6267\u884c\u68c0\u67e5\u3002

                      5. \u586b\u5199\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                        • \u7f51\u7edc\u63d2\u4ef6\uff1a\u8d1f\u8d23\u4e3a\u96c6\u7fa4\u5185\u7684 Pod \u63d0\u4f9b\u7f51\u7edc\u670d\u52a1\uff0c\u521b\u5efa\u96c6\u7fa4\u540e\u4e0d\u53ef\u66f4\u6539\u7f51\u7edc\u63d2\u4ef6\u3002\u652f\u6301 cilium \u548c calico\u3002\u9009\u62e9 none \u8868\u793a\u6682\u4e0d\u5b89\u88c5\u7f51\u7edc\u63d2\u4ef6\u3002

                        • \u5bb9\u5668\u7f51\u6bb5\uff1a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4f7f\u7528\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u7684\u6570\u91cf\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

                        • \u670d\u52a1\u7f51\u6bb5\uff1a\u540c\u4e00\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4e92\u76f8\u8bbf\u95ee\u65f6\u4f7f\u7528\u7684 Service \u8d44\u6e90\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a Service \u8d44\u6e90\u7684\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

                      6. \u586b\u5199\u63d2\u4ef6\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                      7. \u586b\u5199\u9ad8\u7ea7\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                        • kubelet_max_pods \uff1a\u8bbe\u7f6e\u6bcf\u4e2a\u8282\u70b9\u7684\u6700\u5927 Pod \u6570\u91cf\uff0c\u9ed8\u8ba4\u4e3a 110 \u4e2a\u3002
                        • hostname_overide \uff1a\u91cd\u7f6e\u4e3b\u673a\u540d\uff0c\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u503c\uff0c\u91c7\u7528\u7cfb\u7edf\u9ed8\u8ba4\u751f\u6210\u7684\u540d\u79f0\u4f5c\u4e3a\u4e3b\u673a\u540d\u79f0\u3002
                        • kubernetes_audit \uff1aKubernetes \u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                        • auto_renew_certificate \uff1a\u5728\u6bcf\u6708\u7b2c\u4e00\u4e2a\u661f\u671f\u4e00\u81ea\u52a8\u66f4\u65b0 Kubernetes \u63a7\u5236\u5e73\u9762\u8bc1\u4e66\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                        • disable_firewalld&ufw \uff1a\u7981\u7528\u9632\u706b\u5899\uff0c\u907f\u514d\u8282\u70b9\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u8bbf\u95ee\u3002
                        • Insecure_registries \uff1a\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u914d\u7f6e\u3002\u4f7f\u7528\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u521b\u5efa\u96c6\u7fa4\u65f6\uff0c\u4e3a\u4e86\u907f\u514d\u8bc1\u4e66\u95ee\u9898\u5bfc\u81f4\u5bb9\u5668\u5f15\u64ce\u62d2\u7edd\u8bbf\u95ee\uff0c\u9700\u8981\u5728\u8fd9\u91cc\u586b\u5199\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u5730\u5740\uff0c\u4ee5\u7ed5\u8fc7\u5bb9\u5668\u5f15\u64ce\u7684\u8bc1\u4e66\u8ba4\u8bc1\u800c\u83b7\u53d6\u955c\u50cf\u3002
                        • yum_repos \uff1a\u586b\u5199 Yum \u6e90\u4ed3\u5e93\u5730\u5740\u3002\u79bb\u7ebf\u73af\u5883\u4e0b\uff0c\u9ed8\u8ba4\u7ed9\u51fa\u7684\u5730\u5740\u9009\u9879\u4ec5\u4f9b\u53c2\u8003\uff0c\u8bf7\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u586b\u5199\u3002

                      Success

                      • \u586b\u5199\u6b63\u786e\u4fe1\u606f\u5e76\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u9875\u9762\u4f1a\u63d0\u793a\u96c6\u7fa4\u6b63\u5728\u521b\u5efa\u4e2d\u3002
                      • \u521b\u5efa\u96c6\u7fa4\u8017\u65f6\u8f83\u957f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u5f85\u3002\u5176\u95f4\uff0c\u53ef\u4ee5\u70b9\u51fb \u8fd4\u56de\u96c6\u7fa4\u5217\u8868 \u6309\u94ae\u8ba9\u5b89\u88c5\u8fc7\u7a0b\u540e\u53f0\u8fd0\u884c\u3002
                      • \u5982\u9700\u67e5\u770b\u5f53\u524d\u72b6\u6001\uff0c\u53ef\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u3002

                      Note

                      • \u5f53\u96c6\u7fa4\u51fa\u73b0\u672a\u77e5\u72b6\u6001\u65f6\uff0c\u8868\u793a\u5f53\u524d\u96c6\u7fa4\u5df2\u5931\u8054\u3002
                      • \u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\u3002
                      • \u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002

                      "},{"location":"end-user/kpanda/clusters/delete-cluster.html","title":"\u5378\u8f7d/\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

                      \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0 \u521b\u5efa\u7684\u96c6\u7fa4 \u652f\u6301 \u5378\u8f7d\u96c6\u7fa4 \u6216 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\uff0c\u4ece\u5176\u4ed6\u73af\u5883\u76f4\u63a5 \u63a5\u5165\u7684\u96c6\u7fa4 \u4ec5\u652f\u6301 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u3002

                      Info

                      \u5982\u679c\u60f3\u5f7b\u5e95\u5220\u9664\u4e00\u4e2a\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u9700\u8981\u524d\u5f80\u521b\u5efa\u8be5\u96c6\u7fa4\u7684\u539f\u59cb\u5e73\u53f0\u64cd\u4f5c\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0d\u652f\u6301\u5220\u9664\u63a5\u5165\u7684\u96c6\u7fa4\u3002

                      \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c \u5378\u8f7d\u96c6\u7fa4 \u548c \u89e3\u9664\u63a5\u5165 \u7684\u533a\u522b\u5728\u4e8e\uff1a

                      • \u5378\u8f7d\u96c6\u7fa4 \u64cd\u4f5c\u4f1a\u9500\u6bc1\u8be5\u96c6\u7fa4\uff0c\u5e76\u91cd\u7f6e\u96c6\u7fa4\u4e0b\u6240\u6709\u8282\u70b9\u7684\u6570\u636e\u3002\u6240\u6709\u6570\u636e\u90fd\u5c06\u88ab\u9500\u6bc1\uff0c\u5efa\u8bae\u505a\u597d\u5907\u4efd\u3002\u540e\u671f\u9700\u8981\u65f6\u5fc5\u987b\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u96c6\u7fa4\u3002
                      • \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u4f1a\u5c06\u5f53\u524d\u96c6\u7fa4\u4ece\u5e73\u53f0\u4e2d\u79fb\u9664\uff0c\u4e0d\u4f1a\u6467\u6bc1\u96c6\u7fa4\uff0c\u4e5f\u4e0d\u4f1a\u9500\u6bc1\u6570\u636e\u3002
                      "},{"location":"end-user/kpanda/clusters/delete-cluster.html#_2","title":"\u5378\u8f7d\u96c6\u7fa4","text":"

                      Note

                      • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u5378\u8f7d\u96c6\u7fa4\u7684\u64cd\u4f5c\u3002
                      • \u5378\u8f7d\u96c6\u7fa4\u4e4b\u524d\uff0c\u5e94\u8be5\u5148\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u5728 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \u4e2d\u5173\u95ed \u96c6\u7fa4\u5220\u9664\u4fdd\u62a4 \uff0c \u5426\u5219\u4e0d\u663e\u793a \u5378\u8f7d\u96c6\u7fa4 \u7684\u9009\u9879\u3002
                      • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u5378\u8f7d\u6216\u79fb\u9664\u64cd\u4f5c\u3002
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u5378\u8f7d\u96c6\u7fa4 \u3002

                      2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u3002

                        \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u6267\u884c\u5378\u8f7d\u64cd\u4f5c\u3002

                      3. \u8fd4\u56de \u96c6\u7fa4\u5217\u8868 \u9875\u53ef\u4ee5\u770b\u5230\u8be5\u96c6\u7fa4\u7684\u72b6\u6001\u5df2\u7ecf\u53d8\u6210 \u5220\u9664\u4e2d \u3002\u5378\u8f7d\u96c6\u7fa4\u53ef\u80fd\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5019\u3002

                      "},{"location":"end-user/kpanda/clusters/delete-cluster.html#_3","title":"\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

                      Note

                      • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u89e3\u9664\u63a5\u5165\u7684\u64cd\u4f5c\u3002
                      • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u89e3\u9664\u63a5\u5165\u3002
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

                      2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

                        \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u89e3\u9664\u63a5\u5165\u3002

                      "},{"location":"end-user/kpanda/clusters/delete-cluster.html#_4","title":"\u6e05\u7406\u89e3\u9664\u63a5\u5165\u96c6\u7fa4\u914d\u7f6e\u6570\u636e","text":"

                      \u96c6\u7fa4\u88ab\u79fb\u9664\u540e\uff0c\u96c6\u7fa4\u4e2d\u539f\u6709\u7684\u7ba1\u7406\u5e73\u53f0\u6570\u636e\u4e0d\u4f1a\u88ab\u81ea\u52a8\u6e05\u9664\uff0c\u5982\u9700\u5c06\u96c6\u7fa4\u63a5\u5165\u81f3\u65b0\u7ba1\u7406\u5e73\u53f0\u5219\u9700\u8981\u624b\u52a8\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

                      \u5220\u9664 kpanda-system\u3001insight-system \u547d\u540d\u7a7a\u95f4

                      kubectl delete ns kpanda-system insight-system\n
                      "},{"location":"end-user/kpanda/clusters/integrate-cluster.html","title":"\u63a5\u5165\u96c6\u7fa4","text":"

                      \u901a\u8fc7\u63a5\u5165\u96c6\u7fa4\u64cd\u4f5c\uff0c\u80fd\u591f\u5bf9\u4f17\u591a\u4e91\u670d\u52a1\u5e73\u53f0\u96c6\u7fa4\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u8fdb\u884c\u7edf\u4e00\u7eb3\u7ba1\uff0c\u5f62\u6210\u7edf\u4e00\u6cbb\u7406\u5e73\u53f0\uff0c\u6709\u6548\u907f\u514d\u4e86\u88ab\u5382\u5546\u9501\u5b9a\u98ce\u9669\uff0c\u52a9\u529b\u4f01\u4e1a\u4e1a\u52a1\u5b89\u5168\u4e0a\u4e91\u3002

                      \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u63a5\u5165\u591a\u79cd\u4e3b\u6d41\u7684\u5bb9\u5668\u96c6\u7fa4\uff0c\u4f8b\u5982 Redhat Openshift, SUSE Rancher, VMware Tanzu, Amazon EKS, Aliyun ACK, Huawei CCE, Tencent TKE, \u6807\u51c6 Kubernetes \u96c6\u7fa4\u3002

                      "},{"location":"end-user/kpanda/clusters/integrate-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u51c6\u5907\u4e00\u4e2a\u5f85\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\uff0c\u5e76\u4e14\u96c6\u7fa4\u7684 Kubernetes \u7248\u672c 1.22+\u3002
                      • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
                      "},{"location":"end-user/kpanda/clusters/integrate-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                      1. \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u63a5\u5165\u96c6\u7fa4 \u6309\u94ae\u3002

                      2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                        • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u5e94\u5177\u6709\u552f\u4e00\u6027\uff0c\u8bbe\u7f6e\u540e\u4e0d\u53ef\u66f4\u6539\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26(\"-\")\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002
                        • \u96c6\u7fa4\u522b\u540d\uff1a\u53ef\u8f93\u5165\u4efb\u610f\u5b57\u7b26\uff0c\u4e0d\u8d85\u8fc7 60 \u4e2a\u5b57\u7b26\u3002
                        • \u53d1\u884c\u7248\uff1a\u96c6\u7fa4\u7684\u53d1\u884c\u5382\u5546\uff0c\u5305\u62ec\u5e02\u573a\u4e3b\u6d41\u4e91\u5382\u5546\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u3002
                      3. \u586b\u5199\u76ee\u6807\u96c6\u7fa4\u7684 KubeConfig\uff0c\u70b9\u51fb \u9a8c\u8bc1 Config \uff0c\u9a8c\u8bc1\u901a\u8fc7\u540e\u624d\u80fd\u6210\u529f\u63a5\u5165\u96c6\u7fa4\u3002

                        \u5982\u679c\u4e0d\u77e5\u9053\u5982\u4f55\u83b7\u53d6\u96c6\u7fa4\u7684 KubeConfig \u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u53f3\u4e0a\u89d2\u70b9\u51fb \u5982\u4f55\u83b7\u53d6 kubeConfig \u67e5\u770b\u5bf9\u5e94\u6b65\u9aa4\u3002

                      4. \u786e\u8ba4\u6240\u6709\u53c2\u6570\u586b\u5199\u6b63\u786e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

                      Note

                      • \u65b0\u63a5\u5165\u7684\u96c6\u7fa4\u72b6\u6001\u4e3a \u63a5\u5165\u4e2d \uff0c\u63a5\u5165\u6210\u529f\u540e\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002
                      • \u5982\u679c\u96c6\u7fa4\u72b6\u6001\u4e00\u76f4\u5904\u4e8e \u63a5\u5165\u4e2d \uff0c\u8bf7\u786e\u8ba4\u63a5\u5165\u811a\u672c\u662f\u5426\u5728\u5bf9\u5e94\u96c6\u7fa4\u4e0a\u6267\u884c\u6210\u529f\u3002\u6709\u5173\u96c6\u7fa4\u72b6\u6001\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u72b6\u6001\u3002
                      "},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html","title":"\u63a5\u5165 rancher \u96c6\u7fa4","text":"

                      \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u63a5\u5165 rancher \u96c6\u7fa4\u3002

                      "},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u51c6\u5907\u4e00\u4e2a\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u5f85\u63a5\u5165 ranhcer \u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\u3002
                      • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
                      "},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html#rancher-serviceaccount","title":"\u6b65\u9aa4\u4e00\uff1a\u5728 rancher \u96c6\u7fa4\u521b\u5efa\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684 ServiceAccount \u7528\u6237","text":"
                      1. \u4f7f\u7528\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u89d2\u8272\u8fdb\u5165 rancher \u96c6\u7fa4\uff0c\u5e76\u4f7f\u7528\u7ec8\u7aef\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a sa.yaml \u7684\u6587\u4ef6\u3002

                        vi sa.yaml\n

                        \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

                        sa.yaml
                        apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: rancher-rke\nrules:\n  - apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n  - nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n  name: rancher-rke\nroleRef:\n    apiGroup: rbac.authorization.k8s.io\n    kind: ClusterRole\n    name: rancher-rke\n  subjects:\n  - kind: ServiceAccount\n    name: rancher-rke\n    namespace: kube-system\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  name: rancher-rke\n  namespace: kube-system\n

                        \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

                      2. \u5728\u5f53\u524d\u8def\u5f84\u4e0b\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u65b0\u5efa\u540d\u4e3a rancher-rke \u7684 ServiceAccount\uff08\u4ee5\u4e0b\u7b80\u79f0\u4e3a SA \uff09\uff1a

                        kubectl apply -f sa.yaml\n

                        \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                        clusterrole.rbac.authorization.k8s.io/rancher-rke created\nclusterrolebinding.rbac.authorization.k8s.io/rancher-rke created\nserviceaccount/rancher-rke created\n
                      3. \u521b\u5efa\u540d\u4e3a rancher-rke-secret \u7684\u5bc6\u94a5\uff0c\u5e76\u5c06\u5bc6\u94a5\u548c rancher-rke SA \u7ed1\u5b9a\u3002

                        kubectl apply -f - <<EOF\napiVersion: v1\nkind: Secret\nmetadata:\n  name: rancher-rke-secret\n  namespace: kube-system\n  annotations:\n    kubernetes.io/service-account.name: rancher-rke\n  type: kubernetes.io/service-account-token\nEOF\n

                        \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                        secret/rancher-rke-secret created\n

                        Note

                        \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u7248\u672c\u4f4e\u4e8e 1.24\uff0c\u8bf7\u5ffd\u7565\u6b64\u6b65\u9aa4\uff0c\u76f4\u63a5\u524d\u5f80\u4e0b\u4e00\u6b65\u3002

                      4. \u67e5\u627e rancher-rke SA \u7684\u5bc6\u94a5\uff1a

                        kubectl -n kube-system get secret | grep rancher-rke | awk '{print $1}'\n

                        \u9884\u671f\u8f93\u51fa\uff1a

                        rancher-rke-secret\n

                        \u67e5\u770b\u5bc6\u94a5 rancher-rke-secret \u7684\u8be6\u60c5\uff1a

                        kubectl -n kube-system describe secret rancher-rke-secret\n

                        \u9884\u671f\u8f93\u51fa\uff1a

                        Name:         rancher-rke-secret\nNamespace:    kube-system\nLabels:       <none>\nAnnotations:  kubernetes.io/service-account.name: rancher-rke\n            kubernetes.io/service-account.uid: d83df5d9-bd7d-488d-a046-b740618a0174\n\nType:  kubernetes.io/service-account-token\n\nData\n====\nca.crt:     570 bytes\nnamespace:  11 bytes\ntoken:      eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
                      "},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html#rancher-rke-sa-kubeconfig","title":"\u6b65\u9aa4\u4e8c\uff1a\u5728\u672c\u5730\u4f7f\u7528 rancher-rke SA \u7684\u8ba4\u8bc1\u4fe1\u606f\u66f4\u65b0 kubeconfig \u6587\u4ef6","text":"

                      \u5728\u4efb\u610f\u4e00\u53f0\u5b89\u88c5\u4e86 kubelet \u7684\u672c\u5730\u8282\u70b9\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

                      1. \u914d\u7f6e kubelet token\uff1a

                        kubectl config set-credentials rancher-rke --token=`rancher-rke-secret` \u91cc\u9762\u7684 token \u4fe1\u606f\n

                        \u4f8b\u5982\uff1a

                        kubectl config set-credentials eks-admin --token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
                      2. \u914d\u7f6e kubelet APIServer \u4fe1\u606f\uff1a

                        kubectl config set-cluster {\u96c6\u7fa4\u540d} --insecure-skip-tls-verify=true --server={APIServer}\n
                        • {\u96c6\u7fa4\u540d} \uff1a\u6307 rancher \u96c6\u7fa4\u7684\u540d\u79f0\u3002
                        • {APIServer} \uff1a\u6307\u96c6\u7fa4\u7684\u8bbf\u95ee\u5730\u5740\uff0c\u4e00\u822c\u4e3a\u96c6\u7fa4\u63a7\u5236\u8282\u70b9 IP + 6443 \u7aef\u53e3\uff0c\u5982 https://10.X.X.X:6443

                        \u4f8b\u5982\uff1a

                        kubectl config set-cluster rancher-rke --insecure-skip-tls-verify=true --server=https://10.X.X.X:6443\n
                      3. \u914d\u7f6e kubelet \u4e0a\u4e0b\u6587\u4fe1\u606f\uff1a

                        kubectl config set-context {\u4e0a\u4e0b\u6587\u540d\u79f0} --cluster={\u96c6\u7fa4\u540d} --user={SA \u7528\u6237\u540d}\n

                        \u4f8b\u5982\uff1a

                        kubectl config set-context rancher-rke-context --cluster=rancher-rke --user=rancher-rke\n
                      4. \u5728 kubelet \u4e2d\u6307\u5b9a\u6211\u4eec\u521a\u521a\u65b0\u5efa\u7684\u4e0a\u4e0b\u6587 rancher-rke-context \uff1a

                        kubectl config use-context rancher-rke-context\n
                      5. \u83b7\u53d6\u4e0a\u4e0b\u6587 rancher-rke-context \u4e2d\u7684 kubeconfig \u4fe1\u606f\u3002

                        kubectl config view --minify --flatten --raw\n

                        \u9884\u671f\u8f93\u51fa\uff1a

                        apiVersion: v1\n  clusters:\n  - cluster:\n    insecure-skip-tls-verify: true\n    server: https://77C321BCF072682C70C8665ED4BFA10D.gr7.ap-southeast-1.eks.amazonaws.com\n  name: joincluster\n  contexts:\n  - context:\n    cluster: joincluster\n    user: eks-admin\n  name: ekscontext\n  current-context: ekscontext\n  kind: Config\n  preferences: {}\n  users:\n  - name: eks-admin\n  user:\n    token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImcxTjJwNkktWm5IbmRJU1RFRExvdWY1TGFWVUtGQ3VIejFtNlFQcUNFalEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2V\n
                      "},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html#ai","title":"\u6b65\u9aa4\u4e09\uff1a\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u754c\u9762\u63a5\u5165\u96c6\u7fa4","text":"

                      \u4f7f\u7528\u521a\u521a\u83b7\u53d6\u7684 kubeconfig \u6587\u4ef6\uff0c\u53c2\u8003\u63a5\u5165\u96c6\u7fa4\u6587\u6863\uff0c\u5c06 rancher \u96c6\u7fa4\u63a5\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3002

                      "},{"location":"end-user/kpanda/clusters/k8s-cert.html","title":"Kubernetes \u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0","text":"

                      \u4e3a\u4fdd\u8bc1 Kubernetes \u5404\u7ec4\u4ef6\u4e4b\u95f4\u7684\u901a\u4fe1\u5b89\u5168\uff0c\u7ec4\u4ef6\u4e4b\u95f4\u7684\u8c03\u7528\u4f1a\u8fdb\u884c TLS \u8eab\u4efd\u9a8c\u8bc1\uff0c\u6267\u884c\u9a8c\u8bc1\u64cd\u4f5c\u9700\u8981\u914d\u7f6e\u96c6\u7fa4 PKI \u8bc1\u4e66\u3002

                      \u96c6\u7fa4\u8bc1\u4e66\u6709\u6548\u671f\u4e3a1\u5e74\uff0c\u4e3a\u907f\u514d\u8bc1\u4e66\u8fc7\u671f\u5bfc\u81f4\u4e1a\u52a1\u65e0\u6cd5\u4f7f\u7528\uff0c\u8bf7\u53ca\u65f6\u66f4\u65b0\u8bc1\u4e66\u3002

                      \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u8fdb\u884c\u8bc1\u4e66\u66f4\u65b0\u3002

                      "},{"location":"end-user/kpanda/clusters/k8s-cert.html#_1","title":"\u68c0\u67e5\u8bc1\u4e66\u662f\u5426\u8fc7\u671f","text":"

                      \u60a8\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\u662f\u5426\u8fc7\u671f\uff1a

                      kubeadm certs check-expiration\n

                      \u8f93\u51fa\u7c7b\u4f3c\u4e8e\u4ee5\u4e0b\u5185\u5bb9\uff1a

                      CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED\nadmin.conf                 Dec 14, 2024 07:26 UTC   204d                                    no      \napiserver                  Dec 14, 2024 07:26 UTC   204d            ca                      no      \napiserver-etcd-client      Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \napiserver-kubelet-client   Dec 14, 2024 07:26 UTC   204d            ca                      no      \ncontroller-manager.conf    Dec 14, 2024 07:26 UTC   204d                                    no      \netcd-healthcheck-client    Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-peer                  Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-server                Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \nfront-proxy-client         Dec 14, 2024 07:26 UTC   204d            front-proxy-ca          no      \nscheduler.conf             Dec 14, 2024 07:26 UTC   204d                                    no      \n\nCERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED\nca                      Dec 12, 2033 07:26 UTC   9y              no      \netcd-ca                 Dec 12, 2033 07:26 UTC   9y              no      \nfront-proxy-ca          Dec 12, 2033 07:26 UTC   9y              no      \n
                      "},{"location":"end-user/kpanda/clusters/k8s-cert.html#_2","title":"\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

                      \u60a8\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66\uff0c\u53ea\u9700\u5e26\u4e0a\u5408\u9002\u7684\u547d\u4ee4\u884c\u9009\u9879\u3002\u66f4\u65b0\u8bc1\u4e66\u524d\u8bf7\u5148\u5907\u4efd\u5f53\u524d\u8bc1\u4e66\u3002

                      \u66f4\u65b0\u6307\u5b9a\u8bc1\u4e66\uff1a

                      kubeadm certs renew\n

                      \u66f4\u65b0\u5168\u90e8\u8bc1\u4e66\uff1a

                      kubeadm certs renew all\n

                      \u66f4\u65b0\u540e\u7684\u8bc1\u4e66\u53ef\u4ee5\u5728 /etc/kubernetes/pki \u76ee\u5f55\u4e0b\u67e5\u770b\uff0c\u6709\u6548\u671f\u5ef6\u7eed 1 \u5e74\u3002 \u4ee5\u4e0b\u5bf9\u5e94\u7684\u51e0\u4e2a\u914d\u7f6e\u6587\u4ef6\u4e5f\u4f1a\u540c\u6b65\u66f4\u65b0\uff1a

                      • /etc/kubernetes/admin.conf
                      • /etc/kubernetes/controller-manager.conf
                      • /etc/kubernetes/scheduler.conf

                      Note

                      • \u5982\u679c\u60a8\u90e8\u7f72\u7684\u662f\u4e00\u4e2a\u9ad8\u53ef\u7528\u96c6\u7fa4\uff0c\u8fd9\u4e2a\u547d\u4ee4\u9700\u8981\u5728\u6240\u6709\u63a7\u5236\u8282\u70b9\u4e0a\u6267\u884c\u3002
                      • \u6b64\u547d\u4ee4\u7528 CA\uff08\u6216\u8005 front-proxy-CA \uff09\u8bc1\u4e66\u548c\u5b58\u50a8\u5728 /etc/kubernetes/pki \u4e2d\u7684\u5bc6\u94a5\u6267\u884c\u66f4\u65b0\u3002
                      "},{"location":"end-user/kpanda/clusters/k8s-cert.html#_3","title":"\u91cd\u542f\u670d\u52a1","text":"

                      \u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u4e4b\u540e\uff0c\u4f60\u9700\u8981\u91cd\u542f\u63a7\u5236\u9762 Pod\u3002\u56e0\u4e3a\u52a8\u6001\u8bc1\u4e66\u91cd\u8f7d\u76ee\u524d\u8fd8\u4e0d\u88ab\u6240\u6709\u7ec4\u4ef6\u548c\u8bc1\u4e66\u652f\u6301\uff0c\u6240\u6709\u8fd9\u9879\u64cd\u4f5c\u662f\u5fc5\u987b\u7684\u3002

                      \u9759\u6001 Pod \u662f\u88ab\u672c\u5730 kubelet \u800c\u4e0d\u662f API \u670d\u52a1\u5668\u7ba1\u7406\uff0c\u6240\u4ee5 kubectl \u4e0d\u80fd\u7528\u6765\u5220\u9664\u6216\u91cd\u542f\u4ed6\u4eec\u3002

                      \u8981\u91cd\u542f\u9759\u6001 Pod\uff0c\u4f60\u53ef\u4ee5\u4e34\u65f6\u5c06\u6e05\u5355\u6587\u4ef6\u4ece /etc/kubernetes/manifests/ \u79fb\u9664\u5e76\u7b49\u5f85 20 \u79d2\u3002 \u53c2\u8003 KubeletConfiguration \u7ed3\u6784\u4e2d\u7684 fileCheckFrequency \u503c\u3002

                      \u5982\u679c Pod \u4e0d\u5728\u6e05\u5355\u76ee\u5f55\u91cc\uff0ckubelet \u5c06\u4f1a\u7ec8\u6b62\u5b83\u3002 \u5728\u53e6\u4e00\u4e2a fileCheckFrequency \u5468\u671f\u4e4b\u540e\u4f60\u53ef\u4ee5\u5c06\u6587\u4ef6\u79fb\u56de\u53bb\uff0ckubelet \u53ef\u4ee5\u5b8c\u6210 Pod \u7684\u91cd\u5efa\uff0c\u800c\u7ec4\u4ef6\u7684\u8bc1\u4e66\u66f4\u65b0\u64cd\u4f5c\u4e5f\u5f97\u4ee5\u5b8c\u6210\u3002

                      mv ./manifests/* ./temp/\nmv ./temp/* ./manifests/\n

                      Note

                      \u5982\u679c\u5bb9\u5668\u670d\u52a1\u4f7f\u7528\u7684\u662f Docker\uff0c\u4e3a\u4e86\u8ba9\u8bc1\u4e66\u751f\u6548\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bf9\u6d89\u53ca\u5230\u8bc1\u4e66\u4f7f\u7528\u7684\u51e0\u4e2a\u670d\u52a1\u8fdb\u884c\u91cd\u542f\uff1a

                      docker ps | grep -E 'k8s_kube-apiserver|k8s_kube-controller-manager|k8s_kube-scheduler|k8s_etcd_etcd' | awk -F ' ' '{print $1}' | xargs docker restart\n
                      "},{"location":"end-user/kpanda/clusters/k8s-cert.html#kubeconfig","title":"\u66f4\u65b0 KubeConfig","text":"

                      \u6784\u5efa\u96c6\u7fa4\u65f6\u901a\u5e38\u4f1a\u5c06 admin.conf \u8bc1\u4e66\u590d\u5236\u5230 $HOME/.kube/config \u4e2d\uff0c\u4e3a\u4e86\u5728\u66f4\u65b0 admin.conf \u540e\u66f4\u65b0 $HOME/.kube/config \u7684\u5185\u5bb9\uff0c \u5fc5\u987b\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n
                      "},{"location":"end-user/kpanda/clusters/k8s-cert.html#kubelet","title":"\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362","text":"

                      \u5b8c\u6210\u4ee5\u4e0a\u64cd\u4f5c\u540e\uff0c\u57fa\u672c\u5b8c\u6210\u4e86\u96c6\u7fa4\u6240\u6709\u8bc1\u4e66\u7684\u66f4\u65b0\uff0c\u4f46\u4e0d\u5305\u62ec kubelet\u3002

                      \u56e0\u4e3a kubernetes \u5305\u542b\u7279\u6027 kubelet \u8bc1\u4e66\u8f6e\u6362\uff0c \u5728\u5f53\u524d\u8bc1\u4e66\u5373\u5c06\u8fc7\u671f\u65f6\uff0c \u5c06\u81ea\u52a8\u751f\u6210\u65b0\u7684\u79d8\u94a5\uff0c\u5e76\u4ece Kubernetes API \u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002 \u4e00\u65e6\u65b0\u7684\u8bc1\u4e66\u53ef\u7528\uff0c\u5b83\u5c06\u88ab\u7528\u4e8e\u4e0e Kubernetes API \u95f4\u7684\u8fde\u63a5\u8ba4\u8bc1\u3002

                      Note

                      \u6b64\u7279\u6027\u9002\u7528\u4e8e Kubernetes 1.8.0 \u6216\u66f4\u9ad8\u7684\u7248\u672c\u3002

                      \u542f\u7528\u5ba2\u6237\u7aef\u8bc1\u4e66\u8f6e\u6362\uff0c\u914d\u7f6e\u53c2\u6570\u5982\u4e0b\uff1a

                      • kubelet \u8fdb\u7a0b\u63a5\u6536 --rotate-certificates \u53c2\u6570\uff0c\u8be5\u53c2\u6570\u51b3\u5b9a kubelet \u5728\u5f53\u524d\u4f7f\u7528\u7684 \u8bc1\u4e66\u5373\u5c06\u5230\u671f\u65f6\uff0c\u662f\u5426\u4f1a\u81ea\u52a8\u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002

                      • kube-controller-manager \u8fdb\u7a0b\u63a5\u6536 --cluster-signing-duration \u53c2\u6570 \uff08\u5728 1.19 \u7248\u672c\u4e4b\u524d\u4e3a --experimental-cluster-signing-duration\uff09\uff0c\u7528\u6765\u63a7\u5236\u7b7e\u53d1\u8bc1\u4e66\u7684\u6709\u6548\u671f\u9650\u3002

                      \u66f4\u591a\u8be6\u60c5\u53c2\u8003\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362\u3002

                      "},{"location":"end-user/kpanda/clusters/k8s-cert.html#_4","title":"\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

                      \u4e3a\u4e86\u66f4\u9ad8\u6548\u4fbf\u6377\u5904\u7406\u5df2\u8fc7\u671f\u6216\u8005\u5373\u5c06\u8fc7\u671f\u7684 kubernetes \u96c6\u7fa4\u8bc1\u4e66\uff0c\u53ef\u53c2\u8003 k8s \u7248\u672c\u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0\u3002

                      "},{"location":"end-user/kpanda/clusters/runtime.html","title":"\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6","text":"

                      \u5bb9\u5668\u8fd0\u884c\u65f6\u662f kubernetes \u4e2d\u5bf9\u5bb9\u5668\u548c\u5bb9\u5668\u955c\u50cf\u751f\u547d\u5468\u671f\u8fdb\u884c\u7ba1\u7406\u7684\u91cd\u8981\u7ec4\u4ef6\u3002 kubernetes \u5728 1.19 \u7248\u672c\u4e2d\u5c06 containerd \u8bbe\u4e3a\u9ed8\u8ba4\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u5e76\u5728 1.24 \u7248\u672c\u4e2d\u79fb\u9664\u4e86 Dockershim \u7ec4\u4ef6\u7684\u652f\u6301\u3002

                      \u56e0\u6b64\u76f8\u8f83\u4e8e Docker \u8fd0\u884c\u65f6\uff0c\u6211\u4eec\u66f4\u52a0 \u63a8\u8350\u60a8\u4f7f\u7528\u8f7b\u91cf\u7684 containerd \u4f5c\u4e3a\u60a8\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u56e0\u4e3a\u8fd9\u5df2\u7ecf\u6210\u4e3a\u5f53\u524d\u4e3b\u6d41\u7684\u8fd0\u884c\u65f6\u9009\u62e9\u3002

                      \u9664\u6b64\u4e4b\u5916\uff0c\u4e00\u4e9b\u64cd\u4f5c\u7cfb\u7edf\u53d1\u884c\u5382\u5546\u5bf9 Docker \u8fd0\u884c\u65f6\u7684\u517c\u5bb9\u4e5f\u4e0d\u591f\u53cb\u597d\uff0c\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u8fd0\u884c\u65f6\u7684\u652f\u6301\u5982\u4e0b\u8868\uff1a

                      "},{"location":"end-user/kpanda/clusters/runtime.html#_2","title":"\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u548c\u63a8\u8350\u7684\u8fd0\u884c\u65f6\u7248\u672c\u5bf9\u5e94\u5173\u7cfb","text":"\u64cd\u4f5c\u7cfb\u7edf \u63a8\u8350\u7684 containerd \u7248\u672c \u63a8\u8350\u7684 Docker \u7248\u672c CentOS 1.7.5 20.10 RedHatOS 1.7.5 20.10 KylinOS 1.7.5 19.03\uff08\u4ec5 ARM \u67b6\u6784\u652f\u6301 \uff0c\u5728 x86 \u67b6\u6784\u4e0b\u4e0d\u652f\u6301\u4f7f\u7528 Docker \u4f5c\u4e3a\u8fd0\u884c\u65f6\uff09

                      \u66f4\u591a\u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 RedHatOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c \u548c KylinOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c

                      Note

                      \u5728\u79bb\u7ebf\u5b89\u88c5\u6a21\u5f0f\u4e0b\uff0c\u9700\u8981\u63d0\u524d\u51c6\u5907\u76f8\u5173\u64cd\u4f5c\u7cfb\u7edf\u7684\u8fd0\u884c\u65f6\u79bb\u7ebf\u5305\u3002

                      "},{"location":"end-user/kpanda/clusters/upgrade-cluster.html","title":"\u96c6\u7fa4\u5347\u7ea7","text":"

                      Kubernetes \u793e\u533a\u6bcf\u4e2a\u5b63\u5ea6\u90fd\u4f1a\u53d1\u5e03\u4e00\u6b21\u5c0f\u7248\u672c\uff0c\u6bcf\u4e2a\u7248\u672c\u7684\u7ef4\u62a4\u5468\u671f\u5927\u6982\u53ea\u6709 9 \u4e2a\u6708\u3002 \u7248\u672c\u505c\u6b62\u7ef4\u62a4\u540e\u5c31\u4e0d\u4f1a\u518d\u66f4\u65b0\u4e00\u4e9b\u91cd\u5927\u6f0f\u6d1e\u6216\u5b89\u5168\u6f0f\u6d1e\u3002\u624b\u52a8\u5347\u7ea7\u96c6\u7fa4\u64cd\u4f5c\u8f83\u4e3a\u7e41\u7410\uff0c\u7ed9\u7ba1\u7406\u4eba\u5458\u5e26\u6765\u4e86\u6781\u5927\u7684\u5de5\u4f5c\u8d1f\u62c5\u3002

                      \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u901a\u8fc7 Web UI \u754c\u9762\u4e00\u952e\u5f0f\u5728\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4 Kubernetes \u7248\u672c\uff0c \u5982\u9700\u79bb\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u7684 kubernetes \u7248\u672c\uff0c\u8bf7\u53c2\u9605\u5de5\u4f5c\u96c6\u7fa4\u79bb\u7ebf\u5347\u7ea7\u6307\u5357\u8fdb\u884c\u5347\u7ea7\u3002

                      Danger

                      \u7248\u672c\u5347\u7ea7\u540e\u5c06\u65e0\u6cd5\u56de\u9000\u5230\u4e4b\u524d\u7684\u7248\u672c\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                      Note

                      • Kubernetes \u7248\u672c\u4ee5 x.y.z \u8868\u793a\uff0c\u5176\u4e2d x \u662f\u4e3b\u8981\u7248\u672c\uff0c y \u662f\u6b21\u8981\u7248\u672c\uff0c z \u662f\u8865\u4e01\u7248\u672c\u3002
                      • \u4e0d\u5141\u8bb8\u8de8\u6b21\u8981\u7248\u672c\u5bf9\u96c6\u7fa4\u8fdb\u884c\u5347\u7ea7\uff0c\u4f8b\u5982\u4e0d\u80fd\u4ece 1.23 \u76f4\u63a5\u5347\u7ea7\u5230 1.25\u3002
                      • \u63a5\u5165\u96c6\u7fa4 \u4e0d\u652f\u6301\u7248\u672c\u5347\u7ea7\u3002\u5982\u679c\u5de6\u4fa7\u5bfc\u822a\u680f\u6ca1\u6709 \u96c6\u7fa4\u5347\u7ea7 \uff0c\u8bf7\u68c0\u67e5\u8be5\u96c6\u7fa4\u662f\u5426\u4e3a \u63a5\u5165\u96c6\u7fa4 \u3002
                      • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u53ea\u80fd\u901a\u8fc7\u7ec8\u7aef\u8fdb\u884c\u5347\u7ea7\u3002
                      • \u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u65f6\uff0c\u8be5\u5de5\u4f5c\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u5e94\u8be5\u5df2\u7ecf\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u5e76\u4e14\u5904\u4e8e\u6b63\u5e38\u8fd0\u884c\u4e2d\u3002
                      • \u5982\u679c\u9700\u8981\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u5347\u7ea7\u76f8\u540c\u7248\u672c\u7684\u65b9\u5f0f\u5b9e\u73b0\uff0c\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u3002
                      1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                      2. \u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u5347\u7ea7 \uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u7248\u672c\u5347\u7ea7 \u3002

                      3. \u9009\u62e9\u53ef\u5347\u7ea7\u7684\u7248\u672c\uff0c\u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\u3002

                        Note

                        \u5982\u679c\u60a8\u662f\u60f3\u901a\u8fc7\u5347\u7ea7\u65b9\u5f0f\u6765\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff1a

                        1. \u627e\u5230\u96c6\u7fa4\u5bf9\u5e94\u7684 ConfigMap\uff0c\u60a8\u53ef\u4ee5\u767b\u5f55\u63a7\u5236\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u627e\u5230 varsConfRef \u4e2d\u7684 ConfigMap \u540d\u79f0\u3002

                          kubectl get cluster.kubean.io <clustername> -o yaml\n
                        2. \u6839\u636e\u9700\u8981\uff0c\u4fee\u6539 ConfigMap \u4e2d\u7684\u53c2\u6570\u4fe1\u606f\u3002

                        3. \u5728\u6b64\u5904\u9009\u62e9\u76f8\u540c\u7248\u672c\u8fdb\u884c\u5347\u7ea7\u64cd\u4f5c\uff0c\u5347\u7ea7\u5b8c\u6210\u5373\u53ef\u6210\u529f\u66f4\u65b0\u5bf9\u5e94\u7684\u96c6\u7fa4\u53c2\u6570\u3002

                      4. \u70b9\u51fb \u786e\u5b9a \u540e\uff0c\u53ef\u4ee5\u770b\u5230\u96c6\u7fa4\u7684\u5347\u7ea7\u8fdb\u5ea6\u3002

                      5. \u96c6\u7fa4\u5347\u7ea7\u9884\u8ba1\u9700\u8981 30 \u5206\u949f\uff0c\u53ef\u4ee5\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u6309\u94ae\u67e5\u770b\u96c6\u7fa4\u5347\u7ea7\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/configmap-hot-loading.html","title":"configmap/secret \u70ed\u52a0\u8f7d","text":"

                      configmap/secret \u70ed\u52a0\u8f7d\u662f\u6307\u5c06 configmap/secret \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u5728\u5bb9\u5668\u4e2d\u6302\u8f7d\u65f6\uff0c\u5f53\u914d\u7f6e\u53d1\u751f\u6539\u53d8\u65f6\uff0c\u5bb9\u5668\u5c06\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u800c\u65e0\u9700\u91cd\u542f Pod\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/configmap-hot-loading.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                      1. \u53c2\u8003\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d - \u5bb9\u5668\u914d\u7f6e\uff0c\u914d\u7f6e\u5bb9\u5668\u6570\u636e\u5b58\u50a8\uff0c\u9009\u62e9 Configmap \u3001 Configmap Key \u3001 Secret \u3001 Secret Key \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u81f3\u5bb9\u5668\u3002

                        Note

                        \u4f7f\u7528\u5b50\u8def\u5f84\uff08SubPath\uff09\u65b9\u5f0f\u6302\u8f7d\u7684\u914d\u7f6e\u6587\u4ef6\u4e0d\u652f\u6301\u70ed\u52a0\u8f7d\u3002

                      2. \u8fdb\u5165\u3010\u914d\u7f6e\u4e0e\u5bc6\u94a5\u3011\u9875\u9762\uff0c\u8fdb\u5165\u914d\u7f6e\u9879\u8be6\u60c5\u9875\u9762\uff0c\u5728\u3010\u5173\u8054\u8d44\u6e90\u3011\u4e2d\u627e\u5230\u5bf9\u5e94\u7684 container \u8d44\u6e90\uff0c\u70b9\u51fb \u7acb\u5373\u52a0\u8f7d \u6309\u94ae\uff0c\u8fdb\u5165\u914d\u7f6e\u70ed\u52a0\u8f7d\u9875\u9762\u3002

                        Note

                        \u5982\u679c\u60a8\u7684\u5e94\u7528\u652f\u6301\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u5219\u65e0\u9700\u624b\u52a8\u6267\u884c\u70ed\u52a0\u8f7d\u64cd\u4f5c\u3002

                      3. \u5728\u70ed\u52a0\u8f7d\u914d\u7f6e\u5f39\u7a97\u4e2d\uff0c\u8f93\u5165\u8fdb\u5165\u5bb9\u5668\u5185\u7684 \u6267\u884c\u547d\u4ee4 \u5e76\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u4ee5\u91cd\u8f7d\u914d\u7f6e\u3002\u4f8b\u5982\uff0c\u5728 nginx \u5bb9\u5668\u4e2d\uff0c\u4ee5 root \u7528\u6237\u6743\u9650\uff0c\u6267\u884c nginx -s reload \u547d\u4ee4\u6765\u91cd\u8f7d\u914d\u7f6e\u3002

                      4. \u5728\u754c\u9762\u5f39\u51fa\u7684 web \u7ec8\u7aef\u4e2d\u67e5\u770b\u5e94\u7528\u91cd\u8f7d\u60c5\u51b5\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/create-configmap.html","title":"\u521b\u5efa\u914d\u7f6e\u9879","text":"

                      \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u4ee5\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u5b58\u50a8\u975e\u673a\u5bc6\u6027\u6570\u636e\uff0c\u5b9e\u73b0\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u4ee3\u7801\u76f8\u4e92\u89e3\u8026\u7684\u6548\u679c\u3002\u914d\u7f6e\u9879\u53ef\u7528\u4f5c\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002

                      Note

                      • \u5728\u914d\u7f6e\u9879\u4e2d\u4fdd\u5b58\u7684\u6570\u636e\u4e0d\u53ef\u8d85\u8fc7 1 MiB\u3002\u5982\u679c\u9700\u8981\u5b58\u50a8\u4f53\u79ef\u66f4\u5927\u7684\u6570\u636e\uff0c\u5efa\u8bae\u6302\u8f7d\u5b58\u50a8\u5377\u6216\u8005\u4f7f\u7528\u72ec\u7acb\u7684\u6570\u636e\u5e93\u6216\u8005\u6587\u4ef6\u670d\u52a1\u3002

                      • \u914d\u7f6e\u9879\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u52a0\u5bc6\u6570\u636e\uff0c\u5efa\u8bae\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\u3002

                      \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

                      • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
                      • YAML \u521b\u5efa
                      "},{"location":"end-user/kpanda/configmaps-secrets/create-configmap.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                      • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/create-configmap.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u914d\u7f6e\u9879 \u6309\u94ae\u3002

                      3. \u5728 \u521b\u5efa\u914d\u7f6e\u9879 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                        Note

                        \u70b9\u51fb \u4e0a\u4f20\u6587\u4ef6 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002

                      4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/create-configmap.html#yaml","title":"YAML \u521b\u5efa","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                      3. \u586b\u5199\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

                        Note

                        • \u70b9\u51fb \u5bfc\u5165 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002
                        • \u586b\u5199\u6570\u636e\u4e4b\u540e\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u914d\u7f6e\u6587\u4ef6\u4fdd\u5b58\u5728\u672c\u5730\u3002

                      4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/create-configmap.html#yaml_1","title":"\u914d\u7f6e\u9879 YAML \u793a\u4f8b","text":"
                      ```yaml\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: kube-root-ca.crt\n  namespace: default\n  annotations:\ndata:\n  version: '1.0'\n```\n

                      \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u914d\u7f6e\u9879

                      "},{"location":"end-user/kpanda/configmaps-secrets/create-secret.html","title":"\u521b\u5efa\u5bc6\u94a5","text":"

                      \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

                      \u5bc6\u94a5\u4f7f\u7528\u573a\u666f\uff1a

                      • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
                      • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
                      • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

                      \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

                      • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
                      • YAML \u521b\u5efa
                      "},{"location":"end-user/kpanda/configmaps-secrets/create-secret.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                      • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/create-secret.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u5bc6\u94a5 \u6309\u94ae\u3002

                      3. \u5728 \u521b\u5efa\u5bc6\u94a5 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                        \u586b\u5199\u914d\u7f6e\u65f6\u9700\u8981\u6ce8\u610f\uff1a

                        • \u5bc6\u94a5\u7684\u540d\u79f0\u5728\u540c\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u5fc5\u987b\u5177\u6709\u552f\u4e00\u6027
                        • \u5bc6\u94a5\u7c7b\u578b\uff1a
                          • \u9ed8\u8ba4\uff08Opaque\uff09\uff1aKubernetes \u9ed8\u8ba4\u7684\u5bc6\u94a5\u7c7b\u578b\uff0c\u652f\u6301\u7528\u6237\u5b9a\u4e49\u7684\u4efb\u610f\u6570\u636e\u3002
                          • TLS (kubernetes.io/tls)\uff1a\u7528\u4e8e TLS \u5ba2\u6237\u7aef\u6216\u8005\u670d\u52a1\u5668\u7aef\u6570\u636e\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
                          • \u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u7528\u4e8e\u955c\u50cf\u4ed3\u5e93\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
                          • \u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u7528\u4e8e\u57fa\u672c\u8eab\u4efd\u8ba4\u8bc1\u7684\u51ed\u8bc1\u3002
                          • \u81ea\u5b9a\u4e49\uff1a\u7528\u6237\u6839\u636e\u4e1a\u52a1\u9700\u8981\u81ea\u5b9a\u4e49\u7684\u7c7b\u578b\u3002
                        • \u5bc6\u94a5\u6570\u636e\uff1a\u5bc6\u94a5\u6240\u5b58\u50a8\u7684\u6570\u636e\uff0c\u4e0d\u540c\u6570\u636e\u9700\u8981\u586b\u5199\u7684\u53c2\u6570\u6709\u6240\u4e0d\u540c
                          • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u9ed8\u8ba4\uff08Opaque\uff09/\u81ea\u5b9a\u4e49\uff1a\u53ef\u4ee5\u586b\u5165\u591a\u4e2a\u952e\u503c\u5bf9\u6570\u636e\u3002
                          • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a TLS (kubernetes.io/tls)\uff1a\u9700\u8981\u586b\u5165\u8bc1\u4e66\u51ed\u8bc1\u548c\u79c1\u94a5\u6570\u636e\u3002\u8bc1\u4e66\u662f\u81ea\u7b7e\u540d\u6216 CA \u7b7e\u540d\u8fc7\u7684\u51ed\u636e\uff0c\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u3002\u8bc1\u4e66\u8bf7\u6c42\u662f\u5bf9\u7b7e\u540d\u7684\u8bf7\u6c42\uff0c\u9700\u8981\u4f7f\u7528\u79c1\u94a5\u8fdb\u884c\u7b7e\u540d\u3002
                          • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u9700\u8981\u586b\u5165\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u7684\u8d26\u53f7\u548c\u5bc6\u7801\u3002
                          • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u9700\u8981\u6307\u5b9a\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
                      "},{"location":"end-user/kpanda/configmaps-secrets/create-secret.html#yaml","title":"YAML \u521b\u5efa","text":"
                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                      3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\u586b\u5199 YAML \u914d\u7f6e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                        \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/create-secret.html#yaml_1","title":"\u5bc6\u94a5 YAML \u793a\u4f8b","text":"
                      ```yaml\napiVersion: v1\nkind: Secret\nmetadata:\n  name: secretdemo\ntype: Opaque\ndata:\n  username: ******\n  password: ******\n```\n

                      \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u5bc6\u94a5

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html","title":"\u4f7f\u7528\u914d\u7f6e\u9879","text":"

                      \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u662f Kubernetes \u7684\u4e00\u79cd API \u5bf9\u8c61\uff0c\u7528\u6765\u5c06\u975e\u673a\u5bc6\u6027\u7684\u6570\u636e\u4fdd\u5b58\u5230\u952e\u503c\u5bf9\u4e2d\uff0c\u53ef\u4ee5\u5b58\u50a8\u5176\u4ed6\u5bf9\u8c61\u6240\u9700\u8981\u4f7f\u7528\u7684\u914d\u7f6e\u3002 \u4f7f\u7528\u65f6\uff0c \u5bb9\u5668\u53ef\u4ee5\u5c06\u5176\u7528\u4f5c\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002\u901a\u8fc7\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u80fd\u591f\u5c06\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u5206\u5f00\uff0c\u4e3a\u5e94\u7528\u914d\u7f6e\u7684\u4fee\u6539\u63d0\u4f9b\u66f4\u52a0\u7075\u6d3b\u7684\u9014\u5f84\u3002

                      Note

                      \u914d\u7f6e\u9879\u5e76\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u7684\u6570\u636e\u662f\u673a\u5bc6\u7684\uff0c\u8bf7\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u4f7f\u7528\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\uff0c\u800c\u4e0d\u662f\u7528\u914d\u7f6e\u9879\u3002 \u6b64\u5916\u5728\u5bb9\u5668\u91cc\u4f7f\u7528\u914d\u7f6e\u9879\u65f6\uff0c\u5bb9\u5668\u548c\u914d\u7f6e\u9879\u5fc5\u987b\u5904\u4e8e\u540c\u4e00\u96c6\u7fa4\u7684\u547d\u540d\u7a7a\u95f4\u4e2d\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

                      \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

                      • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf

                      • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570

                      • \u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_3","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

                      \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                      Note

                      \u914d\u7f6e\u9879\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_4","title":"\u56fe\u5f62\u5316\u754c\u9762\u64cd\u4f5c","text":"

                      \u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                      1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

                      2. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u3002

                        • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u540d\u79f0\u3001 \u914d\u7f6e\u9879 \u7684\u540d\u79f0\u3002

                        • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u914d\u7f6e\u9879 \u540d\u79f0\u3001 \u952e \u7684\u540d\u79f0\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                      \u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u914d\u7f6e\u9879\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 ConfigMap \u4e2d\u7684 Key/Value\u3002

                      apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-1\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"env\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:                  # (1)!\n            configMapKeyRef:\n              name: kpanda-configmap  # (2)!\n              key: SPECIAL_LEVEL      # (3)!\n  restartPolicy: Never\n
                      1. \u4f7f\u7528 valueFrom \u6765\u6307\u5b9a env \u5f15\u7528\u914d\u7f6e\u9879\u7684 value \u503c
                      2. \u5f15\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u540d\u79f0
                      3. \u5f15\u7528\u7684\u914d\u7f6e\u9879 key
                      "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_6","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570","text":"

                      \u60a8\u53ef\u4ee5\u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u4e2d\u7684\u547d\u4ee4\u6216\u8005\u53c2\u6570\u503c\uff0c\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u66ff\u6362\u8bed\u6cd5 $(VAR_NAME) \u6765\u8fdb\u884c\u3002\u5982\u4e0b\u6240\u793a\u3002

                      apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-3\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_LEVEL\n        - name: SPECIAL_TYPE_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_TYPE\n  restartPolicy: Never\n

                      \u8fd9\u4e2a Pod \u8fd0\u884c\u540e\uff0c\u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\u3002

                      Hello Kpanda\n
                      "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_7","title":"\u7528\u4f5c\u5bb9\u5668\u6570\u636e\u5377","text":"

                      \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

                      \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u914d\u7f6e\u9879 \uff0c\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                      1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

                      2. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_9","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                      \u8981\u5728\u4e00\u4e2a Pod \u7684\u5b58\u50a8\u5377\u4e2d\u4f7f\u7528 ConfigMap\u3002

                      \u4e0b\u9762\u662f\u4e00\u4e2a\u5c06 ConfigMap \u4ee5\u5377\u7684\u5f62\u5f0f\u8fdb\u884c\u6302\u8f7d\u7684 Pod \u793a\u4f8b\uff1a

                      apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    configMap:\n      name: myconfigmap\n

                      \u5982\u679c Pod \u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u90fd\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4f46\u9488\u5bf9\u6bcf\u4e2a ConfigMap\uff0c\u60a8\u53ea\u9700\u8981\u8bbe\u7f6e\u4e00\u4e2a spec.volumes \u5757\u3002

                      Note

                      \u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u6302\u8f7d\u7684\u6570\u636e\u5377\u65f6\uff0c\u914d\u7f6e\u9879\u53ea\u80fd\u4f5c\u4e3a\u53ea\u8bfb\u6587\u4ef6\u8fdb\u884c\u8bfb\u53d6\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html","title":"\u4f7f\u7528\u5bc6\u94a5","text":"

                      \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

                      \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u5bc6\u94a5\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

                      • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
                      • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
                      • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u4f7f\u7528\u3002
                      "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_3","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

                      \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                      Note

                      \u5bc6\u94a5\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u5bc6\u94a5\u952e\u503c\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_4","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

                      \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                      1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                      2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

                      3. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u3002

                        • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u3001 \u5bc6\u94a5 \u7684\u540d\u79f0\u3002

                        • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u5bc6\u94a5 \u3001 \u952e \u7684\u540d\u79f0\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                      \u5982\u4e0b\u4f8b\u6240\u793a\uff0c\u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u5bc6\u94a5\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 Secret \u4e2d\u7684 Key/Value\u3002

                      apiVersion: v1\nkind: Pod\nmetadata:\n  name: secret-env-pod\nspec:\n  containers:\n  - name: mycontainer\n    image: redis\n    env:\n      - name: SECRET_USERNAME\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: username\n            optional: false # (1)!\n      - name: SECRET_PASSWORD\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: password\n            optional: false # (2)!\n
                      1. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"username\" \u7684\u4e3b\u952e
                      2. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"password\" \u7684\u4e3b\u952e
                      "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#pod","title":"\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377","text":""},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_6","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

                      \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                      1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                      2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

                      3. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_7","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                      \u4e0b\u9762\u662f\u4e00\u4e2a\u901a\u8fc7\u6570\u636e\u5377\u6765\u6302\u8f7d\u540d\u4e3a mysecret \u7684 Secret \u7684 Pod \u793a\u4f8b\uff1a

                      apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    secret:\n      secretName: mysecret\n      optional: false # (1)!\n
                      1. \u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u610f\u5473\u7740 \"mysecret\" \u5fc5\u987b\u5df2\u7ecf\u5b58\u5728

                      \u5982\u679c Pod \u4e2d\u5305\u542b\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4e0d\u8fc7\u9488\u5bf9\u6bcf\u4e2a Secret \u800c\u8a00\uff0c\u53ea\u9700\u8981\u4e00\u4efd .spec.volumes \u8bbe\u7f6e\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#kubelet","title":"\u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1","text":"

                      \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

                      "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

                      \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                      1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                      2. \u5728\u7b2c\u4e8c\u6b65 \u5bb9\u5668\u914d\u7f6e \u65f6\u9009\u62e9 \u57fa\u672c\u4fe1\u606f \u914d\u7f6e\uff0c\u70b9\u51fb \u9009\u62e9\u955c\u50cf \u6309\u94ae\u3002

                      3. \u5728\u5f39\u6846\u7684 \u955c\u50cf\u4ed3\u5e93 \u4e0b\u62c9\u9009\u62e9\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u540d\u79f0\u3002\u5173\u4e8e\u79c1\u6709\u955c\u50cf\u5bc6\u94a5\u521b\u5efa\u8bf7\u67e5\u770b\u521b\u5efa\u5bc6\u94a5\u4e86\u89e3\u8be6\u60c5\u3002

                      4. \u8f93\u5165\u79c1\u6709\u4ed3\u5e93\u5185\u7684\u955c\u50cf\u540d\u79f0\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u955c\u50cf\u9009\u62e9\u3002

                      Note

                      \u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u9700\u8981\u786e\u4fdd\u8f93\u5165\u6b63\u786e\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3001\u7528\u6237\u540d\u79f0\u3001\u5bc6\u7801\u5e76\u9009\u62e9\u6b63\u786e\u7684\u955c\u50cf\u540d\u79f0\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u83b7\u53d6\u955c\u50cf\u4ed3\u5e93\u4e2d\u7684\u955c\u50cf\u3002

                      "},{"location":"end-user/kpanda/custom-resources/create.html","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90 (CRD)","text":"

                      \u5728 Kubernetes \u4e2d\u4e00\u5207\u5bf9\u8c61\u90fd\u88ab\u62bd\u8c61\u4e3a\u8d44\u6e90\uff0c\u5982 Pod\u3001Deployment\u3001Service\u3001Volume \u7b49\u662f Kubernetes \u63d0\u4f9b\u7684\u9ed8\u8ba4\u8d44\u6e90\uff0c \u8fd9\u4e3a\u6211\u4eec\u7684\u65e5\u5e38\u8fd0\u7ef4\u548c\u7ba1\u7406\u5de5\u4f5c\u63d0\u4f9b\u4e86\u91cd\u8981\u652f\u6491\uff0c\u4f46\u662f\u5728\u4e00\u4e9b\u7279\u6b8a\u7684\u573a\u666f\u4e2d\uff0c\u73b0\u6709\u7684\u9884\u7f6e\u8d44\u6e90\u5e76\u4e0d\u80fd\u6ee1\u8db3\u4e1a\u52a1\u7684\u9700\u8981\uff0c \u56e0\u6b64\u6211\u4eec\u5e0c\u671b\u53bb\u6269\u5c55 Kubernetes API \u7684\u80fd\u529b\uff0c\u81ea\u5b9a\u4e49\u8d44\u6e90\uff08CustomResourceDefinition, CRD\uff09\u6b63\u662f\u57fa\u4e8e\u8fd9\u6837\u7684\u9700\u6c42\u5e94\u8fd0\u800c\u751f\u3002

                      \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9\u81ea\u5b9a\u4e49\u8d44\u6e90\u7684\u754c\u9762\u5316\u7ba1\u7406\uff0c\u4e3b\u8981\u529f\u80fd\u5982\u4e0b\uff1a

                      • \u83b7\u53d6\u96c6\u7fa4\u4e0b\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u548c\u8be6\u7ec6\u4fe1\u606f
                      • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u8d44\u6e90
                      • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b CR\uff08Custom Resource\uff09
                      • \u5220\u9664\u81ea\u5b9a\u4e49\u8d44\u6e90
                      "},{"location":"end-user/kpanda/custom-resources/create.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                      • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a Cluster Admin \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743

                      "},{"location":"end-user/kpanda/custom-resources/create.html#yaml","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90","text":"
                      1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                      3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                      4. \u8fd4\u56de\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                      \u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b\uff1a

                      CRD example
                      apiVersion: apiextensions.k8s.io/v1\nkind: CustomResourceDefinition\nmetadata:\n  name: crontabs.stable.example.com\nspec:\n  group: stable.example.com\n  versions:\n    - name: v1\n      served: true\n      storage: true\n      schema:\n        openAPIV3Schema:\n          type: object\n          properties:\n            spec:\n              type: object\n              properties:\n                cronSpec:\n                  type: string\n                image:\n                  type: string\n                replicas:\n                  type: integer\n  scope: Namespaced\n  names:\n    plural: crontabs\n    singular: crontab\n    kind: CronTab\n    shortNames:\n    - ct\n
                      "},{"location":"end-user/kpanda/custom-resources/create.html#yaml_1","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b","text":"
                      1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                      2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u8fdb\u5165\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\u9762\u3002

                      3. \u70b9\u51fb\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u8fdb\u5165\u8be6\u60c5\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                      4. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                      5. \u8fd4\u56de crontabs.stable.example.com \u7684\u8be6\u60c5\u9875\u9762\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a my-new-cron-object \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                      CR \u793a\u4f8b\uff1a

                      CR example
                      apiVersion: \"stable.example.com/v1\"\nkind: CronTab\nmetadata:\n  name: my-new-cron-object\nspec:\n  cronSpec: \"* * * * */5\"\n  image: my-awesome-cron-image\n
                      "},{"location":"end-user/kpanda/gpu/index.html","title":"GPU \u7ba1\u7406\u6982\u8ff0","text":"

                      \u672c\u6587\u4ecb\u7ecd \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5bf9 GPU\u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8d44\u6e90\u7edf\u4e00\u8fd0\u7ef4\u7ba1\u7406\u80fd\u529b\u3002

                      "},{"location":"end-user/kpanda/gpu/index.html#_1","title":"\u80cc\u666f","text":"

                      \u968f\u7740 AI \u5e94\u7528\u3001\u5927\u6a21\u578b\u3001\u4eba\u5de5\u667a\u80fd\u3001\u81ea\u52a8\u9a7e\u9a76\u7b49\u65b0\u5174\u6280\u672f\u7684\u5feb\u901f\u53d1\u5c55\uff0c\u4f01\u4e1a\u9762\u4e34\u7740\u8d8a\u6765\u8d8a\u591a\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4efb\u52a1\u548c\u6570\u636e\u5904\u7406\u9700\u6c42\u3002 \u4ee5 CPU \u4e3a\u4ee3\u8868\u7684\u4f20\u7edf\u8ba1\u7b97\u67b6\u6784\u5df2\u65e0\u6cd5\u6ee1\u8db3\u4f01\u4e1a\u65e5\u76ca\u589e\u957f\u7684\u8ba1\u7b97\u9700\u6c42\u3002\u6b64\u65f6\uff0c\u4ee5 GPU \u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8ba1\u7b97\u56e0\u5728\u5904\u7406\u5927\u89c4\u6a21\u6570\u636e\u3001\u8fdb\u884c\u590d\u6742\u8ba1\u7b97\u548c\u5b9e\u65f6\u56fe\u5f62\u6e32\u67d3\u65b9\u9762\u5177\u6709\u72ec\u7279\u7684\u4f18\u52bf\u88ab\u5e7f\u6cdb\u5e94\u7528\u3002

                      \u4e0e\u6b64\u540c\u65f6\uff0c\u7531\u4e8e\u7f3a\u4e4f\u5f02\u6784\u8d44\u6e90\u8c03\u5ea6\u7ba1\u7406\u7b49\u65b9\u9762\u7684\u7ecf\u9a8c\u548c\u4e13\u4e1a\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u5bfc\u81f4\u4e86 GPU \u8bbe\u5907\u7684\u8d44\u6e90\u5229\u7528\u7387\u6781\u4f4e\uff0c\u7ed9\u4f01\u4e1a\u5e26\u6765\u4e86\u9ad8\u6602\u7684 AI \u751f\u4ea7\u6210\u672c\u3002 \u5982\u4f55\u964d\u672c\u589e\u6548\uff0c\u63d0\u9ad8 GPU \u7b49\u5f02\u6784\u8d44\u6e90\u7684\u5229\u7528\u6548\u7387\uff0c\u6210\u4e3a\u4e86\u5f53\u524d\u4f17\u591a\u4f01\u4e1a\u4e9f\u9700\u8de8\u8d8a\u7684\u4e00\u9053\u96be\u9898\u3002

                      "},{"location":"end-user/kpanda/gpu/index.html#gpu_1","title":"GPU \u80fd\u529b\u4ecb\u7ecd","text":"

                      \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u652f\u6301\u5bf9 GPU\u3001NPU \u7b49\u5f02\u6784\u8d44\u6e90\u8fdb\u884c\u7edf\u4e00\u8c03\u5ea6\u548c\u8fd0\u7ef4\u7ba1\u7406\uff0c\u5145\u5206\u91ca\u653e GPU \u8d44\u6e90\u7b97\u529b\uff0c\u52a0\u901f\u4f01\u4e1a AI \u7b49\u65b0\u5174\u5e94\u7528\u53d1\u5c55\u3002GPU \u7ba1\u7406\u80fd\u529b\u5982\u4e0b\uff1a

                      • \u652f\u6301\u7edf\u4e00\u7eb3\u7ba1 NVIDIA\u3001\u534e\u4e3a\u6607\u817e\u3001\u5929\u6570\u7b49\u56fd\u5185\u5916\u5382\u5546\u7684\u5f02\u6784\u8ba1\u7b97\u8d44\u6e90\u3002
                      • \u652f\u6301\u540c\u4e00\u96c6\u7fa4\u591a\u5361\u5f02\u6784\u8c03\u5ea6\uff0c\u5e76\u652f\u6301\u96c6\u7fa4 GPU \u5361\u81ea\u52a8\u8bc6\u522b\u3002
                      • \u652f\u6301 NVIDIA GPU\u3001vGPU\u3001MIG \u7b49 GPU \u539f\u751f\u7ba1\u7406\u65b9\u6848\uff0c\u5e76\u63d0\u4f9b\u4e91\u539f\u751f\u80fd\u529b\u3002
                      • \u652f\u6301\u5355\u5757\u7269\u7406\u5361\u5207\u5206\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u4f7f\u7528\uff0c\u5e76\u652f\u6301\u5bf9\u79df\u6237\u548c\u5bb9\u5668\u4f7f\u7528 GPU \u8d44\u6e90\u6309\u7167\u7b97\u529b\u3001\u663e\u5b58\u8fdb\u884c GPU \u8d44\u6e90\u914d\u989d\u3002
                      • \u652f\u6301\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5e94\u7528\u7b49\u591a\u7ef4\u5ea6 GPU \u8d44\u6e90\u76d1\u63a7\uff0c\u5e2e\u52a9\u8fd0\u7ef4\u4eba\u5458\u7ba1\u7406 GPU \u8d44\u6e90\u3002
                      • \u517c\u5bb9 TensorFlow\u3001pytorch \u7b49\u591a\u79cd\u8bad\u7ec3\u6846\u67b6\u3002
                      "},{"location":"end-user/kpanda/gpu/index.html#gpu-operator","title":"GPU Operator \u4ecb\u7ecd","text":"

                      \u540c\u666e\u901a\u8ba1\u7b97\u673a\u786c\u4ef6\u4e00\u6837\uff0cNVIDIA GPU \u5361\u4f5c\u4e3a\u7269\u7406\u786c\u4ef6\uff0c\u5fc5\u987b\u5b89\u88c5 NVIDIA GPU \u9a71\u52a8\u540e\u624d\u80fd\u4f7f\u7528\u3002 \u4e3a\u4e86\u964d\u4f4e\u7528\u6237\u5728 kuberneets \u4e0a\u4f7f\u7528 GPU \u7684\u6210\u672c\uff0cNVIDIA \u5b98\u65b9\u63d0\u4f9b\u4e86 NVIDIA GPU Operator \u7ec4\u4ef6\u6765\u7ba1\u7406\u4f7f\u7528 NVIDIA GPU \u6240\u4f9d\u8d56\u7684\u5404\u79cd\u7ec4\u4ef6\u3002 \u8fd9\u4e9b\u7ec4\u4ef6\u5305\u62ec NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff08\u7528\u4e8e\u542f\u7528 CUDA\uff09\u3001NVIDIA \u5bb9\u5668\u8fd0\u884c\u65f6\u3001GPU \u8282\u70b9\u6807\u8bb0\u3001\u57fa\u4e8e DCGM \u7684\u76d1\u63a7\u7b49\u3002 \u7406\u8bba\u4e0a\u6765\u8bf4\u7528\u6237\u53ea\u9700\u8981\u5c06 GPU \u5361\u63d2\u5728\u5df2\u7ecf\u88ab kubernetes \u6240\u7eb3\u7ba1\u7684\u8ba1\u7b97\u8bbe\u5907\u4e0a\uff0c\u7136\u540e\u901a\u8fc7 GPU Operator \u5c31\u80fd\u4f7f\u7528 NVIDIA GPU \u7684\u6240\u6709\u80fd\u529b\u4e86\u3002 \u4e86\u89e3\u66f4\u591a NVIDIA GPU Operator \u76f8\u5173\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 NVIDIA \u5b98\u65b9\u6587\u6863\u3002 \u5982\u4f55\u90e8\u7f72\u8bf7\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5

                      NVIDIA GPU Operator \u67b6\u6784\u56fe\uff1a

                      "},{"location":"end-user/kpanda/gpu/FAQ.html","title":"GPU \u76f8\u5173 FAQ","text":""},{"location":"end-user/kpanda/gpu/FAQ.html#pod-nvidia-smi-gpu","title":"Pod \u5185 nvidia-smi \u770b\u4e0d\u5230 GPU \u8fdb\u7a0b","text":"

                      Q: \u5728\u4f7f\u7528 GPU \u7684 Pod \u5185\u6267\u884c nvidia-smi \u547d\u4ee4\u770b\u4e0d\u5230\u4f7f\u7528 GPU \u7684\u8fdb\u7a0b\u4fe1\u606f\uff0c\u5305\u62ec\u6574\u5361\u6a21\u5f0f\u3001vGPU \u6a21\u5f0f\u7b49\u3002

                      A: \u56e0\u4e3a\u6709 PID namespace \u9694\u79bb\uff0c\u5bfc\u81f4\u5728 Pod \u5185\u67e5\u770b\u4e0d\u5230 GPU \u8fdb\u7a0b\uff0c\u5982\u679c\u8981\u67e5\u770b GPU \u8fdb\u7a0b\u6709\u5982\u4e0b\u51e0\u79cd\u65b9\u6cd5\uff1a

                      • \u5728\u4f7f\u7528 GPU \u7684\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e hostPID: true\uff0c\u4f7f\u5176\u53ef\u4ee5\u67e5\u770b\u5230\u5bbf\u4e3b\u673a\u4e0a\u7684 PID
                      • \u5728 gpu-operator \u7684 driver Pod \u4e2d\u6267\u884c nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
                      • \u5728\u5bbf\u4e3b\u673a\u4e0a\u6267\u884c chroot /run/nvidia/driver nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
                      "},{"location":"end-user/kpanda/gpu/Iluvatar_usage.html","title":"App \u4f7f\u7528\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"

                      \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u5929\u6570\u667a\u82af\u865a\u62df GPU\u3002

                      "},{"location":"end-user/kpanda/gpu/Iluvatar_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5929\u6570\u667a\u82af GPU \u9a71\u52a8\uff0c\u9a71\u52a8\u5b89\u88c5\u8bf7\u53c2\u8003\u5929\u6570\u667a\u82af\u5b98\u65b9\u6587\u6863\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u4e14\u672a\u88ab\u5176\u5b83 App \u5360\u7528\u3002
                      "},{"location":"end-user/kpanda/gpu/Iluvatar_usage.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/gpu/Iluvatar_usage.html#_3","title":"\u4f7f\u7528\u754c\u9762\u914d\u7f6e","text":"
                      1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Iluvatar \u3002

                      2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Iluvatar\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

                        • \u7269\u7406\u5361\u6570\u91cf\uff08iluvatar.ai/vcuda-core\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                        • \u663e\u5b58\u4f7f\u7528\u6570\u91cf\uff08iluvatar.ai/vcuda-memory\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                        \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                      "},{"location":"end-user/kpanda/gpu/Iluvatar_usage.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                      \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0iluvatar.ai/vcuda-core: 1\u3001iluvatar.ai/vcuda-memory: 200 \u53c2\u6570\uff0c\u914d\u7f6e App \u4f7f\u7528\u7269\u7406\u5361\u7684\u8d44\u6e90\u3002

                      apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-iluvatar-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-iluvatar-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-iluvatar-gpu-demo\n    spec:\n      containers:\n      - image: nginx:perl\n        name: container-0\n        resources:\n          limits:\n            cpu: 250m\n            iluvatar.ai/vcuda-core: '1'\n            iluvatar.ai/vcuda-memory: '200'\n            memory: 512Mi\n          requests:\n            cpu: 250m\n            memory: 512Mi\n      imagePullSecrets:\n      - name: default-secret\n
                      "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html","title":"GPU \u8d44\u6e90\u52a8\u6001\u8c03\u8282","text":"

                      \u63d0\u4f9b GPU \u8d44\u6e90\u52a8\u6001\u8c03\u6574\u529f\u80fd\uff0c\u5141\u8bb8\u60a8\u5728\u65e0\u9700\u91cd\u65b0\u52a0\u8f7d\u3001\u91cd\u7f6e\u6216\u91cd\u542f\u6574\u4e2a\u8fd0\u884c\u73af\u5883\u7684\u60c5\u51b5\u4e0b\uff0c\u5bf9\u5df2\u7ecf\u5206\u914d\u7684 vGPU \u8d44\u6e90\u8fdb\u884c\u5b9e\u65f6\u3001\u52a8\u6001\u7684\u8c03\u6574\u3002 \u8fd9\u4e00\u529f\u80fd\u65e8\u5728\u6700\u5927\u7a0b\u5ea6\u5730\u51cf\u5c11\u5bf9\u4e1a\u52a1\u8fd0\u884c\u7684\u5f71\u54cd\uff0c\u786e\u4fdd\u60a8\u7684\u4e1a\u52a1\u80fd\u591f\u6301\u7eed\u7a33\u5b9a\u5730\u8fd0\u884c\uff0c\u540c\u65f6\u6839\u636e\u5b9e\u9645\u9700\u6c42\u7075\u6d3b\u8c03\u6574 GPU \u8d44\u6e90\u3002

                      "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"
                      • \u5f39\u6027\u8d44\u6e90\u5206\u914d \uff1a\u5f53\u4e1a\u52a1\u9700\u6c42\u6216\u5de5\u4f5c\u8d1f\u8f7d\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u5feb\u901f\u8c03\u6574 GPU \u8d44\u6e90\u4ee5\u6ee1\u8db3\u65b0\u7684\u6027\u80fd\u8981\u6c42\u3002
                      • \u5373\u65f6\u54cd\u5e94 \uff1a\u5728\u9762\u5bf9\u7a81\u53d1\u7684\u9ad8\u8d1f\u8f7d\u6216\u4e1a\u52a1\u9700\u6c42\u65f6\uff0c\u53ef\u4ee5\u8fc5\u901f\u589e\u52a0 GPU \u8d44\u6e90\u800c\u65e0\u9700\u4e2d\u65ad\u4e1a\u52a1\u8fd0\u884c\uff0c\u4ee5\u786e\u4fdd\u670d\u52a1\u7684\u7a33\u5b9a\u6027\u548c\u6027\u80fd\u3002
                      "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                      \u4ee5\u4e0b\u662f\u4e00\u4e2a\u5177\u4f53\u7684\u64cd\u4f5c\u793a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u8c03\u6574 vGPU \u7684\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff1a

                      "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html#vgpu-pod","title":"\u521b\u5efa\u4e00\u4e2a vGPU Pod","text":"

                      \u9996\u5148\uff0c\u6211\u4eec\u4f7f\u7528\u4ee5\u4e0b YAML \u521b\u5efa\u4e00\u4e2a vGPU Pod\uff0c\u5176\u7b97\u529b\u521d\u59cb\u4e0d\u9650\u5236\uff0c\u663e\u5b58\u9650\u5236\u4e3a 200Mb\u3002

                      kind: Deployment\napiVersion: apps/v1\nmetadata:\n  name: gpu-burn-test\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: gpu-burn-test\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: gpu-burn-test\n    spec:\n      containers:\n        - name: container-1\n          image: docker.io/chrstnhntschl/gpu_burn:latest\n          command:\n            - sleep\n            - '100000'\n          resources:\n            limits:\n              cpu: 1m\n              memory: 1Gi\n              nvidia.com/gpucores: '0'\n              nvidia.com/gpumem: '200'\n              nvidia.com/vgpu: '1'\n

                      \u8c03\u6574\u524d\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

                      "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html#_3","title":"\u52a8\u6001\u8c03\u6574\u7b97\u529b","text":"

                      \u5982\u679c\u9700\u8981\u4fee\u6539\u7b97\u529b\u4e3a 10%\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                      1. \u8fdb\u5165\u5bb9\u5668\uff1a

                        kubectl exec -it <pod-name> -- /bin/bash\n
                      2. \u6267\u884c\uff1a

                        export CUDA_DEVICE_SM_LIMIT=10\n
                      3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

                        ./gpu_burn 60\n

                        \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u6ce8\u610f\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

                      "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html#_4","title":"\u52a8\u6001\u8c03\u6574\u663e\u5b58","text":"

                      \u5982\u679c\u9700\u8981\u4fee\u6539\u663e\u5b58\u4e3a 300 MB\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                      1. \u8fdb\u5165\u5bb9\u5668\uff1a

                        kubectl exec -it <pod-name> -- /bin/bash\n
                      2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u8bbe\u7f6e\u663e\u5b58\u9650\u5236\uff1a

                        export CUDA_DEVICE_MEMORY_LIMIT_0=300m\nexport CUDA_DEVICE_MEMORY_SHARED_CACHE=/usr/local/vgpu/d.cache\n

                        Note

                        \u6bcf\u6b21\u4fee\u6539\u663e\u5b58\u5927\u5c0f\u65f6\uff0cd.cache \u8fd9\u4e2a\u6587\u4ef6\u540d\u5b57\u90fd\u9700\u8981\u4fee\u6539\uff0c\u6bd4\u5982\u6539\u4e3a a.cache\u30011.cache \u7b49\uff0c\u4ee5\u907f\u514d\u7f13\u5b58\u51b2\u7a81\u3002

                      3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

                        ./gpu_burn 60\n

                        \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u540c\u6837\u5730\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

                      \u8c03\u6574\u540e\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

                      \u901a\u8fc7\u4e0a\u8ff0\u6b65\u9aa4\uff0c\u60a8\u53ef\u4ee5\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u5730\u8c03\u6574\u5176\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff0c\u4ece\u800c\u66f4\u7075\u6d3b\u5730\u6ee1\u8db3\u4e1a\u52a1\u9700\u6c42\u5e76\u4f18\u5316\u8d44\u6e90\u5229\u7528\u3002

                      "},{"location":"end-user/kpanda/gpu/gpu_matrix.html","title":"GPU \u652f\u6301\u77e9\u9635","text":"

                      \u672c\u9875\u8bf4\u660e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684 GPU \u53ca\u64cd\u4f5c\u7cfb\u7edf\u6240\u5bf9\u5e94\u7684\u77e9\u9635\u3002

                      "},{"location":"end-user/kpanda/gpu/gpu_matrix.html#nvidia-gpu","title":"NVIDIA GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 NVIDIA GPU\uff08\u6574\u5361/vGPU\uff09 NVIDIA Fermi (2.1) \u67b6\u6784 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160\u5185\u6838\u53c2\u8003\u6587\u6863\u5efa\u8bae\u4f7f\u7528\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94 Kernel \u7248\u672c \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 NVIDIA GeForce 400 \u7cfb\u5217 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA Quadro 4000 \u7cfb\u5217 Ubuntu 20.04 Kernel 5.4 NVIDIA Tesla 20 \u7cfb\u5217 Ubuntu 22.04 Kernel 5.19 NVIDIA Ampere \u67b6\u6784\u7cfb\u5217(A100;A800;H100) RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA MIG NVIDIA Ampere \u67b6\u6784\u7cfb\u5217\uff08A100\u3001A800\u3001H100\uff09 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 Ubuntu 20.04 Kernel 5.4 Ubuntu 22.04 Kernel 5.19 RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348"},{"location":"end-user/kpanda/gpu/gpu_matrix.html#ascendnpu","title":"\u6607\u817e\uff08Ascend\uff09NPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 NPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6607\u817e\uff08Ascend 310\uff09 Ascend 310 Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\uff1a\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 300 \u548c 310P \u9a71\u52a8\u6587\u6863 Ascend 310P\uff1b CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf \u6607\u817e\uff08Ascend 910\uff09 Ascend 910B Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 910 \u9a71\u52a8\u6587\u6863 CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf"},{"location":"end-user/kpanda/gpu/gpu_matrix.html#iluvatargpu","title":"\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u5929\u6570\u667a\u82af(Iluvatar vGPU) BI100 CentOS 7 Kernel 3.10.0-957.el7.x86_64 ~ 3.10.0-1160.42.2.el7.x86_64 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 \u8865\u5145\u4e2d MR100\uff1b CentOS 8 Kernel 4.18.0-80.el8.x86_64 ~ 4.18.0-305.19.1.el8_4.x86_64 Ubuntu 20.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic Ubuntu 21.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic openEuler 22.03 LTS Kernel \u7248\u672c\u5927\u4e8e\u7b49\u4e8e 5.1 \u4e14\u5c0f\u4e8e\u7b49\u4e8e 5.10"},{"location":"end-user/kpanda/gpu/gpu_matrix.html#metaxgpu","title":"\u6c90\u66e6\uff08Metax\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6c90\u66e6Metax\uff08\u6574\u5361/vGPU\uff09 \u66e6\u4e91 C500 \u6c90\u66e6 GPU \u5b89\u88c5\u4f7f\u7528"},{"location":"end-user/kpanda/gpu/gpu_scheduler_config.html","title":"GPU \u8c03\u5ea6\u914d\u7f6e\uff08Binpack \u548c Spread \uff09","text":"

                      \u672c\u6587\u4ecb\u7ecd\u4f7f\u7528 NVIDIA vGPU \u65f6\uff0c\u5982\u4f55\u901a\u8fc7 Binpack \u548c Spread \u7684 GPU \u8c03\u5ea6\u914d\u7f6e\u51cf\u5c11 GPU \u8d44\u6e90\u788e\u7247\u3001\u9632\u6b62\u5355\u70b9\u6545\u969c\u7b49\uff0c\u5b9e\u73b0 vGPU \u7684\u9ad8\u7ea7\u8c03\u5ea6\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86\u96c6\u7fa4\u548c\u5de5\u4f5c\u8d1f\u8f7d\u4e24\u79cd\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5206\u522b\u6ee1\u8db3\u4e0d\u540c\u573a\u666f\u4e0b\u7684\u4f7f\u7528\u9700\u6c42\u3002

                      "},{"location":"end-user/kpanda/gpu/gpu_scheduler_config.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                      • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907\u3002
                      • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6 \u548c Nvidia-vgpu \u7ec4\u4ef6\u3002
                      • \u96c6\u7fa4\u8282\u70b9\u5217\u8868\u4e2d\uff0cGPU \u6a21\u5f0f\u4e0b\u5b58\u5728 NVIDIA-vGPU \u7c7b\u578b\u3002
                      "},{"location":"end-user/kpanda/gpu/gpu_scheduler_config.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"
                      • \u57fa\u4e8e GPU \u5361\u7ef4\u5ea6\u8c03\u5ea6\u7b56\u7565

                        • Binpack\uff1a\u4f18\u5148\u9009\u62e9\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
                        • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u5361\u6545\u969c\u3002
                      • \u57fa\u4e8e\u8282\u70b9\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565

                        • Binpack\uff1a \u591a\u4e2a Pod \u4f1a\u4f18\u5148\u9009\u62e9\u540c\u4e00\u4e2a\u8282\u70b9\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
                        • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u4e0d\u540c\u8282\u70b9\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u8282\u70b9\u6545\u969c\u3002
                      "},{"location":"end-user/kpanda/gpu/gpu_scheduler_config.html#binpack-spread","title":"\u96c6\u7fa4\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

                      Note

                      \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u4f1a\u9075\u5faa\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e\u3002 \u82e5\u5de5\u4f5c\u8d1f\u8f7d\u5355\u72ec\u8bbe\u7f6e\u4e86\u4e0e\u96c6\u7fa4\u4e0d\u4e00\u81f4\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5219\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u4f18\u5148\u9075\u5faa\u5176\u672c\u8eab\u7684\u8c03\u5ea6\u7b56\u7565\u3002

                      1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u8c03\u6574 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb GPU \u8c03\u5ea6\u914d\u7f6e \u3002

                      2. \u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u540e\u4fdd\u5b58\u3002

                      "},{"location":"end-user/kpanda/gpu/gpu_scheduler_config.html#binpack-spread_1","title":"\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

                      Note

                      \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684\u914d\u7f6e\u51b2\u7a81\u65f6\uff0c\u4f18\u5148\u9075\u5faa\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684\u914d\u7f6e\u3002

                      \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\uff0c\u5e76\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565 \u3002

                      1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                      2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                      3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\uff0c\u5e76\u5728 \u5bb9\u5668\u914d\u7f6e \u4e2d\u542f\u7528 GPU \u914d\u7f6e\uff0c\u9009\u62e9 GPU \u7c7b\u578b\u4e3a NVIDIA vGPU\uff0c \u70b9\u51fb \u9ad8\u7ea7\u8bbe\u7f6e \uff0c\u542f\u7528 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\u3002\u914d\u7f6e\u5b8c\u6210\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c \u8fdb\u5165 \u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                      "},{"location":"end-user/kpanda/gpu/vgpu_quota.html","title":"GPU \u914d\u989d\u7ba1\u7406","text":"

                      \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

                      "},{"location":"end-user/kpanda/gpu/vgpu_quota.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                      \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u6216\u624b\u52a8\u65b9\u5f0f\u90e8\u7f72\u5bf9\u5e94\u7c7b\u578b GPU \u9a71\u52a8\uff08NVIDIA GPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\uff09

                      "},{"location":"end-user/kpanda/gpu/vgpu_quota.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                      1. \u8fdb\u5165 Namespaces \u4e2d\uff0c\u70b9\u51fb \u914d\u989d\u7ba1\u7406 \u53ef\u4ee5\u914d\u7f6e\u5f53\u524d Namespace \u53ef\u4ee5\u4f7f\u7528\u7684 GPU \u8d44\u6e90\u3002

                      2. \u5f53\u524d\u547d\u540d\u7a7a\u95f4\u914d\u989d\u7ba1\u7406\u8986\u76d6\u7684\u5361\u7c7b\u578b\u4e3a\uff1aNVIDIA vGPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\u3002

                        NVIDIA vGPU \u914d\u989d\u7ba1\u7406 \uff1a\u914d\u7f6e\u5177\u4f53\u53ef\u4ee5\u4f7f\u7528\u7684\u914d\u989d\uff0c\u4f1a\u521b\u5efa ResourcesQuota CR\uff1a

                        • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d POD \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u5e76\u4e14\u8981 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                        • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b\u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c\u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a 100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
                        • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html","title":"\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5","text":"

                      \u672c\u7ae0\u8282\u63d0\u4f9b\u6607\u817e NPU \u9a71\u52a8\u3001Device Plugin\u3001NPU-Exporter \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u3002

                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u652f\u6301\u7684 NPU \u578b\u53f7\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
                      2. \u8bf7\u786e\u8ba4 \u5bf9\u5e94 NPU \u578b\u53f7\u6240\u8981\u6c42\u7684\u5185\u6838\u7248\u672c\u662f\u5426\u5339\u914d\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
                      3. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#_2","title":"\u5b89\u88c5\u6b65\u9aa4","text":"

                      \u4f7f\u7528 NPU \u8d44\u6e90\u4e4b\u524d\uff0c\u9700\u8981\u5b8c\u6210\u56fa\u4ef6\u5b89\u88c5\u3001NPU \u9a71\u52a8\u5b89\u88c5\u3001 Docker Runtime \u5b89\u88c5\u3001\u7528\u6237\u521b\u5efa\u3001\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa\u4ee5\u53ca NPU Device Plugin \u5b89\u88c5\uff0c\u8be6\u60c5\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u3002

                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#_3","title":"\u5b89\u88c5\u56fa\u4ef6","text":"
                      1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u5185\u6838\u7248\u672c\u5728\u201c\u4e8c\u8fdb\u5236\u5b89\u88c5\u201d\u5b89\u88c5\u65b9\u5f0f\u5bf9\u5e94\u7684\u7248\u672c\u8303\u56f4\u5185\uff0c\u5219\u53ef\u4ee5\u76f4\u63a5\u5b89\u88c5NPU\u9a71\u52a8\u56fa\u4ef6\u3002
                      2. \u56fa\u4ef6\u4e0e\u9a71\u52a8\u4e0b\u8f7d\u8bf7\u53c2\u8003\u56fa\u4ef6\u4e0b\u8f7d\u5730\u5740
                      3. \u56fa\u4ef6\u5b89\u88c5\u8bf7\u53c2\u8003\u5b89\u88c5 NPU \u9a71\u52a8\u56fa\u4ef6
                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#npu_1","title":"\u5b89\u88c5 NPU \u9a71\u52a8","text":"
                      1. \u5982\u9a71\u52a8\u672a\u5b89\u88c5\uff0c\u8bf7\u53c2\u8003\u6607\u817e\u5b98\u65b9\u6587\u6863\u8fdb\u884c\u5b89\u88c5\u3002\u4f8b\u5982 Ascend910\uff0c\u53c2\u8003 910 \u9a71\u52a8\u5b89\u88c5\u6587\u6863\u3002
                      2. \u8fd0\u884c npu-smi info \u547d\u4ee4\uff0c\u5e76\u4e14\u80fd\u591f\u6b63\u5e38\u8fd4\u56de NPU \u4fe1\u606f\uff0c\u8868\u793a NPU \u9a71\u52a8\u4e0e\u56fa\u4ef6\u5df2\u5c31\u7eea\u3002
                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#docker-runtime","title":"\u5b89\u88c5 Docker Runtime","text":"
                      1. \u4e0b\u8f7d Ascend Docker Runtime

                        \u793e\u533a\u7248\u4e0b\u8f7d\u5730\u5740\uff1ahttps://www.hiascend.com/zh/software/mindx-dl/community

                        wget -c https://mindx.obs.cn-south-1.myhuaweicloud.com/OpenSource/MindX/MindX%205.0.RC2/MindX%20DL%205.0.RC2/Ascend-docker-runtime_5.0.RC2_linux-x86_64.run\n

                        \u5b89\u88c5\u5230\u6307\u5b9a\u8def\u5f84\u4e0b\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b\u4e24\u6761\u547d\u4ee4\uff0c\u53c2\u6570\u4e3a\u6307\u5b9a\u7684\u5b89\u88c5\u8def\u5f84:

                        chmod u+x Ascend-docker-runtime_5.0.RC2_linux-x86_64.run \n./Ascend-docker-runtime_{version}_linux-{arch}.run --install --install-path=<path>\n
                      2. \u4fee\u6539 containerd \u914d\u7f6e\u6587\u4ef6

                        containerd \u65e0\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u65f6\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b3\u6761\u547d\u4ee4\uff0c\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\uff1a

                        mkdir /etc/containerd \ncontainerd config default > /etc/containerd/config.toml \nvim /etc/containerd/config.toml\n

                        containerd \u6709\u914d\u7f6e\u6587\u4ef6\u65f6\uff1a

                        vim /etc/containerd/config.toml\n

                        \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u4fee\u6539 runtime \u7684\u5b89\u88c5\u8def\u5f84\uff0c\u4e3b\u8981\u4fee\u6539 runtime \u5b57\u6bb5\uff1a

                        ... \n[plugins.\"io.containerd.monitor.v1.cgroups\"]\n   no_prometheus = false  \n[plugins.\"io.containerd.runtime.v1.linux\"]\n   shim = \"containerd-shim\"\n   runtime = \"/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime\"\n   runtime_root = \"\"\n   no_shim = false\n   shim_debug = false\n [plugins.\"io.containerd.runtime.v2.task\"]\n   platforms = [\"linux/amd64\"]\n...\n

                        \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u91cd\u542f containerd\uff1a

                        systemctl restart containerd\n
                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#_4","title":"\u7528\u6237\u521b\u5efa","text":"

                      \u5728\u5bf9\u5e94\u7ec4\u4ef6\u5b89\u88c5\u7684\u8282\u70b9\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u521b\u5efa\u7528\u6237\u3002

                      # Ubuntu \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /usr/sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n# Centos \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n
                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#_5","title":"\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa","text":"

                      \u5728\u5bf9\u5e94\u8282\u70b9\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u548c\u5404\u7ec4\u4ef6\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5e76\u8bbe\u7f6e\u76ee\u5f55\u5bf9\u5e94\u5c5e\u4e3b\u548c\u6743\u9650\u3002\u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u3002

                      mkdir -m 755 /var/log/mindx-dl\nchown root:root /var/log/mindx-dl\n

                      \u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa Device Plugin \u7ec4\u4ef6\u65e5\u5fd7\u76ee\u5f55\u3002

                      mkdir -m 750 /var/log/mindx-dl/devicePlugin\nchown root:root /var/log/mindx-dl/devicePlugin\n

                      Note

                      \u8bf7\u5206\u522b\u4e3a\u6240\u9700\u7ec4\u4ef6\u521b\u5efa\u5bf9\u5e94\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5f53\u524d\u6848\u4f8b\u4e2d\u53ea\u9700\u8981 Device Plugin \u7ec4\u4ef6\u3002 \u5982\u679c\u6709\u5176\u4ed6\u7ec4\u4ef6\u9700\u6c42\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863

                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#label","title":"\u521b\u5efa\u8282\u70b9 Label","text":"

                      \u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\u5728\u5bf9\u5e94\u8282\u70b9\u4e0a\u521b\u5efa Label\uff1a

                      # \u5728\u5b89\u88c5\u4e86\u9a71\u52a8\u7684\u8ba1\u7b97\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} huawei.com.ascend/Driver=installed\nkubectl label node {nodename} node-role.kubernetes.io/worker=worker\nkubectl label node {nodename} workerselector=dls-worker-node\nkubectl label node {nodename} host-arch=huawei-arm //\u6216\u8005host-arch=huawei-x86 \uff0c\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\nkubectl label node {nodename} accelerator=huawei-Ascend910 //\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u9009\u62e9\n# \u5728\u63a7\u5236\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} masterselector=dls-master-node\n
                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#device-plugin-npuexporter","title":"\u5b89\u88c5 Device Plugin \u548c NpuExporter","text":"

                      \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 ascend-mindxdl \u3002

                      • DevicePlugin \uff1a\u901a\u8fc7\u63d0\u4f9b\u901a\u7528\u8bbe\u5907\u63d2\u4ef6\u673a\u5236\u548c\u6807\u51c6\u7684\u8bbe\u5907API\u63a5\u53e3\uff0c\u4f9bKubernetes\u4f7f\u7528\u8bbe\u5907\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
                      • NpuExporter \uff1a\u57fa\u4e8ePrometheus/Telegraf\u751f\u6001\uff0c\u8be5\u7ec4\u4ef6\u63d0\u4f9b\u63a5\u53e3\uff0c\u5e2e\u52a9\u7528\u6237\u80fd\u591f\u5173\u6ce8\u5230\u6607\u817e\u7cfb\u5217AI\u5904\u7406\u5668\u4ee5\u53ca\u5bb9\u5668\u7ea7\u5206\u914d\u72b6\u6001\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
                      • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b NPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 ascend-mindxdl \u5b89\u88c5\u5931\u8d25\u3002
                      • isVirtualMachine \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5982\u679c NPU \u8282\u70b9\u4e3a\u4e91\u4e3b\u673a\u573a\u666f\uff0c\u8bf7\u5f00\u542f\u00a0isVirtualMachine \u53c2\u6570\u3002

                      \u5b89\u88c5\u6210\u529f\u540e\uff0c\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u4f1a\u51fa\u73b0\u4e24\u4e2a\u7ec4\u4ef6\uff0c\u5982\u4e0b\u56fe\uff1a

                      \u540c\u65f6\u8282\u70b9\u4fe1\u606f\u4e0a\u4e5f\u4f1a\u51fa\u73b0\u5bf9\u5e94 NPU \u7684\u4fe1\u606f\uff1a

                      \u4e00\u5207\u5c31\u7eea\u540e\uff0c\u6211\u4eec\u901a\u8fc7\u9875\u9762\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5c31\u80fd\u591f\u9009\u62e9\u5230\u5bf9\u5e94\u7684 NPU \u8bbe\u5907\uff0c\u5982\u4e0b\u56fe\uff1a

                      Note

                      \u6709\u5173\u8be6\u7ec6\u4f7f\u7528\u6b65\u9aa4\uff0c\u8bf7\u53c2\u7167\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU\u3002

                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_usage.html","title":"\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU","text":"

                      \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u6607\u817e GPU\u3002

                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
                      • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5185 NPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002

                      \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_usage.html#_2","title":"\u5feb\u901f\u4f7f\u7528","text":"

                      \u672c\u6587\u4f7f\u7528\u6607\u817e\u793a\u4f8b\u5e93\u4e2d\u7684 AscentCL \u56fe\u7247\u5206\u7c7b\u5e94\u7528\u793a\u4f8b\u3002

                      1. \u4e0b\u8f7d\u6607\u817e\u4ee3\u7801\u5e93

                        \u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u4e0b\u8f7d\u6607\u817e Demo \u793a\u4f8b\u4ee3\u7801\u5e93\uff0c\u5e76\u4e14\u8bf7\u8bb0\u4f4f\u4ee3\u7801\u5b58\u653e\u7684\u4f4d\u7f6e\uff0c\u540e\u7eed\u9700\u8981\u4f7f\u7528\u3002

                        git clone https://gitee.com/ascend/samples.git\n
                      2. \u51c6\u5907\u57fa\u7840\u955c\u50cf

                        \u6b64\u4f8b\u4f7f\u7528 Ascent-pytorch \u57fa\u7840\u955c\u50cf\uff0c\u53ef\u8bbf\u95ee\u6607\u817e\u955c\u50cf\u4ed3\u5e93\u83b7\u53d6\u3002

                      3. \u51c6\u5907 YAML

                        ascend-demo.yaml
                        apiVersion: batch/v1\nkind: Job\nmetadata:\n  name: resnetinfer1-1-1usoc\nspec:\n  template:\n    spec:\n      containers:\n        - image: ascendhub.huawei.com/public-ascendhub/ascend-pytorch:23.0.RC2-ubuntu18.04 # Inference image name\n          imagePullPolicy: IfNotPresent\n          name: resnet50infer\n          securityContext:\n            runAsUser: 0\n          command:\n            - \"/bin/bash\"\n            - \"-c\"\n            - |\n              source /usr/local/Ascend/ascend-toolkit/set_env.sh &&\n              TEMP_DIR=/root/samples_copy_$(date '+%Y%m%d_%H%M%S_%N') &&\n              cp -r /root/samples \"$TEMP_DIR\" &&\n              cd \"$TEMP_DIR\"/inference/modelInference/sampleResnetQuickStart/python/model &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/resnet50/resnet50.onnx &&\n              atc --model=resnet50.onnx --framework=5 --output=resnet50 --input_shape=\"actual_input_1:1,3,224,224\"  --soc_version=Ascend910 &&\n              cd ../data &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg &&\n              cd ../scripts &&\n              bash sample_run.sh\n          resources:\n            requests:\n              huawei.com/Ascend910: 1 # Number of the Ascend 910 Processors\n            limits:\n              huawei.com/Ascend910: 1 # The value should be the same as that of requests\n          volumeMounts:\n            - name: hiai-driver\n              mountPath: /usr/local/Ascend/driver\n              readOnly: true\n            - name: slog\n              mountPath: /var/log/npu/conf/slog/slog.conf\n            - name: localtime # The container time must be the same as the host time\n              mountPath: /etc/localtime\n            - name: dmp\n              mountPath: /var/dmp_daemon\n            - name: slogd\n              mountPath: /var/slogd\n            - name: hbasic\n              mountPath: /etc/hdcBasic.cfg\n            - name: sys-version\n              mountPath: /etc/sys_version.conf\n            - name: aicpu\n              mountPath: /usr/lib64/aicpu_kernels\n            - name: tfso\n              mountPath: /usr/lib64/libtensorflow.so\n            - name: sample-path\n              mountPath: /root/samples\n      volumes:\n        - name: hiai-driver\n          hostPath:\n            path: /usr/local/Ascend/driver\n        - name: slog\n          hostPath:\n            path: /var/log/npu/conf/slog/slog.conf\n        - name: localtime\n          hostPath:\n            path: /etc/localtime\n        - name: dmp\n          hostPath:\n            path: /var/dmp_daemon\n        - name: slogd\n          hostPath:\n            path: /var/slogd\n        - name: hbasic\n          hostPath:\n            path: /etc/hdcBasic.cfg\n        - name: sys-version\n          hostPath:\n            path: /etc/sys_version.conf\n        - name: aicpu\n          hostPath:\n            path: /usr/lib64/aicpu_kernels\n        - name: tfso\n          hostPath:\n            path: /usr/lib64/libtensorflow.so\n        - name: sample-path\n          hostPath:\n            path: /root/samples\n      restartPolicy: OnFailure\n

                        \u4ee5\u4e0a YAML \u4e2d\u6709\u4e00\u4e9b\u5b57\u6bb5\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u4fee\u6539\uff1a

                        1. atc ... --soc_version=Ascend910 \u4f7f\u7528\u7684\u662f Ascend910 \uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u4e3b \u60a8\u53ef\u4ee5\u4f7f\u7528 npu-smi info \u547d\u4ee4\u67e5\u770b\u663e\u5361\u578b\u53f7\u7136\u540e\u52a0\u4e0a Ascend \u524d\u7f00\u5373\u53ef
                        2. samples-path \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
                        3. resources \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
                      4. \u90e8\u7f72 Job \u5e76\u67e5\u770b\u7ed3\u679c

                        \u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u521b\u5efa Job\uff1a

                        kubectl apply -f ascend-demo.yaml\n

                        \u67e5\u770b Pod \u8fd0\u884c\u72b6\u6001\uff1a

                        Pod \u6210\u529f\u8fd0\u884c\u540e\uff0c\u67e5\u770b\u65e5\u5fd7\u7ed3\u679c\u3002\u5728\u5c4f\u5e55\u4e0a\u7684\u5173\u952e\u63d0\u793a\u4fe1\u606f\u793a\u4f8b\u5982\u4e0b\u56fe\uff0c\u63d0\u793a\u4fe1\u606f\u4e2d\u7684 Label \u8868\u793a\u7c7b\u522b\u6807\u8bc6\uff0c Conf \u8868\u793a\u8be5\u5206\u7c7b\u7684\u6700\u5927\u7f6e\u4fe1\u5ea6\uff0cClass \u8868\u793a\u6240\u5c5e\u7c7b\u522b\u3002\u8fd9\u4e9b\u503c\u53ef\u80fd\u4f1a\u6839\u636e\u7248\u672c\u3001\u73af\u5883\u6709\u6240\u4e0d\u540c\uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6\uff1a

                        \u7ed3\u679c\u56fe\u7247\u5c55\u793a\uff1a

                      "},{"location":"end-user/kpanda/gpu/ascend/ascend_usage.html#_3","title":"\u754c\u9762\u4f7f\u7528","text":"
                      1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Ascend \u3002

                      2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Ascend\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

                        \u7269\u7406\u5361\u6570\u91cf\uff08huawei.com/Ascend910\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14**\u5c0f\u4e8e\u7b49\u4e8e**\u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

                        \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                      "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html","title":"\u542f\u7528\u6607\u817e\u865a\u62df\u5316","text":"

                      \u6607\u817e\u865a\u62df\u5316\u5206\u4e3a\u52a8\u6001\u865a\u62df\u5316\u548c\u9759\u6001\u865a\u62df\u5316\uff0c\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f\u5e76\u4f7f\u7528\u6607\u817e\u9759\u6001\u865a\u62df\u5316\u80fd\u529b\u3002

                      "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      • Kubernetes \u96c6\u7fa4\u73af\u5883\u642d\u5efa\u3002
                      • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
                      • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
                      • \u652f\u6301\u7684 NPU \u5361\u578b\u53f7\uff1a

                        • Ascend 310P\uff0c\u5df2\u9a8c\u8bc1
                        • Ascend 910b\uff0820 \u6838\uff09\uff0c\u5df2\u9a8c\u8bc1
                        • Ascend 910\uff0832 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1
                        • Ascend 910\uff0830 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1

                        \u66f4\u591a\u7ec6\u8282\u53c2\u9605\u5b98\u65b9\u865a\u62df\u5316\u786c\u4ef6\u8bf4\u660e\u3002

                      \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

                      "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html#_3","title":"\u5f00\u542f\u865a\u62df\u5316\u80fd\u529b","text":"

                      \u5f00\u542f\u865a\u62df\u5316\u80fd\u529b\u9700\u8981\u624b\u52a8\u4fee\u6539\u00a0ascend-device-plugin-daemonset \u7ec4\u4ef6\u7684\u542f\u52a8\u53c2\u6570\uff0c\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

                      - device-plugin -useAscendDocker=true -volcanoType=false -presetVirtualDevice=true\n- logFile=/var/log/mindx-dl/devicePlugin/devicePlugin.log -logLevel=0\n
                      "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html#vnpu","title":"\u5207\u5206 VNPU \u5b9e\u4f8b","text":"

                      \u9759\u6001\u865a\u62df\u5316\u9700\u8981\u624b\u52a8\u5bf9 VNPU \u5b9e\u4f8b\u7684\u5207\u5206\uff0c\u8bf7\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

                      npu-smi set -t create-vnpu -i 13 -c 0 -f vir02\n
                      • i \u6307\u7684\u662f card id
                      • c \u6307\u7684\u662f chip id
                      • vir02 \u6307\u7684\u662f\u5207\u5206\u89c4\u683c\u6a21\u677f

                      \u5173\u4e8e card id \u548c chip id\uff0c\u53ef\u4ee5\u901a\u8fc7 npu-smi info \u67e5\u8be2\uff0c\u5207\u5206\u89c4\u683c\u53ef\u901a\u8fc7 ascend \u5b98\u65b9\u6a21\u677f\u8fdb\u884c\u67e5\u8be2\u3002

                      \u5207\u5206\u5b9e\u4f8b\u8fc7\u540e\u53ef\u901a\u8fc7\u4e0b\u8ff0\u547d\u4ee4\u67e5\u8be2\u5207\u5206\u7ed3\u679c\uff1a

                      npu-smi info -t info-vnpu -i 13 -c 0\n

                      \u67e5\u8be2\u7ed3\u679c\u5982\u4e0b\uff1a

                      "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html#ascend-device-plugin-daemonset","title":"\u91cd\u542f\u00a0ascend-device-plugin-daemonset","text":"

                      \u5207\u5206\u5b9e\u4f8b\u540e\u624b\u52a8\u91cd\u542f device-plugin pod\uff0c\u7136\u540e\u4f7f\u7528 kubectl describe \u547d\u4ee4\u67e5\u770b\u5df2\u6ce8\u518c node \u7684\u8d44\u6e90\uff1a

                      kubectl describe node {{nodename}}\n

                      "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html#_4","title":"\u5982\u4f55\u4f7f\u7528\u8bbe\u5907","text":"

                      \u5728\u521b\u5efa\u5e94\u7528\u65f6\uff0c\u6307\u5b9a\u8d44\u6e90 key\uff0c\u53c2\u8003\u4e0b\u8ff0 YAML\uff1a

                      ......\nresources:\n  requests:\n    huawei.com/Ascend310P-2c: 1\n  limits:\n    huawei.com/Ascend310P-2c: 1\n......\n
                      "},{"location":"end-user/kpanda/gpu/metax/usemetax.html","title":"\u6c90\u66e6 GPU \u7ec4\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528","text":"

                      \u672c\u7ae0\u8282\u63d0\u4f9b\u6c90\u66e6 gpu-extensions\u3001gpu-operator \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u548c\u6c90\u66e6 GPU \u6574\u5361\u548c vGPU \u4e24\u79cd\u6a21\u5f0f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002

                      "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                      1. \u5df2\u5728\u6c90\u66e6\u8f6f\u4ef6\u4e2d\u5fc3\u4e0b\u8f7d\u5e76\u5b89\u88c5\u6240\u9700\u7684 tar \u5305\uff0c \u672c\u6587\u4ee5 metax-gpu-k8s-package.0.7.10.tar.gz \u4e3a\u4f8b\u3002
                      2. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
                      "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#_2","title":"\u7ec4\u4ef6\u4ecb\u7ecd","text":"

                      Metax \u63d0\u4f9b\u4e86\u4e24\u4e2a helm-chart \u5305\uff0c\u4e00\u4e2a\u662f metax-extensions\uff0c\u4e00\u4e2a\u662f gpu-operator\uff0c\u6839\u636e\u4f7f\u7528\u573a\u666f\u53ef\u9009\u62e9\u5b89\u88c5\u4e0d\u540c\u7684\u7ec4\u4ef6\u3002

                      1. Metax-extensions\uff1a\u5305\u542b gpu-device \u548c gpu-label \u4e24\u4e2a\u7ec4\u4ef6\u3002\u5728\u4f7f\u7528 Metax-extensions \u65b9\u6848\u65f6\uff0c\u7528\u6237\u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u9700\u8981\u57fa\u4e8e MXMACA\u00ae \u57fa\u7840\u955c\u50cf\u6784\u5efa\u3002\u4e14 Metax-extensions \u4ec5\u9002\u7528\u4e8e GPU \u6574\u5361\u4f7f\u7528\u573a\u666f\u3002
                      2. gpu-operator\uff1a\u5305\u542b gpu-device\u3001gpu-label\u3001driver-manager\u3001container-runtime\u3001operator-controller \u8fd9\u4e9b\u7ec4\u4ef6\u3002 \u4f7f\u7528 gpu-operator \u65b9\u6848\u65f6\uff0c\u7528\u6237\u53ef\u9009\u62e9\u5236\u4f5c\u4e0d\u5305\u542b MXMACA\u00ae SDK \u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u3002gpu-operator \u9002\u7528\u4e8e GPU \u6574\u5361\u548c vGPU \u573a\u666f\u3002
                      "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                      1. \u4ece /home/metax/metax-docs/k8s/metax-gpu-k8s-package.0.7.10.tar.gz \u6587\u4ef6\u4e2d\u89e3\u538b\u51fa

                        • deploy-gpu-extensions.yaml # \u90e8\u7f72yaml
                        • metax-gpu-extensions-0.7.10.tgz\u3001metax-operator-0.7.10.tgz # helm chart\u6587\u4ef6
                        • metax-k8s-images.0.7.10.run # \u79bb\u7ebf\u955c\u50cf
                      2. \u67e5\u770b\u7cfb\u7edf\u662f\u5426\u5b89\u88c5\u9a71\u52a8

                        $ lsmod | grep metax \nmetax 1605632 0 \nttm 86016 3 drm_vram_helper,metax,drm_ttm_helper \ndrm 618496 7 drm_kms_helper,drm_vram_helper,ast,metax,drm_ttm_helper,ttm\n
                        • \u5982\u6ca1\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5c31\u8868\u793a\u6ca1\u6709\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002\u5982\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5219\u8868\u793a\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002
                        • \u4f7f\u7528 metax-opeartor \u65f6\uff0c\u4e0d\u63a8\u8350\u5728\u5de5\u4f5c\u8282\u70b9\u9884\u5b89\u88c5 MXMACA \u5185\u6838\u6001\u9a71\u52a8\uff0c\u82e5\u5df2\u5b89\u88c5\u4e5f\u65e0\u9700\u5378\u8f7d\u3002
                      3. \u5b89\u88c5\u9a71\u52a8

                      "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#gpu-extensions","title":"gpu-extensions","text":"
                      1. \u63a8\u9001\u955c\u50cf

                        tar -xf metax-gpu-k8s-package.0.7.10.tar.gz\n./metax-k8s-images.0.7.10.run push {registry}/metax\n
                      2. \u63a8\u9001 Helm Chart

                        helm plugin install https://github.com/chartmuseum/helm-push\nhelm repo add  --username rootuser --password rootpass123  metax http://172.16.16.5:8081\nhelm cm-push metax-operator-0.7.10.tgz metax\nhelm cm-push metax-gpu-extensions-0.7.10.tgz metax\n
                      3. \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u5b89\u88c5 metax-gpu-extensions

                        \u90e8\u7f72\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u67e5\u770b\u5230\u8d44\u6e90\u3002

                      4. \u4fee\u6539\u6210\u529f\u4e4b\u540e\u5c31\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u770b\u5230\u5e26\u6709 Metax GPU \u7684\u6807\u7b7e

                      "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#gpu-operator","title":"gpu-operator","text":"

                      \u5b89\u88c5 gpu-opeartor \u65f6\u7684\u5df2\u77e5\u95ee\u9898\uff1a

                      1. metax-operator\u3001gpu-label\u3001gpu-device \u3001container-runtime \u8fd9\u51e0\u4e2a\u7ec4\u4ef6\u955c\u50cf\u8981\u5e26\u6709 amd64 \u540e\u7f00\u3002

                      2. metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u4e0d\u5728 metax-k8s-images.0.7.13.run \u5305\u91cc\u9762\uff0c\u9700\u8981\u5355\u72ec\u4e0b\u8f7d maca-mxc500-2.23.0.23-ubuntu20.04-x86_64.tar.xz \u8fd9\u7c7b\u955c\u50cf\uff0cload \u4e4b\u540e\u91cd\u65b0\u4fee\u6539 metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u3002

                      3. metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u9700\u8981\u4ece https://pub-docstore.metax-tech.com:7001 \u8fd9\u4e2a\u7f51\u7ad9\u4e0b\u8f7d k8s-driver-image.2.23.0.25.run \u6587\u4ef6\uff0c\u7136\u540e\u6267\u884c k8s-driver-image.2.23.0.25.run push {registry}/metax \u547d\u4ee4\u628a\u955c\u50cf\u63a8\u9001\u5230\u955c\u50cf\u4ed3\u5e93\u3002\u63a8\u9001\u4e4b\u540e\u4fee\u6539 metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u5730\u5740\u3002

                      "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#gpu_1","title":"\u4f7f\u7528 GPU","text":"

                      \u5b89\u88c5\u540e\u53ef\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u4f7f\u7528\u6c90\u66e6 GPU\u3002\u6ce8\u610f\u542f\u7528 GPU \u540e\uff0c\u9700\u9009\u62e9GPU\u7c7b\u578b\u4e3a Metax GPU

                      \u8fdb\u5165\u5bb9\u5668\uff0c\u6267\u884c mx-smi \u53ef\u67e5\u770b GPU \u7684\u4f7f\u7528\u60c5\u51b5.

                      "},{"location":"end-user/kpanda/gpu/mlu/use-mlu.html","title":"\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU","text":"

                      \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU\u3002

                      "},{"location":"end-user/kpanda/gpu/mlu/use-mlu.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                      • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                      • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                      • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5bd2\u6b66\u7eaa\u56fa\u4ef6\u3001\u9a71\u52a8\u4ee5\u53caDevicePlugin\u7ec4\u4ef6\uff0c\u5b89\u88c5\u8be6\u60c5\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\uff1a
                        • \u9a71\u52a8\u56fa\u4ef6\u5b89\u88c5
                        • DevicePlugin \u5b89\u88c5

                      \u5728\u5b89\u88c5 DevicePlugin \u65f6\u8bf7\u5173\u95ed --enable-device-type \u53c2\u6570\uff0c\u5426\u5219\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06\u65e0\u6cd5\u6b63\u786e\u8bc6\u522b\u5bd2\u6b66\u7eaa GPU\u3002

                      "},{"location":"end-user/kpanda/gpu/mlu/use-mlu.html#gpu_1","title":"\u5bd2\u6b66\u7eaa GPU \u6a21\u5f0f\u4ecb\u7ecd","text":"

                      \u5bd2\u6b66\u7eaa GPU \u6709\u4ee5\u4e0b\u51e0\u79cd\u6a21\u5f0f\uff1a

                      • \u6574\u5361\u6a21\u5f0f\uff1a\u5c06\u5bd2\u6b66\u7eaaGPU\u4ee5\u6574\u5361\u7684\u65b9\u5f0f\u6ce8\u518c\u5230\u96c6\u7fa4\u5f53\u4e2d\u8fdb\u884c\u4f7f\u7528\u3002
                      • Share \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u4e00\u5f20\u5bd2\u6b66\u7eaaGPU\u5171\u4eab\u7ed9\u591a\u4e2a Pod \u8fdb\u884c\u4f7f\u7528\uff0c\u53ef\u4ee5\u901a\u8fc7 virtualization-num \u53c2\u6570\u8fdb\u884c\u8bbe\u7f6e\u53ef\u5171\u4eab\u5bb9\u5668\u7684\u6570\u91cf\u3002
                      • Dynamic smlu \u6a21\u5f0f\uff1a\u8fdb\u4e00\u6b65\u5bf9\u8d44\u6e90\u8fdb\u884c\u4e86\u7ec6\u5316\uff0c\u53ef\u4ee5\u63a7\u5236\u5206\u914d\u7ed9\u5bb9\u5668\u7684\u663e\u5b58\u3001\u7b97\u529b\u7684\u5927\u5c0f\u3002
                      • Mim \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u5bd2\u6b66\u7eaa GPU \u6309\u7167\u56fa\u5b9a\u7684\u89c4\u683c\u5207\u5206\u6210\u591a\u5f20 GPU \u8fdb\u884c\u4f7f\u7528\u3002
                      "},{"location":"end-user/kpanda/gpu/mlu/use-mlu.html#ai","title":"\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u5bd2\u6b66\u7eaa","text":"

                      \u8fd9\u91cc\u4ee5 Dynamic smlu \u6a21\u5f0f\u4e3a\u4f8b\uff1a

                      1. \u5728\u6b63\u786e\u5b89\u88c5 DevicePlugin \u7b49\u7ec4\u4ef6\u540e\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8fd0\u7ef4-> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002

                      2. \u70b9\u51fb\u8282\u70b9\u7ba1\u7406\u9875\u9762\uff0c\u67e5\u770b\u8282\u70b9\u662f\u5426\u5df2\u7ecf\u6b63\u786e\u8bc6\u522b\u5230\u5bf9\u5e94\u7684GPU\u7c7b\u578b\u3002

                      3. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08MLU VGPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

                        • GPU \u7b97\u529b\uff08cambricon.com/mlu.smlu.vcore\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u4f7f\u7528\u6838\u5fc3\u7684\u767e\u5206\u6bd4\u6570\u91cf\u3002
                        • GPU \u663e\u5b58\uff08cambricon.com/mlu.smlu.vmemory\uff09\uff1a\u8868\u793a\u5f53\u524dPod\u9700\u8981\u4f7f\u7528\u663e\u5b58\u7684\u5927\u5c0f\uff0c\u5355\u4f4d\u662fMB\u3002

                      "},{"location":"end-user/kpanda/gpu/mlu/use-mlu.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                      \u53c2\u8003 YAML \u6587\u4ef6\u5982\u4e0b\uff1a

                      apiVersion: v1  \nkind: Pod  \nmetadata:  \n  name: pod1  \nspec:  \n  restartPolicy: OnFailure  \n  containers:  \n    - image: ubuntu:16.04  \n      name: pod1-ctr  \n      command: [\"sleep\"]  \n      args: [\"100000\"]  \n      resources:  \n        limits:  \n          cambricon.com/mlu: \"1\" # use this when device type is not enabled, else delete this line.  \n          #cambricon.com/mlu: \"1\" #uncomment to use when device type is enabled  \n          #cambricon.com/mlu.share: \"1\" #uncomment to use device with env-share mode  \n          #cambricon.com/mlu.mim-2m.8gb: \"1\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vcore: \"100\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vmemory: \"1024\" #uncomment to use device with mim mode\n
                      "},{"location":"end-user/kpanda/gpu/nvidia/index.html","title":"NVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f","text":"

                      NVIDIA \u4f5c\u4e3a\u4e1a\u5185\u77e5\u540d\u7684\u56fe\u5f62\u8ba1\u7b97\u4f9b\u5e94\u5546\uff0c\u4e3a\u7b97\u529b\u7684\u63d0\u5347\u63d0\u4f9b\u4e86\u8bf8\u591a\u8f6f\u786c\u4ef6\u89e3\u51b3\u65b9\u6848\uff0c\u5176\u4e2d NVIDIA \u5728 GPU \u7684\u4f7f\u7528\u65b9\u5f0f\u4e0a\u63d0\u4f9b\u4e86\u5982\u4e0b\u4e09\u79cd\u89e3\u51b3\u65b9\u6848\uff1a

                      "},{"location":"end-user/kpanda/gpu/nvidia/index.html#full-gpu","title":"\u6574\u5361\uff08Full GPU\uff09","text":"

                      \u6574\u5361\u662f\u6307\u5c06\u6574\u4e2a NVIDIA GPU \u5206\u914d\u7ed9\u5355\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u3002\u5728\u8fd9\u79cd\u914d\u7f6e\u4e0b\uff0c\u5e94\u7528\u53ef\u4ee5\u5b8c\u5168\u5360\u7528 GPU \u7684\u6240\u6709\u8d44\u6e90\uff0c \u5e76\u83b7\u5f97\u6700\u5927\u7684\u8ba1\u7b97\u6027\u80fd\u3002\u6574\u5361\u9002\u7528\u4e8e\u9700\u8981\u5927\u91cf\u8ba1\u7b97\u8d44\u6e90\u548c\u5185\u5b58\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5982\u6df1\u5ea6\u5b66\u4e60\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

                      "},{"location":"end-user/kpanda/gpu/nvidia/index.html#vgpuvirtual-gpu","title":"vGPU\uff08Virtual GPU\uff09","text":"

                      vGPU \u662f\u4e00\u79cd\u865a\u62df\u5316\u6280\u672f\uff0c\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u865a\u62df GPU\uff0c\u6bcf\u4e2a\u865a\u62df GPU \u5206\u914d\u7ed9\u4e0d\u540c\u7684\u4e91\u4e3b\u673a\u6216\u7528\u6237\u3002 vGPU \u4f7f\u591a\u4e2a\u7528\u6237\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u53f0\u7269\u7406 GPU\uff0c\u5e76\u5728\u5404\u81ea\u7684\u865a\u62df\u73af\u5883\u4e2d\u72ec\u7acb\u4f7f\u7528 GPU \u8d44\u6e90\u3002 \u6bcf\u4e2a\u865a\u62df GPU \u53ef\u4ee5\u83b7\u5f97\u4e00\u5b9a\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002vGPU \u9002\u7528\u4e8e\u865a\u62df\u5316\u73af\u5883\u548c\u4e91\u8ba1\u7b97\u573a\u666f\uff0c\u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8d44\u6e90\u5229\u7528\u7387\u548c\u7075\u6d3b\u6027\u3002

                      "},{"location":"end-user/kpanda/gpu/nvidia/index.html#migmulti-instance-gpu","title":"MIG\uff08Multi-Instance GPU\uff09","text":"

                      MIG \u662f NVIDIA Ampere \u67b6\u6784\u5f15\u5165\u7684\u4e00\u9879\u529f\u80fd\uff0c\u5b83\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u7269\u7406 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u7528\u6237\u6216\u5de5\u4f5c\u8d1f\u8f7d\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u5177\u6709\u81ea\u5df1\u7684\u8ba1\u7b97\u8d44\u6e90\u3001\u663e\u5b58\u548c PCIe \u5e26\u5bbd\uff0c\u5c31\u50cf\u4e00\u4e2a\u72ec\u7acb\u7684\u865a\u62df GPU\u3002 MIG \u63d0\u4f9b\u4e86\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u52a8\u6001\u8c03\u6574\u5b9e\u4f8b\u7684\u6570\u91cf\u548c\u5927\u5c0f\u3002 MIG \u9002\u7528\u4e8e\u591a\u79df\u6237\u73af\u5883\u3001\u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f\u548c\u6279\u5904\u7406\u4f5c\u4e1a\u7b49\u573a\u666f\u3002

                      \u65e0\u8bba\u662f\u5728\u865a\u62df\u5316\u73af\u5883\u4e2d\u4f7f\u7528 vGPU\uff0c\u8fd8\u662f\u5728\u7269\u7406 GPU \u4e0a\u4f7f\u7528 MIG\uff0cNVIDIA \u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u9009\u62e9\u548c\u4f18\u5316 GPU \u8d44\u6e90\u7684\u65b9\u5f0f\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5168\u9762\u517c\u5bb9\u4e86\u4e0a\u8ff0 NVIDIA \u7684\u80fd\u529b\u7279\u6027\uff0c\u7528\u6237\u53ea\u9700\u901a\u8fc7\u7b80\u5355\u7684\u754c\u9762\u64cd\u4f5c\uff0c\u5c31\u80fd\u591f\u83b7\u5f97\u5168\u90e8 NVIDIA GPU \u7684\u8ba1\u7b97\u80fd\u529b\uff0c\u4ece\u800c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387\u5e76\u964d\u4f4e\u6210\u672c\u3002

                      • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\uff0c\u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a
                        • \u5c5e\u4e8e\u540c\u4e00\u4e2a\u578b\u53f7\uff08\u4f8b\u5982 A100-SXM-40GB\uff09\uff0c\u53ea\u6709\u540c\u4e00\u578b\u53f7 GPU \u7684 MIG Profile \u624d\u662f\u4e00\u6837\u7684
                        • \u542f\u7528 MIG \u914d\u7f6e\uff0c\u9700\u8981\u91cd\u542f\u673a\u5668\u624d\u80fd\u751f\u6548
                        • \u4e3a\u5728\u6240\u6709\u4ea7\u54c1\u4e2d\u516c\u5f00\u201c\u5b8c\u5168\u76f8\u540c\u201d\u7684 MIG \u8bbe\u5907\u7c7b\u578b\uff0c\u521b\u5efa\u76f8\u540c\u7684GI \u548c CI
                      • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002\u8bf7\u6c42\u7279\u5b9a\u7684 MIG \u8bbe\u5907\u7c7b\u578b\u9700\u8981\u8bbe\u5907\u7c7b\u578b\u63d0\u4f9b\u7684\u8ba1\u7b97\u5207\u7247\u6570\u91cf\u548c\u5185\u5b58\u603b\u91cf\u3002
                        • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
                        • \u6bcf\u4e2a GPU \u53ef\u542f\u7528\u6216\u4e0d\u542f\u7528 MIG\uff0c\u5e76\u4e14\u53ef\u4ee5\u81ea\u7531\u914d\u7f6e\u4efb\u4f55\u53ef\u7528 MIG \u8bbe\u5907\u7c7b\u578b\u7684\u6df7\u5408\u642d\u914d\u3002
                        • \u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 k8s-device-plugin \u5c06\uff1a
                          • \u4f7f\u7528\u4f20\u7edf\u7684 nvidia.com/gpu \u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u4efb\u4f55\u4e0d\u5904\u4e8e MIG \u6a21\u5f0f\u7684 GPU
                          • \u4f7f\u7528\u9075\u5faa\u67b6\u6784 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                            \u5f00\u542f\u914d\u7f6e\u8be6\u60c5\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/index.html#_1","title":"\u5982\u4f55\u4f7f\u7528","text":"

                            \u60a8\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u94fe\u63a5\uff0c\u5feb\u901f\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5173\u4e8e NVIDIA GPU \u5361\u7684\u7ba1\u7406\u80fd\u529b\u3002

                            • NVIDIA GPU \u6574\u5361\u4f7f\u7528
                            • NVIDIA vGPU \u4f7f\u7528
                            • NVIDIA MIG \u4f7f\u7528
                            "},{"location":"end-user/kpanda/gpu/nvidia/full_gpu_userguide.html","title":"\u5e94\u7528\u4f7f\u7528 GPU \u6574\u5361","text":"

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06\u6574\u4e2a NVIDIA GPU \u5361\u5206\u914d\u7ed9\u5355\u4e2a\u5e94\u7528\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/full_gpu_userguide.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                            • \u5f53\u524d\u96c6\u7fa4\u5df2\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u5e76\u5df2\u542f\u7528 NVIDIA DevicePlugin \uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                            • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002
                            "},{"location":"end-user/kpanda/gpu/nvidia/full_gpu_userguide.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/gpu/nvidia/full_gpu_userguide.html#ui","title":"\u4f7f\u7528 UI \u754c\u9762\u914d\u7f6e","text":"
                            1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia GPU \u3002

                            2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia GPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

                              \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/gpu\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

                              \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/full_gpu_userguide.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                            \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/gpu: 1 \u53c2\u6570\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-gpu-demo\n    spec:\n      containers:\n      - image: chrstnhntschl/gpu_burn\n        name: container-0\n        resources:\n          requests:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # \u7533\u8bf7 GPU \u7684\u6570\u91cf\n          limits:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # GPU \u6570\u91cf\u7684\u4f7f\u7528\u4e0a\u9650\n      imagePullSecrets:\n      - name: default-secret\n

                            Note

                            \u4f7f\u7528 nvidia.com/gpu \u53c2\u6570\u6307\u5b9a GPU \u6570\u91cf\u65f6\uff0crequests \u548c limits \u503c\u9700\u8981\u4fdd\u6301\u4e00\u81f4\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html","title":"GPU Operator \u79bb\u7ebf\u5b89\u88c5","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 Ubuntu22.04\u3001Ubuntu20.04\u3001CentOS 7.9 \u8fd9\u4e09\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\uff0c\u9a71\u52a8\u7248\u672c\u662f 535.104.12\uff1b \u5e76\u4e14\u5185\u7f6e\u4e86\u5404\u64cd\u4f5c\u7cfb\u7edf\u6240\u9700\u7684 Toolkit \u955c\u50cf\uff0c\u7528\u6237\u4e0d\u518d\u9700\u8981\u624b\u52a8\u79bb\u7ebf Toolkit \u955c\u50cf\u3002

                            \u672c\u6587\u4f7f\u7528 AMD \u67b6\u6784\u7684 CentOS 7.9\uff083.10.0-1160\uff09\u8fdb\u884c\u6f14\u793a\u3002\u5982\u9700\u4f7f\u7528 Red Hat 8.4 \u90e8\u7f72\uff0c \u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u548c\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5f85\u90e8\u7f72 gpu-operator \u7684\u96c6\u7fa4\u8282\u70b9\u5185\u6838\u7248\u672c\u5fc5\u987b\u5b8c\u5168\u4e00\u81f4\u3002\u8282\u70b9\u6240\u5728\u7684\u53d1\u884c\u7248\u548c GPU \u5361\u578b\u53f7\u5728 GPU \u652f\u6301\u77e9\u9635\u7684\u8303\u56f4\u5185\u3002
                            • \u5b89\u88c5 gpu-operator \u65f6\u9009\u62e9 v23.9.0+2 \u53ca\u4ee5\u4e0a\u7248\u672c
                            "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 gpu-operator \u63d2\u4ef6\u3002

                            1. \u767b\u5f55\u5e73\u53f0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5f85\u5b89\u88c5 gpu-operator \u7684\u96c6\u7fa4 -> \u8fdb\u5165\u96c6\u7fa4\u8be6\u60c5\u3002

                            2. \u5728 Helm \u6a21\u677f \u9875\u9762\uff0c\u9009\u62e9 \u5168\u90e8\u4ed3\u5e93 \uff0c\u641c\u7d22 gpu-operator \u3002

                            3. \u9009\u62e9 gpu-operator \uff0c\u70b9\u51fb \u5b89\u88c5 \u3002

                            4. \u53c2\u8003\u4e0b\u6587\u53c2\u6570\u914d\u7f6e\uff0c\u914d\u7f6e gpu-operator \u5b89\u88c5\u53c2\u6570\uff0c\u5b8c\u6210 gpu-operator \u7684\u5b89\u88c5\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_3","title":"\u53c2\u6570\u914d\u7f6e","text":"
                            • systemOS \uff1a\u9009\u62e9\u673a\u5668\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5f53\u524d\u5185\u7f6e\u4e86 Ubuntu 22.04\u3001Ubuntu20.04\u3001Centos7.9 \u3001other \u56db\u4e2a\u9009\u9879\uff0c\u8bf7\u6b63\u786e\u7684\u9009\u62e9\u64cd\u4f5c\u7cfb\u7edf\u3002
                            "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_4","title":"\u57fa\u672c\u53c2\u6570\u914d\u7f6e","text":"
                            • \u540d\u79f0 \uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\u3002
                            • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u7248\u672c \uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 v23.9.0+2 \u7248\u672c\u4e3a\u4f8b\u3002
                            • \u5931\u8d25\u5220\u9664 \uff1a\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                            • \u5c31\u7eea\u7b49\u5f85 \uff1a\u542f\u7528\u540e\uff0c\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                            • \u8be6\u60c5\u65e5\u5fd7 \uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002
                            "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_5","title":"\u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e","text":""},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#operator","title":"Operator \u53c2\u6570\u914d\u7f6e","text":"
                            • InitContainer.image \uff1a\u914d\u7f6e CUDA \u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/cuda
                            • InitContainer.repository \uff1aCUDA \u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvcr.m.daocloud.io \u4ed3\u5e93
                            • InitContainer.version : CUDA \u955c\u50cf\u7684\u7248\u672c\uff0c\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570
                            "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#driver","title":"Driver \u53c2\u6570\u914d\u7f6e","text":"
                            • Driver.enable \uff1a\u914d\u7f6e\u662f\u5426\u5728\u8282\u70b9\u4e0a\u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u9ed8\u8ba4\u5f00\u542f\uff0c\u5982\u679c\u60a8\u5728\u4f7f\u7528 GPU Operator \u90e8\u7f72\u524d\uff0c\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u90e8\u7f72\u4e86 NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff0c\u8bf7\u5173\u95ed\u3002\uff08\u82e5\u624b\u52a8\u90e8\u7f72\u9a71\u52a8\u7a0b\u5e8f\u9700\u8981\u5173\u6ce8 CUDA Toolkit \u4e0e Toolkit Driver Version \u7684\u9002\u914d\u5173\u7cfb\uff0c\u901a\u8fc7 GPU operator \u5b89\u88c5\u5219\u65e0\u9700\u5173\u6ce8\uff09\u3002
                            • Driver.usePrecompiled \uff1a\u542f\u7528\u9884\u7f16\u8bd1\u7684GPU\u9a71\u52a8
                            • Driver.image \uff1a\u914d\u7f6e GPU \u9a71\u52a8\u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/driver \u3002
                            • Driver.repository \uff1aGPU \u9a71\u52a8\u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvidia \u7684 nvcr.io \u4ed3\u5e93\u3002
                            • Driver.usePrecompiled \uff1a\u5f00\u542f\u9884\u7f16\u8bd1\u6a21\u5f0f\u5b89\u88c5\u9a71\u52a8\u3002
                            • Driver.version \uff1aGPU \u9a71\u52a8\u955c\u50cf\u7684\u7248\u672c\uff0c\u79bb\u7ebf\u90e8\u7f72\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570\uff0c\u4ec5\u5728\u7ebf\u5b89\u88c5\u65f6\u9700\u914d\u7f6e\u3002\u4e0d\u540c\u7c7b\u578b\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\u7684\u7248\u672c\u5b58\u5728\u5982\u4e0b\u5dee\u5f02\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\uff1aNvidia GPU Driver \u7248\u672c\u3002 \u5982\u4e0b\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver Version \u793a\u4f8b\uff1a

                              Note

                              \u4f7f\u7528\u5185\u7f6e\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u65e0\u9700\u4fee\u6539\u955c\u50cf\u7248\u672c\uff0c\u5176\u4ed6\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u955c\u50cf\u3002 \u6ce8\u610f\u7248\u672c\u53f7\u540e\u65e0\u9700\u586b\u5199 Ubuntu\u3001CentOS\u3001Red Hat \u7b49\u64cd\u4f5c\u7cfb\u7edf\u540d\u79f0\uff0c\u82e5\u5b98\u65b9\u955c\u50cf\u542b\u6709\u64cd\u4f5c\u7cfb\u7edf\u540e\u7f00\uff0c\u8bf7\u624b\u52a8\u79fb\u9664\u3002

                              • Red Hat \u7cfb\u7edf\uff0c\u4f8b\u5982 525.105.17
                              • Ubuntu \u7cfb\u7edf\uff0c\u4f8b\u5982 535-5.15.0-1043-nvidia
                              • CentOS \u7cfb\u7edf\uff0c\u4f8b\u5982 525.147.05
                            • Driver.RepoConfig.ConfigMapName \uff1a\u7528\u6765\u8bb0\u5f55 GPU Operator \u7684\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\uff0c \u5f53\u4f7f\u7528\u9884\u7f6e\u7684\u79bb\u7ebf\u5305\u65f6\uff0c\u5404\u7c7b\u578b\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bf7\u53c2\u8003\u5982\u4e0b\u7684\u6587\u6863\u3002

                              • \u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90
                              • \u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90
                            "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#toolkit","title":"Toolkit \u914d\u7f6e\u53c2\u6570","text":"

                            Toolkit.enable \uff1a\u9ed8\u8ba4\u5f00\u542f\uff0c\u8be5\u7ec4\u4ef6\u8ba9 conatainerd/docker \u652f\u6301\u8fd0\u884c\u9700\u8981 GPU \u7684\u5bb9\u5668\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#mig","title":"MIG \u914d\u7f6e\u53c2\u6570","text":"

                            \u8be6\u7ec6\u914d\u7f6e\u65b9\u5f0f\u8bf7\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd

                            MigManager.Config.name \uff1aMIG \u7684\u5207\u5206\u914d\u7f6e\u6587\u4ef6\u540d\uff0c\u7528\u4e8e\u5b9a\u4e49 MIG \u7684\uff08GI, CI\uff09\u5207\u5206\u7b56\u7565\u3002 \u9ed8\u8ba4\u4e3a default-mig-parted-config \u3002\u81ea\u5b9a\u4e49\u53c2\u6570\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_6","title":"\u4e0b\u4e00\u6b65\u64cd\u4f5c","text":"

                            \u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff1a

                            • \u5982\u679c\u4f7f\u7528 \u6574\u5361\u6a21\u5f0f\uff0c\u5e94\u7528\u521b\u5efa\u65f6\u53ef\u4f7f\u7528 GPU \u8d44\u6e90

                            • \u5982\u679c\u4f7f\u7528 vGPU \u6a21\u5f0f \uff0c\u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff0c\u4e0b\u4e00\u6b65\u8bf7\u5b8c\u6210 vGPU Addon \u5b89\u88c5

                            • \u5982\u679c\u4f7f\u7528 MIG \u6a21\u5f0f\uff0c\u5e76\u4e14\u9700\u8981\u7ed9\u4e2a\u522b GPU \u8282\u70b9\u6309\u7167\u67d0\u79cd\u5207\u5206\u89c4\u683c\u8fdb\u884c\u4f7f\u7528\uff0c \u5426\u5219\u6309\u7167 MigManager.Config \u4e2d\u7684 default \u503c\u8fdb\u884c\u5207\u5206\u3002

                              • single \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                                kubectl label nodes {node} nvidia.com/mig.config=\"all-1g.10gb\" --overwrite\n
                              • mixed \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                                kubectl label nodes {node} nvidia.com/mig.config=\"custom-config\" --overwrite\n

                            \u200b \u5207\u5206\u540e\uff0c\u5e94\u7528\u53ef\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html","title":"\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                            \u672c\u6587\u4ee5 Red Hat 8.4 \u7684 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u79bb\u7ebf\u955c\u50cf\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            1. \u706b\u79cd\u8282\u70b9\u53ca\u5176\u7ec4\u4ef6\u72b6\u6001\u8fd0\u884c\u6b63\u5e38\u3002
                            2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u706b\u79cd\u8282\u70b9\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                            "},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html#_3","title":"\u5728\u8054\u7f51\u8282\u70b9\u83b7\u53d6\u79bb\u7ebf\u955c\u50cf","text":"

                            \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                            1. \u5728\u8054\u7f51\u673a\u5668\u4e0a\u62c9\u53d6 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\uff1a

                              docker pull nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                            2. \u955c\u50cf\u62c9\u53d6\u5b8c\u6210\u540e\uff0c\u6253\u5305\u955c\u50cf\u4e3a nvidia-driver.tar \u538b\u7f29\u5305\uff1a

                              docker save nvcr.io/nvidia/driver:525.105.17-rhel8.4 > nvidia-driver.tar\n
                            3. \u62f7\u8d1d nvidia-driver.tar \u955c\u50cf\u538b\u7f29\u5305\u5230\u706b\u79cd\u8282\u70b9\uff1a

                              scp  nvidia-driver.tar user@ip:/root\n

                              \u4f8b\u5982\uff1a

                              scp  nvidia-driver.tar root@10.6.175.10:/root\n
                            "},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html#_4","title":"\u63a8\u9001\u955c\u50cf\u5230\u706b\u79cd\u8282\u70b9\u4ed3\u5e93","text":"

                            \u4ee5\u4e0b\u64cd\u4f5c\u5728\u706b\u79cd\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                            1. \u767b\u5f55\u706b\u79cd\u8282\u70b9\uff0c\u5c06\u8054\u7f51\u8282\u70b9\u62f7\u8d1d\u7684\u955c\u50cf\u538b\u7f29\u5305 nvidia-driver.tar \u5bfc\u5165\u672c\u5730\uff1a

                              docker load -i nvidia-driver.tar\n
                            2. \u67e5\u770b\u521a\u521a\u5bfc\u5165\u7684\u955c\u50cf\uff1a

                              docker images -a |grep nvidia\n

                              \u9884\u671f\u8f93\u51fa\uff1a

                              nvcr.io/nvidia/driver                 e3ed7dee73e9   1 days ago   1.02GB\n
                            3. \u91cd\u65b0\u6807\u8bb0\u955c\u50cf\uff0c\u4f7f\u5176\u4e0e\u8fdc\u7a0b Registry \u4ed3\u5e93\u4e2d\u7684\u76ee\u6807\u4ed3\u5e93\u5bf9\u5e94\uff1a

                              docker tag <image-name> <registry-url>/<repository-name>:<tag>\n
                              • <image-name> \u662f\u4e0a\u4e00\u6b65 nvidia \u955c\u50cf\u7684\u540d\u79f0\uff0c
                              • <registry-url> \u662f\u706b\u79cd\u8282\u70b9\u4e0a Registry \u670d\u52a1\u7684\u5730\u5740\uff0c
                              • <repository-name> \u662f\u60a8\u8981\u63a8\u9001\u5230\u7684\u4ed3\u5e93\u540d\u79f0\uff0c
                              • <tag> \u662f\u60a8\u4e3a\u955c\u50cf\u6307\u5b9a\u7684\u6807\u7b7e\u3002

                              \u4f8b\u5982\uff1a

                              registry\uff1adocker tag nvcr.io/nvidia/driver 10.6.10.5/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                            4. \u5c06\u955c\u50cf\u63a8\u9001\u5230\u706b\u79cd\u8282\u70b9\u955c\u50cf\u4ed3\u5e93\uff1a

                              docker push {ip}/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                            "},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html#_5","title":"\u63a5\u4e0b\u6765","text":"

                            \u53c2\u8003\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u548c GPU Operator \u79bb\u7ebf\u5b89\u88c5\u6765\u4e3a\u96c6\u7fa4\u90e8\u7f72 GPU Operator\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html","title":"RHEL 9.2 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                            \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                            RHEL 9.2 \u9a71\u52a8\u955c\u50cf\u4e0d\u80fd\u76f4\u63a5\u5b89\u88c5\uff0c\u5b98\u65b9\u7684\u9a71\u52a8\u811a\u672c\u5b58\u5728\u4e00\u70b9\u95ee\u9898\uff0c\u5728\u5b98\u65b9\u4fee\u590d\u4e4b\u524d\uff0c\u63d0\u4f9b\u5982\u4e0b\u7684\u6b65\u9aa4\u6765\u5b9e\u73b0\u79bb\u7ebf\u5b89\u88c5\u9a71\u52a8\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#nouveau","title":"\u7981\u7528nouveau\u9a71\u52a8","text":"

                            \u5728 RHEL 9.2 \u4e2d\u5b58\u5728 nouveau \u975e\u5b98\u65b9\u7684 Nvidia \u9a71\u52a8\uff0c\u56e0\u6b64\u9700\u8981\u5148\u7981\u7528\u3002

                            # \u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6\nsudo vi /etc/modprobe.d/blacklist-nouveau.conf\n# \u6dfb\u52a0\u4ee5\u4e0b\u4e24\u884c\u5185\u5bb9:\nblacklist nouveau\noptions nouveau modeset=0\n# \u7981\u7528Nouveau\nsudo dracut --force\n# \u91cd\u542fvm\nsudo reboot\n# \u68c0\u67e5\u662f\u5426\u5df2\u7ecf\u6210\u529f\u7981\u7528\nlsmod | grep nouveau\n
                            "},{"location":"end-user/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#_1","title":"\u81ea\u5b9a\u4e49\u9a71\u52a8\u955c\u50cf","text":"

                            \u5148\u5728\u672c\u5730\u521b\u5efa nvidia-driver \u6587\u4ef6\uff1a

                            \u70b9\u51fb\u67e5\u770b\u5b8c\u6574\u7684 nvidia-driver \u6587\u4ef6\u5185\u5bb9
                            #! /bin/bash -x\n# Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.\n\nset -eu\n\nRUN_DIR=/run/nvidia\nPID_FILE=${RUN_DIR}/${0##*/}.pid\nDRIVER_VERSION=${DRIVER_VERSION:?\"Missing DRIVER_VERSION env\"}\nKERNEL_UPDATE_HOOK=/run/kernel/postinst.d/update-nvidia-driver\nNUM_VGPU_DEVICES=0\nNVIDIA_MODULE_PARAMS=()\nNVIDIA_UVM_MODULE_PARAMS=()\nNVIDIA_MODESET_MODULE_PARAMS=()\nNVIDIA_PEERMEM_MODULE_PARAMS=()\nTARGETARCH=${TARGETARCH:?\"Missing TARGETARCH env\"}\nUSE_HOST_MOFED=\"${USE_HOST_MOFED:-false}\"\nDNF_RELEASEVER=${DNF_RELEASEVER:-\"\"}\nRHEL_VERSION=${RHEL_VERSION:-\"\"}\nRHEL_MAJOR_VERSION=9\n\nOPEN_KERNEL_MODULES_ENABLED=${OPEN_KERNEL_MODULES_ENABLED:-false}\n[[ \"${OPEN_KERNEL_MODULES_ENABLED}\" == \"true\" ]] && KERNEL_TYPE=kernel-open || KERNEL_TYPE=kernel\n\nDRIVER_ARCH=${TARGETARCH/amd64/x86_64} && DRIVER_ARCH=${DRIVER_ARCH/arm64/aarch64}\necho \"DRIVER_ARCH is $DRIVER_ARCH\"\n\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\nsource $SCRIPT_DIR/common.sh\n\n_update_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Updating the package cache...\"\n        if ! yum -q makecache; then\n            echo \"FATAL: failed to reach RHEL package repositories. \"\\\n                 \"Ensure that the cluster can access the proper networks.\"\n            exit 1\n        fi\n    fi\n}\n\n_cleanup_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Cleaning up the package cache...\"\n        rm -rf /var/cache/yum/*\n    fi\n}\n\n_get_rhel_version_from_kernel() {\n    local rhel_version_underscore rhel_version_arr\n    rhel_version_underscore=$(echo \"${KERNEL_VERSION}\" | sed 's/.*el\\([0-9]\\+_[0-9]\\+\\).*/\\1/g')\n    # For e.g. :- from the kernel version 4.18.0-513.9.1.el8_9, we expect to extract the string \"8_9\"\n    if [[ ! ${rhel_version_underscore} =~ ^[0-9]+_[0-9]+$ ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    IFS='_' read -r -a rhel_version_arr <<< \"$rhel_version_underscore\"\n    if [[ ${#rhel_version_arr[@]} -ne 2 ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    RHEL_VERSION=\"${rhel_version_arr[0]}.${rhel_version_arr[1]}\"\n    echo \"RHEL VERSION successfully resolved from kernel: ${RHEL_VERSION}\"\n    return 0\n}\n\n_resolve_rhel_version() {\n    _get_rhel_version_from_kernel || RHEL_VERSION=\"${RHEL_MAJOR_VERSION}\"\n    # set dnf release version as rhel version by default\n    if [[ -z \"${DNF_RELEASEVER}\" ]]; then\n        DNF_RELEASEVER=\"${RHEL_VERSION}\"\n    fi\n    return 0\n}\n\n# Resolve the kernel version to the form major.minor.patch-revision.\n_resolve_kernel_version() {\n    echo \"Resolving Linux kernel version...\"\n    local version=$(yum -q list available --showduplicates kernel-headers |\n      awk -v arch=$(uname -m) 'NR>1 {print $2\".\"arch}' | tac | grep -E -m1 \"^${KERNEL_VERSION/latest/.*}\")\n\n    if [ -z \"${version}\" ]; then\n        echo \"Could not resolve Linux kernel version\" >&2\n        return 1\n    fi\n    KERNEL_VERSION=\"${version}\"\n    echo \"Proceeding with Linux kernel version ${KERNEL_VERSION}\"\n    return 0\n}\n\n# Install the kernel modules header/builtin/order files and generate the kernel version string.\n_install_prerequisites() (\n    local tmp_dir=$(mktemp -d)\n\n    trap \"rm -rf ${tmp_dir}\" EXIT\n    cd ${tmp_dir}\n\n    echo \"Installing elfutils...\"\n    if ! dnf install -q -y elfutils-libelf.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi\n    if ! dnf install -q -y elfutils-libelf-devel.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi    \n\n    rm -rf /lib/modules/${KERNEL_VERSION}\n    mkdir -p /lib/modules/${KERNEL_VERSION}/proc\n\n    echo \"Enabling RHOCP and EUS RPM repos...\"\n    if [ -n \"${OPENSHIFT_VERSION:-}\" ]; then\n        dnf config-manager --set-enabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        fi\n    fi\n\n    dnf config-manager --set-enabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms  || true\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms || true\n    fi\n\n    # try with EUS disabled, if it does not work, then try just major version\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n      # If pointing to DNF_RELEASEVER does not work, we point to the RHEL_MAJOR_VERSION as a last resort\n      if ! dnf makecache --releasever=${RHEL_MAJOR_VERSION}; then\n        echo \"FATAL: failed to update the dnf metadata cache after multiple attempts with releasevers ${DNF_RELEASEVER}, ${RHEL_MAJOR_VERSION}\"\n        exit 1\n      else\n        DNF_RELEASEVER=${RHEL_MAJOR_VERSION}\n      fi\n    fi\n\n    echo \"Installing Linux kernel headers...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} --allowerasing > /dev/null\n    ln -s /usr/src/kernels/${KERNEL_VERSION} /lib/modules/${KERNEL_VERSION}/build\n\n    echo \"Installing Linux kernel module files...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-core-${KERNEL_VERSION} > /dev/null\n\n    # Prevent depmod from giving a WARNING about missing files\n    touch /lib/modules/${KERNEL_VERSION}/modules.order\n    touch /lib/modules/${KERNEL_VERSION}/modules.builtin\n\n    depmod ${KERNEL_VERSION}\n\n    echo \"Generating Linux kernel version string...\"\n    if [ \"$TARGETARCH\" = \"arm64\" ]; then\n        gunzip -c /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    else\n        extract-vmlinux /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    fi\n    if [ -z \"$(<version)\" ]; then\n        echo \"Could not locate Linux kernel version string\" >&2\n        return 1\n    fi\n    mv version /lib/modules/${KERNEL_VERSION}/proc\n\n    # Parse gcc version\n    # gcc_version is expected to match x.y.z\n    # current_gcc is expected to match 'gcc-x.y.z-rel.el8.x86_64\n    local gcc_version=$(cat /lib/modules/${KERNEL_VERSION}/proc/version | grep -Eo \"gcc \\(GCC\\) ([0-9\\.]+)\" | grep -Eo \"([0-9\\.]+)\")\n    local current_gcc=$(rpm -qa gcc)\n    echo \"kernel requires gcc version: 'gcc-${gcc_version}', current gcc version is '${current_gcc}'\"\n\n    if ! [[ \"${current_gcc}\" =~ \"gcc-${gcc_version}\"-.* ]]; then\n        dnf install -q -y --releasever=${DNF_RELEASEVER} \"gcc-${gcc_version}\"\n    fi\n)\n\n# Cleanup the prerequisites installed above.\n_remove_prerequisites() {\n    true\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        dnf -q -y remove kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} > /dev/null\n        # TODO remove module files not matching an existing driver package.\n    fi\n}\n\n# Check if the kernel version requires a new precompiled driver packages.\n_kernel_requires_package() {\n    local proc_mount_arg=\"\"\n\n    echo \"Checking NVIDIA driver packages...\"\n\n    [[ ! -d /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE} ]] && return 0\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    proc_mount_arg=\"--proc-mount-point /lib/modules/${KERNEL_VERSION}/proc\"\n    for pkg_name in $(ls -d -1 precompiled/** 2> /dev/null); do\n        is_match=$(../mkprecompiled --match ${pkg_name} ${proc_mount_arg})\n        if [ \"${is_match}\" == \"kernel interface matches.\" ]; then\n            echo \"Found NVIDIA driver package ${pkg_name##*/}\"\n            return 1\n        fi\n    done\n    return 0\n}\n\n# Compile the kernel modules, optionally sign them, and generate a precompiled package for use by the nvidia-installer.\n_create_driver_package() (\n    local pkg_name=\"nvidia-modules-${KERNEL_VERSION%%-*}${PACKAGE_TAG:+-${PACKAGE_TAG}}\"\n    local nvidia_sign_args=\"\"\n    local nvidia_modeset_sign_args=\"\"\n    local nvidia_uvm_sign_args=\"\"\n\n    trap \"make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build clean > /dev/null\" EXIT\n\n    echo \"Compiling NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    if _gpu_direct_rdma_enabled; then\n        ln -s /run/mellanox/drivers/usr/src/ofa_kernel /usr/src/\n        # if arch directory exists(MOFED >=5.5) then create a symlink as expected by GPU driver installer\n        # This is required as currently GPU driver installer doesn't expect headers in x86_64 folder, but only in either default or kernel-version folder.\n        # ls -ltr /usr/src/ofa_kernel/\n        # lrwxrwxrwx 1 root root   36 Dec  8 20:10 default -> /etc/alternatives/ofa_kernel_headers\n        # drwxr-xr-x 4 root root 4096 Dec  8 20:14 x86_64\n        # lrwxrwxrwx 1 root root   44 Dec  9 19:05 5.4.0-90-generic -> /usr/src/ofa_kernel/x86_64/5.4.0-90-generic/\n        if [[ -d \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" ]]; then\n            if [[ ! -e \"/usr/src/ofa_kernel/$(uname -r)\" ]]; then\n                ln -s \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" /usr/src/ofa_kernel/\n            fi\n        fi\n    fi\n\n    make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build nv-linux.o nv-modeset-linux.o > /dev/null\n\n    echo \"Relinking NVIDIA driver kernel modules...\"\n    rm -f nvidia.ko nvidia-modeset.ko\n    ld -d -r -o nvidia.ko ./nv-linux.o ./nvidia/nv-kernel.o_binary\n    ld -d -r -o nvidia-modeset.ko ./nv-modeset-linux.o ./nvidia-modeset/nv-modeset-kernel.o_binary\n\n    if [ -n \"${PRIVATE_KEY}\" ]; then\n        echo \"Signing NVIDIA driver kernel modules...\"\n        donkey get ${PRIVATE_KEY} sh -c \"PATH=${PATH}:/usr/src/linux-headers-${KERNEL_VERSION}/scripts && \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia.ko nvidia.ko.sign &&                          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-modeset.ko nvidia-modeset.ko.sign &&          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-uvm.ko\"\n        nvidia_sign_args=\"--linked-module nvidia.ko --signed-module nvidia.ko.sign\"\n        nvidia_modeset_sign_args=\"--linked-module nvidia-modeset.ko --signed-module nvidia-modeset.ko.sign\"\n        nvidia_uvm_sign_args=\"--signed\"\n    fi\n\n    echo \"Building NVIDIA driver package ${pkg_name}...\"\n    ../mkprecompiled --pack ${pkg_name} --description ${KERNEL_VERSION}                              \\\n                                        --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc       \\\n                                        --driver-version ${DRIVER_VERSION}                           \\\n                                        --kernel-interface nv-linux.o                                \\\n                                        --linked-module-name nvidia.ko                               \\\n                                        --core-object-name nvidia/nv-kernel.o_binary                 \\\n                                        ${nvidia_sign_args}                                          \\\n                                        --target-directory .                                         \\\n                                        --kernel-interface nv-modeset-linux.o                        \\\n                                        --linked-module-name nvidia-modeset.ko                       \\\n                                        --core-object-name nvidia-modeset/nv-modeset-kernel.o_binary \\\n                                        ${nvidia_modeset_sign_args}                                  \\\n                                        --target-directory .                                         \\\n                                        --kernel-module nvidia-uvm.ko                                \\\n                                        ${nvidia_uvm_sign_args}                                      \\\n                                        --target-directory .\n    mkdir -p precompiled\n    mv ${pkg_name} precompiled\n)\n\n_assert_nvswitch_system() {\n    [ -d /proc/driver/nvidia-nvswitch ] || return 1\n    entries=$(ls -1 /proc/driver/nvidia-nvswitch/devices/*)\n    if [ -z \"${entries}\" ]; then\n        return 1\n    fi\n    return 0\n}\n\n# For each kernel module configuration file mounted into the container,\n# parse the file contents and extract the custom module parameters that\n# are to be passed as input to 'modprobe'.\n#\n# Assumptions:\n# - Configuration files are named <module-name>.conf (i.e. nvidia.conf, nvidia-uvm.conf).\n# - Configuration files are mounted inside the container at /drivers.\n# - Each line in the file contains at least one parameter, where parameters on the same line\n#   are space delimited. It is up to the user to properly format the file to ensure\n#   the correct set of parameters are passed to 'modprobe'.\n_get_module_params() {\n    local base_path=\"/drivers\"\n    # nvidia\n    if [ -f \"${base_path}/nvidia.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia.conf\"\n       echo \"Module parameters provided for nvidia: ${NVIDIA_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-uvm\n    if [ -f \"${base_path}/nvidia-uvm.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_UVM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-uvm.conf\"\n       echo \"Module parameters provided for nvidia-uvm: ${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-modeset\n    if [ -f \"${base_path}/nvidia-modeset.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODESET_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-modeset.conf\"\n       echo \"Module parameters provided for nvidia-modeset: ${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-peermem\n    if [ -f \"${base_path}/nvidia-peermem.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_PEERMEM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-peermem.conf\"\n       echo \"Module parameters provided for nvidia-peermem: ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n    fi\n}\n\n# Load the kernel modules and start persistenced.\n_load_driver() {\n    echo \"Parsing kernel module parameters...\"\n    _get_module_params\n\n    local nv_fw_search_path=\"$RUN_DIR/driver/lib/firmware\"\n    local set_fw_path=\"true\"\n    local fw_path_config_file=\"/sys/module/firmware_class/parameters/path\"\n    for param in \"${NVIDIA_MODULE_PARAMS[@]}\"; do\n        if [[ \"$param\" == \"NVreg_EnableGpuFirmware=0\" ]]; then\n          set_fw_path=\"false\"\n        fi\n    done\n\n    if [[ \"$set_fw_path\" == \"true\" ]]; then\n        echo \"Configuring the following firmware search path in '$fw_path_config_file': $nv_fw_search_path\"\n        if [[ ! -z $(grep '[^[:space:]]' $fw_path_config_file) ]]; then\n            echo \"WARNING: A search path is already configured in $fw_path_config_file\"\n            echo \"         Retaining the current configuration\"\n        else\n            echo -n \"$nv_fw_search_path\" > $fw_path_config_file || echo \"WARNING: Failed to configure the firmware search path\"\n        fi\n    fi\n\n    echo \"Loading ipmi and i2c_core kernel modules...\"\n    modprobe -a i2c_core ipmi_msghandler ipmi_devintf\n\n    echo \"Loading NVIDIA driver kernel modules...\"\n    set -o xtrace +o nounset\n    modprobe nvidia \"${NVIDIA_MODULE_PARAMS[@]}\"\n    modprobe nvidia-uvm \"${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    modprobe nvidia-modeset \"${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    set +o xtrace -o nounset\n\n    if _gpu_direct_rdma_enabled; then\n        echo \"Loading NVIDIA Peer Memory kernel module...\"\n        set -o xtrace +o nounset\n        modprobe -a nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n        set +o xtrace -o nounset\n    fi\n\n    echo \"Starting NVIDIA persistence daemon...\"\n    nvidia-persistenced --persistence-mode\n\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        echo \"Copying gridd.conf...\"\n        cp /drivers/gridd.conf /etc/nvidia/gridd.conf\n        if [ \"${VGPU_LICENSE_SERVER_TYPE}\" = \"NLS\" ]; then\n            echo \"Copying ClientConfigToken...\"\n            mkdir -p  /etc/nvidia/ClientConfigToken/\n            cp /drivers/ClientConfigToken/* /etc/nvidia/ClientConfigToken/\n        fi\n\n        echo \"Starting nvidia-gridd..\"\n        LD_LIBRARY_PATH=/usr/lib64/nvidia/gridd nvidia-gridd\n\n        # Start virtual topology daemon\n        _start_vgpu_topology_daemon\n    fi\n\n    if _assert_nvswitch_system; then\n        echo \"Starting NVIDIA fabric manager daemon...\"\n        nv-fabricmanager -c /usr/share/nvidia/nvswitch/fabricmanager.cfg\n    fi\n}\n\n# Stop persistenced and unload the kernel modules if they are currently loaded.\n_unload_driver() {\n    local rmmod_args=()\n    local nvidia_deps=0\n    local nvidia_refs=0\n    local nvidia_uvm_refs=0\n    local nvidia_modeset_refs=0\n    local nvidia_peermem_refs=0\n\n    echo \"Stopping NVIDIA persistence daemon...\"\n    if [ -f /var/run/nvidia-persistenced/nvidia-persistenced.pid ]; then\n        local pid=$(< /var/run/nvidia-persistenced/nvidia-persistenced.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA persistence daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-gridd/nvidia-gridd.pid ]; then\n        echo \"Stopping NVIDIA grid daemon...\"\n        local pid=$(< /var/run/nvidia-gridd/nvidia-gridd.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 10); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 10 ]; then\n            echo \"Could not stop NVIDIA Grid daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-fabricmanager/nv-fabricmanager.pid ]; then\n        echo \"Stopping NVIDIA fabric manager daemon...\"\n        local pid=$(< /var/run/nvidia-fabricmanager/nv-fabricmanager.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA fabric manager daemon\" >&2\n            return 1\n        fi\n    fi\n\n    echo \"Unloading NVIDIA driver kernel modules...\"\n    if [ -f /sys/module/nvidia_modeset/refcnt ]; then\n        nvidia_modeset_refs=$(< /sys/module/nvidia_modeset/refcnt)\n        rmmod_args+=(\"nvidia-modeset\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia_uvm/refcnt ]; then\n        nvidia_uvm_refs=$(< /sys/module/nvidia_uvm/refcnt)\n        rmmod_args+=(\"nvidia-uvm\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia/refcnt ]; then\n        nvidia_refs=$(< /sys/module/nvidia/refcnt)\n        rmmod_args+=(\"nvidia\")\n    fi\n    if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n        nvidia_peermem_refs=$(< /sys/module/nvidia_peermem/refcnt)\n        rmmod_args+=(\"nvidia-peermem\")\n        ((++nvidia_deps))\n    fi\n    if [ ${nvidia_refs} -gt ${nvidia_deps} ] || [ ${nvidia_uvm_refs} -gt 0 ] || [ ${nvidia_modeset_refs} -gt 0 ] || [ ${nvidia_peermem_refs} -gt 0 ]; then\n        echo \"Could not unload NVIDIA driver kernel modules, driver is in use\" >&2\n        return 1\n    fi\n\n    if [ ${#rmmod_args[@]} -gt 0 ]; then\n        rmmod ${rmmod_args[@]}\n    fi\n    return 0\n}\n\n# Link and install the kernel modules from a precompiled package using the nvidia-installer.\n_install_driver() {\n    local install_args=()\n\n    echo \"Installing NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}\n    rm -rf /lib/modules/${KERNEL_VERSION}/video\n\n    if [ \"${ACCEPT_LICENSE}\" = \"yes\" ]; then\n        install_args+=(\"--accept-license\")\n    fi\n    IGNORE_CC_MISMATCH=1 nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check -m=${KERNEL_TYPE} ${install_args[@]+\"${install_args[@]}\"}\n    # May need to add no-cc-check for Rhel, otherwise it complains about cc missing in path\n    # /proc/version and lib/modules/KERNEL_VERSION/proc are different, by default installer looks at /proc/ so, added the proc-mount-point\n    # TODO: remove the -a flag. its not needed. in the new driver version, license-acceptance is implicit\n    #nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check --no-cc-version-check --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc ${install_args[@]+\"${install_args[@]}\"}\n}\n\n# Mount the driver rootfs into the run directory with the exception of sysfs.\n_mount_rootfs() {\n    echo \"Mounting NVIDIA driver rootfs...\"\n    mount --make-runbindable /sys\n    mount --make-private /sys\n    mkdir -p ${RUN_DIR}/driver\n    mount --rbind / ${RUN_DIR}/driver\n\n    echo \"Check SELinux status\"\n    if [ -e /sys/fs/selinux ]; then\n        echo \"SELinux is enabled\"\n        echo \"Change device files security context for selinux compatibility\"\n        chcon -R -t container_file_t ${RUN_DIR}/driver/dev\n    else\n        echo \"SELinux is disabled, skipping...\"\n    fi\n}\n\n# Unmount the driver rootfs from the run directory.\n_unmount_rootfs() {\n    echo \"Unmounting NVIDIA driver rootfs...\"\n    if findmnt -r -o TARGET | grep \"${RUN_DIR}/driver\" > /dev/null; then\n        umount -l -R ${RUN_DIR}/driver\n    fi\n}\n\n# Write a kernel postinst.d script to automatically precompile packages on kernel update (similar to DKMS).\n_write_kernel_update_hook() {\n    if [ ! -d ${KERNEL_UPDATE_HOOK%/*} ]; then\n        return\n    fi\n\n    echo \"Writing kernel update hook...\"\n    cat > ${KERNEL_UPDATE_HOOK} <<'EOF'\n#!/bin/bash\n\nset -eu\ntrap 'echo \"ERROR: Failed to update the NVIDIA driver\" >&2; exit 0' ERR\n\nNVIDIA_DRIVER_PID=$(< /run/nvidia/nvidia-driver.pid)\n\nexport \"$(grep -z DRIVER_VERSION /proc/${NVIDIA_DRIVER_PID}/environ)\"\nnsenter -t \"${NVIDIA_DRIVER_PID}\" -m -- nvidia-driver update --kernel \"$1\"\nEOF\n    chmod +x ${KERNEL_UPDATE_HOOK}\n}\n\n_shutdown() {\n    if _unload_driver; then\n        _unmount_rootfs\n        rm -f ${PID_FILE} ${KERNEL_UPDATE_HOOK}\n        return 0\n    fi\n    return 1\n}\n\n_find_vgpu_driver_version() {\n    local count=\"\"\n    local version=\"\"\n    local drivers_path=\"/drivers\"\n\n    if [ \"${DISABLE_VGPU_VERSION_CHECK}\" = \"true\" ]; then\n        echo \"vgpu version compatibility check is disabled\"\n        return 0\n    fi\n    # check if vgpu devices are present\n    count=$(vgpu-util count)\n    if [ $? -ne 0 ]; then\n         echo \"cannot find vgpu devices on host, pleae check /var/log/vgpu-util.log for more details...\"\n         return 0\n    fi\n    NUM_VGPU_DEVICES=$(echo \"$count\" | awk -F= '{print $2}')\n    if [ $NUM_VGPU_DEVICES -eq 0 ]; then\n        # no vgpu devices found, treat as passthrough\n        return 0\n    fi\n    echo \"found $NUM_VGPU_DEVICES vgpu devices on host\"\n\n    # find compatible guest driver using driver catalog\n    if [ -d \"/mnt/shared-nvidia-driver-toolkit/drivers\" ]; then\n        drivers_path=\"/mnt/shared-nvidia-driver-toolkit/drivers\"\n    fi\n    version=$(vgpu-util match -i \"${drivers_path}\" -c \"${drivers_path}/vgpuDriverCatalog.yaml\")\n    if [ $? -ne 0 ]; then\n        echo \"cannot find match for compatible vgpu driver from available list, please check /var/log/vgpu-util.log for more details...\"\n        return 1\n    fi\n    DRIVER_VERSION=$(echo \"$version\" | awk -F= '{print $2}')\n    echo \"vgpu driver version selected: ${DRIVER_VERSION}\"\n    return 0\n}\n\n_start_vgpu_topology_daemon() {\n    type nvidia-topologyd > /dev/null 2>&1 || return 0\n    echo \"Starting nvidia-topologyd..\"\n    nvidia-topologyd\n}\n\n_prepare() {\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        _find_vgpu_driver_version || exit 1\n    fi\n\n    # Install the userspace components and copy the kernel module sources.\n    sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n        cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n        sh /tmp/install.sh nvinstall && \\\n        mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n        mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n        sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n\n    echo -e \"\\n========== NVIDIA Software Installer ==========\\n\"\n    echo -e \"Starting installation of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n}\n\n_prepare_exclusive() {\n    _prepare\n\n    exec 3> ${PID_FILE}\n    if ! flock -n 3; then\n        echo \"An instance of the NVIDIA driver is already running, aborting\"\n        exit 1\n    fi\n    echo $$ >&3\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n    trap \"_shutdown\" EXIT\n\n    _unload_driver || exit 1\n    _unmount_rootfs\n}\n\n_build() {\n    # Install dependencies\n    if _kernel_requires_package; then\n        _update_package_cache\n        _install_prerequisites\n        _create_driver_package\n        #_remove_prerequisites\n        _cleanup_package_cache\n    fi\n\n    # Build the driver\n    _install_driver\n}\n\n_load() {\n    _load_driver\n    _mount_rootfs\n    _write_kernel_update_hook\n\n    echo \"Done, now waiting for signal\"\n    sleep infinity &\n    trap \"echo 'Caught signal'; _shutdown && { kill $!; exit 0; }\" HUP INT QUIT PIPE TERM\n    trap - EXIT\n    while true; do wait $! || continue; done\n    exit 0\n}\n\ninit() {\n    _prepare_exclusive\n\n    _build\n\n    _load\n}\n\nbuild() {\n    _prepare\n\n    _build\n}\n\nload() {\n    _prepare_exclusive\n\n    _load\n}\n\nupdate() {\n    exec 3>&2\n    if exec 2> /dev/null 4< ${PID_FILE}; then\n        if ! flock -n 4 && read pid <&4 && kill -0 \"${pid}\"; then\n            exec > >(tee -a \"/proc/${pid}/fd/1\")\n            exec 2> >(tee -a \"/proc/${pid}/fd/2\" >&3)\n        else\n            exec 2>&3\n        fi\n        exec 4>&-\n    fi\n    exec 3>&-\n\n    # vgpu driver version is chosen dynamically during runtime, so pre-compile modules for\n    # only non-vgpu driver types\n    if [ \"${DRIVER_TYPE}\" != \"vgpu\" ]; then\n        # Install the userspace components and copy the kernel module sources.\n        if [ ! -e /usr/src/nvidia-${DRIVER_VERSION}/mkprecompiled ]; then\n            sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n                cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n                sh /tmp/install.sh nvinstall && \\\n                mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n                mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n                sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n        fi\n    fi\n\n    echo -e \"\\n========== NVIDIA Software Updater ==========\\n\"\n    echo -e \"Starting update of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n\n    _update_package_cache\n    _resolve_kernel_version || exit 1\n    _install_prerequisites\n    if _kernel_requires_package; then\n        _create_driver_package\n    fi\n    _remove_prerequisites\n    _cleanup_package_cache\n\n    echo \"Done\"\n    exit 0\n}\n\n# Wait for MOFED drivers to be loaded and load nvidia-peermem whenever it gets unloaded during MOFED driver updates\nreload_nvidia_peermem() {\n    if [ \"$USE_HOST_MOFED\" = \"true\" ]; then\n        until  lsmod | grep mlx5_core > /dev/null 2>&1 && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    else\n        # use driver readiness flag created by MOFED container\n        until  [ -f /run/mellanox/drivers/.driver-ready ] && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    fi\n    # get any parameters provided for nvidia-peermem\n    _get_module_params && set +o nounset\n    if chroot /run/nvidia/driver modprobe nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"; then\n        if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"successfully loaded nvidia-peermem module, now waiting for signal\"\n            sleep inf\n            trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n        fi\n    fi\n    echo \"failed to load nvidia-peermem module\"\n    exit 1\n}\n\n# probe by gpu-operator for liveness/startup checks for nvidia-peermem module to be loaded when MOFED drivers are ready\nprobe_nvidia_peermem() {\n    if lsmod | grep mlx5_core > /dev/null 2>&1; then\n        if [ ! -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"nvidia-peermem module is not loaded\"\n            return 1\n        fi\n    else\n        echo \"MOFED drivers are not ready, skipping probe to avoid container restarts...\"\n    fi\n    return 0\n}\n\nusage() {\n    cat >&2 <<EOF\nUsage: $0 COMMAND [ARG...]\n\nCommands:\n  init   [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  build  [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  load\n  update [-k | --kernel VERSION] [-s | --sign KEYID] [-t | --tag TAG] [-m | --max-threads MAX_THREADS]\nEOF\n    exit 1\n}\n\nif [ $# -eq 0 ]; then\n    usage\nfi\ncommand=$1; shift\ncase \"${command}\" in\n    init) options=$(getopt -l accept-license,max-threads: -o am: -- \"$@\") ;;\n    build) options=$(getopt -l accept-license,tag:,max-threads: -o a:t:m: -- \"$@\") ;;\n    load) options=\"\" ;;\n    update) options=$(getopt -l kernel:,sign:,tag:,max-threads: -o k:s:t:m: -- \"$@\") ;;\n    reload_nvidia_peermem) options=\"\" ;;\n    probe_nvidia_peermem) options=\"\" ;;\n    *) usage ;;\nesac\nif [ $? -ne 0 ]; then\n    usage\nfi\neval set -- \"${options}\"\n\nACCEPT_LICENSE=\"\"\nMAX_THREADS=\"\"\nKERNEL_VERSION=$(uname -r)\nPRIVATE_KEY=\"\"\nPACKAGE_TAG=\"\"\n\nfor opt in ${options}; do\n    case \"$opt\" in\n    -a | --accept-license) ACCEPT_LICENSE=\"yes\"; shift 1 ;;\n    -k | --kernel) KERNEL_VERSION=$2; shift 2 ;;\n    -m | --max-threads) MAX_THREADS=$2; shift 2 ;;\n    -s | --sign) PRIVATE_KEY=$2; shift 2 ;;\n    -t | --tag) PACKAGE_TAG=$2; shift 2 ;;\n    --) shift; break ;;\n    esac\ndone\nif [ $# -ne 0 ]; then\n    usage\nfi\n\n_resolve_rhel_version || exit 1\n\n$command\n

                            \u4f7f\u7528\u5b98\u65b9\u7684\u955c\u50cf\u6765\u4e8c\u6b21\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\uff0c\u5982\u4e0b\u662f\u4e00\u4e2a Dockerfile \u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                            FROM nvcr.io/nvidia/driver:535.183.06-rhel9.2\nCOPY nvidia-driver /usr/local/bin\nRUN chmod +x /usr/local/bin/nvidia-driver\nCMD [\"/bin/bash\", \"-c\"]\n

                            \u6784\u5efa\u547d\u4ee4\u5e76\u63a8\u9001\u5230\u706b\u79cd\u96c6\u7fa4\uff1a

                            docker build -t {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2 -f Dockerfile .\ndocker push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2\n
                            "},{"location":"end-user/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                            1. \u5b89\u88c5 gpu-operator addon
                            2. \u8bbe\u7f6e driver.version=535.183.06-01
                            "},{"location":"end-user/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html","title":"Ubuntu22.04 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                            \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                            "},{"location":"end-user/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_1","title":"\u51c6\u5907\u79bb\u7ebf\u955c\u50cf","text":"
                            1. \u67e5\u770b\u5185\u6838\u7248\u672c

                              $ uname -r\n5.15.0-78-generic\n
                            2. \u67e5\u770b\u5185\u6838\u5bf9\u5e94\u7684 GPU Driver \u955c\u50cf\u7248\u672c\uff0c https://catalog.ngc.nvidia.com/orgs/nvidia/containers/driver/tags\u3002 \u4f7f\u7528\u5185\u6838\u67e5\u8be2\u955c\u50cf\u7248\u672c\uff0c\u901a\u8fc7 ctr export \u4fdd\u5b58\u955c\u50cf\u3002

                              ctr i pull nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i export --all-platforms driver.tar.gz nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 \n
                            3. \u628a\u955c\u50cf\u5bfc\u5165\u5230\u706b\u79cd\u96c6\u7fa4\u7684\u955c\u50cf\u4ed3\u5e93\u4e2d

                              ctr i import driver.tar.gz\nctr i tag nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 --skip-verify=true\n
                            "},{"location":"end-user/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                            1. \u5b89\u88c5 gpu-operator addon
                            2. \u82e5\u4f7f\u7528\u9884\u7f16\u8bd1\u6a21\u5f0f\uff0c\u5219\u8bbe\u7f6e driver.usePrecompiled=true,\u5e76\u8bbe\u7f6e driver.version=535\uff0c\u8fd9\u91cc\u8981\u6ce8\u610f\uff0c\u5199\u7684\u662f 535\uff0c\u4e0d\u662f 535.104.12\u3002\uff08\u975e\u9884\u7f16\u8bd1\u6a21\u5f0f\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u5b89\u88c5\u5373\u53ef\uff09
                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html","title":"\u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                            \u5f53\u5de5\u4f5c\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u5185\u6838\u7248\u672c\u6216 OS \u7c7b\u578b\u4e0d\u4e00\u81f4\u65f6\uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa\u79bb\u7ebf yum \u6e90\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                            2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                            3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u672c\u6587\u4ee5\u5185\u6838\u7248\u672c\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684 CentOS 7.9 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa GPU operator \u79bb\u7ebf\u5305\u7684 yum \u6e90\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#os","title":"\u68c0\u67e5\u96c6\u7fa4\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c","text":"

                            \u5206\u522b\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c\u4e00\u81f4\u5219\u65e0\u9700\u6784\u5efa yum \u6e90\uff0c \u53ef\u53c2\u8003\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u6587\u6863\u76f4\u63a5\u5b89\u88c5\uff1b\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u6216\u5185\u6838\u7248\u672c\u4e0d\u4e00\u81f4\uff0c\u8bf7\u6267\u884c\u4e0b\u4e00\u6b65\u3002

                            1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u53d1\u884c\u7248\u540d\u79f0\u548c\u7248\u672c\u53f7\u3002

                              cat /etc/redhat-release\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              CentOS Linux release 7.9 (Core)\n

                              \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c CentOS 7.9 \u3002

                            2. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u3002

                              uname -a\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Linux localhost.localdomain 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux\n

                              \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c 3.10.0-1160.el7.x86_64\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum","title":"\u5236\u4f5c\u79bb\u7ebf yum \u6e90","text":"

                            \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                            1. \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a yum.sh \u7684\u811a\u672c\u6587\u4ef6\u3002

                              vi yum.sh\n

                              \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

                              export TARGET_KERNEL_VERSION=$1\n\ncat >> run.sh << \\EOF\n#! /bin/bash\necho \"start install kernel repo\"\necho ${KERNEL_VERSION}\nmkdir centos-base\n\nif [ \"$OS\" -eq 7 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el7.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelif [ \"$OS\" -eq 8 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el8.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelse\n    echo \"Error os version\"\nfi\n\ncreaterepo centos-base/\nls -lh centos-base/\ntar -zcf centos-base.tar.gz centos-base/\necho \"end install kernel repo\"\nEOF\n\ncat >> Dockerfile << EOF\nFROM centos:7\nENV KERNEL_VERSION=\"\"\nENV OS=7\nRUN yum install -y createrepo\nCOPY run.sh .\nENTRYPOINT [\"/bin/bash\",\"run.sh\"]\nEOF\n\ndocker build -t test:v1 -f Dockerfile .\ndocker run -e KERNEL_VERSION=$TARGET_KERNEL_VERSION --name centos7.9 test:v1\ndocker cp centos7.9:/centos-base.tar.gz .\ntar -xzf centos-base.tar.gz\n

                              \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

                            2. \u8fd0\u884c yum.sh \u6587\u4ef6\uff1a

                              bash -x yum.sh TARGET_KERNEL_VERSION\n

                              TARGET_KERNEL_VERSION \u53c2\u6570\u7528\u4e8e\u6307\u5b9a\u96c6\u7fa4\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\uff0c\u6ce8\u610f\uff1a\u53d1\u884c\u7248\u6807\u8bc6\u7b26\uff08\u5982 __ .el7.x86_64 __ \uff09\u65e0\u9700\u8f93\u5165\u3002 \u4f8b\u5982\uff1a

                              bash -x yum.sh 3.10.0-1160.95.1\n

                            \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a centos-base \u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_1","title":"\u4e0a\u4f20\u79bb\u7ebf yum \u6e90\u5230\u6587\u4ef6\u670d\u52a1\u5668","text":"

                            \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002\u4e3b\u8981\u7528\u4e8e\u5c06\u4e0a\u4e00\u6b65\u4e2d\u751f\u6210\u7684 yum \u6e90\u4e0a\u4f20\u5230\u53ef\u4ee5\u88ab\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8fdb\u884c\u8bbf\u95ee\u7684\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\u3002 \u6587\u4ef6\u670d\u52a1\u5668\u53ef\u4ee5\u4e3a Nginx \u3001 Minio \u6216\u5176\u5b83\u652f\u6301 Http \u534f\u8bae\u7684\u6587\u4ef6\u670d\u52a1\u5668\u3002

                            \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0cMinio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                            • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                            • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                            • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                              mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Added `minio` successfully.\n

                              mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a centos-base \u7684\u5b58\u50a8\u6876\uff08bucket\uff09\u3002

                              mc mb -p minio/centos-base\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Bucket created successfully __minio/centos-base__ .\n
                            • \u5c06\u5b58\u50a8\u6876 centos-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                              mc anonymous set download minio/centos-base\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Access permission for `minio/centos-base` is set to `download` \n
                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 centos-base \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/centos-base \u5b58\u50a8\u6876\u4e2d\u3002

                              mc cp centos-base minio/centos-base --recursive\n
                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_2","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                            \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                            1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                              # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                            2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                              kubectl create configmap local-repo-config  -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              configmap/local-repo-config created\n

                              local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                            3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                              kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              apiVersion: v1\ndata:\nCentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base#\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n    = http://10.6.232.5:32618/centos-base #\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname\n    = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\ncreationTimestamp: \"2023-10-18T01:59:02Z\"\nname: local-repo-config\nnamespace: gpu-operator\nresourceVersion: \"59445080\"\nuid: c5f0ebab-046f-442c-b932-f9003e014387\n

                            \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html","title":"\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                            2. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 8.4\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4\u3002
                            3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                            4. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                            5. \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 8.4 4.18.0-305.el8.x86_64\u3002
                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u672c\u6587\u4ee5 Red Hat 8.4 4.18.0-305.el8.x86_64 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum","title":"\u4e0b\u8f7d\u706b\u79cd\u8282\u70b9\u4e2d\u7684 yum \u6e90","text":"

                            \u4ee5\u4e0b\u64cd\u4f5c\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                            1. \u4f7f\u7528 ssh \u6216\u5176\u5b83\u65b9\u5f0f\u8fdb\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5185\u4efb\u4e00\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                              cat /etc/yum.repos.d/extension.repo #\u67e5\u770b extension.repo \u4e2d\u7684\u5185\u5bb9\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              [extension-0]\nbaseurl = http://10.5.14.200:9000/kubean/redhat/$releasever/os/$basearch\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/AppStream\ngpgcheck = 0\nname = kubean extension 1\n\n[extension-2]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/BaseOS\ngpgcheck = 0\nname = kubean extension 2\n
                            2. \u5728 root \u8def\u5f84\u4e0b\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base-repo \u7684\u6587\u4ef6\u5939

                              mkdir redhat-base-repo\n
                            3. \u4e0b\u8f7d yum \u6e90\u4e2d\u7684 rpm \u5305\u5230\u672c\u5730\uff1a

                              yum install yum-utils\n
                            4. \u4e0b\u8f7d extension-1 \u4e2d\u7684 rpm \u5305\uff1a

                              reposync  -p redhat-base-repo  -n --repoid=extension-1\n
                            5. \u4e0b\u8f7d extension-2 \u4e2d\u7684 rpm \u5305\uff1a

                              reposync  -p redhat-base-repo  -n --repoid=extension-2\n
                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#elfutils-libelf-devel-0187-4el8x86_64rpm","title":"\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305","text":"

                            \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u64cd\u4f5c\uff0c\u5728\u64cd\u4f5c\u524d\uff0c\u60a8\u9700\u8981\u4fdd\u8bc1\u8054\u7f51\u8282\u70b9\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 master \u8282\u70b9\u95f4\u7684\u7f51\u7edc\u8054\u901a\u6027\u3002

                            1. \u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\uff1a

                              wget https://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/elfutils-libelf-devel-0.187-4.el8.x86_64.rpm\n
                            2. \u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u5c06 elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\u4f20\u8f93\u81f3\u6b65\u9aa4\u4e00\u4e2d\u7684\u8282\u70b9\u4e0a\uff1a

                              scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm user@ip:~/redhat-base-repo/extension-2/Packages/\n

                              \u4f8b\u5982\uff1a

                              scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm root@10.6.175.10:~/redhat-base-repo/extension-2/Packages/\n
                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo","title":"\u751f\u6210\u672c\u5730 yum repo","text":"

                            \u4ee5\u4e0b\u64cd\u4f5c\u5728\u6b65\u9aa4\u4e00\u4e2d\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                            1. \u8fdb\u5165 yum repo \u76ee\u5f55\uff1a

                              cd ~/redhat-base-repo/extension-1/Packages\ncd ~/redhat-base-repo/extension-2/Packages\n
                            2. \u751f\u6210\u76ee\u5f55 repo \u7d22\u5f15\uff1a

                              yum install createrepo -y  # \u82e5\u5df2\u5b89\u88c5 createrepo \u53ef\u7701\u7565\u6b64\u6b65\u9aa4\ncreaterepo_c ./\n

                            \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 4.18.0-305.el8.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a redhat-base-repo \u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo_1","title":"\u5c06\u672c\u5730\u751f\u6210\u7684 yum repo \u4e0a\u4f20\u81f3\u6587\u4ef6\u670d\u52a1\u5668","text":"

                            \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u7528\u6237\u53ef\u57fa\u4e8e\u81ea\u8eab\u60c5\u51b5\u9009\u62e9\u6587\u4ef6\u670d\u52a1\u5668\u3002Minio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                            • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                            • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                            • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                              mc config host add minio \u6587\u4ef6\u670d\u52a1\u5668\u8bbf\u95ee\u5730\u5740 \u7528\u6237\u540d \u5bc6\u7801\n

                              \u4f8b\u5982\uff1a

                              mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Added `minio` successfully.\n

                              mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base \u7684\u5b58\u50a8\u6876(bucket)\u3002

                              mc mb -p minio/redhat-base\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Bucket created successfully `minio/redhat-base`.\n
                            • \u5c06\u5b58\u50a8\u6876 redhat-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                              mc anonymous set download minio/redhat-base\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              Access permission for `minio/redhat-base` is set to `download` \n
                            • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 redhat-base-repo \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/redhat-base \u5b58\u50a8\u6876\u4e2d\u3002

                              mc cp redhat-base-repo minio/redhat-base --recursive\n
                            "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum_1","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                            \u672c\u6b65\u9aa4\u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                            1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a redhat.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                              # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a redhat.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > redhat.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                            2. \u57fa\u4e8e\u521b\u5efa\u7684 redhat.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                              kubectl create configmap local-repo-config  -n gpu-operator --from-file=./redhat.repo \n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              configmap/local-repo-config created\n

                              local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                            3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                              kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                            \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html","title":"\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU Operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\u4f7f\u7528 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            1. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 7.9\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4
                            2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u4e0e\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio
                            3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5
                            4. \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 7.9
                            "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#1-yum","title":"1. \u6784\u5efa\u76f8\u5173\u5185\u6838\u7248\u672c\u7684\u79bb\u7ebf Yum \u6e90","text":"
                            1. \u4e0b\u8f7d rhel7.9 ISO

                            2. \u4e0b\u8f7d\u4e0e Kubean \u7248\u672c\u5bf9\u5e94\u7684\u7684 rhel7.9 ospackage

                              \u5728 \u5bb9\u5668\u7ba1\u7406 \u7684\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u627e\u5230 Helm \u5e94\u7528 \uff0c\u641c\u7d22 kubean\uff0c\u53ef\u67e5\u770b kubean \u7684\u7248\u672c\u53f7\u3002

                              \u5728 kubean\u7684\u4ee3\u7801\u4ed3\u5e93 \u4e2d\u4e0b\u8f7d\u8be5\u7248\u672c\u7684 rhel7.9 ospackage\u3002

                            3. \u901a\u8fc7\u5b89\u88c5\u5668\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90

                              \u53c2\u8003\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90\u6587\u6863\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#2-red-hat-79-os","title":"2. \u4e0b\u8f7d Red Hat 7.9 OS \u7684\u79bb\u7ebf\u9a71\u52a8\u955c\u50cf","text":"

                            \u70b9\u51fb\u67e5\u770b\u4e0b\u8f7d\u5730\u5740\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#3-red-hat-gpu-opreator","title":"3. \u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                            \u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u3002

                            Note

                            \u6b64\u53c2\u8003\u4ee5 rhel8.4 \u4e3a\u4f8b\uff0c\u8bf7\u6ce8\u610f\u4fee\u6539\u6210 rhel7.9\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#4-yum","title":"4. \u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 Yum \u6e90\u4fe1\u606f","text":"

                            \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002

                            1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                              # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo <<  EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                            2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                              kubectl create configmap local-repo-config -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              configmap/local-repo-config created\n

                              local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                            3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                              kubectl get configmap local-repo-config -n gpu-operator -oyaml\n

                              \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                              local-repo-config.yaml
                              apiVersion: v1\ndata:\n  CentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n  = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname\n  = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\n  creationTimestamp: \"2023-10-18T01:59:02Z\"\n  name: local-repo-config\n  namespace: gpu-operator\n  resourceVersion: \"59445080\"\n  uid: c5f0ebab-046f-442c-b932-f9003e014387\n

                            \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u5176\u4e2d\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u4f7f\u7528\u4e86 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html","title":"GPU \u544a\u8b66\u89c4\u5219","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8bbe\u7f6e GPU \u76f8\u5173\u7684\u544a\u8b66\u89c4\u5219\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                            • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907
                            • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6
                            • \u5982\u679c\u7528\u5230\u4e86 vGPU \u8fd8\u9700\u8981\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5 Nvidia-vgpu \u7ec4\u4ef6\uff0c\u5e76\u4e14\u5f00\u542f servicemonitor
                            • \u96c6\u7fa4\u6b63\u786e\u5b89\u88c5\u4e86 insight-agent \u7ec4\u4ef6
                            "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_1","title":"\u544a\u8b66\u5e38\u7528 GPU \u6307\u6807","text":"

                            \u672c\u8282\u4ecb\u7ecd GPU \u544a\u8b66\u5e38\u7528\u7684\u6307\u6807\uff0c\u5206\u4e3a\u4e24\u4e2a\u90e8\u5206\uff1a

                            • GPU \u5361\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94\u5355\u4e2a GPU \u8bbe\u5907\u7684\u8fd0\u884c\u72b6\u6001\u3002
                            • \u5e94\u7528\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94 Pod \u5728 GPU \u4e0a\u7684\u8fd0\u884c\u72b6\u6001\u3002
                            "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_2","title":"GPU \u5361\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e DCGM_FI_DEV_GPU_UTIL % GPU \u5229\u7528\u7387 DCGM_FI_DEV_MEM_COPY_UTIL % \u663e\u5b58\u5229\u7528\u7387 DCGM_FI_DEV_ENC_UTIL % \u7f16\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_DEC_UTIL % \u89e3\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_FB_FREE MB \u8868\u793a\u663e\u5b58\u5269\u4f59\u91cf DCGM_FI_DEV_FB_USED MB \u8868\u793a\u663e\u5b58\u4f7f\u7528\u91cf DCGM_FI_DEV_GPU_TEMP \u6444\u6c0f\u5ea6 \u8868\u793a\u5f53\u524d GPU \u7684\u6e29\u5ea6\u5ea6\u6570 DCGM_FI_DEV_POWER_USAGE W \u8bbe\u5907\u7535\u6e90\u4f7f\u7528\u60c5\u51b5 DCGM_FI_DEV_XID_ERRORS - \u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\uff0c\u6700\u540e\u53d1\u751f\u7684 XID \u9519\u8bef\u53f7\u3002XID \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\uff0c\u66f4\u591a XID \u4fe1\u606f"},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_2","title":"\u5e94\u7528\u7ef4\u5ea6\u7684\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e kpanda_gpu_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u7684\u4f7f\u7528\u7387 kpanda_gpu_mem_pod_usage MB \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u91cf kpanda_gpu_mem_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u7387"},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_3","title":"\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219","text":"

                            \u8fd9\u91cc\u4f1a\u4ecb\u7ecd\u5982\u4f55\u8bbe\u7f6e GPU \u544a\u8b66\u89c4\u5219\uff0c\u4f7f\u7528 GPU \u5361\u5229\u7528\u7387\u6307\u6807\u4f5c\u4e3a\u6848\u4f8b\uff0c\u8bf7\u7528\u6237\u6839\u636e\u5b9e\u9645\u7684\u4e1a\u52a1\u573a\u666f\u9009\u62e9\u6307\u6807\u4ee5\u53ca\u7f16\u5199 promql\u3002

                            \u76ee\u6807\uff1a\u5f53GPU\u5361\u5229\u7528\u7387\u5728\u4e94\u79d2\u949f\u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\u65f6\u53d1\u51fa\u544a\u8b66

                            1. \u5728\u53ef\u89c2\u6d4b\u9875\u9762\uff0c\u70b9\u51fb \u544a\u8b66 -> \u544a\u8b66\u7b56\u7565 -> \u521b\u5efa\u544a\u8b66\u7b56\u7565

                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f

                            3. \u6dfb\u52a0\u89c4\u5219

                            4. \u9009\u62e9\u901a\u77e5\u65b9\u5f0f

                            5. \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5f53\u4e00\u4e2a GPU \u5728 5s \u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\uff0c\u4f1a\u6536\u5230\u5982\u4e0b\u7684\u544a\u8b66\u4fe1\u606f\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html","title":"GPU \u76d1\u63a7\u6307\u6807","text":"

                            \u672c\u9875\u5217\u51fa\u4e00\u4e9b\u5e38\u7528\u7684 GPU \u76d1\u63a7\u6307\u6807\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_1","title":"\u96c6\u7fa4\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u5361\u6570 \u96c6\u7fa4\u4e0b\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u5e73\u5747\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u7b97\u529b\u4f7f\u7528\u7387 GPU \u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u5e26\u5bbd\u4f7f\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u3002\u4ee5 Nvidia GPU V100 \u4e3a\u4f8b\uff0c\u5176\u6700\u5927\u5185\u5b58\u5e26\u5bbd\u4e3a 900 GB/sec\uff0c\u5982\u679c\u5f53\u524d\u7684\u5185\u5b58\u5e26\u5bbd\u4e3a 450 GB/sec\uff0c\u5219\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u4e3a 50%"},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_2","title":"\u8282\u70b9\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u6a21\u5f0f \u8282\u70b9\u4e0a GPU \u5361\u7684\u4f7f\u7528\u6a21\u5f0f\uff0c\u5305\u542b\u6574\u5361\u6a21\u5f0f\u3001MIG \u6a21\u5f0f\u3001vGPU \u6a21\u5f0f GPU \u7269\u7406\u5361\u6570 \u8282\u70b9\u4e0a\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u865a\u62df\u5361\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 vGPU \u8bbe\u5907\u6570\u91cf GPU MIG \u5b9e\u4f8b\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 MIG \u5b9e\u4f8b\u6570 GPU \u663e\u5b58\u5206\u914d\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u7387 GPU \u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 GPU \u663e\u5b58\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u9a71\u52a8\u7248\u672c \u8282\u70b9\u4e0a GPU \u5361\u9a71\u52a8\u7684\u7248\u672c\u4fe1\u606f GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09

                            \u6839\u636e XID \u72b6\u6001\u6392\u67e5 GPU \u76f8\u5173\u95ee\u9898

                            XID \u6d88\u606f\u662f NVIDIA \u9a71\u52a8\u7a0b\u5e8f\u5411\u64cd\u4f5c\u7cfb\u7edf\u7684\u5185\u6838\u65e5\u5fd7\u6216\u4e8b\u4ef6\u65e5\u5fd7\u6253\u5370\u7684\u9519\u8bef\u62a5\u544a\u3002XID \u6d88\u606f\u7528\u4e8e\u6807\u8bc6 GPU \u9519\u8bef\u4e8b\u4ef6\uff0c \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\u3002 \u5982\u68c0\u67e5\u9879 GPU \u8282\u70b9\u4e0a\u7684 XID \u5f02\u5e38\u4e3a\u7a7a\uff0c\u8868\u660e\u65e0 XID \u6d88\u606f\uff1b\u5982\u6709\uff0c\u60a8\u53ef\u6309\u7167\u4e0b\u8868\u81ea\u52a9\u6392\u67e5\u5e76\u89e3\u51b3\u95ee\u9898\uff0c \u6216\u67e5\u770b\u66f4\u591a XID \u6d88\u606f\u3002

                            XID \u6d88\u606f \u8bf4\u660e 13 Graphics Engine Exception. \u901a\u5e38\u662f\u6570\u7ec4\u8d8a\u754c\u3001\u6307\u4ee4\u9519\u8bef\uff0c\u5c0f\u6982\u7387\u662f\u786c\u4ef6\u95ee\u9898\u3002 31 GPU memory page fault. \u901a\u5e38\u662f\u5e94\u7528\u7a0b\u5e8f\u7684\u975e\u6cd5\u5730\u5740\u8bbf\u95ee\uff0c\u6781\u5c0f\u6982\u7387\u662f\u9a71\u52a8\u6216\u8005\u786c\u4ef6\u95ee\u9898\u3002 32 Invalid or corrupted push buffer stream. \u4e8b\u4ef6\u7531 PCIE \u603b\u7ebf\u4e0a\u7ba1\u7406 NVIDIA \u9a71\u52a8\u548c GPU \u4e4b\u95f4\u901a\u4fe1\u7684 DMA \u63a7\u5236\u5668\u4e0a\u62a5\uff0c\u901a\u5e38\u662f PCI \u8d28\u91cf\u95ee\u9898\u5bfc\u81f4\uff0c\u800c\u975e\u60a8\u7684\u7a0b\u5e8f\u4ea7\u751f\u3002 38 Driver firmware error. \u901a\u5e38\u662f\u9a71\u52a8\u56fa\u4ef6\u9519\u8bef\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 43 GPU stopped processing. \u901a\u5e38\u662f\u60a8\u5e94\u7528\u81ea\u8eab\u9519\u8bef\uff0c\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 45 Preemptive cleanup, due to previous errors -- Most likely to see when running multiple cuda applications and hitting a DBE. \u901a\u5e38\u662f\u60a8\u624b\u52a8\u9000\u51fa\u6216\u8005\u5176\u4ed6\u6545\u969c\uff08\u786c\u4ef6\u3001\u8d44\u6e90\u9650\u5236\u7b49\uff09\u5bfc\u81f4\u7684 GPU \u5e94\u7528\u9000\u51fa\uff0cXID 45 \u53ea\u63d0\u4f9b\u4e00\u4e2a\u7ed3\u679c\uff0c\u5177\u4f53\u539f\u56e0\u901a\u5e38\u9700\u8981\u8fdb\u4e00\u6b65\u5206\u6790\u65e5\u5fd7\u3002 48 Double Bit ECC Error (DBE). \u5f53 GPU \u53d1\u751f\u4e0d\u53ef\u7ea0\u6b63\u7684\u9519\u8bef\u65f6\uff0c\u4f1a\u4e0a\u62a5\u6b64\u4e8b\u4ef6\uff0c\u8be5\u9519\u8bef\u4e5f\u4f1a\u540c\u65f6\u53cd\u9988\u7ed9\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u901a\u5e38\u9700\u8981\u91cd\u7f6e GPU \u6216\u91cd\u542f\u8282\u70b9\u6765\u6e05\u9664\u8fd9\u4e2a\u9519\u8bef\u3002 61 Internal micro-controller breakpoint/warning. GPU \u5185\u90e8\u5f15\u64ce\u505c\u6b62\u5de5\u4f5c\uff0c\u60a8\u7684\u4e1a\u52a1\u5df2\u7ecf\u53d7\u5230\u5f71\u54cd\u3002 62 Internal micro-controller halt. \u4e0e XID 61 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002 63 ECC page retirement or row remapping recording event. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u663e\u5b58\u786c\u4ef6\u9519\u8bef\u65f6\uff0cNVIDIA \u81ea\u7ea0\u9519\u673a\u5236\u4f1a\u5c06\u9519\u8bef\u7684\u5185\u5b58\u533a\u57df retire \u6216\u8005 remap\uff0cretirement \u548c remapped \u4fe1\u606f\u9700\u8bb0\u5f55\u5230 infoROM \u4e2d\u624d\u80fd\u6c38\u4e45\u751f\u6548\u3002Volt \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 ECC page retirement \u4e8b\u4ef6\u5230 infoROM\u3002Ampere \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 row remapping \u4e8b\u4ef6\u5230 infoROM\u3002 64 ECC page retirement or row remapper recording failure. \u4e0e XID 63 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 63 \u4ee3\u8868 retirement \u548c remapped \u4fe1\u606f\u6210\u529f\u8bb0\u5f55\u5230\u4e86 infoROM\uff0cXID 64 \u4ee3\u8868\u8be5\u8bb0\u5f55\u64cd\u4f5c\u5931\u8d25\u3002 68 NVDEC0 Exception. \u901a\u5e38\u662f\u786c\u4ef6\u6216\u9a71\u52a8\u95ee\u9898\u3002 74 NVLINK Error. NVLink \u786c\u4ef6\u9519\u8bef\u4ea7\u751f\u7684 XID\uff0c\u8868\u660e GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 79 GPU has fallen off the bus. GPU \u786c\u4ef6\u68c0\u6d4b\u5230\u6389\u5361\uff0c\u603b\u7ebf\u4e0a\u65e0\u6cd5\u68c0\u6d4b\u8be5 GPU\uff0c\u8868\u660e\u8be5 GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 92 High single-bit ECC error rate. \u786c\u4ef6\u6216\u9a71\u52a8\u6545\u969c\u3002 94 Contained ECC error. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u4e0d\u53ef\u7ea0\u6b63\u7684\u663e\u5b58 ECC \u9519\u8bef\u65f6\uff0cNVIDIA \u9519\u8bef\u6291\u5236\u673a\u5236\u4f1a\u5c1d\u8bd5\u5c06\u9519\u8bef\u6291\u5236\u5728\u53d1\u751f\u786c\u4ef6\u6545\u969c\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u907f\u514d\u8be5\u9519\u8bef\u5f71\u54cd GPU \u8282\u70b9\u4e0a\u8fd0\u884c\u7684\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002\u5f53\u6291\u5236\u673a\u5236\u6210\u529f\u6291\u5236\u9519\u8bef\u65f6\uff0c\u4f1a\u4ea7\u751f\u8be5\u4e8b\u4ef6\uff0c\u4ec5\u51fa\u73b0\u4e0d\u53ef\u7ea0\u6b63 ECC \u9519\u8bef\u7684\u5e94\u7528\u7a0b\u5e8f\u53d7\u5230\u5f71\u54cd\u3002 95 Uncontained ECC error. \u4e0e XID 94 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 94 \u4ee3\u8868\u6291\u5236\u6210\u529f\uff0c\u800c XID 95 \u4ee3\u8868\u6291\u5236\u5931\u8d25\uff0c\u8868\u660e\u8fd0\u884c\u5728\u8be5 GPU \u4e0a\u7684\u6240\u6709\u5e94\u7528\u7a0b\u5e8f\u90fd\u5df2\u53d7\u5230\u5f71\u54cd\u3002"},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#pod","title":"Pod \u7ef4\u5ea6","text":"\u5206\u7c7b \u6307\u6807\u540d\u79f0 \u63cf\u8ff0 \u5e94\u7528\u6982\u89c8 GPU \u5361 - \u7b97\u529b & \u663e\u5b58 Pod GPU \u7b97\u529b\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387 Pod GPU \u663e\u5b58\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u7387 Pod \u663e\u5b58\u4f7f\u7528\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf \u663e\u5b58\u5206\u914d\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u91cf Pod GPU \u663e\u5b58\u590d\u5236\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u663e\u5b58\u590d\u5236\u6bd4\u7387 GPU \u5361 - \u5f15\u64ce\u6982\u89c8 GPU \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8\u767e\u5206\u6bd4 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cGraphics \u6216 Compute \u5f15\u64ce\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\uff08Memory BW Utilization\uff09\u5c06\u6570\u636e\u53d1\u9001\u5230\u8bbe\u5907\u5185\u5b58\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8f83\u9ad8\u7684\u503c\u8868\u793a\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8f83\u9ad8\u3002\u8be5\u503c\u4e3a 1\uff08100%\uff09\u8868\u793a\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u5047\u8bbe\u8be5\u503c\u4e3a 0.2\uff0820%\uff09\uff0c\u8868\u793a 20% \u7684\u5468\u671f\u5728\u65f6\u95f4\u95f4\u9694\u5185\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 Tensor \u6838\u5fc3\u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cTensor Core \u7ba1\u9053\uff08Pipe\uff09\u5904\u4e8e Active \u65f6\u95f4\u5360\u603b\u65f6\u95f4\u7684\u6bd4\u4f8b FP16 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP16 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP32 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP32 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP64 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP64 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u89e3\u7801\u4f7f\u7528\u7387 GPU \u5361\u89e3\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u7f16\u7801\u4f7f\u7528\u7387 GPU \u5361\u7f16\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u5361 - \u6e29\u5ea6 & \u529f\u8017 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361 - \u603b\u8017\u80fd GPU \u5361\u603b\u5171\u6d88\u8017\u7684\u80fd\u91cf GPU \u5361 - Clock GPU \u5361\u5185\u5b58\u9891\u7387 \u5185\u5b58\u9891\u7387 GPU \u5361\u5e94\u7528SM \u65f6\u949f\u9891\u7387 \u5e94\u7528\u7684 SM \u65f6\u949f\u9891\u7387 GPU \u5361\u5e94\u7528\u5185\u5b58\u9891\u7387 \u5e94\u7528\u5185\u5b58\u9891\u7387 GPU \u5361\u89c6\u9891\u5f15\u64ce\u9891\u7387 \u89c6\u9891\u5f15\u64ce\u9891\u7387 GPU \u5361\u964d\u9891\u539f\u56e0 \u964d\u9891\u539f\u56e0 GPU \u5361 - \u5176\u4ed6\u7ec6\u8282 \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8 \u56fe\u5f62\u6216\u8ba1\u7b97\u5f15\u64ce\u7684\u4efb\u4f55\u90e8\u5206\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\u3002\u5982\u679c\u56fe\u5f62/\u8ba1\u7b97\u4e0a\u4e0b\u6587\u5df2\u7ed1\u5b9a\u4e14\u56fe\u5f62/\u8ba1\u7b97\u7ba1\u9053\u7e41\u5fd9\uff0c\u5219\u56fe\u5f62\u5f15\u64ce\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002 SM\u6d3b\u52a8 \u591a\u5904\u7406\u5668\u4e0a\u81f3\u5c11\u4e00\u4e2a Warp \u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\uff0c\u6240\u6709\u591a\u5904\u7406\u5668\u7684\u5e73\u5747\u503c\u3002\u8bf7\u6ce8\u610f\uff0c\u201c\u6d3b\u52a8\u201d\u5e76\u4e0d\u4e00\u5b9a\u610f\u5473\u7740 Warp \u6b63\u5728\u79ef\u6781\u8ba1\u7b97\u3002\u4f8b\u5982\uff0c\u7b49\u5f85\u5185\u5b58\u8bf7\u6c42\u7684 Warp \u88ab\u89c6\u4e3a\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u30020.8 \u6216\u66f4\u5927\u7684\u503c\u662f\u6709\u6548\u4f7f\u7528 GPU \u7684\u5fc5\u8981\u6761\u4ef6\uff0c\u4f46\u8fd8\u4e0d\u591f\u3002\u5c0f\u4e8e 0.5 \u7684\u503c\u53ef\u80fd\u8868\u793a GPU \u4f7f\u7528\u6548\u7387\u4f4e\u4e0b\u3002\u7ed9\u51fa\u4e00\u4e2a\u7b80\u5316\u7684 GPU \u67b6\u6784\u89c6\u56fe\uff0c\u5982\u679c GPU \u6709 N \u4e2a SM\uff0c\u5219\u4f7f\u7528 N \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 1\uff08100%\uff09\u3002\u4f7f\u7528 N/5 \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 0.2\uff0820%\uff09\u3002\u4f7f\u7528 N \u4e2a\u5757\u5e76\u8fd0\u884c\u4e94\u5206\u4e4b\u4e00\u65f6\u95f4\u95f4\u9694\u7684\u5185\u6838\uff0c\u5982\u679c SM \u5904\u4e8e\u7a7a\u95f2\u72b6\u6001\uff0c\u5219\u6d3b\u52a8\u4e5f\u5c06\u4e3a 0.2\uff0820%\uff09\u3002\u8be5\u503c\u4e0e\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u65e0\u5173\uff08\u53c2\u89c1DCGM_FI_PROF_SM_OCCUPANCY\uff09\u3002 SM \u5165\u4f4f\u7387 \u591a\u5904\u7406\u5668\u4e0a\u9a7b\u7559 Warp \u7684\u6bd4\u4f8b\uff0c\u76f8\u5bf9\u4e8e\u591a\u5904\u7406\u5668\u4e0a\u652f\u6301\u7684\u6700\u5927\u5e76\u53d1 Warp \u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u8868\u793a GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u5bf9\u4e8e GPU \u5185\u5b58\u5e26\u5bbd\u53d7\u9650\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff08\u53c2\u89c1DCGM_FI_PROF_DRAM_ACTIVE\uff09\uff0c\u5360\u7528\u7387\u8d8a\u9ad8\u8868\u660e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u4f46\u662f\uff0c\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u662f\u8ba1\u7b97\u53d7\u9650\u7684\uff08\u5373\u4e0d\u53d7 GPU \u5185\u5b58\u5e26\u5bbd\u6216\u5ef6\u8fdf\u9650\u5236\uff09\uff0c\u5219\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u4e0e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u76f8\u5173\u3002\u8ba1\u7b97\u5360\u7528\u7387\u5e76\u4e0d\u7b80\u5355\uff0c\u5b83\u53d6\u51b3\u4e8e GPU \u5c5e\u6027\u3001\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u3001\u6bcf\u4e2a\u7ebf\u7a0b\u7684\u5bc4\u5b58\u5668\u4ee5\u53ca\u6bcf\u4e2a\u5757\u7684\u5171\u4eab\u5185\u5b58\u7b49\u56e0\u7d20\u3002\u4f7f\u7528CUDA \u5360\u7528\u7387\u8ba1\u7b97\u5668 \u63a2\u7d22\u5404\u79cd\u5360\u7528\u7387\u573a\u666f\u3002 \u5f20\u91cf\u6d3b\u52a8 \u5f20\u91cf (HMMA / IMMA) \u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u5f20\u91cf\u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8 1 (100%) \u76f8\u5f53\u4e8e\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u53d1\u51fa\u4e00\u4e2a\u5f20\u91cf\u6307\u4ee4\u3002\u6d3b\u52a8 0.2 (20%) \u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP64 \u5f15\u64ce\u6d3b\u52a8 FP64\uff08\u53cc\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP64 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185 Volta \u4e0a\u6bcf\u56db\u4e2a\u5468\u671f\u7684\u6bcf\u4e2a SM\u4e0a\u6267\u884c\u4e00\u6761 FP64 \u6307\u4ee4 \u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605 DCGM_FI_PROF_SM_ACTIVE \u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP32 \u5f15\u64ce\u6d3b\u52a8 FMA\uff08FP32\uff08\u5355\u7cbe\u5ea6\uff09\u548c\u6574\u6570\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP32 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP32 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP16 \u5f15\u64ce\u6d3b\u52a8 FP16\uff08\u534a\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP16 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP16 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u5411\u8bbe\u5907\u5185\u5b58\u53d1\u9001\u6570\u636e\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u6bd4\u4f8b\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u7387\u4e3a 1 (100%) \u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u6d3b\u52a8\u7387\u4e3a 0.2 (20%) \u8868\u793a\u5728\u65f6\u95f4\u95f4\u9694\u5185\u6709 20% \u7684\u5468\u671f\u6b63\u5728\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 NVLink \u5e26\u5bbd \u901a\u8fc7 NVLink \u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff08\u4e0d\u5305\u62ec\u534f\u8bae\u6807\u5934\uff09\uff0c\u4ee5\u6bcf\u79d2\u5b57\u8282\u6570\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\uff0c\u6bcf\u4e2a\u94fe\u8def\u6bcf\u4e2a\u65b9\u5411\u7684\u6700\u5927 NVLink Gen2 \u5e26\u5bbd\u4e3a 25 GB/s\u3002 PCIe \u5e26\u5bbd \u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff0c\u5305\u62ec\u534f\u8bae\u6807\u5934\u548c\u6570\u636e\u6709\u6548\u8d1f\u8f7d\uff0c\u4ee5\u5b57\u8282/\u79d2\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8be5\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\u6700\u5927 PCIe Gen3 \u5e26\u5bbd\u4e3a\u6bcf\u901a\u9053 985 MB/s\u3002 PCIe \u4f20\u8f93\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93\u7684\u6570\u636e\u901f\u7387 PCIe \u63a5\u6536\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u63a5\u6536\u7684\u6570\u636e\u901f\u7387"},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html","title":"NVIDIA \u591a\u5b9e\u4f8b GPU(MIG) \u6982\u8ff0","text":""},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#mig","title":"MIG \u573a\u666f","text":"
                            • \u591a\u79df\u6237\u4e91\u73af\u5883

                              MIG \u5141\u8bb8\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u5c06\u4e00\u5757\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u72ec\u7acb\u7684 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u3002\u8fd9\u6837\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u548c\u72ec\u7acb\u6027\uff0c\u6ee1\u8db3\u591a\u4e2a\u79df\u6237\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                            • \u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f

                              MIG \u53ef\u4ee5\u5728\u5bb9\u5668\u5316\u73af\u5883\u4e2d\u5b9e\u73b0\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u7ba1\u7406\u3002\u901a\u8fc7\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5bb9\u5668\u5206\u914d\u72ec\u7acb\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff0c\u63d0\u4f9b\u66f4\u597d\u7684\u6027\u80fd\u9694\u79bb\u548c\u8d44\u6e90\u5229\u7528\u3002

                            • \u6279\u5904\u7406\u4f5c\u4e1a

                              \u5bf9\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u8ba1\u7b97\u7684\u6279\u5904\u7406\u4f5c\u4e1a\uff0cMIG \u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8ba1\u7b97\u6027\u80fd\u548c\u66f4\u5927\u7684\u663e\u5b58\u5bb9\u91cf\u3002\u6bcf\u4e2a MIG \u5b9e\u4f8b\u53ef\u4ee5\u5229\u7528\u7269\u7406 GPU \u7684\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u52a0\u901f\u5927\u89c4\u6a21\u8ba1\u7b97\u4efb\u52a1\u7684\u5904\u7406\u3002

                            • AI/\u673a\u5668\u5b66\u4e60\u8bad\u7ec3

                              MIG \u53ef\u4ee5\u5728\u8bad\u7ec3\u5927\u89c4\u6a21\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u65f6\u63d0\u4f9b\u66f4\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u548c\u541e\u5410\u91cf\u3002

                            \u603b\u4f53\u800c\u8a00\uff0cNVIDIA MIG \u9002\u7528\u4e8e\u9700\u8981\u66f4\u7ec6\u7c92\u5ea6\u7684GPU\u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\u7684\u573a\u666f\uff0c\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u3001\u63d0\u9ad8\u6027\u80fd\u5229\u7528\u7387\uff0c\u5e76\u4e14\u6ee1\u8db3\u591a\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#mig_1","title":"MIG \u6982\u8ff0","text":"

                            NVIDIA \u591a\u5b9e\u4f8b GPU\uff08Multi-Instance GPU\uff0c\u7b80\u79f0 MIG\uff09\u662f NVIDIA \u5728 H100\uff0cA100\uff0cA30 \u7cfb\u5217 GPU \u5361\u4e0a\u63a8\u51fa\u7684\u4e00\u9879\u65b0\u7279\u6027\uff0c \u65e8\u5728\u5c06\u4e00\u5757\u7269\u7406 GPU \u5206\u5272\u4e3a\u591a\u4e2a GPU \u5b9e\u4f8b\uff0c\u4ee5\u63d0\u4f9b\u66f4\u7ec6\u7c92\u5ea6\u7684\u8d44\u6e90\u5171\u4eab\u548c\u9694\u79bb\u3002MIG \u6700\u591a\u53ef\u5c06\u4e00\u5757 GPU \u5212\u5206\u6210\u4e03\u4e2a GPU \u5b9e\u4f8b\uff0c \u4f7f\u5f97\u4e00\u4e2a \u7269\u7406 GPU \u5361\u53ef\u4e3a\u591a\u4e2a\u7528\u6237\u63d0\u4f9b\u5355\u72ec\u7684 GPU \u8d44\u6e90\uff0c\u4ee5\u5b9e\u73b0\u6700\u4f73 GPU \u5229\u7528\u7387\u3002

                            \u8fd9\u4e2a\u529f\u80fd\u4f7f\u5f97\u591a\u4e2a\u5e94\u7528\u7a0b\u5e8f\u6216\u7528\u6237\u53ef\u4ee5\u540c\u65f6\u5171\u4eabGPU\u8d44\u6e90\uff0c\u63d0\u9ad8\u4e86\u8ba1\u7b97\u8d44\u6e90\u7684\u5229\u7528\u7387\uff0c\u5e76\u589e\u52a0\u4e86\u7cfb\u7edf\u7684\u53ef\u6269\u5c55\u6027\u3002

                            \u901a\u8fc7 MIG\uff0c\u6bcf\u4e2a GPU \u5b9e\u4f8b\u7684\u5904\u7406\u5668\u5728\u6574\u4e2a\u5185\u5b58\u7cfb\u7edf\u4e2d\u5177\u6709\u72ec\u7acb\u4e14\u9694\u79bb\u7684\u8def\u5f84\u2014\u2014\u82af\u7247\u4e0a\u7684\u4ea4\u53c9\u5f00\u5173\u7aef\u53e3\u3001L2 \u9ad8\u901f\u7f13\u5b58\u7ec4\u3001\u5185\u5b58\u63a7\u5236\u5668\u548c DRAM \u5730\u5740\u603b\u7ebf\u90fd\u552f\u4e00\u5206\u914d\u7ed9\u5355\u4e2a\u5b9e\u4f8b\u3002

                            \u8fd9\u786e\u4fdd\u4e86\u5355\u4e2a\u7528\u6237\u7684\u5de5\u4f5c\u8d1f\u8f7d\u80fd\u591f\u4ee5\u53ef\u9884\u6d4b\u7684\u541e\u5410\u91cf\u548c\u5ef6\u8fdf\u8fd0\u884c\uff0c\u5e76\u5177\u6709\u76f8\u540c\u7684\u4e8c\u7ea7\u7f13\u5b58\u5206\u914d\u548c DRAM \u5e26\u5bbd\u3002 MIG \u53ef\u4ee5\u5212\u5206\u53ef\u7528\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff08\u5305\u62ec\u6d41\u591a\u5904\u7406\u5668\u6216 SM \u548c GPU \u5f15\u64ce\uff0c\u5982\u590d\u5236\u5f15\u64ce\u6216\u89e3\u7801\u5668\uff09\u8fdb\u884c\u5206\u533a\uff0c \u4ee5\u4fbf\u4e3a\u4e0d\u540c\u7684\u5ba2\u6237\u7aef\uff08\u5982\u4e91\u4e3b\u673a\u3001\u5bb9\u5668\u6216\u8fdb\u7a0b\uff09\u63d0\u4f9b\u5b9a\u4e49\u7684\u670d\u52a1\u8d28\u91cf\uff08QoS\uff09\u548c\u6545\u969c\u9694\u79bb\uff09\u3002 MIG \u4f7f\u591a\u4e2a GPU \u5b9e\u4f8b\u80fd\u591f\u5728\u5355\u4e2a\u7269\u7406 GPU \u4e0a\u5e76\u884c\u8fd0\u884c\u3002

                            MIG \u5141\u8bb8\u591a\u4e2a vGPU\uff08\u4ee5\u53ca\u4e91\u4e3b\u673a\uff09\u5728\u5355\u4e2a GPU \u5b9e\u4f8b\u4e0a\u5e76\u884c\u8fd0\u884c\uff0c\u540c\u65f6\u4fdd\u7559 vGPU \u63d0\u4f9b\u7684\u9694\u79bb\u4fdd\u8bc1\u3002 \u6709\u5173\u4f7f\u7528 vGPU \u548c MIG \u8fdb\u884c GPU \u5206\u533a\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 NVIDIA Multi-Instance GPU and NVIDIA Virtual Compute Server\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#mig_2","title":"MIG \u67b6\u6784","text":"

                            \u5982\u4e0b\u662f\u4e00\u4e2a MIG \u7684\u6982\u8ff0\u56fe\uff0c\u53ef\u4ee5\u770b\u51fa MIG \u5c06\u4e00\u5f20\u7269\u7406 GPU \u5361\u865a\u62df\u5316\u6210\u4e86 7 \u4e2a GPU \u5b9e\u4f8b\uff0c\u8fd9\u4e9b GPU \u5b9e\u4f8b\u80fd\u591f\u53ef\u4ee5\u88ab\u591a\u4e2a User \u4f7f\u7528\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#_1","title":"\u91cd\u8981\u6982\u5ff5","text":"
                            • SM \uff1a\u6d41\u5f0f\u591a\u5904\u7406\u5668\uff08Streaming Multiprocessor\uff09\uff0cGPU \u7684\u6838\u5fc3\u8ba1\u7b97\u5355\u5143\uff0c\u8d1f\u8d23\u6267\u884c\u56fe\u5f62\u6e32\u67d3\u548c\u901a\u7528\u8ba1\u7b97\u4efb\u52a1\u3002 \u6bcf\u4e2a SM \u5305\u542b\u4e00\u7ec4 CUDA \u6838\u5fc3\uff0c\u4ee5\u53ca\u5171\u4eab\u5185\u5b58\u3001\u5bc4\u5b58\u5668\u6587\u4ef6\u548c\u5176\u4ed6\u8d44\u6e90\uff0c\u53ef\u4ee5\u540c\u65f6\u6267\u884c\u591a\u4e2a\u7ebf\u7a0b\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u90fd\u62e5\u6709\u4e00\u5b9a\u6570\u91cf\u7684 SM \u548c\u5176\u4ed6\u76f8\u5173\u8d44\u6e90\uff0c\u4ee5\u53ca\u88ab\u5212\u5206\u51fa\u6765\u7684\u663e\u5b58\u3002
                            • GPU Memory Slice \uff1aGPU \u5185\u5b58\u5207\u7247\uff0cGPU \u5185\u5b58\u5207\u7247\u662f GPU \u5185\u5b58\u7684\u6700\u5c0f\u90e8\u5206\uff0c\u5305\u62ec\u76f8\u5e94\u7684\u5185\u5b58\u63a7\u5236\u5668\u548c\u7f13\u5b58\u3002 GPU \u5185\u5b58\u5207\u7247\u5927\u7ea6\u662f GPU \u5185\u5b58\u8d44\u6e90\u603b\u91cf\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u5305\u62ec\u5bb9\u91cf\u548c\u5e26\u5bbd\u3002
                            • GPU SM Slice \uff1aGPU SM \u5207\u7247\u662f GPU \u4e0a SM \u7684\u6700\u5c0f\u8ba1\u7b97\u5355\u4f4d\u3002\u5728 MIG \u6a21\u5f0f\u4e0b\u914d\u7f6e\u65f6\uff0c GPU SM \u5207\u7247\u5927\u7ea6\u662f GPU \u4e2d\u53ef\u7528 SMS \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                            • GPU Slice \uff1aGPU \u5207\u7247\u662f GPU \u4e2d\u7531\u5355\u4e2a GPU \u5185\u5b58\u5207\u7247\u548c\u5355\u4e2a GPU SM \u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u7684\u6700\u5c0f\u90e8\u5206\u3002
                            • GPU Instance \uff1aGPU \u5b9e\u4f8b \uff08GI\uff09 \u662f GPU \u5207\u7247\u548c GPU \u5f15\u64ce\uff08DMA\u3001NVDEC \u7b49\uff09\u7684\u7ec4\u5408\u3002 GPU \u5b9e\u4f8b\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\u59cb\u7ec8\u5171\u4eab\u6240\u6709 GPU \u5185\u5b58\u5207\u7247\u548c\u5176\u4ed6 GPU \u5f15\u64ce\uff0c\u4f46\u5b83\u7684 SM \u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\u3002 GPU \u5b9e\u4f8b\u63d0\u4f9b\u5185\u5b58 QoS\u3002\u6bcf\u4e2a GPU \u5207\u7247\u90fd\u5305\u542b\u4e13\u7528\u7684 GPU \u5185\u5b58\u8d44\u6e90\uff0c\u8fd9\u4e9b\u8d44\u6e90\u4f1a\u9650\u5236\u53ef\u7528\u5bb9\u91cf\u548c\u5e26\u5bbd\uff0c\u5e76\u63d0\u4f9b\u5185\u5b58 QoS\u3002 \u6bcf\u4e2a GPU \u5185\u5b58\u5207\u7247\u83b7\u5f97\u603b GPU \u5185\u5b58\u8d44\u6e90\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u6bcf\u4e2a GPU SM \u5207\u7247\u83b7\u5f97 SM \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                            • Compute Instance \uff1aGPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b \uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c\u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002
                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#gpu-gi","title":"GPU \u5b9e\u4f8b\uff08GI\uff09","text":"

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 GPU \u4e0a\u521b\u5efa\u5404\u79cd\u5206\u533a\u3002\u5c06\u4f7f\u7528 A100-40GB \u4f5c\u4e3a\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u5bf9\u5355\u4e2a GPU \u7269\u7406\u5361\u4e0a\u8fdb\u884c\u5206\u533a\u3002

                            GPU \u7684\u5206\u533a\u662f\u4f7f\u7528\u5185\u5b58\u5207\u7247\u8fdb\u884c\u7684\uff0c\u56e0\u6b64\u53ef\u4ee5\u8ba4\u4e3a A100-40GB GPU \u5177\u6709 8x5GB \u5185\u5b58\u5207\u7247\u548c 7 \u4e2a GPU SM \u5207\u7247\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5c55\u793a\u4e86 A100 \u4e0a\u53ef\u7528\u7684\u5185\u5b58\u5207\u7247\u3002

                            \u5982\u4e0a\u6240\u8ff0\uff0c\u521b\u5efa GPU \u5b9e\u4f8b \uff08GI\uff09 \u9700\u8981\u5c06\u4e00\u5b9a\u6570\u91cf\u7684\u5185\u5b58\u5207\u7247\u4e0e\u4e00\u5b9a\u6570\u91cf\u7684\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\u3002 \u5728\u4e0b\u56fe\u4e2d\uff0c\u4e00\u4e2a 5GB \u5185\u5b58\u5207\u7247\u4e0e 1 \u4e2a\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\uff0c\u4ee5\u521b\u5efa 1g.5gb GI \u914d\u7f6e\u6587\u4ef6\uff1a

                            \u540c\u6837\uff0c4x5GB \u5185\u5b58\u5207\u7247\u53ef\u4ee5\u4e0e 4x1 \u8ba1\u7b97\u5207\u7247\u7ed3\u5408\u4f7f\u7528\u4ee5\u521b\u5efa 4g.20gb \u7684 GI \u914d\u7f6e\u6587\u4ef6\uff1a

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#ci","title":"\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09","text":"

                            GPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247(GI)\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c \u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002\u4f7f\u7528\u4e0a\u9762\u7684\u76f8\u540c 4g.20gb \u793a\u4f8b\uff0c\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a CI \u4ee5\u4ec5\u4f7f\u7528\u7b2c\u4e00\u4e2a\u8ba1\u7b97\u5207\u7247\u7684 1c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\uff0c\u5982\u4e0b\u56fe\u84dd\u8272\u90e8\u5206\u6240\u793a\uff1a

                            \u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u901a\u8fc7\u9009\u62e9\u4efb\u4f55\u8ba1\u7b97\u5207\u7247\u6765\u521b\u5efa 4 \u4e2a\u4e0d\u540c\u7684 CI\u3002\u8fd8\u53ef\u4ee5\u5c06\u4e24\u4e2a\u8ba1\u7b97\u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u4ee5\u521b\u5efa 2c.4g.20gb \u7684\u8ba1\u7b97\u914d\u7f6e\uff09\uff1a

                            \u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u53ef\u4ee5\u7ec4\u5408 3 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa\u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\uff0c\u6216\u8005\u53ef\u4ee5\u7ec4\u5408\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa 3c.4g.20gb \u3001 4c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\u3002 \u5408\u5e76\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u65f6\uff0c\u914d\u7f6e\u6587\u4ef6\u7b80\u79f0\u4e3a 4g.20gb \u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html","title":"\u5f00\u542f MIG \u529f\u80fd","text":"

                            \u672c\u7ae0\u8282\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f NVIDIA MIG \u529f\u80fd\u65b9\u5f0f\uff0cNVIDIA \u5f53\u524d\u63d0\u4f9b\u4e24\u79cd\u5728 Kubernetes \u8282\u70b9\u4e0a\u516c\u5f00 MIG \u8bbe\u5907\u7684\u7b56\u7565\uff1a

                            • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\u3002
                            • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002

                            \u8be6\u60c5\u53c2\u8003 NVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5f85\u5b89\u88c5 GPU \u9a71\u52a8\u8282\u70b9\u7cfb\u7edf\u8981\u6c42\u8bf7\u53c2\u8003\uff1aGPU \u652f\u6301\u77e9\u9635
                            • \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\uff08NVIDIA H100\u3001 A100 \u548c A30 Tensor Core GPU\uff09\uff0c \u8be6\u60c5\u53c2\u8003 GPU \u652f\u6301\u77e9\u9635\u3002
                            • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html#gpu-operator-addon","title":"\u5b89\u88c5 gpu-operator Addon","text":""},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html#_2","title":"\u53c2\u6570\u914d\u7f6e","text":"

                            \u5b89\u88c5 Operator \u65f6\u9700\u8981\u5bf9\u5e94\u8bbe\u7f6e MigManager Config \u53c2\u6570\uff0c \u9ed8\u8ba4\u4e3a default-mig-parted-config \uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565\u914d\u7f6e\u6587\u4ef6\uff1a

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html#_3","title":"\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565","text":"
                              ## \u81ea\u5b9a\u4e49\u5207\u5206 GI \u5b9e\u4f8b\u914d\u7f6e\n  all-disabled:\n    - devices: all\n      mig-enabled: false\n  all-enabled:\n    - devices: all\n      mig-enabled: true\n      mig-devices: {}\n  all-1g.10gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.5gb: 7\n  all-1g.10gb.me:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb+me: 1\n  all-1g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.20gb: 4\n  all-2g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        2g.20gb: 3\n  all-3g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n  all-4g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        4g.40gb: 1\n  all-7g.80gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        7g.80gb: 1\n  all-balanced:\n    - device-filter: [\"0x233110DE\", \"0x232210DE\", \"0x20B210DE\", \"0x20B510DE\", \"0x20F310DE\", \"0x20F510DE\"]\n      devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb: 2\n        2g.20gb: 1\n        3g.40gb: 1\n  # \u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u8bbe\u7f6e\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\n  custom-config:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n

                            \u5728\u4e0a\u8ff0\u7684 YAML \u4e2d\u8bbe\u7f6e custom-config \uff0c\u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\u3002

                            custom-config:\n  - devices: all\n    mig-enabled: true\n    mig-devices:\n      1c.3g.40gb: 6\n

                            \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5728\u786e\u8ba4\u90e8\u7f72\u5e94\u7528\u65f6\u5373\u53ef\u4f7f\u7528 GPU MIG \u8d44\u6e90\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html#gpu","title":"\u5207\u6362\u8282\u70b9 GPU \u6a21\u5f0f","text":"

                            Note

                            \u5207\u6362 GPU \u6a21\u5f0f\u6216\u8005\u4fee\u6539\u5207\u5206\u89c4\u683c\u540e\u9700\u8981\u91cd\u542f nvidia-mig-manager\u3002

                            \u5f53\u6211\u4eec\u6210\u529f\u5b89\u88c5 gpu-operator \u4e4b\u540e\uff0c\u8282\u70b9\u9ed8\u8ba4\u662f\u6574\u5361\u6a21\u5f0f\uff0c\u5728\u8282\u70b9\u7ba1\u7406\u9875\u9762\u4f1a\u6709\u6807\u8bc6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                            \u70b9\u51fb\u8282\u70b9\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 GPU \u6a21\u5f0f\u5207\u6362 \uff0c\u7136\u540e\u9009\u62e9\u5bf9\u5e94\u7684 MIG \u6a21\u5f0f\u4ee5\u53ca\u5207\u5206\u7684\u7b56\u7565\uff0c\u8fd9\u91cc\u4ee5 MIXED \u6a21\u5f0f\u4e3a\u4f8b\uff1a

                            \u8fd9\u91cc\u4e00\u5171\u6709\u4e24\u4e2a\u914d\u7f6e\uff1a

                            1. MIg \u7b56\u7565\uff1aMixed \u4ee5\u53ca Single \u3002
                            2. \u5207\u5206\u7b56\u7565\uff1a\u8fd9\u91cc\u7684\u7b56\u7565\u9700\u8981\u4e0e default-mig-parted-config \uff08\u6216\u8005\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u5207\u5206\u7b56\u7565\uff09\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684 key \u4fdd\u6301\u4e00\u81f4\u3002

                            \u70b9\u51fb \u786e\u5b9a \u6309\u94ae\u540e\uff0c\u7b49\u5f85\u7ea6\u4e00\u5206\u949f\u5de6\u53f3\u5237\u65b0\u9875\u9762\uff0cMIG \u6a21\u5f0f\u5207\u6362\u6210\uff1a

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/mig_command.html","title":"MIG \u76f8\u5173\u547d\u4ee4","text":"

                            GI \u76f8\u5173\u547d\u540d\uff1a

                            \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lgi \u67e5\u770b\u521b\u5efa GI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -dgi -gi \u5220\u9664\u6307\u5b9a\u7684 GI \u5b9e\u4f8b nvidia-smi mig -lgip \u67e5\u770b GI \u7684 profile nvidia-smi mig -cgi \u901a\u8fc7\u6307\u5b9a profile \u7684 ID \u521b\u5efa GI

                            CI \u76f8\u5173\u547d\u4ee4\uff1a

                            \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lcip { -gi {gi Instance ID}} \u67e5\u770b CI \u7684 profile \uff0c\u6307\u5b9a -gi \u53ef\u4ee5\u67e5\u770b\u7279\u5b9a GI \u5b9e\u4f8b\u53ef\u4ee5\u521b\u5efa\u7684 CI nvidia-smi mig -lci \u67e5\u770b\u521b\u5efa\u7684 CI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -cci {profile id} -gi {gi instance id} \u6307\u5b9a\u7684 GI \u521b\u5efa CI \u5b9e\u4f8b nvidia-smi mig -dci -ci \u5220\u9664\u6307\u5b9a CI \u5b9e\u4f8b

                            GI+CI \u76f8\u5173\u547d\u4ee4\uff1a

                            \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -i 0 -cgi {gi profile id} -C {ci profile id} \u76f4\u63a5\u521b\u5efa GI + CI \u5b9e\u4f8b"},{"location":"end-user/kpanda/gpu/nvidia/mig/mig_usage.html","title":"\u4f7f\u7528 MIG GPU \u8d44\u6e90","text":"

                            \u672c\u8282\u4ecb\u7ecd\u5e94\u7528\u5982\u4f55\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/mig_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                            • \u5df2\u5b89\u88c5 GPU Operator\u3002
                            • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/mig_usage.html#ui-mig-gpu","title":"UI \u754c\u9762\u4f7f\u7528 MIG GPU","text":"
                            1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u8bc6\u522b GPU \u5361\u7c7b\u578b

                              \u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 -> \u8282\u70b9\u7ba1\u7406 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u6b63\u786e\u8bc6\u522b\u4e3a MIG \u6a21\u5f0f\u3002

                            2. \u901a\u8fc7\u955c\u50cf\u90e8\u7f72\u5e94\u7528\uff0c\u53ef\u9009\u62e9\u5e76\u4f7f\u7528 NVIDIA MIG \u8d44\u6e90\u3002

                              • MIG Single \u6a21\u5f0f\u793a\u4f8b\uff08\u4e0e\u6574\u5361\u4f7f\u7528\u65b9\u5f0f\u76f8\u540c\uff09\uff1a

                                Note

                                MIG single \u7b56\u7565\u5141\u8bb8\u7528\u6237\u4ee5\u4e0e GPU \u6574\u5361\u76f8\u540c\u7684\u65b9\u5f0f\uff08nvidia.com/gpu\uff09\u8bf7\u6c42\u548c\u4f7f\u7528GPU\u8d44\u6e90\uff0c\u4e0d\u540c\u7684\u662f\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u662f GPU \u7684\u4e00\u90e8\u5206\uff08MIG\u8bbe\u5907\uff09\uff0c\u800c\u4e0d\u662f\u6574\u4e2aGPU\u3002\u4e86\u89e3\u66f4\u591a GPU MIG \u6a21\u5f0f\u8bbe\u8ba1

                              • MIG Mixed \u6a21\u5f0f\u793a\u4f8b\uff1a

                            "},{"location":"end-user/kpanda/gpu/nvidia/mig/mig_usage.html#yaml-mig","title":"YAML \u914d\u7f6e\u4f7f\u7528 MIG","text":"

                            MIG Single \u6a21\u5f0f\uff1a

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpu: 2 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                            1. \u7533\u8bf7 MIG GPU \u7684\u6570\u91cf

                            MIG Mixed \u6a21\u5f0f\uff1a

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/mig-4g.20gb: 1 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                            1. \u901a\u8fc7 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                            \u8fdb\u5165\u5bb9\u5668\u540e\u53ef\u4ee5\u67e5\u770b\u53ea\u4f7f\u7528\u4e86\u4e00\u4e2a MIG \u8bbe\u5907\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/hami.html","title":"\u6784\u5efa vGPU \u663e\u5b58\u8d85\u914d\u955c\u50cf","text":"

                            Hami \u9879\u76ee\u4e2d vGPU \u663e\u5b58\u8d85\u914d\u7684\u529f\u80fd\u5df2\u7ecf\u4e0d\u5b58\u5728\uff0c\u76ee\u524d\u4f7f\u7528\u6709\u663e\u5b58\u8d85\u914d\u7684 libvgpu.so \u6587\u4ef6\u91cd\u65b0\u6784\u5efa\u3002

                            Dockerfile
                            FROM docker.m.daocloud.io/projecthami/hami:v2.3.11\nCOPY libvgpu.so /k8s-vgpu/lib/nvidia/\n

                            \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6784\u5efa\u955c\u50cf\uff1a

                            docker build -t release.daocloud.io/projecthami/hami:v2.3.11 -f Dockerfile .\n

                            \u7136\u540e\u628a\u955c\u50cf push \u5230 release.daocloud.io \u4e2d\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_addon.html","title":"\u5b89\u88c5 NVIDIA vGPU Addon","text":"

                            \u5982\u9700\u5c06\u4e00\u5f20 NVIDIA \u865a\u62df\u5316\u6210\u591a\u4e2a\u865a\u62df GPU\uff0c\u5e76\u5c06\u5176\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u4e91\u4e3b\u673a\u6216\u7528\u6237\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 NVIDIA \u7684 vGPU \u80fd\u529b\u3002 \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u5b89\u88c5 vGPU \u63d2\u4ef6\uff0c\u8fd9\u662f\u4f7f\u7528 NVIDIA vGPU \u80fd\u529b\u7684\u524d\u63d0\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_addon.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u53c2\u8003 GPU \u652f\u6301\u77e9\u9635 \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\u3002
                            • \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u5177\u4f53\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                            "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_addon.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 nvidia-vgpu \u3002

                            2. \u5728\u5b89\u88c5 vGPU \u7684\u8fc7\u7a0b\u4e2d\u63d0\u4f9b\u4e86\u51e0\u4e2a\u57fa\u672c\u4fee\u6539\u7684\u53c2\u6570\uff0c\u5982\u679c\u9700\u8981\u4fee\u6539\u9ad8\u7ea7\u53c2\u6570\u70b9\u51fb YAML \u5217\u8fdb\u884c\u4fee\u6539\uff1a

                              • deviceCoreScaling \uff1aNVIDIA \u88c5\u7f6e\u7b97\u529b\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u7b97\u529b\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceCoreScaling \u53c2\u6570\u4e3a S\uff0c\u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * 100% \u7b97\u529b\u3002

                              • deviceMemoryScaling \uff1aNVIDIA \u88c5\u7f6e\u663e\u5b58\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u663e\u5b58\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002 \u5bf9\u4e8e\u6709 M \u663e\u5b58\u5927\u5c0f\u7684 NVIDIA GPU\uff0c\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceMemoryScaling \u53c2\u6570\u4e3a S\uff0c \u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * M \u663e\u5b58\u3002

                              • deviceSplitCount \uff1a\u6574\u6570\u7c7b\u578b\uff0c\u9884\u8bbe\u503c\u662f 10\u3002GPU \u7684\u5206\u5272\u6570\uff0c\u6bcf\u4e00\u5f20 GPU \u90fd\u4e0d\u80fd\u5206\u914d\u8d85\u8fc7\u5176\u914d\u7f6e\u6570\u76ee\u7684\u4efb\u52a1\u3002 \u82e5\u5176\u914d\u7f6e\u4e3a N \u7684\u8bdd\uff0c\u6bcf\u4e2a GPU \u4e0a\u6700\u591a\u53ef\u4ee5\u540c\u65f6\u5b58\u5728 N \u4e2a\u4efb\u52a1\u3002

                              • Resources \uff1a\u5c31\u662f\u5bf9\u5e94 vgpu-device-plugin \u548c vgpu-schedule pod \u7684\u8d44\u6e90\u4f7f\u7528\u91cf\u3002

                              • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b vGPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 NVIDIA vGPU Addon \u5b89\u88c5\u5931\u8d25\u3002

                            3. \u5b89\u88c5\u6210\u529f\u4e4b\u540e\u4f1a\u5728\u6307\u5b9a Namespace \u4e0b\u51fa\u73b0\u5982\u4e0b\u4e24\u4e2a\u7c7b\u578b\u7684 Pod\uff0c\u5373\u8868\u793a NVIDIA vGPU \u63d2\u4ef6\u5df2\u5b89\u88c5\u6210\u529f\uff1a

                            \u5b89\u88c5\u6210\u529f\u540e\uff0c\u90e8\u7f72\u5e94\u7528\u53ef\u4f7f\u7528 vGPU \u8d44\u6e90\u3002

                            Note

                            NVIDIA vGPU Addon \u4e0d\u652f\u6301\u4ece\u8001\u7248\u672c v2.0.0 \u76f4\u63a5\u5347\u7ea7\u4e3a\u6700\u65b0\u7248 v2.0.0+1\uff1b \u5982\u9700\u5347\u7ea7\uff0c\u8bf7\u5378\u8f7d\u8001\u7248\u672c\u540e\u91cd\u65b0\u5b89\u88c5\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_user.html","title":"\u5e94\u7528\u4f7f\u7528 Nvidia vGPU","text":"

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_user.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                            • \u5df2\u6210\u529f\u5b89\u88c5 vGPU Addon\uff0c\u8be6\u60c5\u53c2\u8003 GPU Addon \u5b89\u88c5
                            • \u5df2\u5b89\u88c5 GPU Operator\uff0c\u5e76\u5df2 \u5173\u95ed Nvidia.DevicePlugin \u80fd\u529b\uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5
                            "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_user.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_user.html#vgpu","title":"\u754c\u9762\u4f7f\u7528 vGPU","text":"
                            1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia vGPU \u3002

                            2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia vGPU\uff09\u4e4b\u540e\uff0c\u4f1a\u81ea\u52a8\u51fa\u73b0\u5982\u4e0b\u51e0\u4e2a\u53c2\u6570\u9700\u8981\u586b\u5199\uff1a

                              • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                              • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b \u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c \u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
                              • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                              \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                            "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_user.html#yaml-vgpu","title":"YAML \u914d\u7f6e\u4f7f\u7528 vGPU","text":"

                            \u53c2\u8003\u5982\u4e0b\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/vgpu: '1' \u53c2\u6570\u6765\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-vgpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-vgpu-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: full-vgpu-demo\n    spec:\n      containers:\n        - name: full-vgpu-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpucores: '20'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 20% \u7684 GPU \u7b97\u529b\n              nvidia.com/gpumem: '200'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 200MB \u7684\u663e\u5b58\n              nvidia.com/vgpu: '1'   # \u7533\u8bf7GPU\u7684\u6570\u91cf\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                            "},{"location":"end-user/kpanda/gpu/volcano/drf.html","title":"DRF\uff08Dominant Resource Fairness\uff09 \u8c03\u5ea6\u7b56\u7565","text":"

                            DRF \u8c03\u5ea6\u7b56\u7565\u8ba4\u4e3a\u5360\u7528\u8d44\u6e90\u8f83\u5c11\u7684\u4efb\u52a1\u5177\u6709\u66f4\u9ad8\u7684\u4f18\u5148\u7ea7\u3002\u8fd9\u6837\u80fd\u591f\u6ee1\u8db3\u66f4\u591a\u7684\u4f5c\u4e1a\uff0c\u4e0d\u4f1a\u56e0\u4e3a\u4e00\u4e2a\u80d6\u4e1a\u52a1\uff0c \u997f\u6b7b\u5927\u6279\u5c0f\u4e1a\u52a1\u3002DRF \u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u786e\u4fdd\u5728\u591a\u79cd\u7c7b\u578b\u8d44\u6e90\u5171\u5b58\u7684\u73af\u5883\u4e0b\uff0c\u5c3d\u53ef\u80fd\u6ee1\u8db3\u5206\u914d\u7684\u516c\u5e73\u539f\u5219\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/drf.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                            DRF \u8c03\u5ea6\u7b56\u7565\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4efb\u4f55\u914d\u7f6e\u3002

                            kubectl -n volcano-system view configmaps volcano-scheduler-configmap\n
                            "},{"location":"end-user/kpanda/gpu/volcano/drf.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                            \u5728 AI \u8bad\u7ec3\uff0c\u6216\u5927\u6570\u636e\u8ba1\u7b97\u4e2d\uff0c\u901a\u8fc7\u6709\u9650\u8fd0\u884c\u4f7f\u7528\u8d44\u6e90\u5c11\u7684\u4efb\u52a1\uff0c\u8fd9\u6837\u53ef\u4ee5\u8ba9\u96c6\u7fa4\u8d44\u6e90\u4f7f\u7528\u7387\u66f4\u9ad8\uff0c\u800c\u4e14\u8fd8\u80fd\u907f\u514d\u5c0f\u4efb\u52a1\u88ab\u997f\u6b7b\u3002 \u5982\u4e0b\u521b\u5efa\u4e24\u4e2a Job\uff0c\u4e00\u4e2a\u662f\u5c0f\u8d44\u6e90\u9700\u6c42\uff0c\u4e00\u4e2a\u662f\u5927\u8d44\u6e90\u9700\u6c42\uff0c\u53ef\u4ee5\u770b\u51fa\u6765\u5c0f\u8d44\u6e90\u9700\u6c42\u7684 Job \u4f18\u5148\u8fd0\u884c\u8d77\u6765\u3002

                            cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: small-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: small-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"1\"  \n          restartPolicy: OnFailure  \n---  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: large-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: large-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"2\"  \n          restartPolicy: OnFailure  \nEOF\n
                            "},{"location":"end-user/kpanda/gpu/volcano/numa.html","title":"NUMA \u4eb2\u548c\u6027\u8c03\u5ea6","text":"

                            NUMA \u8282\u70b9\u662f Non-Uniform Memory Access\uff08\u975e\u7edf\u4e00\u5185\u5b58\u8bbf\u95ee\uff09\u67b6\u6784\u4e2d\u7684\u4e00\u4e2a\u57fa\u672c\u7ec4\u6210\u5355\u5143\uff0c\u4e00\u4e2a Node \u8282\u70b9\u662f\u591a\u4e2a NUMA \u8282\u70b9\u7684\u96c6\u5408\uff0c \u5728\u591a\u4e2a NUMA \u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u5185\u5b58\u8bbf\u95ee\u65f6\u4f1a\u4ea7\u751f\u5ef6\u8fdf\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u4f18\u5316\u4efb\u52a1\u8c03\u5ea6\u548c\u5185\u5b58\u5206\u914d\u7b56\u7565\uff0c\u6765\u63d0\u9ad8\u5185\u5b58\u8bbf\u95ee\u6548\u7387\u548c\u6574\u4f53\u6027\u80fd\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/numa.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                            Numa \u4eb2\u548c\u6027\u8c03\u5ea6\u7684\u5e38\u89c1\u573a\u666f\u662f\u90a3\u4e9b\u5bf9 CPU \u53c2\u6570\u654f\u611f/\u8c03\u5ea6\u5ef6\u8fdf\u654f\u611f\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4f5c\u4e1a\u3002\u5982\u79d1\u5b66\u8ba1\u7b97\u3001\u89c6\u9891\u89e3\u7801\u3001\u52a8\u6f2b\u52a8\u753b\u6e32\u67d3\u3001\u5927\u6570\u636e\u79bb\u7ebf\u5904\u7406\u7b49\u5177\u4f53\u573a\u666f\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/numa.html#_2","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                            Pod \u8c03\u5ea6\u65f6\u53ef\u4ee5\u91c7\u7528\u7684 NUMA \u653e\u7f6e\u7b56\u7565\uff0c\u5177\u4f53\u7b56\u7565\u5bf9\u5e94\u7684\u8c03\u5ea6\u884c\u4e3a\u8bf7\u53c2\u89c1 Pod \u8c03\u5ea6\u884c\u4e3a\u8bf4\u660e\u3002

                            • single-numa-node\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a single-numa-node \u7684\u8282\u70b9\u6c60\u4e2d\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                            • restricted\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a restricted \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c\u7684 NUMA \u96c6\u5408\u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                            • best-effort\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a best-effort \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14\u5c3d\u91cf\u5c06 CPU \u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u6ca1\u6709\u8282\u70b9\u6ee1\u8db3\u8fd9\u4e00\u6761\u4ef6\uff0c\u5219\u9009\u62e9\u6700\u4f18\u8282\u70b9\u8fdb\u884c\u653e\u7f6e\u3002
                            "},{"location":"end-user/kpanda/gpu/volcano/numa.html#_3","title":"\u8c03\u5ea6\u539f\u7406","text":"

                            \u5f53Pod\u8bbe\u7f6e\u4e86\u62d3\u6251\u7b56\u7565\u65f6\uff0cVolcano \u4f1a\u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\u9884\u6d4b\u5339\u914d\u7684\u8282\u70b9\u5217\u8868\u3002 \u8c03\u5ea6\u8fc7\u7a0b\u5982\u4e0b\uff1a

                            1. \u6839\u636e Pod \u8bbe\u7f6e\u7684 Volcano \u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u5177\u6709\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u3002

                            2. \u5728\u8bbe\u7f6e\u4e86\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u4e2d\uff0c\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u8be5\u7b56\u7565\u8981\u6c42\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6\u3002

                            Pod \u53ef\u914d\u7f6e\u7684\u62d3\u6251\u7b56\u7565 1. \u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u53ef\u8c03\u5ea6\u7684\u8282\u70b9 2. \u8fdb\u4e00\u6b65\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u7b56\u7565\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6 none \u9488\u5bf9\u914d\u7f6e\u4e86\u4ee5\u4e0b\u51e0\u79cd\u62d3\u6251\u7b56\u7565\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u65f6\u5747\u65e0\u7b5b\u9009\u884c\u4e3a\u3002none\uff1a\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 - best-effort \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201cbest-effort\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u5c3d\u53ef\u80fd\u6ee1\u8db3\u7b56\u7565\u8981\u6c42\u8fdb\u884c\u8c03\u5ea6\uff1a\u4f18\u5148\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\uff0c\u5982\u679c\u5355 NUMA \u8282\u70b9\u65e0\u6cd5\u6ee1\u8db3 CPU \u7533\u8bf7\u503c\uff0c\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 restricted \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201crestricted\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u4e25\u683c\u9650\u5236\u7684\u8c03\u5ea6\u7b56\u7565\uff1a\u5355 NUMA \u8282\u70b9\u7684CPU\u5bb9\u91cf\u4e0a\u9650\u5927\u4e8e\u7b49\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002\u6b64\u65f6\u5982\u679c\u5355 NUMA \u8282\u70b9\u5269\u4f59\u7684 CPU \u53ef\u4f7f\u7528\u91cf\u4e0d\u8db3\uff0c\u5219 Pod \u65e0\u6cd5\u8c03\u5ea6\u3002\u5355 NUMA \u8282\u70b9\u7684 CPU \u5bb9\u91cf\u4e0a\u9650\u5c0f\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u53ef\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 single-numa-node \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201csingle-numa-node\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 \u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002"},{"location":"end-user/kpanda/gpu/volcano/numa.html#numa_1","title":"\u914d\u7f6e NUMA \u4eb2\u548c\u8c03\u5ea6\u7b56\u7565","text":"
                            1. \u5728 Job \u4e2d\u914d\u7f6e policies

                              task: \n  - replicas: 1 \n    name: \"test-1\" \n    topologyPolicy: single-numa-node \n  - replicas: 1 \n    name: \"test-2\" \n    topologyPolicy: best-effort \n
                            2. \u4fee\u6539 kubelet \u7684\u8c03\u5ea6\u7b56\u7565\uff0c\u8bbe\u7f6e --topology-manager-policy \u53c2\u6570\uff0c\u652f\u6301\u7684\u7b56\u7565\u6709\u56db\u79cd\uff1a

                              • none\uff08\u9ed8\u8ba4\uff09
                              • best-effort
                              • restricted
                              • single-numa-node
                            "},{"location":"end-user/kpanda/gpu/volcano/numa.html#_4","title":"\u4f7f\u7528\u6848\u4f8b","text":"
                            1. \u793a\u4f8b\u4e00\uff1a\u5728\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e NUMA \u4eb2\u548c\u6027\u3002

                              kind: Deployment  \napiVersion: apps/v1  \nmetadata:  \n  name: numa-tset  \nspec:  \n  replicas: 1  \n  selector:  \n    matchLabels:  \n      app: numa-tset  \n  template:  \n    metadata:  \n      labels:  \n        app: numa-tset  \n      annotations:  \n        volcano.sh/numa-topology-policy: single-numa-node    # set the topology policy  \n    spec:  \n      containers:  \n        - name: container-1  \n          image: nginx:alpine  \n          resources:  \n            requests:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0elimits\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n            limits:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0erequests\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n      imagePullSecrets:  \n      - name: default-secret\n
                            2. \u793a\u4f8b\u4e8c\uff1a\u521b\u5efa\u4e00\u4e2a Volcano Job\uff0c\u5e76\u4f7f\u7528 NUMA \u4eb2\u548c\u6027\u3002

                              apiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: vj-test  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 1  \n  tasks:  \n    - replicas: 1  \n      name: \"test\"  \n      topologyPolicy: best-effort   # set the topology policy for task  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                limits:  \n                  cpu: 20  \n                  memory: \"100Mi\"  \n          restartPolicy: OnFailure\n
                            "},{"location":"end-user/kpanda/gpu/volcano/numa.html#numa_2","title":"NUMA \u8c03\u5ea6\u5206\u6790","text":"

                            \u5047\u8bbe NUMA \u8282\u70b9\u60c5\u51b5\u5982\u4e0b\uff1a

                            \u5de5\u4f5c\u8282\u70b9 \u8282\u70b9\u7b56\u7565\u62d3\u6251\u7ba1\u7406\u5668\u7b56\u7565 NUMA \u8282\u70b9 0 \u4e0a\u7684\u53ef\u5206\u914d CPU NUMA \u8282\u70b9 1 \u4e0a\u7684\u53ef\u5206\u914d CPU node-1 single-numa-node 16U 16U node-2 best-effort 16U 16U node-3 best-effort 20U 20U
                            • \u793a\u4f8b\u4e00\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a 2U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201csingle-numa-node\u201d\uff0c\u56e0\u6b64\u4f1a\u88ab\u8c03\u5ea6\u5230\u76f8\u540c\u7b56\u7565\u7684 node-1\u3002
                            • \u793a\u4f8b\u4e8c\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a20U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201cbest-effort\u201d\uff0c\u5b83\u5c06\u88ab\u8c03\u5ea6\u5230 node-3\uff0c \u56e0\u4e3a node-3 \u53ef\u4ee5\u5728\u5355\u4e2a NUMA \u8282\u70b9\u4e0a\u5206\u914d Pod \u7684 CPU \u8bf7\u6c42\uff0c\u800c node-2 \u9700\u8981\u5728\u4e24\u4e2a NUMA \u8282\u70b9\u4e0a\u6267\u884c\u6b64\u64cd\u4f5c\u3002
                            "},{"location":"end-user/kpanda/gpu/volcano/numa.html#cpu","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5","text":"

                            \u60a8\u53ef\u4ee5\u901a\u8fc7 lscpu \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5\uff1a

                            lscpu \n... \nCPU(s): 32 \nNUMA node(s): 2 \nNUMA node0 CPU(s): 0-15 \nNUMA node1 CPU(s): 16-31\n
                            "},{"location":"end-user/kpanda/gpu/volcano/numa.html#cpu_1","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d","text":"

                            \u7136\u540e\u67e5\u770b NUMA \u8282\u70b9\u4f7f\u7528\u60c5\u51b5\uff1a

                            # \u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d\ncat /var/lib/kubelet/cpu_manager_state\n{\"policyName\":\"static\",\"defaultCpuSet\":\"0,10-15,25-31\",\"entries\":{\"777870b5-c64f-42f5-9296-688b9dc212ba\":{\"container-1\":\"16-24\"},\"fb15e10a-b6a5-4aaa-8fcd-76c1aa64e6fd\":{\"container-1\":\"1-9\"}},\"checksum\":318470969}\n

                            \u4ee5\u4e0a\u793a\u4f8b\u4e2d\u8868\u793a\uff0c\u8282\u70b9\u4e0a\u8fd0\u884c\u4e86\u4e24\u4e2a\u5bb9\u5668\uff0c\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node0 \u76841-9 \u6838\uff0c\u53e6\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node1 \u7684 16-24 \u6838\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano-gang-scheduler.html","title":"\u4f7f\u7528 Volcano \u7684 Gang Scheduler","text":"

                            Gang \u8c03\u5ea6\u7b56\u7565\u662f volcano-scheduler \u7684\u6838\u5fc3\u8c03\u5ea6\u7b97\u6cd5\u4e4b\u4e00\uff0c\u5b83\u6ee1\u8db3\u4e86\u8c03\u5ea6\u8fc7\u7a0b\u4e2d\u7684 \u201cAll or nothing\u201d \u7684\u8c03\u5ea6\u9700\u6c42\uff0c \u907f\u514d Pod \u7684\u4efb\u610f\u8c03\u5ea6\u5bfc\u81f4\u96c6\u7fa4\u8d44\u6e90\u7684\u6d6a\u8d39\u3002\u5177\u4f53\u7b97\u6cd5\u662f\uff0c\u89c2\u5bdf Job \u4e0b\u7684 Pod \u5df2\u8c03\u5ea6\u6570\u91cf\u662f\u5426\u6ee1\u8db3\u4e86\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\uff0c \u5f53 Job \u7684\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\u5f97\u5230\u6ee1\u8db3\u65f6\uff0c\u4e3a Job \u4e0b\u7684\u6240\u6709 Pod \u6267\u884c\u8c03\u5ea6\u52a8\u4f5c\uff0c\u5426\u5219\uff0c\u4e0d\u6267\u884c\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano-gang-scheduler.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                            \u57fa\u4e8e\u5bb9\u5668\u7ec4\u6982\u5ff5\u7684 Gang \u8c03\u5ea6\u7b97\u6cd5\u5341\u5206\u9002\u5408\u9700\u8981\u591a\u8fdb\u7a0b\u534f\u4f5c\u7684\u573a\u666f\u3002AI \u573a\u666f\u5f80\u5f80\u5305\u542b\u590d\u6742\u7684\u6d41\u7a0b\uff0c Data Ingestion\u3001Data Analysts\u3001Data Splitting\u3001Trainer\u3001Serving\u3001Logging \u7b49\uff0c \u9700\u8981\u4e00\u7ec4\u5bb9\u5668\u8fdb\u884c\u534f\u540c\u5de5\u4f5c\uff0c\u5c31\u5f88\u9002\u5408\u57fa\u4e8e\u5bb9\u5668\u7ec4\u7684 Gang \u8c03\u5ea6\u7b56\u7565\u3002 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\uff0c\u7531\u4e8e\u9700\u8981\u4e3b\u4ece\u8fdb\u7a0b\u534f\u540c\u5de5\u4f5c\uff0c\u4e5f\u975e\u5e38\u9002\u5408\u4f7f\u7528 Gang \u8c03\u5ea6\u7b56\u7565\u3002 \u5bb9\u5668\u7ec4\u4e0b\u7684\u5bb9\u5668\u9ad8\u5ea6\u76f8\u5173\u4e5f\u53ef\u80fd\u5b58\u5728\u8d44\u6e90\u4e89\u62a2\uff0c\u6574\u4f53\u8c03\u5ea6\u5206\u914d\uff0c\u80fd\u591f\u6709\u6548\u89e3\u51b3\u6b7b\u9501\u3002

                            \u5728\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\u7684\u573a\u666f\u4e0b\uff0cGang \u7684\u8c03\u5ea6\u7b56\u7565\u5bf9\u4e8e\u96c6\u7fa4\u8d44\u6e90\u7684\u5229\u7528\u7387\u7684\u63d0\u5347\u662f\u975e\u5e38\u660e\u663e\u7684\u3002 \u6bd4\u5982\u96c6\u7fa4\u73b0\u5728\u53ea\u80fd\u5bb9\u7eb3 2 \u4e2a Pod\uff0c\u73b0\u5728\u8981\u6c42\u6700\u5c0f\u8c03\u5ea6\u7684 Pod \u6570\u4e3a 3\u3002 \u90a3\u73b0\u5728\u8fd9\u4e2a Job \u7684\u6240\u6709\u7684 Pod \u90fd\u4f1a pending\uff0c\u76f4\u5230\u96c6\u7fa4\u80fd\u591f\u5bb9\u7eb3 3 \u4e2a Pod\uff0cPod \u624d\u4f1a\u88ab\u8c03\u5ea6\u3002 \u6709\u6548\u9632\u6b62\u8c03\u5ea6\u90e8\u5206 Pod\uff0c\u4e0d\u6ee1\u8db3\u8981\u6c42\u53c8\u5360\u7528\u4e86\u8d44\u6e90\uff0c\u4f7f\u5176\u4ed6 Job \u65e0\u6cd5\u8fd0\u884c\u7684\u60c5\u51b5\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano-gang-scheduler.html#_2","title":"\u6982\u5ff5\u8bf4\u660e","text":"

                            Gang Scheduler \u662f Volcano \u7684\u6838\u5fc3\u7684\u8c03\u5ea6\u63d2\u4ef6\uff0c\u5b89\u88c5 Volcano \u540e\u9ed8\u8ba4\u5c31\u5f00\u542f\u4e86\u3002 \u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u53ea\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u7684\u540d\u79f0\u4e3a Volcano \u5373\u53ef\u3002

                            Volcano \u662f\u4ee5 PodGroup \u4e3a\u5355\u4f4d\u8fdb\u884c\u8c03\u5ea6\u7684\uff0c\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5e76\u4e0d\u9700\u8981\u624b\u52a8\u521b\u5efa PodGroup \u8d44\u6e90\uff0c Volcano \u4f1a\u6839\u636e\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4fe1\u606f\u81ea\u52a8\u521b\u5efa\u3002\u4e0b\u9762\u662f\u4e00\u4e2a PodGroup \u7684\u793a\u4f8b\uff1a

                            apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  name: test\n  namespace: default\nspec:\n  minMember: 1  # (1)!\n  minResources:  # (2)!\n    cpu: \"3\"\n    memory: \"2048Mi\"\n  priorityClassName: high-prority # (3)!\n  queue: default # (4)!\n
                            1. \u8868\u793a\u8be5 PodGroup \u4e0b \u6700\u5c11 \u9700\u8981\u8fd0\u884c\u7684 Pod \u6216\u4efb\u52a1\u6570\u91cf\u3002 \u5982\u679c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u6ee1\u8db3 miniMember \u6570\u91cf\u4efb\u52a1\u7684\u8fd0\u884c\u9700\u6c42\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                            2. \u8868\u793a\u8fd0\u884c\u8be5 PodGroup \u6240\u9700\u8981\u7684\u6700\u5c11\u8d44\u6e90\u3002\u5f53\u96c6\u7fa4\u53ef\u5206\u914d\u8d44\u6e90\u4e0d\u6ee1\u8db3 minResources \u65f6\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                            3. \u8868\u793a\u8be5 PodGroup \u7684\u4f18\u5148\u7ea7\uff0c\u7528\u4e8e\u8c03\u5ea6\u5668\u4e3a\u8be5 queue \u4e2d\u6240\u6709 PodGroup \u8fdb\u884c\u8c03\u5ea6\u65f6\u8fdb\u884c\u6392\u5e8f\u3002 system-node-critical \u548c system-cluster-critical \u662f 2 \u4e2a\u9884\u7559\u7684\u503c\uff0c\u8868\u793a\u6700\u9ad8\u4f18\u5148\u7ea7\u3002\u4e0d\u7279\u522b\u6307\u5b9a\u65f6\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u4f18\u5148\u7ea7\u6216 zero \u4f18\u5148\u7ea7\u3002
                            4. \u8868\u793a\u8be5 PodGroup \u6240\u5c5e\u7684 queue\u3002queue \u5fc5\u987b\u63d0\u524d\u5df2\u521b\u5efa\u4e14\u72b6\u6001\u4e3a open\u3002
                            "},{"location":"end-user/kpanda/gpu/volcano/volcano-gang-scheduler.html#_3","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                            \u5728 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\u4e2d\uff0c\u6211\u4eec\u8981\u786e\u4fdd\u6240\u6709\u7684 Pod \u90fd\u80fd\u8c03\u5ea6\u6210\u529f\u624d\u80fd\u4fdd\u8bc1\u4efb\u52a1\u6b63\u5e38\u5b8c\u6210\u3002 \u8bbe\u7f6e minAvailable \u4e3a 4\uff0c\u8868\u793a\u8981\u6c42 1 \u4e2a mpimaster \u548c 3 \u4e2a mpiworker \u80fd\u8fd0\u884c\u3002

                            apiVersion: batch.volcano.sh/v1alpha1\nkind: Job\nmetadata:\n  name: lm-mpi-job\n  labels:\n    \"volcano.sh/job-type\": \"MPI\"\nspec:\n  minAvailable: 4\n  schedulerName: volcano\n  plugins:\n    ssh: []\n    svc: []\n  policies:\n    - event: PodEvicted\n      action: RestartJob\n  tasks:\n    - replicas: 1\n      name: mpimaster\n      policies:\n        - event: TaskCompleted\n          action: CompleteJob\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  MPI_HOST=`cat /etc/volcano/mpiworker.host | tr \"\\n\" \",\"`;\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd;\n                  mpiexec --allow-run-as-root --host ${MPI_HOST} -np 3 mpi_hello_world;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpimaster\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"500m\"\n                limits:\n                  cpu: \"500m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n    - replicas: 3\n      name: mpiworker\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd -D;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpiworker\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"1000m\"\n                limits:\n                  cpu: \"1000m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n

                            \u751f\u6210 PodGroup \u7684\u8d44\u6e90\uff1a

                            apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  annotations:\n  creationTimestamp: \"2024-05-28T09:18:50Z\"\n  generation: 5\n  labels:\n    volcano.sh/job-type: MPI\n  name: lm-mpi-job-9c571015-37c7-4a1a-9604-eaa2248613f2\n  namespace: default\n  ownerReferences:\n  - apiVersion: batch.volcano.sh/v1alpha1\n    blockOwnerDeletion: true\n    controller: true\n    kind: Job\n    name: lm-mpi-job\n    uid: 9c571015-37c7-4a1a-9604-eaa2248613f2\n  resourceVersion: \"25173454\"\n  uid: 7b04632e-7cff-4884-8e9a-035b7649d33b\nspec:\n  minMember: 4\n  minResources:\n    count/pods: \"4\"\n    cpu: 3500m\n    limits.cpu: 3500m\n    pods: \"4\"\n    requests.cpu: 3500m\n  minTaskMember:\n    mpimaster: 1\n    mpiworker: 3\n  queue: default\nstatus:\n  conditions:\n  - lastTransitionTime: \"2024-05-28T09:19:01Z\"\n    message: '3/4 tasks in gang unschedulable: pod group is not ready, 1 Succeeded,\n      3 Releasing, 4 minAvailable'\n    reason: NotEnoughResources\n    status: \"True\"\n    transitionID: f875efa5-0358-4363-9300-06cebc0e7466\n    type: Unschedulable\n  - lastTransitionTime: \"2024-05-28T09:18:53Z\"\n    reason: tasks in gang are ready to be scheduled\n    status: \"True\"\n    transitionID: 5a7708c8-7d42-4c33-9d97-0581f7c06dab\n    type: Scheduled\n  phase: Pending\n  succeeded: 1\n

                            \u4ece PodGroup \u53ef\u4ee5\u770b\u51fa\uff0c\u901a\u8fc7 ownerReferences \u5173\u8054\u5230\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u8bbe\u7f6e\u6700\u5c0f\u8fd0\u884c\u7684 Pod \u6570\u4e3a 4\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano_binpack.html","title":"\u4f7f\u7528 Volcano Binpack \u8c03\u5ea6\u7b56\u7565","text":"

                            Binpack \u8c03\u5ea6\u7b97\u6cd5\u7684\u76ee\u6807\u662f\u5c3d\u91cf\u628a\u5df2\u88ab\u5360\u7528\u7684\u8282\u70b9\u586b\u6ee1\uff08\u5c3d\u91cf\u4e0d\u5f80\u7a7a\u767d\u8282\u70b9\u5206\u914d\uff09\u3002\u5177\u4f53\u5b9e\u73b0\u4e0a\uff0cBinpack \u8c03\u5ea6\u7b97\u6cd5\u4f1a\u7ed9\u6295\u9012\u7684\u8282\u70b9\u6253\u5206\uff0c \u5206\u6570\u8d8a\u9ad8\u8868\u793a\u8282\u70b9\u7684\u8d44\u6e90\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u901a\u8fc7\u5c3d\u53ef\u80fd\u586b\u6ee1\u8282\u70b9\uff0c\u5c06\u5e94\u7528\u8d1f\u8f7d\u9760\u62e2\u5728\u90e8\u5206\u8282\u70b9\uff0c\u8fd9\u79cd\u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u5c3d\u53ef\u80fd\u51cf\u5c0f\u8282\u70b9\u5185\u7684\u788e\u7247\uff0c \u5728\u7a7a\u95f2\u7684\u673a\u5668\u4e0a\u4e3a\u7533\u8bf7\u4e86\u66f4\u5927\u8d44\u6e90\u8bf7\u6c42\u7684 Pod \u9884\u7559\u8db3\u591f\u7684\u8d44\u6e90\u7a7a\u95f4\uff0c\u4f7f\u96c6\u7fa4\u4e0b\u7a7a\u95f2\u8d44\u6e90\u5f97\u5230\u6700\u5927\u5316\u7684\u5229\u7528\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano_binpack.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"

                            \u9884\u5148\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u5b89\u88c5 Volcano \u7ec4\u4ef6\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano_binpack.html#binpack","title":"Binpack \u7b97\u6cd5\u539f\u7406","text":"

                            Binpack \u5728\u5bf9\u4e00\u4e2a\u8282\u70b9\u6253\u5206\u65f6\uff0c\u4f1a\u6839\u636e Binpack \u63d2\u4ef6\u81ea\u8eab\u6743\u91cd\u548c\u5404\u8d44\u6e90\u8bbe\u7f6e\u7684\u6743\u91cd\u503c\u7efc\u5408\u6253\u5206\u3002 \u9996\u5148\uff0c\u5bf9 Pod \u8bf7\u6c42\u8d44\u6e90\u4e2d\u7684\u6bcf\u7c7b\u8d44\u6e90\u4f9d\u6b21\u6253\u5206\uff0c\u4ee5 CPU \u4e3a\u4f8b\uff0cCPU \u8d44\u6e90\u5728\u5f85\u8c03\u5ea6\u8282\u70b9\u7684\u5f97\u5206\u4fe1\u606f\u5982\u4e0b\uff1a

                            CPU.weight * (request + used) / allocatable\n

                            \u5373 CPU \u6743\u91cd\u503c\u8d8a\u9ad8\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u91cf\u8d8a\u6ee1\uff0c\u5f97\u5206\u8d8a\u9ad8\u3002Memory\u3001GPU \u7b49\u8d44\u6e90\u539f\u7406\u7c7b\u4f3c\u3002\u5176\u4e2d\uff1a

                            • CPU.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684 CPU \u6743\u91cd
                            • request \u4e3a\u5f53\u524d Pod \u8bf7\u6c42\u7684 CPU \u8d44\u6e90\u91cf
                            • used \u4e3a\u5f53\u524d\u8282\u70b9\u5df2\u7ecf\u5206\u914d\u4f7f\u7528\u7684 CPU \u91cf
                            • allocatable \u4e3a\u5f53\u524d\u8282\u70b9 CPU \u53ef\u7528\u603b\u91cf

                            \u901a\u8fc7 Binpack \u7b56\u7565\u7684\u8282\u70b9\u603b\u5f97\u5206\u5982\u4e0b\uff1a

                            binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                            \u5373 Binpack \u63d2\u4ef6\u7684\u6743\u91cd\u503c\u8d8a\u5927\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u67d0\u7c7b\u8d44\u6e90\u7684\u6743\u91cd\u8d8a\u5927\uff0c\u8be5\u8d44\u6e90\u5728\u6253\u5206\u65f6\u7684\u5360\u6bd4\u8d8a\u5927\u3002\u5176\u4e2d\uff1a

                            • binpack.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684\u88c5\u7bb1\u8c03\u5ea6\u7b56\u7565\u6743\u91cd
                            • CPU.score \u4e3a CPU \u8d44\u6e90\u5f97\u5206\uff0cCPU.weight \u4e3a CPU \u6743\u91cd
                            • Memory.score \u4e3a Memory \u8d44\u6e90\u5f97\u5206\uff0cMemory.weight \u4e3a Memory \u6743\u91cd
                            • GPU.score \u4e3a GPU \u8d44\u6e90\u5f97\u5206\uff0cGPU.weight \u4e3a GPU \u6743\u91cd

                            \u5982\u56fe\u6240\u793a\uff0c\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u8282\u70b9\uff0c\u5206\u522b\u4e3a Node1 \u548c Node 2\uff0c\u5728\u8c03\u5ea6 Pod \u65f6\uff0cBinpack \u7b56\u7565\u5bf9\u4e24\u4e2a\u8282\u70b9\u5206\u522b\u6253\u5206\u3002 \u5047\u8bbe\u96c6\u7fa4\u4e2d CPU.weight \u914d\u7f6e\u4e3a 1\uff0cMemory.weight \u914d\u7f6e\u4e3a 1\uff0cGPU.weight \u914d\u7f6e\u4e3a 2\uff0cbinpack.weight \u914d\u7f6e\u4e3a 5\u3002

                            1. Binpack \u5bf9 Node 1 \u7684\u8d44\u6e90\u6253\u5206\uff0c\u5404\u8d44\u6e90\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                              • CPU Score\uff1a

                                CPU.weight - (request + used) / allocatable = 1 - (2 + 4) / 8 = 0.75

                              • Memory Score\uff1a

                                Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                              • GPU Score\uff1a

                                GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                            2. \u8282\u70b9\u603b\u5f97\u5206\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                              binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                              \u5047\u8bbe binpack.weight \u914d\u7f6e\u4e3a 5\uff0cNode 1 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                              5 - (0.75 + 0.75 + 2) / (1 + 1 + 2) - 100 = 437.5\n
                            3. Binpack \u5bf9 Node 2 \u7684\u8d44\u6e90\u6253\u5206\uff1a

                              • CPU Score\uff1a

                                CPU.weight - (request + used) / allocatable = 1 - (2 + 6) / 8 = 1

                              • Memory Score\uff1a

                                Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                              • GPU Score\uff1a

                                GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                            4. Node 2 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                              5 - (1 + 0.75 + 2) / (1 + 1 + 2) - 100 = 468.75\n

                            \u7efc\u4e0a\uff0cNode 2 \u5f97\u5206\u5927\u4e8e Node 1\uff0c\u6309\u7167 Binpack \u7b56\u7565\uff0cPod \u5c06\u4f1a\u4f18\u5148\u8c03\u5ea6\u81f3 Node 2\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano_binpack.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                            Binpack \u8c03\u5ea6\u63d2\u4ef6\u5728\u5b89\u88c5 Volcano \u7684\u65f6\u5019\u9ed8\u8ba4\u5c31\u4f1a\u5f00\u542f\uff1b\u5982\u679c\u7528\u6237\u6ca1\u6709\u914d\u7f6e\u6743\u91cd\uff0c\u5219\u4f7f\u7528\u5982\u4e0b\u9ed8\u8ba4\u7684\u914d\u7f6e\u6743\u91cd\u3002

                            - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 1\n        binpack.cpu: 1\n        binpack.memory: 1\n

                            \u9ed8\u8ba4\u6743\u91cd\u4e0d\u80fd\u4f53\u73b0\u5806\u53e0\u7279\u6027\uff0c\u56e0\u6b64\u9700\u8981\u4fee\u6539\u4e3a binpack.weight: 10\u3002

                            kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                            - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 10\n        binpack.cpu: 1\n        binpack.memory: 1\n        binpack.resources: nvidia.com/gpu, example.com/foo\n        binpack.resources.nvidia.com/gpu: 2\n        binpack.resources.example.com/foo: 3\n

                            \u6539\u597d\u4e4b\u540e\u91cd\u542f volcano-scheduler Pod \u4f7f\u5176\u751f\u6548\u3002

                            \u521b\u5efa\u5982\u4e0b\u7684 Deployment\u3002

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: binpack-test\n  labels:\n    app: binpack-test\nspec:\n  replicas: 2\n  selector:\n    matchLabels:\n      app: test\n  template:\n    metadata:\n      labels:\n        app: test\n    spec:\n      schedulerName: volcano\n      containers:\n        - name: test\n          image: busybox\n          imagePullPolicy: IfNotPresent\n          command: [\"sh\", \"-c\", 'echo \"Hello, Kubernetes!\" && sleep 3600']\n          resources:\n            requests:\n              cpu: 500m\n            limits:\n              cpu: 500m\n

                            \u5728\u4e24\u4e2a Node \u7684\u96c6\u7fa4\u4e0a\u53ef\u4ee5\u770b\u5230 Pod \u88ab\u8c03\u5ea6\u5230\u4e00\u4e2a Node \u4e0a\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano_priority.html","title":"\u4f18\u5148\u7ea7\u62a2\u5360\uff08Preemption scheduling\uff09\u7b56\u7565","text":"

                            Volcano \u901a\u8fc7 Priority \u63d2\u4ef6\u5b9e\u73b0\u4e86\u4f18\u5148\u7ea7\u62a2\u5360\u7b56\u7565\uff0c\u5373 Preemption scheduling \u7b56\u7565\u3002\u5728\u96c6\u7fa4\u8d44\u6e90\u6709\u9650\u4e14\u591a\u4e2a Job \u7b49\u5f85\u8c03\u5ea6\u65f6\uff0c \u5982\u679c\u4f7f\u7528 Kubernetes \u9ed8\u8ba4\u8c03\u5ea6\u5668\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u5177\u6709\u66f4\u591a Pod \u6570\u91cf\u7684 Job \u5206\u5f97\u66f4\u591a\u8d44\u6e90\u3002\u800c Volcano-scheduler \u63d0\u4f9b\u4e86\u7b97\u6cd5\uff0c\u652f\u6301\u4e0d\u540c\u7684 Job \u4ee5 fair-share \u7684\u5f62\u5f0f\u5171\u4eab\u96c6\u7fa4\u8d44\u6e90\u3002

                            Priority \u63d2\u4ef6\u5141\u8bb8\u7528\u6237\u81ea\u5b9a\u4e49 Job \u548c Task \u7684\u4f18\u5148\u7ea7\uff0c\u5e76\u6839\u636e\u9700\u6c42\u5728\u4e0d\u540c\u5c42\u6b21\u4e0a\u5b9a\u5236\u8c03\u5ea6\u7b56\u7565\u3002 \u4f8b\u5982\uff0c\u5bf9\u4e8e\u91d1\u878d\u573a\u666f\u3001\u7269\u8054\u7f51\u76d1\u63a7\u573a\u666f\u7b49\u9700\u8981\u8f83\u9ad8\u5b9e\u65f6\u6027\u7684\u5e94\u7528\uff0cPriority \u63d2\u4ef6\u80fd\u591f\u786e\u4fdd\u5176\u4f18\u5148\u5f97\u5230\u8c03\u5ea6\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano_priority.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                            \u4f18\u5148\u7ea7\u7684\u51b3\u5b9a\u57fa\u4e8e\u914d\u7f6e\u7684 PriorityClass \u4e2d\u7684 Value \u503c\uff0c\u503c\u8d8a\u5927\u4f18\u5148\u7ea7\u8d8a\u9ad8\u3002\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4fee\u6539\u3002\u53ef\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u6216\u4fee\u6539\u3002

                            kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                            "},{"location":"end-user/kpanda/gpu/volcano/volcano_priority.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                            \u5047\u8bbe\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u7a7a\u95f2\u8282\u70b9\uff0c\u5e76\u6709\u4e09\u4e2a\u4f18\u5148\u7ea7\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff1ahigh-priority\u3001med-priority \u548c low-priority\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u5e76\u5360\u6ee1\u96c6\u7fa4\u8d44\u6e90\u540e\uff0c\u518d\u63d0\u4ea4 med-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u3002 \u7531\u4e8e\u96c6\u7fa4\u8d44\u6e90\u5168\u90e8\u88ab\u66f4\u9ad8\u4f18\u5148\u7ea7\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5360\u7528\uff0cmed-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u5904\u4e8e pending \u72b6\u6001\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u7ed3\u675f\u540e\uff0c\u6839\u636e\u4f18\u5148\u7ea7\u8c03\u5ea6\u539f\u5219\uff0cmed-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u4f18\u5148\u88ab\u8c03\u5ea6\u3002

                            1. \u901a\u8fc7 priority.yaml \u521b\u5efa 3 \u4e2a\u4f18\u5148\u7ea7\u5b9a\u4e49\uff0c\u5206\u522b\u4e3a\uff1ahigh-priority\uff0cmed-priority\uff0clow-priority\u3002

                              \u67e5\u770b priority.yaml

                              cat <<EOF | kubectl apply -f - \napiVersion: scheduling.k8s.io/v1 \nkind: PriorityClass \nitems: \n  - metadata: \n      name: high-priority \n    value: 100 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: med-priority \n    value: 50 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: low-priority \n    value: 10 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \nEOF\n
                              2. \u67e5\u770b\u4f18\u5148\u7ea7\u5b9a\u4e49\u4fe1\u606f\u3002

                              kubectl get PriorityClass\n
                              NAME                      VALUE        GLOBAL-DEFAULT   AGE  \nhigh-priority             100          false            97s  \nlow-priority              10           false            97s  \nmed-priority              50           false            97s  \nsystem-cluster-critical   2000000000   false            6d6h  \nsystem-node-critical      2000001000   false            6d6h\n

                            2. \u521b\u5efa\u9ad8\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d high-priority-job\uff0c\u5360\u7528\u96c6\u7fa4\u7684\u5168\u90e8\u8d44\u6e90\u3002

                              \u67e5\u770b high-priority-job
                              cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-high  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: high-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                              \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod\u8fd0\u884c \u4fe1\u606f\uff1a

                              kubectl get pods\n
                              NAME                   READY   STATUS    RESTARTS   AGE  \npriority-high-test-0   1/1     Running   0          3s  \npriority-high-test-1   1/1     Running   0          3s  \npriority-high-test-2   1/1     Running   0          3s  \npriority-high-test-3   1/1     Running   0          3s\n

                              \u6b64\u65f6\uff0c\u96c6\u7fa4\u8282\u70b9\u8d44\u6e90\u5df2\u5168\u90e8\u88ab\u5360\u7528\u3002

                            3. \u521b\u5efa\u4e2d\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d med-priority-job \u548c\u4f4e\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d low-priority-job\u3002

                              med-priority-job
                              cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-medium  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: med-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n
                              low-priority-job
                              cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-low  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: low-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                              \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod \u8fd0\u884c\u4fe1\u606f\uff0c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\uff0cPod \u5904\u4e8e Pending \u72b6\u6001\uff1a

                              kubectl get pods\n
                              NAME                     READY   STATUS    RESTARTS   AGE  \npriority-high-test-0     1/1     Running   0          3m29s  \npriority-high-test-1     1/1     Running   0          3m29s  \npriority-high-test-2     1/1     Running   0          3m29s  \npriority-high-test-3     1/1     Running   0          3m29s  \npriority-low-test-0      0/1     Pending   0          2m26s  \npriority-low-test-1      0/1     Pending   0          2m26s  \npriority-low-test-2      0/1     Pending   0          2m26s  \npriority-low-test-3      0/1     Pending   0          2m26s  \npriority-medium-test-0   0/1     Pending   0          2m36s  \npriority-medium-test-1   0/1     Pending   0          2m36s  \npriority-medium-test-2   0/1     Pending   0          2m36s  \npriority-medium-test-3   0/1     Pending   0          2m36s\n

                            4. \u5220\u9664 high_priority_job \u5de5\u4f5c\u8d1f\u8f7d\uff0c\u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0cmed_priority_job \u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002 \u6267\u884c kubectl delete -f high_priority_job.yaml \u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0c\u67e5\u770b Pod \u7684\u8c03\u5ea6\u4fe1\u606f\uff1a

                              kubectl get pods\n
                              NAME                     READY   STATUS    RESTARTS   AGE  \npriority-low-test-0      0/1     Pending   0          5m18s  \npriority-low-test-1      0/1     Pending   0          5m18s  \npriority-low-test-2      0/1     Pending   0          5m18s  \npriority-low-test-3      0/1     Pending   0          5m18s  \npriority-medium-test-0   1/1     Running   0          5m28s  \npriority-medium-test-1   1/1     Running   0          5m28s  \npriority-medium-test-2   1/1     Running   0          5m28s  \npriority-medium-test-3   1/1     Running   0          5m28s\n

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano_user_guide.html","title":"\u5b89\u88c5 Volcano","text":"

                            \u968f\u7740 Kubernetes\uff08K8s\uff09\u6210\u4e3a\u4e91\u539f\u751f\u5e94\u7528\u7f16\u6392\u4e0e\u7ba1\u7406\u7684\u9996\u9009\u5e73\u53f0\uff0c\u4f17\u591a\u5e94\u7528\u6b63\u79ef\u6781\u5411 K8s \u8fc1\u79fb\u3002 \u5728\u4eba\u5de5\u667a\u80fd\u4e0e\u673a\u5668\u5b66\u4e60\u9886\u57df\uff0c\u7531\u4e8e\u8fd9\u4e9b\u4efb\u52a1\u901a\u5e38\u6d89\u53ca\u5927\u91cf\u8ba1\u7b97\uff0c\u5f00\u53d1\u8005\u503e\u5411\u4e8e\u5728 Kubernetes \u4e0a\u6784\u5efa AI \u5e73\u53f0\uff0c \u4ee5\u5145\u5206\u5229\u7528\u5176\u5728\u8d44\u6e90\u7ba1\u7406\u3001\u5e94\u7528\u7f16\u6392\u53ca\u8fd0\u7ef4\u76d1\u63a7\u65b9\u9762\u7684\u4f18\u52bf\u3002

                            \u7136\u800c\uff0cKubernetes \u7684\u9ed8\u8ba4\u8c03\u5ea6\u5668\u4e3b\u8981\u9488\u5bf9\u957f\u671f\u8fd0\u884c\u7684\u670d\u52a1\u8bbe\u8ba1\uff0c\u5bf9\u4e8e AI\u3001\u5927\u6570\u636e\u7b49\u9700\u8981\u6279\u91cf\u548c\u5f39\u6027\u8c03\u5ea6\u7684\u4efb\u52a1\u5b58\u5728\u8bf8\u591a\u4e0d\u8db3\u3002 \u4f8b\u5982\uff0c\u5728\u8d44\u6e90\u7ade\u4e89\u6fc0\u70c8\u7684\u60c5\u51b5\u4e0b\uff0c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u53ef\u80fd\u5bfc\u81f4\u8d44\u6e90\u5206\u914d\u4e0d\u5747\uff0c\u8fdb\u800c\u5f71\u54cd\u4efb\u52a1\u7684\u6b63\u5e38\u6267\u884c\u3002

                            \u4ee5 TensorFlow \u4f5c\u4e1a\u4e3a\u4f8b\uff0c\u5176\u5305\u542b PS\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\u548c Worker \u4e24\u79cd\u89d2\u8272\uff0c\u4e24\u8005\u9700\u534f\u540c\u5de5\u4f5c\u624d\u80fd\u5b8c\u6210\u4efb\u52a1\u3002 \u82e5\u4ec5\u90e8\u7f72\u5355\u4e00\u89d2\u8272\uff0c\u4f5c\u4e1a\u5c06\u65e0\u6cd5\u8fd0\u884c\u3002\u800c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u5bf9 Pod \u7684\u8c03\u5ea6\u662f\u9010\u4e2a\u8fdb\u884c\u7684\uff0c\u65e0\u6cd5\u611f\u77e5 TFJob \u4e2d PS \u548c Worker \u7684\u4f9d\u8d56\u5173\u7cfb\u3002 \u5728\u9ad8\u8d1f\u8f7d\u60c5\u51b5\u4e0b\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u591a\u4e2a\u4f5c\u4e1a\u5404\u81ea\u5206\u914d\u5230\u90e8\u5206\u8d44\u6e90\uff0c\u4f46\u5747\u65e0\u6cd5\u5b8c\u6210\uff0c\u4ece\u800c\u9020\u6210\u8d44\u6e90\u6d6a\u8d39\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano_user_guide.html#volcano_1","title":"Volcano \u7684\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf","text":"

                            Volcano \u63d0\u4f9b\u4e86\u591a\u79cd\u8c03\u5ea6\u7b56\u7565\uff0c\u4ee5\u5e94\u5bf9\u4e0a\u8ff0\u6311\u6218\u3002\u5176\u4e2d\uff0cGang-scheduling \u7b56\u7565\u80fd\u786e\u4fdd\u5206\u5e03\u5f0f\u673a\u5668\u5b66\u4e60\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u591a\u4e2a\u4efb\u52a1\uff08Pod\uff09\u540c\u65f6\u542f\u52a8\uff0c \u907f\u514d\u6b7b\u9501\uff1bPreemption scheduling \u7b56\u7565\u5219\u5141\u8bb8\u9ad8\u4f18\u5148\u7ea7\u4f5c\u4e1a\u5728\u8d44\u6e90\u4e0d\u8db3\u65f6\u62a2\u5360\u4f4e\u4f18\u5148\u7ea7\u4f5c\u4e1a\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u5173\u952e\u4efb\u52a1\u4f18\u5148\u5b8c\u6210\u3002

                            \u6b64\u5916\uff0cVolcano \u4e0e Spark\u3001TensorFlow\u3001PyTorch \u7b49\u4e3b\u6d41\u8ba1\u7b97\u6846\u67b6\u65e0\u7f1d\u5bf9\u63a5\uff0c\u5e76\u652f\u6301 CPU \u548c GPU \u7b49\u5f02\u6784\u8bbe\u5907\u7684\u6df7\u5408\u8c03\u5ea6\uff0c\u4e3a AI \u8ba1\u7b97\u4efb\u52a1\u63d0\u4f9b\u4e86\u5168\u9762\u7684\u4f18\u5316\u652f\u6301\u3002

                            \u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u548c\u4f7f\u7528 Volcano\uff0c\u4ee5\u4fbf\u60a8\u80fd\u591f\u5145\u5206\u5229\u7528\u5176\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf\uff0c\u4f18\u5316 AI \u8ba1\u7b97\u4efb\u52a1\u3002

                            "},{"location":"end-user/kpanda/gpu/volcano/volcano_user_guide.html#volcano_2","title":"\u5b89\u88c5 Volcano","text":"
                            1. \u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 -> Helm \u6a21\u677f \u4e2d\u627e\u5230 Volcano \u5e76\u5b89\u88c5\u3002

                            2. \u68c0\u67e5\u5e76\u786e\u8ba4 Volcano \u662f\u5426\u5b89\u88c5\u5b8c\u6210\uff0c\u5373 volcano-admission\u3001volcano-controllers\u3001volcano-scheduler \u7ec4\u4ef6\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

                            \u901a\u5e38 Volcano \u4f1a\u548c AI Lab \u5e73\u53f0\u914d\u5408\u4f7f\u7528\uff0c\u4ee5\u5b9e\u73b0\u6570\u636e\u96c6\u3001Notebook\u3001\u4efb\u52a1\u8bad\u7ec3\u7684\u6574\u4e2a\u5f00\u53d1\u3001\u8bad\u7ec3\u6d41\u7a0b\u7684\u6709\u6548\u95ed\u73af\u3002

                            "},{"location":"end-user/kpanda/helm/index.html","title":"Helm \u6a21\u677f","text":"

                            Helm \u662f Kubernetes \u7684\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u65b9\u4fbf\u7528\u6237\u5feb\u901f\u53d1\u73b0\u3001\u5171\u4eab\u548c\u4f7f\u7528 Kubernetes \u6784\u5efa\u7684\u5e94\u7528\u3002\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u4e86\u4e0a\u767e\u4e2a Helm \u6a21\u677f\uff0c\u6db5\u76d6\u5b58\u50a8\u3001\u7f51\u7edc\u3001\u76d1\u63a7\u3001\u6570\u636e\u5e93\u7b49\u4e3b\u8981\u573a\u666f\u3002\u501f\u52a9\u8fd9\u4e9b\u6a21\u677f\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u5feb\u901f\u90e8\u7f72\u3001\u4fbf\u6377\u7ba1\u7406 Helm \u5e94\u7528\u3002\u6b64\u5916\uff0c\u652f\u6301\u901a\u8fc7\u6dfb\u52a0 Helm \u4ed3\u5e93 \u6dfb\u52a0\u66f4\u591a\u7684\u4e2a\u6027\u5316\u6a21\u677f\uff0c\u6ee1\u8db3\u591a\u6837\u9700\u6c42\u3002

                            \u5173\u952e\u6982\u5ff5\uff1a

                            \u4f7f\u7528 Helm \u65f6\u9700\u8981\u4e86\u89e3\u4ee5\u4e0b\u51e0\u4e2a\u5173\u952e\u6982\u5ff5\uff1a

                            • Chart\uff1a\u4e00\u4e2a Helm \u5b89\u88c5\u5305\uff0c\u5176\u4e2d\u5305\u542b\u4e86\u8fd0\u884c\u4e00\u4e2a\u5e94\u7528\u6240\u9700\u8981\u7684\u955c\u50cf\u3001\u4f9d\u8d56\u548c\u8d44\u6e90\u5b9a\u4e49\u7b49\uff0c\u8fd8\u53ef\u80fd\u5305\u542b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u670d\u52a1\u5b9a\u4e49\uff0c\u7c7b\u4f3c Homebrew \u4e2d\u7684 formula\u3001APT \u7684 dpkg \u6216\u8005 Yum \u7684 rpm \u6587\u4ef6\u3002Chart \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u6a21\u677f \u3002

                            • Release\uff1a\u5728 Kubernetes \u96c6\u7fa4\u4e0a\u8fd0\u884c\u7684\u4e00\u4e2a Chart \u5b9e\u4f8b\u3002\u4e00\u4e2a Chart \u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u591a\u6b21\u5b89\u88c5\uff0c\u6bcf\u6b21\u5b89\u88c5\u90fd\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Release\u3002Release \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u5e94\u7528 \u3002

                            • Repository\uff1a\u7528\u4e8e\u53d1\u5e03\u548c\u5b58\u50a8 Chart \u7684\u5b58\u50a8\u5e93\u3002Repository \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u4ed3\u5e93\u3002

                            \u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u524d\u5f80 Helm \u5b98\u7f51\u67e5\u770b\u3002

                            \u76f8\u5173\u64cd\u4f5c\uff1a

                            • \u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u4ecb\u7ecd\u4e0a\u4f20 Helm \u6a21\u677f\u64cd\u4f5c\u3002
                            • \u7ba1\u7406 Helm \u5e94\u7528\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5378\u8f7d Helm \u5e94\u7528\uff0c\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002
                            • \u7ba1\u7406 Helm \u4ed3\u5e93\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664 Helm \u4ed3\u5e93\u7b49\u3002
                            "},{"location":"end-user/kpanda/helm/Import-addon.html","title":"\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon","text":"

                            \u672c\u6587\u4ece\u79bb\u7ebf\u548c\u5728\u7ebf\u4e24\u79cd\u73af\u5883\u8bf4\u660e\u5982\u4f55\u5c06 Helm \u5e94\u7528\u5bfc\u5165\u5230\u7cfb\u7edf\u5185\u7f6e\u7684 Addon \u4e2d\u3002

                            "},{"location":"end-user/kpanda/helm/Import-addon.html#_1","title":"\u79bb\u7ebf\u73af\u5883","text":"

                            \u79bb\u7ebf\u73af\u5883\u6307\u7684\u662f\u65e0\u6cd5\u8fde\u901a\u4e92\u8054\u7f51\u6216\u5c01\u95ed\u7684\u79c1\u6709\u7f51\u7edc\u73af\u5883\u3002

                            "},{"location":"end-user/kpanda/helm/Import-addon.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5b58\u5728\u53ef\u4ee5\u8fd0\u884c\u7684\u00a0charts-syncer\u3002 \u82e5\u6ca1\u6709\uff0c\u53ef\u70b9\u51fb\u4e0b\u8f7d\u3002
                            • Helm Chart \u5df2\u7ecf\u5b8c\u6210\u9002\u914d charts-syncer\u3002 \u5373\u5728 Helm Chart \u5185\u6dfb\u52a0\u4e86 .relok8s-images.yaml \u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u9700\u8981\u5305\u542b Chart \u4e2d\u6240\u6709\u4f7f\u7528\u5230\u955c\u50cf\uff0c \u4e5f\u53ef\u4ee5\u5305\u542b Chart \u4e2d\u672a\u76f4\u63a5\u4f7f\u7528\u7684\u955c\u50cf\uff0c\u7c7b\u4f3c Operator \u4e2d\u4f7f\u7528\u7684\u955c\u50cf\u3002

                            Note

                            • \u5982\u4f55\u7f16\u5199 Chart \u53ef\u53c2\u8003\u00a0image-hints-file\u3002 \u8981\u6c42\u955c\u50cf\u7684\u00a0registry \u548c repository \u5fc5\u987b\u5206\u5f00\uff0c\u56e0\u4e3a load \u955c\u50cf\u65f6\u9700\u66ff\u6362\u6216\u4fee\u6539 registry/repository\u3002
                            • \u5b89\u88c5\u5668\u6240\u5728\u7684\u706b\u79cd\u96c6\u7fa4\u5df2\u5b89\u88c5 charts-syncer\u3002 \u82e5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u5b89\u88c5\u5668\u6240\u5728\u706b\u79cd\u96c6\u7fa4\uff0c\u53ef\u8df3\u8fc7\u4e0b\u8f7d\u76f4\u63a5\u9002\u914d\uff1b \u82e5\u672a\u5b89\u88c5\u00a0charts-syncer\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c \u53ef\u7acb\u5373\u4e0b\u8f7d\u3002
                            "},{"location":"end-user/kpanda/helm/Import-addon.html#helm-chart","title":"\u540c\u6b65 Helm Chart","text":"
                            1. \u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u641c\u7d22 addon\uff0c\u83b7\u53d6\u5185\u7f6e\u4ed3\u5e93\u5730\u5740\u548c\u7528\u6237\u540d/\u5bc6\u7801\uff08\u7cfb\u7edf\u5185\u7f6e\u4ed3\u5e93\u9ed8\u8ba4\u7528\u6237\u540d/\u5bc6\u7801\u4e3a rootuser/rootpass123\uff09\u3002
                            1. \u540c\u6b65 Helm Chart \u5230\u5bb9\u5668\u7ba1\u7406\u5185\u7f6e\u4ed3\u5e93 Addon

                              • \u7f16\u5199\u5982\u4e0b\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u914d\u7f6e\u4fee\u6539\uff0c\u5e76\u4fdd\u5b58\u4e3a sync-dao-2048.yaml\u3002

                                source:  # helm charts \u6e90\u4fe1\u606f\n  repo:\n    kind: HARBOR # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 CHARTMUSEUM\n    url: https://release-ci.daocloud.io/chartrepo/community #  \u9700\u66f4\u6539\u4e3a chart repo url\n    #auth: # \u7528\u6237\u540d/\u5bc6\u7801,\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      #username: \"admin\"\n      #password: \"Harbor12345\"\ncharts:  # \u9700\u8981\u540c\u6b65\n  - name: dao-2048 # helm charts \u4fe1\u606f\uff0c\u82e5\u4e0d\u586b\u5199\u5219\u540c\u6b65\u6e90 helm repo \u5185\u6240\u6709 charts\n    versions:\n      - 1.4.1\ntarget:  # helm charts \u76ee\u6807\u4fe1\u606f\n  containerRegistry: 10.5.14.40 # \u955c\u50cf\u4ed3\u5e93 url\n  repo:\n    kind: CHARTMUSEUM # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 HARBOR\n    url: http://10.5.14.40:8081 #  \u9700\u66f4\u6539\u4e3a\u6b63\u786e chart repo url\uff0c\u53ef\u4ee5\u901a\u8fc7 helm repo add $HELM-REPO \u9a8c\u8bc1\u5730\u5740\u662f\u5426\u6b63\u786e\n    auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      username: \"rootuser\"\n      password: \"rootpass123\"\n  containers:\n    # kind: HARBOR # \u82e5\u955c\u50cf\u4ed3\u5e93\u4e3a HARBOR \u4e14\u5e0c\u671b charts-syncer \u81ea\u52a8\u521b\u5efa\u955c\u50cf Repository \u5219\u586b\u5199\u8be5\u5b57\u6bb5  \n    # auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199 \n      # username: \"admin\"\n      # password: \"Harbor12345\"\n\n# leverage .relok8s-images.yaml file inside the Charts to move the container images too\nrelocateContainerImages: true\n
                              • \u6267\u884c charts-syncer \u547d\u4ee4\u540c\u6b65 Chart \u53ca\u5176\u5305\u542b\u7684\u955c\u50cf

                                charts-syncer sync --config sync-dao-2048.yaml --insecure --auto-create-repository\n

                                \u9884\u671f\u8f93\u51fa\u4e3a\uff1a

                                I1222 15:01:47.119777    8743 sync.go:45] Using config file: \"examples/sync-dao-2048.yaml\"\nW1222 15:01:47.234238    8743 syncer.go:263] Ignoring skipDependencies option as dependency sync is not supported if container image relocation is true or syncing from/to intermediate directory\nI1222 15:01:47.234685    8743 sync.go:58] There is 1 chart out of sync!\nI1222 15:01:47.234706    8743 sync.go:66] Syncing \"dao-2048_1.4.1\" chart...\n.relok8s-images.yaml hints file found\nComputing relocation...\n\nRelocating dao-2048@1.4.1...\nPushing 10.5.14.40/daocloud/dao-2048:v1.4.1...\nDone\nDone moving /var/folders/vm/08vw0t3j68z9z_4lcqyhg8nm0000gn/T/charts-syncer869598676/dao-2048-1.4.1.tgz\n
                            2. \u5f85\u4e0a\u4e00\u6b65\u6267\u884c\u5b8c\u6210\u540e\uff0c\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u627e\u5230\u5bf9\u5e94 Addon\uff0c \u5728\u64cd\u4f5c\u680f\u70b9\u51fb\u540c\u6b65\u4ed3\u5e93\uff0c\u56de\u5230 Helm \u6a21\u677f\u5c31\u53ef\u4ee5\u770b\u5230\u4e0a\u4f20\u7684 Helm \u5e94\u7528

                            3. \u540e\u7eed\u53ef\u6b63\u5e38\u8fdb\u884c\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d

                            "},{"location":"end-user/kpanda/helm/Import-addon.html#_3","title":"\u5728\u7ebf\u73af\u5883","text":"

                            \u5728\u7ebf\u73af\u5883\u7684 Helm Repo \u5730\u5740\u4e3a release.daocloud.io\u3002 \u5982\u679c\u7528\u6237\u65e0\u6743\u9650\u6dfb\u52a0 Helm Repo\uff0c\u5219\u65e0\u6cd5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon\u3002 \u60a8\u53ef\u4ee5\u6dfb\u52a0\u81ea\u5df1\u642d\u5efa\u7684 Helm \u4ed3\u5e93\uff0c\u7136\u540e\u6309\u7167\u79bb\u7ebf\u73af\u5883\u4e2d\u540c\u6b65 Helm Chart \u7684\u6b65\u9aa4\u5c06\u60a8\u7684 Helm \u4ed3\u5e93\u96c6\u6210\u5230\u5e73\u53f0\u4f7f\u7528\u3002

                            "},{"location":"end-user/kpanda/helm/helm-app.html","title":"\u7ba1\u7406 Helm \u5e94\u7528","text":"

                            \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9 Helm \u8fdb\u884c\u754c\u9762\u5316\u7ba1\u7406\uff0c\u5305\u62ec\u4f7f\u7528 Helm \u6a21\u677f\u521b\u5efa Helm \u5b9e\u4f8b\u3001\u81ea\u5b9a\u4e49 Helm \u5b9e\u4f8b\u53c2\u6570\u3001\u5bf9 Helm \u5b9e\u4f8b\u8fdb\u884c\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u7b49\u529f\u80fd\u3002

                            \u672c\u8282\u5c06\u4ee5 cert-manager \u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u521b\u5efa\u5e76\u7ba1\u7406 Helm \u5e94\u7528\u3002

                            "},{"location":"end-user/kpanda/helm/helm-app.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"end-user/kpanda/helm/helm-app.html#helm_1","title":"\u5b89\u88c5 Helm \u5e94\u7528","text":"

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Helm \u5e94\u7528\u3002

                            1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u8fdb\u5165 Helm \u6a21\u677f\u9875\u9762\u3002

                              \u5728 Helm \u6a21\u677f\u9875\u9762\u9009\u62e9\u540d\u4e3a addon \u7684 Helm \u4ed3\u5e93\uff0c\u6b64\u65f6\u754c\u9762\u4e0a\u5c06\u5448\u73b0 addon \u4ed3\u5e93\u4e0b\u6240\u6709\u7684 Helm chart \u6a21\u677f\u3002 \u70b9\u51fb\u540d\u79f0\u4e3a cert-manager \u7684 Chart\u3002

                            3. \u5728\u5b89\u88c5\u9875\u9762\uff0c\u80fd\u591f\u770b\u5230 Chart \u7684\u76f8\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u5728\u754c\u9762\u53f3\u4e0a\u89d2\u9009\u62e9\u9700\u8981\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u6b64\u5904\u9009\u62e9 v1.9.1 \u7248\u672c\u8fdb\u884c\u5b89\u88c5\u3002

                            4. \u914d\u7f6e \u540d\u79f0 \u3001 \u547d\u540d\u7a7a\u95f4 \u53ca \u7248\u672c\u4fe1\u606f \uff0c\u4e5f\u53ef\u4ee5\u5728\u4e0b\u65b9\u7684 \u53c2\u6570\u914d\u7f6e \u533a\u57df\u901a\u8fc7\u4fee\u6539 YAML \u6765\u81ea\u5b9a\u4e49\u53c2\u6570\u3002\u70b9\u51fb \u786e\u5b9a \u3002

                            5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u65b0\u521b\u5efa\u7684 Helm \u5e94\u7528\u72b6\u6001\u4e3a \u5b89\u88c5\u4e2d \uff0c\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002

                            "},{"location":"end-user/kpanda/helm/helm-app.html#helm_2","title":"\u66f4\u65b0 Helm \u5e94\u7528","text":"

                            \u5f53\u6211\u4eec\u901a\u8fc7\u754c\u9762\u5b8c\u6210\u4e00\u4e2a Helm \u5e94\u7528\u7684\u5b89\u88c5\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u5bf9 Helm \u5e94\u7528\u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u3002\u6ce8\u610f\uff1a\u53ea\u6709\u901a\u8fc7\u754c\u9762\u5b89\u88c5\u7684 Helm \u5e94\u7528\u624d\u652f\u6301\u4f7f\u7528\u754c\u9762\u8fdb\u884c\u66f4\u65b0\u64cd\u4f5c\u3002

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u66f4\u65b0 Helm \u5e94\u7528\u3002

                            1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                              \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u9700\u8981\u66f4\u65b0\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u66f4\u65b0 \u64cd\u4f5c\u3002

                            3. \u70b9\u51fb \u66f4\u65b0 \u6309\u94ae\u540e\uff0c\u7cfb\u7edf\u5c06\u8df3\u8f6c\u81f3\u66f4\u65b0\u754c\u9762\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u8981\u5bf9 Helm \u5e94\u7528\u8fdb\u884c\u66f4\u65b0\uff0c\u6b64\u5904\u6211\u4eec\u4ee5\u66f4\u65b0 dao-2048 \u8fd9\u4e2a\u5e94\u7528\u7684 http \u7aef\u53e3\u4e3a\u4f8b\u3002

                            4. \u4fee\u6539\u5b8c\u76f8\u5e94\u53c2\u6570\u540e\u3002\u60a8\u53ef\u4ee5\u5728\u53c2\u6570\u914d\u7f6e\u4e0b\u70b9\u51fb \u53d8\u5316 \u6309\u94ae\uff0c\u5bf9\u6bd4\u4fee\u6539\u524d\u540e\u7684\u6587\u4ef6\uff0c\u786e\u5b9a\u65e0\u8bef\u540e\uff0c\u70b9\u51fb\u5e95\u90e8 \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 Helm \u5e94\u7528\u7684\u66f4\u65b0\u3002

                            5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u53f3\u4e0a\u89d2\u5f39\u7a97\u63d0\u793a \u66f4\u65b0\u6210\u529f \u3002

                            "},{"location":"end-user/kpanda/helm/helm-app.html#helm_3","title":"\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55","text":"

                            Helm \u5e94\u7528\u7684\u6bcf\u6b21\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664\u90fd\u6709\u8be6\u7ec6\u7684\u64cd\u4f5c\u8bb0\u5f55\u548c\u65e5\u5fd7\u53ef\u4f9b\u67e5\u770b\u3002

                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u6700\u8fd1\u64cd\u4f5c \uff0c\u7136\u540e\u5728\u9875\u9762\u4e0a\u65b9\u9009\u62e9 Helm \u64cd\u4f5c \u6807\u7b7e\u9875\u3002\u6bcf\u4e00\u6761\u8bb0\u5f55\u5bf9\u5e94\u4e00\u6b21\u5b89\u88c5/\u66f4\u65b0/\u5220\u9664\u64cd\u4f5c\u3002

                            2. \u5982\u9700\u67e5\u770b\u6bcf\u4e00\u6b21\u64cd\u4f5c\u7684\u8be6\u7ec6\u65e5\u5fd7\uff1a\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u65e5\u5fd7 \u3002

                            3. \u6b64\u65f6\u9875\u9762\u4e0b\u65b9\u5c06\u4ee5\u63a7\u5236\u53f0\u7684\u5f62\u5f0f\u5c55\u793a\u8be6\u7ec6\u7684\u8fd0\u884c\u65e5\u5fd7\u3002

                            "},{"location":"end-user/kpanda/helm/helm-app.html#helm_4","title":"\u5220\u9664 Helm \u5e94\u7528","text":"

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5220\u9664 Helm \u5e94\u7528\u3002

                            1. \u627e\u5230\u5f85\u5220\u9664\u7684 Helm \u5e94\u7528\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                              \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u60a8\u9700\u8981\u5220\u9664\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                            3. \u5728\u5f39\u7a97\u5185\u8f93\u5165 Helm \u5e94\u7528\u7684\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u6309\u94ae\u3002

                            "},{"location":"end-user/kpanda/helm/helm-repo.html","title":"\u7ba1\u7406 Helm \u4ed3\u5e93","text":"

                            Helm \u4ed3\u5e93\u662f\u7528\u6765\u5b58\u50a8\u548c\u53d1\u5e03 Chart \u7684\u5b58\u50a8\u5e93\u3002Helm \u5e94\u7528\u6a21\u5757\u652f\u6301\u901a\u8fc7 HTTP(s) \u534f\u8bae\u6765\u8bbf\u95ee\u5b58\u50a8\u5e93\u4e2d\u7684 Chart \u5305\u3002\u7cfb\u7edf\u9ed8\u8ba4\u5185\u7f6e\u4e86\u4e0b\u8868\u6240\u793a\u7684 4 \u4e2a Helm \u4ed3\u5e93\u4ee5\u6ee1\u8db3\u4f01\u4e1a\u751f\u4ea7\u8fc7\u7a0b\u4e2d\u7684\u5e38\u89c1\u9700\u6c42\u3002

                            \u4ed3\u5e93 \u63cf\u8ff0 \u793a\u4f8b partner \u7531\u751f\u6001\u5408\u4f5c\u4f19\u4f34\u6240\u63d0\u4f9b\u7684\u5404\u7c7b\u4f18\u8d28\u7279\u8272 Chart tidb system \u7cfb\u7edf\u6838\u5fc3\u529f\u80fd\u7ec4\u4ef6\u53ca\u90e8\u5206\u9ad8\u7ea7\u529f\u80fd\u6240\u5fc5\u9700\u4f9d\u8d56\u7684 Chart\uff0c\u5982\u5fc5\u9700\u5b89\u88c5 insight-agent \u624d\u80fd\u591f\u83b7\u53d6\u96c6\u7fa4\u7684\u76d1\u63a7\u4fe1\u606f Insight addon \u4e1a\u52a1\u573a\u666f\u4e2d\u5e38\u89c1\u7684 Chart cert-manager community Kubernetes \u793e\u533a\u8f83\u4e3a\u70ed\u95e8\u7684\u5f00\u6e90\u7ec4\u4ef6 Chart Istio

                            \u9664\u4e0a\u8ff0\u9884\u7f6e\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u81ea\u884c\u6dfb\u52a0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6dfb\u52a0\u3001\u66f4\u65b0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                            "},{"location":"end-user/kpanda/helm/helm-repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5982\u679c\u4f7f\u7528\u79c1\u6709\u4ed3\u5e93\uff0c\u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u62e5\u6709\u5bf9\u8be5\u79c1\u6709\u4ed3\u5e93\u7684\u8bfb\u5199\u6743\u9650\u3002

                            "},{"location":"end-user/kpanda/helm/helm-repo.html#helm_1","title":"\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93","text":"

                            \u4e0b\u9762\u4ee5 Kubevela \u516c\u5f00\u7684\u955c\u50cf\u4ed3\u5e93\u4e3a\u4f8b\uff0c\u5f15\u5165 Helm \u4ed3\u5e93\u5e76\u7ba1\u7406\u3002

                            1. \u627e\u5230\u9700\u8981\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u9875\u9762\u3002

                            3. \u5728 Helm \u4ed3\u5e93\u9875\u9762\u70b9\u51fb \u521b\u5efa\u4ed3\u5e93 \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u4ed3\u5e93\u9875\u9762\uff0c\u6309\u7167\u4e0b\u8868\u914d\u7f6e\u76f8\u5173\u53c2\u6570\u3002

                              • \u4ed3\u5e93\u540d\u79f0\uff1a\u8bbe\u7f6e\u4ed3\u5e93\u540d\u79f0\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26 - \uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u5e76\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubevela
                              • \u4ed3\u5e93\u5730\u5740\uff1a\u7528\u6765\u6307\u5411\u76ee\u6807 Helm \u4ed3\u5e93\u7684 http\uff08s\uff09\u5730\u5740\u3002\u4f8b\u5982 https://charts.kubevela.net/core
                              • \u8df3\u8fc7 TLS \u9a8c\u8bc1: \u5982\u679c\u6dfb\u52a0\u7684 Helm \u4ed3\u5e93\u4e3a https \u5730\u5740\u4e14\u9700\u8df3\u8fc7 TLS \u9a8c\u8bc1\uff0c\u53ef\u4ee5\u52fe\u9009\u6b64\u9009\u9879\uff0c\u9ed8\u8ba4\u4e3a\u4e0d\u52fe\u9009
                              • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u8fde\u63a5\u4ed3\u5e93\u5730\u5740\u540e\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c\u7684\u65b9\u5f0f\u3002\u5bf9\u4e8e\u516c\u5f00\u4ed3\u5e93\uff0c\u53ef\u4ee5\u9009\u62e9 None \uff0c\u79c1\u6709\u7684\u4ed3\u5e93\u9700\u8981\u8f93\u5165\u7528\u6237\u540d/\u5bc6\u7801\u4ee5\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c
                              • \u6807\u7b7e\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6807\u7b7e\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                              • \u6ce8\u89e3\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6ce8\u89e3\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                              • \u63cf\u8ff0\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u63cf\u8ff0\u3002\u4f8b\u5982\uff1a\u8fd9\u662f\u4e00\u4e2a Kubevela \u516c\u5f00 Helm \u4ed3\u5e93

                            4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 Helm \u4ed3\u5e93\u7684\u521b\u5efa\u3002\u9875\u9762\u4f1a\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u4ed3\u5e93\u5217\u8868\u3002

                            "},{"location":"end-user/kpanda/helm/helm-repo.html#helm_2","title":"\u66f4\u65b0 Helm \u4ed3\u5e93","text":"

                            \u5f53 Helm \u4ed3\u5e93\u7684\u5730\u5740\u4fe1\u606f\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u66f4\u65b0 Helm \u4ed3\u5e93\u7684\u5730\u5740\u3001\u8ba4\u8bc1\u65b9\u5f0f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u53ca\u63cf\u8ff0\u4fe1\u606f\u3002

                            1. \u627e\u5230\u5f85\u66f4\u65b0\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                            3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u66f4\u65b0 \u3002

                            4. \u5728 \u7f16\u8f91 Helm \u4ed3\u5e93 \u9875\u9762\u8fdb\u884c\u66f4\u65b0\uff0c\u5b8c\u6210\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u66f4\u65b0\u6210\u529f\u3002

                            "},{"location":"end-user/kpanda/helm/helm-repo.html#helm_3","title":"\u5220\u9664 Helm \u4ed3\u5e93","text":"

                            \u9664\u4e86\u5f15\u5165\u3001\u66f4\u65b0\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u5c06\u4e0d\u9700\u8981\u7684\u4ed3\u5e93\u5220\u9664\uff0c\u5305\u62ec\u7cfb\u7edf\u9884\u7f6e\u4ed3\u5e93\u548c\u7b2c\u4e09\u65b9\u4ed3\u5e93\u3002

                            1. \u627e\u5230\u5f85\u5220\u9664\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                            3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u5220\u9664 \u3002

                            4. \u8f93\u5165\u4ed3\u5e93\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u70b9\u51fb \u5220\u9664 \u3002

                            5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\u3002

                            "},{"location":"end-user/kpanda/helm/multi-archi-helm.html","title":"Helm \u5e94\u7528\u591a\u67b6\u6784\u548c\u5347\u7ea7\u5bfc\u5165\u6b65\u9aa4","text":"

                            \u901a\u5e38\u5728\u591a\u67b6\u6784\u96c6\u7fa4\u4e2d\uff0c\u4e5f\u4f1a\u4f7f\u7528\u591a\u67b6\u6784\u7684 Helm \u5305\u6765\u90e8\u7f72\u5e94\u7528\uff0c\u4ee5\u89e3\u51b3\u67b6\u6784\u5dee\u5f02\u5e26\u6765\u7684\u90e8\u7f72\u95ee\u9898\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5c06\u5355\u67b6\u6784 Helm \u5e94\u7528\u878d\u5408\u4e3a\u591a\u67b6\u6784\uff0c\u4ee5\u53ca\u591a\u67b6\u6784\u4e0e\u591a\u67b6\u6784 Helm \u5e94\u7528\u7684\u76f8\u4e92\u878d\u5408\u3002

                            "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_1","title":"\u5bfc\u5165","text":""},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_2","title":"\u5355\u67b6\u6784\u5bfc\u5165","text":"

                            \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \u3002 \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                            addonPackage:\n  path: \"/home/addon-offline-full-package-v0.9.0-amd64.tar.gz\"\n

                            \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                            ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                            "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_3","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                            \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                            \u4ee5 addon-offline-full-package-v0.9.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                            ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.9.0-arm64.tar.gz\n
                            "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_4","title":"\u5347\u7ea7","text":""},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_5","title":"\u5355\u67b6\u6784\u5347\u7ea7","text":"

                            \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                            \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                            addonPackage:\n  path: \"/home/addon-offline-full-package-v0.11.0-amd64.tar.gz\"\n

                            \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                            ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                            "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_6","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                            \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                            \u4ee5 addon-offline-full-package-v0.11.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                            ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.11.0-arm64.tar.gz\n
                            "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_7","title":"\u6ce8\u610f\u4e8b\u9879","text":""},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_8","title":"\u78c1\u76d8\u7a7a\u95f4","text":"

                            \u79bb\u7ebf\u5305\u6bd4\u8f83\u5927\uff0c\u4e14\u8fc7\u7a0b\u4e2d\u9700\u8981\u89e3\u538b\u548c load \u955c\u50cf\uff0c\u9700\u8981\u9884\u7559\u5145\u8db3\u7684\u7a7a\u95f4\uff0c\u5426\u5219\u53ef\u80fd\u5728\u8fc7\u7a0b\u4e2d\u62a5 \u201cno space left\u201d \u800c\u4e2d\u65ad\u3002

                            "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_9","title":"\u5931\u8d25\u540e\u91cd\u8bd5","text":"

                            \u5982\u679c\u5728\u591a\u67b6\u6784\u878d\u5408\u6b65\u9aa4\u6267\u884c\u5931\u8d25\uff0c\u91cd\u8bd5\u524d\u9700\u8981\u6e05\u7406\u4e00\u4e0b\u6b8b\u7559\uff1a

                            rm -rf addon-offline-target-package\n
                            "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_10","title":"\u955c\u50cf\u7a7a\u95f4","text":"

                            \u5982\u679c\u878d\u5408\u7684\u79bb\u7ebf\u5305\u4e2d\u5305\u542b\u4e86\u4e0e\u5bfc\u5165\u7684\u79bb\u7ebf\u5305\u4e0d\u4e00\u81f4\u7684\u955c\u50cf\u7a7a\u95f4\uff0c\u53ef\u80fd\u4f1a\u5728\u878d\u5408\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u955c\u50cf\u7a7a\u95f4\u4e0d\u5b58\u5728\u800c\u62a5\u9519\uff1a

                            \u89e3\u51b3\u529e\u6cd5\uff1a\u53ea\u9700\u8981\u5728\u878d\u5408\u4e4b\u524d\u521b\u5efa\u597d\u8be5\u955c\u50cf\u7a7a\u95f4\u5373\u53ef\uff0c\u4f8b\u5982\u4e0a\u56fe\u62a5\u9519\u53ef\u901a\u8fc7\u521b\u5efa\u955c\u50cf\u7a7a\u95f4 localhost \u63d0\u524d\u907f\u514d\u3002

                            "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_11","title":"\u67b6\u6784\u51b2\u7a81","text":"

                            \u5347\u7ea7\u81f3\u4f4e\u4e8e 0.12.0 \u7248\u672c\u7684 addon \u65f6\uff0c\u7531\u4e8e\u76ee\u6807\u79bb\u7ebf\u5305\u91cc\u7684 charts-syncer \u6ca1\u6709\u68c0\u67e5\u955c\u50cf\u5b58\u5728\u5219\u4e0d\u63a8\u9001\u529f\u80fd\uff0c\u56e0\u6b64\u4f1a\u5728\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\u4f1a\u91cd\u65b0\u628a\u591a\u67b6\u6784\u51b2\u6210\u5355\u67b6\u6784\u3002 \u4f8b\u5982\uff1a\u5728 v0.10 \u7248\u672c\u5c06 addon \u5b9e\u73b0\u4e3a\u591a\u67b6\u6784\uff0c\u6b64\u65f6\u82e5\u5347\u7ea7\u4e3a v0.11 \u7248\u672c\uff0c\u5219\u591a\u67b6\u6784 addon \u4f1a\u88ab\u8986\u76d6\u4e3a\u5355\u67b6\u6784\uff1b\u82e5\u5347\u7ea7\u4e3a 0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u5219\u4ecd\u80fd\u591f\u4fdd\u6301\u591a\u67b6\u6784\u3002

                            "},{"location":"end-user/kpanda/helm/upload-helm.html","title":"\u4e0a\u4f20 Helm \u6a21\u677f","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u64cd\u4f5c\u6b65\u9aa4\u89c1\u4e0b\u6587\u3002

                            1. \u5f15\u5165 Helm \u4ed3\u5e93\uff0c\u64cd\u4f5c\u6b65\u9aa4\u53c2\u8003\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                            2. \u4e0a\u4f20 Helm Chart \u5230 Helm \u4ed3\u5e93\u3002

                              \u5ba2\u6237\u7aef\u4e0a\u4f20\u9875\u9762\u4e0a\u4f20

                              Note

                              \u6b64\u65b9\u5f0f\u9002\u7528\u4e8e Harbor\u3001ChartMuseum\u3001JFrog \u7c7b\u578b\u4ed3\u5e93\u3002

                              1. \u767b\u5f55\u4e00\u4e2a\u53ef\u4ee5\u8bbf\u95ee\u5230 Helm \u4ed3\u5e93\u7684\u8282\u70b9\uff0c\u5c06 Helm \u4e8c\u8fdb\u5236\u6587\u4ef6\u4e0a\u4f20\u5230\u8282\u70b9\uff0c\u5e76\u5b89\u88c5 cm-push \u63d2\u4ef6\uff08\u9700\u8981\u8fde\u901a\u5916\u7f51\u5e76\u63d0\u524d\u5b89\u88c5 Git\uff09\u3002

                                \u5b89\u88c5\u63d2\u4ef6\u6d41\u7a0b\u53c2\u8003\u5b89\u88c5 cm-push \u63d2\u4ef6\u3002

                              2. \u63a8\u9001 Helm Chart \u5230 Helm \u4ed3\u5e93\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1b

                                helm cm-push ${charts-dir} ${HELM_REPO_URL} --username ${username} --password ${password}\n

                                \u5b57\u6bb5\u8bf4\u660e\uff1a

                                • charts-dir\uff1aHelm Chart \u7684\u76ee\u5f55\uff0c\u6216\u8005\u662f\u6253\u5305\u597d\u7684 Chart\uff08\u5373 .tgz \u6587\u4ef6\uff09\u3002
                                • HELM_REPO_URL\uff1aHelm \u4ed3\u5e93\u7684 URL\u3002
                                • username/password\uff1a\u6709\u63a8\u9001\u6743\u9650\u7684 Helm \u4ed3\u5e93\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
                                • \u5982\u679c\u91c7\u7528 https \u8bbf\u95ee\u4e14\u9700\u8981\u8df3\u8fc7\u8bc1\u4e66\u9a8c\u8bc1\uff0c\u53ef\u6dfb\u52a0\u53c2\u6570 --insecure

                              Note

                              \u6b64\u65b9\u5f0f\u4ec5\u9002\u7528\u4e8e Harbor \u7c7b\u578b\u4ed3\u5e93\u3002

                              1. \u767b\u5f55\u7f51\u9875 Harbor \u4ed3\u5e93\uff0c\u8bf7\u786e\u4fdd\u767b\u5f55\u7528\u6237\u6709\u63a8\u9001\u6743\u9650\uff1b

                              2. \u8fdb\u5165\u5230\u5bf9\u5e94\u9879\u76ee\uff0c\u9009\u62e9 Helm Charts \u9875\u7b7e\uff0c\u70b9\u51fb\u9875\u9762 \u4e0a\u4f20 \u6309\u94ae\uff0c\u5b8c\u6210 Helm Chart \u4e0a\u4f20\u3002

                            3. \u540c\u6b65\u8fdc\u7aef\u4ed3\u5e93\u6570\u636e

                              \u624b\u52a8\u540c\u6b65\u81ea\u52a8\u540c\u6b65

                              \u9ed8\u8ba4\u96c6\u7fa4\u672a\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0 \uff0c\u9700\u8981\u6267\u884c\u624b\u52a8\u540c\u6b65\u64cd\u4f5c\uff0c\u5927\u81f4\u6b65\u9aa4\u4e3a\uff1a

                              \u8fdb\u5165 Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u70b9\u51fb\u4ed3\u5e93\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u6309\u94ae\uff0c\u9009\u62e9 \u540c\u6b65\u4ed3\u5e93 \uff0c\u5b8c\u6210\u4ed3\u5e93\u6570\u636e\u540c\u6b65\u3002

                              \u5982\u9700\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u540c\u6b65\u529f\u80fd\uff0c\u53ef\u8fdb\u5165 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \uff0c\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0\u5f00\u5173\u3002

                            "},{"location":"end-user/kpanda/inspect/index.html","title":"\u96c6\u7fa4\u5de1\u68c0","text":"

                            \u96c6\u7fa4\u5de1\u68c0\u53ef\u4ee5\u901a\u8fc7\u81ea\u52a8\u6216\u624b\u52a8\u65b9\u5f0f\uff0c\u5b9a\u671f\u6216\u968f\u65f6\u68c0\u67e5\u96c6\u7fa4\u7684\u6574\u4f53\u5065\u5eb7\u72b6\u6001\uff0c\u8ba9\u7ba1\u7406\u5458\u83b7\u5f97\u4fdd\u969c\u96c6\u7fa4\u5b89\u5168\u7684\u4e3b\u52a8\u6743\u3002 \u57fa\u4e8e\u5408\u7406\u7684\u5de1\u68c0\u8ba1\u5212\uff0c\u8fd9\u79cd\u4e3b\u52a8\u81ea\u53d1\u7684\u96c6\u7fa4\u68c0\u67e5\u53ef\u4ee5\u8ba9\u7ba1\u7406\u5458\u968f\u65f6\u638c\u63e1\u96c6\u7fa4\u72b6\u6001\uff0c\u6446\u8131\u4e4b\u524d\u51fa\u73b0\u6545\u969c\u65f6\u53ea\u80fd\u88ab\u52a8\u6392\u67e5\u95ee\u9898\u7684\u56f0\u5883\uff0c\u505a\u5230\u4e8b\u5148\u76d1\u63a7\u3001\u63d0\u524d\u9632\u8303\u3002

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u7684\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u4e09\u4e2a\u7ef4\u5ea6\u8fdb\u884c\u81ea\u5b9a\u4e49\u5de1\u68c0\u9879\uff0c\u5de1\u68c0\u7ed3\u675f\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u53ef\u89c6\u5316\u7684\u5de1\u68c0\u62a5\u544a\u3002

                            • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                            • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                            • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                            \u5982\u9700\u4e86\u89e3\u6216\u6267\u884c\u5b89\u5168\u65b9\u9762\u7684\u5de1\u68c0\uff0c\u53ef\u53c2\u8003\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684\u5b89\u5168\u626b\u63cf\u7c7b\u578b\u3002

                            "},{"location":"end-user/kpanda/inspect/config.html","title":"\u521b\u5efa\u5de1\u68c0\u914d\u7f6e","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u8fdb\u884c\u5de1\u68c0\u3002

                            • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                            • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                            • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                            \u4e0b\u9762\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de1\u68c0\u914d\u7f6e\u3002

                            "},{"location":"end-user/kpanda/inspect/config.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                            • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                            "},{"location":"end-user/kpanda/inspect/config.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \u3002

                            2. \u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u3002

                            3. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199\u5de1\u68c0\u914d\u7f6e\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                              • \u96c6\u7fa4\uff1a\u4e0b\u62c9\u9009\u62e9\u8981\u5bf9\u54ea\u4e9b\u96c6\u7fa4\u8fdb\u884c\u5de1\u68c0\u3002\u5982\u679c\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\uff0c\u5219\u81ea\u52a8\u751f\u6210\u591a\u4e2a\u5de1\u68c0\u914d\u7f6e\uff08\u4ec5\u5de1\u68c0\u7684\u96c6\u7fa4\u4e0d\u4e00\u81f4\uff0c\u5176\u4ed6\u914d\u7f6e\u90fd\u5b8c\u5168\u4e00\u81f4\uff09
                              • \u5b9a\u65f6\u5de1\u68c0\uff1a\u542f\u7528\u540e\u53ef\u6839\u636e\u4e8b\u5148\u8bbe\u7f6e\u7684\u5de1\u68c0\u9891\u7387\u5b9a\u671f\u81ea\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0
                              • \u5de1\u68c0\u9891\u7387\uff1a\u8bbe\u7f6e\u81ea\u52a8\u5de1\u68c0\u7684\u5468\u671f\uff0c\u4f8b\u5982\u6bcf\u5468\u4e8c\u4e0a\u5348\u5341\u70b9\u3002\u652f\u6301\u81ea\u5b9a\u4e49 CronExpression\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5
                              • \u5de1\u68c0\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\uff1a\u7d2f\u8ba1\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5de1\u68c0\u8bb0\u5f55\uff0c\u5305\u62ec\u6240\u6709\u96c6\u7fa4\u7684\u5de1\u68c0\u8bb0\u5f55
                              • \u53c2\u6570\u914d\u7f6e\uff1a\u53c2\u6570\u914d\u7f6e\u5206\u4e3a\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u4e09\u90e8\u5206\uff0c\u53ef\u4ee5\u6839\u636e\u573a\u666f\u9700\u6c42\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u5de1\u68c0\u9879\u3002

                            \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4f1a\u81ea\u52a8\u663e\u793a\u5728\u5de1\u68c0\u914d\u7f6e\u5217\u8868\u4e2d\u3002\u5728\u914d\u7f6e\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u7acb\u5373\u6267\u884c\u5de1\u68c0\u3001\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3001\u5220\u9664\u5de1\u68c0\u914d\u7f6e\u548c\u5de1\u68c0\u8bb0\u5f55\u3002

                            • \u70b9\u51fb \u5de1\u68c0 \u53ef\u4ee5\u6839\u636e\u8be5\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u5de1\u68c0\u3002
                            • \u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u53ef\u4ee5\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3002
                            • \u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u5de1\u68c0\u914d\u7f6e\u548c\u5386\u53f2\u7684\u5de1\u68c0\u8bb0\u5f55

                            Note

                            • \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002
                            • \u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002
                            "},{"location":"end-user/kpanda/inspect/inspect.html","title":"\u6267\u884c\u96c6\u7fa4\u5de1\u68c0","text":"

                            \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002\u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002

                            \u6b64\u9875\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0\u3002

                            "},{"location":"end-user/kpanda/inspect/inspect.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                            • \u5df2\u521b\u5efa\u5de1\u68c0\u914d\u7f6e
                            • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                            "},{"location":"end-user/kpanda/inspect/inspect.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u6267\u884c\u5de1\u68c0\u65f6\uff0c\u652f\u6301\u52fe\u9009\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u6279\u91cf\u5de1\u68c0\uff0c\u6216\u8005\u4ec5\u5bf9\u67d0\u4e00\u4e2a\u96c6\u7fa4\u8fdb\u884c\u5355\u72ec\u5de1\u68c0\u3002

                            \u6279\u91cf\u5de1\u68c0\u5355\u72ec\u5de1\u68c0
                            1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u4e00\u7ea7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0 \u3002

                            2. \u52fe\u9009\u9700\u8981\u5de1\u68c0\u7684\u96c6\u7fa4\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                              • \u82e5\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u540c\u65f6\u5de1\u68c0\uff0c\u7cfb\u7edf\u5c06\u6839\u636e\u4e0d\u540c\u96c6\u7fa4\u7684\u5de1\u68c0\u914d\u7f6e\u8fdb\u884c\u5de1\u68c0\u3002
                              • \u5982\u672a\u8bbe\u7f6e\u96c6\u7fa4\u5de1\u68c0\u914d\u7f6e\uff0c\u5c06\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u914d\u7f6e\u3002

                            1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\u3002
                            2. \u5728\u5bf9\u5e94\u5de1\u68c0\u914d\u7f6e\u7684\u53f3\u4fa7\u70b9\u51fb \u2507 \u66f4\u591a\u64cd\u4f5c\u6309\u94ae\uff0c\u7136\u540e\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\u9009\u62e9 \u5de1\u68c0 \u5373\u53ef\u3002

                            "},{"location":"end-user/kpanda/inspect/report.html","title":"\u67e5\u770b\u5de1\u68c0\u62a5\u544a","text":"

                            \u5de1\u68c0\u6267\u884c\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u5de1\u68c0\u8bb0\u5f55\u548c\u8be6\u7ec6\u7684\u5de1\u68c0\u62a5\u544a\u3002

                            "},{"location":"end-user/kpanda/inspect/report.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5df2\u7ecf\u521b\u5efa\u4e86\u5de1\u68c0\u914d\u7f6e
                            • \u5df2\u7ecf\u6267\u884c\u8fc7\u81f3\u5c11\u4e00\u6b21\u5de1\u68c0
                            "},{"location":"end-user/kpanda/inspect/report.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\uff0c\u70b9\u51fb\u76ee\u6807\u5de1\u68c0\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u70b9\u51fb\u60f3\u8981\u67e5\u770b\u7684\u5de1\u68c0\u8bb0\u5f55\u540d\u79f0\u3002

                              • \u6bcf\u6267\u884c\u4e00\u6b21\u5de1\u68c0\uff0c\u5c31\u4f1a\u751f\u6210\u4e00\u6761\u5de1\u68c0\u8bb0\u5f55\u3002
                              • \u5f53\u5de1\u68c0\u8bb0\u5f55\u8d85\u8fc7\u5de1\u68c0\u914d\u7f6e\u4e2d\u8bbe\u7f6e\u7684\u6700\u5927\u4fdd\u7559\u6761\u6570\u65f6\uff0c\u4ece\u6267\u884c\u65f6\u95f4\u6700\u65e9\u7684\u8bb0\u5f55\u5f00\u59cb\u5220\u9664\u3002

                            3. \u67e5\u770b\u5de1\u68c0\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u6839\u636e\u5de1\u68c0\u914d\u7f6e\u53ef\u80fd\u5305\u62ec\u96c6\u7fa4\u8d44\u6e90\u6982\u89c8\u3001\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\u7b49\u3002

                              \u5728\u9875\u9762\u53f3\u4e0a\u89d2\u53ef\u4ee5\u4e0b\u8f7d\u5de1\u68c0\u62a5\u544a\u6216\u5220\u9664\u8be5\u9879\u5de1\u68c0\u62a5\u544a\u3002

                            "},{"location":"end-user/kpanda/namespaces/createns.html","title":"\u547d\u540d\u7a7a\u95f4","text":"

                            \u547d\u540d\u7a7a\u95f4\u662f Kubernetes \u4e2d\u7528\u6765\u8fdb\u884c\u8d44\u6e90\u9694\u79bb\u7684\u4e00\u79cd\u62bd\u8c61\u3002\u4e00\u4e2a\u96c6\u7fa4\u4e0b\u53ef\u4ee5\u5305\u542b\u591a\u4e2a\u4e0d\u91cd\u540d\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u76f8\u4e92\u9694\u79bb\u3002\u6709\u5173\u547d\u540d\u7a7a\u95f4\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u3002

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u547d\u540d\u7a7a\u95f4\u7684\u76f8\u5173\u64cd\u4f5c\u3002

                            "},{"location":"end-user/kpanda/namespaces/createns.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

                            \u652f\u6301\u901a\u8fc7\u8868\u5355\u8f7b\u677e\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u7f16\u5199\u6216\u5bfc\u5165 YAML \u6587\u4ef6\u5feb\u901f\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u3002

                            Note

                            • \u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u4e4b\u524d\uff0c\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\u3002
                            • \u96c6\u7fa4\u521d\u59cb\u5316\u540e\u901a\u5e38\u4f1a\u81ea\u52a8\u751f\u6210\u9ed8\u8ba4\u7684\u547d\u540d\u7a7a\u95f4 default \u3002\u4f46\u5bf9\u4e8e\u751f\u4ea7\u96c6\u7fa4\u800c\u8a00\uff0c\u4e3a\u4fbf\u4e8e\u7ba1\u7406\uff0c\u5efa\u8bae\u521b\u5efa\u5176\u4ed6\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u800c\u975e\u76f4\u63a5\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002
                            "},{"location":"end-user/kpanda/namespaces/createns.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                            3. \u586b\u5199\u547d\u540d\u7a7a\u95f4\u7684\u540d\u79f0\uff0c\u914d\u7f6e\u5de5\u4f5c\u7a7a\u95f4\u548c\u6807\u7b7e\uff08\u53ef\u9009\u8bbe\u7f6e\uff09\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                              Info

                              • \u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\u4e4b\u540e\uff0c\u8be5\u547d\u540d\u7a7a\u95f4\u7684\u8d44\u6e90\u5c31\u4f1a\u5171\u4eab\u7ed9\u6240\u7ed1\u5b9a\u7684\u5de5\u4f5c\u7a7a\u95f4\u3002\u6709\u5173\u5de5\u4f5c\u7a7a\u95f4\u7684\u8be6\u7ec6\u8bf4\u660e\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u3002

                              • \u547d\u540d\u7a7a\u95f4\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4ecd\u7136\u53ef\u4ee5\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3002

                            4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002\u5728\u547d\u540d\u7a7a\u95f4\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4ece\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9\u67e5\u770b YAML\u3001\u4fee\u6539\u6807\u7b7e\u3001\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3001\u914d\u989d\u7ba1\u7406\u3001\u5220\u9664\u7b49\u66f4\u591a\u64cd\u4f5c\u3002

                            "},{"location":"end-user/kpanda/namespaces/createns.html#yaml","title":"YAML \u521b\u5efa","text":"
                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u5185\u5bb9\uff0c\u6216\u8005\u4ece\u672c\u5730\u76f4\u63a5\u5bfc\u5165\u5df2\u6709\u7684 YAML \u6587\u4ef6\u3002

                              \u8f93\u5165 YAML \u5185\u5bb9\u540e\uff0c\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u8be5 YAML \u6587\u4ef6\u4fdd\u5b58\u5230\u672c\u5730\u3002

                            4. \u6700\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                            "},{"location":"end-user/kpanda/namespaces/exclusive.html","title":"\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                            \u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u6c61\u70b9\u548c\u6c61\u70b9\u5bb9\u5fcd\u7684\u65b9\u5f0f\u5b9e\u73b0\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u5bf9\u4e00\u4e2a\u6216\u591a\u4e2a\u8282\u70b9 CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u7684\u72ec\u4eab\u3002\u4e3a\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u72ec\u4eab\u8282\u70b9\u540e\uff0c\u5176\u5b83\u975e\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5e94\u7528\u548c\u670d\u52a1\u5747\u4e0d\u80fd\u8fd0\u884c\u5728\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\u3002\u4f7f\u7528\u72ec\u4eab\u8282\u70b9\u53ef\u4ee5\u8ba9\u91cd\u8981\u5e94\u7528\u72ec\u4eab\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u548c\u5176\u4ed6\u5e94\u7528\u5b9e\u73b0\u7269\u7406\u9694\u79bb\u3002

                            Note

                            \u5728\u8282\u70b9\u88ab\u8bbe\u7f6e\u4e3a\u72ec\u4eab\u8282\u70b9\u524d\u5df2\u7ecf\u8fd0\u884c\u5728\u6b64\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u548c\u670d\u52a1\u5c06\u4e0d\u4f1a\u53d7\u5f71\u54cd\uff0c\u4f9d\u7136\u4f1a\u6b63\u5e38\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\uff0c\u4ec5\u5f53\u8fd9\u4e9b Pod \u88ab\u5220\u9664\u6216\u91cd\u5efa\u65f6\uff0c\u624d\u4f1a\u8c03\u5ea6\u5230\u5176\u5b83\u975e\u72ec\u4eab\u8282\u70b9\u4e0a\u3002

                            "},{"location":"end-user/kpanda/namespaces/exclusive.html#_2","title":"\u51c6\u5907\u5de5\u4f5c","text":"

                            \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u662f\u5426\u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002

                            \u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u529f\u80fd\u9700\u8981\u7528\u6237\u542f\u7528 kube-apiserver \u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\uff08Admission Controllers\uff09\uff0c\u5173\u4e8e\u51c6\u5165\u63a7\u5236\u5668\u66f4\u591a\u8bf4\u660e\u8bf7\u53c2\u9605 kubernetes Admission Controllers Reference\u3002

                            \u60a8\u53ef\u4ee5\u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u68c0\u67e5 kube-apiserver.yaml \u6587\u4ef6\u5185\u662f\u5426\u542f\u7528\u4e86\u8fd9\u4e24\u4e2a\u7279\u6027\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u5feb\u901f\u68c0\u67e5\uff1a

                            ```bash\n[root@g-master1 ~]# cat /etc/kubernetes/manifests/kube-apiserver.yaml | grep  enable-admission-plugins\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction\n```\n
                            "},{"location":"end-user/kpanda/namespaces/exclusive.html#_3","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                            \u7531\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u8fd0\u884c\u7740 kpanda\u3001ghippo\u3001insight \u7b49\u5e73\u53f0\u57fa\u7840\u7ec4\u4ef6\uff0c\u5728 Global \u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u5c06\u53ef\u80fd\u5bfc\u81f4\u5f53\u7cfb\u7edf\u7ec4\u4ef6\u91cd\u542f\u540e\uff0c\u7cfb\u7edf\u7ec4\u4ef6\u65e0\u6cd5\u8c03\u5ea6\u5230\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\uff0c\u5f71\u54cd\u7cfb\u7edf\u7684\u6574\u4f53\u9ad8\u53ef\u7528\u80fd\u529b\u3002\u56e0\u6b64\uff0c\u901a\u5e38\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u4e0d\u63a8\u8350\u7528\u6237\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u7279\u6027\u3002

                            \u5982\u679c\u60a8\u786e\u5b9e\u9700\u8981\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                            1. \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                              Note

                              \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u914d\u7f6e\u7cfb\u7edf\u7ec4\u4ef6\u5bb9\u5fcd\u3002

                              \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                              [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                              \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                              # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                            2. \u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3

                              \u5b8c\u6210\u51c6\u5165\u63a7\u5236\u5668\u7684\u5f00\u542f\u540e\uff0c\u60a8\u9700\u8981\u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff0c\u4ee5\u4fdd\u8bc1\u5e73\u53f0\u7ec4\u4ef6\u7684\u9ad8\u53ef\u7528\u3002

                              \u76ee\u524d\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u7cfb\u7edf\u7ec4\u4ef6\u547d\u540d\u7a7a\u95f4\u5982\u4e0b\u8868\uff1a

                              \u547d\u540d\u7a7a\u95f4 \u6240\u5305\u542b\u7684\u7cfb\u7edf\u7ec4\u4ef6 kpanda-system kpanda hwameiStor-system hwameiStor istio-system istio metallb-system metallb cert-manager-system cert-manager contour-system contour kubean-system kubean ghippo-system ghippo kcoral-system kcoral kcollie-system kcollie insight-system insight\u3001insight-agent: ipavo-system ipavo kairship-system kairship karmada-system karmada amamba-system amamba\u3001jenkins skoala-system skoala mspider-system mspider mcamel-system mcamel-rabbitmq\u3001mcamel-elasticsearch\u3001mcamel-mysql\u3001mcamel-redis\u3001mcamel-kafka\u3001mcamel-minio\u3001mcamel-postgresql spidernet-system spidernet kangaroo-system kangaroo gmagpie-system gmagpie dowl-system dowl

                              \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u4e2d\u6240\u6709\u547d\u540d\u7a7a\u95f4\u662f\u5426\u5b58\u5728\u4e0a\u8ff0\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u4e3a\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1a scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]' \u3002

                              kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n
                              \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                            3. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                              \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                              1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                              2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                              3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                                \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                            "},{"location":"end-user/kpanda/namespaces/exclusive.html#_4","title":"\u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                            \u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                            1. \u4e3a\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                              Note

                              \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                              \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                              [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                              \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                              # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                            2. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                              \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                              1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                              2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                              3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                                \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                            3. \u4e3a\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff08\u53ef\u9009\uff09

                              \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1ascheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\u3002

                              kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n

                              \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                            "},{"location":"end-user/kpanda/namespaces/podsecurity.html","title":"\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"

                            \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u4e3a\u6307\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u4e0d\u540c\u7684\u7b49\u7ea7\u548c\u6a21\u5f0f\uff0c\u5b9e\u73b0\u5728\u5b89\u5168\u7684\u5404\u4e2a\u65b9\u9762\u63a7\u5236 Pod \u7684\u884c\u4e3a\uff0c\u53ea\u6709\u6ee1\u8db3\u4e00\u5b9a\u7684\u6761\u4ef6\u7684 Pod \u624d\u4f1a\u88ab\u7cfb\u7edf\u63a5\u53d7\u3002\u5b83\u8bbe\u7f6e\u4e09\u4e2a\u7b49\u7ea7\u548c\u4e09\u79cd\u6a21\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u66f4\u52a0\u5408\u9002\u7684\u65b9\u6848\u6765\u8bbe\u7f6e\u9650\u5236\u7b56\u7565\u3002

                            Note

                            \u4e00\u6761\u5b89\u5168\u6a21\u5f0f\u4ec5\u80fd\u914d\u7f6e\u4e00\u6761\u5b89\u5168\u7b56\u7565\u3002\u540c\u65f6\u8bf7\u8c28\u614e\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e enforce \u7684\u5b89\u5168\u6a21\u5f0f\uff0c\u8fdd\u53cd\u540e\u5c06\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                            \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u3002

                            "},{"location":"end-user/kpanda/namespaces/podsecurity.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u96c6\u7fa4\u7684\u7248\u672c\u9700\u8981\u5728 v1.22 \u4ee5\u4e0a\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"end-user/kpanda/namespaces/podsecurity.html#_3","title":"\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"
                            1. \u9009\u62e9\u9700\u8981\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u8fdb\u5165\u8be6\u60c5\u9875\u3002\u5728 \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565 \u9875\u9762\u70b9\u51fb \u914d\u7f6e\u7b56\u7565 \uff0c\u8fdb\u5165\u914d\u7f6e\u9875\u3002

                            2. \u5728\u914d\u7f6e\u9875\u70b9\u51fb \u6dfb\u52a0\u7b56\u7565 \uff0c\u5219\u4f1a\u51fa\u73b0\u4e00\u6761\u7b56\u7565\uff0c\u5305\u62ec\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u6a21\u5f0f\uff0c\u4ee5\u4e0b\u662f\u5bf9\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u7b56\u7565\u7684\u8be6\u7ec6\u4ecb\u7ecd\u3002

                              \u5b89\u5168\u7ea7\u522b \u63cf\u8ff0 Privileged \u4e0d\u53d7\u9650\u5236\u7684\u7b56\u7565\uff0c\u63d0\u4f9b\u6700\u5927\u53ef\u80fd\u8303\u56f4\u7684\u6743\u9650\u8bb8\u53ef\u3002\u6b64\u7b56\u7565\u5141\u8bb8\u5df2\u77e5\u7684\u7279\u6743\u63d0\u5347\u3002 Baseline \u9650\u5236\u6027\u6700\u5f31\u7684\u7b56\u7565\uff0c\u7981\u6b62\u5df2\u77e5\u7684\u7b56\u7565\u63d0\u5347\u3002\u5141\u8bb8\u4f7f\u7528\u9ed8\u8ba4\u7684\uff08\u89c4\u5b9a\u6700\u5c11\uff09Pod \u914d\u7f6e\u3002 Restricted \u9650\u5236\u6027\u975e\u5e38\u5f3a\u7684\u7b56\u7565\uff0c\u9075\u5faa\u5f53\u524d\u7684\u4fdd\u62a4 Pod \u7684\u6700\u4f73\u5b9e\u8df5\u3002 \u5b89\u5168\u6a21\u5f0f \u63cf\u8ff0 Audit \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5728\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u6dfb\u52a0\u65b0\u7684\u5ba1\u8ba1\u4e8b\u4ef6\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Warn \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u8fd4\u56de\u7528\u6237\u53ef\u89c1\u7684\u544a\u8b66\u4fe1\u606f\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Enforce \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                            3. \u4e0d\u540c\u7684\u5b89\u5168\u7ea7\u522b\u5bf9\u5e94\u4e0d\u540c\u7684\u68c0\u67e5\u9879\uff0c\u82e5\u60a8\u4e0d\u77e5\u9053\u8be5\u5982\u4f55\u4e3a\u60a8\u7684\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\uff0c\u53ef\u4ee5\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u7b56\u7565\u914d\u7f6e\u9879\u8bf4\u660e \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                            4. \u70b9\u51fb\u786e\u5b9a\uff0c\u82e5\u521b\u5efa\u6210\u529f\uff0c\u5219\u9875\u9762\u4e0a\u5c06\u51fa\u73b0\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                            5. \u70b9\u51fb \u2507 \u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u8005\u5220\u9664\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                            "},{"location":"end-user/kpanda/network/create-ingress.html","title":"\u521b\u5efa\u8def\u7531\uff08Ingress\uff09","text":"

                            \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0cIngress \u516c\u5f00\u4ece\u96c6\u7fa4\u5916\u90e8\u5230\u96c6\u7fa4\u5185\u670d\u52a1\u7684 HTTP \u548c HTTPS \u8def\u7531\u3002 \u6d41\u91cf\u8def\u7531\u7531 Ingress \u8d44\u6e90\u4e0a\u5b9a\u4e49\u7684\u89c4\u5219\u63a7\u5236\u3002\u4e0b\u9762\u662f\u4e00\u4e2a\u5c06\u6240\u6709\u6d41\u91cf\u90fd\u53d1\u9001\u5230\u540c\u4e00 Service \u7684\u7b80\u5355 Ingress \u793a\u4f8b\uff1a

                            Ingress \u662f\u5bf9\u96c6\u7fa4\u4e2d\u670d\u52a1\u7684\u5916\u90e8\u8bbf\u95ee\u8fdb\u884c\u7ba1\u7406\u7684 API \u5bf9\u8c61\uff0c\u5178\u578b\u7684\u8bbf\u95ee\u65b9\u5f0f\u662f HTTP\u3002Ingress \u53ef\u4ee5\u63d0\u4f9b\u8d1f\u8f7d\u5747\u8861\u3001SSL \u7ec8\u7ed3\u548c\u57fa\u4e8e\u540d\u79f0\u7684\u865a\u62df\u6258\u7ba1\u3002

                            "},{"location":"end-user/kpanda/network/create-ingress.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002
                            • \u5df2\u7ecf\u5b8c\u6210 Ingress \u5b9e\u4f8b\u7684\u521b\u5efa\uff0c\u5df2\u90e8\u7f72\u5e94\u7528\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u4e14\u5df2\u521b\u5efa\u5bf9\u5e94 Service
                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002
                            "},{"location":"end-user/kpanda/network/create-ingress.html#_2","title":"\u521b\u5efa\u8def\u7531","text":"
                            1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u8def\u7531 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u8def\u7531 \u6309\u94ae\u3002

                              Note

                              \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u8def\u7531\u3002

                            3. \u6253\u5f00 \u521b\u5efa\u8def\u7531 \u9875\u9762\uff0c\u8fdb\u884c\u914d\u7f6e\u3002\u53ef\u9009\u62e9\u4e24\u79cd\u534f\u8bae\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u4e24\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                            "},{"location":"end-user/kpanda/network/create-ingress.html#http","title":"\u521b\u5efa HTTP \u534f\u8bae\u8def\u7531","text":"

                            \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                            • \u8def\u7531\u540d\u79f0 \uff1a\u5fc5\u586b\uff0c\u8f93\u5165\u65b0\u5efa\u8def\u7531\u7684\u540d\u79f0\u3002
                            • \u547d\u540d\u7a7a\u95f4 \uff1a\u5fc5\u586b\uff0c\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002
                            • \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \uff1a
                              • \u57df\u540d \uff1a\u5fc5\u586b\uff0c\u4f7f\u7528\u57df\u540d\u5bf9\u5916\u63d0\u4f9b\u8bbf\u95ee\u670d\u52a1\u3002\u9ed8\u8ba4\u4e3a\u96c6\u7fa4\u7684\u57df\u540d\u3002
                              • \u534f\u8bae \uff1a\u5fc5\u586b\uff0c\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002 \u8fd9\u91cc\u9009\u62e9 HTTP \u534f\u8bae\u7684\u8def\u7531\u3002
                              • \u8f6c\u53d1\u7b56\u7565 \uff1a\u9009\u586b\uff0c\u6307\u5b9a Ingress \u7684\u8bbf\u95ee\u7b56\u7565
                              • \u8def\u5f84 \uff1a\u6307\u5b9a\u670d\u52a1\u8bbf\u95ee\u7684URL\u8def\u5f84\uff0c\u9ed8\u8ba4\u4e3a\u6839\u8def\u5f84
                              • \u76ee\u6807\u670d\u52a1 \uff1a\u8fdb\u884c\u8def\u7531\u7684\u670d\u52a1\u540d\u79f0
                              • \u76ee\u6807\u670d\u52a1\u7aef\u53e3 \uff1a\u670d\u52a1\u5bf9\u5916\u66b4\u9732\u7684\u7aef\u53e3
                            • \u8d1f\u8f7d\u5747\u8861\u5668\u7c7b\u578b \uff1a\u5fc5\u586b\uff0cIngress \u5b9e\u4f8b\u7684\u4f7f\u7528\u8303\u56f4
                              • \u5e73\u53f0\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\uff0c\u5171\u4eab\u540c\u4e00\u4e2a Ingress \u5b9e\u4f8b\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                              • \u79df\u6237\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u79df\u6237\u8d1f\u8f7d\u5747\u8861\u5668\uff0cIngress \u5b9e\u4f8b\u72ec\u5c5e\u4e8e\u5f53\u524d\u547d\u540d\u7a7a\uff0c\u6216\u8005\u72ec\u5c5e\u4e8e\u67d0\u4e00\u5de5\u4f5c\u7a7a\u95f4\uff0c \u5e76\u4e14\u8bbe\u7f6e\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5305\u542b\u5f53\u524d\u547d\u540d\u7a7a\u95f4\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                            • Ingress Class \uff1a\u9009\u586b\uff0c\u9009\u62e9\u5bf9\u5e94\u7684 Ingress \u5b9e\u4f8b\uff0c\u9009\u62e9\u540e\u5c06\u6d41\u91cf\u5bfc\u5165\u5230\u6307\u5b9a\u7684 Ingress \u5b9e\u4f8b\u3002
                              • \u4e3a None \u65f6\u4f7f\u7528\u9ed8\u8ba4\u7684 DefaultClass\uff0c\u8bf7\u5728\u521b\u5efa Ingress \u5b9e\u4f8b\u65f6\u8bbe\u7f6e DefaultClass\uff0c \u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003 Ingress Class
                              • \u82e5\u9009\u62e9\u5176\u4ed6\u5b9e\u4f8b\uff08\u5982 ngnix \uff09\uff0c\u5219\u4f1a\u51fa\u73b0\u9ad8\u7ea7\u914d\u7f6e\uff0c\u53ef\u8bbe\u7f6e \u4f1a\u8bdd\u4fdd\u6301 \u3001 \u8def\u5f84\u91cd\u5199 \u3001 \u91cd\u5b9a\u5411 \u548c \u6d41\u91cf\u5206\u53d1 \u3002
                            • \u4f1a\u8bdd\u4fdd\u6301 \uff1a\u9009\u586b\uff0c\u4f1a\u8bdd\u4fdd\u6301\u5206\u4e3a \u4e09\u79cd\u7c7b\u578b\uff1a L4 \u6e90\u5730\u5740\u54c8\u5e0c \u3001 Cookie Key \u3001 L7 Header Name \uff0c\u5f00\u542f\u540e\u6839\u636e\u5bf9\u5e94\u89c4\u5219\u8fdb\u884c\u4f1a\u8bdd\u4fdd\u6301\u3002
                              • L4 \u6e90\u5730\u5740\u54c8\u5e0c \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$binary_remote_addr\"
                              • Cookie Key \uff1a\u5f00\u542f\u540e\u6765\u81ea\u7279\u5b9a\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\u5c06\u4f20\u9012\u81f3\u76f8\u540c Pod\uff0c\u5f00\u542f\u540e \u9ed8\u8ba4\u5728 Annotation \u4e2d\u589e\u52a0\u5982\u4e0b\u53c2\u6570\uff1a nginx.ingress.kubernetes.io/affinity: \"cookie\"\u3002nginx.ingress.kubernetes.io/affinity-mode: persistent
                              • L7 Header Name \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$http_x_forwarded_for\"
                            • \u8def\u5f84\u91cd\u5199 \uff1a\u9009\u586b\uff0c rewrite-target \uff0c\u67d0\u4e9b\u573a\u666f\u4e2d\u540e\u7aef\u670d\u52a1\u66b4\u9732\u7684URL\u4e0eIngress\u89c4\u5219\u4e2d\u6307\u5b9a\u7684\u8def\u5f84\u4e0d\u540c\uff0c\u5982\u679c\u4e0d\u8fdb\u884cURL\u91cd\u5199\u914d\u7f6e\uff0c\u8bbf\u95ee\u4f1a\u51fa\u73b0\u9519\u8bef\u3002
                            • \u91cd\u5b9a\u5411 \uff1a\u9009\u586b\uff0c permanent-redirect \uff0c\u6c38\u4e45\u91cd\u5b9a\u5411\uff0c\u8f93\u5165\u91cd\u5199\u8def\u5f84\u540e\uff0c\u8bbf\u95ee\u8def\u5f84\u91cd\u5b9a\u5411\u81f3\u8bbe\u7f6e\u7684\u5730\u5740\u3002
                            • \u6d41\u91cf\u5206\u53d1 \uff1a\u9009\u586b\uff0c\u5f00\u542f\u540e\u5e76\u8bbe\u7f6e\u540e\uff0c\u6839\u636e\u8bbe\u5b9a\u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1\u3002
                              • \u57fa\u4e8e\u6743\u91cd \uff1a\u8bbe\u5b9a\u6743\u91cd\u540e\uff0c\u5728\u521b\u5efa\u7684 Ingress \u6dfb\u52a0\u5982\u4e0b Annotation\uff1a nginx.ingress.kubernetes.io/canary-weight: \"10\"
                              • \u57fa\u4e8e Cookie \uff1a\u8bbe\u5b9a Cookie \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Cookie \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                              • \u57fa\u4e8e Header \uff1a \u8bbe\u5b9a Header \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Header \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                            • \u6807\u7b7e \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6807\u7b7e
                            • \u6ce8\u89e3 \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6ce8\u89e3
                            "},{"location":"end-user/kpanda/network/create-ingress.html#https","title":"\u521b\u5efa HTTPS \u534f\u8bae\u8def\u7531","text":"

                            \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                            Note

                            \u6ce8\u610f\uff1a\u4e0e HTTP \u534f\u8bae \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \u4e0d\u540c\uff0c\u589e\u52a0\u5bc6\u94a5\u9009\u62e9\u8bc1\u4e66\uff0c\u5176\u4ed6\u57fa\u672c\u4e00\u81f4\u3002

                            • \u534f\u8bae \uff1a\u5fc5\u586b\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002\u8fd9\u91cc\u9009\u62e9 HTTPS \u534f\u8bae\u7684\u8def\u7531\u3002
                            • \u5bc6\u94a5 \uff1a\u5fc5\u586b\uff0cHttps TLS \u8bc1\u4e66\uff0c\u521b\u5efa\u79d8\u94a5\u3002
                            "},{"location":"end-user/kpanda/network/create-ingress.html#_3","title":"\u5b8c\u6210\u8def\u7531\u521b\u5efa","text":"

                            \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u8def\u7531\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u8def\u7531\u3002

                            "},{"location":"end-user/kpanda/network/create-services.html","title":"\u521b\u5efa\u670d\u52a1\uff08Service\uff09","text":"

                            \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u6bcf\u4e2a Pod \u90fd\u6709\u4e00\u4e2a\u5185\u90e8\u72ec\u7acb\u7684 IP \u5730\u5740\uff0c\u4f46\u662f\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u7684 Pod \u53ef\u80fd\u4f1a\u88ab\u968f\u65f6\u521b\u5efa\u548c\u5220\u9664\uff0c\u76f4\u63a5\u4f7f\u7528 Pod IP \u5730\u5740\u5e76\u4e0d\u80fd\u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u3002

                            \u8fd9\u5c31\u9700\u8981\u521b\u5efa\u670d\u52a1\uff0c\u901a\u8fc7\u670d\u52a1\u60a8\u4f1a\u83b7\u5f97\u4e00\u4e2a\u56fa\u5b9a\u7684 IP \u5730\u5740\uff0c\u4ece\u800c\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u524d\u7aef\u548c\u540e\u7aef\u7684\u89e3\u8026\uff0c\u8ba9\u5916\u90e8\u7528\u6237\u80fd\u591f\u8bbf\u95ee\u670d\u52a1\u3002\u540c\u65f6\uff0c\u670d\u52a1\u8fd8\u63d0\u4f9b\u4e86\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u529f\u80fd\uff0c\u4f7f\u7528\u6237\u80fd\u4ece\u516c\u7f51\u8bbf\u95ee\u5230\u5de5\u4f5c\u8d1f\u8f7d\u3002

                            "},{"location":"end-user/kpanda/network/create-services.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"end-user/kpanda/network/create-services.html#_2","title":"\u521b\u5efa\u670d\u52a1","text":"
                            1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u670d\u52a1 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                              Tip

                              \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u670d\u52a1\u3002

                            3. \u6253\u5f00 \u521b\u5efa\u670d\u52a1 \u9875\u9762\uff0c\u9009\u62e9\u4e00\u79cd\u8bbf\u95ee\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u51e0\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                            "},{"location":"end-user/kpanda/network/create-services.html#clusterip","title":"\u521b\u5efa ClusterIP \u670d\u52a1","text":"

                            \u70b9\u9009 \u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u96c6\u7fa4\u7684\u5185\u90e8 IP \u66b4\u9732\u670d\u52a1\uff0c\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u53ea\u80fd\u5728\u96c6\u7fa4\u5185\u90e8\u8bbf\u95ee\u3002\u8fd9\u662f\u9ed8\u8ba4\u7684\u670d\u52a1\u7c7b\u578b\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09\u3002 ClusterIP \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 app:job01 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\uff0c\u7528\u6765\u5bf9\u96c6\u7fa4\u5185\u66b4\u9732\u670d\u52a1\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"end-user/kpanda/network/create-services.html#nodeport","title":"\u521b\u5efa NodePort \u670d\u52a1","text":"

                            \u70b9\u9009 \u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u6bcf\u4e2a\u8282\u70b9\u4e0a\u7684 IP \u548c\u9759\u6001\u7aef\u53e3\uff08 NodePort \uff09\u66b4\u9732\u670d\u52a1\u3002 NodePort \u670d\u52a1\u4f1a\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 ClusterIP \u670d\u52a1\u3002\u901a\u8fc7\u8bf7\u6c42 <\u8282\u70b9 IP>:<\u8282\u70b9\u7aef\u53e3> \uff0c\u60a8\u53ef\u4ee5\u4ece\u96c6\u7fa4\u7684\u5916\u90e8\u8bbf\u95ee\u4e00\u4e2a NodePort \u670d\u52a1\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09\u3002 NodePort \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod\u5f00\u542f\u540e Service \u7684 .spec.sessionAffinity \u4e3a ClientIP \uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1aService \u7684\u4f1a\u8bdd\u4eb2\u548c\u6027 \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u8d85\u65f6\u65f6\u957f\u4e3a 30 \u79d2.spec.sessionAffinityConfig.clientIP.timeoutSeconds \u9ed8\u8ba4\u8bbe\u7f6e\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"end-user/kpanda/network/create-services.html#loadbalancer","title":"\u521b\u5efa LoadBalancer \u670d\u52a1","text":"

                            \u70b9\u9009 \u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09 \uff0c\u8fd9\u662f\u6307\u4f7f\u7528\u4e91\u63d0\u4f9b\u5546\u7684\u8d1f\u8f7d\u5747\u8861\u5668\u5411\u5916\u90e8\u66b4\u9732\u670d\u52a1\u3002 \u5916\u90e8\u8d1f\u8f7d\u5747\u8861\u5668\u53ef\u4ee5\u5c06\u6d41\u91cf\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 NodePort \u670d\u52a1\u548c ClusterIP \u670d\u52a1\u4e0a\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u3002 LoadBalancer \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u5916\u90e8\u6d41\u91cf\u7b56\u7565 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bbe\u7f6e\u5916\u90e8\u6d41\u91cf\u7b56\u7565\u3002Cluster\uff1a\u6d41\u91cf\u53ef\u4ee5\u8f6c\u53d1\u5230\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u4e0a\u7684 Pod\u3002Local\uff1a\u6d41\u91cf\u53ea\u53d1\u7ed9\u672c\u8282\u70b9\u4e0a\u7684 Pod\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4f7f\u7528\u7684\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301 MetalLB \u548c\u5176\u4ed6\u3002 MetalLB IP \u6c60 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u7684 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u4e3a MetalLB \u65f6\uff0cLoadBalancer Service\u9ed8\u8ba4\u4f1a\u4ece\u8fd9\u4e2a\u6c60\u4e2d\u5206\u914d IP \u5730\u5740, \u5e76\u4e14\u901a\u8fc7 APR \u5ba3\u544a\u8fd9\u4e2a\u6c60\u4e2d\u7684\u6240\u6709 IP \u5730\u5740 \u8d1f\u8f7d\u5747\u8861\u5730\u5740 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u30111.\u5982\u4f7f\u7528\u7684\u662f\u516c\u6709\u4e91 CloudProvider\uff0c\u6b64\u5904\u586b\u5199\u7684\u4e3a\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u8d1f\u8f7d\u5747\u8861\u5730\u5740\uff1b2.\u5982\u679c\u4e0a\u8ff0\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u9009\u62e9\u4e3a MetalLB \uff0c\u9ed8\u8ba4\u4ece\u4e0a\u8ff0 IP \u6c60\u4e2d\u83b7\u53d6 IP \uff0c\u5982\u679c\u4e0d\u586b\u5219\u81ea\u52a8\u83b7\u53d6\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"end-user/kpanda/network/create-services.html#externalname","title":"\u521b\u5efa ExternalName \u670d\u52a1","text":"

                            \u70b9\u9009 \u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u5c06\u670d\u52a1\u6620\u5c04\u5230\u5916\u90e8\u57df\u540d\u6765\u66b4\u9732\u670d\u52a1\u3002\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u4e0d\u4f1a\u521b\u5efa\u5178\u578b\u7684 ClusterIP \u6216 NodePort\uff0c\u800c\u662f\u901a\u8fc7 DNS \u540d\u79f0\u89e3\u6790\u5c06\u8bf7\u6c42\u91cd\u5b9a\u5411\u5230\u5916\u90e8\u7684\u670d\u52a1\u5730\u5740\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09\u3002 ExternalName \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u57df\u540d \u3010\u7c7b\u578b\u3011\u5fc5\u586b"},{"location":"end-user/kpanda/network/create-services.html#_3","title":"\u5b8c\u6210\u670d\u52a1\u521b\u5efa","text":"

                            \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u670d\u52a1\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u670d\u52a1\u3002

                            "},{"location":"end-user/kpanda/network/network-policy.html","title":"\u7f51\u7edc\u7b56\u7565","text":"

                            \u7f51\u7edc\u7b56\u7565\uff08NetworkPolicy\uff09\u53ef\u4ee5\u5728 IP \u5730\u5740\u6216\u7aef\u53e3\u5c42\u9762\uff08OSI \u7b2c 3 \u5c42\u6216\u7b2c 4 \u5c42\uff09\u63a7\u5236\u7f51\u7edc\u6d41\u91cf\u3002\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u76ee\u524d\u652f\u6301\u521b\u5efa\u57fa\u4e8e Pod \u6216\u547d\u540d\u7a7a\u95f4\u7684\u7f51\u7edc\u7b56\u7565\uff0c\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u6765\u8bbe\u5b9a\u54ea\u4e9b\u6d41\u91cf\u53ef\u4ee5\u8fdb\u5165\u6216\u79bb\u5f00\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684 Pod\u3002

                            \u6709\u5173\u7f51\u7edc\u7b56\u7565\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u7f51\u7edc\u7b56\u7565\u3002

                            "},{"location":"end-user/kpanda/network/network-policy.html#_2","title":"\u521b\u5efa\u7f51\u7edc\u7b56\u7565","text":"

                            \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u7f51\u7edc\u7b56\u7565\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                            \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u7f51\u7edc\u7b56\u7565\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                            \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                            "},{"location":"end-user/kpanda/network/network-policy.html#yaml","title":"YAML \u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> YAML \u521b\u5efa \u3002

                            2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"end-user/kpanda/network/network-policy.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> \u521b\u5efa\u7b56\u7565 \u3002

                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                              \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002

                            3. \u586b\u5199\u7b56\u7565\u914d\u7f6e\u3002

                              \u7b56\u7565\u914d\u7f6e\u5206\u4e3a\u5165\u6d41\u91cf\u7b56\u7565\u548c\u51fa\u6d41\u91cf\u7b56\u7565\u3002\u5982\u679c\u6e90 Pod \u60f3\u8981\u6210\u529f\u8fde\u63a5\u5230\u76ee\u6807 Pod\uff0c\u6e90 Pod \u7684\u51fa\u6d41\u91cf\u7b56\u7565\u548c\u76ee\u6807 Pod \u7684\u5165\u6d41\u91cf\u7b56\u7565\u90fd\u9700\u8981\u5141\u8bb8\u8fde\u63a5\u3002\u5982\u679c\u4efb\u4f55\u4e00\u65b9\u4e0d\u5141\u8bb8\u8fde\u63a5\uff0c\u90fd\u4f1a\u5bfc\u81f4\u8fde\u63a5\u5931\u8d25\u3002

                              • \u5165\u6d41\u91cf\u7b56\u7565\uff1a\u70b9\u51fb \u2795 \u5f00\u59cb\u914d\u7f6e\u7b56\u7565\uff0c\u652f\u6301\u914d\u7f6e\u591a\u6761\u7b56\u7565\u3002\u591a\u6761\u7f51\u7edc\u7b56\u7565\u7684\u6548\u679c\u76f8\u4e92\u53e0\u52a0\uff0c\u53ea\u6709\u540c\u65f6\u6ee1\u8db3\u6240\u6709\u7f51\u7edc\u7b56\u7565\uff0c\u624d\u80fd\u6210\u529f\u5efa\u7acb\u8fde\u63a5\u3002

                              • \u51fa\u6d41\u91cf\u7b56\u7565

                            "},{"location":"end-user/kpanda/network/network-policy.html#_4","title":"\u67e5\u770b\u7f51\u7edc\u7b56\u7565","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 \uff0c\u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\u3002

                            2. \u67e5\u770b\u8be5\u7b56\u7565\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5173\u8054\u5b9e\u4f8b\u4fe1\u606f\u3001\u5165\u6d41\u91cf\u7b56\u7565\u3001\u51fa\u6d41\u91cf\u7b56\u7565\u3002

                            Info

                            \u5728\u5173\u8054\u5b9e\u4f8b\u9875\u7b7e\u4e0b\uff0c\u652f\u6301\u67e5\u770b\u5b9e\u4f8b\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5bb9\u5668\u5217\u8868\u3001YAML \u6587\u4ef6\u3001\u4e8b\u4ef6\u7b49\u3002

                            "},{"location":"end-user/kpanda/network/network-policy.html#_5","title":"\u66f4\u65b0\u7f51\u7edc\u7b56\u7565","text":"

                            \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                            • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            "},{"location":"end-user/kpanda/network/network-policy.html#_6","title":"\u5220\u9664\u7f51\u7edc\u7b56\u7565","text":"

                            \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u5220\u9664\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                            • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                            • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                            "},{"location":"end-user/kpanda/nodes/add-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u6269\u5bb9","text":"

                            \u968f\u7740\u4e1a\u52a1\u5e94\u7528\u4e0d\u65ad\u589e\u957f\uff0c\u96c6\u7fa4\u8d44\u6e90\u65e5\u8d8b\u7d27\u5f20\uff0c\u8fd9\u65f6\u53ef\u4ee5\u57fa\u4e8e kubean \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u6269\u5bb9\u3002\u6269\u5bb9\u540e\uff0c\u5e94\u7528\u53ef\u4ee5\u8fd0\u884c\u5728\u65b0\u589e\u7684\u8282\u70b9\u4e0a\uff0c\u7f13\u89e3\u8d44\u6e90\u538b\u529b\u3002

                            \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002\u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u540c\u79cd\u67b6\u6784\u4e0b\u5de5\u4f5c\u96c6\u7fa4\u7684 \u5de5\u4f5c\u8282\u70b9 \u6269\u5bb9\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                              \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u63a5\u5165\u8282\u70b9 \u3002

                            3. \u8f93\u5165\u4e3b\u673a\u540d\u79f0\u548c\u8282\u70b9 IP \u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                              \u70b9\u51fb \u2795 \u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9 \u53ef\u4ee5\u7ee7\u7eed\u63a5\u5165\u66f4\u591a\u8282\u70b9\u3002

                            Note

                            \u63a5\u5165\u8282\u70b9\u5927\u7ea6\u9700\u8981 20 \u5206\u949f\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5f85\u3002

                            "},{"location":"end-user/kpanda/nodes/add-node.html#_2","title":"\u53c2\u8003\u6587\u6863","text":"
                            • \u5bf9\u5de5\u4f5c\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u6269\u5bb9
                            • \u4e3a\u5de5\u4f5c\u96c6\u7fa4\u6dfb\u52a0\u5f02\u6784\u8282\u70b9
                            • \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u6269\u5bb9
                            • \u66ff\u6362\u5de5\u4f5c\u96c6\u7fa4\u7684\u9996\u4e2a\u63a7\u5236\u8282\u70b9
                            "},{"location":"end-user/kpanda/nodes/delete-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9","text":"

                            \u5f53\u4e1a\u52a1\u9ad8\u5cf0\u671f\u7ed3\u675f\u4e4b\u540e\uff0c\u4e3a\u4e86\u8282\u7701\u8d44\u6e90\u6210\u672c\uff0c\u53ef\u4ee5\u7f29\u5c0f\u96c6\u7fa4\u89c4\u6a21\uff0c\u5378\u8f7d\u5197\u4f59\u7684\u8282\u70b9\uff0c\u5373\u8282\u70b9\u7f29\u5bb9\u3002\u8282\u70b9\u5378\u8f7d\u540e\uff0c\u5e94\u7528\u65e0\u6cd5\u7ee7\u7eed\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\u3002

                            "},{"location":"end-user/kpanda/nodes/delete-node.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5177\u6709 Cluster Admin \u89d2\u8272\u6388\u6743 \u3002
                            • \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002
                            • \u5378\u8f7d\u8282\u70b9\u4e4b\u524d\uff0c\u9700\u8981\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\uff0c\u5e76\u4e14\u5c06\u8be5\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u90fd\u9a71\u9010\u81f3\u5176\u4ed6\u8282\u70b9\u3002
                            • \u9a71\u9010\u65b9\u5f0f\uff1a\u767b\u5f55\u63a7\u5236\u5668\u8282\u70b9\uff0c\u901a\u8fc7 kubectl drain \u547d\u4ee4\u9a71\u9010\u8282\u70b9\u4e0a\u6240\u6709 Pod\u3002\u5b89\u5168\u9a71\u9010\u7684\u65b9\u5f0f\u53ef\u4ee5\u5141\u8bb8\u5bb9\u5668\u7ec4\u91cc\u9762\u7684\u5bb9\u5668\u4f18\u96c5\u5730\u4e2d\u6b62\u3002
                            "},{"location":"end-user/kpanda/nodes/delete-node.html#_3","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                            1. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\uff0c\u53ea\u80fd\u9010\u4e2a\u8fdb\u884c\u5378\u8f7d\uff0c\u65e0\u6cd5\u6279\u91cf\u5378\u8f7d\u3002

                            2. \u5982\u9700\u5378\u8f7d\u96c6\u7fa4\u63a7\u5236\u5668\u8282\u70b9\uff0c\u9700\u8981\u786e\u4fdd\u6700\u7ec8\u63a7\u5236\u5668\u8282\u70b9\u6570\u4e3a \u5947\u6570\u3002

                            3. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\u4e0d\u53ef\u4e0b\u7ebf \u7b2c\u4e00\u4e2a\u63a7\u5236\u5668 \u8282\u70b9\u3002\u5982\u679c\u5fc5\u987b\u6267\u884c\u6b64\u64cd\u4f5c\uff0c\u8bf7\u8054\u7cfb\u552e\u540e\u5de5\u7a0b\u5e08\u3002

                            "},{"location":"end-user/kpanda/nodes/delete-node.html#_4","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                              \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u5378\u8f7d\u7684\u8282\u70b9\uff0c\u70b9\u51fb \u2507 \u9009\u62e9 \u79fb\u9664\u8282\u70b9 \u3002

                            3. \u8f93\u5165\u8282\u70b9\u540d\u79f0\uff0c\u5e76\u70b9\u51fb \u5220\u9664 \u8fdb\u884c\u786e\u8ba4\u3002

                            "},{"location":"end-user/kpanda/nodes/labels-annotations.html","title":"\u6807\u7b7e\u4e0e\u6ce8\u89e3","text":"

                            \u6807\u7b7e\uff08Labels\uff09\u662f\u4e3a Pod\u3001\u8282\u70b9\u3001\u96c6\u7fa4\u7b49 Kubernetes \u5bf9\u8c61\u6dfb\u52a0\u7684\u6807\u8bc6\u6027\u952e\u503c\u5bf9\uff0c\u53ef\u7ed3\u5408\u6807\u7b7e\u9009\u62e9\u5668\u67e5\u627e\u5e76\u7b5b\u9009\u6ee1\u8db3\u67d0\u4e9b\u6761\u4ef6\u7684 Kubernetes \u5bf9\u8c61\u3002\u6bcf\u4e2a\u952e\u5bf9\u4e8e\u7ed9\u5b9a\u5bf9\u8c61\u5fc5\u987b\u662f\u552f\u4e00\u7684\u3002

                            \u6ce8\u89e3\uff08Annotations\uff09\u548c\u6807\u7b7e\u4e00\u6837\uff0c\u4e5f\u662f\u952e/\u503c\u5bf9\uff0c\u4f46\u4e0d\u5177\u5907\u6807\u8bc6\u6216\u7b5b\u9009\u529f\u80fd\u3002 \u4f7f\u7528\u6ce8\u89e3\u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u4efb\u610f\u7684\u5143\u6570\u636e\u3002 \u6ce8\u89e3\u7684\u952e\u901a\u5e38\u4f7f\u7528\u7684\u683c\u5f0f\u4e3a \u524d\u7f00\uff08\u53ef\u9009\uff09/\u540d\u79f0\uff08\u5fc5\u586b\uff09 \uff0c\u4f8b\u5982 nfd.node.kubernetes.io/extended-resources \u3002 \u5982\u679c\u7701\u7565\u524d\u7f00\uff0c\u8868\u793a\u8be5\u6ce8\u89e3\u952e\u662f\u7528\u6237\u79c1\u6709\u7684\u3002

                            \u6709\u5173\u6807\u7b7e\u548c\u6ce8\u89e3\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u53c2\u8003 Kubernetes \u7684\u5b98\u65b9\u6587\u6863\u6807\u7b7e\u548c\u9009\u62e9\u7b97\u7b26\u6216\u6ce8\u89e3\u3002

                            \u6dfb\u52a0/\u5220\u9664\u6807\u7b7e\u4e0e\u6ce8\u89e3\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u4fee\u6539\u6807\u7b7e \u6216 \u4fee\u6539\u6ce8\u89e3 \u3002

                            3. \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u6dfb\u52a0\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u70b9\u51fb X \u53ef\u4ee5\u5220\u9664\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"end-user/kpanda/nodes/node-authentication.html","title":"\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9","text":"

                            \u5982\u679c\u60a8\u9009\u62e9\u4f7f\u7528 SSH \u5bc6\u94a5\u4f5c\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u60a8\u9700\u8981\u6309\u7167\u5982\u4e0b\u8bf4\u660e\u914d\u7f6e\u516c\u79c1\u94a5\u3002

                            1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5728 \u5f85\u5efa\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u4e2d\u7684\u4efb\u610f\u8282\u70b9 \u4e0a\u751f\u6210\u516c\u79c1\u94a5\u3002

                              cd /root/.ssh\nssh-keygen -t rsa\n
                            2. \u6267\u884c ls \u547d\u4ee4\u67e5\u770b\u7ba1\u7406\u96c6\u7fa4\u4e0a\u7684\u5bc6\u94a5\u662f\u5426\u521b\u5efa\u6210\u529f\uff0c\u6b63\u786e\u53cd\u9988\u5982\u4e0b\uff1a

                              ls\nid_rsa  id_rsa.pub  known_hosts\n

                              \u5176\u4e2d\u540d\u4e3a id_rsa \u7684\u6587\u4ef6\u662f\u79c1\u94a5\uff0c\u540d\u4e3a id_rsa.pub \u7684\u6587\u4ef6\u662f\u516c\u94a5\u3002

                            3. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u5c06\u516c\u94a5\u6587\u4ef6 id_rsa.pub \u52a0\u8f7d\u5230\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6240\u6709\u8282\u70b9\u4e0a\u3002

                              ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.0.0.0\n

                              \u5c06\u4e0a\u9762\u547d\u4ee4\u4e2d\u7684 root@10.0.0.0 \u7528\u6237\u8d26\u53f7\u548c\u8282\u70b9 IP \u66ff\u6362\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u7528\u6237\u540d\u548c IP\u3002** \u9700\u8981\u5728\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6bcf\u53f0\u8282\u70b9\u90fd\u6267\u884c\u76f8\u540c\u7684\u64cd\u4f5c **\u3002

                            4. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u6b65\u9aa4 1 \u6240\u521b\u5efa\u7684\u79c1\u94a5\u6587\u4ef6 id_rsa \u3002

                              cat /root/.ssh/id_rsa\n

                              \u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\uff1a

                              -----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3UvyKINzY5BFuemQ+uJ6q+GqgfvnWwNC8HzZhpcMSjJy26MM\nUtBEBJxy8fMi57XcjYxPibXW/wnd+32ICCycqCwByUmuXeCC1cjlCQDqjcAvXae7\nY54IXGF7wm2IsMNwf0kjFEXjuS48FLDA0mGRaN3BG+Up5geXcHckg3K5LD8kXFFx\ndEmSIjdyw55NaUitmEdHzN7cIdfi6Z56jcV8dcFBgWKUx+ebiyPmZBkXToz6GnMF\nrswzzZCl+G6Jb2xTGy7g7ozb4BoZd1IpSD5EhDanRrESVE0C5YuJ5zUAC0CvVd1l\nv67AK8Ko6MXToHp01/bcsvlM6cqgwUFXZKVeOwIDAQABAoIBAQCO36GQlo3BEjxy\nM2HvGJmqrx+unDxafliRe4nVY2AD515Qf4xNSzke4QM1QoyenMOwf446krQkJPK0\nk+9nl6Xszby5gGCbK4BNFk8I6RaGPjZWeRx6zGUJf8avWJiPxx6yjz2esSC9RiR0\nF0nmiiefVMyAfgv2/5++dK2WUFNNRKLgSRRpP5bRaD5wMzzxtSSXrUon6217HO8p\n3RoWsI51MbVzhdVgpHUNABcoa0rpr9svT6XLKZxY8mxpKFYjM0Wv2JIDABg3kBvh\nQbJ7kStCO3naZjKMU9UuSqVJs06cflGYw7Or8/tABR3LErNQKPjkhAQqt0DXw7Iw\n3tKdTAJBAoGBAP687U7JAOqQkcphek2E/A/sbO/d37ix7Z3vNOy065STrA+ZWMZn\npZ6Ui1B/oJpoZssnfvIoz9sn559X0j67TljFALFd2ZGS0Fqh9KVCqDvfk+Vst1dq\n+3r/yZdTOyswoccxkJiC/GDwZGK0amJWqvob39JCZhDAKIGLbGMmjdAHAoGBAN5k\nm1WGnni1nZ+3dryIwgB6z1hWcnLTamzSET6KhSuo946ET0IRG9xtlheCx6dqICbr\nVk1Y4NtRZjK/p/YGx59rDWf7E3I8ZMgR7mjieOcUZ4lUlA4l7ZIlW/2WZHW+nUXO\nTi20fqJ8qSp4BUvOvuth1pz2GLUHe2/Fxjf7HIstAoGBAPHpPr9r+TfIlPsJeRj2\n6lzA3G8qWFRQfGRYjv0fjv0pA+RIb1rzgP/I90g5+63G6Z+R4WdcxI/OJJNY1iuG\nuw9n/pFxm7U4JC990BPE6nj5iLz+clpNGYckNDBF9VG9vFSrSDLdaYkxoVNvG/xJ\na9Na90H4lm7f3VewrPy310KvAoGAZr+mwNoEh5Kpc6xo8Gxi7aPP/mlaUVD6X7Ki\ngvmu02AqmC7rC4QqEiqTaONkaSXwGusqIWxJ3yp5hELmUBYLzszAEeV/s4zRp1oZ\ng133LBRSTbHFAdBmNdqK6Nu+KGRb92980UMOKvZbliKDl+W6cbfvVu+gtKrzTc3b\naevb4TUCgYEAnJAxyVYDP1nJf7bjBSHXQu1E/DMwbtrqw7dylRJ8cAzI7IxfSCez\n7BYWq41PqVd9/zrb3Pbh2phiVzKe783igAIMqummcjo/kZyCwFsYBzK77max1jF5\naPQsLbRS2aDz8kIH6jHPZ/R+15EROmdtLmA7vIJZGerWWQR0dUU+XXA=\n

                              \u5c06\u79c1\u94a5\u5185\u5bb9\u590d\u5236\u540e\u586b\u81f3\u754c\u9762\u5bc6\u94a5\u8f93\u5165\u6846\u3002

                            "},{"location":"end-user/kpanda/nodes/node-check.html","title":"\u521b\u5efa\u96c6\u7fa4\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5","text":"

                            \u5728\u521b\u5efa\u96c6\u7fa4\u6216\u4e3a\u5df2\u6709\u96c6\u7fa4\u6dfb\u52a0\u8282\u70b9\u65f6\uff0c\u8bf7\u53c2\u9605\u4e0b\u8868\uff0c\u68c0\u67e5\u8282\u70b9\u914d\u7f6e\uff0c\u4ee5\u907f\u514d\u56e0\u8282\u70b9\u914d\u7f6e\u9519\u8bef\u5bfc\u81f4\u96c6\u7fa4\u521b\u5efa\u6216\u6269\u5bb9\u5931\u8d25\u3002

                            \u68c0\u67e5\u9879 \u63cf\u8ff0 \u64cd\u4f5c\u7cfb\u7edf \u53c2\u8003\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf SELinux \u5173\u95ed \u9632\u706b\u5899 \u5173\u95ed \u67b6\u6784\u4e00\u81f4\u6027 \u8282\u70b9\u95f4 CPU \u67b6\u6784\u4e00\u81f4\uff08\u5982\u5747\u4e3a ARM \u6216 x86\uff09 \u4e3b\u673a\u65f6\u95f4 \u6240\u6709\u4e3b\u673a\u95f4\u540c\u6b65\u8bef\u5dee\u5c0f\u4e8e 10 \u79d2\u3002 \u7f51\u7edc\u8054\u901a\u6027 \u8282\u70b9\u53ca\u5176 SSH \u7aef\u53e3\u80fd\u591f\u6b63\u5e38\u88ab\u5e73\u53f0\u8bbf\u95ee\u3002 CPU \u53ef\u7528 CPU \u8d44\u6e90\u5927\u4e8e 4 Core \u5185\u5b58 \u53ef\u7528\u5185\u5b58\u8d44\u6e90\u5927\u4e8e 8 GB"},{"location":"end-user/kpanda/nodes/node-check.html#_2","title":"\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf","text":"\u67b6\u6784 \u64cd\u4f5c\u7cfb\u7edf \u5907\u6ce8 ARM Kylin Linux Advanced Server release V10 (Sword) SP2 \u63a8\u8350 ARM UOS Linux ARM openEuler x86 CentOS 7.x \u63a8\u8350 x86 Redhat 7.x \u63a8\u8350 x86 Redhat 8.x \u63a8\u8350 x86 Flatcar Container Linux by Kinvolk x86 Debian Bullseye, Buster, Jessie, Stretch x86 Ubuntu 16.04, 18.04, 20.04, 22.04 x86 Fedora 35, 36 x86 Fedora CoreOS x86 openSUSE Leap 15.x/Tumbleweed x86 Oracle Linux 7, 8, 9 x86 Alma Linux 8, 9 x86 Rocky Linux 8, 9 x86 Amazon Linux 2 x86 Kylin Linux Advanced Server release V10 (Sword) - SP2 \u6d77\u5149 x86 UOS Linux x86 openEuler"},{"location":"end-user/kpanda/nodes/node-details.html","title":"\u8282\u70b9\u8be6\u60c5","text":"

                            \u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u96c6\u7fa4\u4e2d\u5404\u4e2a\u8282\u70b9\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u8282\u70b9\u72b6\u6001\u3001\u6807\u7b7e\u3001\u8d44\u6e90\u7528\u91cf\u3001Pod\u3001\u76d1\u63a7\u4fe1\u606f\u7b49\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u72b6\u6001\u3001\u89d2\u8272\u3001\u6807\u7b7e\u3001CPU/\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001IP \u5730\u5740\u3001\u521b\u5efa\u65f6\u95f4\u3002

                            3. \u70b9\u51fb\u8282\u70b9\u540d\u79f0\uff0c\u53ef\u4ee5\u8fdb\u5165\u8282\u70b9\u8be6\u60c5\u9875\u9762\u67e5\u770b\u66f4\u591a\u4fe1\u606f\uff0c\u5305\u62ec\u6982\u89c8\u4fe1\u606f\u3001\u5bb9\u5668\u7ec4\u4fe1\u606f\u3001\u6807\u7b7e\u6ce8\u89e3\u4fe1\u606f\u3001\u4e8b\u4ef6\u5217\u8868\u3001\u72b6\u6001\u7b49\u3002

                              \u6b64\u5916\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u7684 YAML \u6587\u4ef6\u3001\u76d1\u63a7\u4fe1\u606f\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u7b49\u3002

                            "},{"location":"end-user/kpanda/nodes/schedule.html","title":"\u8282\u70b9\u8c03\u5ea6","text":"

                            \u652f\u6301\u5c06\u8282\u70b9\u6682\u505c\u8c03\u5ea6\u6216\u6062\u590d\u8c03\u5ea6\u3002\u6682\u505c\u8c03\u5ea6\u6307\uff0c\u505c\u6b62\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002\u6062\u590d\u8c03\u5ea6\u6307\uff0c\u53ef\u4ee5\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6682\u505c\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                            3. \u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6062\u590d\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6062\u590d\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                            \u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u53ef\u80fd\u56e0\u7f51\u7edc\u60c5\u51b5\u6709\u6240\u5ef6\u8fdf\uff0c\u70b9\u51fb\u641c\u7d22\u6846\u53f3\u4fa7\u7684\u5237\u65b0\u56fe\u6807\u53ef\u4ee5\u5237\u65b0\u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u3002

                            "},{"location":"end-user/kpanda/nodes/taints.html","title":"\u8282\u70b9\u6c61\u70b9\u7ba1\u7406","text":"

                            \u6c61\u70b9 (Taint) \u80fd\u591f\u4f7f\u8282\u70b9\u6392\u65a5\u67d0\u4e00\u7c7b Pod\uff0c\u907f\u514d Pod \u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002 \u6bcf\u4e2a\u8282\u70b9\u4e0a\u53ef\u4ee5\u5e94\u7528\u4e00\u4e2a\u6216\u591a\u4e2a\u6c61\u70b9\uff0c\u4e0d\u80fd\u5bb9\u5fcd\u8fd9\u4e9b\u6c61\u70b9\u7684 Pod \u5219\u4e0d\u4f1a\u88ab\u8c03\u5ea6\u8be5\u8282\u70b9\u4e0a\u3002

                            "},{"location":"end-user/kpanda/nodes/taints.html#_2","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                            1. \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 NS Editor \u89d2\u8272\u6388\u6743\u6216\u5176\u4ed6\u66f4\u9ad8\u6743\u9650\u3002
                            2. \u4e3a\u8282\u70b9\u6dfb\u52a0\u6c61\u70b9\u4e4b\u540e\uff0c\u53ea\u6709\u80fd\u5bb9\u5fcd\u8be5\u6c61\u70b9\u7684 Pod \u624d\u80fd\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002
                            "},{"location":"end-user/kpanda/nodes/taints.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u6982\u89c8 \u9875\u9762\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u4fee\u6539\u6c61\u70b9\u7684\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u70b9\u51fb \u4fee\u6539\u6c61\u70b9 \u6309\u94ae\u3002

                            3. \u5728\u5f39\u6846\u5185\u8f93\u5165\u6c61\u70b9\u7684\u952e\u503c\u4fe1\u606f\uff0c\u9009\u62e9\u6c61\u70b9\u6548\u679c\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u591a\u4e2a\u6c61\u70b9\uff0c\u70b9\u51fb\u6c61\u70b9\u6548\u679c\u53f3\u4fa7\u7684 X \u53ef\u4ee5\u5220\u9664\u6c61\u70b9\u3002

                              \u76ee\u524d\u652f\u6301\u4e09\u79cd\u6c61\u70b9\u6548\u679c\uff1a

                              • NoSchedule\uff1a\u65b0\u7684 Pod \u4e0d\u4f1a\u88ab\u8c03\u5ea6\u5230\u5e26\u6709\u6b64\u6c61\u70b9\u7684\u8282\u70b9\u4e0a\uff0c\u9664\u975e\u65b0\u7684 Pod \u5177\u6709\u76f8\u5339\u914d\u7684\u5bb9\u5fcd\u5ea6\u3002\u5f53\u524d\u6b63\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u4e0d\u4f1a \u88ab\u9a71\u9010\u3002
                              • NoExecute\uff1a\u8fd9\u4f1a\u5f71\u54cd\u5df2\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod\uff1a
                                • \u5982\u679c Pod \u4e0d\u80fd\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f1a\u9a6c\u4e0a\u88ab\u9a71\u9010\u3002
                                • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f46\u662f\u5728\u5bb9\u5fcd\u5ea6\u5b9a\u4e49\u4e2d\u6ca1\u6709\u6307\u5b9a tolerationSeconds\uff0c\u5219 Pod \u8fd8\u4f1a\u4e00\u76f4\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002
                                • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\u800c\u4e14\u6307\u5b9a\u4e86 tolerationSeconds\uff0c\u5219 Pod \u8fd8\u80fd\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u7ee7\u7eed\u8fd0\u884c\u6307\u5b9a\u7684\u65f6\u957f\u3002\u8fd9\u6bb5\u65f6\u95f4\u8fc7\u53bb\u540e\uff0c\u518d\u4ece\u8282\u70b9\u4e0a\u9a71\u9664\u8fd9\u4e9b Pod\u3002
                              • PreferNoSchedule\uff1a\u8fd9\u662f\u201c\u8f6f\u6027\u201d\u7684 NoSchedule\u3002\u63a7\u5236\u5e73\u9762\u5c06**\u5c1d\u8bd5**\u907f\u514d\u5c06\u4e0d\u5bb9\u5fcd\u6b64\u6c61\u70b9\u7684 Pod \u8c03\u5ea6\u5230\u8282\u70b9\u4e0a\uff0c\u4f46\u4e0d\u80fd\u4fdd\u8bc1\u5b8c\u5168\u907f\u514d\u3002\u6240\u4ee5\u8981\u5c3d\u91cf\u907f\u514d\u4f7f\u7528\u6b64\u6c61\u70b9\u3002

                            \u6709\u5173\u6c61\u70b9\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605 Kubernetes \u5b98\u65b9\u6587\u6863\uff1a\u6c61\u70b9\u548c\u5bb9\u5fcd\u5ea6\u3002

                            "},{"location":"end-user/kpanda/olm/import-miniooperator.html","title":"\u5bfc\u5165\u79bb\u7ebf MinIo Operator","text":"

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u5982\u4f55\u5bfc\u5165 MinIo Operator\u3002

                            "},{"location":"end-user/kpanda/olm/import-miniooperator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5f53\u524d\u96c6\u7fa4\u5df2\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u4e14\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 kolm \u7ec4\u4ef6\uff08helm \u6a21\u677f\u641c\u7d22 kolm\uff09
                            • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 olm \u7ec4\u4ef6\u4e14\u7248\u672c >= 0.2.4 (helm \u6a21\u677f\u641c\u7d22 olm)
                            • \u652f\u6301\u6267\u884c Docker \u547d\u4ee4
                            • \u51c6\u5907\u4e00\u4e2a\u955c\u50cf\u4ed3\u5e93
                            "},{"location":"end-user/kpanda/olm/import-miniooperator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u5728\u6267\u884c\u73af\u5883\u4e2d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u5e76\u5728\u540e\u7eed\u6b65\u9aa4\u4f7f\u7528\uff0c\u6267\u884c\u547d\u4ee4\uff1a

                              export OPM_IMG=10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0 \nexport BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3 \n

                              \u5982\u4f55\u83b7\u53d6\u4e0a\u8ff0\u955c\u50cf\u5730\u5740\uff1a

                              \u524d\u5f80 \u5bb9\u5668\u7ba1\u7406 -> \u9009\u62e9\u5f53\u524d\u96c6\u7fa4 -> helm \u5e94\u7528 -> \u67e5\u770b olm \u7ec4\u4ef6 -> \u63d2\u4ef6\u8bbe\u7f6e \uff0c\u627e\u5230\u540e\u7eed\u6b65\u9aa4\u6240\u9700 opm\uff0cminio\uff0cminio bundle\uff0cminio operator \u7684\u955c\u50cf\u3002

                              \u4ee5\u4e0a\u8bc9\u622a\u56fe\u4e3a\u4f8b\uff0c\u5219\u56db\u4e2a\u955c\u50cf\u5730\u5740\u5982\u4e0b\n\n# opm \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0\n\n# minio \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/minio/minio:RELEASE.2023-03-24T21-41-23Z\n\n# minio bundle \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3\n\n# minio operator \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/minio/operator:v5.0.3\n
                            2. \u6267\u884c opm \u547d\u4ee4\u83b7\u53d6\u79bb\u7ebf bundle \u955c\u50cf\u5305\u542b\u7684 operator\u3002

                              # \u521b\u5efa operator \u5b58\u653e\u76ee\u5f55\n$ mkdir minio-operator && cd minio-operator \n\n# \u83b7\u53d6 operator yaml \n$ docker run --user root  -v $PWD/minio-operator:/minio-operator ${OPM_IMG} alpha bundle unpack --skip-tls-verify -v -d ${BUNDLE_IMG} -o ./minio-operator\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 9 files\n
                            3. \u66ff\u6362\u00a0 minio-operator/manifests/minio-operator.clusterserviceversion.yaml\u00a0 \u6587\u4ef6\u4e2d\u7684\u6240\u6709\u955c\u50cf\u5730\u5740\u4e3a\u79bb\u7ebf\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u955c\u50cf\u3002

                              \u66ff\u6362\u524d\uff1a

                              \u66ff\u6362\u540e\uff1a

                            4. \u751f\u6210\u6784\u5efa bundle \u955c\u50cf\u7684 Dockerfile

                              $ docker run --user root  -v $PWD:/minio-operator -w /minio-operator ${OPM_IMG} alpha bundle generate --channels stable,beta -d /minio-operator/minio-operator/manifests -e stable -p minio-operator \u00a0\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 10 files\n
                            5. \u6267\u884c\u6784\u5efa\u547d\u4ee4\uff0c\u6784\u5efa bundle \u955c\u50cf\u4e14\u63a8\u9001\u5230\u79bb\u7ebf registry\u3002

                              # \u8bbe\u7f6e\u65b0\u7684 bundle image \nexport OFFLINE_BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3-offline \n\n$ docker build . -f bundle.Dockerfile -t ${OFFLINE_BUNDLE_IMG} \u00a0\n\n$ docker push ${OFFLINE_BUNDLE_IMG}\n
                            6. \u751f\u6210\u6784\u5efa catalog \u955c\u50cf\u7684 Dockerfile\u3002

                              $ docker run --user root  -v $PWD:/minio-operator  -w /minio-operator ${OPM_IMG} index add  --bundles ${OFFLINE_BUNDLE_IMG} --generate --binary-image ${OPM_IMG} --skip-tls-verify\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u251c\u2500\u2500 database\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 index.db\n\u251c\u2500\u2500 index.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n4 directories, 12 files\n
                            7. \u6784\u5efa catalog \u955c\u50cf

                              # \u8bbe\u7f6e\u65b0\u7684 catalog image  \nexport OFFLINE_CATALOG_IMG=10.5.14.200/release.daocloud.io/operator-framework/system-operator-index:v0.1.0-offline\n\n$ docker build . -f index.Dockerfile -t ${OFFLINE_CATALOG_IMG}  \n\n$ docker push ${OFFLINE_CATALOG_IMG}\n
                            8. \u524d\u5f80\u5bb9\u5668\u7ba1\u7406\uff0c\u66f4\u65b0 helm \u5e94\u7528 olm \u7684\u5185\u7f6e catsrc \u955c\u50cf\uff08\u586b\u5199\u6784\u5efa catalog \u955c\u50cf\u6307\u5b9a\u7684 ${catalog-image} \u5373\u53ef\uff09

                            9. \u66f4\u65b0\u6210\u529f\u540e\uff0cOperator Hub \u4e2d\u4f1a\u51fa\u73b0 minio-operator \u7ec4\u4ef6

                            "},{"location":"end-user/kpanda/permissions/cluster-ns-auth.html","title":"\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"

                            \u5bb9\u5668\u7ba1\u7406\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u53ca\u5168\u5c40\u7528\u6237/\u7528\u6237\u7ec4\u7ba1\u7406\u5b9e\u73b0\u6388\u6743\uff0c\u5982\u9700\u4e3a\u7528\u6237\u6388\u4e88\u5bb9\u5668\u7ba1\u7406\u7684\u6700\u9ad8\u6743\u9650\uff08\u53ef\u4ee5\u521b\u5efa\u3001\u7ba1\u7406\u3001\u5220\u9664\u6240\u6709\u96c6\u7fa4\uff09\uff0c\u8bf7\u53c2\u89c1\u4ec0\u4e48\u662f\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u3002

                            "},{"location":"end-user/kpanda/permissions/cluster-ns-auth.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u4e4b\u524d\uff0c\u8bf7\u5b8c\u6210\u5982\u4e0b\u51c6\u5907\uff1a

                            • \u5df2\u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u521b\u5efa\u4e86\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\uff0c\u8bf7\u53c2\u8003\u7528\u6237\u3002

                            • \u4ec5 Kpanda Owner \u53ca\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin \u5177\u5907\u96c6\u7fa4\u6388\u6743\u80fd\u529b\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002

                            • \u4ec5 Kpanda Owner\u3001\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin\uff0c\u5f53\u524d\u547d\u540d\u7a7a\u95f4\u7684 NS Admin \u5177\u5907\u547d\u540d\u7a7a\u95f4\u6388\u6743\u80fd\u529b\u3002

                            "},{"location":"end-user/kpanda/permissions/cluster-ns-auth.html#_3","title":"\u96c6\u7fa4\u6388\u6743","text":"
                            1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u9ed8\u8ba4\u4f4d\u4e8e \u96c6\u7fa4\u6743\u9650 \u9875\u7b7e\u3002

                            2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002

                            3. \u5728 \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              \u76ee\u524d\u4ec5\u652f\u6301\u7684\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u8981\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c \u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002

                            4. \u8fd4\u56de\u96c6\u7fa4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                            "},{"location":"end-user/kpanda/permissions/cluster-ns-auth.html#_4","title":"\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"
                            1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u70b9\u51fb \u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u7b7e\u3002

                            2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002\u5728 \u6dfb\u52a0\u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u76ee\u6807\u547d\u540d\u7a7a\u95f4\uff0c\u4ee5\u53ca\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              \u76ee\u524d\u652f\u6301\u7684\u547d\u540d\u7a7a\u95f4\u89d2\u8272\u4e3a NS Admin\u3001NS Editor\u3001NS Viewer\uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c\u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u6743\u9650\u6388\u6743\u3002

                            3. \u8fd4\u56de\u547d\u540d\u7a7a\u95f4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                              Tip

                              \u540e\u7eed\u5982\u9700\u5220\u9664\u6216\u7f16\u8f91\u6743\u9650\uff0c\u53ef\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u7f16\u8f91 \u6216 \u5220\u9664 \u3002

                            "},{"location":"end-user/kpanda/permissions/custom-kpanda-role.html","title":"\u589e\u52a0 Kpanda \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9","text":"

                            \u8fc7\u53bb Kpanda \u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\uff08rbac rules\uff09\u90fd\u662f\u63d0\u524d\u9884\u5b9a\u4e49\u597d\u7684\u4e14\u7528\u6237\u65e0\u6cd5\u4fee\u6539\uff0c\u56e0\u4e3a\u4ee5\u524d\u4fee\u6539\u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\u4e4b\u540e\u4e5f\u4f1a\u88ab Kpanda \u63a7\u5236\u5668\u8fd8\u539f\u6210\u9884\u5b9a\u4e49\u7684\u6743\u9650\u70b9\u3002 \u4e3a\u4e86\u652f\u6301\u66f4\u52a0\u7075\u6d3b\u7684\u6743\u9650\u914d\u7f6e\uff0c\u6ee1\u8db3\u5bf9\u7cfb\u7edf\u89d2\u8272\u7684\u81ea\u5b9a\u4e49\u9700\u6c42\uff0c\u76ee\u524d Kpanda \u652f\u6301\u4e3a\u5185\u7f6e\u7cfb\u7edf\u89d2\u8272\uff08cluster admin\u3001ns admin\u3001ns editor\u3001ns viewer\uff09\u4fee\u6539\u6743\u9650\u70b9\u3002 \u4ee5\u4e0b\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u65b0\u589e ns-viewer \u6743\u9650\u70b9\uff0c\u5c1d\u8bd5\u589e\u52a0\u53ef\u4ee5\u5220\u9664 Deployment \u7684\u6743\u9650\u3002\u5176\u4ed6\u6743\u9650\u70b9\u64cd\u4f5c\u7c7b\u4f3c\u3002

                            "},{"location":"end-user/kpanda/permissions/custom-kpanda-role.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u9002\u7528\u4e8e\u5bb9\u5668\u7ba1\u7406 v0.27.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u3002
                            • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Viewer \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            Note

                            • \u53ea\u9700\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0cKpanda \u63a7\u5236\u5668\u4f1a\u628a Global Cluster \u589e\u52a0\u7684\u6743\u9650\u70b9\u540c\u6b65\u5230\u6240\u6709\u63a5\u5165\u5b50\u96c6\u7fa4\u4e2d\uff0c\u540c\u6b65\u9700\u4e00\u6bb5\u65f6\u95f4\u624d\u80fd\u5b8c\u6210
                            • \u53ea\u80fd\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0c\u5728\u5b50\u96c6\u7fa4\u65b0\u589e\u7684\u6743\u9650\u70b9\u4f1a\u88ab Global Cluster \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9\u8986\u76d6
                            • \u53ea\u652f\u6301\u4f7f\u7528\u56fa\u5b9a Label \u7684 ClusterRole \u8ffd\u52a0\u6743\u9650\uff0c\u4e0d\u652f\u6301\u66ff\u6362\u6216\u8005\u5220\u9664\u6743\u9650\uff0c\u4e5f\u4e0d\u80fd\u4f7f\u7528 role \u8ffd\u52a0\u6743\u9650\uff0c\u5185\u7f6e\u89d2\u8272\u8ddf\u7528\u6237\u521b\u5efa\u7684 ClusterRole Label \u5bf9\u5e94\u5173\u7cfb\u5982\u4e0b

                              cluster-admin: rbac.kpanda.io/role-template-cluster-admin: \"true\"\ncluster-edit: rbac.kpanda.io/role-template-cluster-edit: \"true\"\ncluster-view: rbac.kpanda.io/role-template-cluster-view: \"true\"\nns-admin: rbac.kpanda.io/role-template-ns-admin: \"true\"\nns-edit: rbac.kpanda.io/role-template-ns-edit: \"true\"\nns-view: rbac.kpanda.io/role-template-ns-view: \"true\"\n
                            "},{"location":"end-user/kpanda/permissions/custom-kpanda-role.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u4f7f\u7528 admin \u6216\u8005 cluster admin \u6743\u9650\u7684\u7528\u6237\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d

                            2. \u6388\u6743 ns-viewer\uff0c\u7528\u6237\u6709\u8be5 namespace ns-view \u6743\u9650

                            3. \u5207\u6362\u767b\u5f55\u7528\u6237\u4e3a ns-viewer\uff0c\u6253\u5f00\u63a7\u5236\u53f0\u83b7\u53d6 ns-viewer \u7528\u6237\u5bf9\u5e94\u7684 token\uff0c\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u53d1\u73b0\u65e0\u5220\u9664\u6743\u9650

                              [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n{\"code\":7,\"message\":\"[RBAC] delete resources(deployments: nginx) is forbidden for user(ns-viewer) in cluster(cluster-member)\",\"details\":[]}[root@master-01 ~]#\n[root@master-01 ~]#\n
                            4. \u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u521b\u5efa\u5982\u4e0b ClusterRole\uff1a

                              apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: append-ns-view # (1)!\n  labels:\n    rbac.kpanda.io/role-template-ns-view: \"true\" # (2)!\nrules:\n  - apiGroups: [ \"apps\" ]\n    resources: [ \"deployments\" ]\n    verbs: [ \"delete\" ]\n
                              1. \u6b64\u5b57\u6bb5\u503c\u53ef\u4efb\u610f\u6307\u5b9a\uff0c\u53ea\u9700\u4e0d\u91cd\u590d\u4e14\u7b26\u5408 Kubernetes \u8d44\u6e90\u540d\u79f0\u89c4\u5219\u8981\u6c42
                              2. \u6ce8\u610f\u7ed9\u4e0d\u540c\u7684\u89d2\u8272\u6dfb\u52a0\u6743\u9650\u65f6\u5e94\u6253\u4e0a\u4e0d\u540c\u7684 label
                            5. \u7b49\u5f85 Kpanda \u63a7\u5236\u5668\u6dfb\u52a0\u7528\u6237\u521b\u5efa\u6743\u9650\u5230\u5185\u7f6e\u89d2\u8272 ns-viewer \u4e2d\uff0c\u53ef\u67e5\u770b\u5bf9\u5e94\u5185\u7f6e\u89d2\u8272\u5982\u662f\u5426\u6709\u4e0a\u4e00\u6b65\u65b0\u589e\u7684\u6743\u9650\u70b9

                              [root@master-01 ~]# kubectl get clusterrole role-template-ns-view -oyaml|grep deployments -C 10|tail -n 6\n
                              - apiGroups:\n  - apps\n  resources:\n  - deployments\n  verbs:\n  - delete\n

                            6. \u518d\u6b21\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u8fd9\u6b21\u6210\u529f\u5220\u9664\u4e86\u3002\u4e5f\u5c31\u662f\u8bf4\uff0cns-viewer \u6210\u529f\u65b0\u589e\u4e86\u5220\u9664 Deployment \u7684\u6743\u9650\u3002

                              [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n
                            "},{"location":"end-user/kpanda/permissions/permission-brief.html","title":"\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e","text":"

                            \u5bb9\u5668\u7ba1\u7406\u6743\u9650\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u4ee5\u53ca Kubernetes RBAC \u6743\u9650\u7ba1\u7406\u6253\u9020\u7684\u591a\u7ef4\u5ea6\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u3002 \u652f\u6301\u96c6\u7fa4\u7ea7\u3001\u547d\u540d\u7a7a\u95f4\u7ea7\u7684\u6743\u9650\u63a7\u5236\uff0c\u5e2e\u52a9\u7528\u6237\u4fbf\u6377\u7075\u6d3b\u5730\u5bf9\u79df\u6237\u4e0b\u7684 IAM \u7528\u6237\u3001\u7528\u6237\u7ec4\uff08\u7528\u6237\u7684\u96c6\u5408\uff09\u8bbe\u5b9a\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650\u3002

                            "},{"location":"end-user/kpanda/permissions/permission-brief.html#_2","title":"\u96c6\u7fa4\u6743\u9650","text":"

                            \u96c6\u7fa4\u6743\u9650\u57fa\u4e8e Kubernetes RBAC \u7684 ClusterRolebinding \u6388\u6743\uff0c\u96c6\u7fa4\u6743\u9650\u8bbe\u7f6e\u53ef\u8ba9\u7528\u6237/\u7528\u6237\u7ec4\u5177\u5907\u96c6\u7fa4\u76f8\u5173\u6743\u9650\u3002 \u76ee\u524d\u7684\u9ed8\u8ba4\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff08\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u5220\u9664\u6743\u9650\uff09\u3002

                            "},{"location":"end-user/kpanda/permissions/permission-brief.html#cluster-admin","title":"Cluster Admin","text":"

                            Cluster Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                            • \u53ef\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b\u5bf9\u5e94\u96c6\u7fa4

                            • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\u53ca\u96c6\u7fa4\u5185\u6240\u6709\u8d44\u6e90

                            • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u96c6\u7fa4\u5185\u89d2\u8272 (Cluster Admin\u3001NS Admin\u3001NS Editor\u3001NS Viewer)

                            \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                            apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-cluster-admin\n  resourceVersion: \"15168\"\n  uid: f8f86d42-d5ef-47aa-b284-097615795076\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n
                            "},{"location":"end-user/kpanda/permissions/permission-brief.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u6743\u9650","text":"

                            \u547d\u540d\u7a7a\u95f4\u6743\u9650\u662f\u57fa\u4e8e Kubernetes RBAC \u80fd\u529b\u7684\u6388\u6743\uff0c\u53ef\u4ee5\u5b9e\u73b0\u4e0d\u540c\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5bf9\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u5177\u6709\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650(\u5305\u62ec Kubernetes API \u6743\u9650)\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\uff1aKubernetes RBAC\u3002\u76ee\u524d\u5bb9\u5668\u7ba1\u7406\u7684\u9ed8\u8ba4\u89d2\u8272\u4e3a\uff1aNS Admin\u3001NS Editor\u3001NS Viewer\u3002

                            "},{"location":"end-user/kpanda/permissions/permission-brief.html#ns-admin","title":"NS Admin","text":"

                            NS Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                            • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                            • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                            • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u89d2\u8272 (NS Editor\u3001NS Viewer)

                            \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                            apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-admin\n  resourceVersion: \"15173\"\n  uid: 69f64c7e-70e7-4c7c-a3e0-053f507f2bc3\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'    \n
                            "},{"location":"end-user/kpanda/permissions/permission-brief.html#ns-editor","title":"NS Editor","text":"

                            NS Editor \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                            • \u53ef\u67e5\u770b\u5bf9\u5e94\u6709\u6743\u9650\u7684\u547d\u540d\u7a7a\u95f4
                            • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d
                            \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                            apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-edit\n  resourceVersion: \"15175\"\n  uid: ca9e690e-96c0-4978-8915-6e4c00c748fe\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - '*'\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - '*'\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - '*'\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - '*'\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - '*'      \n
                            "},{"location":"end-user/kpanda/permissions/permission-brief.html#ns-viewer","title":"NS Viewer","text":"

                            NS Viewer \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                            • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                            • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                            \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                            apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-view\n  resourceVersion: \"15183\"\n  uid: 853888fd-6ee8-42ac-b91e-63923918baf8\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - get\n  - list\n  - watch \n
                            "},{"location":"end-user/kpanda/permissions/permission-brief.html#faq","title":"\u6743\u9650 FAQ","text":"
                            1. \u5168\u5c40\u6743\u9650\u548c\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u7ba1\u7406\u7684\u5173\u7cfb\uff1f

                              \u7b54\uff1a\u5168\u5c40\u6743\u9650\u4ec5\u6388\u6743\u4e3a\u7c97\u7c92\u5ea6\u6743\u9650\uff0c\u53ef\u7ba1\u7406\u6240\u6709\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u7f16\u8f91\u3001\u5220\u9664\uff1b\u800c\u5bf9\u4e8e\u7ec6\u7c92\u5ea6\u7684\u6743\u9650\uff0c\u5982\u5355\u4e2a\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\uff0c\u5355\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u5220\u9664\u6743\u9650\uff0c\u9700\u8981\u57fa\u4e8e Kubernetes RBAC \u7684\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8fdb\u884c\u5b9e\u73b0\u3002 \u4e00\u822c\u6743\u9650\u7684\u7528\u6237\u4ec5\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u8fdb\u884c\u6388\u6743\u5373\u53ef\u3002

                            2. \u76ee\u524d\u4ec5\u652f\u6301\u56db\u4e2a\u9ed8\u8ba4\u89d2\u8272\uff0c\u540e\u53f0\u81ea\u5b9a\u4e49\u89d2\u8272\u7684 RoleBinding \u4ee5\u53ca ClusterRoleBinding \uff08Kubernetes \u7ec6\u7c92\u5ea6\u7684 RBAC\uff09\u662f\u5426\u4e5f\u80fd\u751f\u6548\uff1f

                              \u7b54\uff1a\u76ee\u524d\u81ea\u5b9a\u4e49\u6743\u9650\u6682\u65f6\u65e0\u6cd5\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u8fdb\u884c\u7ba1\u7406\uff0c\u4f46\u662f\u901a\u8fc7 kubectl \u521b\u5efa\u7684\u6743\u9650\u89c4\u5219\u540c\u6837\u80fd\u751f\u6548\u3002

                            "},{"location":"end-user/kpanda/scale/create-hpa.html","title":"\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u521b\u5efa HPA","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301 Pod \u8d44\u6e90\u57fa\u4e8e\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\uff08Horizontal Pod Autoscaling, HPA\uff09\u3002 \u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e CPU \u5229\u7528\u7387\u3001\u5185\u5b58\u7528\u91cf\u53ca\u81ea\u5b9a\u4e49\u6307\u6807\u6307\u6807\u6765\u52a8\u6001\u8c03\u6574 Pod \u8d44\u6e90\u7684\u526f\u672c\u6570\u91cf\u3002 \u4f8b\u5982\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u57fa\u4e8e CPU \u5229\u7528\u7387\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u540e\uff0c\u5f53 Pod \u7684 CPU \u5229\u7528\u7387\u8d85\u8fc7/\u4f4e\u4e8e\u60a8\u8bbe\u7f6e\u7684\u6307\u6807\u9600\u503c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u63a7\u5236\u5668\u5c06\u4f1a\u81ea\u52a8\u589e\u52a0/\u8f83\u5c11 Pod \u526f\u672c\u6570\u3002

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u7684\u5f39\u6027\u4f38\u7f29\u3002

                            Note

                            1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                            2. \u5982\u679c\u57fa\u4e8e CPU \u5229\u7528\u7387\u521b\u5efa HPA \u7b56\u7565\uff0c\u5fc5\u987b\u9884\u5148\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u914d\u7f6e\u9650\u5236\uff08Limit\uff09\uff0c\u5426\u5219\u65e0\u6cd5\u8ba1\u7b97 CPU \u5229\u7528\u7387\u3002
                            3. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                            "},{"location":"end-user/kpanda/scale/create-hpa.html#_1","title":"\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565","text":"

                            \u7cfb\u7edf\u5185\u7f6e\u4e86 CPU \u548c\u5185\u5b58\u4e24\u79cd\u5f39\u6027\u4f38\u7f29\u6307\u6807\u4ee5\u6ee1\u8db3\u7528\u6237\u7684\u57fa\u7840\u4e1a\u52a1\u4f7f\u7528\u573a\u666f\u3002

                            "},{"location":"end-user/kpanda/scale/create-hpa.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5df2\u5b8c\u6210 metrics-server \u63d2\u4ef6\u5b89\u88c5 \u3002

                            "},{"location":"end-user/kpanda/scale/create-hpa.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                            3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                            4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u63d2\u4ef6\uff0c\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                            5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                              • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                              • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                              • \u76ee\u6807 CPU \u5229\u7528\u7387\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b Pod \u7684 CPU \u4f7f\u7528\u7387\u3002\u8ba1\u7b97\u65b9\u5f0f\u4e3a\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u7684 Pod \u8d44\u6e90 / \u5de5\u4f5c\u8d1f\u8f7d\u7684\u8bf7\u6c42\uff08request\uff09\u503c\u3002\u5f53\u5b9e\u9645 CPU \u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                              • \u76ee\u6807\u5185\u5b58\u7528\u91cf\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b\u7684 Pod \u7684\u5185\u5b58\u7528\u91cf\u3002\u5f53\u5b9e\u9645\u5185\u5b58\u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                              • \u526f\u672c\u8303\u56f4\uff1aPod \u526f\u672c\u6570\u7684\u5f39\u6027\u4f38\u7f29\u8303\u56f4\u3002\u9ed8\u8ba4\u533a\u95f4\u4e3a\u4e3a 1 - 10\u3002
                            6. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u76f8\u5173\u4e8b\u4ef6\u3002

                            "},{"location":"end-user/kpanda/scale/create-vpa.html","title":"\u521b\u5efa VPA","text":"

                            \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u901a\u8fc7\u76d1\u63a7 Pod \u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u8d44\u6e90\u7533\u8bf7\u548c\u7528\u91cf\uff0c \u8ba1\u7b97\u51fa\u5bf9\u8be5 Pod \u800c\u8a00\u6700\u9002\u5408\u7684 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u3002\u4f7f\u7528 VPA \u53ef\u4ee5\u66f4\u52a0\u5408\u7406\u5730\u4e3a\u96c6\u7fa4\u4e0b\u6bcf\u4e2a Pod \u5206\u914d\u8d44\u6e90\uff0c\u63d0\u9ad8\u96c6\u7fa4\u7684\u6574\u4f53\u8d44\u6e90\u5229\u7528\u7387\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u901a\u8fc7\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\uff0c\u57fa\u4e8e\u6b64\u529f\u80fd\u53ef\u4ee5\u6839\u636e\u5bb9\u5668\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u52a8\u6001\u8c03\u6574 Pod \u8bf7\u6c42\u503c\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u901a\u8fc7\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u65b9\u5f0f\u6765\u4fee\u6539\u8d44\u6e90\u8bf7\u6c42\u503c\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u8981\u8fdb\u884c\u914d\u7f6e\u3002

                            \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e Pod \u5782\u76f4\u4f38\u7f29\u3002

                            Warning

                            \u4f7f\u7528 VPA \u4fee\u6539 Pod \u8d44\u6e90\u8bf7\u6c42\u4f1a\u89e6\u53d1 Pod \u91cd\u542f\u3002\u7531\u4e8e Kubernetes \u672c\u8eab\u7684\u9650\u5236\uff0c Pod \u91cd\u542f\u540e\u53ef\u80fd\u4f1a\u88ab\u8c03\u5ea6\u5230\u5176\u5b83\u8282\u70b9\u4e0a\u3002

                            "},{"location":"end-user/kpanda/scale/create-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3001\u7528\u6237\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 metrics-server \u548c VPA \u63d2\u4ef6\u3002

                            "},{"location":"end-user/kpanda/scale/create-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u4e2d\u627e\u5230\u76ee\u524d\u96c6\u7fa4\uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u627e\u5230\u9700\u8981\u521b\u5efa VPA \u7684\u8d1f\u8f7d\uff0c\u70b9\u51fb\u8be5\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                              3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\uff0c\u786e\u8ba4\u5df2\u7ecf\u5b89\u88c5\u4e86\u76f8\u5173\u63d2\u4ef6\u5e76\u4e14\u63d2\u4ef6\u662f\u5426\u8fd0\u884c\u6b63\u5e38\u3002

                            3. \u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\uff0c\u5e76\u914d\u7f6e VPA \u5782\u76f4\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                              • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 vpa-my-dep\u3002
                              • \u4f38\u7f29\u6a21\u5f0f\uff1a\u6267\u884c\u4fee\u6539 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u7684\u65b9\u5f0f\uff0c\u76ee\u524d\u5782\u76f4\u4f38\u7f29\u652f\u6301\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u4f38\u7f29\u6a21\u5f0f\u3002
                                • \u624b\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u8ba1\u7b97\u51fa\u63a8\u8350\u7684\u8d44\u6e90\u914d\u7f6e\u503c\u540e\uff0c\u9700\u7528\u6237\u624b\u52a8\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                                • \u81ea\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u81ea\u52a8\u8ba1\u7b97\u548c\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                              • \u76ee\u6807\u5bb9\u5668\uff1a\u9009\u62e9\u9700\u8981\u8fdb\u884c\u5782\u76f4\u4f38\u7f29\u7684\u5bb9\u5668\u3002
                            4. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\u3002

                            Note

                            \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c--min-replicas \u7684\u503c\u4e3a 2\u3002\u8868\u793a\u5f53\u526f\u672c\u6570\u5927\u4e8e 1 \u65f6\uff0cVPA \u624d\u4f1a\u751f\u6548\uff0c \u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 updater \u7684 --min-replicas \u53c2\u6570\u503c\u6765\u6539\u53d8\u8fd9\u4e00\u9ed8\u8ba4\u884c\u4e3a\u3002

                            spec: \n  containers: \n  - name: updater \n  args: \n  - \"--min-replicas=2\"\n
                            "},{"location":"end-user/kpanda/scale/custom-hpa.html","title":"\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa HPA","text":"

                            \u5f53\u7cfb\u7edf\u5185\u7f6e\u7684 CPU \u548c\u5185\u5b58\u4e24\u79cd\u6307\u6807\u4e0d\u80fd\u6ee1\u8db3\u60a8\u4e1a\u52a1\u7684\u5b9e\u9645\u9700\u6c42\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e ServiceMonitoring \u6765\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6307\u6807\uff0c \u5e76\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u5b9e\u73b0\u5f39\u6027\u4f38\u7f29\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002

                            Note

                            1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                            2. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                            "},{"location":"end-user/kpanda/scale/custom-hpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c \u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762
                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa
                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743
                            • \u5df2\u5b89\u88c5 metrics-server \u63d2\u4ef6
                            • \u5df2\u5b89\u88c5 insight-agent \u63d2\u4ef6
                            • \u5df2\u5b89\u88c5 Prometheus-adapter \u63d2\u4ef6
                            "},{"location":"end-user/kpanda/scale/custom-hpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                            3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                            4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u3001Insight\u3001Prometheus-adapter \u63d2\u4ef6\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                              Note

                              \u5982\u679c\u76f8\u5173\u63d2\u4ef6\u672a\u5b89\u88c5\u6216\u63d2\u4ef6\u5904\u4e8e\u5f02\u5e38\u72b6\u6001\uff0c\u60a8\u5728\u9875\u9762\u4e0a\u5c06\u65e0\u6cd5\u770b\u89c1\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u5165\u53e3\u3002

                            5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                              • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                              • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                              • \u8d44\u6e90\u7c7b\u578b\uff1a\u8fdb\u884c\u76d1\u63a7\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u7c7b\u578b\uff0c\u5305\u542b Pod \u548c Service \u4e24\u79cd\u7c7b\u578b\u3002
                              • \u6307\u6807\uff1a\u4f7f\u7528 ServiceMonitoring \u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u6216\u7cfb\u7edf\u5185\u7f6e\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u3002
                              • \u6570\u636e\u7c7b\u578b\uff1a\u7528\u4e8e\u8ba1\u7b97\u6307\u6807\u503c\u7684\u65b9\u6cd5\uff0c\u5305\u542b\u76ee\u6807\u503c\u548c\u76ee\u6807\u5e73\u5747\u503c\u4e24\u79cd\u7c7b\u578b\uff0c\u5f53\u8d44\u6e90\u7c7b\u578b\u4e3a Pod \u65f6\uff0c\u53ea\u652f\u6301\u4f7f\u7528\u76ee\u6807\u5e73\u5747\u503c\u3002
                            "},{"location":"end-user/kpanda/scale/custom-hpa.html#_3","title":"\u64cd\u4f5c\u793a\u4f8b","text":"

                            \u672c\u6848\u4f8b\u4ee5 Golang \u4e1a\u52a1\u7a0b\u5e8f\u4e3a\u4f8b\uff0c\u8be5\u793a\u4f8b\u7a0b\u5e8f\u66b4\u9732\u4e86 httpserver_requests_total \u6307\u6807\uff0c\u5e76\u8bb0\u5f55 HTTP \u7684\u8bf7\u6c42\uff0c\u901a\u8fc7\u8be5\u6307\u6807\u53ef\u4ee5\u8ba1\u7b97\u51fa\u4e1a\u52a1\u7a0b\u5e8f\u7684 QPS \u503c\u3002

                            "},{"location":"end-user/kpanda/scale/custom-hpa.html#_4","title":"\u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f","text":"

                            \u4f7f\u7528 Deployment \u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f\uff1a

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: httpserver\n  namespace: httpserver\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: httpserver\n  template:\n    metadata:\n      labels:\n        app: httpserver\n    spec:\n      containers:\n      - name: httpserver\n        image: registry.imroc.cc/test/httpserver:custom-metrics\n        imagePullPolicy: Always\n---\n\napiVersion: v1\nkind: Service\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    app: httpserver\n  annotations:\n    prometheus.io/scrape: \"true\"\n    prometheus.io/path: \"/metrics\"\n    prometheus.io/port: \"http\"\nspec:\n  type: ClusterIP\n  ports:\n  - port: 80\n    protocol: TCP\n    name: http\n  selector:\n    app: httpserver\n
                            "},{"location":"end-user/kpanda/scale/custom-hpa.html#prometheus","title":"Prometheus \u91c7\u96c6\u4e1a\u52a1\u76d1\u63a7","text":"

                            \u82e5\u5df2\u5b89\u88c5 insight-agent\uff0c\u53ef\u4ee5\u901a\u8fc7\u521b\u5efa ServiceMonitor \u7684 CRD \u5bf9\u8c61\u914d\u7f6e Prometheus\u3002

                            \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> \u81ea\u5b9a\u4e49\u8d44\u6e90 \u641c\u7d22\u201cservicemonitors.monitoring.coreos.com\"\uff0c\u70b9\u51fb\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\u3002 \u901a\u8fc7\u521b\u5efa YAML\uff0c\u5728\u547d\u540d\u7a7a\u95f4 httpserver \u4e0b\u521b\u5efa\u5982\u4e0b\u793a\u4f8b\u7684 CRD\uff1a

                            apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    operator.insight.io/managed-by: insight\nspec:\n  endpoints:\n  - port: http\n    interval: 5s\n  namespaceSelector:\n    matchNames:\n    - httpserver\n  selector:\n    matchLabels:\n      app: httpserver\n

                            Note

                            \u82e5\u901a\u8fc7 insight \u5b89\u88c5 Prometheus\uff0c\u5219 serviceMonitor \u4e0a\u5fc5\u987b\u6253\u4e0a operator.insight.io/managed-by: insight \u8fd9\u4e2a label\uff0c\u901a\u8fc7\u5176\u4ed6\u65b9\u5f0f\u5b89\u88c5\u5219\u65e0\u9700\u6b64 label\u3002

                            "},{"location":"end-user/kpanda/scale/custom-hpa.html#prometheus-adapter","title":"\u5728 prometheus-adapter \u4e2d\u914d\u7f6e\u6307\u6807\u89c4\u5219","text":"

                            \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 \u641c\u7d22 \u201cprometheus-adapter\"\uff0c\u901a\u8fc7\u64cd\u4f5c\u680f\u8fdb\u5165\u66f4\u65b0\u9875\u9762\uff0c\u5728 YAML \u4e2d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a

                            rules:\n  custom:\n    - metricsQuery: sum(rate(<<.Series>>{<<.LabelMatchers>>}[1m])) by (<<.GroupBy>>)\n      name:\n        as: httpserver_requests_qps\n        matches: httpserver_requests_total\n      resources:\n        template: <<.Resource>>\n      seriesQuery: httpserver_requests_total\n

                            "},{"location":"end-user/kpanda/scale/custom-hpa.html#_5","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570","text":"

                            \u6309\u7167\u4e0a\u8ff0\u6b65\u9aa4\u5728 Deployment \u4e2d\u627e\u5230\u5e94\u7528\u7a0b\u5e8f httpserver \u5e76\u901a\u8fc7\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa\u5f39\u6027\u4f38\u7f29\u3002

                            "},{"location":"end-user/kpanda/scale/hpa-cronhpa-compatibility-rules.html","title":"HPA \u548c CronHPA \u517c\u5bb9\u89c4\u5219","text":"

                            HPA \u5168\u79f0\u4e3a HorizontalPodAutoscaler\uff0c\u5373 Pod \u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                            CronHPA \u5168\u79f0\u4e3a Cron HorizontalPodAutoscaler\uff0c\u5373 Pod \u5b9a\u65f6\u7684\u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                            "},{"location":"end-user/kpanda/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa","title":"CronHPA \u548c HPA \u517c\u5bb9\u51b2\u7a81","text":"

                            \u5b9a\u65f6\u4f38\u7f29 CronHPA \u901a\u8fc7\u8bbe\u7f6e\u5b9a\u65f6\u7684\u65b9\u5f0f\u89e6\u53d1\u5bb9\u5668\u7684\u6c34\u5e73\u526f\u672c\u4f38\u7f29\u3002\u4e3a\u4e86\u9632\u6b62\u7a81\u53d1\u7684\u6d41\u91cf\u51b2\u51fb\u7b49\u72b6\u51b5\uff0c \u60a8\u53ef\u80fd\u5df2\u7ecf\u914d\u7f6e HPA \u4fdd\u969c\u5e94\u7528\u7684\u6b63\u5e38\u8fd0\u884c\u3002\u5982\u679c\u540c\u65f6\u68c0\u6d4b\u5230\u4e86 HPA \u548c CronHPA \u7684\u5b58\u5728\uff0c \u7531\u4e8e CronHPA \u548c HPA \u76f8\u4e92\u72ec\u7acb\u65e0\u6cd5\u611f\u77e5\uff0c\u5c31\u4f1a\u51fa\u73b0\u4e24\u4e2a\u63a7\u5236\u5668\u5404\u81ea\u5de5\u4f5c\uff0c\u540e\u6267\u884c\u7684\u64cd\u4f5c\u4f1a\u8986\u76d6\u5148\u6267\u884c\u7684\u64cd\u4f5c\u3002

                            \u5bf9\u6bd4 CronHPA \u548c HPA \u7684\u5b9a\u4e49\u6a21\u677f\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230\u4ee5\u4e0b\u51e0\u70b9\uff1a

                            • CronHPA \u548c HPA \u90fd\u662f\u901a\u8fc7 scaleTargetRef \u5b57\u6bb5\u6765\u83b7\u53d6\u4f38\u7f29\u5bf9\u8c61\u3002
                            • CronHPA \u901a\u8fc7 jobs \u7684 crontab \u89c4\u5219\u5b9a\u65f6\u4f38\u7f29\u526f\u672c\u6570\u3002
                            • HPA \u901a\u8fc7\u8d44\u6e90\u5229\u7528\u7387\u5224\u65ad\u4f38\u7f29\u60c5\u51b5\u3002

                            Note

                            \u5982\u679c\u540c\u65f6\u8bbe\u7f6e CronHPA \u548c HPA\uff0c\u4f1a\u51fa\u73b0 CronHPA \u548c HPA \u540c\u65f6\u64cd\u4f5c\u4e00\u4e2a scaleTargetRef \u7684\u573a\u666f\u3002

                            "},{"location":"end-user/kpanda/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa_1","title":"CronHPA \u548c HPA \u517c\u5bb9\u65b9\u6848","text":"

                            \u4ece\u4e0a\u6587\u53ef\u77e5\uff0cCronHPA \u548c HPA \u540c\u65f6\u4f7f\u7528\u4f1a\u5bfc\u81f4\u540e\u6267\u884c\u7684\u64cd\u4f5c\u8986\u76d6\u5148\u6267\u884c\u64cd\u4f5c\u7684\u672c\u8d28\u539f\u56e0\u662f\u4e24\u4e2a\u63a7\u5236\u5668\u65e0\u6cd5\u76f8\u4e92\u611f\u77e5\uff0c \u90a3\u4e48\u53ea\u9700\u8981\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u5c31\u80fd\u89e3\u51b3\u51b2\u7a81\u95ee\u9898\u3002

                            \u7cfb\u7edf\u4f1a\u5c06 HPA \u4f5c\u4e3a\u5b9a\u65f6\u4f38\u7f29 CronHPA \u7684\u6269\u7f29\u5bb9\u5bf9\u8c61\uff0c\u4ece\u800c\u5b9e\u73b0\u5bf9\u8be5 HPA \u5b9a\u4e49\u7684 Deployment \u5bf9\u8c61\u7684\u5b9a\u65f6\u6269\u7f29\u5bb9\u3002

                            HPA \u7684\u5b9a\u4e49\u5c06 Deployment \u914d\u7f6e\u5728 scaleTargetRef \u5b57\u6bb5\u4e0b\uff0c\u7136\u540e Deployment \u901a\u8fc7\u81ea\u8eab\u5b9a\u4e49\u67e5\u627e ReplicaSet\uff0c\u6700\u540e\u901a\u8fc7 ReplicaSet \u8c03\u6574\u771f\u5b9e\u7684\u526f\u672c\u6570\u76ee\u3002

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06 CronHPA \u4e2d\u7684 scaleTargetRef \u8bbe\u7f6e\u4e3a HPA \u5bf9\u8c61\uff0c\u7136\u540e\u901a\u8fc7 HPA \u5bf9\u8c61\u6765\u5bfb\u627e\u771f\u5b9e\u7684 scaleTargetRef\uff0c\u4ece\u800c\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u3002

                            CronHPA \u4f1a\u901a\u8fc7\u8c03\u6574 HPA \u7684\u65b9\u5f0f\u611f\u77e5 HPA\u3002CronHPA \u901a\u8fc7\u8bc6\u522b\u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e\u5f53\u524d\u526f\u672c\u6570\u4e24\u8005\u95f4\u7684\u8f83\u5927\u503c\uff0c \u5224\u65ad\u662f\u5426\u9700\u8981\u6269\u7f29\u5bb9\u53ca\u4fee\u6539 HPA \u7684\u4e0a\u9650\uff1bCronHPA \u901a\u8fc7\u8bc6\u522b CronHPA \u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e HPA \u7684\u914d\u7f6e\u95f4\u7684\u8f83\u5c0f\u503c\uff0c\u5224\u65ad\u662f\u5426\u9700\u8981\u4fee\u6539 HPA \u7684\u4e0b\u9650\u3002

                            "},{"location":"end-user/kpanda/scale/install-cronhpa.html","title":"\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6","text":"

                            \u5bb9\u5668\u526f\u672c\u5b9a\u65f6\u6c34\u5e73\u6269\u7f29\u5bb9\u7b56\u7565\uff08CronHPA\uff09\u80fd\u591f\u4e3a\u5468\u671f\u6027\u9ad8\u5e76\u53d1\u5e94\u7528\u63d0\u4f9b\u7a33\u5b9a\u7684\u8ba1\u7b97\u8d44\u6e90\u4fdd\u969c\uff0c kubernetes-cronhpa-controller \u5219\u662f\u5b9e\u73b0 CronHPA \u7684\u5173\u952e\u7ec4\u4ef6\u3002

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                            Note

                            \u4e3a\u4e86\u4f7f\u7528 CornHPA\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u8fd8\u8981\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                            "},{"location":"end-user/kpanda/scale/install-cronhpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"end-user/kpanda/scale/install-cronhpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 CronHPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                            3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.3.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                            4. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                              • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                              • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 1.3.0 \u7248\u672c\u4e3a\u4f8b\u3002
                              • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                              • \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                              • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                              Note

                              \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                            5. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                              Warning

                              \u5982\u9700\u5220\u9664 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                              \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                            6. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa CronHPA \u7b56\u7565\u4e86\u3002

                            "},{"location":"end-user/kpanda/scale/install-metrics-server.html","title":"\u5b89\u88c5 metrics-server \u63d2\u4ef6","text":"

                            metrics-server \u662f Kubernetes \u5185\u7f6e\u7684\u8d44\u6e90\u4f7f\u7528\u6307\u6807\u91c7\u96c6\u7ec4\u4ef6\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e\u5f39\u6027\u4f38\u7f29\uff08HPA\uff09\u7b56\u7565\u6765\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u81ea\u52a8\u6c34\u5e73\u4f38\u7f29 Pod \u526f\u672c\u3002

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 metrics-server \u3002

                            "},{"location":"end-user/kpanda/scale/install-metrics-server.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5b89\u88c5 metrics-server \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"end-user/kpanda/scale/install-metrics-server.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                            1. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u4e0b\u7684\u5f39\u6027\u4f38\u7f29\u9875\u9762\uff0c\u70b9\u51fb \u53bb\u5b89\u88c5 \uff0c\u8fdb\u5165 metrics-server \u63d2\u4ef6\u5b89\u88c5\u754c\u9762\u3002

                            2. \u9605\u8bfb metrics-server \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u60a8\u5b89\u88c5 3.8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u3002

                            3. \u5728\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u914d\u7f6e\u57fa\u672c\u53c2\u6570\u3002

                              • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                              • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u3002
                              • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                              • \u5931\u8d25\u5220\u9664\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
                              • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u5b89\u88c5\u8fc7\u7a0b\u65e5\u5fd7\u7684\u8be6\u7ec6\u8f93\u51fa\u3002

                              Note

                              \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                            4. \u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e

                              • \u5982\u679c\u96c6\u7fa4\u7f51\u7edc\u65e0\u6cd5\u8bbf\u95ee k8s.gcr.io \u4ed3\u5e93\uff0c\u8bf7\u5c1d\u8bd5\u4fee\u6539 repositort \u53c2\u6570\u4e3a repository: k8s.m.daocloud.io/metrics-server/metrics-server

                              • \u5b89\u88c5 metrics-server \u63d2\u4ef6\u8fd8\u9700\u63d0\u4f9b SSL \u8bc1\u4e66\u3002\u5982\u9700\u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\uff0c\u9700\u8981\u5728 defaultArgs: \u5904\u6dfb\u52a0 - --kubelet-insecure-tls \u53c2\u6570\u3002

                              \u70b9\u51fb\u67e5\u770b\u63a8\u8350\u7684 YAML \u53c2\u6570
                              image:\n  repository: k8s.m.daocloud.io/metrics-server/metrics-server # \u5c06\u4ed3\u5e93\u6e90\u5730\u5740\u4fee\u6539\u4e3a k8s.m.daocloud.io\n  tag: ''\n  pullPolicy: IfNotPresent\nimagePullSecrets: []\nnameOverride: ''\nfullnameOverride: ''\nserviceAccount:\n  create: true\n  annotations: {}\n  name: ''\nrbac:\n  create: true\n  pspEnabled: false\napiService:\n  create: true\npodLabels: {}\npodAnnotations: {}\npodSecurityContext: {}\nsecurityContext:\n  allowPrivilegeEscalation: false\n  readOnlyRootFilesystem: true\n  runAsNonRoot: true\n  runAsUser: 1000\npriorityClassName: system-cluster-critical\ncontainerPort: 4443\nhostNetwork:\n  enabled: false\nreplicas: 1\nupdateStrategy: {}\npodDisruptionBudget:\n  enabled: false\n  minAvailable: null\n  maxUnavailable: null\ndefaultArgs:\n  - '--cert-dir=/tmp'\n  - '--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname'\n  - '--kubelet-use-node-status-port'\n  - '--metric-resolution=15s'\n  - --kubelet-insecure-tls # \u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\nargs: []\nlivenessProbe:\n  httpGet:\n    path: /livez\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 0\n  periodSeconds: 10\n  failureThreshold: 3\nreadinessProbe:\n  httpGet:\n    path: /readyz\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 20\n  periodSeconds: 10\n  failureThreshold: 3\nservice:\n  type: ClusterIP\n  port: 443\n  annotations: {}\n  labels: {}\nmetrics:\n  enabled: false\nserviceMonitor:\n  enabled: false\n  additionalLabels: {}\n  interval: 1m\n  scrapeTimeout: 10s\nresources: {}\nextraVolumeMounts: []\nextraVolumes: []\nnodeSelector: {}\ntolerations: []\naffinity: {}\n
                            5. \u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 metrics-server \u63d2\u4ef6\u7684\u5b89\u88c5\uff0c\u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c \u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                            Note

                            \u5220\u9664 metrics-server \u63d2\u4ef6\u65f6\uff0c\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5f7b\u5e95\u5220\u9664\u8be5\u63d2\u4ef6\u3002\u5982\u679c\u4ec5\u5728\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u5220\u9664 metrics-server \uff0c \u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u5e94\u7528\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u5e94\u7528\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                            "},{"location":"end-user/kpanda/scale/install-vpa.html","title":"\u5b89\u88c5 vpa \u63d2\u4ef6","text":"

                            \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u80fd\u591f\u8ba9\u96c6\u7fa4\u7684\u8d44\u6e90\u914d\u7f6e\u66f4\u52a0\u5408\u7406\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002 vpa \u5219\u662f\u5b9e\u73b0\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7684\u5173\u952e\u7ec4\u4ef6\u3002

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                            \u4e3a\u4e86\u4f7f\u7528 VPA \u7b56\u7565\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 __vpa__ \u63d2\u4ef6\uff0c\u8fd8\u8981[\u5b89\u88c5 __metrics-server__ \u63d2\u4ef6](install-metrics-server.md)\u3002\n
                            "},{"location":"end-user/kpanda/scale/install-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5b89\u88c5 vpa \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"end-user/kpanda/scale/install-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                            1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                            2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 VPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                              3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.5.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                              4. \u67e5\u770b\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                              - \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002 - \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002 - \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.5.0 \u7248\u672c\u4e3a\u4f8b\u3002 - \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002 - \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002 - \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                              Note

                              \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                            3. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                              Warning

                              \u5982\u9700\u5220\u9664 vpa \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                              \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                            4. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa VPA \u7b56\u7565\u4e86\u3002

                            "},{"location":"end-user/kpanda/scale/knative/install.html","title":"\u5b89\u88c5","text":"

                            Knative \u662f\u4e00\u4e2a\u9762\u5411\u65e0\u670d\u52a1\u5668\u90e8\u7f72\u7684\u8de8\u5e73\u53f0\u89e3\u51b3\u65b9\u6848\u3002

                            "},{"location":"end-user/kpanda/scale/knative/install.html#_2","title":"\u6b65\u9aa4","text":"
                            1. \u767b\u5f55\u96c6\u7fa4\uff0c\u70b9\u51fb\u4fa7\u8fb9\u680f Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u53f3\u4fa7\u4e0a\u65b9\u641c\u7d22\u6846\u8f93\u5165 knative \uff0c\u7136\u540e\u6309\u56de\u8f66\u952e\u641c\u7d22\u3002

                            2. \u70b9\u51fb\u641c\u7d22\u51fa\u7684 knative-operator \uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002\u4f60\u53ef\u4ee5\u5728\u8be5\u754c\u9762\u67e5\u770b\u53ef\u7528\u7248\u672c\u4ee5\u53ca Helm values \u7684 Parameters \u53ef\u9009\u9879\u3002

                            3. \u70b9\u51fb\u5b89\u88c5\u6309\u94ae\u540e\uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002

                            4. \u8f93\u5165\u540d\u79f0\uff0c\u5b89\u88c5\u79df\u6237\uff0c\u5efa\u8bae\u52fe\u9009 \u5c31\u7eea\u7b49\u5f85 \u548c \u8be6\u7ec6\u65e5\u5fd7 \u3002

                            5. \u5728\u4e0b\u65b9\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u52fe\u9009 Serving \uff0c\u5e76\u8f93\u5165 Knative Serving \u7ec4\u4ef6\u7684\u5b89\u88c5\u79df\u6237\uff0c\u4f1a\u5728\u5b89\u88c5\u540e\u90e8\u7f72 Knative Serving \u7ec4\u4ef6\uff0c\u8be5\u7ec4\u4ef6\u7531 Knative Operator \u7ba1\u7406\u3002

                            "},{"location":"end-user/kpanda/scale/knative/knative.html","title":"Kantive \u4ecb\u7ecd","text":"

                            Knative \u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u9ad8\u5c42\u6b21\u7684\u62bd\u8c61\uff0c\u7b80\u5316\u5e76\u52a0\u901f\u4e86\u5728 Kubernetes \u4e0a\u6784\u5efa\u3001\u90e8\u7f72\u548c\u7ba1\u7406\u5e94\u7528\u7684\u8fc7\u7a0b\u3002\u5b83\u4f7f\u5f97\u5f00\u53d1\u4eba\u5458\u80fd\u591f\u66f4\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u5b9e\u73b0\uff0c\u800c\u5c06\u5927\u90e8\u5206\u57fa\u7840\u8bbe\u65bd\u548c\u8fd0\u7ef4\u5de5\u4f5c\u4ea4\u7ed9 Knative \u53bb\u5904\u7406\uff0c\u4ece\u800c\u663e\u8457\u63d0\u9ad8\u751f\u4ea7\u529b\u3002

                            "},{"location":"end-user/kpanda/scale/knative/knative.html#_1","title":"\u7ec4\u4ef6","text":"

                            knative-operator \u8fd0\u884c\u7ec4\u4ef6\u5982\u4e0b\u3002

                            knative-operator   knative-operator-58f7d7db5c-7f6r5      1/1     Running     0     6m55s\nknative-operator   operator-webhook-667dc67bc-qvrv4       1/1     Running     0     6m55s\n

                            knative-serving \u7ec4\u4ef6\u5982\u4e0b\u3002

                            knative-serving        3scale-kourier-gateway-d69fbfbd-bd8d8   1/1     Running     0                 7m13s\nknative-serving        activator-7c6fddd698-wdlng              1/1     Running     0                 7m3s\nknative-serving        autoscaler-8f4b876bb-kd25p              1/1     Running     0                 7m17s\nknative-serving        autoscaler-hpa-5f7f74679c-vkc7p         1/1     Running     0                 7m15s\nknative-serving        controller-789c896c46-tfvsv             1/1     Running     0                 7m17s\nknative-serving        net-kourier-controller-7db578c889-7gd5l 1/1     Running     0                 7m14s\nknative-serving        webhook-5c88b94c5-78x7m                 1/1     Running     0                 7m1s\nknative-serving        storage-version-migration-serving-serving-1.12.2-t7zvd   0/1  Completed   0   7m15s\n
                            \u7ec4\u4ef6 \u4f5c\u7528 Activator \u5bf9\u8bf7\u6c42\u6392\u961f\uff08\u5982\u679c\u4e00\u4e2a Knative Service \u5df2\u7ecf\u7f29\u51cf\u5230\u96f6\uff09\u3002\u8c03\u7528 autoscaler\uff0c\u5c06\u7f29\u51cf\u5230 0 \u7684\u670d\u52a1\u6062\u590d\u5e76\u8f6c\u53d1\u6392\u961f\u7684\u8bf7\u6c42\u3002Activator \u8fd8\u53ef\u4ee5\u5145\u5f53\u8bf7\u6c42\u7f13\u51b2\u5668\uff0c\u5904\u7406\u7a81\u53d1\u6d41\u91cf\u3002 Autoscaler Autoscaler \u8d1f\u8d23\u6839\u636e\u914d\u7f6e\u3001\u6307\u6807\u548c\u8fdb\u5165\u7684\u8bf7\u6c42\u6765\u7f29\u653e Knative \u670d\u52a1\u3002 Controller \u7ba1\u7406 Knative CR \u7684\u72b6\u6001\u3002\u5b83\u4f1a\u76d1\u89c6\u591a\u4e2a\u5bf9\u8c61\uff0c\u7ba1\u7406\u4f9d\u8d56\u8d44\u6e90\u7684\u751f\u547d\u5468\u671f\uff0c\u5e76\u66f4\u65b0\u8d44\u6e90\u72b6\u6001\u3002 Queue-Proxy Sidecar \u5bb9\u5668\uff0c\u6bcf\u4e2a Knative Service \u90fd\u4f1a\u6ce8\u5165\u4e00\u4e2a\u3002\u8d1f\u8d23\u6536\u96c6\u6d41\u91cf\u6570\u636e\u5e76\u62a5\u544a\u7ed9 Autoscaler\uff0cAutoscaler \u6839\u636e\u8fd9\u4e9b\u6570\u636e\u548c\u9884\u8bbe\u7684\u89c4\u5219\u6765\u53d1\u8d77\u6269\u5bb9\u6216\u7f29\u5bb9\u8bf7\u6c42\u3002 Webhooks Knative Serving \u6709\u51e0\u4e2a Webhooks \u8d1f\u8d23\u9a8c\u8bc1\u548c\u53d8\u66f4 Knative \u8d44\u6e90\u3002"},{"location":"end-user/kpanda/scale/knative/knative.html#ingress","title":"Ingress \u6d41\u91cf\u5165\u53e3\u65b9\u6848","text":"\u65b9\u6848 \u9002\u7528\u573a\u666f Istio \u5982\u679c\u5df2\u7ecf\u7528\u4e86 Istio\uff0c\u53ef\u4ee5\u9009\u62e9 Istio \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Contour \u5982\u679c\u96c6\u7fa4\u4e2d\u5df2\u7ecf\u542f\u7528\u4e86 Contour\uff0c\u53ef\u4ee5\u9009\u62e9 Contour \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Kourier \u5982\u679c\u5728\u6ca1\u6709\u4e0a\u8ff0 2 \u79cd Ingress \u7ec4\u4ef6\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 Knative \u57fa\u4e8e Envoy \u5b9e\u73b0\u7684 Kourier Ingress \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u3002"},{"location":"end-user/kpanda/scale/knative/knative.html#autoscaler","title":"Autoscaler \u65b9\u6848\u5bf9\u6bd4","text":"Autoscaler \u7c7b\u578b \u662f\u5426\u4e3a Knative Serving \u6838\u5fc3\u90e8\u5206 \u9ed8\u8ba4\u542f\u7528 Scale to Zero \u652f\u6301 \u57fa\u4e8e CPU \u7684 Autoscaling \u652f\u6301 Knative Pod Autoscaler (KPA) \u662f \u662f \u662f \u5426 Horizontal Pod Autoscaler (HPA) \u5426 \u9700\u5b89\u88c5 Knative Serving \u540e\u542f\u7528 \u5426 \u662f"},{"location":"end-user/kpanda/scale/knative/knative.html#crd","title":"CRD","text":"\u8d44\u6e90\u7c7b\u578b API \u540d\u79f0 \u63cf\u8ff0 Services service.serving.knative.dev \u81ea\u52a8\u7ba1\u7406 Workload \u7684\u6574\u4e2a\u751f\u547d\u5468\u671f\uff0c\u63a7\u5236\u5176\u4ed6\u5bf9\u8c61\u7684\u521b\u5efa\uff0c\u786e\u4fdd\u5e94\u7528\u5177\u6709 Routes\u3001Configurations \u4ee5\u53ca\u6bcf\u6b21\u66f4\u65b0\u65f6\u7684\u65b0 revision\u3002 Routes route.serving.knative.dev \u5c06\u7f51\u7edc\u7aef\u70b9\u6620\u5c04\u5230\u4e00\u4e2a\u6216\u591a\u4e2a\u4fee\u8ba2\u7248\u672c\uff0c\u652f\u6301\u6d41\u91cf\u5206\u914d\u548c\u7248\u672c\u8def\u7531\u3002 Configurations configuration.serving.knative.dev \u7ef4\u62a4\u90e8\u7f72\u7684\u671f\u671b\u72b6\u6001\uff0c\u63d0\u4f9b\u4ee3\u7801\u548c\u914d\u7f6e\u4e4b\u95f4\u7684\u5206\u79bb\uff0c\u9075\u5faa Twelve-Factor \u5e94\u7528\u7a0b\u5e8f\u65b9\u6cd5\u8bba\uff0c\u4fee\u6539\u914d\u7f6e\u4f1a\u521b\u5efa\u65b0\u7684 revision\u3002 Revisions revision.serving.knative.dev \u6bcf\u6b21\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u4fee\u6539\u7684\u65f6\u95f4\u70b9\u5feb\u7167\uff0c\u662f\u4e0d\u53ef\u53d8\u5bf9\u8c61\uff0c\u53ef\u6839\u636e\u6d41\u91cf\u81ea\u52a8\u6269\u5bb9\u548c\u7f29\u5bb9\u3002"},{"location":"end-user/kpanda/scale/knative/playground.html","title":"Knative \u4f7f\u7528\u5b9e\u8df5","text":"

                            \u5728\u672c\u8282\u4e2d\uff0c\u6211\u4eec\u5c06\u901a\u8fc7\u51e0\u4e2a\u5b9e\u8df5\u6765\u6df1\u5165\u4e86\u89e3\u5b66\u4e60 Knative\u3002

                            "},{"location":"end-user/kpanda/scale/knative/playground.html#case-1-hello-world","title":"case 1 - Hello World","text":"
                            apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                            \u53ef\u4ee5\u4f7f\u7528 kubectl \u5df2\u90e8\u7f72\u7684\u5e94\u7528\u7684\u72b6\u6001\uff0c\u8fd9\u4e2a\u5e94\u7528\u7531 knative \u81ea\u52a8\u914d\u7f6e\u4e86 ingress \u548c\u4f38\u7f29\u5668\u3002

                            ~ kubectl get service.serving.knative.dev/hello\nNAME    URL                                              LATESTCREATED   LATESTREADY   READY   REASON\nhello   http://hello.knative-serving.knative.loulan.me   hello-00001     hello-00001   True\n

                            \u90e8\u7f72\u51fa\u7684 Pod YAML \u5982\u4e0b\uff0c\u7531 2 \u4e2a Pod \u7ec4\u6210\uff1auser-container \u548c queue-proxy\u3002

                            apiVersion: v1\nkind: Pod\nmetadata:\n  name: hello-00003-deployment-5fcb8ccbf-7qjfk\nspec:\n  containers:\n  - name: user-container\n  - name: queue-proxy\n

                            \u8bf7\u6c42\u6d41\uff1a

                            1. case1 \u5728\u4f4e\u6d41\u91cf\u6216\u96f6\u6d41\u91cf\u65f6\uff0c\u6d41\u91cf\u5c06\u8def\u7531\u5230 activator
                            2. case2 \u6d41\u91cf\u5927\u65f6\uff0c\u6d41\u91cf\u5927\u4e8e target-burst-capacity \u65f6\u624d\u76f4\u63a5\u8def\u7531\u5230 Pod
                              1. \u914d\u7f6e\u4e3a 0\uff0c\u53ea\u6709\u4ece 0 \u6269\u5bb9\u5b58\u5728
                              2. \u914d\u7f6e\u4e3a -1\uff0cactivator \u4f1a\u4e00\u76f4\u5b58\u5728\u8bf7\u6c42\u8def\u5f84
                              3. \u914d\u7f6e\u4e3a >0\uff0c\u89e6\u53d1\u6269\u7f29\u5bb9\u4e4b\u524d\uff0c\u7cfb\u7edf\u80fd\u591f\u989d\u5916\u5904\u7406\u7684\u5e76\u53d1\u8bf7\u6c42\u6570\u91cf\u3002
                            3. case3 \u6d41\u91cf\u518d\u53d8\u5c0f\u65f6\uff0c\u6d41\u91cf\u4f4e\u4e8e current_demand + target-burst-capacity > (pods * concurrency-target) \u65f6\u5c06\u518d\u6b21\u8def\u7531\u5230 activator

                              \u5f85\u5904\u7406\u7684\u8bf7\u6c42\u603b\u6570 + \u80fd\u63a5\u53d7\u7684\u8d85\u8fc7\u76ee\u6807\u5e76\u53d1\u6570\u7684\u8bf7\u6c42\u6570\u91cf > \u6bcf\u4e2a Pod \u7684\u76ee\u6807\u5e76\u53d1\u6570 * Pod \u6570\u91cf

                            "},{"location":"end-user/kpanda/scale/knative/playground.html#case-2-","title":"case 2 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29","text":"

                            \u6211\u4eec\u9996\u5148\u5728\u96c6\u7fa4\u5e94\u7528\u4e0b\u9762 YAML \u5b9a\u4e49\u3002

                            apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                            \u6267\u884c\u4e0b\u9762\u547d\u4ee4\u6d4b\u8bd5\uff0c\u5e76\u53ef\u4ee5\u901a\u8fc7 kubectl get pods -A -w \u6765\u89c2\u5bdf\u6269\u5bb9\u7684 Pod\u3002

                            wrk -t2 -c4 -d6s http://hello.knative-serving.knative.daocloud.io/\n
                            "},{"location":"end-user/kpanda/scale/knative/playground.html#case-3-","title":"case 3 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29\uff0c\u8fbe\u5230\u7279\u5b9a\u6bd4\u4f8b\u63d0\u524d\u6269\u5bb9","text":"

                            \u6211\u4eec\u53ef\u4ee5\u5f88\u8f7b\u677e\u7684\u5b9e\u73b0\uff0c\u4f8b\u5982\u9650\u5236\u6bcf\u4e2a\u5bb9\u5668\u5e76\u53d1\u4e3a 10\uff0c\u53ef\u4ee5\u901a\u8fc7 autoscaling.knative.dev/target-utilization-percentage: 70 \u6765\u5b9e\u73b0\uff0c\u8fbe\u5230 70% \u5c31\u5f00\u59cb\u6269\u5bb9 Pod\u3002

                            apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"10\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/target-utilization-percentage: \"70\" \n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/metric: \"concurrency\"\n \u00a0 \u00a0 spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n
                            "},{"location":"end-user/kpanda/scale/knative/playground.html#case-4-","title":"case 4 - \u7070\u5ea6\u53d1\u5e03/\u6d41\u91cf\u767e\u5206\u6bd4","text":"

                            \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 spec.traffic \u5b9e\u73b0\u5230\u6bcf\u4e2a\u7248\u672c\u6d41\u91cf\u7684\u63a7\u5236\u3002

                            apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"  \n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"         \n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n  traffic:\n  - latestRevision: true\n    percent: 50\n  - latestRevision: false\n    percent: 50\n    revisionName: hello-00001\n
                            "},{"location":"end-user/kpanda/scale/knative/scene.html","title":"\u4f7f\u7528\u573a\u666f","text":""},{"location":"end-user/kpanda/scale/knative/scene.html#_2","title":"\u9002\u5408\u7684\u573a\u666f","text":"
                            • \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1
                            • \u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1
                            • \u5927\u91cf\u5e94\u7528\u9700\u8981\u7f29\u5bb9\u5230 0 \u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387
                            • AI Serving \u670d\u52a1\uff0c\u57fa\u4e8e\u7279\u5b9a\u6307\u6807\u8fdb\u884c\u6269\u5bb9

                            Tip

                            \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1\u4ee5\u53ca\u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1\uff0c\u63a8\u8350\u4f7f\u7528 HPA \u548c VPA \u80fd\u529b\u3002

                            "},{"location":"end-user/kpanda/scale/knative/scene.html#_3","title":"\u4e0d\u9002\u5408\u7684\u573a\u666f","text":"
                            • \u957f\u8fde\u63a5\u4e1a\u52a1
                            • \u5ef6\u65f6\u654f\u611f\u4e1a\u52a1
                            • \u57fa\u4e8e cookie \u7684\u6d41\u91cf\u5206\u6d41
                            • \u57fa\u4e8e header \u7684\u6d41\u91cf\u5206\u6d41
                            "},{"location":"end-user/kpanda/security/index.html","title":"\u5b89\u5168\u626b\u63cf\u7c7b\u578b","text":"

                            \u5728Kubernetes\uff08\u7b80\u79f0K8s\uff09\u73af\u5883\u4e2d\uff0c\u5b89\u5168\u626b\u63cf\u662f\u786e\u4fdd\u96c6\u7fa4\u5b89\u5168\u6027\u7684\u5173\u952e\u63aa\u65bd\u4e4b\u4e00\u3002\u5176\u4e2d\uff0c\u5408\u89c4\u6027\u626b\u63cf\uff08\u57fa\u4e8eCIS Benchmark\uff09\u3001\u6743\u9650\u626b\u63cf\uff08\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\uff09\u3001\u6f0f\u6d1e\u626b\u63cf\uff08\u57fa\u4e8e kube-hunter\uff09\u662f\u4e09\u79cd\u5e38\u89c1\u4e14\u91cd\u8981\u7684\u5b89\u5168\u626b\u63cf\u624b\u6bb5\uff1a

                            • \u5408\u89c4\u6027\u626b\u63cf\uff1a\u57fa\u4e8e CIS Benchmark \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u5b89\u5168\u626b\u63cf\u3002CIS Benchmark \u662f\u4e00\u5957\u5168\u7403\u516c\u8ba4\u7684\u6700\u4f73\u5b9e\u8df5\u6807\u51c6\uff0c\u4e3a Kubernetes \u96c6\u7fa4\u63d0\u4f9b\u4e86\u8be6\u7ec6\u7684\u5b89\u5168\u914d\u7f6e\u6307\u5357\u548c\u81ea\u52a8\u5316\u68c0\u67e5\u5de5\u5177\uff08\u5982Kube-Bench\uff09\uff0c\u5e2e\u52a9\u7ec4\u7ec7\u786e\u4fdd\u5176K8s\u96c6\u7fa4\u7b26\u5408\u5b89\u5168\u57fa\u7ebf\u8981\u6c42\uff0c\u4fdd\u62a4\u7cfb\u7edf\u548c\u6570\u636e\u514d\u53d7\u5a01\u80c1\u3002

                            • \u6743\u9650\u626b\u63cf\uff1a\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\u3002\u6743\u9650\u626b\u63cf\u4e3b\u8981\u89e3\u51b3\u96c6\u7fa4\u8bbf\u95ee\u63a7\u5236\u548c\u64cd\u4f5c\u900f\u660e\u5ea6\u7684\u95ee\u9898\u3002\u901a\u8fc7\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u96c6\u7fa4\u7ba1\u7406\u5458\u80fd\u591f\u8ffd\u6eaf\u96c6\u7fa4\u8d44\u6e90\u7684\u8bbf\u95ee\u5386\u53f2\uff0c\u8bc6\u522b\u5f02\u5e38\u884c\u4e3a\uff0c\u5982\u672a\u7ecf\u6388\u6743\u7684\u8bbf\u95ee\u3001\u654f\u611f\u6570\u636e\u7684\u6cc4\u9732\u3001\u6709\u5b89\u5168\u6f0f\u6d1e\u7684\u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002\u8fd9\u5bf9\u4e8e\u6545\u969c\u6392\u67e5\u3001\u5b89\u5168\u4e8b\u4ef6\u54cd\u5e94\u4ee5\u53ca\u6ee1\u8db3\u5408\u89c4\u6027\u8981\u6c42\u81f3\u5173\u91cd\u8981\u3002\u6b64\u5916\uff0c\u6743\u9650\u626b\u63cf\u8fd8\u53ef\u4ee5\u5e2e\u52a9\u7ec4\u7ec7\u53d1\u73b0\u6f5c\u5728\u7684\u6743\u9650\u6ee5\u7528\u95ee\u9898\uff0c\u53ca\u65f6\u91c7\u53d6\u63aa\u65bd\u9632\u6b62\u5b89\u5168\u4e8b\u4ef6\u7684\u53d1\u751f\u3002

                            • \u6f0f\u6d1e\u626b\u63cf\uff1a\u57fa\u4e8e kube-hunter\uff0c\u4e3b\u8981\u89e3\u51b3 Kubernetes \u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5df2\u77e5\u6f0f\u6d1e\u548c\u914d\u7f6e\u9519\u8bef\u95ee\u9898\u3002kube-hunter \u901a\u8fc7\u6a21\u62df\u653b\u51fb\u884c\u4e3a\uff0c\u80fd\u591f\u8bc6\u522b\u96c6\u7fa4\u4e2d\u53ef\u88ab\u6076\u610f\u5229\u7528\u7684\u6f0f\u6d1e\uff0c\u5982\u672a\u6388\u6743\u8bbf\u95ee\u3001\u66b4\u9732\u7684\u670d\u52a1\u548cAPI\u7aef\u70b9\u3001\u914d\u7f6e\u9519\u8bef\u7684\u89d2\u8272\u548c\u7ed1\u5b9a\u7b56\u7565\u7b49\u3002\u7279\u522b\u5730\uff0ckube-hunter\u80fd\u591f\u8bc6\u522b\u5e76\u62a5\u544a CVE \u6f0f\u6d1e\uff0c\u8fd9\u4e9b\u6f0f\u6d1e\u5982\u679c\u88ab\u6076\u610f\u5229\u7528\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u6cc4\u9732\u3001\u670d\u52a1\u4e2d\u65ad\u7b49\u4e25\u91cd\u540e\u679c\u3002CVE \u6f0f\u6d1e\u662f\u7531\u56fd\u9645\u77e5\u540d\u7684\u5b89\u5168\u7ec4\u7ec7\u5982MITRE\u6240\u5b9a\u4e49\u548c\u7ef4\u62a4\u7684\uff0cCVE\u6570\u636e\u5e93\u4e3a\u8f6f\u4ef6\u548c\u56fa\u4ef6\u4e2d\u7684\u5df2\u77e5\u6f0f\u6d1e\u63d0\u4f9b\u4e86\u552f\u4e00\u6807\u8bc6\u7b26\uff0c\u6210\u4e3a\u5168\u7403\u5b89\u5168\u793e\u533a\u5171\u540c\u9075\u5faa\u7684\u6807\u51c6\u3002kube-hunter \u901a\u8fc7\u5229\u7528 CVE \u6570\u636e\u5e93\u4e2d\u7684\u4fe1\u606f\uff0c\u80fd\u591f\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u8bc6\u522b\u5e76\u54cd\u5e94Kubernetes\u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\u3002

                            "},{"location":"end-user/kpanda/security/index.html#_2","title":"\u5408\u89c4\u6027\u626b\u63cf","text":"

                            \u5408\u89c4\u6027\u626b\u63cf\u7684\u5bf9\u8c61\u662f\u96c6\u7fa4\u8282\u70b9\u3002\u626b\u63cf\u7ed3\u679c\u4e2d\u4f1a\u5217\u51fa\u626b\u63cf\u9879\u4ee5\u53ca\u626b\u63cf\u7ed3\u679c\uff0c\u5e76\u9488\u5bf9\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u4fee\u590d\u5efa\u8bae\u3002\u6709\u5173\u626b\u63cf\u65f6\u7528\u5230\u7684\u5177\u4f53\u5b89\u5168\u89c4\u5219\uff0c\u53ef\u53c2\u8003 CIS Kubernetes Benchmark

                            \u68c0\u67e5\u4e0d\u540c\u7c7b\u578b\u7684\u8282\u70b9\u65f6\uff0c\u626b\u63cf\u7684\u4fa7\u91cd\u70b9\u6709\u6240\u4e0d\u540c\u3002

                            • \u626b\u63cf\u63a7\u5236\u5e73\u9762\u8282\u70b9\uff08Controller\uff09

                              • \u5173\u6ce8 API Server \u3001 controller-manager \u3001 scheduler \u3001 kubelet \u7b49\u7cfb\u7edf\u7ec4\u4ef6\u7684\u5b89\u5168\u6027
                              • \u68c0\u67e5 Etcd \u6570\u636e\u5e93\u7684\u5b89\u5168\u914d\u7f6e
                              • \u68c0\u67e5\u96c6\u7fa4\u8eab\u4efd\u9a8c\u8bc1\u673a\u5236\u3001\u6388\u6743\u7b56\u7565\u548c\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u662f\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                            • \u626b\u63cf\u5de5\u4f5c\u8282\u70b9\uff08Worker\uff09

                              • \u68c0\u67e5 kubelet\u3001Docker\u7b49\u5bb9\u5668\u8fd0\u884c\u65f6\u7684\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                              • \u68c0\u67e5\u5bb9\u5668\u955c\u50cf\u662f\u5426\u7ecf\u8fc7\u4fe1\u4efb\u9a8c\u8bc1
                              • \u68c0\u67e5\u8282\u70b9\u7684\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6

                            Tip

                            \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\uff0c\u7136\u540e\u57fa\u4e8e\u8be5\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002

                            "},{"location":"end-user/kpanda/security/index.html#_3","title":"\u6743\u9650\u626b\u63cf","text":"

                            \u6743\u9650\u626b\u63cf\u4fa7\u91cd\u4e8e\u6743\u9650\u95ee\u9898\u5f15\u53d1\u7684\u5b89\u5168\u6f0f\u6d1e\u3002\u6743\u9650\u626b\u63cf\u53ef\u4ee5\u5e2e\u52a9\u7528\u6237\u8bc6\u522b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\uff0c\u6807\u8bc6\u54ea\u4e9b\u8d44\u6e90\u9700\u8981\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u5ba1\u67e5\u548c\u4fdd\u62a4\u63aa\u65bd\u3002\u901a\u8fc7\u6267\u884c\u8fd9\u4e9b\u68c0\u67e5\u9879\uff0c\u7528\u6237\u53ef\u4ee5\u66f4\u6e05\u695a\u3001\u66f4\u5168\u9762\u5730\u4e86\u89e3\u81ea\u5df1\u7684 Kubernetes \u73af\u5883\uff0c\u786e\u4fdd\u96c6\u7fa4\u73af\u5883\u7b26\u5408 Kubernetes \u7684\u6700\u4f73\u5b9e\u8df5\u548c\u5b89\u5168\u6807\u51c6\u3002

                            \u5177\u4f53\u800c\u8a00\uff0c\u6743\u9650\u626b\u63cf\u652f\u6301\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                            • \u626b\u63cf\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u8282\u70b9\u7684\u5065\u5eb7\u72b6\u6001\u3002

                            • \u626b\u63cf\u96c6\u7fa4\u7ec4\u4ef6\u7684\u8fd0\u884c\u72b6\u51b5\uff0c\u5982 kube-apiserver \u3001 kube-controller-manager \u3001 kube-scheduler \u7b49\u3002

                            • \u626b\u63cf\u5b89\u5168\u914d\u7f6e\uff1a\u68c0\u67e5 Kubernetes \u7684\u5b89\u5168\u914d\u7f6e

                              • API \u5b89\u5168\uff1a\u542f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 API \u7248\u672c\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u9002\u5f53\u7684 RBAC \u89d2\u8272\u548c\u6743\u9650\u9650\u5236\u7b49
                              • \u5bb9\u5668\u5b89\u5168\uff1a\u662f\u5426\u4f7f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 Image\u3001\u662f\u5426\u5f00\u653e\u4e86\u7279\u6743\u6a21\u5f0f\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u5408\u9002\u7684\u5b89\u5168\u4e0a\u4e0b\u6587\u7b49
                              • \u7f51\u7edc\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u5408\u9002\u7684\u7f51\u7edc\u7b56\u7565\u6765\u9650\u5236\u6d41\u91cf\uff0c\u662f\u5426\u4f7f\u7528\u4e86 TLS \u52a0\u5bc6\u7b49
                              • \u5b58\u50a8\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u9002\u5f53\u7684\u52a0\u5bc6\u3001\u8bbf\u95ee\u63a7\u5236\u7b49\u3002
                              • \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\uff1a\u662f\u5426\u8bbe\u7f6e\u4e86\u5fc5\u8981\u7684\u5b89\u5168\u63aa\u65bd\uff0c\u4f8b\u5982\u5bc6\u7801\u7ba1\u7406\u3001\u8de8\u7ad9\u811a\u672c\u653b\u51fb\u9632\u5fa1\u7b49\u3002
                            • \u63d0\u4f9b\u8b66\u544a\u548c\u5efa\u8bae\uff1a\u5efa\u8bae\u96c6\u7fa4\u7ba1\u7406\u5458\u6267\u884c\u7684\u5b89\u5168\u6700\u4f73\u5b9e\u8df5\uff0c\u4f8b\u5982\u5b9a\u671f\u8f6e\u6362\u8bc1\u4e66\u3001\u4f7f\u7528\u5f3a\u5bc6\u7801\u3001\u9650\u5236\u7f51\u7edc\u8bbf\u95ee\u7b49\u3002

                            Tip

                            \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5b89\u5168\u626b\u63cf\u3002

                            "},{"location":"end-user/kpanda/security/index.html#_4","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                            \u6f0f\u6d1e\u626b\u63cf\u4fa7\u91cd\u4e8e\u626b\u63cf\u6f5c\u5728\u7684\u6076\u610f\u653b\u51fb\u548c\u5b89\u5168\u6f0f\u6d1e\uff0c\u4f8b\u5982\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\u3001SQL \u6ce8\u5165\u3001XSS \u653b\u51fb\u7b49\uff0c\u4ee5\u53ca\u4e00\u4e9b\u9488\u5bf9 Kubernetes \u7279\u5b9a\u7684\u653b\u51fb\u3002\u6700\u7ec8\u7684\u626b\u63cf\u62a5\u544a\u4f1a\u5217\u51fa\u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u6f0f\u6d1e\uff0c\u5e76\u63d0\u51fa\u4fee\u590d\u5efa\u8bae\u3002

                            Tip

                            \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6f0f\u6d1e\u626b\u63cf\u3002

                            "},{"location":"end-user/kpanda/security/audit.html","title":"\u6743\u9650\u626b\u63cf","text":"

                            \u4e3a\u4e86\u4f7f\u7528\u6743\u9650\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                            "},{"location":"end-user/kpanda/security/audit.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                            1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6743\u9650\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                            3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                              • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                              • \u626b\u63cf\u7c7b\u578b\uff1a

                                • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                              • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                            "},{"location":"end-user/kpanda/security/audit.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                            \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                            \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                            • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                              • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                              • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                              • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                              • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                            • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                            "},{"location":"end-user/kpanda/security/audit.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                            1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                              \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                            2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                              • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                              • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                              • \u626b\u63cf\u9879\u603b\u6570\u3001\u8b66\u544a\u6570\u3001\u9519\u8bef\u6570
                              • \u5728\u5468\u671f\u6027\u626b\u63cf\u7b56\u7565\u751f\u6210\u7684\u626b\u63cf\u62a5\u544a\u4e2d\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u9891\u7387
                              • \u626b\u63cf\u5f00\u59cb\u7684\u65f6\u95f4
                              • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u88ab\u68c0\u67e5\u7684\u8d44\u6e90\u3001\u8d44\u6e90\u7c7b\u578b\u3001\u626b\u63cf\u7ed3\u679c\u3001\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u8be6\u60c5

                            "},{"location":"end-user/kpanda/security/hunter.html","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                            \u4e3a\u4e86\u4f7f\u7528\u6f0f\u6d1e\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                            "},{"location":"end-user/kpanda/security/hunter.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                            1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6f0f\u6d1e\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                            3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                              • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                              • \u626b\u63cf\u7c7b\u578b\uff1a

                                • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                              • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                            "},{"location":"end-user/kpanda/security/hunter.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                            \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                            \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                            • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                              • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                              • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                              • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                              • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                            • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                            "},{"location":"end-user/kpanda/security/hunter.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                            1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                              \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                            2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                              • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                              • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                              • \u626b\u63cf\u9891\u7387
                              • \u98ce\u9669\u603b\u6570\u3001\u9ad8\u98ce\u9669\u6570\u3001\u4e2d\u98ce\u9669\u6570\u3001\u4f4e\u98ce\u9669\u6570
                              • \u626b\u63cf\u65f6\u95f4
                              • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u6f0f\u6d1e ID\u3001\u6f0f\u6d1e\u7c7b\u578b\u3001\u6f0f\u6d1e\u540d\u79f0\u3001\u6f0f\u6d1e\u63cf\u8ff0\u7b49

                            "},{"location":"end-user/kpanda/security/cis/config.html","title":"\u626b\u63cf\u914d\u7f6e","text":"

                            \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u7684\u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\u3002\u57fa\u4e8e\u626b\u63cf\u914d\u7f6e\u518d\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3001\u6267\u884c\u626b\u63cf\u7b56\u7565\uff0c\u6700\u540e\u67e5\u770b\u626b\u63cf\u7ed3\u679c\u3002

                            "},{"location":"end-user/kpanda/security/cis/config.html#_2","title":"\u521b\u5efa\u626b\u63cf\u914d\u7f6e","text":"

                            \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                            1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                            2. \u9ed8\u8ba4\u8fdb\u5165 \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\uff0c\u70b9\u51fb \u626b\u63cf\u914d\u7f6e \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u914d\u7f6e \u3002

                            3. \u586b\u5199\u914d\u7f6e\u540d\u79f0\u3001\u9009\u62e9\u914d\u7f6e\u6a21\u677f\u3001\u6309\u9700\u52fe\u9009\u626b\u63cf\u9879\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                              \u626b\u63cf\u6a21\u677f\uff1a\u76ee\u524d\u63d0\u4f9b\u4e86\u4e24\u4e2a\u6a21\u677f\u3002 kubeadm \u6a21\u677f\u9002\u7528\u4e8e\u4e00\u822c\u60c5\u51b5\u4e0b\u7684 Kubernetes \u96c6\u7fa4\u3002 daocloud \u6a21\u677f\u5728 kubeadm \u6a21\u677f\u57fa\u7840\u4e0a\uff0c\u7ed3\u5408\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5e73\u53f0\u8bbe\u8ba1\u5ffd\u7565\u4e86\u4e0d\u9002\u7528\u4e8e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u626b\u63cf\u9879\u3002

                            "},{"location":"end-user/kpanda/security/cis/config.html#_3","title":"\u67e5\u770b\u626b\u63cf\u914d\u7f6e","text":"

                            \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u626b\u63cf\u914d\u7f6e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u914d\u7f6e\u7684\u7c7b\u578b\u3001\u626b\u63cf\u9879\u6570\u91cf\u3001\u521b\u5efa\u65f6\u95f4\u3001\u914d\u7f6e\u6a21\u677f\uff0c\u4ee5\u53ca\u8be5\u914d\u7f6e\u542f\u7528\u7684\u5177\u4f53\u626b\u63cf\u9879\u3002

                            "},{"location":"end-user/kpanda/security/cis/config.html#_4","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u914d\u7f6e","text":"

                            \u626b\u63cf\u914d\u7f6e\u521b\u5efa\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u66f4\u65b0\u914d\u7f6e\u6216\u5220\u9664\u8be5\u914d\u7f6e\u3002

                            \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                            • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u63cf\u8ff0\u3001\u6a21\u677f\u548c\u626b\u63cf\u9879\u3002\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u3002
                            • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e\u3002

                            "},{"location":"end-user/kpanda/security/cis/policy.html","title":"\u626b\u63cf\u7b56\u7565","text":""},{"location":"end-user/kpanda/security/cis/policy.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"

                            \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u4e4b\u540e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                            1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                            2. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                              • \u626b\u63cf\u914d\u7f6e\uff1a\u9009\u62e9\u4e8b\u5148\u521b\u5efa\u597d\u7684\u626b\u63cf\u914d\u7f6e\u3002\u626b\u63cf\u914d\u7f6e\u89c4\u5b9a\u4e86\u9700\u8981\u6267\u884c\u54ea\u4e9b\u5177\u4f53\u7684\u626b\u63cf\u9879\u3002
                              • \u626b\u63cf\u7c7b\u578b\uff1a

                                • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                              • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                            "},{"location":"end-user/kpanda/security/cis/policy.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                            \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                            \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                            • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                              • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                              • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                              • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                              • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                            • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                            "},{"location":"end-user/kpanda/security/cis/report.html","title":"\u626b\u63cf\u62a5\u544a","text":"

                            hide\uff1a - toc

                            "},{"location":"end-user/kpanda/security/cis/report.html#_1","title":"\u626b\u63cf\u62a5\u544a","text":"

                            \u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u3002\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a\u6216\u5c06\u5176\u4e0b\u8f7d\u5230\u672c\u5730\u67e5\u770b\u3002

                            • \u4e0b\u8f7d\u67e5\u770b\u626b\u63cf\u62a5\u544a

                              \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u70b9\u51fb\u62a5\u544a\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u4e0b\u8f7d \u3002

                            • \u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a

                              \u70b9\u51fb\u67d0\u4e2a\u62a5\u544a\u7684\u540d\u79f0\uff0c\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b CIS \u5408\u89c4\u6027\u626b\u63cf\u7684\u62a5\u544a\u5185\u5bb9\u3002\u5177\u4f53\u5305\u62ec\uff1a

                              • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                              • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565\u548c\u626b\u63cf\u914d\u7f6e
                              • \u626b\u63cf\u5f00\u59cb\u65f6\u95f4
                              • \u626b\u63cf\u9879\u603b\u6570\u3001\u901a\u8fc7\u6570\u4e0e\u672a\u901a\u8fc7\u6570
                              • \u5bf9\u4e8e\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u5bf9\u5e94\u7684\u4fee\u590d\u5efa\u8bae
                              • \u5bf9\u4e8e\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u66f4\u5b89\u5168\u7684\u64cd\u4f5c\u5efa\u8bae

                            "},{"location":"end-user/kpanda/storage/pv.html","title":"\u6570\u636e\u5377(PV)","text":"

                            \u6570\u636e\u5377\uff08PersistentVolume\uff0cPV\uff09\u662f\u96c6\u7fa4\u4e2d\u7684\u4e00\u5757\u5b58\u50a8\uff0c\u53ef\u7531\u7ba1\u7406\u5458\u4e8b\u5148\u5236\u5907\uff0c\u6216\u4f7f\u7528\u5b58\u50a8\u7c7b\uff08Storage Class\uff09\u6765\u52a8\u6001\u5236\u5907\u3002PV \u662f\u96c6\u7fa4\u8d44\u6e90\uff0c\u4f46\u62e5\u6709\u72ec\u7acb\u7684\u751f\u547d\u5468\u671f\uff0c\u4e0d\u4f1a\u968f\u7740 Pod \u8fdb\u7a0b\u7ed3\u675f\u800c\u88ab\u5220\u9664\u3002\u5c06 PV \u6302\u8f7d\u5230\u5de5\u4f5c\u8d1f\u8f7d\u53ef\u4ee5\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6301\u4e45\u5316\u3002PV \u4e2d\u4fdd\u5b58\u4e86\u53ef\u88ab Pod \u4e2d\u5bb9\u5668\u8bbf\u95ee\u7684\u6570\u636e\u76ee\u5f55\u3002

                            "},{"location":"end-user/kpanda/storage/pv.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377","text":"

                            \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                            • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                            • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                            "},{"location":"end-user/kpanda/storage/pv.html#yaml","title":"YAML \u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> YAML \u521b\u5efa \u3002

                            2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                            "},{"location":"end-user/kpanda/storage/pv.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> \u521b\u5efa\u6570\u636e\u5377(PV) \u3002

                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                              • \u6570\u636e\u5377\u540d\u79f0\u3001\u6570\u636e\u5377\u7c7b\u578b\u3001\u6302\u8f7d\u8def\u5f84\u3001\u5377\u6a21\u5f0f\u3001\u8282\u70b9\u4eb2\u548c\u6027\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                              • \u6570\u636e\u5377\u7c7b\u578b\uff1a\u6709\u5173\u5377\u7c7b\u578b\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5377\u3002

                              • Local\uff1a\u5c06 Node \u8282\u70b9\u7684\u672c\u5730\u5b58\u50a8\u5305\u88c5\u6210 PVC \u63a5\u53e3\uff0c\u5bb9\u5668\u76f4\u63a5\u4f7f\u7528 PVC \u800c\u65e0\u9700\u5173\u6ce8\u5e95\u5c42\u7684\u5b58\u50a8\u7c7b\u578b\u3002Local \u5377\u4e0d\u652f\u6301\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\uff0c\u4f46\u652f\u6301\u914d\u7f6e\u8282\u70b9\u4eb2\u548c\u6027\uff0c\u53ef\u4ee5\u9650\u5236\u80fd\u4ece\u54ea\u4e9b\u8282\u70b9\u4e0a\u8bbf\u95ee\u8be5\u6570\u636e\u5377\u3002

                              • HostPath\uff1a\u4f7f\u7528 Node \u8282\u70b9\u7684\u6587\u4ef6\u7cfb\u7edf\u4e0a\u7684\u6587\u4ef6\u6216\u76ee\u5f55\u4f5c\u4e3a\u6570\u636e\u5377\uff0c\u4e0d\u652f\u6301\u57fa\u4e8e\u8282\u70b9\u4eb2\u548c\u6027\u7684 Pod \u8c03\u5ea6\u3002

                              • \u6302\u8f7d\u8def\u5f84\uff1a\u5c06\u6570\u636e\u5377\u6302\u8f7d\u5230\u5bb9\u5668\u4e2d\u7684\u67d0\u4e2a\u5177\u4f53\u76ee\u5f55\u4e0b\u3002

                              • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                                • ReadWriteOnce\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                • ReadWriteMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                • ReadOnlyMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                                • ReadWriteOncePod\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                              • \u56de\u6536\u7b56\u7565\uff1a

                                • Retain\uff1a\u4e0d\u5220\u9664 PV\uff0c\u4ec5\u5c06\u5176\u72b6\u6001\u53d8\u4e3a released \uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u56de\u6536\u3002\u6709\u5173\u5982\u4f55\u624b\u52a8\u56de\u6536\uff0c\u53ef\u53c2\u8003\u6301\u4e45\u5377\u3002
                                • Recycle\uff1a\u4fdd\u7559 PV \u4f46\u6e05\u7a7a\u5176\u4e2d\u7684\u6570\u636e\uff0c\u6267\u884c\u57fa\u672c\u7684\u64e6\u9664\u64cd\u4f5c\uff08 rm -rf /thevolume/* \uff09\u3002
                                • Delete\uff1a\u5220\u9664 PV \u65f6\u53ca\u5176\u4e2d\u7684\u6570\u636e\u3002
                              • \u5377\u6a21\u5f0f\uff1a

                                • \u6587\u4ef6\u7cfb\u7edf\uff1a\u6570\u636e\u5377\u5c06\u88ab Pod \u6302\u8f7d\u5230\u67d0\u4e2a\u76ee\u5f55\u3002\u5982\u679c\u6570\u636e\u5377\u7684\u5b58\u50a8\u6765\u81ea\u67d0\u5757\u8bbe\u5907\u800c\u8be5\u8bbe\u5907\u76ee\u524d\u4e3a\u7a7a\uff0c\u7b2c\u4e00\u6b21\u6302\u8f7d\u5377\u4e4b\u524d\u4f1a\u5728\u8bbe\u5907\u4e0a\u521b\u5efa\u6587\u4ef6\u7cfb\u7edf\u3002
                                • \u5757\uff1a\u5c06\u6570\u636e\u5377\u4f5c\u4e3a\u539f\u59cb\u5757\u8bbe\u5907\u6765\u4f7f\u7528\u3002\u8fd9\u7c7b\u5377\u4ee5\u5757\u8bbe\u5907\u7684\u65b9\u5f0f\u4ea4\u7ed9 Pod \u4f7f\u7528\uff0c\u5176\u4e0a\u6ca1\u6709\u4efb\u4f55\u6587\u4ef6\u7cfb\u7edf\uff0c\u53ef\u4ee5\u8ba9 Pod \u66f4\u5feb\u5730\u8bbf\u95ee\u6570\u636e\u5377\u3002
                              • \u8282\u70b9\u4eb2\u548c\u6027\uff1a

                            "},{"location":"end-user/kpanda/storage/pv.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377","text":"

                            \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) \u3002

                            • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                            • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                            • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                            "},{"location":"end-user/kpanda/storage/pv.html#_4","title":"\u514b\u9686\u6570\u636e\u5377","text":"

                            \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u3002

                            1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                              • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                                \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                            2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"end-user/kpanda/storage/pv.html#_5","title":"\u66f4\u65b0\u6570\u636e\u5377","text":"

                            \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u3002

                            Note

                            \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u7684\u522b\u540d\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u3001\u56de\u6536\u7b56\u7565\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            "},{"location":"end-user/kpanda/storage/pv.html#_6","title":"\u5220\u9664\u6570\u636e\u5377","text":"

                            \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                            \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                            "},{"location":"end-user/kpanda/storage/pvc.html","title":"\u6570\u636e\u5377\u58f0\u660e(PVC)","text":"

                            \u6301\u4e45\u5377\u58f0\u660e\uff08PersistentVolumeClaim\uff0cPVC\uff09\u8868\u8fbe\u7684\u662f\u7528\u6237\u5bf9\u5b58\u50a8\u7684\u8bf7\u6c42\u3002PVC \u6d88\u8017 PV \u8d44\u6e90\uff0c\u7533\u9886\u4f7f\u7528\u7279\u5b9a\u5927\u5c0f\u3001\u7279\u5b9a\u8bbf\u95ee\u6a21\u5f0f\u7684\u6570\u636e\u5377\uff0c\u4f8b\u5982\u8981\u6c42 PV \u5377\u4ee5 ReadWriteOnce\u3001ReadOnlyMany \u6216 ReadWriteMany \u7b49\u6a21\u5f0f\u6765\u6302\u8f7d\u3002

                            "},{"location":"end-user/kpanda/storage/pvc.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e","text":"

                            \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                            • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u58f0\u660e\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                            • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                            "},{"location":"end-user/kpanda/storage/pvc.html#yaml","title":"YAML \u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> YAML \u521b\u5efa \u3002

                            2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                            "},{"location":"end-user/kpanda/storage/pvc.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> \u521b\u5efa\u6570\u636e\u5377\u58f0\u660e (PVC) \u3002

                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                              • \u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65b9\u5f0f\u3001\u6570\u636e\u5377\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                              • \u521b\u5efa\u65b9\u5f0f\uff1a\u5728\u5df2\u6709\u7684\u5b58\u50a8\u6c60\u6216\u8005\u6570\u636e\u5377\u4e2d\u52a8\u6001\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u6216\u8005\u57fa\u4e8e\u6570\u636e\u5377\u58f0\u660e\u7684\u5feb\u7167\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                                \u57fa\u4e8e\u5feb\u7167\u521b\u5efa\u65f6\u65e0\u6cd5\u4fee\u6539\u6570\u636e\u5377\u58f0\u660e\u7684\u5bb9\u91cf\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5b8c\u6210\u540e\u518d\u8fdb\u884c\u4fee\u6539\u3002

                              • \u9009\u62e9\u521b\u5efa\u65b9\u5f0f\u4e4b\u540e\uff0c\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u60f3\u8981\u4f7f\u7528\u7684\u5b58\u50a8\u6c60/\u6570\u636e\u5377/\u5feb\u7167\u3002

                              • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                              • ReadWriteOnce\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                              • ReadWriteMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                              • ReadOnlyMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                              • ReadWriteOncePod\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                            "},{"location":"end-user/kpanda/storage/pvc.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377\u58f0\u660e","text":"

                            \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \u3002

                            • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\u58f0\u660e\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u58f0\u660e\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                            • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                            • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u58f0\u660e\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                            "},{"location":"end-user/kpanda/storage/pvc.html#_4","title":"\u6269\u5bb9\u6570\u636e\u5377\u58f0\u660e","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230\u60f3\u8981\u8c03\u6574\u5bb9\u91cf\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                            2. \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u6269\u5bb9 \u3002

                            3. \u8f93\u5165\u76ee\u6807\u5bb9\u91cf\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"end-user/kpanda/storage/pvc.html#_5","title":"\u514b\u9686\u6570\u636e\u5377\u58f0\u660e","text":"

                            \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                            1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                              • \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                                \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                            2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"end-user/kpanda/storage/pvc.html#_6","title":"\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e","text":"

                            \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002

                            Note

                            \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u7684\u522b\u540d\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                            "},{"location":"end-user/kpanda/storage/pvc.html#_7","title":"\u5220\u9664\u6570\u636e\u5377\u58f0\u660e","text":"

                            \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                            \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                            "},{"location":"end-user/kpanda/storage/pvc.html#_8","title":"\u5e38\u89c1\u95ee\u9898","text":"
                            1. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5b58\u50a8\u6c60\u6216\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u521b\u5efa\u5b58\u50a8\u6c60\u6216\u521b\u5efa\u6570\u636e\u5377\u3002

                            2. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5feb\u7167\uff0c\u53ef\u4ee5\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\uff0c\u5728\u53f3\u4e0a\u89d2\u5236\u4f5c\u5feb\u7167\u3002

                            3. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u542f\u7528\u5feb\u7167\uff0c\u5219\u65e0\u6cd5\u5236\u4f5c\u5feb\u7167\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u201c\u5236\u4f5c\u5feb\u7167\u201d\u9009\u9879\u3002

                            4. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u5f00\u542f\u6269\u5bb9\u529f\u80fd\uff0c\u5219\u8be5\u6570\u636e\u5377\u4e0d\u652f\u6301\u6269\u5bb9\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u6269\u5bb9\u9009\u9879\u3002

                            "},{"location":"end-user/kpanda/storage/sc-share.html","title":"\u5171\u4eab\u5b58\u50a8\u6c60","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5c06\u4e00\u4e2a\u5b58\u50a8\u6c60\u5171\u4eab\u7ed9\u591a\u4e2a\u547d\u540d\u7a7a\u95f4\u4f7f\u7528\uff0c\u4ee5\u4fbf\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                            1. \u5728\u5b58\u50a8\u6c60\u5217\u8868\u4e2d\u627e\u5230\u9700\u8981\u5171\u4eab\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u64cd\u4f5c\u680f\u4e0b\u70b9\u51fb \u6388\u6743\u547d\u540d\u7a7a\u95f4 \u3002

                            2. \u70b9\u51fb \u81ea\u5b9a\u4e49\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u9010\u4e00\u9009\u62e9\u9700\u8981\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u54ea\u4e9b\u547d\u540d\u7a7a\u95f4\u3002

                              • \u70b9\u51fb \u6388\u6743\u6240\u6709\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u4e00\u6b21\u6027\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u5f53\u524d\u96c6\u7fa4\u4e0b\u7684\u6240\u6709\u547d\u540d\u7a7a\u95f4\u3002
                              • \u5728\u5217\u8868\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u65b9\u70b9\u51fb \u79fb\u9664\u6388\u6743 \uff0c\u53ef\u4ee5\u89e3\u9664\u6388\u6743\uff0c\u505c\u6b62\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u8be5\u547d\u540d\u7a7a\u95f4\u3002

                            "},{"location":"end-user/kpanda/storage/sc.html","title":"\u5b58\u50a8\u6c60(SC)","text":"

                            \u5b58\u50a8\u6c60\u6307\u5c06\u8bb8\u591a\u7269\u7406\u78c1\u76d8\u7ec4\u6210\u4e00\u4e2a\u5927\u578b\u5b58\u50a8\u8d44\u6e90\u6c60\uff0c\u672c\u5e73\u53f0\u652f\u6301\u63a5\u5165\u5404\u7c7b\u5b58\u50a8\u5382\u5546\u540e\u521b\u5efa\u5757\u5b58\u50a8\u6c60\u3001\u672c\u5730\u5b58\u50a8\u6c60\u3001\u81ea\u5b9a\u4e49\u5b58\u50a8\u6c60\uff0c\u7136\u540e\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\u3002

                            "},{"location":"end-user/kpanda/storage/sc.html#sc_1","title":"\u521b\u5efa\u5b58\u50a8\u6c60(SC)","text":"

                            \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b58\u50a8\u6c60\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                            • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                            • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                            "},{"location":"end-user/kpanda/storage/sc.html#yaml","title":"YAML \u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> YAML \u521b\u5efa \u3002

                            2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                            "},{"location":"end-user/kpanda/storage/sc.html#_1","title":"\u8868\u5355\u521b\u5efa","text":"
                            1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> \u521b\u5efa\u5b58\u50a8\u6c60(SC) \u3002

                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\uff0c\u7136\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                              \u81ea\u5b9a\u4e49\u5b58\u50a8\u7cfb\u7edf

                              • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                              • CSI \u5b58\u50a8\u9a71\u52a8\uff1a\u57fa\u4e8e\u6807\u51c6 Kubernetes \u7684\u5bb9\u5668\u5b58\u50a8\u63a5\u53e3\u63d2\u4ef6\uff0c\u9700\u9075\u5b88\u5b58\u50a8\u5382\u5546\u89c4\u5b9a\u7684\u683c\u5f0f\uff0c\u4f8b\u5982 rancher.io/local-path \u3002

                                • \u6709\u5173\u5982\u4f55\u586b\u5199\u4e0d\u540c\u5382\u5546\u63d0\u4f9b\u7684 CSI \u9a71\u52a8\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5b58\u50a8\u7c7b\u3002
                                  • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                                  • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                              HwameiStor \u5b58\u50a8\u7cfb\u7edf

                              • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                              • \u5b58\u50a8\u7cfb\u7edf\uff1aHwameiStor \u5b58\u50a8\u7cfb\u7edf\u3002
                              • \u5b58\u50a8\u7c7b\u578b\uff1a\u652f\u6301 LVM\uff0c\u88f8\u78c1\u76d8\u7c7b\u578b
                                • LVM \u7c7b\u578b \uff1aHwameiStor \u63a8\u8350\u4f7f\u7528\u6b64\u65b9\u5f0f\uff0c\u53ef\u4f7f\u7528\u9ad8\u53ef\u7528\u6570\u636e\u5377\uff0c\u5bf9\u5e94\u7684\u7684 CSI \u5b58\u50a8\u9a71\u52a8\u4e3a lvm.hwameistor.io\u3002
                                • \u88f8\u78c1\u76d8\u6570\u636e\u5377 \uff1a \u9002\u7528\u4e8e\u975e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u65e0\u9ad8\u53ef\u7528\u80fd\u529b\uff0c\u5bf9\u5e94\u7684 CSI \u9a71\u52a8\u4e3a hdd.hwameistor.io
                              • \u9ad8\u53ef\u7528\u6a21\u5f0f\uff1a\u4f7f\u7528\u9ad8\u53ef\u7528\u80fd\u529b\u4e4b\u524d\u8bf7\u786e\u8ba4 DRBD \u7ec4\u4ef6 \u5df2\u5b89\u88c5\u3002\u5f00\u542f\u9ad8\u53ef\u7528\u6a21\u5f0f\u540e\uff0c\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u6570\u8bbe\u7f6e\u4e3a 1 \u548c 2\u3002 \u5982\u9700\u8981\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u4ece 1 Convert \u6210 1
                              • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                              • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                              Note

                              \u76ee\u524d HwameiStor xfs\u3001ext4 \u4e24\u79cd\u6587\u4ef6\u7cfb\u7edf\uff0c\u5176\u4e2d\u9ed8\u8ba4\u4f7f\u7528\u7684\u662f xfs \u6587\u4ef6\u7cfb\u7edf\uff0c\u5982\u679c\u60f3\u8981\u66ff\u6362\u4e3a ext4\uff0c\u53ef\u4ee5\u5728\u81ea\u5b9a\u4e49\u53c2\u6570\u6dfb\u52a0 csi.storage.k8s.io/fstype: ext4

                            "},{"location":"end-user/kpanda/storage/sc.html#sc_2","title":"\u66f4\u65b0\u5b58\u50a8\u6c60(SC)","text":"

                            \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u7f16\u8f91 \u5373\u53ef\u901a\u8fc7\u66f4\u65b0\u5b58\u50a8\u6c60\u3002

                            Info

                            \u9009\u62e9 \u67e5\u770b YAML \u53ef\u4ee5\u67e5\u770b\u8be5\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\uff0c\u4f46\u4e0d\u652f\u6301\u7f16\u8f91\u3002

                            "},{"location":"end-user/kpanda/storage/sc.html#sc_3","title":"\u5220\u9664\u5b58\u50a8\u6c60(SC)","text":"

                            \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                            "},{"location":"end-user/kpanda/workloads/create-cronjob.html","title":"\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u3002

                            \u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u9002\u7528\u4e8e\u4e8e\u6267\u884c\u5468\u671f\u6027\u7684\u64cd\u4f5c\uff0c\u4f8b\u5982\u5907\u4efd\u3001\u62a5\u544a\u751f\u6210\u7b49\u3002\u8fd9\u4e9b\u4efb\u52a1\u53ef\u4ee5\u914d\u7f6e\u4e3a\u5468\u671f\u6027\u91cd\u590d\u7684\uff08\u4f8b\u5982\uff1a\u6bcf\u5929/\u6bcf\u5468/\u6bcf\u6708\u4e00\u6b21\uff09\uff0c\u53ef\u4ee5\u5b9a\u4e49\u4efb\u52a1\u5f00\u59cb\u6267\u884c\u7684\u65f6\u95f4\u95f4\u9694\u3002

                            "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b9a\u65f6\u4efb\u52a1\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                            3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b9a\u65f6\u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                            "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            \u5728 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b9a\u65f6\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                            "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                            \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                            \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                            \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                            • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                            • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                            • \u955c\u50cf\uff1a
                              • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                              • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                              • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                              • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                            • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                            • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                            • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                              • \u6574\u5361\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                              • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                              • Mig \u6a21\u5f0f
                                • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                            \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                            \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                            \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                            \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                            \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                            \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                            "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e","text":"
                            • \u5e76\u53d1\u7b56\u7565\uff1a\u662f\u5426\u5141\u8bb8\u591a\u4e2a Job \u4efb\u52a1\u5e76\u884c\u6267\u884c\u3002

                              • Allow \uff1a\u53ef\u4ee5\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u672a\u5b8c\u6210\u65f6\u5c31\u521b\u5efa\u65b0\u7684\u5b9a\u65f6\u4efb\u52a1\uff0c\u800c\u4e14\u591a\u4e2a\u4efb\u52a1\u53ef\u4ee5\u5e76\u884c\u3002\u4efb\u52a1\u592a\u591a\u53ef\u80fd\u62a2\u5360\u96c6\u7fa4\u8d44\u6e90\u3002
                              • Forbid \uff1a\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u5b8c\u6210\u4e4b\u524d\uff0c\u4e0d\u80fd\u521b\u5efa\u65b0\u4efb\u52a1\uff0c\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\u800c\u4e4b\u524d\u7684\u4efb\u52a1\u4ecd\u672a\u6267\u884c\u5b8c\uff0cCronJob \u4f1a\u5ffd\u7565\u65b0\u4efb\u52a1\u7684\u6267\u884c\u3002
                              • Replace \uff1a\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\uff0c\u4f46\u524d\u4e00\u4e2a\u4efb\u52a1\u8fd8\u672a\u5b8c\u6210\uff0c\u65b0\u7684\u4efb\u52a1\u4f1a\u53d6\u4ee3\u524d\u4e00\u4e2a\u4efb\u52a1\u3002

                              \u4e0a\u8ff0\u89c4\u5219\u4ec5\u9002\u7528\u4e8e\u540c\u4e00\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u3002\u591a\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u603b\u662f\u5141\u8bb8\u5e76\u53d1\u6267\u884c\u3002

                            • \u5b9a\u65f6\u89c4\u5219\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49\u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002

                            • \u4efb\u52a1\u8bb0\u5f55\uff1a\u8bbe\u5b9a\u4fdd\u7559\u591a\u5c11\u6761\u4efb\u52a1\u6267\u884c\u6210\u529f\u6216\u5931\u8d25\u7684\u8bb0\u5f55\u3002 0 \u8868\u793a\u4e0d\u4fdd\u7559\u3002
                            • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u5c31\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002\u9ed8\u8ba4\u503c\u4e3a 360 s\u3002
                            • \u91cd\u8bd5\u6b21\u6570\uff1a\u4efb\u52a1\u53ef\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba4\u503c\u4e3a 6\u3002
                            • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u4efb\u52a1\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002
                            "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_6","title":"\u670d\u52a1\u914d\u7f6e","text":"

                            \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                            1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                            2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                            \u5b9a\u65f6\u4efb\u52a1\u7684\u9ad8\u7ea7\u914d\u7f6e\u4e3b\u8981\u6d89\u53ca\u6807\u7b7e\u4e0e\u6ce8\u89e3\u3002

                            \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            "},{"location":"end-user/kpanda/workloads/create-cronjob.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                            apiVersion: batch/v1\nkind: CronJob\nmetadata:\n  creationTimestamp: '2022-12-26T09:45:47Z'\n  generation: 1\n  name: demo\n  namespace: default\n  resourceVersion: '92726617'\n  uid: d030d8d7-a405-4dcd-b09a-176942ef36c9\nspec:\n  concurrencyPolicy: Allow\n  failedJobsHistoryLimit: 1\n  jobTemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      activeDeadlineSeconds: 360\n      backoffLimit: 6\n      template:\n        metadata:\n          creationTimestamp: null\n        spec:\n          containers:\n            - image: nginx\n              imagePullPolicy: IfNotPresent\n              lifecycle: {}\n              name: container-3\n              resources:\n                limits:\n                  cpu: 250m\n                  memory: 512Mi\n                requests:\n                  cpu: 250m\n                  memory: 512Mi\n              securityContext:\n                privileged: false\n              terminationMessagePath: /dev/termination-log\n              terminationMessagePolicy: File\n          dnsPolicy: ClusterFirst\n          restartPolicy: Never\n          schedulerName: default-scheduler\n          securityContext: {}\n          terminationGracePeriodSeconds: 30\n  schedule: 0 0 13 * 5\n  successfulJobsHistoryLimit: 3\n  suspend: false\nstatus: {}\n
                            "},{"location":"end-user/kpanda/workloads/create-daemonset.html","title":"\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b(DaemonSet)","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u3002

                            \u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u901a\u8fc7\u8282\u70b9\u4eb2\u548c\u6027\u4e0e\u6c61\u70b9\u529f\u80fd\u786e\u4fdd\u5728\u5168\u90e8\u6216\u90e8\u5206\u8282\u70b9\u4e0a\u8fd0\u884c\u4e00\u4e2a Pod \u7684\u526f\u672c\u3002\u5bf9\u4e8e\u65b0\u52a0\u5165\u96c6\u7fa4\u7684\u8282\u70b9\uff0cDaemonSet \u81ea\u52a8\u5728\u65b0\u8282\u70b9\u4e0a\u90e8\u7f72\u76f8\u5e94\u7684 Pod\uff0c\u5e76\u8ddf\u8e2a Pod \u7684\u8fd0\u884c\u72b6\u6001\u3002\u5f53\u8282\u70b9\u88ab\u79fb\u9664\u65f6\uff0cDaemonSet \u5219\u5220\u9664\u5176\u521b\u5efa\u7684\u6240\u6709 Pod\u3002

                            \u5b88\u62a4\u8fdb\u7a0b\u7684\u5e38\u89c1\u7528\u4f8b\u5305\u62ec\uff1a

                            • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u96c6\u7fa4\u5b88\u62a4\u8fdb\u7a0b\u3002

                            • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u65e5\u5fd7\u6536\u96c6\u5b88\u62a4\u8fdb\u7a0b\u3002

                            • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u76d1\u63a7\u5b88\u62a4\u8fdb\u7a0b\u3002

                            \u7b80\u5355\u8d77\u89c1\uff0c\u53ef\u4ee5\u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u4e3a\u6bcf\u79cd\u7c7b\u578b\u7684\u5b88\u62a4\u8fdb\u7a0b\u90fd\u542f\u52a8\u4e00\u4e2a DaemonSet\u3002\u5982\u9700\u66f4\u7cbe\u7ec6\u3001\u66f4\u9ad8\u7ea7\u5730\u7ba1\u7406\u5b88\u62a4\u8fdb\u7a0b\uff0c\u4e5f\u53ef\u4ee5\u4e3a\u540c\u4e00\u79cd\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u591a\u4e2a DaemonSet\u3002\u6bcf\u4e2a DaemonSet \u5177\u6709\u4e0d\u540c\u7684\u6807\u5fd7\uff0c\u5e76\u4e14\u5bf9\u4e0d\u540c\u786c\u4ef6\u7c7b\u578b\u5177\u6709\u4e0d\u540c\u7684\u5185\u5b58\u3001CPU \u8981\u6c42\u3002

                            "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u521b\u5efa DaemonSet \u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b88\u62a4\u8fdb\u7a0b\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                            3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b88\u62a4\u8fdb\u7a0b \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b88\u62a4\u8fdb\u7a0b\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                            "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            \u5728 \u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                            "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                            \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                            \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                            \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                            • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                            • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                            • \u955c\u50cf\uff1a
                              • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                              • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                              • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                              • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                            • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                            • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                            • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                              • \u6574\u5361\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                              • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                              • Mig \u6a21\u5f0f
                                • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                            \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                            \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                            \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                            \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                            \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                            \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                            "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                            \u4e3a\u5b88\u62a4\u8fdb\u7a0b\u521b\u5efa\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u5b88\u62a4\u8fdb\u7a0b\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                            1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                            2. \u914d\u7f6e\u670d\u52a1\u53c2\u6570\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u521b\u5efa\u670d\u52a1\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                            \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3

                            \u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                            • DNS \u7b56\u7565

                              • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                              • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                              • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                              • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                            • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                            • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                            • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                            • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                            • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                            • \u6700\u5927\u65e0\u6548 Pod \u6570\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                            • \u6700\u5927\u6d6a\u6d8c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                            • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                            • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                            • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                            • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                            • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                            • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                            • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                            \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                            \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            "},{"location":"end-user/kpanda/workloads/create-daemonset.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u7684 YAML \u793a\u4f8b
                            kind: DaemonSet\napiVersion: apps/v1\nmetadata:\n  name: hwameistor-local-disk-manager\n  namespace: hwameistor\n  uid: ccbdc098-7de3-4a8a-96dd-d1cee159c92b\n  resourceVersion: '90999552'\n  generation: 1\n  creationTimestamp: '2022-12-15T09:03:44Z'\n  labels:\n    app.kubernetes.io/managed-by: Helm\n  annotations:\n    deprecated.daemonset.template.generation: '1'\n    meta.helm.sh/release-name: hwameistor\n    meta.helm.sh/release-namespace: hwameistor\nspec:\n  selector:\n    matchLabels:\n      app: hwameistor-local-disk-manager\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: hwameistor-local-disk-manager\n    spec:\n      volumes:\n        - name: udev\n          hostPath:\n            path: /run/udev\n            type: Directory\n        - name: procmount\n          hostPath:\n            path: /proc\n            type: Directory\n        - name: devmount\n          hostPath:\n            path: /dev\n            type: Directory\n        - name: socket-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins/disk.hwameistor.io\n            type: DirectoryOrCreate\n        - name: registration-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins_registry/\n            type: Directory\n        - name: plugin-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins\n            type: DirectoryOrCreate\n        - name: pods-mount-dir\n          hostPath:\n            path: /var/lib/kubelet/pods\n            type: DirectoryOrCreate\n      containers:\n        - name: registrar\n          image: k8s-gcr.m.daocloud.io/sig-storage/csi-node-driver-registrar:v2.5.0\n          args:\n            - '--v=5'\n            - '--csi-address=/csi/csi.sock'\n            - >-\n              --kubelet-registration-path=/var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n          env:\n            - name: KUBE_NODE_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n          resources: {}\n          volumeMounts:\n            - name: socket-dir\n              mountPath: /csi\n            - name: registration-dir\n              mountPath: /registration\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - /bin/sh\n                  - '-c'\n                  - >-\n                    rm -rf /registration/disk.hwameistor.io \n                    /registration/disk.hwameistor.io-reg.sock\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: manager\n          image: ghcr.m.daocloud.io/hwameistor/local-disk-manager:v0.6.1\n          command:\n            - /local-disk-manager\n          args:\n            - '--endpoint=$(CSI_ENDPOINT)'\n            - '--nodeid=$(NODENAME)'\n            - '--csi-enable=true'\n          env:\n            - name: CSI_ENDPOINT\n              value: unix://var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n            - name: NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: WATCH_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: NODENAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n            - name: OPERATOR_NAME\n              value: local-disk-manager\n          resources: {}\n          volumeMounts:\n            - name: udev\n              mountPath: /run/udev\n            - name: procmount\n              readOnly: true\n              mountPath: /host/proc\n            - name: devmount\n              mountPath: /dev\n            - name: registration-dir\n              mountPath: /var/lib/kubelet/plugins_registry\n            - name: plugin-dir\n              mountPath: /var/lib/kubelet/plugins\n              mountPropagation: Bidirectional\n            - name: pods-mount-dir\n              mountPath: /var/lib/kubelet/pods\n              mountPropagation: Bidirectional\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: true\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      serviceAccountName: hwameistor-admin\n      serviceAccount: hwameistor-admin\n      hostNetwork: true\n      hostPID: true\n      securityContext: {}\n      schedulerName: default-scheduler\n      tolerations:\n        - key: CriticalAddonsOnly\n          operator: Exists\n        - key: node.kubernetes.io/not-ready\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/master\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/control-plane\n          operator: Exists\n          effect: NoSchedule\n        - key: node.cloudprovider.kubernetes.io/uninitialized\n          operator: Exists\n          effect: NoSchedule\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      maxUnavailable: 1\n      maxSurge: 0\n  revisionHistoryLimit: 10\nstatus:\n  currentNumberScheduled: 4\n  numberMisscheduled: 0\n  desiredNumberScheduled: 4\n  numberReady: 4\n  observedGeneration: 1\n  updatedNumberScheduled: 4\n  numberAvailable: 4\n
                            "},{"location":"end-user/kpanda/workloads/create-deployment.html","title":"\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                            \u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u4e3b\u8981\u4e3a Pod \u548c ReplicaSet \u63d0\u4f9b\u58f0\u660e\u5f0f\u66f4\u65b0\uff0c\u652f\u6301\u5f39\u6027\u4f38\u7f29\u3001\u6eda\u52a8\u5347\u7ea7\u3001\u7248\u672c\u56de\u9000\u7b49\u529f\u80fd\u3002\u5728 Deployment \u4e2d\u58f0\u660e\u671f\u671b\u7684 Pod \u72b6\u6001\uff0cDeployment Controller \u4f1a\u901a\u8fc7 ReplicaSet \u4fee\u6539\u5f53\u524d\u72b6\u6001\uff0c\u4f7f\u5176\u8fbe\u5230\u9884\u5148\u58f0\u660e\u7684\u671f\u671b\u72b6\u6001\u3002Deployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u652f\u6301\u6570\u636e\u6301\u4e45\u5316\uff0c\u9002\u7528\u4e8e\u90e8\u7f72\u65e0\u72b6\u6001\u7684\u3001\u4e0d\u9700\u8981\u4fdd\u5b58\u6570\u636e\u3001\u968f\u65f6\u53ef\u4ee5\u91cd\u542f\u56de\u6eda\u7684\u5e94\u7528\u3002

                            \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                            "},{"location":"end-user/kpanda/workloads/create-deployment.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"end-user/kpanda/workloads/create-deployment.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                            3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u65e0\u72b6\u6001\u8d1f\u8f7d \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002\u5982\u679c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                            "},{"location":"end-user/kpanda/workloads/create-deployment.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                            • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                            • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                            "},{"location":"end-user/kpanda/workloads/create-deployment.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                            \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                            \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                            \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                            • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                            • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                            • \u955c\u50cf\uff1a
                              • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u5b89\u88c5\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                              • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                              • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                              • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                            • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                            • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                            • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                              • \u6574\u5361\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                              • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                              • Mig \u6a21\u5f0f
                                • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                            \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                            \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                            \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                            \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                            \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                            \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                            "},{"location":"end-user/kpanda/workloads/create-deployment.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                            \u4e3a\u65e0\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u65e0\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                            1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                            2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            "},{"location":"end-user/kpanda/workloads/create-deployment.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                            \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                            • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002

                            • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                            • DNS \u7b56\u7565

                              • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                              • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                              • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                              • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                            • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                            • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                            • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                            • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                            • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                            • \u6700\u5927\u4e0d\u53ef\u7528\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                            • \u6700\u5927\u5cf0\u503c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                            • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                            • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                            • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                            • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                            • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                            • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002

                            \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                            \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            "},{"location":"end-user/kpanda/workloads/create-deployment.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\nspec:\n  selector:\n    matchLabels:\n      app: nginx\n  replicas: 2 # \u544a\u77e5 Deployment \u8fd0\u884c 2 \u4e2a\u4e0e\u8be5\u6a21\u677f\u5339\u914d\u7684 Pod\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.14.2\n        ports:\n        - containerPort: 80\n
                            "},{"location":"end-user/kpanda/workloads/create-job.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u4efb\u52a1\uff08Job\uff09\u3002

                            \u4efb\u52a1\uff08Job\uff09\u9002\u7528\u4e8e\u6267\u884c\u4e00\u6b21\u6027\u4efb\u52a1\u3002Job \u4f1a\u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod\uff0cJob \u4f1a\u4e00\u76f4\u91cd\u65b0\u5c1d\u8bd5\u6267\u884c Pod\uff0c\u76f4\u5230\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u4e00\u5b9a\u6570\u91cf\u3002\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u6307\u5b9a\u7684\u6570\u91cf\u540e\uff0cJob \u4e5f\u968f\u4e4b\u7ed3\u675f\u3002\u5220\u9664 Job \u65f6\u4f1a\u4e00\u540c\u6e05\u9664\u8be5 Job \u521b\u5efa\u7684\u6240\u6709 Pod\u3002\u6682\u505c Job \u65f6\u5220\u9664\u8be5 Job \u4e2d\u7684\u6240\u6709\u6d3b\u8dc3 Pod\uff0c\u76f4\u5230 Job \u88ab\u7ee7\u7eed\u6267\u884c\u3002\u6709\u5173\u4efb\u52a1\uff08Job\uff09\u7684\u66f4\u591a\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003Job\u3002

                            "},{"location":"end-user/kpanda/workloads/create-job.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"end-user/kpanda/workloads/create-job.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u4efb\u52a1\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                            3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                            "},{"location":"end-user/kpanda/workloads/create-job.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            \u5728 \u521b\u5efa\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u57fa\u672c\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\u3002\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                            • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                            "},{"location":"end-user/kpanda/workloads/create-job.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                            \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                            \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                            \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                            • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                            • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                            • \u955c\u50cf\uff1a
                              • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                              • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                              • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                              • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                            • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                            • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                            • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                              • \u6574\u5361\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                              • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                              • Mig \u6a21\u5f0f
                                • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                            \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                            \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                            \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                            \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                            \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                            \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                            "},{"location":"end-user/kpanda/workloads/create-job.html#_5","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                            \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u4efb\u52a1\u8bbe\u7f6e\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4e24\u90e8\u5206\u3002

                            \u4efb\u52a1\u8bbe\u7f6e\u6807\u7b7e\u4e0e\u6ce8\u89e3

                            • \u5e76\u884c\u6570\uff1a\u4efb\u52a1\u6267\u884c\u8fc7\u7a0b\u4e2d\u5141\u8bb8\u540c\u65f6\u521b\u5efa\u7684\u6700\u5927 Pod \u6570\uff0c\u5e76\u884c\u6570\u5e94\u4e0d\u5927\u4e8e Pod \u603b\u6570\u3002\u9ed8\u8ba4\u4e3a 1\u3002
                            • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002
                            • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002

                            \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            "},{"location":"end-user/kpanda/workloads/create-job.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u4efb\u52a1\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                            kind: Job\napiVersion: batch/v1\nmetadata:\n  name: demo\n  namespace: default\n  uid: a9708239-0358-4aa1-87d3-a092c080836e\n  resourceVersion: '92751876'\n  generation: 1\n  creationTimestamp: '2022-12-26T10:52:22Z'\n  labels:\n    app: demo\n    controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n    job-name: demo\n  annotations:\n    revisions: >-\n      {\"1\":{\"status\":\"running\",\"uid\":\"a9708239-0358-4aa1-87d3-a092c080836e\",\"start-time\":\"2022-12-26T10:52:22Z\",\"completion-time\":\"0001-01-01T00:00:00Z\"}}\nspec:\n  parallelism: 1\n  backoffLimit: 6\n  selector:\n    matchLabels:\n      controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: demo\n        controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n        job-name: demo\n    spec:\n      containers:\n        - name: container-4\n          image: nginx\n          resources:\n            limits:\n              cpu: 250m\n              memory: 512Mi\n            requests:\n              cpu: 250m\n              memory: 512Mi\n          lifecycle: {}\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: false\n      restartPolicy: Never\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext: {}\n      schedulerName: default-scheduler\n  completionMode: NonIndexed\n  suspend: false\nstatus:\n  startTime: '2022-12-26T10:52:22Z'\n  active: 1\n
                            "},{"location":"end-user/kpanda/workloads/create-statefulset.html","title":"\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u3002

                            \u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u548c\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u7c7b\u4f3c\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406 Pod \u96c6\u5408\u7684\u90e8\u7f72\u548c\u4f38\u7f29\u3002\u4e8c\u8005\u7684\u4e3b\u8981\u533a\u522b\u5728\u4e8e\uff0cDeployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u4fdd\u5b58\u6570\u636e\uff0c\u800c StatefulSet \u662f\u6709\u72b6\u6001\u7684\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406\u6709\u72b6\u6001\u5e94\u7528\u3002\u6b64\u5916\uff0cStatefulSet \u4e2d\u7684 Pod \u5177\u6709\u6c38\u4e45\u4e0d\u53d8\u7684 ID\uff0c\u4fbf\u4e8e\u5728\u5339\u914d\u5b58\u50a8\u5377\u65f6\u8bc6\u522b\u5bf9\u5e94\u7684 Pod\u3002

                            \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                            "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                            "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                            2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u53f3\u4e0a\u89d2 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                            3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                              \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \u5217\u8868\uff0c\u7b49\u5f85\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                              \u70b9\u51fb\u65b0\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u5217\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002

                            "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                            • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                            • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                            • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                            • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                            "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                            \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                            \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                            \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                            • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                            • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                            • \u955c\u50cf\uff1a
                              • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                              • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                              • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                              • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                            • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                            • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                            • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                              • \u6574\u5361\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                              • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                              • Mig \u6a21\u5f0f
                                • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                            \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                            \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                            \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\u3002\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                            \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                            \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                            \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                            "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                            \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                            1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                            2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                            \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                            \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u5bb9\u5668\u7ba1\u7406\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                            • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002

                            • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                            • DNS \u7b56\u7565

                              • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                              • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                              • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                              • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                            • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                            • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                            • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                            • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                            • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                            • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                            • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                            Kubernetes v1.7 \u53ca\u5176\u4e4b\u540e\u7684\u7248\u672c\u53ef\u4ee5\u901a\u8fc7 .spec.podManagementPolicy \u8bbe\u7f6e Pod \u7684\u7ba1\u7406\u7b56\u7565\uff0c\u652f\u6301\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\uff1a

                            • \u6309\u5e8f\u7b56\u7565\uff08OrderedReady\uff09 \uff1a\u9ed8\u8ba4\u7684 Pod \u7ba1\u7406\u7b56\u7565\uff0c\u8868\u793a\u6309\u987a\u5e8f\u90e8\u7f72 Pod\uff0c\u53ea\u6709\u524d\u4e00\u4e2a Pod \u90e8\u7f72 \u6210\u529f\u5b8c\u6210\u540e\uff0c\u6709\u72b6\u6001\u8d1f\u8f7d\u624d\u4f1a\u5f00\u59cb\u90e8\u7f72\u4e0b\u4e00\u4e2a Pod\u3002\u5220\u9664 Pod \u65f6\u5219\u91c7\u7528\u9006\u5e8f\uff0c\u6700\u540e\u521b\u5efa\u7684\u6700\u5148\u88ab\u5220\u9664\u3002

                            • \u5e76\u884c\u7b56\u7565\uff08Parallel\uff09 \uff1a\u5e76\u884c\u521b\u5efa\u6216\u5220\u9664\u5bb9\u5668\uff0c\u548c Deployment \u7c7b\u578b\u7684 Pod \u4e00\u6837\u3002StatefulSet \u63a7\u5236\u5668\u5e76\u884c\u5730\u542f\u52a8\u6216\u7ec8\u6b62\u6240\u6709\u7684\u5bb9\u5668\u3002\u542f\u52a8\u6216\u8005\u7ec8\u6b62\u5176\u4ed6 Pod \u524d\uff0c\u65e0\u9700\u7b49\u5f85 Pod \u8fdb\u5165 Running \u548c ready \u6216\u8005\u5b8c\u5168\u505c\u6b62\u72b6\u6001\u3002 \u8fd9\u4e2a\u9009\u9879\u53ea\u4f1a\u5f71\u54cd\u6269\u7f29\u64cd\u4f5c\u7684\u884c\u4e3a\uff0c\u4e0d\u5f71\u54cd\u66f4\u65b0\u65f6\u7684\u987a\u5e8f\u3002

                            • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                            • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                            • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                            • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                            \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                            ![\u8c03\u5ea6\u7b56\u7565](../../../images/deploy15_1.png)\n

                            \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                            "},{"location":"end-user/kpanda/workloads/create-statefulset.html#yaml","title":"YAML \u521b\u5efa","text":"

                            \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                            1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                            2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                            3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                            kind: StatefulSet\napiVersion: apps/v1\nmetadata:\n  name: test-mysql-123-mysql\n  namespace: default\n  uid: d3f45527-a0ab-4b22-9013-5842a06f4e0e\n  resourceVersion: '20504385'\n  generation: 1\n  creationTimestamp: '2022-09-22T09:34:10Z'\n  ownerReferences:\n    - apiVersion: mysql.presslabs.org/v1alpha1\n      kind: MysqlCluster\n      name: test-mysql-123\n      uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app.kubernetes.io/managed-by: mysql.presslabs.org\n      app.kubernetes.io/name: mysql\n      mysql.presslabs.org/cluster: test-mysql-123\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app.kubernetes.io/component: database\n        app.kubernetes.io/instance: test-mysql-123\n        app.kubernetes.io/managed-by: mysql.presslabs.org\n        app.kubernetes.io/name: mysql\n        app.kubernetes.io/version: 5.7.31\n        mysql.presslabs.org/cluster: test-mysql-123\n      annotations:\n        config_rev: '13941099'\n        prometheus.io/port: '9125'\n        prometheus.io/scrape: 'true'\n        secret_rev: '13941101'\n    spec:\n      volumes:\n        - name: conf\n          emptyDir: {}\n        - name: init-scripts\n          emptyDir: {}\n        - name: config-map\n          configMap:\n            name: test-mysql-123-mysql\n            defaultMode: 420\n        - name: data\n          persistentVolumeClaim:\n            claimName: data\n      initContainers:\n        - name: init\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - clone-and-init\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: BACKUP_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_USER\n                  optional: true\n            - name: BACKUP_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_PASSWORD\n                  optional: true\n          resources: {}\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: config-map\n              mountPath: /mnt/conf\n            - name: data\n              mountPath: /var/lib/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      containers:\n        - name: mysql\n          image: docker.m.daocloud.io/mysql:5.7.31\n          ports:\n            - name: mysql\n              containerPort: 3306\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: ORCH_CLUSTER_ALIAS\n              value: test-mysql-123.default\n            - name: ORCH_HTTP_API\n              value: http://mysql-operator.mcamel-system/api\n            - name: MYSQL_ROOT_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: ROOT_PASSWORD\n                  optional: false\n            - name: MYSQL_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: USER\n                  optional: true\n            - name: MYSQL_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: PASSWORD\n                  optional: true\n            - name: MYSQL_DATABASE\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: DATABASE\n                  optional: true\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 100m\n              memory: 512Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          livenessProbe:\n            exec:\n              command:\n                - mysqladmin\n                - '--defaults-file=/etc/mysql/client.conf'\n                - ping\n            initialDelaySeconds: 60\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          readinessProbe:\n            exec:\n              command:\n                - /bin/sh\n                - '-c'\n                - >-\n                  test $(mysql --defaults-file=/etc/mysql/client.conf -NB -e\n                  'SELECT COUNT(*) FROM sys_operator.status WHERE\n                  name=\"configured\" AND value=\"1\"') -eq 1\n            initialDelaySeconds: 5\n            timeoutSeconds: 5\n            periodSeconds: 2\n            successThreshold: 1\n            failureThreshold: 3\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - bash\n                  - /etc/mysql/pre-shutdown-ha.sh\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: sidecar\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - config-and-serve\n          ports:\n            - name: sidecar-http\n              containerPort: 8080\n              protocol: TCP\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: XTRABACKUP_TARGET_DIR\n              value: /tmp/xtrabackup_backupfiles/\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 10m\n              memory: 64Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          readinessProbe:\n            httpGet:\n              path: /health\n              port: 8080\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: metrics-exporter\n          image: prom/mysqld-exporter:v0.13.0\n          args:\n            - '--web.listen-address=0.0.0.0:9125'\n            - '--web.telemetry-path=/metrics'\n            - '--collect.heartbeat'\n            - '--collect.heartbeat.database=sys_operator'\n          ports:\n            - name: prometheus\n              containerPort: 9125\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_USER\n                  optional: false\n            - name: PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_PASSWORD\n                  optional: false\n            - name: DATA_SOURCE_NAME\n              value: $(USER):$(PASSWORD)@(127.0.0.1:3306)/\n          resources:\n            limits:\n              cpu: 100m\n              memory: 128Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          livenessProbe:\n            httpGet:\n              path: /metrics\n              port: 9125\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 30\n            periodSeconds: 30\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: pt-heartbeat\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - pt-heartbeat\n            - '--update'\n            - '--replace'\n            - '--check-read-only'\n            - '--create-table'\n            - '--database'\n            - sys_operator\n            - '--table'\n            - heartbeat\n            - '--utc'\n            - '--defaults-file'\n            - /etc/mysql/heartbeat.conf\n            - '--fail-successive-errors=20'\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n          resources:\n            limits:\n              cpu: 100m\n              memory: 64Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext:\n        runAsUser: 999\n        fsGroup: 999\n      affinity:\n        podAntiAffinity:\n          preferredDuringSchedulingIgnoredDuringExecution:\n            - weight: 100\n              podAffinityTerm:\n                labelSelector:\n                  matchLabels:\n                    app.kubernetes.io/component: database\n                    app.kubernetes.io/instance: test-mysql-123\n                    app.kubernetes.io/managed-by: mysql.presslabs.org\n                    app.kubernetes.io/name: mysql\n                    app.kubernetes.io/version: 5.7.31\n                    mysql.presslabs.org/cluster: test-mysql-123\n                topologyKey: kubernetes.io/hostname\n      schedulerName: default-scheduler\n  volumeClaimTemplates:\n    - kind: PersistentVolumeClaim\n      apiVersion: v1\n      metadata:\n        name: data\n        creationTimestamp: null\n        ownerReferences:\n          - apiVersion: mysql.presslabs.org/v1alpha1\n            kind: MysqlCluster\n            name: test-mysql-123\n            uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n            controller: true\n      spec:\n        accessModes:\n          - ReadWriteOnce\n        resources:\n          limits:\n            storage: 1Gi\n          requests:\n            storage: 1Gi\n        storageClassName: local-path\n        volumeMode: Filesystem\n      status:\n        phase: Pending\n  serviceName: mysql\n  podManagementPolicy: OrderedReady\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      partition: 0\n  revisionHistoryLimit: 10\nstatus:\n  observedGeneration: 1\n  replicas: 1\n  readyReplicas: 1\n  currentReplicas: 1\n  updatedReplicas: 1\n  currentRevision: test-mysql-123-mysql-6b8f5577c7\n  updateRevision: test-mysql-123-mysql-6b8f5577c7\n  collisionCount: 0\n  availableReplicas: 1\n
                            "},{"location":"end-user/kpanda/workloads/pod-config/env-variables.html","title":"\u914d\u7f6e\u73af\u5883\u53d8\u91cf","text":"

                            \u73af\u5883\u53d8\u91cf\u662f\u6307\u5bb9\u5668\u8fd0\u884c\u73af\u5883\u4e2d\u8bbe\u5b9a\u7684\u4e00\u4e2a\u53d8\u91cf\uff0c\u7528\u4e8e\u7ed9 Pod \u6dfb\u52a0\u73af\u5883\u6807\u5fd7\u6216\u4f20\u9012\u914d\u7f6e\u7b49\uff0c\u652f\u6301\u901a\u8fc7\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5728\u539f\u751f Kubernetes \u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u56fe\u5f62\u5316\u754c\u9762\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u914d\u7f6e\u65b9\u5f0f\uff1a

                            • \u952e\u503c\u5bf9\uff08Key/Value Pair\uff09\uff1a\u5c06\u81ea\u5b9a\u4e49\u7684\u952e\u503c\u5bf9\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf
                            • \u8d44\u6e90\u5f15\u7528\uff08Resource\uff09\uff1a\u5c06 Container \u5b9a\u4e49\u7684\u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982\u5bb9\u5668\u7684\u5185\u5b58\u9650\u5236\u3001\u526f\u672c\u6570\u7b49
                            • \u53d8\u91cf/\u53d8\u91cf\u5f15\u7528\uff08Pod Field\uff09\uff1a\u5c06 Pod \u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982 Pod \u7684\u540d\u79f0
                            • \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\uff08ConfigMap key\uff09\uff1a\u5bfc\u5165\u914d\u7f6e\u9879\u4e2d\u67d0\u4e2a\u952e\u7684\u503c\u4f5c\u4e3a\u67d0\u4e2a\u73af\u5883\u53d8\u91cf\u7684\u503c
                            • \u5bc6\u94a5\u952e\u503c\u5bfc\u5165\uff08Secret Key\uff09\uff1a\u4f7f\u7528\u6765\u81ea Secret \u4e2d\u7684\u6570\u636e\u5b9a\u4e49\u73af\u5883\u53d8\u91cf\u7684\u503c
                            • \u5bc6\u94a5\u5bfc\u5165\uff08Secret\uff09\uff1a\u5c06 Secret \u4e2d\u7684\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf
                            • \u914d\u7f6e\u9879\u5bfc\u5165\uff08ConfigMap\uff09\uff1a\u5c06\u914d\u7f6e\u9879\u4e2d\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf
                            "},{"location":"end-user/kpanda/workloads/pod-config/health-check.html","title":"\u5bb9\u5668\u7684\u5065\u5eb7\u68c0\u67e5","text":"

                            \u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u6839\u636e\u7528\u6237\u9700\u6c42\uff0c\u68c0\u67e5\u5bb9\u5668\u7684\u5065\u5eb7\u72b6\u51b5\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5185\u7684\u5e94\u7528\u7a0b\u5e8f\u5165\u5982\u679c\u5f02\u5e38\uff0c\u5bb9\u5668\u4f1a\u81ea\u52a8\u8fdb\u884c\u91cd\u542f\u6062\u590d\u3002Kubernetes \u63d0\u4f9b\u4e86\u5b58\u6d3b\uff08Liveness\uff09\u68c0\u67e5\u3001\u5c31\u7eea\uff08Readiness\uff09\u68c0\u67e5\u548c\u542f\u52a8\uff08Startup\uff09\u68c0\u67e5\u3002

                            • \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09 \u53ef\u63a2\u6d4b\u5230\u5e94\u7528\u6b7b\u9501\uff08\u5e94\u7528\u7a0b\u5e8f\u5728\u8fd0\u884c\uff0c\u4f46\u662f\u65e0\u6cd5\u7ee7\u7eed\u6267\u884c\u540e\u9762\u7684\u6b65\u9aa4\uff09\u60c5\u51b5\u3002 \u91cd\u542f\u8fd9\u79cd\u72b6\u6001\u4e0b\u7684\u5bb9\u5668\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\uff0c\u5373\u4f7f\u5176\u4e2d\u5b58\u5728\u7f3a\u9677\u3002

                            • \u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09 \u53ef\u63a2\u77e5\u5bb9\u5668\u4f55\u65f6\u51c6\u5907\u597d\u63a5\u53d7\u8bf7\u6c42\u6d41\u91cf\uff0c\u5f53\u4e00\u4e2a Pod \u5185\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5c31\u7eea\u65f6\uff0c\u624d\u80fd\u8ba4\u4e3a\u8be5 Pod \u5c31\u7eea\u3002 \u8fd9\u79cd\u4fe1\u53f7\u7684\u4e00\u4e2a\u7528\u9014\u5c31\u662f\u63a7\u5236\u54ea\u4e2a Pod \u4f5c\u4e3a Service \u7684\u540e\u7aef\u3002 \u82e5 Pod \u5c1a\u672a\u5c31\u7eea\uff0c\u4f1a\u88ab\u4ece Service \u7684\u8d1f\u8f7d\u5747\u8861\u5668\u4e2d\u5254\u9664\u3002

                            • \u542f\u52a8\u68c0\u67e5\uff08StartupProbe\uff09 \u53ef\u4ee5\u4e86\u89e3\u5e94\u7528\u5bb9\u5668\u4f55\u65f6\u542f\u52a8\uff0c\u914d\u7f6e\u540e\uff0c\u53ef\u63a7\u5236\u5bb9\u5668\u5728\u542f\u52a8\u6210\u529f\u540e\u518d\u8fdb\u884c\u5b58\u6d3b\u6027\u548c\u5c31\u7eea\u6001\u68c0\u67e5\uff0c \u786e\u4fdd\u8fd9\u4e9b\u5b58\u6d3b\u3001\u5c31\u7eea\u63a2\u6d4b\u5668\u4e0d\u4f1a\u5f71\u54cd\u5e94\u7528\u7684\u542f\u52a8\u3002 \u542f\u52a8\u63a2\u6d4b\u53ef\u4ee5\u7528\u4e8e\u5bf9\u6162\u542f\u52a8\u5bb9\u5668\u8fdb\u884c\u5b58\u6d3b\u6027\u68c0\u6d4b\uff0c\u907f\u514d\u5b83\u4eec\u5728\u542f\u52a8\u8fd0\u884c\u4e4b\u524d\u5c31\u88ab\u6740\u6389\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/health-check.html#_2","title":"\u5b58\u6d3b\u548c\u5c31\u7eea\u68c0\u67e5","text":"

                            \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09\u7684\u914d\u7f6e\u548c\u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09\u7684\u914d\u7f6e\u53c2\u6570\u76f8\u4f3c\uff0c \u552f\u4e00\u533a\u522b\u662f\u8981\u4f7f\u7528 readinessProbe \u5b57\u6bb5\uff0c\u800c\u4e0d\u662f livenessProbe \u5b57\u6bb5\u3002

                            HTTP GET \u53c2\u6570\u8bf4\u660e\uff1a

                            \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u8def\u5f84\uff08 Path\uff09 \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\u3002\u5982\uff1a \u793a\u4f8b\u4e2d\u7684 /healthz \u8def\u5f84 \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u534f\u8bae \u8bbf\u95ee\u534f\u8bae\uff0cHttp \u6216\u8005Https \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u6210\u529f\u9608\u503c\uff08successThreshold\uff09 \u63a2\u6d4b\u5931\u8d25\u540e\uff0c\u88ab\u89c6\u4e3a\u6210\u529f\u7684\u6700\u5c0f\u8fde\u7eed\u6210\u529f\u6570\u3002\u9ed8\u8ba4\u503c\u662f 1\uff0c\u6700\u5c0f\u503c\u662f 1\u3002\u5b58\u6d3b\u548c\u542f\u52a8\u63a2\u6d4b\u7684\u8fd9\u4e2a\u503c\u5fc5\u987b\u662f 1\u3002 \u6700\u5927\u5931\u8d25\u6b21\u6570\uff08failureThreshold\uff09 \u5f53\u63a2\u6d4b\u5931\u8d25\u65f6\u91cd\u8bd5\u7684\u6b21\u6570\u3002\u5b58\u6d3b\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03\u5c31\u610f\u5473\u7740\u91cd\u65b0\u542f\u52a8\u5bb9\u5668\u3002\u5c31\u7eea\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03 Pod \u4f1a\u88ab\u6253\u4e0a\u672a\u5c31\u7eea\u7684\u6807\u7b7e\u3002\u9ed8\u8ba4\u503c\u662f 3\u3002\u6700\u5c0f\u503c\u662f 1\u3002"},{"location":"end-user/kpanda/workloads/pod-config/health-check.html#http-get","title":"\u4f7f\u7528 HTTP GET \u8bf7\u6c42\u68c0\u67e5","text":"

                            YAML \u793a\u4f8b\uff1a

                            apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-http\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/liveness\n    args:\n    - /server\n    livenessProbe:\n      httpGet:\n        path: /healthz  # \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\n        port: 8080  # \u670d\u52a1\u76d1\u542c\u7aef\u53e3\n        httpHeaders:\n        - name: Custom-Header\n          value: Awesome\n      initialDelaySeconds: 3  # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u5e94\u8be5\u7b49\u5f85 3 \u79d2\n      periodSeconds: 3   #kubelet \u6bcf\u9694 3 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                            \u6309\u7167\u8bbe\u5b9a\u7684\u89c4\u5219\uff0cKubelet \u5411\u5bb9\u5668\u5185\u8fd0\u884c\u7684\u670d\u52a1\uff08\u670d\u52a1\u5728\u76d1\u542c 8080 \u7aef\u53e3\uff09\u53d1\u9001\u4e00\u4e2a HTTP GET \u8bf7\u6c42\u6765\u6267\u884c\u63a2\u6d4b\u3002\u5982\u679c\u670d\u52a1\u5668\u4e0a /healthz \u8def\u5f84\u4e0b\u7684\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u6210\u529f\u4ee3\u7801\uff0c\u5219 kubelet \u8ba4\u4e3a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u5931\u8d25\u4ee3\u7801\uff0c\u5219 kubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u5c06\u5176\u91cd\u542f\u3002\u8fd4\u56de\u5927\u4e8e\u6216\u7b49\u4e8e 200 \u5e76\u4e14\u5c0f\u4e8e 400 \u7684\u4efb\u4f55\u4ee3\u7801\u90fd\u6807\u793a\u6210\u529f\uff0c\u5176\u5b83\u8fd4\u56de\u4ee3\u7801\u90fd\u6807\u793a\u5931\u8d25\u3002 \u5bb9\u5668\u5b58\u6d3b\u671f\u95f4\u7684\u6700\u5f00\u59cb 10 \u79d2\u4e2d\uff0c /healthz \u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 200 \u7684\u72b6\u6001\u7801\u3002 \u4e4b\u540e\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 500 \u7684\u72b6\u6001\u7801\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/health-check.html#tcp","title":"\u4f7f\u7528 TCP \u7aef\u53e3\u68c0\u67e5","text":"

                            TCP \u7aef\u53e3\u53c2\u6570\u8bf4\u660e\uff1a

                            \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002

                            \u5bf9\u4e8e\u63d0\u4f9bTCP\u901a\u4fe1\u670d\u52a1\u7684\u5bb9\u5668\uff0c\u57fa\u4e8e\u6b64\u914d\u7f6e\uff0c\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\u96c6\u7fa4\u5bf9\u8be5\u5bb9\u5668\u5efa\u7acbTCP\u8fde\u63a5\uff0c\u5982\u679c\u8fde\u63a5\u6210\u529f\uff0c\u5219\u8bc1\u660e\u63a2\u6d4b\u6210\u529f\uff0c\u5426\u5219\u63a2\u6d4b\u5931\u8d25\u3002\u9009\u62e9TCP\u7aef\u53e3\u63a2\u6d4b\u65b9\u5f0f\uff0c\u5fc5\u987b\u6307\u5b9a\u5bb9\u5668\u76d1\u542c\u7684\u7aef\u53e3\u3002

                            YAML \u793a\u4f8b\uff1a

                            apiVersion: v1\nkind: Pod\nmetadata:\n  name: goproxy\n  labels:\n    app: goproxy\nspec:\n  containers:\n  - name: goproxy\n    image: k8s.gcr.io/goproxy:0.1\n    ports:\n    - containerPort: 8080\n    readinessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 5\n      periodSeconds: 10\n    livenessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 15\n      periodSeconds: 20\n

                            \u6b64\u793a\u4f8b\u540c\u65f6\u4f7f\u7528\u5c31\u7eea\u548c\u5b58\u6d3b\u63a2\u9488\u3002kubelet \u5728\u5bb9\u5668\u542f\u52a8 5 \u79d2\u540e\u53d1\u9001\u7b2c\u4e00\u4e2a\u5c31\u7eea\u63a2\u6d4b\u3002 \u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\uff0c \u5982\u679c\u63a2\u6d4b\u6210\u529f\uff0c\u8fd9\u4e2a Pod \u4f1a\u88ab\u6807\u8bb0\u4e3a\u5c31\u7eea\u72b6\u6001\uff0ckubelet \u5c06\u7ee7\u7eed\u6bcf\u9694 10 \u79d2\u8fd0\u884c\u4e00\u6b21\u68c0\u6d4b\u3002

                            \u9664\u4e86\u5c31\u7eea\u63a2\u6d4b\uff0c\u8fd9\u4e2a\u914d\u7f6e\u5305\u62ec\u4e86\u4e00\u4e2a\u5b58\u6d3b\u63a2\u6d4b\u3002 kubelet \u4f1a\u5728\u5bb9\u5668\u542f\u52a8 15 \u79d2\u540e\u8fdb\u884c\u7b2c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\u3002 \u5c31\u7eea\u63a2\u6d4b\u4f1a\u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\u3002 \u5982\u679c\u5b58\u6d3b\u63a2\u6d4b\u5931\u8d25\uff0c\u5bb9\u5668\u4f1a\u88ab\u91cd\u65b0\u542f\u52a8\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/health-check.html#_3","title":"\u6267\u884c\u547d\u4ee4\u68c0\u67e5","text":"

                            YAML \u793a\u4f8b:

                            apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-exec\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/busybox\n    args:\n    - /bin/sh\n    - -c\n    - touch /tmp/healthy; sleep 30; rm -f /tmp/healthy; sleep 600\n    livenessProbe:\n      exec:\n        command:\n        - cat\n        - /tmp/healthy\n      initialDelaySeconds: 5 # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\n      periodSeconds: 5  #kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                            periodSeconds \u5b57\u6bb5\u6307\u5b9a\u4e86 kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\uff0c initialDelaySeconds \u5b57\u6bb5\u6307\u5b9a kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\u3002\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\uff0c\u96c6\u7fa4\u5468\u671f\u6027\u7684\u901a\u8fc7 kubelet \u5728\u5bb9\u5668\u5185\u6267\u884c\u547d\u4ee4 cat /tmp/healthy \u6765\u8fdb\u884c\u63a2\u6d4b\u3002 \u5982\u679c\u547d\u4ee4\u6267\u884c\u6210\u529f\u5e76\u4e14\u8fd4\u56de\u503c\u4e3a 0\uff0ckubelet \u5c31\u4f1a\u8ba4\u4e3a\u8fd9\u4e2a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u8fd9\u4e2a\u547d\u4ee4\u8fd4\u56de\u975e 0 \u503c\uff0ckubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u91cd\u65b0\u542f\u52a8\u5b83\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/health-check.html#_4","title":"\u4f7f\u7528\u542f\u52a8\u524d\u68c0\u67e5\u4fdd\u62a4\u6162\u542f\u52a8\u5bb9\u5668","text":"

                            \u6709\u4e9b\u5e94\u7528\u5728\u542f\u52a8\u65f6\u9700\u8981\u8f83\u957f\u7684\u521d\u59cb\u5316\u65f6\u95f4\uff0c\u9700\u8981\u4f7f\u7528\u76f8\u540c\u7684\u547d\u4ee4\u6765\u8bbe\u7f6e\u542f\u52a8\u63a2\u6d4b\uff0c\u9488\u5bf9 HTTP \u6216 TCP \u68c0\u6d4b\uff0c\u53ef\u4ee5\u901a\u8fc7\u5c06 failureThreshold * periodSeconds \u53c2\u6570\u8bbe\u7f6e\u4e3a\u8db3\u591f\u957f\u7684\u65f6\u95f4\u6765\u5e94\u5bf9\u542f\u52a8\u9700\u8981\u8f83\u957f\u65f6\u95f4\u7684\u573a\u666f\u3002

                            YAML \u793a\u4f8b\uff1a

                            ports:\n- name: liveness-port\n  containerPort: 8080\n  hostPort: 8080\n\nlivenessProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 1\n  periodSeconds: 10\n\nstartupProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 30\n  periodSeconds: 10\n

                            \u5982\u4e0a\u8bbe\u7f6e\uff0c\u5e94\u7528\u5c06\u6709\u6700\u591a 5 \u5206\u949f\uff0830 * 10 = 300s\uff09\u7684\u65f6\u95f4\u6765\u5b8c\u6210\u542f\u52a8\u8fc7\u7a0b\uff0c \u4e00\u65e6\u542f\u52a8\u63a2\u6d4b\u6210\u529f\uff0c\u5b58\u6d3b\u63a2\u6d4b\u4efb\u52a1\u5c31\u4f1a\u63a5\u7ba1\u5bf9\u5bb9\u5668\u7684\u63a2\u6d4b\uff0c\u5bf9\u5bb9\u5668\u6b7b\u9501\u4f5c\u51fa\u5feb\u901f\u54cd\u5e94\u3002 \u5982\u679c\u542f\u52a8\u63a2\u6d4b\u4e00\u76f4\u6ca1\u6709\u6210\u529f\uff0c\u5bb9\u5668\u4f1a\u5728 300 \u79d2\u540e\u88ab\u6740\u6b7b\uff0c\u5e76\u4e14\u6839\u636e restartPolicy \u6765 \u6267\u884c\u8fdb\u4e00\u6b65\u5904\u7f6e\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/job-parameters.html","title":"\u4efb\u52a1\u53c2\u6570\u8bf4\u660e","text":"

                            \u6839\u636e .spec.completions \u548c .spec.Parallelism \u7684\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u5c06\u4efb\u52a1\uff08Job\uff09\u5212\u5206\u4e3a\u4ee5\u4e0b\u51e0\u79cd\u7c7b\u578b:

                            Job \u7c7b\u578b \u8bf4\u660e \u975e\u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176 Job \u6210\u529f\u7ed3\u675f \u5177\u6709\u786e\u5b9a\u5b8c\u6210\u8ba1\u6570\u7684\u5e76\u884c Job \u5f53\u6210\u529f\u7684 Pod \u4e2a\u6570\u8fbe\u5230 .spec.completions \u65f6\uff0cJob \u88ab\u89c6\u4e3a\u5b8c\u6210 \u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod \u76f4\u81f3\u6709\u4e00\u4e2a\u6210\u529f\u7ed3\u675f

                            \u53c2\u6570\u8bf4\u660e

                            RestartPolicy \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176\u6210\u529f\u7ed3\u675f .spec.completions \u8868\u793a Job \u7ed3\u675f\u9700\u8981\u6210\u529f\u8fd0\u884c\u7684 Pod \u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 .spec.parallelism \u8868\u793a\u5e76\u884c\u8fd0\u884c\u7684 Pod \u7684\u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 spec.backoffLimit \u8868\u793a\u5931\u8d25 Pod \u7684\u91cd\u8bd5\u6700\u5927\u6b21\u6570\uff0c\u8d85\u8fc7\u8fd9\u4e2a\u6b21\u6570\u4e0d\u4f1a\u7ee7\u7eed\u91cd\u8bd5\u3002 .spec.activeDeadlineSeconds \u8868\u793a Pod \u8fd0\u884c\u65f6\u95f4\uff0c\u4e00\u65e6\u8fbe\u5230\u8fd9\u4e2a\u65f6\u95f4\uff0cJob \u5373\u5176\u6240\u6709\u7684 Pod \u90fd\u4f1a\u505c\u6b62\u3002\u4e14activeDeadlineSeconds \u4f18\u5148\u7ea7\u9ad8\u4e8e backoffLimit\uff0c\u5373\u5230\u8fbe activeDeadlineSeconds \u7684 Job \u4f1a\u5ffd\u7565backoffLimit \u7684\u8bbe\u7f6e\u3002

                            \u4ee5\u4e0b\u662f\u4e00\u4e2a Job \u914d\u7f6e\u793a\u4f8b\uff0c\u4fdd\u5b58\u5728 myjob.yaml \u4e2d\uff0c\u5176\u8ba1\u7b97 \u03c0 \u5230 2000 \u4f4d\u5e76\u6253\u5370\u8f93\u51fa\u3002

                            apiVersion: batch/v1\nkind: Job            #\u5f53\u524d\u8d44\u6e90\u7684\u7c7b\u578b\nmetadata:\n  name: myjob\nspec:\n  completions: 50        # Job\u7ed3\u675f\u9700\u8981\u8fd0\u884c50\u4e2aPod\uff0c\u8fd9\u4e2a\u793a\u4f8b\u4e2d\u5c31\u662f\u6253\u5370\u03c0 50\u6b21\n  parallelism: 5        # \u5e76\u884c5\u4e2aPod\n  backoffLimit: 5        # \u6700\u591a\u91cd\u8bd55\u6b21\n  template:\n    spec:\n      containers:\n      - name: pi\n        image: perl\n        command: [\"perl\",  \"-Mbignum=bpi\", \"-wle\", \"print bpi(2000)\"]\n      restartPolicy: Never #\u91cd\u542f\u7b56\u7565\n

                            \u76f8\u5173\u547d\u4ee4

                            kubectl apply -f myjob.yaml  #\u542f\u52a8 job\nkubectl get job #\u67e5\u770b\u8fd9\u4e2ajob\nkubectl logs myjob-1122dswzs \u67e5\u770bJob Pod \u7684\u65e5\u5fd7\n
                            "},{"location":"end-user/kpanda/workloads/pod-config/lifecycle.html","title":"\u914d\u7f6e\u5bb9\u5668\u751f\u547d\u5468\u671f","text":"

                            Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c Pod \u5185\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \u72b6\u6001\u3002\u5982\u679c Pod \u4e2d\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\uff0c\u5219\u72b6\u6001\u53d8\u4e3a Failed \u3002\u4ee5\u4e0b phase \u5b57\u6bb5\u503c\u8868\u660e\u4e86\u4e00\u4e2a Pod \u5904\u4e8e\u751f\u547d\u5468\u671f\u7684\u54ea\u4e2a\u9636\u6bb5\u3002

                            \u503c \u63cf\u8ff0 Pending \uff08\u60ac\u51b3\uff09 Pod \u5df2\u88ab\u7cfb\u7edf\u63a5\u53d7\uff0c\u4f46\u6709\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u5bb9\u5668\u5c1a\u672a\u521b\u5efa\u4ea6\u672a\u8fd0\u884c\u3002\u8fd9\u4e2a\u9636\u6bb5\u5305\u62ec\u7b49\u5f85 Pod \u88ab\u8c03\u5ea6\u7684\u65f6\u95f4\u548c\u901a\u8fc7\u7f51\u7edc\u4e0b\u8f7d\u955c\u50cf\u7684\u65f6\u95f4\u3002 Running \uff08\u8fd0\u884c\u4e2d\uff09 Pod \u5df2\u7ecf\u7ed1\u5b9a\u5230\u4e86\u67d0\u4e2a\u8282\u70b9\uff0cPod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u88ab\u521b\u5efa\u3002\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u4ecd\u5728\u8fd0\u884c\uff0c\u6216\u8005\u6b63\u5904\u4e8e\u542f\u52a8\u6216\u91cd\u542f\u72b6\u6001\u3002 Succeeded \uff08\u6210\u529f\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u6210\u529f\u7ec8\u6b62\uff0c\u5e76\u4e14\u4e0d\u4f1a\u518d\u91cd\u542f\u3002 Failed \uff08\u5931\u8d25\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u7ec8\u6b62\uff0c\u5e76\u4e14\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u662f\u56e0\u4e3a\u5931\u8d25\u800c\u7ec8\u6b62\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u5bb9\u5668\u4ee5\u975e 0 \u72b6\u6001\u9000\u51fa\u6216\u8005\u88ab\u7cfb\u7edf\u7ec8\u6b62\u3002 Unknown \uff08\u672a\u77e5\uff09 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\uff0c\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u6240\u81f4\u3002

                            \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u4e2d\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u901a\u5e38\u4f7f\u7528\u955c\u50cf\u6765\u6307\u5b9a\u5bb9\u5668\u4e2d\u7684\u8fd0\u884c\u73af\u5883\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5728\u6784\u5efa\u955c\u50cf\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 Entrypoint \u548c CMD \u4e24\u4e2a\u5b57\u6bb5\u6765\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u65f6\u6267\u884c\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002\u5982\u679c\u9700\u8981\u66f4\u6539\u5bb9\u5668\u955c\u50cf\u542f\u52a8\u524d\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u7684\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u5bb9\u5668\u7684\u751f\u547d\u5468\u671f\u4e8b\u4ef6\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u6765\u8986\u76d6\u955c\u50cf\u4e2d\u9ed8\u8ba4\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/lifecycle.html#_2","title":"\u751f\u547d\u5468\u671f\u914d\u7f6e","text":"

                            \u6839\u636e\u4e1a\u52a1\u9700\u8981\u5bf9\u5bb9\u5668\u7684\u542f\u52a8\u547d\u4ee4\u3001\u542f\u52a8\u540e\u547d\u4ee4\u3001\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u542f\u52a8\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5c06\u6309\u7167\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u542f\u52a8\u3002 \u542f\u52a8\u540e\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u542f\u52a8\u540e\u51fa\u53d1\u7684\u547d\u4ee4 \u505c\u6b62\u524d\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5728\u6536\u5230\u505c\u6b62\u547d\u4ee4\u540e\u6267\u884c\u7684\u547d\u4ee4\u3002\u786e\u4fdd\u5347\u7ea7\u6216\u5b9e\u4f8b\u5220\u9664\u65f6\u53ef\u63d0\u524d\u5c06\u5b9e\u4f8b\u4e2d\u8fd0\u884c\u7684\u4e1a\u52a1\u6392\u6c34\u3002 --"},{"location":"end-user/kpanda/workloads/pod-config/lifecycle.html#_3","title":"\u542f\u52a8\u547d\u4ee4","text":"

                            \u6839\u636e\u4e0b\u8868\u5bf9\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"end-user/kpanda/workloads/pod-config/lifecycle.html#_4","title":"\u542f\u52a8\u540e\u547d\u4ee4","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u542f\u52a8\u540e\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                            \u547d\u4ee4\u884c\u811a\u672c\u914d\u7f6e

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"end-user/kpanda/workloads/pod-config/lifecycle.html#_5","title":"\u505c\u6b62\u524d\u547d\u4ee4","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                            HTTP \u8bf7\u6c42\u914d\u7f6e

                            \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c URL \u8def\u5f84 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684URL\u8def\u5f84\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u7aef\u53e3 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684\u7aef\u53e3\u3002 port=8080 \u8282\u70b9\u5730\u5740 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684 IP \u5730\u5740\uff0c\u9ed8\u8ba4\u662f\u5bb9\u5668\u6240\u5728\u7684\u8282\u70b9 IP\u3002 --"},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                            \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8282\u70b9\u4e5f\u6709\u6807\u7b7e\u3002\u60a8\u53ef\u4ee5\u624b\u52a8\u6dfb\u52a0\u6807\u7b7e\u3002 Kubernetes \u4e5f\u4f1a\u4e3a\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u6dfb\u52a0\u4e00\u4e9b\u6807\u51c6\u7684\u6807\u7b7e\u3002\u53c2\u89c1\u5e38\u7528\u7684\u6807\u7b7e\u3001\u6ce8\u89e3\u548c\u6c61\u70b9\u4ee5\u4e86\u89e3\u5e38\u89c1\u7684\u8282\u70b9\u6807\u7b7e\u3002\u901a\u8fc7\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u60a8\u53ef\u4ee5\u8ba9 Pod \u8c03\u5ea6\u5230\u7279\u5b9a\u8282\u70b9\u6216\u8282\u70b9\u7ec4\u4e0a\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u529f\u80fd\u6765\u786e\u4fdd\u7279\u5b9a\u7684 Pod \u53ea\u80fd\u8fd0\u884c\u5728\u5177\u6709\u4e00\u5b9a\u9694\u79bb\u6027\uff0c\u5b89\u5168\u6027\u6216\u76d1\u7ba1\u5c5e\u6027\u7684\u8282\u70b9\u4e0a\u3002

                            nodeSelector \u662f\u8282\u70b9\u9009\u62e9\u7ea6\u675f\u7684\u6700\u7b80\u5355\u63a8\u8350\u5f62\u5f0f\u3002\u60a8\u53ef\u4ee5\u5c06 nodeSelector \u5b57\u6bb5\u6dfb\u52a0\u5230 Pod \u7684\u89c4\u7ea6\u4e2d\u8bbe\u7f6e\u60a8\u5e0c\u671b\u76ee\u6807\u8282\u70b9\u6240\u5177\u6709\u7684\u8282\u70b9\u6807\u7b7e\u3002Kubernetes \u53ea\u4f1a\u5c06 Pod \u8c03\u5ea6\u5230\u62e5\u6709\u6307\u5b9a\u6bcf\u4e2a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002 nodeSelector \u63d0\u4f9b\u4e86\u4e00\u79cd\u6700\u7b80\u5355\u7684\u65b9\u6cd5\u6765\u5c06 Pod \u7ea6\u675f\u5230\u5177\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002\u4eb2\u548c\u6027\u548c\u53cd\u4eb2\u548c\u6027\u6269\u5c55\u4e86\u60a8\u53ef\u4ee5\u5b9a\u4e49\u7684\u7ea6\u675f\u7c7b\u578b\u3002\u4f7f\u7528\u4eb2\u548c\u6027\u4e0e\u53cd\u4eb2\u548c\u6027\u7684\u4e00\u4e9b\u597d\u5904\u6709\uff1a

                            • \u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u8bed\u8a00\u7684\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002 nodeSelector \u53ea\u80fd\u9009\u62e9\u62e5\u6709\u6240\u6709\u6307\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u3002\u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u4e3a\u60a8\u63d0\u4f9b\u5bf9\u9009\u62e9\u903b\u8f91\u7684\u66f4\u5f3a\u63a7\u5236\u80fd\u529b\u3002

                            • \u60a8\u53ef\u4ee5\u6807\u660e\u67d0\u89c4\u5219\u662f\u201c\u8f6f\u9700\u6c42\u201d\u6216\u8005\u201c\u504f\u597d\u201d\uff0c\u8fd9\u6837\u8c03\u5ea6\u5668\u5728\u65e0\u6cd5\u627e\u5230\u5339\u914d\u8282\u70b9\u65f6\uff0c\u4f1a\u5ffd\u7565\u4eb2\u548c\u6027/\u53cd\u4eb2\u548c\u6027\u89c4\u5219\uff0c\u786e\u4fdd Pod \u8c03\u5ea6\u6210\u529f\u3002

                            • \u60a8\u53ef\u4ee5\u4f7f\u7528\u8282\u70b9\u4e0a\uff08\u6216\u5176\u4ed6\u62d3\u6251\u57df\u4e2d\uff09\u8fd0\u884c\u7684\u5176\u4ed6 Pod \u7684\u6807\u7b7e\u6765\u5b9e\u65bd\u8c03\u5ea6\u7ea6\u675f\uff0c\u800c\u4e0d\u662f\u53ea\u80fd\u4f7f\u7528\u8282\u70b9\u672c\u8eab\u7684\u6807\u7b7e\u3002\u8fd9\u4e2a\u80fd\u529b\u8ba9\u60a8\u80fd\u591f\u5b9a\u4e49\u89c4\u5219\u5141\u8bb8\u54ea\u4e9b Pod \u53ef\u4ee5\u88ab\u653e\u7f6e\u5728\u4e00\u8d77\u3002

                            \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u4eb2\u548c\uff08affinity\uff09\u4e0e\u53cd\u4eb2\u548c\uff08anti-affinity\uff09\u6765\u9009\u62e9 Pod \u8981\u90e8\u7f72\u7684\u8282\u70b9\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_2","title":"\u5bb9\u5fcd\u65f6\u95f4","text":"

                            \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u7cfb\u7edf\u5c06\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\u7a97\u3002\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#nodeaffinity","title":"\u8282\u70b9\u4eb2\u548c\u6027\uff08nodeAffinity\uff09","text":"

                            \u8282\u70b9\u4eb2\u548c\u6027\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u5b83\u4f7f\u60a8\u53ef\u4ee5\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002 \u8282\u70b9\u4eb2\u548c\u6027\u6709\u4e24\u79cd\uff1a

                            • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                            • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_3","title":"\u6807\u7b7e\u540d","text":"

                            \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_4","title":"\u64cd\u4f5c\u7b26","text":"
                            • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                            • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                            • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            • Gt\uff1a\u6807\u7b7e\u7684\u503c\u5927\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                            • Lt\uff1a\u6807\u7b7e\u7684\u503c\u5c0f\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_5","title":"\u6743\u91cd","text":"

                            \u4ec5\u652f\u6301\u5728\u201c\u5c3d\u91cf\u6ee1\u8db3\u201d\u7b56\u7565\u4e2d\u6dfb\u52a0\uff0c\u53ef\u4ee5\u7406\u89e3\u4e3a\u8c03\u5ea6\u7684\u4f18\u5148\u7ea7\uff0c\u6743\u91cd\u5927\u7684\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u53d6\u503c\u8303\u56f4\u662f 1 \u5230 100\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_6","title":"\u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027","text":"

                            \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                            • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                            • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                            \u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u53ef\u4ee5\u548c\u54ea\u4e9b Pod\u90e8 \u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e\u76f8\u4e92\u901a\u4fe1\u7684\u670d\u52a1\uff0c\u53ef\u901a\u8fc7\u5e94\u7528\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u5c06\u5176\u90e8\u7f72\u5230\u540c\u4e00\u62d3\u6251\u57df\uff08\u5982\u540c\u4e00\u53ef\u7528\u533a\uff09\u4e2d\uff0c\u51cf\u5c11\u5b83\u4eec\u4e4b\u95f4\u7684\u7f51\u7edc\u5ef6\u8fdf\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_7","title":"\u6807\u7b7e\u540d","text":"

                            \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_8","title":"\u547d\u540d\u7a7a\u95f4","text":"

                            \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_9","title":"\u64cd\u4f5c\u7b26","text":"
                            • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                            • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                            • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_10","title":"\u62d3\u6251\u57df","text":"

                            \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_11","title":"\u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027","text":"

                            \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                            • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                            • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                            \u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u4e0d\u53ef\u4ee5\u548c\u54ea\u4e9b Pod \u90e8\u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5c06\u4e00\u4e2a\u8d1f\u8f7d\u7684\u76f8\u540c Pod \u5206\u6563\u90e8\u7f72\u5230\u4e0d\u540c\u7684\u62d3\u6251\u57df\uff08\u4f8b\u5982\u4e0d\u540c\u4e3b\u673a\uff09\u4e2d\uff0c\u63d0\u9ad8\u8d1f\u8f7d\u672c\u8eab\u7684\u7a33\u5b9a\u6027\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_12","title":"\u6807\u7b7e\u540d","text":"

                            \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_13","title":"\u547d\u540d\u7a7a\u95f4","text":"

                            \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_14","title":"\u64cd\u4f5c\u7b26","text":"
                            • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                            • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                            • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                            "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_15","title":"\u62d3\u6251\u57df","text":"

                            \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                            \u5de5\u4f5c\u8d1f\u8f7d\u662f\u8fd0\u884c\u5728 Kubernetes \u4e0a\u7684\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c\u5728 Kubernetes \u4e2d\uff0c\u65e0\u8bba\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u662f\u7531\u5355\u4e2a\u540c\u4e00\u7ec4\u4ef6\u6216\u662f\u7531\u591a\u4e2a\u4e0d\u540c\u7684\u7ec4\u4ef6\u6784\u6210\uff0c\u90fd\u53ef\u4ee5\u4f7f\u7528\u4e00\u7ec4 Pod \u6765\u8fd0\u884c\u5b83\u3002Kubernetes \u63d0\u4f9b\u4e86\u4e94\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u7ba1\u7406 Pod\uff1a

                            • \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                            • \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                            • \u5b88\u62a4\u8fdb\u7a0b
                            • \u4efb\u52a1
                            • \u5b9a\u65f6\u4efb\u52a1

                            \u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u8d44\u6e90 CRD \u6765\u5b9e\u73b0\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u7684\u6269\u5c55\u3002\u5728\u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u4e2d\uff0c\u652f\u6301\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u521b\u5efa\u3001\u66f4\u65b0\u3001\u6269\u5bb9\u3001\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5220\u9664\u3001\u7248\u672c\u7ba1\u7406\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html#pod","title":"Pod \u72b6\u6001","text":"

                            Pod \u662f Kuberneters \u4e2d\u521b\u5efa\u548c\u7ba1\u7406\u7684\u3001\u6700\u5c0f\u7684\u8ba1\u7b97\u5355\u5143\uff0c\u5373\u4e00\u7ec4\u5bb9\u5668\u7684\u96c6\u5408\u3002\u8fd9\u4e9b\u5bb9\u5668\u5171\u4eab\u5b58\u50a8\u3001\u7f51\u7edc\u4ee5\u53ca\u7ba1\u7406\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u65b9\u5f0f\u7684\u7b56\u7565\u3002 Pod \u901a\u5e38\u4e0d\u7531\u7528\u6237\u76f4\u63a5\u521b\u5efa\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u521b\u5efa\u3002 Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c\u81f3\u5c11\u5176\u4e2d\u6709\u4e00\u4e2a\u4e3b\u8981\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \uff0c\u4e4b\u540e\u53d6\u51b3\u4e8e Pod \u4e2d\u662f\u5426\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\u800c\u8fdb\u5165 Succeeded \u6216\u8005 Failed \u9636\u6bb5\u3002

                            "},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html#_2","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                            \u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4f9d\u636e Pod \u7684\u72b6\u6001\u3001\u526f\u672c\u6570\u7b49\u56e0\u7d20\uff0c\u8bbe\u8ba1\u4e86\u4e00\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u751f\u547d\u5468\u671f\u7684\u72b6\u6001\u96c6\uff0c\u4ee5\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u771f\u5b9e\u7684\u611f\u77e5\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u60c5\u51b5\u3002 \u7531\u4e8e\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\uff08\u6bd4\u5982\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u548c\u4efb\u52a1\uff09\u5bf9 Pod \u7684\u7ba1\u7406\u673a\u5236\u4e0d\u4e00\u81f4\uff0c\u56e0\u6b64\uff0c\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u4f1a\u5448\u73b0\u4e0d\u540c\u7684\u751f\u547d\u5468\u671f\u72b6\u6001\uff0c\u5177\u4f53\u5982\u4e0b\u8868\uff1a

                            "},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html#_3","title":"\u65e0\u72b6\u6001\u8d1f\u8f7d\u3001\u6709\u72b6\u6001\u8d1f\u8f7d\u3001\u5b88\u62a4\u8fdb\u7a0b\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d 1. \u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30022. \u89e6\u53d1\u5347\u7ea7\u6216\u8005\u56de\u6eda\u52a8\u4f5c\u540e\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30023. \u89e6\u53d1\u6682\u505c/\u6269\u7f29\u5bb9\u7b49\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u8fd0\u884c\u4e2d \u8d1f\u8f7d\u4e0b\u7684\u6240\u6709\u5b9e\u4f8b\u90fd\u5728\u8fd0\u884c\u4e2d\u4e14\u526f\u672c\u6570\u4e0e\u7528\u6237\u9884\u5b9a\u4e49\u7684\u6570\u91cf\u4e00\u81f4\u65f6\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u6267\u884c\u5220\u9664\u64cd\u4f5c\u65f6\uff0c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\uff0c\u76f4\u5230\u5220\u9664\u5b8c\u6210\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97\u5de5\u4f5c\u8d1f\u8f7d\u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002 \u672a\u5c31\u7eea \u5bb9\u5668\u5904\u4e8e\u5f02\u5e38\uff0cpending \u72b6\u6001\u65f6\uff0c\u56e0\u672a\u77e5\u9519\u8bef\u5bfc\u81f4\u8d1f\u8f7d\u65e0\u6cd5\u542f\u52a8\u65f6\u663e\u793a\u6b64\u72b6\u6001"},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html#_4","title":"\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u4e2d \u4efb\u52a1\u6b63\u5728\u6267\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u5b8c\u6210 \u4efb\u52a1\u6267\u884c\u5b8c\u6210\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002"},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u5b9a\u65f6\u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u542f\u52a8 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u6210\u529f\u540e\uff0c\u6b63\u5e38\u8fd0\u884c\u6216\u5c06\u5df2\u6682\u505c\u7684\u4efb\u52a1\u542f\u52a8\u65f6\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u505c\u6b62 \u6267\u884c\u505c\u6b62\u4efb\u52a1\u64cd\u4f5c\u65f6\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u5728\u6b64\u72b6\u6001\u3002

                            \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u5f02\u5e38\u6216\u672a\u5c31\u7eea\u72b6\u6001\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5c06\u9f20\u6807\u79fb\u52a8\u5230\u8d1f\u8f7d\u7684\u72b6\u6001\u503c\u4e0a\uff0c\u7cfb\u7edf\u5c06\u901a\u8fc7\u63d0\u793a\u6846\u5c55\u793a\u66f4\u52a0\u8be6\u7ec6\u7684\u9519\u8bef\u4fe1\u606f\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u67e5\u770b\u65e5\u5fd7\u6216\u4e8b\u4ef6\u6765\u83b7\u53d6\u5de5\u4f5c\u8d1f\u8f7d\u7684\u76f8\u5173\u8fd0\u884c\u4fe1\u606f\u3002

                            "},{"location":"end-user/register/index.html","title":"\u7528\u6237\u6ce8\u518c","text":"

                            \u65b0\u7528\u6237\u9996\u6b21\u4f7f\u7528 AI \u7b97\u529b\u5e73\u53f0\u9700\u8981\u8fdb\u884c\u6ce8\u518c\u3002

                            "},{"location":"end-user/register/index.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                            • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                            • \u5df2\u5f00\u542f\u90ae\u7bb1\u6ce8\u518c\u529f\u80fd
                            • \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u90ae\u7bb1
                            "},{"location":"end-user/register/index.html#_3","title":"\u90ae\u7bb1\u6ce8\u518c\u6b65\u9aa4","text":"
                            1. \u6253\u5f00 AI \u7b97\u529b\u5e73\u53f0\u9996\u9875 https://ai.isuanova.com/\uff0c\u70b9\u51fb \u6ce8\u518c

                            2. \u952e\u5165\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u90ae\u7bb1\u540e\u70b9\u51fb \u6ce8\u518c

                            3. \u7cfb\u7edf\u63d0\u793a\u53d1\u9001\u4e86\u4e00\u5c01\u90ae\u4ef6\u5230\u60a8\u7684\u90ae\u7bb1\u3002

                            4. \u767b\u5f55\u81ea\u5df1\u7684\u90ae\u7bb1\uff0c\u627e\u5230\u90ae\u4ef6\uff0c\u70b9\u51fb\u94fe\u63a5\u3002

                            5. \u606d\u559c\uff0c\u60a8\u6210\u529f\u8fdb\u5165\u4e86 AI \u7b97\u529b\u5e73\u53f0\uff0c\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u60a8\u7684 AI \u4e4b\u65c5\u4e86\u3002

                            "},{"location":"end-user/share/notebook.html","title":"\u4f7f\u7528 Notebook","text":"

                            Notebook \u901a\u5e38\u6307\u7684\u662f Jupyter Notebook \u6216\u7c7b\u4f3c\u7684\u4ea4\u4e92\u5f0f\u8ba1\u7b97\u73af\u5883\u3002 \u8fd9\u662f\u4e00\u79cd\u975e\u5e38\u6d41\u884c\u7684\u5de5\u5177\uff0c\u5e7f\u6cdb\u7528\u4e8e\u6570\u636e\u79d1\u5b66\u3001\u673a\u5668\u5b66\u4e60\u548c\u6df1\u5ea6\u5b66\u4e60\u7b49\u9886\u57df\u3002 \u672c\u9875\u8bf4\u660e\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528 Notebook\u3002

                            "},{"location":"end-user/share/notebook.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                            • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                            • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                            • \u7ba1\u7406\u5458\u4e3a\u7528\u6237\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4
                            • \u5df2\u51c6\u5907\u597d\u6570\u636e\u96c6\uff08\u4ee3\u7801\u3001\u6570\u636e\u7b49\uff09
                            "},{"location":"end-user/share/notebook.html#notebook_1","title":"\u521b\u5efa\u548c\u4f7f\u7528 Notebook \u5b9e\u4f8b","text":"
                            1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                            2. \u5bfc\u822a\u81f3 AI Lab -> \u8fd0\u7ef4\u7ba1\u7406 -> \u961f\u5217\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae

                            3. \u952e\u5165\u540d\u79f0\uff0c\u9009\u62e9\u96c6\u7fa4\u3001\u5de5\u4f5c\u7a7a\u95f4\u548c\u914d\u989d\u540e\uff0c\u70b9\u51fb \u786e\u5b9a

                            4. \u4ee5 \u7528\u6237\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5bfc\u822a\u81f3 AI Lab -> Notebook \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae

                            5. \u914d\u7f6e\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                              \u57fa\u672c\u4fe1\u606f\u8d44\u6e90\u914d\u7f6e\u9ad8\u7ea7\u914d\u7f6e

                              \u952e\u5165\u540d\u79f0\uff0c\u9009\u62e9\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\uff0c\u9009\u62e9\u521a\u521b\u5efa\u7684\u961f\u5217\uff0c\u70b9\u51fb \u4e00\u952e\u521d\u59cb\u5316

                              \u9009\u62e9 Notebook \u7c7b\u578b\uff0c\u914d\u7f6e\u5185\u5b58\u3001CPU\uff0c\u5f00\u542f GPU\uff0c\u521b\u5efa\u548c\u914d\u7f6e PVC\uff1a

                              \u5f00\u542f SSH \u5916\u7f51\u8bbf\u95ee\uff1a

                            6. \u81ea\u52a8\u8df3\u8f6c\u5230 Notebook \u5b9e\u4f8b\u5217\u8868\uff0c\u70b9\u51fb\u5b9e\u4f8b\u540d\u79f0

                            7. \u8fdb\u5165 Notebook \u5b9e\u4f8b\u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u6253\u5f00 \u6309\u94ae

                            8. \u8fdb\u5165\u4e86 Notebook \u5f00\u53d1\u73af\u5883\uff0c\u6bd4\u5982\u5728 /home/jovyan \u76ee\u5f55\u6302\u8f7d\u4e86\u6301\u4e45\u5377\uff0c\u53ef\u4ee5\u901a\u8fc7 git \u514b\u9686\u4ee3\u7801\uff0c\u901a\u8fc7 SSH \u8fde\u63a5\u540e\u4e0a\u4f20\u6570\u636e\u7b49\u3002

                            "},{"location":"end-user/share/notebook.html#ssh-notebook","title":"\u901a\u8fc7 SSH \u8bbf\u95ee Notebook \u5b9e\u4f8b","text":"
                            1. \u5728\u81ea\u5df1\u7684\u7535\u8111\u4e0a\u751f\u6210 SSH \u5bc6\u94a5\u5bf9

                              \u5728\u81ea\u5df1\u7535\u8111\u4e0a\u6253\u5f00\u547d\u4ee4\u884c\uff0c\u6bd4\u5982\u5728 Windows \u4e0a\u6253\u5f00 git bash\uff0c\u8f93\u5165 ssh-keygen.exe -t rsa\uff0c\u7136\u540e\u4e00\u8def\u56de\u8f66\u3002

                            2. \u901a\u8fc7 cat ~/.ssh/id_rsa.pub \u7b49\u547d\u4ee4\u67e5\u770b\u5e76\u590d\u5236\u516c\u94a5

                            3. \u4ee5\u7528\u6237\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u4e2a\u4eba\u4e2d\u5fc3 -> SSH \u516c\u94a5 -> \u5bfc\u5165 SSH \u516c\u94a5

                            4. \u8fdb\u5165 Notebook \u5b9e\u4f8b\u7684\u8be6\u60c5\u9875\uff0c\u590d\u5236 SSH \u7684\u94fe\u63a5

                            5. \u5728\u5ba2\u6237\u7aef\u4f7f\u7528 SSH \u8bbf\u95ee Notebook \u5b9e\u4f8b

                            \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa\u8bad\u7ec3\u4efb\u52a1

                            "},{"location":"end-user/share/workload.html","title":"\u521b\u5efa AI \u8d1f\u8f7d\u4f7f\u7528 GPU \u8d44\u6e90","text":"

                            \u7ba1\u7406\u5458\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90\u914d\u989d\u540e\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d\u6765\u4f7f\u7528 GPU \u7b97\u529b\u8d44\u6e90\u3002

                            "},{"location":"end-user/share/workload.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                            • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                            • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                            • \u7ba1\u7406\u5458\u4e3a\u7528\u6237\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4
                            • \u7ba1\u7406\u5458\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d
                            • \u7ba1\u7406\u5458\u5df2\u7ecf\u4e3a\u7528\u6237\u5206\u914d\u4e86\u4e00\u4e2a\u96c6\u7fa4
                            "},{"location":"end-user/share/workload.html#ai","title":"\u521b\u5efa AI \u8d1f\u8f7d\u6b65\u9aa4","text":"
                            1. \u4ee5\u7528\u6237\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                            2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u62e9\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c \u70b9\u51fb\u53f3\u4fa7\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae

                            3. \u914d\u7f6e\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                              \u57fa\u672c\u4fe1\u606f\u5bb9\u5668\u914d\u7f6e\u5176\u4ed6

                              \u9009\u62e9\u81ea\u5df1\u7684\u547d\u540d\u7a7a\u95f4\u3002

                              \u8bbe\u7f6e\u955c\u50cf\uff0c\u914d\u7f6e CPU\u3001\u5185\u5b58\u3001GPU \u7b49\u8d44\u6e90\uff0c\u8bbe\u7f6e\u542f\u52a8\u547d\u4ee4\u3002

                              \u670d\u52a1\u914d\u7f6e\u548c\u9ad8\u7ea7\u914d\u7f6e\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u914d\u7f6e\u3002

                            4. \u81ea\u52a8\u8fd4\u56de\u65e0\u72b6\u6001\u8d1f\u8f7d\u5217\u8868\uff0c\u70b9\u51fb\u8d1f\u8f7d\u540d\u79f0

                            5. \u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u53ef\u4ee5\u770b\u5230 GPU \u914d\u989d

                            6. \u4f60\u8fd8\u53ef\u4ee5\u8fdb\u5165\u63a7\u5236\u53f0\uff0c\u8fd0\u884c mx-smi \u547d\u4ee4\u67e5\u770b GPU \u8d44\u6e90

                            \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528 Notebook

                            "},{"location":"openapi/index.html","title":"OpenAPI \u6587\u6863","text":"

                            \u8fd9\u662f\u9762\u5411\u5f00\u53d1\u8005\u7684\u4e00\u4e9b OpenAPI \u6587\u6863\u3002

                            • \u4e91\u4e3b\u673a OpenAPI \u6587\u6863
                            • AI Lab OpenAPI \u6587\u6863
                            • \u5bb9\u5668\u7ba1\u7406 OpenAPI \u6587\u6863
                            • \u53ef\u89c2\u6d4b\u6027 OpenAPI \u6587\u6863
                            • \u5168\u5c40\u7ba1\u7406 OpenAPI \u6587\u6863
                            "},{"location":"openapi/index.html#openapi_1","title":"\u83b7\u53d6 OpenAPI \u8bbf\u95ee\u5bc6\u94a5","text":"

                            \u8bbf\u95ee\u5bc6\u94a5\uff08Access Key\uff09\u53ef\u7528\u4e8e\u8bbf\u95ee OpenAPI \u548c\u6301\u7eed\u53d1\u5e03\uff0c\u7528\u6237\u53ef\u5728\u4e2a\u4eba\u4e2d\u5fc3\u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u83b7\u53d6\u5bc6\u94a5\u5e76\u8bbf\u95ee API\u3002

                            \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728\u53f3\u4e0a\u89d2\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\u627e\u5230 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u53ef\u4ee5\u5728 \u8bbf\u95ee\u5bc6\u94a5 \u9875\u9762\u7ba1\u7406\u8d26\u53f7\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                            Info

                            \u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\u4ec5\u663e\u793a\u4e00\u6b21\u3002\u5982\u679c\u60a8\u5fd8\u8bb0\u4e86\u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\uff0c\u60a8\u9700\u8981\u91cd\u65b0\u521b\u5efa\u65b0\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                            "},{"location":"openapi/index.html#api","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbf\u95ee API","text":"

                            \u5728\u8bbf\u95ee\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0openAPI \u65f6\uff0c\u5728\u8bf7\u6c42\u4e2d\u52a0\u4e0a\u8bf7\u6c42\u5934 Authorization:Bearer ${token} \u4ee5\u6807\u8bc6\u8bbf\u95ee\u8005\u7684\u8eab\u4efd\uff0c \u5176\u4e2d ${token} \u662f\u4e0a\u4e00\u6b65\u4e2d\u83b7\u53d6\u5230\u7684\u5bc6\u94a5\u3002

                            \u8bf7\u6c42\u793a\u4f8b

                            curl -X GET -H 'Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRKVjlBTHRBLXZ4MmtQUC1TQnVGS0dCSWc1cnBfdkxiQVVqM2U3RVByWnMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NjE0MTU5NjksImlhdCI6MTY2MDgxMTE2OSwiaXNzIjoiZ2hpcHBvLmlvIiwic3ViIjoiZjdjOGIxZjUtMTc2MS00NjYwLTg2MWQtOWI3MmI0MzJmNGViIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiYWRtaW4iLCJncm91cHMiOltdfQ.RsUcrAYkQQ7C6BxMOrdD3qbBRUt0VVxynIGeq4wyIgye6R8Ma4cjxG5CbU1WyiHKpvIKJDJbeFQHro2euQyVde3ygA672ozkwLTnx3Tu-_mB1BubvWCBsDdUjIhCQfT39rk6EQozMjb-1X1sbLwzkfzKMls-oxkjagI_RFrYlTVPwT3Oaw-qOyulRSw7Dxd7jb0vINPq84vmlQIsI3UuTZSNO5BCgHpubcWwBss-Aon_DmYA-Et_-QtmPBA3k8E2hzDSzc7eqK0I68P25r9rwQ3DeKwD1dbRyndqWORRnz8TLEXSiCFXdZT2oiMrcJtO188Ph4eLGut1-4PzKhwgrQ' https://demo-dev.daocloud.io/apis/ghippo.io/v1alpha1/users?page=1&pageSize=10 -k\n

                            \u8bf7\u6c42\u7ed3\u679c

                            {\n    \"items\": [\n        {\n            \"id\": \"a7cfd010-ebbe-4601-987f-d098d9ef766e\",\n            \"name\": \"a\",\n            \"email\": \"\",\n            \"description\": \"\",\n            \"firstname\": \"\",\n            \"lastname\": \"\",\n            \"source\": \"locale\",\n            \"enabled\": true,\n            \"createdAt\": \"1660632794800\",\n            \"updatedAt\": \"0\",\n            \"lastLoginAt\": \"\"\n        }\n    ],\n    \"pagination\": {\n        \"page\": 1,\n        \"pageSize\": 10,\n        \"total\": 1\n    }\n}\n
                            "},{"location":"openapi/baize/index.html","title":"AI Lab OpenAPI \u6587\u6863","text":""},{"location":"openapi/ghippo/index.html","title":"\u5168\u5c40\u7ba1\u7406 OpenAPI \u6587\u6863","text":""},{"location":"openapi/insight/index.html","title":"\u53ef\u89c2\u6d4b\u6027 OpenAPI \u6587\u6863","text":""},{"location":"openapi/kpanda/index.html","title":"\u5bb9\u5668\u7ba1\u7406 OpenAPI \u6587\u6863","text":""},{"location":"openapi/virtnest/index.html","title":"\u4e91\u4e3b\u673a OpenAPI \u6587\u6863","text":""},{"location":"stylesheets/tags.html","title":"Tags","text":"

                            Following is a list of relevant tags:

                            [TAGS]

                            "}]} \ No newline at end of file +{"config":{"lang":["zh","en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"admin/index.html","title":"\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 - \u7ba1\u7406\u5458","text":"

                            \u8fd9\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9762\u5411\u7ba1\u7406\u5458\u7684\u8fd0\u7ef4\u6587\u6863\u3002

                            • \u7528\u6237\u6ce8\u518c

                              \u7528\u6237\u6ce8\u518c\u662f\u4f7f\u7528 AI \u7b97\u529b\u5e73\u53f0\u7684\u7b2c\u4e00\u6b65\u3002

                              • \u7528\u6237\u6ce8\u518c
                              • \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4
                              • \u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90
                            • \u72ec\u4eab\u4e91\u4e3b\u673a

                              \u4e91\u4e3b\u673a\u662f\u90e8\u7f72\u5728\u4e91\u7aef\u7684\u865a\u62df\u673a\u3002

                              • \u521b\u5efa\u4e91\u4e3b\u673a
                              • \u4f7f\u7528\u4e91\u4e3b\u673a
                            • \u5171\u4eab\u4e91\u8d44\u6e90

                              \u5171\u4eab\u4e91\u7aef\u8d44\u6e90\u6784\u5efa AI \u8d1f\u8f7d\uff0c\u4f7f\u7528 Notebook \u521b\u5efa\u8bad\u7ec3\u548c\u63a8\u7406\u4efb\u52a1\u3002

                              • \u914d\u989d\u7ba1\u7406
                              • \u4f7f\u7528 Notebook
                              • \u521b\u5efa\u8bad\u7ec3\u4efb\u52a1
                              • \u521b\u5efa\u63a8\u7406\u670d\u52a1
                            • \u4e91\u4e0a K8s \u96c6\u7fa4

                              \u4f7f\u7528 K8s \u96c6\u7fa4\u9ad8\u6548\u8c03\u5ea6\u7b97\u529b\u8d44\u6e90\u3002

                              • \u521b\u5efa\u4e91\u4e0a K8s \u96c6\u7fa4
                              • \u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9
                              • \u79fb\u9664 GPU \u5de5\u4f5c\u8282\u70b9
                            • \u4e2a\u4eba\u4e2d\u5fc3

                              \u5728\u4e2a\u4eba\u4e2d\u5fc3\u8bbe\u7f6e\u5bc6\u7801\u3001\u5bc6\u94a5\u548c\u8bed\u8a00\u3002

                              • \u5b89\u5168\u8bbe\u7f6e
                              • \u8bbf\u95ee\u5bc6\u94a5
                              • \u8bed\u8a00\u8bbe\u7f6e

                            "},{"location":"admin/baize/best-practice/add-scheduler.html","title":"\u589e\u52a0\u4efb\u52a1\u8c03\u5ea6\u5668","text":"

                            5.0 AI Lab \u63d0\u4f9b\u4e86\u4efb\u52a1\u8c03\u5ea6\u5668\uff0c\u53ef\u4ee5\u5e2e\u52a9\u60a8\u66f4\u597d\u5730\u7ba1\u7406\u4efb\u52a1\uff0c\u9664\u4e86\u63d0\u4f9b\u57fa\u7840\u7684\u8c03\u5ea6\u5668\u4e4b\u5916\uff0c\u76ee\u524d\u4e5f\u652f\u6301\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u5668\u3002

                            "},{"location":"admin/baize/best-practice/add-scheduler.html#_2","title":"\u4efb\u52a1\u8c03\u5ea6\u5668\u4ecb\u7ecd","text":"

                            \u5728 Kubernetes \u4e2d\uff0c\u4efb\u52a1\u8c03\u5ea6\u5668\u8d1f\u8d23\u51b3\u5b9a\u5c06 Pod \u5206\u914d\u5230\u54ea\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002\u5b83\u8003\u8651\u591a\u79cd\u56e0\u7d20\uff0c\u5982\u8d44\u6e90\u9700\u6c42\u3001\u786c\u4ef6/\u8f6f\u4ef6\u7ea6\u675f\u3001\u4eb2\u548c\u6027/\u53cd\u4eb2\u548c\u6027\u89c4\u5219\u3001\u6570\u636e\u5c40\u90e8\u6027\u7b49\u3002

                            \u9ed8\u8ba4\u8c03\u5ea6\u5668\u662f Kubernetes \u96c6\u7fa4\u4e2d\u7684\u4e00\u4e2a\u6838\u5fc3\u7ec4\u4ef6\uff0c\u8d1f\u8d23\u51b3\u5b9a\u5c06 Pod \u5206\u914d\u5230\u54ea\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002\u8ba9\u6211\u4eec\u6df1\u5165\u4e86\u89e3\u5b83\u7684\u5de5\u4f5c\u539f\u7406\u3001\u7279\u6027\u548c\u914d\u7f6e\u65b9\u6cd5\u3002

                            "},{"location":"admin/baize/best-practice/add-scheduler.html#_3","title":"\u8c03\u5ea6\u5668\u7684\u5de5\u4f5c\u6d41\u7a0b","text":"

                            \u9ed8\u8ba4\u8c03\u5ea6\u5668\u7684\u5de5\u4f5c\u6d41\u7a0b\u53ef\u4ee5\u5206\u4e3a\u4e24\u4e2a\u4e3b\u8981\u9636\u6bb5\uff1a\u8fc7\u6ee4\uff08Filtering\uff09\u548c\u8bc4\u5206\uff08Scoring\uff09\u3002

                            "},{"location":"admin/baize/best-practice/add-scheduler.html#_4","title":"\u8fc7\u6ee4\u9636\u6bb5","text":"

                            \u8c03\u5ea6\u5668\u4f1a\u904d\u5386\u6240\u6709\u8282\u70b9\uff0c\u6392\u9664\u4e0d\u6ee1\u8db3 Pod \u8981\u6c42\u7684\u8282\u70b9\uff0c\u8003\u8651\u7684\u56e0\u7d20\u5305\u62ec\uff1a

                            • \u8d44\u6e90\u9700\u6c42
                            • \u8282\u70b9\u9009\u62e9\u5668
                            • \u8282\u70b9\u4eb2\u548c\u6027
                            • \u6c61\u70b9\u548c\u5bb9\u5fcd

                            \u4ee5\u4e0a\u53c2\u6570\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u521b\u5efa\u4efb\u52a1\u65f6\u7684\u9ad8\u7ea7\u914d\u7f6e\u6765\u8bbe\u7f6e\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                            "},{"location":"admin/baize/best-practice/add-scheduler.html#_5","title":"\u8bc4\u5206\u9636\u6bb5","text":"

                            \u5bf9\u901a\u8fc7\u8fc7\u6ee4\u7684\u8282\u70b9\u8fdb\u884c\u6253\u5206\uff0c\u9009\u62e9\u5f97\u5206\u6700\u9ad8\u7684\u8282\u70b9\u6765\u8fd0\u884c Pod\uff0c\u8003\u8651\u56e0\u7d20\u5305\u62ec\uff1a

                            • \u8d44\u6e90\u4f7f\u7528\u7387
                            • Pod \u4eb2\u548c\u6027/\u53cd\u4eb2\u548c\u6027
                            • \u8282\u70b9\u4eb2\u548c\u6027\u7b49\u3002
                            "},{"location":"admin/baize/best-practice/add-scheduler.html#_6","title":"\u8c03\u5ea6\u5668\u63d2\u4ef6","text":"

                            \u9664\u4e86\u57fa\u7840\u7684\u4e00\u4e9b\u4efb\u52a1\u8c03\u5ea6\u80fd\u529b\u4e4b\u5916\uff0c\u6211\u4eec\u8fd8\u652f\u6301\u4f7f\u7528 Scheduler Plugins\uff1aKubernetes SIG Scheduling \u7ef4\u62a4\u7684\u4e00\u7ec4\u8c03\u5ea6\u5668\u63d2\u4ef6\uff0c\u5305\u62ec Coscheduling (Gang Scheduling) \u7b49\u529f\u80fd\u3002

                            "},{"location":"admin/baize/best-practice/add-scheduler.html#_7","title":"\u90e8\u7f72\u8c03\u5ea6\u5668\u63d2\u4ef6","text":"

                            \u5728\u5de5\u4f5c\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u8c03\u5ea6\u5668\u63d2\u4ef6\uff0c\u8bf7\u53c2\u8003\u90e8\u7f72\u7b2c\u4e8c\u8c03\u5ea6\u5668\u63d2\u4ef6\u3002

                            "},{"location":"admin/baize/best-practice/add-scheduler.html#ai-lab","title":"\u5728 AI Lab \u4e2d\u542f\u7528\u8c03\u5ea6\u5668\u63d2\u4ef6","text":"

                            Danger

                            \u589e\u52a0\u8c03\u5ea6\u5668\u63d2\u4ef6\u82e5\u64cd\u4f5c\u4e0d\u5f53\uff0c\u53ef\u80fd\u4f1a\u5f71\u54cd\u5230\u6574\u4e2a\u96c6\u7fa4\u7684\u7a33\u5b9a\u6027\uff0c\u5efa\u8bae\u5728\u6d4b\u8bd5\u73af\u5883\u4e2d\u8fdb\u884c\u6d4b\u8bd5\uff1b\u6216\u8005\u8054\u7cfb\u6211\u4eec\u7684\u6280\u672f\u652f\u6301\u56e2\u961f\u3002

                            \u6ce8\u610f\uff0c\u5982\u679c\u5e0c\u671b\u5728\u8bad\u7ec3\u4efb\u52a1\u4e2d\u4f7f\u7528\u66f4\u591a\u7684\u8c03\u5ea6\u5668\u63d2\u4ef6\uff0c\u9700\u8981\u4e8b\u5148\u624b\u5de5\u5728\u5de5\u4f5c\u96c6\u7fa4\u4e2d\u6210\u529f\u5b89\u88c5\uff0c\u7136\u540e\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72 baize-agent \u65f6\uff0c\u589e\u52a0\u5bf9\u5e94\u7684\u8c03\u5ea6\u5668\u63d2\u4ef6\u914d\u7f6e\u3002

                            \u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u63d0\u4f9b\u7684\u754c\u9762 Helm \u5e94\u7528 \u7ba1\u7406\u80fd\u529b\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u8c03\u5ea6\u5668\u63d2\u4ef6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                            \u7136\u540e\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u5b89\u88c5 \uff0c\uff08\u82e5\u5df2\u90e8\u7f72\u4e86 baize-agent\uff0c\u53ef\u4ee5\u5230 Helm \u5e94\u7528\u5217\u8868\u53bb\u66f4\u65b0\uff09\uff0c\u6839\u636e\u5982\u4e0b\u56fe\u6240\u793a\u7684\u914d\u7f6e\uff0c\u589e\u52a0\u8c03\u5ea6\u5668\u3002

                            \u6ce8\u610f\u8c03\u5ea6\u5668\u7684\u53c2\u6570\u5c42\u7ea7\uff0c\u6dfb\u52a0\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                            \u6ce8\u610f\u4ee5\u540e\u5728\u66f4\u65b0 baize-agent \u65f6\uff0c\u4e0d\u8981\u9057\u6f0f\u8fd9\u4e2a\u914d\u7f6e\u3002

                            "},{"location":"admin/baize/best-practice/add-scheduler.html#_8","title":"\u5728\u521b\u5efa\u4efb\u52a1\u65f6\u6307\u5b9a\u8c03\u5ea6\u5668","text":"

                            \u5f53\u60a8\u5728\u96c6\u7fa4\u4e2d\u6210\u529f\u90e8\u7f72\u4e86\u5bf9\u5e94\u7684\u8c03\u5ea6\u5668\u63d2\u4ef6\uff0c\u5e76\u4e14\u5728 baize-agent \u4e5f\u6b63\u786e\u589e\u52a0\u4e86\u5bf9\u5e94\u7684\u8c03\u5ea6\u5668\u914d\u7f6e\u540e\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u4efb\u52a1\u65f6\uff0c\u6307\u5b9a\u8c03\u5ea6\u5668\u3002

                            \u4e00\u5207\u6b63\u5e38\u7684\u60c5\u51b5\u4e0b\uff0c\u60a8\u53ef\u4ee5\u5728\u8c03\u5ea6\u5668\u4e0b\u62c9\u6846\u4e2d\u770b\u5230\u60a8\u90e8\u7f72\u7684\u8c03\u5ea6\u5668\u63d2\u4ef6\u3002

                            \u4ee5\u4e0a\uff0c\u5c31\u662f\u6211\u4eec\u5728 AI Lab \u4e2d\uff0c\u4e3a\u4efb\u52a1\u589e\u52a0\u8c03\u5ea6\u5668\u9009\u9879\u7684\u914d\u7f6e\u4f7f\u7528\u8bf4\u660e\u3002

                            "},{"location":"admin/baize/best-practice/change-notebook-image.html","title":"\u66f4\u65b0 Notebook \u5185\u7f6e\u955c\u50cf","text":"

                            \u5728 Notebook \u4e2d\uff0c\u9ed8\u8ba4\u63d0\u4f9b\u4e86\u591a\u4e2a\u53ef\u7528\u7684\u57fa\u7840\u955c\u50cf\uff0c\u4f9b\u5f00\u53d1\u8005\u9009\u62e9\uff1b\u5927\u90e8\u5206\u60c5\u51b5\u4e0b\uff0c\u8fd9\u4f1a\u6ee1\u8db3\u5f00\u53d1\u8005\u7684\u4f7f\u7528\u3002

                            DaoCloud \u63d0\u4f9b\u4e86\u4e00\u4e2a\u9ed8\u8ba4\u7684 Notebook \u955c\u50cf\uff0c\u5305\u542b\u4e86\u6240\u9700\u7684\u4efb\u4f55\u5f00\u53d1\u5de5\u5177\u548c\u8d44\u6599\u3002

                            baize/baize-notebook\n

                            \u8fd9\u4e2a Notebook \u91cc\u9762\u5305\u542b\u4e86\u57fa\u7840\u7684\u5f00\u53d1\u5de5\u5177\uff0c\u4ee5 baize-notebook:v0.5.0 \uff082024 \u5e74 5 \u6708 30 \u65e5\uff09\u4e3a\u4f8b\uff0c\u76f8\u5173\u4f9d\u8d56\u53ca\u7248\u672c\u5982\u4e0b\uff1a

                            \u4f9d\u8d56 \u7248\u672c\u7f16\u53f7 \u4ecb\u7ecd Ubuntu 22.04.3 \u9ed8\u8ba4 OS Python 3.11.6 \u9ed8\u8ba4 Python \u7248\u672c pip 23.3.1 conda(mamba) 23.3.1 jupyterlab 3.6.6 JupyterLab \u955c\u50cf\uff0c\u63d0\u4f9b\u5b8c\u6574\u7684 Notebook \u5f00\u53d1\u4f53\u9a8c codeserver v4.89.1 \u4e3b\u6d41 Code \u5f00\u53d1\u5de5\u5177\uff0c\u65b9\u4fbf\u7528\u6237\u4f7f\u7528\u719f\u6089\u7684\u5de5\u5177\u8fdb\u884c\u5f00\u53d1\u4f53\u9a8c *baizectl v0.5.0 DaoCloud \u5185\u7f6e CLI \u4efb\u52a1\u7ba1\u7406\u5de5\u5177 *SSH - \u652f\u6301\u672c\u5730 SSH \u76f4\u63a5\u8bbf\u95ee\u5230 Notebook \u5bb9\u5668\u5185 *kubectl v1.27 Kubernetes CLI\uff0c\u53ef\u4ee5\u4f7f\u7528 kubectl \u5728 Notebook \u5185 \u7ba1\u7406\u5bb9\u5668\u8d44\u6e90

                            \u4f46\u6709\u65f6\u7528\u6237\u53ef\u80fd\u9700\u8981\u81ea\u5b9a\u4e49\u955c\u50cf\uff0c\u672c\u6587\u4ecb\u7ecd\u4e86\u5982\u4f55\u66f4\u65b0\u955c\u50cf\uff0c\u5e76\u589e\u52a0\u5230 Notebook \u521b\u5efa\u754c\u9762\u4e2d\u8fdb\u884c\u9009\u62e9\u3002

                            "},{"location":"admin/baize/best-practice/change-notebook-image.html#_1","title":"\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\uff08\u4ec5\u4f9b\u53c2\u8003\uff09","text":"

                            Note

                            \u6ce8\u610f\uff0c\u6784\u5efa\u65b0\u955c\u50cf \u9700\u8981\u4ee5 baize-notebook \u4f5c\u4e3a\u57fa\u7840\u955c\u50cf\uff0c\u4ee5\u4fdd\u8bc1 Notebook \u7684\u6b63\u5e38\u8fd0\u884c\u3002

                            \u5728\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\u65f6\uff0c\u5efa\u8bae\u5148\u4e86\u89e3 baize-notebook \u955c\u50cf\u7684 Dockerfile\uff0c\u4ee5\u4fbf\u66f4\u597d\u5730\u7406\u89e3\u5982\u4f55\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\u3002

                            "},{"location":"admin/baize/best-practice/change-notebook-image.html#baize-noteboook-dockerfile","title":"baize-noteboook \u7684 Dockerfile","text":"
                            ARG BASE_IMG=docker.m.daocloud.io/kubeflownotebookswg/jupyter:v1.8.0\n\nFROM $BASE_IMG\n\nUSER root\n\n# install - useful linux packages\nRUN export DEBIAN_FRONTEND=noninteractive \\\n && apt-get -yq update \\\n && apt-get -yq install --no-install-recommends \\\n    openssh-server git git-lfs bash-completion \\\n && apt-get clean \\\n && rm -rf /var/lib/apt/lists/*\n\n# remove default s6 jupyterlab run script\nRUN rm -rf /etc/services.d/jupyterlab\n\n# install - useful jupyter plugins\nRUN mamba install -n base -y jupyterlab-language-pack-zh-cn \\\n  && mamba clean --all -y\n\nARG CODESERVER_VERSION=4.89.1\nARG TARGETARCH\n\nRUN curl -fsSL \"https://github.com/coder/code-server/releases/download/v$CODESERVER_VERSION/code-server_${CODESERVER_VERSION}_$TARGETARCH.deb\" -o /tmp/code-server.deb \\\n  && dpkg -i /tmp/code-server.deb \\\n  && rm -f /tmp/code-server.deb\n\nARG CODESERVER_PYTHON_VERSION=2024.4.1\nARG CODESERVER_JUPYTER_VERSION=2024.3.1\nARG CODESERVER_LANGUAGE_PACK_ZH_CN=1.89.0\nARG CODESERVER_YAML=1.14.0\nARG CODESERVER_DOTENV=1.0.1\nARG CODESERVER_EDITORCONFIG=0.16.6\nARG CODESERVER_TOML=0.19.1\nARG CODESERVER_GITLENS=15.0.4\n\n# configure for code-server extensions\n# # https://github.com/kubeflow/kubeflow/blob/709254159986d2cc99e675d0fad5a128ddeb0917/components/example-notebook-servers/codeserver-python/Dockerfile\n# # and\n# # https://github.com/kubeflow/kubeflow/blob/709254159986d2cc99e675d0fad5a128ddeb0917/components/example-notebook-servers/codeserver/Dockerfile\nRUN code-server --list-extensions --show-versions \\\n  && code-server --list-extensions --show-versions \\\n  && code-server \\\n    --install-extension MS-CEINTL.vscode-language-pack-zh-hans@$CODESERVER_LANGUAGE_PACK_ZH_CN \\\n    --install-extension ms-python.python@$CODESERVER_PYTHON_VERSION \\\n    --install-extension ms-toolsai.jupyter@$CODESERVER_JUPYTER_VERSION \\\n    --install-extension redhat.vscode-yaml@$CODESERVER_YAML \\\n    --install-extension mikestead.dotenv@$CODESERVER_DOTENV \\\n    --install-extension EditorConfig.EditorConfig@$CODESERVER_EDITORCONFIG \\\n    --install-extension tamasfe.even-better-toml@$CODESERVER_TOML \\\n    --install-extension eamodio.gitlens@$CODESERVER_GITLENS \\\n    --install-extension catppuccin.catppuccin-vsc-pack \\\n    --force \\\n  && code-server --list-extensions --show-versions\n\n# configure for code-server\nRUN mkdir -p /home/${NB_USER}/.local/share/code-server/User \\\n  && chown -R ${NB_USER}:users /home/${NB_USER} \\\n  && cat <<EOF > /home/${NB_USER}/.local/share/code-server/User/settings.json\n{\n  \"gitlens.showWelcomeOnInstall\": false,\n  \"workbench.colorTheme\": \"Catppuccin Mocha\",\n}\nEOF\n\nRUN mkdir -p /tmp_home/${NB_USER}/.local/share \\\n  && mv /home/${NB_USER}/.local/share/code-server /tmp_home/${NB_USER}/.local/share\n\n# set ssh configuration\nRUN mkdir -p /run/sshd \\\n && chown -R ${NB_USER}:users /etc/ssh \\\n && chown -R ${NB_USER}:users /run/sshd \\\n && sed -i \"/#\\?Port/s/^.*$/Port 2222/g\" /etc/ssh/sshd_config \\\n && sed -i \"/#\\?PasswordAuthentication/s/^.*$/PasswordAuthentication no/g\" /etc/ssh/sshd_config \\\n && sed -i \"/#\\?PubkeyAuthentication/s/^.*$/PubkeyAuthentication yes/g\" /etc/ssh/sshd_config \\\n && rclone_version=v1.65.0 && \\\n       arch=$(uname -m | sed -E 's/x86_64/amd64/g;s/aarch64/arm64/g') && \\\n       filename=rclone-${rclone_version}-linux-${arch} && \\\n       curl -fsSL https://github.com/rclone/rclone/releases/download/${rclone_version}/${filename}.zip -o ${filename}.zip && \\\n       unzip ${filename}.zip && mv ${filename}/rclone /usr/local/bin && rm -rf ${filename} ${filename}.zip\n\n# Init mamba\nRUN mamba init --system\n\n# init baize-base environment for essential python packages\nRUN mamba create -n baize-base -y python \\\n  && /opt/conda/envs/baize-base/bin/pip install tensorboard \\\n  && mamba clean --all -y \\\n  && ln -s /opt/conda/envs/baize-base/bin/tensorboard /usr/local/bin/tensorboard\n\n# prepare baize-runtime-env directory\nRUN mkdir -p /opt/baize-runtime-env \\\n  && chown -R ${NB_USER}:users /opt/baize-runtime-env\n\nARG APP\nARG PROD_NAME\nARG TARGETOS\n\nCOPY out/$TARGETOS/$TARGETARCH/data-loader /usr/local/bin/\nCOPY out/$TARGETOS/$TARGETARCH/baizectl /usr/local/bin/\n\nRUN chmod +x /usr/local/bin/baizectl /usr/local/bin/data-loader && \\\n    echo \"source /etc/bash_completion\" >> /opt/conda/etc/profile.d/conda.sh && \\\n    echo \"source <(baizectl completion bash)\" >> /opt/conda/etc/profile.d/conda.sh && \\\n    echo \"source <(kubectl completion bash)\" >> /opt/conda/etc/profile.d/conda.sh && \\\n    echo '[ -f /run/baize-env ] && export $(cat /run/baize-env | xargs)' >> /opt/conda/etc/profile.d/conda.sh && \\\n    echo 'alias conda=\"mamba\"' >> /opt/conda/etc/profile.d/conda.sh\n\nUSER ${NB_UID}\n
                            "},{"location":"admin/baize/best-practice/change-notebook-image.html#_2","title":"\u6784\u5efa\u4f60\u7684\u955c\u50cf","text":"
                            ARG BASE_IMG=release.daocloud.io/baize/baize-notebook:v0.5.0\n\nFROM $BASE_IMG\nUSER root\n\n# Do Customization\nRUN mamba install -n baize-base -y pytorch torchvision torchaudio cpuonly -c pytorch \\\n && mamba install -n baize-base -y tensorflow \\\n && mamba clean --all -y\n\nUSER ${NB_UID}\n
                            "},{"location":"admin/baize/best-practice/change-notebook-image.html#notebook-helm","title":"\u589e\u52a0\u5230 Notebook \u955c\u50cf\u5217\u8868\uff08Helm\uff09","text":"

                            Warning

                            \u6ce8\u610f\uff0c\u5fc5\u987b\u7531\u5e73\u53f0\u7ba1\u7406\u5458\u64cd\u4f5c\uff0c\u8c28\u614e\u53d8\u66f4\u3002

                            \u76ee\u524d\uff0c\u955c\u50cf\u9009\u62e9\u5668\u9700\u8981\u901a\u8fc7\u66f4\u65b0 baize \u7684 Helm \u53c2\u6570\u6765\u4fee\u6539\uff0c\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a

                            \u5728 kpanda-global-cluster \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 Helm \u5e94\u7528\u5217\u8868\uff0c\u627e\u5230 baize\uff0c\u8fdb\u5165\u66f4\u65b0\u9875\u9762\uff0c\u5728 YAML \u53c2\u6570\u4e2d\u4fee\u6539 Notebook \u955c\u50cf\uff1a

                            \u6ce8\u610f\u53c2\u6570\u4fee\u6539\u7684\u8def\u5f84\u5982\u4e0b global.config.notebook_images\uff1a

                            ...\nglobal:\n  ...\n  config:\n    notebook_images:\n      ...\n      names: release.daocloud.io/baize/baize-notebook:v0.5.0\n      # \u5728\u8fd9\u91cc\u589e\u52a0\u4f60\u7684\u955c\u50cf\u4fe1\u606f\n

                            \u66f4\u65b0\u5b8c\u6210\u4e4b\u540e\uff0c\u5f85 Helm \u5e94\u7528\u91cd\u542f\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u5728 Notebook \u521b\u5efa\u754c\u9762\u4e2d\u7684\u9009\u62e9\u955c\u50cf\u770b\u5230\u65b0\u7684\u955c\u50cf\u3002

                            "},{"location":"admin/baize/best-practice/checkpoint.html","title":"Checkpoint \u673a\u5236\u53ca\u4f7f\u7528\u4ecb\u7ecd","text":"

                            \u5728\u6df1\u5ea6\u5b66\u4e60\u7684\u5b9e\u9645\u573a\u666f\u4e2d\uff0c\u6a21\u578b\u8bad\u7ec3\u4e00\u822c\u90fd\u4f1a\u6301\u7eed\u4e00\u6bb5\u65f6\u95f4\uff0c\u8fd9\u5bf9\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u7684\u7a33\u5b9a\u6027\u548c\u6548\u7387\u63d0\u51fa\u4e86\u66f4\u9ad8\u7684\u8981\u6c42\u3002 \u800c\u4e14\uff0c\u5728\u5b9e\u9645\u8bad\u7ec3\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5f02\u5e38\u4e2d\u65ad\u4f1a\u5bfc\u81f4\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u6a21\u578b\u72b6\u6001\u4e22\u5931\uff0c\u9700\u8981\u91cd\u65b0\u5f00\u59cb\u8bad\u7ec3\uff0c \u8fd9\u4e0d\u4ec5\u6d6a\u8d39\u4e86\u65f6\u95f4\u548c\u8d44\u6e90\uff0c\u8fd9\u5728 LLM \u8bad\u7ec3\u4e2d\u5c24\u4e3a\u660e\u663e\uff0c\u800c\u4e14\u4e5f\u4f1a\u5f71\u54cd\u6a21\u578b\u7684\u8bad\u7ec3\u6548\u679c\u3002

                            \u80fd\u591f\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4fdd\u5b58\u6a21\u578b\u7684\u72b6\u6001\uff0c\u4ee5\u4fbf\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u5f02\u5e38\u65f6\u80fd\u591f\u6062\u590d\u6a21\u578b\u72b6\u6001\uff0c\u53d8\u5f97\u81f3\u5173\u91cd\u8981\u3002 Checkpoint \u5c31\u662f\u76ee\u524d\u4e3b\u6d41\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u672c\u6587\u5c06\u4ecb\u7ecd Checkpoint \u673a\u5236\u7684\u57fa\u672c\u6982\u5ff5\u548c\u5728 PyTorch \u548c TensorFlow \u4e2d\u7684\u4f7f\u7528\u65b9\u6cd5\u3002

                            "},{"location":"admin/baize/best-practice/checkpoint.html#checkpoint_1","title":"\u4ec0\u4e48\u662f Checkpoint\uff1f","text":"

                            Checkpoint \u662f\u5728\u6a21\u578b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4fdd\u5b58\u6a21\u578b\u72b6\u6001\u7684\u673a\u5236\u3002\u901a\u8fc7\u5b9a\u671f\u4fdd\u5b58 Checkpoint\uff0c\u53ef\u4ee5\u5728\u4ee5\u4e0b\u60c5\u51b5\u4e0b\u6062\u590d\u6a21\u578b\uff1a

                            • \u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u65ad\uff08\u5982\u7cfb\u7edf\u5d29\u6e83\u6216\u624b\u52a8\u4e2d\u65ad\uff09
                            • \u9700\u8981\u5728\u67d0\u4e2a\u8bad\u7ec3\u9636\u6bb5\u8fdb\u884c\u8bc4\u4f30
                            • \u5e0c\u671b\u5728\u4e0d\u540c\u7684\u5b9e\u9a8c\u4e2d\u590d\u7528\u6a21\u578b
                            "},{"location":"admin/baize/best-practice/checkpoint.html#pytorch","title":"PyTorch","text":"

                            \u5728 PyTorch \u4e2d\uff0ctorch.save \u548c torch.load \u662f\u7528\u4e8e\u4fdd\u5b58\u548c\u52a0\u8f7d\u6a21\u578b\u7684\u57fa\u672c\u51fd\u6570\u3002

                            "},{"location":"admin/baize/best-practice/checkpoint.html#pytorch-checkpoint","title":"PyTorch \u4fdd\u5b58 Checkpoint","text":"

                            \u5728 PyTorch \u4e2d\uff0c\u901a\u5e38\u4f7f\u7528 state_dict \u4fdd\u5b58\u6a21\u578b\u7684\u53c2\u6570\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u7b80\u5355\u7684\u793a\u4f8b\uff1a

                            import torch\nimport torch.nn as nn\n\n# \u5047\u8bbe\u6211\u4eec\u6709\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc\nclass SimpleModel(nn.Module):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = nn.Linear(10, 2)\n\n    def forward(self, x):\n        return self.fc(x)\n\n# \u521d\u59cb\u5316\u6a21\u578b\u548c\u4f18\u5316\u5668\nmodel = SimpleModel()\noptimizer = torch.optim.Adam(model.parameters(), lr=0.001)\n\n# \u8bad\u7ec3\u6a21\u578b...\n# \u4fdd\u5b58 Checkpoint\ncheckpoint_path = 'model_checkpoint.pth'\ntorch.save({\n    'epoch': 10,\n    'model_state_dict': model.state_dict(),\n    'optimizer_state_dict': optimizer.state_dict(),\n    'loss': 0.02,\n}, checkpoint_path)\n
                            "},{"location":"admin/baize/best-practice/checkpoint.html#pytorch-checkpoint_1","title":"PyTorch \u6062\u590d Checkpoint","text":"

                            \u52a0\u8f7d\u6a21\u578b\u65f6\uff0c\u9700\u8981\u6062\u590d\u6a21\u578b\u53c2\u6570\u548c\u4f18\u5316\u5668\u72b6\u6001\uff0c\u5e76\u7ee7\u7eed\u8bad\u7ec3\u6216\u63a8\u7406\uff1a

                            # \u6062\u590d Checkpoint\ncheckpoint = torch.load('model_checkpoint.pth')\nmodel.load_state_dict(checkpoint['model_state_dict'])\noptimizer.load_state_dict(checkpoint['optimizer_state_dict'])\nepoch = checkpoint['epoch']\nloss = checkpoint['loss']\n\n# \u7ee7\u7eed\u8bad\u7ec3\u6216\u63a8\u7406...\n
                            • model_state_dict: \u6a21\u578b\u53c2\u6570
                            • optimizer_state_dict: \u4f18\u5316\u5668\u72b6\u6001
                            • epoch: \u5f53\u524d\u8bad\u7ec3\u8f6e\u6570
                            • loss: \u635f\u5931\u503c
                            • learning_rate: \u5b66\u4e60\u7387
                            • best_accuracy: \u6700\u4f73\u51c6\u786e\u7387
                            "},{"location":"admin/baize/best-practice/checkpoint.html#tensorflow","title":"TensorFlow","text":"

                            TensorFlow \u63d0\u4f9b\u4e86 tf.train.Checkpoint \u7c7b\u6765\u7ba1\u7406\u6a21\u578b\u548c\u4f18\u5316\u5668\u7684\u4fdd\u5b58\u548c\u6062\u590d\u3002

                            "},{"location":"admin/baize/best-practice/checkpoint.html#tensorflow-checkpoint","title":"TensorFlow \u4fdd\u5b58 Checkpoint","text":"

                            \u4ee5\u4e0b\u662f\u4e00\u4e2a\u5728 TensorFlow \u4e2d\u4fdd\u5b58 Checkpoint \u7684\u793a\u4f8b\uff1a

                            import tensorflow as tf\n\n# \u5047\u8bbe\u6211\u4eec\u6709\u4e00\u4e2a\u7b80\u5355\u7684\u6a21\u578b\nmodel = tf.keras.Sequential([\n    tf.keras.layers.Dense(2, input_shape=(10,))\n])\noptimizer = tf.keras.optimizers.Adam(learning_rate=0.001)\n\n# \u5b9a\u4e49 Checkpoint\ncheckpoint = tf.train.Checkpoint(optimizer=optimizer, model=model)\ncheckpoint_dir = './checkpoints'\ncheckpoint_prefix = f'{checkpoint_dir}/ckpt'\n\n# \u8bad\u7ec3\u6a21\u578b...\n# \u4fdd\u5b58 Checkpoint\ncheckpoint.save(file_prefix=checkpoint_prefix)\n

                            Note

                            \u4f7f\u7528 AI Lab \u7684\u7528\u6237\uff0c\u53ef\u4ee5\u76f4\u63a5\u5c06\u9ad8\u6027\u80fd\u5b58\u50a8\u6302\u8f7d\u4e3a Checkpoint \u76ee\u5f55\uff0c\u4ee5\u63d0\u9ad8 Checkpoint \u4fdd\u5b58\u548c\u6062\u590d\u7684\u901f\u5ea6\u3002

                            "},{"location":"admin/baize/best-practice/checkpoint.html#tensorflow-checkpoint_1","title":"TensorFlow \u6062\u590d Checkpoint","text":"

                            \u52a0\u8f7d Checkpoint \u5e76\u6062\u590d\u6a21\u578b\u548c\u4f18\u5316\u5668\u72b6\u6001\uff1a

                            # \u6062\u590d Checkpoint\nlatest_checkpoint = tf.train.latest_checkpoint(checkpoint_dir)\ncheckpoint.restore(latest_checkpoint)\n\n# \u7ee7\u7eed\u8bad\u7ec3\u6216\u63a8\u7406...\n
                            "},{"location":"admin/baize/best-practice/checkpoint.html#tensorflow-checkpoint_2","title":"TensorFlow \u5728\u5206\u5e03\u5f0f\u8bad\u7ec3\u7684 Checkpoint \u7ba1\u7406","text":"

                            TensorFlow \u5728\u5206\u5e03\u5f0f\u8bad\u7ec3\u4e2d\u7ba1\u7406 Checkpoint \u7684\u4e3b\u8981\u65b9\u6cd5\u5982\u4e0b\uff1a

                            • \u4f7f\u7528 tf.train.Checkpoint \u548c tf.train.CheckpointManager

                              checkpoint = tf.train.Checkpoint(model=model, optimizer=optimizer)\nmanager = tf.train.CheckpointManager(checkpoint, directory='/tmp/model', max_to_keep=3)\n
                            • \u5728\u5206\u5e03\u5f0f\u7b56\u7565\u4e2d\u4fdd\u5b58 Checkpoint

                              strategy = tf.distribute.MirroredStrategy()\nwith strategy.scope():\n    checkpoint = tf.train.Checkpoint(model=model, optimizer=optimizer)\n    manager = tf.train.CheckpointManager(checkpoint, directory='/tmp/model', max_to_keep=3)\n
                            • \u53ea\u5728\u4e3b\u8282\u70b9 (chief worker) \u4fdd\u5b58 Checkpoint

                              if strategy.cluster_resolver.task_type == 'chief':\n    manager.save()\n
                            • \u4f7f\u7528 MultiWorkerMirroredStrategy \u65f6\u7684\u7279\u6b8a\u5904\u7406

                              strategy = tf.distribute.MultiWorkerMirroredStrategy()\nwith strategy.scope():\n    # \u6a21\u578b\u5b9a\u4e49\n    ...\n    checkpoint = tf.train.Checkpoint(model=model, optimizer=optimizer)\n    manager = tf.train.CheckpointManager(checkpoint, '/tmp/model', max_to_keep=3)\n\ndef _chief_worker(task_type, task_id):\n    return task_type is None or task_type == 'chief' or (task_type == 'worker' and task_id == 0)\n\nif _chief_worker(strategy.cluster_resolver.task_type, strategy.cluster_resolver.task_id):\n    manager.save()\n
                            • \u4f7f\u7528\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf

                              \u786e\u4fdd\u6240\u6709\u5de5\u4f5c\u8282\u70b9\u90fd\u80fd\u8bbf\u95ee\u5230\u540c\u4e00\u4e2a Checkpoint \u76ee\u5f55\uff0c\u901a\u5e38\u4f7f\u7528\u5206\u5e03\u5f0f\u6587\u4ef6\u7cfb\u7edf\u5982 HDFS \u6216 GCS\u3002

                            • \u5f02\u6b65\u4fdd\u5b58

                              \u4f7f\u7528 tf.keras.callbacks.ModelCheckpoint \u5e76\u8bbe\u7f6e save_freq \u53c2\u6570\u53ef\u4ee5\u5728\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u5f02\u6b65\u4fdd\u5b58 Checkpoint\u3002

                            • Checkpoint \u6062\u590d

                              status = checkpoint.restore(manager.latest_checkpoint)\nstatus.assert_consumed()  # (1)!\n
                              1. \u786e\u4fdd\u6240\u6709\u53d8\u91cf\u90fd\u88ab\u6062\u590d
                            • \u6027\u80fd\u4f18\u5316

                              • \u4f7f\u7528 tf.train.experimental.enable_mixed_precision_graph_rewrite() \u542f\u7528\u6df7\u5408\u7cbe\u5ea6\u8bad\u7ec3
                              • \u8c03\u6574\u4fdd\u5b58\u9891\u7387\uff0c\u907f\u514d\u8fc7\u4e8e\u9891\u7e41\u7684 I/O \u64cd\u4f5c
                              • \u8003\u8651\u4f7f\u7528 tf.saved_model.save() \u4fdd\u5b58\u6574\u4e2a\u6a21\u578b\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u6743\u91cd
                            "},{"location":"admin/baize/best-practice/checkpoint.html#_1","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                            1. \u5b9a\u671f\u4fdd\u5b58\uff1a\u6839\u636e\u8bad\u7ec3\u65f6\u95f4\u548c\u8d44\u6e90\u6d88\u8017\uff0c\u51b3\u5b9a\u5408\u9002\u7684\u4fdd\u5b58\u9891\u7387\u3002\u5982\u6bcf\u4e2a epoch \u6216\u6bcf\u9694\u4e00\u5b9a\u7684\u8bad\u7ec3\u6b65\u6570\u3002

                            2. \u4fdd\u5b58\u591a\u4e2a Checkpoint\uff1a\u4fdd\u7559\u6700\u65b0\u7684\u51e0\u4e2a Checkpoint \u4ee5\u9632\u6b62\u6587\u4ef6\u635f\u574f\u6216\u4e0d\u9002\u7528\u7684\u60c5\u51b5\u3002

                            3. \u8bb0\u5f55\u5143\u6570\u636e\uff1a\u5728 Checkpoint \u4e2d\u4fdd\u5b58\u989d\u5916\u7684\u4fe1\u606f\uff0c\u5982 epoch \u6570\u3001\u635f\u5931\u503c\u7b49\uff0c\u4ee5\u4fbf\u66f4\u597d\u5730\u6062\u590d\u8bad\u7ec3\u72b6\u6001\u3002

                            4. \u4f7f\u7528\u7248\u672c\u63a7\u5236\uff1a\u4fdd\u5b58\u4e0d\u540c\u5b9e\u9a8c\u7684 Checkpoint\uff0c\u4fbf\u4e8e\u5bf9\u6bd4\u548c\u590d\u7528\u3002

                            5. \u9a8c\u8bc1\u548c\u6d4b\u8bd5\uff1a\u5728\u8bad\u7ec3\u7684\u4e0d\u540c\u9636\u6bb5\u4f7f\u7528 Checkpoint \u8fdb\u884c\u9a8c\u8bc1\u548c\u6d4b\u8bd5\uff0c\u786e\u4fdd\u6a21\u578b\u6027\u80fd\u548c\u7a33\u5b9a\u6027\u3002

                            "},{"location":"admin/baize/best-practice/checkpoint.html#_2","title":"\u7ed3\u8bba","text":"

                            Checkpoint \u673a\u5236\u5728\u6df1\u5ea6\u5b66\u4e60\u8bad\u7ec3\u4e2d\u8d77\u5230\u4e86\u5173\u952e\u4f5c\u7528\u3002\u901a\u8fc7\u5408\u7406\u4f7f\u7528 PyTorch \u548c TensorFlow \u4e2d\u7684 Checkpoint \u529f\u80fd\uff0c \u53ef\u4ee5\u6709\u6548\u63d0\u9ad8\u8bad\u7ec3\u7684\u53ef\u9760\u6027\u548c\u6548\u7387\u3002\u5e0c\u671b\u672c\u6587\u6240\u8ff0\u7684\u65b9\u6cd5\u548c\u6700\u4f73\u5b9e\u8df5\u80fd\u5e2e\u52a9\u4f60\u66f4\u597d\u5730\u7ba1\u7406\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u3002

                            "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html","title":"\u90e8\u7f72 NFS \u505a\u6570\u636e\u96c6\u9884\u70ed","text":"

                            \u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf (NFS) \u5141\u8bb8\u8fdc\u7a0b\u4e3b\u673a\u901a\u8fc7\u7f51\u7edc\u6302\u8f7d\u6587\u4ef6\uff0c\u5e76\u50cf\u672c\u5730\u6587\u4ef6\u7cfb\u7edf\u4e00\u6837\u8fdb\u884c\u4ea4\u4e92\u3002 \u8fd9\u4f7f\u7cfb\u7edf\u7ba1\u7406\u5458\u80fd\u591f\u5c06\u8d44\u6e90\u96c6\u4e2d\u5230\u7f51\u7edc\u670d\u52a1\u5668\u4e0a\u8fdb\u884c\u7ba1\u7406\u3002

                            \u6570\u636e\u96c6 \u662f AI Lab \u4e2d\u7684\u6838\u5fc3\u6570\u636e\u7ba1\u7406\u529f\u80fd\uff0c\u5c06 MLOps \u751f\u547d\u5468\u671f\u4e2d\u5bf9\u4e8e\u6570\u636e\u7684\u4f9d\u8d56\u7edf\u4e00\u62bd\u8c61\u4e3a\u6570\u636e\u96c6\uff1b \u652f\u6301\u7528\u6237\u5c06\u5404\u7c7b\u6570\u636e\u7eb3\u7ba1\u5230\u6570\u636e\u96c6\u5185\uff0c\u4ee5\u4fbf\u8bad\u7ec3\u4efb\u52a1\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u6570\u636e\u96c6\u4e2d\u7684\u6570\u636e\u3002

                            \u5f53\u8fdc\u7aef\u6570\u636e\u4e0d\u5728\u5de5\u4f5c\u96c6\u7fa4\u5185\u65f6\uff0c\u6570\u636e\u96c6\u63d0\u4f9b\u4e86\u81ea\u52a8\u8fdb\u884c\u9884\u70ed\u7684\u80fd\u529b\uff0c\u652f\u6301 Git\u3001S3\u3001HTTP \u7b49\u6570\u636e\u63d0\u524d\u9884\u70ed\u5230\u96c6\u7fa4\u672c\u5730\u3002

                            \u6570\u636e\u96c6\u9700\u8981\u4e00\u4e2a\u652f\u6301 ReadWriteMany \u6a21\u5f0f\u7684\u5b58\u50a8\u670d\u52a1\u5bf9\u8fdc\u7aef\u6570\u636e\u8fdb\u884c\u9884\u70ed\uff0c\u63a8\u8350\u5728\u96c6\u7fa4\u5185\u90e8\u7f72 NFS\u3002

                            \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u4e86\u5982\u4f55\u5feb\u901f\u90e8\u7f72\u4e00\u4e2a NFS \u670d\u52a1\uff0c\u5e76\u5c06\u5176\u6dfb\u52a0\u4e3a\u96c6\u7fa4\u7684\u5b58\u50a8\u7c7b\u3002

                            "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#_1","title":"\u51c6\u5907\u5de5\u4f5c","text":"
                            • NFS \u9ed8\u8ba4\u4f7f\u7528\u8282\u70b9\u7684\u5b58\u50a8\u4f5c\u4e3a\u6570\u636e\u7f13\u5b58\u70b9\uff0c\u56e0\u6b64\u9700\u8981\u786e\u8ba4\u78c1\u76d8\u672c\u8eab\u6709\u8db3\u591f\u7684\u78c1\u76d8\u7a7a\u95f4\u3002
                            • \u5b89\u88c5\u65b9\u5f0f\u4f7f\u7528 Helm \u4e0e Kubectl\uff0c\u8bf7\u786e\u4fdd\u5df2\u7ecf\u5b89\u88c5\u597d\u3002
                            "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#_2","title":"\u90e8\u7f72\u8fc7\u7a0b","text":"

                            \u4e00\u5171\u9700\u8981\u5b89\u88c5\u51e0\u4e2a\u7ec4\u4ef6\uff1a

                            • NFS Server
                            • csi-driver-nfs
                            • StorageClass
                            "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#_3","title":"\u521d\u59cb\u5316\u547d\u540d\u7a7a\u95f4","text":"

                            \u6240\u6709\u7cfb\u7edf\u7ec4\u4ef6\u4f1a\u5b89\u88c5\u5230 nfs \u547d\u540d\u7a7a\u95f4\u5185\uff0c\u56e0\u6b64\u9700\u8981\u5148\u521b\u5efa\u6b64\u547d\u540d\u7a7a\u95f4\u3002

                            kubectl create namespace nfs\n
                            "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#nfs-server","title":"\u5b89\u88c5 NFS Server","text":"

                            \u8fd9\u91cc\u662f\u4e00\u4e2a\u7b80\u5355\u7684 YAML \u90e8\u7f72\u6587\u4ef6\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u3002

                            Note

                            \u6ce8\u610f\u68c0\u67e5 image:\uff0c\u6839\u636e\u96c6\u7fa4\u6240\u5728\u4f4d\u7f6e\u60c5\u51b5\uff0c\u53ef\u80fd\u9700\u8981\u4fee\u6539\u4e3a\u56fd\u5185\u955c\u50cf\u3002

                            nfs-server.yaml
                            kind: Service\napiVersion: v1\nmetadata:\n  name: nfs-server\n  namespace: nfs\n  labels:\n    app: nfs-server\nspec:\n  type: ClusterIP\n  selector:\n    app: nfs-server\n  ports:\n    - name: tcp-2049\n      port: 2049\n      protocol: TCP\n    - name: udp-111\n      port: 111\n      protocol: UDP\n---\nkind: Deployment\napiVersion: apps/v1\nmetadata:\n  name: nfs-server\n  namespace: nfs\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: nfs-server\n  template:\n    metadata:\n      name: nfs-server\n      labels:\n        app: nfs-server\n    spec:\n      nodeSelector:\n        \"kubernetes.io/os\": linux\n      containers:\n        - name: nfs-server\n          image: itsthenetwork/nfs-server-alpine:latest\n          env:\n            - name: SHARED_DIRECTORY\n              value: \"/exports\"\n          volumeMounts:\n            - mountPath: /exports\n              name: nfs-vol\n          securityContext:\n            privileged: true\n          ports:\n            - name: tcp-2049\n              containerPort: 2049\n              protocol: TCP\n            - name: udp-111\n              containerPort: 111\n              protocol: UDP\n      volumes:\n        - name: nfs-vol\n          hostPath:\n            path: /nfsdata  # (1)!\n            type: DirectoryOrCreate\n
                            1. \u4fee\u6539\u6b64\u5904\u4ee5\u6307\u5b9a\u53e6\u4e00\u4e2a\u8def\u5f84\u6765\u5b58\u50a8 NFS \u5171\u4eab\u6570\u636e

                            \u5c06\u4e0a\u8ff0 YAML \u4fdd\u5b58\u4e3a nfs-server.yaml\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u90e8\u7f72\uff1a

                            kubectl -n nfs apply -f nfs-server.yaml\n\n# \u68c0\u67e5\u90e8\u7f72\u7ed3\u679c\nkubectl -n nfs get pod,svc\n
                            "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#csi-driver-nfs","title":"\u5b89\u88c5 csi-driver-nfs","text":"

                            \u5b89\u88c5 csi-driver-nfs \u9700\u8981\u4f7f\u7528 Helm\uff0c\u8bf7\u6ce8\u610f\u63d0\u524d\u5b89\u88c5\u3002

                            # \u6dfb\u52a0 Helm \u4ed3\u5e93\nhelm repo add csi-driver-nfs https://mirror.ghproxy.com/https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts\nhelm repo update csi-driver-nfs\n\n# \u90e8\u7f72 csi-driver-nfs\n# \u8fd9\u91cc\u53c2\u6570\u4e3b\u8981\u4f18\u5316\u4e86\u955c\u50cf\u5730\u5740\uff0c\u52a0\u901f\u56fd\u5185\u4e0b\u8f7d\nhelm upgrade --install csi-driver-nfs csi-driver-nfs/csi-driver-nfs \\\n    --set image.nfs.repository=k8s.m.daocloud.io/sig-storage/nfsplugin \\\n    --set image.csiProvisioner.repository=k8s.m.daocloud.io/sig-storage/csi-provisioner \\\n    --set image.livenessProbe.repository=k8s.m.daocloud.io/sig-storage/livenessprobe \\\n    --set image.nodeDriverRegistrar.repository=k8s.m.daocloud.io/sig-storage/csi-node-driver-registrar \\\n    --namespace nfs \\\n    --version v4.5.0\n

                            Warning

                            csi-nfs-controller \u7684\u955c\u50cf\u5e76\u672a\u5168\u90e8\u652f\u6301 helm \u53c2\u6570\uff0c\u9700\u8981\u624b\u5de5\u4fee\u6539 deployment \u7684 image \u5b57\u6bb5\u3002 \u5c06 image: registry.k8s.io \u6539\u4e3a image: k8s.dockerproxy.com \u4ee5\u52a0\u901f\u56fd\u5185\u4e0b\u8f7d\u3002

                            "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#storageclass","title":"\u521b\u5efa StorageClass","text":"

                            \u5c06\u4ee5\u4e0b YAML \u4fdd\u5b58\u4e3a nfs-sc.yaml\uff1a

                            nfs-sc.yaml
                            apiVersion: storage.k8s.io/v1\nkind: StorageClass\nmetadata:\n  name: nfs-csi\nprovisioner: nfs.csi.k8s.io\nparameters:\n  server: nfs-server.nfs.svc.cluster.local\n  share: /\n  # csi.storage.k8s.io/provisioner-secret is only needed for providing mountOptions in DeleteVolume\n  # csi.storage.k8s.io/provisioner-secret-name: \"mount-options\"\n  # csi.storage.k8s.io/provisioner-secret-namespace: \"default\"\nreclaimPolicy: Retain\nvolumeBindingMode: Immediate\nmountOptions:\n  - nfsvers=4.1\n

                            \u7136\u540e\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u90e8\u7f72\uff1a

                            kubectl apply -f nfs-sc.yaml\n
                            "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#_4","title":"\u6d4b\u8bd5","text":"

                            \u521b\u5efa\u6570\u636e\u96c6\uff0c\u5e76\u5c06\u6570\u636e\u96c6\u7684 \u5173\u8054\u5b58\u50a8\u7c7b \uff0c\u9884\u70ed\u65b9\u5f0f \u8bbe\u7f6e\u4e3a NFS\uff0c\u5373\u53ef\u5c06\u8fdc\u7aef\u6570\u636e\u9884\u70ed\u5230\u96c6\u7fa4\u5185\u3002

                            \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u770b\u5230\u6570\u636e\u96c6\u7684\u72b6\u6001\u4e3a \u9884\u70ed\u4e2d\uff0c\u7b49\u5f85\u9884\u70ed\u5b8c\u6210\u540e\u5373\u53ef\u4f7f\u7528\u3002

                            "},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#_5","title":"\u5e38\u89c1\u95ee\u9898","text":""},{"location":"admin/baize/best-practice/deploy-nfs-in-worker.html#nfs-sbinmount","title":"\u7f3a\u5c11\u5fc5\u8981\u7684 NFS \u5ba2\u6237\u7aef\u8f6f\u4ef6 /sbin/mount","text":"
                            bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.\n

                            \u5728\u8fd0\u884c Kubernetes \u7684\u8282\u70b9\u673a\u5668\u4e0a\uff0c\u786e\u4fdd\u5df2\u5b89\u88c5 NFS \u5ba2\u6237\u7aef\uff1a

                            Ubuntu/DebianCentOS/RHEL

                            \u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5b89\u88c5 NFS \u5ba2\u6237\u7aef\uff1a

                            sudo apt-get update\nsudo apt-get install nfs-common\n

                            \u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5b89\u88c5 NFS \u5ba2\u6237\u7aef\uff1a

                            sudo yum install nfs-utils\n

                            \u68c0\u67e5 NFS \u670d\u52a1\u5668\u914d\u7f6e\uff0c\u786e\u4fdd NFS \u670d\u52a1\u5668\u6b63\u5728\u8fd0\u884c\u4e14\u914d\u7f6e\u6b63\u786e\u3002\u4f60\u53ef\u4ee5\u5c1d\u8bd5\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u6302\u8f7d\u6765\u6d4b\u8bd5\uff1a

                            sudo mkdir -p /mnt/test\nsudo mount -t nfs <nfs-server>:/nfsdata /mnt/test\n
                            "},{"location":"admin/baize/best-practice/finetunel-llm.html","title":"\u4f7f\u7528 AI Lab \u5fae\u8c03 ChatGLM3 \u6a21\u578b","text":"

                            \u672c\u6587\u4ee5 ChatGLM3 \u6a21\u578b\u4e3a\u4f8b\uff0c\u6f14\u793a\u5982\u4f55\u5728 AI Lab \u4e2d\u4f7f\u7528 LoRA\uff08Low-Rank Adaptation\uff0c\u4f4e\u79e9\u81ea\u9002\u5e94\uff09\u5fae\u8c03 ChatGLM3 \u6a21\u578b\u3002 Demo \u7a0b\u5e8f\u6765\u81ea ChatGLM3 \u5b98\u65b9\u6848\u4f8b\u3002

                            \u5fae\u8c03\u7684\u5927\u81f4\u6d41\u7a0b\u4e3a\uff1a

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_1","title":"\u73af\u5883\u4f9d\u8d56","text":"
                            • GPU \u663e\u5b58\u81f3\u5c11 20GB\uff0c\u63a8\u8350\u4f7f\u7528 RTX4090\u3001NVIDIA A/H \u7cfb\u5217\u663e\u5361
                            • \u53ef\u7528\u78c1\u76d8\u7a7a\u95f4\u81f3\u5c11 200GB
                            • CPU \u81f3\u5c11 8 \u6838\uff0c\u63a8\u8350 16 \u6838
                            • \u5185\u5b58 64GB\uff0c\u63a8\u8350 128GB

                            Info

                            \u5728\u5f00\u59cb\u4f53\u9a8c\u4e4b\u524d\uff0c\u8bf7\u68c0\u67e5 AI \u7b97\u529b\u5e73\u53f0\u4ee5\u53ca AI Lab \u90e8\u7f72\u6b63\u786e\uff0cGPU \u961f\u5217\u8d44\u6e90\u521d\u59cb\u5316\u6210\u529f\uff0c\u4e14\u7b97\u529b\u8d44\u6e90\u5145\u8db3\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_2","title":"\u6570\u636e\u51c6\u5907","text":"

                            \u5229\u7528 AI Lab \u63d0\u4f9b\u7684\u6570\u636e\u96c6\u7ba1\u7406\u529f\u80fd\uff0c\u5feb\u901f\u5c06\u5fae\u8c03\u5927\u6a21\u578b\u6240\u9700\u7684\u6570\u636e\u8fdb\u884c\u9884\u70ed\u53ca\u6301\u4e45\u5316\uff0c\u51cf\u5c11\u56e0\u4e3a\u51c6\u5907\u6570\u636e\u5bfc\u81f4\u7684 GPU \u8d44\u6e90\u5360\u7528\uff0c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                            \u5728\u6570\u636e\u96c6\u5217\u8868\u9875\u9762\uff0c\u521b\u5efa\u9700\u8981\u7684\u6570\u636e\u8d44\u6e90\uff0c\u8fd9\u4e9b\u8d44\u6e90\u5305\u542b\u4e86 ChatGLM3 \u4ee3\u7801\uff0c\u4e5f\u53ef\u4ee5\u662f\u6570\u636e\u6587\u4ef6\uff0c\u6240\u6709\u8fd9\u4e9b\u6570\u636e\u90fd\u53ef\u4ee5\u901a\u8fc7\u6570\u636e\u96c6\u5217\u8868\u6765\u7edf\u4e00\u7ba1\u7406\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_3","title":"\u4ee3\u7801\u53ca\u6a21\u578b\u6587\u4ef6","text":"

                            ChatGLM3 \u662f\u667a\u8c31 AI \u548c\u6e05\u534e\u5927\u5b66 KEG \u5b9e\u9a8c\u5ba4\u8054\u5408\u53d1\u5e03\u7684\u5bf9\u8bdd\u9884\u8bad\u7ec3\u6a21\u578b\u3002

                            \u5148\u62c9\u53d6 ChatGLM3 \u4ee3\u7801\u4ed3\u5e93\uff0c\u4e0b\u8f7d\u9884\u8bad\u7ec3\u6a21\u578b\uff0c\u7528\u4e8e\u540e\u7eed\u7684\u5fae\u8c03\u4efb\u52a1\u3002

                            AI Lab \u4f1a\u5728\u540e\u53f0\u8fdb\u884c\u5168\u81ea\u52a8\u6570\u636e\u9884\u70ed\uff0c\u4ee5\u4fbf\u540e\u7eed\u7684\u4efb\u52a1\u80fd\u591f\u5feb\u901f\u8bbf\u95ee\u6570\u636e\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#advertisegen","title":"AdvertiseGen \u6570\u636e\u96c6","text":"

                            \u56fd\u5185\u6570\u636e\u53ef\u4ee5\u4ece Tsinghua Cloud \u76f4\u63a5\u83b7\u53d6\uff0c\u8fd9\u91cc\u4f7f\u7528 HTTP \u7684\u6570\u636e\u6e90\u65b9\u5f0f\u3002

                            \u6ce8\u610f\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u9700\u8981\u7b49\u5f85\u6570\u636e\u96c6\u9884\u70ed\u5b8c\u6210\uff0c\u4e00\u822c\u5f88\u5feb\uff0c\u6839\u636e\u60a8\u7684\u7f51\u7edc\u60c5\u51b5\u800c\u5b9a\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_4","title":"\u5fae\u8c03\u8f93\u51fa\u6570\u636e","text":"

                            \u540c\u65f6\uff0c\u60a8\u9700\u8981\u51c6\u5907\u4e00\u4e2a\u7a7a\u7684\u6570\u636e\u96c6\uff0c\u7528\u4e8e\u5b58\u653e\u5fae\u8c03\u4efb\u52a1\u5b8c\u6210\u540e\u8f93\u51fa\u7684\u6a21\u578b\u6587\u4ef6\uff0c\u8fd9\u91cc\u521b\u5efa\u4e00\u4e2a\u7a7a\u7684\u6570\u636e\u96c6\uff0c\u4ee5 PVC \u4e3a\u4f8b\u3002

                            Warning

                            \u6ce8\u610f\u9700\u8981\u4f7f\u7528\u652f\u6301 ReadWriteMany \u7684\u5b58\u50a8\u7c7b\u578b\uff0c\u4ee5\u4fbf\u540e\u7eed\u7684\u4efb\u52a1\u80fd\u591f\u5feb\u901f\u8bbf\u95ee\u6570\u636e\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_5","title":"\u73af\u5883\u51c6\u5907","text":"

                            \u5bf9\u4e8e\u6a21\u578b\u5f00\u53d1\u8005\u6765\u8bf4\uff0c\u51c6\u5907\u6a21\u578b\u5f00\u53d1\u9700\u8981\u7684 Python \u73af\u5883\u4f9d\u8d56\u662f\u975e\u5e38\u91cd\u8981\u7684\uff0c\u4f20\u7edf\u505a\u6cd5\u5c06\u73af\u5883\u4f9d\u8d56\u76f4\u63a5\u6253\u5305\u5230\u5f00\u53d1\u5de5\u5177\u7684\u955c\u50cf\u4e2d\uff0c \u6216\u8005\u76f4\u63a5\u5728\u672c\u5730\u73af\u5883\u4e2d\u5b89\u88c5\uff0c\u4f46\u662f\u8fd9\u6837\u505a\u4f1a\u5bfc\u81f4\u73af\u5883\u4f9d\u8d56\u7684\u4e0d\u4e00\u81f4\uff0c\u800c\u4e14\u4e0d\u5229\u4e8e\u73af\u5883\u7684\u7ba1\u7406\u548c\u4f9d\u8d56\u66f4\u65b0\u53ca\u540c\u6b65\u3002

                            AI Lab \u63d0\u4f9b\u4e86\u73af\u5883\u7ba1\u7406\u7684\u80fd\u529b\uff0c\u5c06 Python \u73af\u5883\u4f9d\u8d56\u5305\u7ba1\u7406\u548c\u5f00\u53d1\u5de5\u5177\u3001\u4efb\u52a1\u955c\u50cf\u7b49\u8fdb\u884c\u89e3\u8026\uff0c\u89e3\u51b3\u4e86\u4f9d\u8d56\u7ba1\u7406\u6df7\u4e71\uff0c\u73af\u5883\u4e0d\u4e00\u81f4\u7b49\u95ee\u9898\u3002

                            \u8fd9\u91cc\u4f7f\u7528 AI Lab \u63d0\u4f9b\u7684\u73af\u5883\u7ba1\u7406\u529f\u80fd\uff0c\u521b\u5efa ChatGLM3 \u5fae\u8c03\u6240\u9700\u7684\u73af\u5883\uff0c\u4ee5\u5907\u540e\u7eed\u4f7f\u7528\u3002

                            Warning

                            1. ChatGLM \u4ed3\u5e93\u5185\u6709 requirements.txt \u6587\u4ef6\uff0c\u91cc\u9762\u5305\u542b\u4e86 ChatGLM3 \u5fae\u8c03\u6240\u9700\u7684\u73af\u5883\u4f9d\u8d56
                            2. \u672c\u6b21\u5fae\u8c03\u6ca1\u6709\u7528\u5230 deepspeed \u548c mpi4py \u5305\uff0c\u5efa\u8bae\u4ece requirements.txt \u6587\u4ef6\u4e2d\u5c06\u5176\u6ce8\u91ca\u6389\uff0c\u5426\u5219\u53ef\u80fd\u51fa\u73b0\u5305\u7f16\u8bd1\u4e0d\u901a\u8fc7\u7684\u60c5\u51b5

                            \u5728\u73af\u5883\u7ba1\u7406\u5217\u8868\uff0c\u60a8\u53ef\u4ee5\u5feb\u901f\u521b\u5efa\u4e00\u4e2a Python \u73af\u5883\uff0c\u5e76\u901a\u8fc7\u7b80\u5355\u7684\u8868\u5355\u914d\u7f6e\u6765\u5b8c\u6210\u73af\u5883\u7684\u521b\u5efa\uff1b\u8fd9\u91cc\u9700\u8981\u4e00\u4e2a Python 3.11.x \u73af\u5883\uff0c

                            \u56e0\u4e3a\u672c\u5b9e\u9a8c\u9700\u8981\u4f7f\u7528 CUDA\uff0c\u6240\u4ee5\u5728\u8fd9\u91cc\u9700\u8981\u914d\u7f6e GPU \u8d44\u6e90\uff0c\u7528\u4e8e\u9884\u70ed\u9700\u8981\u8d44\u6e90\u7684\u4f9d\u8d56\u5e93\u3002

                            \u521b\u5efa\u73af\u5883\uff0c\u9700\u8981\u53bb\u4e0b\u8f7d\u4e00\u7cfb\u5217\u7684 Python \u4f9d\u8d56\uff0c\u6839\u636e\u60a8\u7684\u5b9e\u9645\u4f4d\u7f6e\u4e0d\u540c\uff0c\u53ef\u80fd\u4f1a\u6709\u4e0d\u540c\u7684\u4e0b\u8f7d\u901f\u5ea6\uff0c\u8fd9\u91cc\u4f7f\u7528\u4e86\u56fd\u5185\u7684\u955c\u50cf\u52a0\u901f\uff0c\u53ef\u4ee5\u52a0\u5feb\u4e0b\u8f7d\u901f\u5ea6\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#notebook-ide","title":"\u4f7f\u7528 Notebook \u4f5c\u4e3a IDE","text":"

                            AI Lab \u63d0\u4f9b\u4e86 Notebook \u4f5c\u4e3a IDE \u7684\u529f\u80fd\uff0c\u53ef\u4ee5\u8ba9\u7528\u6237\u5728\u6d4f\u89c8\u5668\u4e2d\u76f4\u63a5\u7f16\u5199\u4ee3\u7801\uff0c\u8fd0\u884c\u4ee3\u7801\uff0c\u67e5\u770b\u4ee3\u7801\u8fd0\u884c\u7ed3\u679c\uff0c\u975e\u5e38\u9002\u5408\u4e8e\u6570\u636e\u5206\u6790\u3001\u673a\u5668\u5b66\u4e60\u3001\u6df1\u5ea6\u5b66\u4e60\u7b49\u9886\u57df\u7684\u5f00\u53d1\u3002

                            \u60a8\u53ef\u4ee5\u4f7f\u7528 AI Lab \u63d0\u4f9b\u7684 JupyterLab Notebook \u6765\u8fdb\u884c ChatGLM3 \u7684\u5fae\u8c03\u4efb\u52a1\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#jupyterlab-notebook","title":"\u521b\u5efa JupyterLab Notebook","text":"

                            \u5728 Notebook \u5217\u8868\u4e2d\uff0c\u53ef\u4ee5\u6839\u636e\u9875\u9762\u64cd\u4f5c\u6307\u5f15\uff0c\u521b\u5efa\u4e00\u4e2a Notebook\u3002\u6ce8\u610f\u60a8\u9700\u8981\u6839\u636e\u524d\u6587\u63d0\u5230\u7684\u8d44\u6e90\u8981\u6c42\u6765\u914d\u7f6e\u5bf9\u5e94\u7684 Notebook \u8d44\u6e90\u53c2\u6570\uff0c \u907f\u514d\u540e\u7eed\u56e0\u4e3a\u8d44\u6e90\u95ee\u9898\uff0c\u5f71\u54cd\u5fae\u8c03\u8fc7\u7a0b\u3002

                            Note

                            \u5728\u521b\u5efa Notebook \u65f6\uff0c\u53ef\u4ee5\u5c06\u4e4b\u524d\u9884\u52a0\u8f7d\u7684\u6a21\u578b\u4ee3\u7801\u6570\u636e\u96c6\u548c\u73af\u5883\uff0c\u76f4\u63a5\u6302\u8f7d\u5230 Notebook \u4e2d\uff0c\u6781\u5927\u8282\u7701\u4e86\u6570\u636e\u51c6\u5907\u7684\u65f6\u95f4\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_6","title":"\u6302\u8f7d\u6570\u636e\u96c6\u548c\u4ee3\u7801","text":"

                            \u6ce8\u610f\uff1aChatGLM3 \u7684\u4ee3\u7801\u6587\u4ef6\u6302\u8f7d\u5230\u4e86 /home/jovyan/ChatGLM3 \u76ee\u5f55\u4e0b\uff0c\u540c\u65f6\u60a8\u4e5f\u9700\u8981\u5c06 AdvertiseGen \u6570\u636e\u96c6\u6302\u8f7d\u5230 /home/jovyan/ChatGLM3/finetune_demo/data/AdvertiseGen \u76ee\u5f55\u4e0b\uff0c\u4ee5\u4fbf\u540e\u7eed\u7684\u5fae\u8c03\u4efb\u52a1\u80fd\u591f\u8bbf\u95ee\u6570\u636e\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#pvc","title":"\u6302\u8f7d PVC \u5230\u6a21\u578b\u8f93\u51fa\u6587\u4ef6\u5939","text":"

                            \u672c\u6b21\u4f7f\u7528\u7684\u6a21\u578b\u8f93\u51fa\u4f4d\u7f6e\u5728 /home/jovyan/ChatGLM3/finetune_demo/output \u76ee\u5f55\u4e0b\uff0c\u53ef\u4ee5\u5c06\u4e4b\u524d\u521b\u5efa\u7684 PVC \u6570\u636e\u96c6\u6302\u8f7d\u5230\u8fd9\u4e2a\u76ee\u5f55\u4e0b\uff0c \u8fd9\u6837\u8bad\u7ec3\u8f93\u51fa\u7684\u6a21\u578b\u5c31\u53ef\u4ee5\u4fdd\u5b58\u5230\u6570\u636e\u96c6\u4e2d\uff0c\u540e\u7eed\u6a21\u578b\u63a8\u7406\u7b49\u4efb\u52a1\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95ee\u3002

                            \u521b\u5efa\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u770b\u5230 Notebook \u7684\u754c\u9762\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5728 Notebook \u4e2d\u7f16\u5199\u4ee3\u7801\uff0c\u8fd0\u884c\u4ee3\u7801\uff0c\u67e5\u770b\u4ee3\u7801\u8fd0\u884c\u7ed3\u679c\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#chatglm3","title":"\u5fae\u8c03 ChatGLM3","text":"

                            \u5f53\u60a8\u8fdb\u5165\u5230 Notebook \u4e2d\u540e\uff0c\u53ef\u4ee5\u5728 Notebook \u4fa7\u8fb9\u680f\u4f1a\u53d1\u73b0\u6709\u4e00\u4e2a File Browser \u7684\u9009\u9879\uff0c\u53ef\u4ee5\u770b\u5230\u4e4b\u524d\u6302\u8f7d\u7684\u6570\u636e\u96c6\u548c\u4ee3\u7801\uff0c\u5728\u8fd9\u91cc\u627e\u5230 ChatGLM3 \u7684\u6587\u4ef6\u5939\u3002

                            \u60a8\u53ef\u4ee5\u770b\u5230 ChatGLM3 \u7684\u5fae\u8c03\u4ee3\u7801\u5728 finetune_demo \u6587\u4ef6\u5939\u4e2d\uff0c\u8fd9\u91cc\u53ef\u4ee5\u76f4\u63a5\u6253\u5f00 lora_finetune.ipynb \u6587\u4ef6\uff0c\u8fd9\u662f ChatGLM3 \u7684\u5fae\u8c03\u4ee3\u7801\u3002

                            \u9996\u5148\uff0c\u6839\u636e README.md \u7684\u8bf4\u660e\uff0c\u60a8\u53ef\u4ee5\u4e86\u89e3\u5230\u6574\u4e2a\u5fae\u8c03\u7684\u8fc7\u7a0b\uff0c\u5efa\u8bae\u5148\u9605\u8bfb\u4e00\u904d\uff0c\u786e\u4fdd\u57fa\u7840\u7684\u73af\u5883\u4f9d\u8d56\u548c\u6570\u636e\u51c6\u5907\u5de5\u4f5c\u90fd\u5df2\u7ecf\u5b8c\u6210\u3002

                            \u6253\u5f00\u7ec8\u7aef\uff0c\u5e76\u4f7f\u7528 conda \u5207\u6362\u5230\u60a8\u63d0\u524d\u9884\u70ed\u7684\u73af\u5883\u4e2d\uff0c\u6b64\u73af\u5883\u4e0e JupyterLab Kernel \u4fdd\u6301\u4e00\u81f4\uff0c\u4ee5\u4fbf\u540e\u7eed\u7684\u4ee3\u7801\u8fd0\u884c\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_7","title":"\u6570\u636e\u9884\u5904\u7406","text":"

                            \u9996\u5148\uff0c\u60a8\u9700\u8981\u5c06 AdvertiseGen \u6570\u636e\u96c6\u8fdb\u884c\u9884\u5904\u7406\uff0c\u5bf9\u6570\u636e\u8fdb\u884c\u6807\u51c6\u5316\u5904\u7406\uff0c\u4f7f\u5176\u7b26\u5408 Lora \u9884\u8bad\u7ec3\u7684\u6807\u51c6\u683c\u5f0f\u8981\u6c42\uff1b \u8fd9\u91cc\u5c06\u5904\u7406\u540e\u7684\u6570\u636e\u4fdd\u5b58\u5230 AdvertiseGen_fix \u6587\u4ef6\u5939\u4e2d\u3002

                            import json\nfrom typing import Union\nfrom pathlib import Path\n\ndef _resolve_path(path: Union[str, Path]) -> Path:\n    return Path(path).expanduser().resolve()\n\ndef _mkdir(dir_name: Union[str, Path]):\n    dir_name = _resolve_path(dir_name)\n    if not dir_name.is_dir():\n        dir_name.mkdir(parents=True, exist_ok=False)\n\ndef convert_adgen(data_dir: Union[str, Path], save_dir: Union[str, Path]):\n    def _convert(in_file: Path, out_file: Path):\n        _mkdir(out_file.parent)\n        with open(in_file, encoding='utf-8') as fin:\n            with open(out_file, 'wt', encoding='utf-8') as fout:\n                for line in fin:\n                    dct = json.loads(line)\n                    sample = {'conversations': [{'role': 'user', 'content': dct['content']},\n                                                {'role': 'assistant', 'content': dct['summary']}]}\n                    fout.write(json.dumps(sample, ensure_ascii=False) + '\\n')\n\n    data_dir = _resolve_path(data_dir)\n    save_dir = _resolve_path(save_dir)\n\n    train_file = data_dir / 'train.json'\n    if train_file.is_file():\n        out_file = save_dir / train_file.relative_to(data_dir)\n        _convert(train_file, out_file)\n\n    dev_file = data_dir / 'dev.json'\n    if dev_file.is_file():\n        out_file = save_dir / dev_file.relative_to(data_dir)\n        _convert(dev_file, out_file)\n\nconvert_adgen('data/AdvertiseGen', 'data/AdvertiseGen_fix')\n

                            \u4e3a\u4e86\u8282\u7701\u8c03\u8bd5\u7684\u65f6\u95f4\uff0c\u60a8\u53ef\u4ee5\u5c06 /home/jovyan/ChatGLM3/finetune_demo/data/AdvertiseGen_fix/dev.json \u4e2d\u7684\u6570\u636e\u91cf\u7f29\u51cf\u5230 50 \u6761\uff0c\u8fd9\u91cc\u7684\u6570\u636e\u662f JSON \u683c\u5f0f\uff0c\u5904\u7406\u8d77\u6765\u4e5f\u662f\u6bd4\u8f83\u65b9\u4fbf\u7684\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#lora","title":"\u672c\u5730 LoRA \u5fae\u8c03\u6d4b\u8bd5","text":"

                            \u5b8c\u6210\u6570\u636e\u7684\u9884\u5904\u7406\u4e4b\u540e\uff0c\u57fa\u672c\u4e0a\u60a8\u5c31\u53ef\u4ee5\u76f4\u63a5\u5fae\u8c03\u6d4b\u8bd5\u4e86\uff0c\u53ef\u4ee5\u5728 /home/jovyan/ChatGLM3/finetune_demo/configs/lora.yaml \u6587\u4ef6\u4e2d\u914d\u7f6e\u5fae\u8c03\u7684\u53c2\u6570\uff0c\u4e00\u822c\u9700\u8981\u5173\u6ce8\u7684\u53c2\u6570\u57fa\u672c\u5982\u4e0b\uff1a

                            \u65b0\u5f00\u4e00\u4e2a\u7ec8\u7aef\u7a97\u53e3\uff0c\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u5373\u53ef\u8fdb\u884c\u672c\u5730\u5fae\u8c03\u6d4b\u8bd5\uff0c\u8bf7\u786e\u4fdd\u53c2\u6570\u914d\u7f6e\u548c\u8def\u5f84\u6b63\u786e\uff1a

                            !CUDA_VISIBLE_DEVICES=0 NCCL_P2P_DISABLE=\"1\" NCCL_IB_DISABLE=\"1\" python finetune_hf.py  data/AdvertiseGen_fix  ./chatglm3-6b  configs/lora.yaml\n

                            \u5728\u8fd9\u6761\u547d\u4ee4\u4e2d\uff0c

                            • finetune_hf.py \u662f ChatGLM3 \u4ee3\u7801\u4e2d\u7684\u5fae\u8c03\u811a\u672c
                            • data/AdvertiseGen_fix \u662f\u60a8\u9884\u5904\u7406\u540e\u7684\u6570\u636e\u96c6
                            • ./chatglm3-6b \u662f\u60a8\u9884\u8bad\u7ec3\u6a21\u578b\u7684\u8def\u5f84
                            • configs/lora.yaml \u662f\u5fae\u8c03\u7684\u914d\u7f6e\u6587\u4ef6

                            \u5fae\u8c03\u8fc7\u7a0b\u4e2d\u53ef\u4ee5\u4f7f\u7528 nvidia-smi \u547d\u4ee4\u67e5\u770b GPU \u663e\u5b58\u4f7f\u7528\u60c5\u51b5\uff1a

                            \u5728\u5fae\u8c03\u5b8c\u6210\u540e\uff0c\u5728 finetune_demo \u76ee\u5f55\u4e0b\u4f1a\u751f\u6210\u4e00\u4e2a output \u76ee\u5f55\uff0c\u91cc\u9762\u5305\u542b\u4e86\u5fae\u8c03\u7684\u6a21\u578b\u6587\u4ef6\uff0c \u8fd9\u6837\u5fae\u8c03\u7684\u6a21\u578b\u6587\u4ef6\u5c31\u76f4\u63a5\u4fdd\u5b58\u5230\u60a8\u4e4b\u524d\u521b\u5efa\u7684 PVC \u6570\u636e\u96c6\u4e2d\u4e86\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_8","title":"\u5fae\u8c03\u4efb\u52a1\u63d0\u4ea4","text":"

                            \u5728\u672c\u5730\u5fae\u8c03\u6d4b\u8bd5\u5b8c\u6210\u540e\uff0c\u786e\u4fdd\u60a8\u7684\u4ee3\u7801\u548c\u6570\u636e\u6ca1\u6709\u95ee\u9898\uff0c\u63a5\u4e0b\u6765\u53ef\u4ee5\u5c06\u5fae\u8c03\u4efb\u52a1\u63d0\u4ea4\u5230AI Lab \u4e2d\uff0c\u8fdb\u884c\u5927\u89c4\u6a21\u7684\u8bad\u7ec3\u548c\u5fae\u8c03\u4efb\u52a1\u3002

                            \u8fd9\u4e5f\u662f\u63a8\u8350\u7684\u6a21\u578b\u5f00\u53d1\u548c\u5fae\u8c03\u6d41\u7a0b\uff0c\u5148\u5728\u672c\u5730\u8fdb\u884c\u5fae\u8c03\u6d4b\u8bd5\uff0c\u786e\u4fdd\u4ee3\u7801\u548c\u6570\u636e\u6ca1\u6709\u95ee\u9898\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_9","title":"\u4f7f\u7528\u754c\u9762\u63d0\u4ea4\u5fae\u8c03\u4efb\u52a1","text":"

                            \u8fd9\u91cc\u4f7f\u7528 Pytorch \u6765\u521b\u5efa\u5fae\u8c03\u4efb\u52a1\uff0c\u6839\u636e\u60a8\u7684\u5b9e\u9645\u60c5\u51b5\uff0c\u9009\u62e9\u9700\u8981\u4f7f\u7528\u54ea\u4e2a\u96c6\u7fa4\u7684\u8d44\u6e90\uff0c\u6ce8\u610f\u9700\u8981\u6ee1\u8db3\u524d\u9762\u8d44\u6e90\u51c6\u5907\u4e2d\u63d0\u53ca\u7684\u8d44\u6e90\u8981\u6c42\u3002

                            • \u955c\u50cf\uff1a\u53ef\u76f4\u63a5\u4f7f\u7528 baizectl \u63d0\u4f9b\u7684\u6a21\u578b\u955c\u50cf
                            • \u542f\u52a8\u547d\u4ee4\uff0c\u6839\u636e\u60a8\u5728 Notebook \u4e2d\u4f7f\u7528 LoRA \u5fae\u8c03\u7684\u7ecf\u9a8c\uff0c\u4ee3\u7801\u6587\u4ef6\u548c\u6570\u636e\u5728 /home/jovyan/ChatGLM3/finetune_demo \u76ee\u5f55\u4e0b\uff0c\u6240\u4ee5\u60a8\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u8fd9\u4e2a\u8def\u5f84\uff1a

                              bash -c \"cd /home/jovyan/ChatGLM3/finetune_demo && CUDA_VISIBLE_DEVICES=0 NCCL_P2P_DISABLE=\"1\" NCCL_IB_DISABLE=\"1\" python finetune_hf.py  data/AdvertiseGen_fix  ./chatglm3-6b  configs/lora.yaml\"\n
                            • \u6302\u8f7d\u73af\u5883\uff0c\u8fd9\u6837\u4e4b\u524d\u9884\u52a0\u8f7d\u7684\u73af\u5883\u4f9d\u8d56\u4e0d\u4ec5\u53ef\u4ee5\u5728 Notebook \u4e2d\u4f7f\u7528\uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u5728\u4efb\u52a1\u4e2d\u4f7f\u7528

                            • \u6570\u636e\u96c6\uff1a\u76f4\u63a5\u4f7f\u7528\u4e4b\u524d\u9884\u70ed\u7684\u6570\u636e\u96c6
                              • \u5c06\u6a21\u578b\u8f93\u51fa\u8def\u5f84\u8bbe\u7f6e\u4e3a\u4e4b\u524d\u521b\u5efa\u7684 PVC \u6570\u636e\u96c6
                              • \u5c06 AdvertiseGen \u6570\u636e\u96c6\u6302\u8f7d\u5230 /home/jovyan/ChatGLM3/finetune_demo/data/AdvertiseGen \u76ee\u5f55\u4e0b
                            • \u914d\u7f6e\u8db3\u591f\u7684 GPU \u8d44\u6e90\uff0c\u786e\u4fdd\u5fae\u8c03\u4efb\u52a1\u80fd\u591f\u6b63\u5e38\u8fd0\u884c

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_10","title":"\u67e5\u770b\u4efb\u52a1\u72b6\u6001","text":"

                            \u4efb\u52a1\u6210\u529f\u63d0\u4ea4\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u4efb\u52a1\u5217\u8868\u4e2d\u5b9e\u65f6\u67e5\u770b\u4efb\u52a1\u7684\u8bad\u7ec3\u8fdb\u5c55\uff0c\u8fd9\u91cc\u60a8\u53ef\u4ee5\u770b\u5230\u4efb\u52a1\u7684\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u65e5\u5fd7\u7b49\u4fe1\u606f\u3002

                            \u67e5\u770b\u4efb\u52a1\u65e5\u5fd7

                            \u4efb\u52a1\u8fd0\u884c\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u6570\u636e\u8f93\u51fa\u7684\u6570\u636e\u96c6\u4e2d\u67e5\u770b\u5fae\u8c03\u7684\u6a21\u578b\u6587\u4ef6\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u6a21\u578b\u6587\u4ef6\u8fdb\u884c\u540e\u7eed\u7684\u63a8\u7406\u4efb\u52a1\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#baizectl","title":"\u4f7f\u7528 baizectl \u63d0\u4ea4\u4efb\u52a1","text":"

                            AI Lab \u7684 Notebook \u652f\u6301\u514d\u8ba4\u8bc1\u76f4\u63a5\u4f7f\u7528 baizectl \u547d\u4ee4\u884c\u5de5\u5177\uff0c \u5982\u679c\u60a8\u559c\u6b22\u4f7f\u7528 CLI\uff0c\u90a3\u4e48\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 baizectl \u63d0\u4f9b\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u63d0\u4ea4\u4efb\u52a1\u3002

                            baizectl job submit --name finetunel-chatglm3 -t PYTORCH \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --resources cpu=8,memory=16Gi,nvidia.com/gpu=1 \\\n    --workers 1 \\\n    --queue default \\\n    --working-dir /home/jovyan/ChatGLM3 \\\n    --datasets AdvertiseGen:/home/jovyan/ChatGLM3/finetune_demo/data/AdvertiseGen  \\\n    --datasets output:/home/jovyan/ChatGLM3/finetune_demo/output  \\\n    --labels job_type=pytorch \\\n    --restart-policy on-failure \\\n    -- bash -c \"cd /home/jovyan/ChatGLM3/finetune_demo && CUDA_VISIBLE_DEVICES=0 NCCL_P2P_DISABLE=\"1\" NCCL_IB_DISABLE=\"1\" python finetune_hf.py  data/AdvertiseGen_fix  ./chatglm3-6b  configs/lora.yaml\"\n

                            \u5982\u679c\u5e0c\u671b\u4e86\u89e3\u66f4\u591a baizectl \u7684\u4f7f\u7528\u8bf4\u660e\uff0c\u53ef\u4ee5\u67e5\u770b baizectl \u4f7f\u7528\u6587\u6863\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_11","title":"\u6a21\u578b\u63a8\u7406","text":"

                            \u5728\u5fae\u8c03\u4efb\u52a1\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5fae\u8c03\u7684\u6a21\u578b\u8fdb\u884c\u63a8\u7406\u4efb\u52a1\uff0c\u8fd9\u91cc\u60a8\u53ef\u4ee5\u4f7f\u7528AI Lab \u63d0\u4f9b\u7684\u63a8\u7406\u670d\u52a1\uff0c\u5c06\u8f93\u51fa\u540e\u7684\u6a21\u578b\u521b\u5efa\u4e3a\u63a8\u7406\u670d\u52a1\u3002

                            \u5728\u63a8\u7406\u670d\u52a1\u5217\u8868\u4e2d\uff0c\u60a8\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u63a8\u7406\u670d\u52a1\uff0c\u5728\u9009\u62e9\u6a21\u578b\u7684\u4f4d\u7f6e\uff0c\u9009\u62e9\u4e4b\u524d\u63a8\u7406\u8f93\u51fa\u7684\u6570\u636e\u96c6\uff0c\u5e76\u914d\u7f6e\u6a21\u578b\u8def\u5f84\u3002

                            \u6709\u5173\u6a21\u578b\u8d44\u6e90\u8981\u6c42\u3001\u63a8\u7406\u670d\u52a1\u7684 GPU \u8d44\u6e90\u8981\u6c42\uff0c\u9700\u8981\u6839\u636e\u6a21\u578b\u7684\u5927\u5c0f\u548c\u63a8\u7406\u7684\u5e76\u53d1\u91cf\u6765\u914d\u7f6e\uff0c\u8fd9\u91cc\u60a8\u53ef\u4ee5\u6839\u636e\u4e4b\u524d\u5fae\u8c03\u4efb\u52a1\u7684\u8d44\u6e90\u914d\u7f6e\u6765\u914d\u7f6e\u3002

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_12","title":"\u914d\u7f6e\u6a21\u578b\u8fd0\u884c\u65f6","text":"

                            \u914d\u7f6e\u6a21\u578b\u7684\u8fd0\u884c\u65f6\u5c24\u4e3a\u91cd\u8981\uff0c\u76ee\u524d AI Lab \u5df2\u7ecf\u652f\u6301 vLLM \u4f5c\u4e3a\u6a21\u578b\u63a8\u7406\u670d\u52a1\u7684\u8fd0\u884c\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u9009\u62e9 vLLM\u3002

                            vLLM \u652f\u6301\u975e\u5e38\u4e30\u5bcc\u7684\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u5efa\u8bae\u8bbf\u95ee vLLM \u4e86\u89e3\u66f4\u591a\u4fe1\u606f\uff0c\u8fd9\u4e9b\u6a21\u578b\u90fd\u53ef\u4ee5\u5f88\u65b9\u4fbf\u5730\u5728 AI Lab \u4e2d\u4f7f\u7528\u3002

                            \u521b\u5efa\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u63a8\u7406\u670d\u52a1\u5217\u8868\u4e2d\u770b\u5230\u60a8\u521b\u5efa\u7684\u63a8\u7406\u670d\u52a1\uff0c\u5728\u6a21\u578b\u670d\u52a1\u5217\u8868\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u83b7\u53d6\u6a21\u578b\u7684\u8bbf\u95ee\u5730\u5740

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_13","title":"\u4f7f\u7528\u6a21\u578b\u670d\u52a1\u6d4b\u8bd5","text":"

                            \u7b80\u5355\u5728\u7ec8\u7aef\u4e2d\u5c1d\u8bd5\uff0c\u4f7f\u7528 curl \u547d\u4ee4\u6765\u6d4b\u8bd5\u6a21\u578b\u670d\u52a1\uff0c\u8fd9\u91cc\u60a8\u53ef\u4ee5\u770b\u5230\u8fd4\u56de\u7684\u7ed3\u679c\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u4f7f\u7528\u6a21\u578b\u670d\u52a1\u8fdb\u884c\u63a8\u7406\u4efb\u52a1\u4e86\u3002

                            curl -X POST http://10.20.100.210:31118/v2/models/chatglm3-6b/generate \\\n  -d '{\"text_input\": \"hello\", \"stream\": false, \"sampling_parameters\": \"{\\\"temperature\\\": 0.7, \\\"top_p\\\": 0.95, \\'max_tokens\\\": 1024\uff5d\"\uff5d'\n

                            "},{"location":"admin/baize/best-practice/finetunel-llm.html#_14","title":"\u7ed3\u8bed","text":"

                            \u672c\u6587\u4ee5 ChatGLM3 \u4e3a\u4f8b\uff0c\u5e26\u60a8\u5feb\u901f\u4e86\u89e3\u548c\u4e0a\u624b AI Lab \u7684\u6a21\u578b\u5fae\u8c03\uff0c\u4f7f\u7528 LoRA \u5fae\u8c03\u4e86 ChatGLM3 \u6a21\u578b\u3002

                            AI Lab \u63d0\u4f9b\u4e86\u975e\u5e38\u4e30\u5bcc\u7684\u529f\u80fd\uff0c\u53ef\u4ee5\u5e2e\u52a9\u6a21\u578b\u5f00\u53d1\u8005\u5feb\u901f\u8fdb\u884c\u6a21\u578b\u5f00\u53d1\u3001\u5fae\u8c03\u3001\u63a8\u7406\u7b49\u4efb\u52a1\uff0c\u540c\u65f6\u4e5f\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684 OpenAPI \u63a5\u53e3\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u4e0e\u7b2c\u4e09\u65b9\u5e94\u7528\u751f\u6001\u8fdb\u884c\u7ed3\u5408\u3002

                            "},{"location":"admin/baize/best-practice/label-studio.html","title":"\u90e8\u7f72 Label Studio","text":"

                            Label Studio \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u6570\u636e\u6807\u6ce8\u5de5\u5177\uff0c\u7528\u4e8e\u5404\u79cd\u673a\u5668\u5b66\u4e60\u548c\u4eba\u5de5\u667a\u80fd\u4efb\u52a1\u3002 \u4ee5\u4e0b\u662f Label Studio \u7684\u7b80\u8981\u4ecb\u7ecd\uff1a

                            • \u652f\u6301\u56fe\u50cf\u3001\u97f3\u9891\u3001\u89c6\u9891\u3001\u6587\u672c\u7b49\u591a\u79cd\u6570\u636e\u7c7b\u578b\u7684\u6807\u6ce8
                            • \u53ef\u7528\u4e8e\u76ee\u6807\u68c0\u6d4b\u3001\u56fe\u50cf\u5206\u7c7b\u3001\u8bed\u97f3\u8f6c\u5f55\u3001\u547d\u540d\u5b9e\u4f53\u8bc6\u522b\u7b49\u591a\u79cd\u4efb\u52a1
                            • \u63d0\u4f9b\u53ef\u5b9a\u5236\u7684\u6807\u6ce8\u754c\u9762
                            • \u652f\u6301\u591a\u79cd\u6807\u6ce8\u683c\u5f0f\u548c\u5bfc\u51fa\u9009\u9879

                            Label Studio \u901a\u8fc7\u5176\u7075\u6d3b\u6027\u548c\u529f\u80fd\u4e30\u5bcc\u6027\uff0c\u4e3a\u6570\u636e\u79d1\u5b66\u5bb6\u548c\u673a\u5668\u5b66\u4e60\u5de5\u7a0b\u5e08\u63d0\u4f9b\u4e86\u5f3a\u5927\u7684\u6570\u636e\u6807\u6ce8\u89e3\u51b3\u65b9\u6848\u3002

                            "},{"location":"admin/baize/best-practice/label-studio.html#ai","title":"\u90e8\u7f72\u5230 AI \u7b97\u529b\u5e73\u53f0","text":"

                            \u8981\u60f3\u5728 AI Lab \u4e2d\u4f7f\u7528 Label Studio\uff0c\u9700\u5c06\u5176\u90e8\u7f72\u5230\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\uff0c \u4f60\u53ef\u4ee5\u901a\u8fc7 Helm \u7684\u65b9\u5f0f\u5feb\u901f\u90e8\u7f72\u3002

                            Note

                            \u66f4\u591a\u90e8\u7f72\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605 Deploy Label Studio on Kubernetes\u3002

                            1. \u6253\u5f00\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u754c\u9762\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u627e\u5230 Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u9009\u62e9 \u521b\u5efa\u4ed3\u5e93 \u6309\u94ae\uff0c\u586b\u5199\u5982\u4e0b\u53c2\u6570\uff1a

                            2. \u6dfb\u52a0\u6210\u529f\u540e\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u540c\u6b65\u4ed3\u5e93 \uff0c\u7a0d\u7b49\u7247\u523b\u540e\u5b8c\u6210\u540c\u6b65\u3002\uff08\u540e\u7eed\u66f4\u65b0 Label Studio \u4e5f\u4f1a\u7528\u5230\u8fd9\u4e2a\u540c\u6b65\u64cd\u4f5c\uff09\u3002

                            3. \u7136\u540e\u8df3\u8f6c\u5230 Helm \u6a21\u677f \u9875\u9762\uff0c\u4f60\u53ef\u4ee5\u641c\u7d22\u627e\u5230 label-studio\uff0c\u70b9\u51fb\u5361\u7247\u3002

                            4. \u9009\u62e9\u6700\u65b0\u7684\u7248\u672c\uff0c\u5982\u4e0b\u56fe\u914d\u7f6e\u5b89\u88c5\u53c2\u6570\uff0c\u540d\u79f0\u4e3a label-stuio\uff0c\u5efa\u8bae\u521b\u5efa\u65b0\u7684\u547d\u4ee4\u7a7a\u95f4\uff0c\u914d\u7f6e\u53c2\u6570\u5207\u6362\u5230 YAML \uff0c\u6839\u636e\u8bf4\u660e\u4fee\u6539\u5176\u4e2d\u914d\u7f6e\u3002

                              global:\n  image:\n    repository: heartexlabs/label-studio   # \u5982\u679c\u65e0\u6cd5\u8bbf\u95ee docker.io\uff0c\u5728\u6b64\u5904\u914d\u7f6e\u4ee3\u7406\u5730\u5740\n  extraEnvironmentVars:\n    LABEL_STUDIO_HOST: https://{\u8bbf\u95ee\u5730\u5740}/label-studio    # \u4f7f\u7528\u7684\u767b\u5f55\u5730\u5740\uff0c\u8bf7\u53c2\u9605\u5f53\u524d\u7f51\u9875 URL\n    LABEL_STUDIO_USERNAME: {\u7528\u6237\u90ae\u7bb1}    # \u5fc5\u987b\u662f\u90ae\u7bb1\uff0c\u66ff\u6362\u4e3a\u81ea\u5df1\u7684\n    LABEL_STUDIO_PASSWORD: {\u7528\u6237\u5bc6\u7801}    \napp:\n  nginx:\n    livenessProbe:\n      path: /label-studio/nginx_health\n    readinessProbe:\n      path: /label-studio/version\n

                            \u81f3\u6b64\uff0c\u5b8c\u6210\u4e86 Label studio \u7684\u5b89\u88c5\u3002

                            Warning

                            \u9ed8\u8ba4\u4f1a\u5b89\u88c5 PostgreSQL \u4f5c\u4e3a\u6570\u636e\u670d\u52a1\u4e2d\u95f4\u4ef6\uff0c\u5982\u679c\u955c\u50cf\u62c9\u53d6\u5931\u8d25\uff0c\u53ef\u80fd\u662f docker.io \u65e0\u6cd5\u8bbf\u95ee\uff0c\u6ce8\u610f\u5207\u6362\u5230\u53ef\u7528\u4ee3\u7406\u5373\u53ef\u3002

                            \u5982\u679c\u4f60\u6709\u81ea\u5df1\u7684 PostgreSQL \u6570\u636e\u670d\u52a1\u4e2d\u95f4\u4ef6\uff0c\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u53c2\u6570\u914d\u7f6e\uff1a

                            global:\n  image:\n    repository: heartexlabs/label-studio   # \u5982\u679c\u65e0\u6cd5\u8bbf\u95ee docker.io\uff0c\u5728\u6b64\u5904\u914d\u7f6e\u4ee3\u7406\u5730\u5740\n  extraEnvironmentVars:\n    LABEL_STUDIO_HOST: https://{\u8bbf\u95ee\u5730\u5740}/label-studio    # \u4f7f\u7528\u7684\u767b\u5f55\u5730\u5740\uff0c\u53c2\u9605\u5f53\u524d\u7f51\u9875 URL\n    LABEL_STUDIO_USERNAME: {\u7528\u6237\u90ae\u7bb1}    # \u5fc5\u987b\u662f\u90ae\u7bb1\uff0c\u66ff\u6362\u4e3a\u81ea\u5df1\u7684\n    LABEL_STUDIO_PASSWORD: {\u7528\u6237\u5bc6\u7801}    \napp:\n  nginx:\n    livenessProbe:\n      path: /label-studio/nginx_health\n    readinessProbe:\n      path: /label-studio/version\npostgresql:\n  enabled: false  # \u7981\u7528\u5185\u7f6e\u7684 PostgreSQL\nexternalPostgresql:\n  host: \"postgres-postgresql\"  # PostgreSQL \u5730\u5740\n  port: 5432\n  username: \"label_studio\"  # PostgreSQL \u7528\u6237\u540d\n  password: \"your_label_studio_password\"  # PostgreSQL \u5bc6\u7801\n  database: \"label_studio\"  # PostgreSQL \u6570\u636e\u5e93\u540d\n
                            "},{"location":"admin/baize/best-practice/label-studio.html#gproduct","title":"\u6dfb\u52a0 GProduct \u5230\u5bfc\u822a\u680f","text":"

                            \u5982\u679c\u8981\u6dfb\u52a0 Label Studio \u5230\u5bfc\u822a\u680f\uff0c\u53ef\u4ee5\u53c2\u8003\u5168\u5c40\u7ba1\u7406 OEM IN \u7684\u65b9\u5f0f\u3002 \u4ee5\u4e0b\u6848\u4f8b\u662f\u589e\u52a0\u5230 AI Lab \u4e8c\u7ea7\u5bfc\u822a\u7684\u6dfb\u52a0\u65b9\u5f0f\u3002

                            "},{"location":"admin/baize/best-practice/label-studio.html#_1","title":"\u6dfb\u52a0\u4ee3\u7406\u8bbf\u95ee","text":"
                            apiVersion: ghippo.io/v1alpha1\nkind: GProductProxy\nmetadata:\n  name: label-studio\nspec:\n  gproduct: label-studio\n  proxies:\n  - authnCheck: false\n    destination:\n      host: label-studio-ls-app.label-studio.svc.cluster.local\n      port: 80\n    match:\n      uri:\n        prefix: /label-studio\n
                            "},{"location":"admin/baize/best-practice/label-studio.html#ai-lab","title":"\u6dfb\u52a0\u5230 AI Lab","text":"

                            \u4fee\u6539 CRD \u4e3a GProductNavigator \u7684 CR baize \uff0c\u7136\u540e\u5728\u73b0\u6709\u914d\u7f6e\u4e2d\u8fdb\u884c\u5982\u4e0b\u53d8\u66f4\uff1a

                            apiVersion: ghippo.io/v1alpha1\nkind: GProductNavigator\nmetadata:\n  annotations:\n    meta.helm.sh/release-name: baize\n    meta.helm.sh/release-namespace: baize-system\n  labels:\n    app.kubernetes.io/managed-by: Helm\n    gProductName: baize\n  name: baize\nspec:\n  category: cloudnativeai\n  gproduct: baize\n  iconUrl: ./ui/baize/logo.svg\n  isCustom: false\n  localizedName:\n    en-US: AI Lab\n    zh-CN: AI Lab\n  menus:\n    - iconUrl: ''\n      isCustom: false\n      localizedName:\n        en-US: AI Lab\n        zh-CN: AI Lab\n      name: workspace-view\n      order: 1\n      url: ./baize\n      visible: true\n    - iconUrl: ''\n      isCustom: false\n      localizedName:\n        en-US: Operator\n        zh-CN: \u8fd0\u7ef4\u7ba1\u7406\n      name: admin-view\n      order: 1\n      url: ./baize/admin\n      visible: true\n    # \u6dfb\u52a0\u5f00\u59cb\n    - iconUrl: ''\n      localizedName:\n        en-US: Data Annotation\n        zh-CN: \u6570\u636e\u6807\u6ce8\n      name: label-studio\n      order: 1\n      target: blank    # \u63a7\u5236\u65b0\u5f00\u9875\n      url: https://{\u8bbf\u95ee\u5730\u5740}/label-studio    # \u8bbf\u95ee\u5730\u5740\n      visible: true\n    # \u6dfb\u52a0\u7ed3\u675f\n  name: AI Lab\n  order: 10\n  url: ./baize\n  visible: true\n
                            "},{"location":"admin/baize/best-practice/label-studio.html#_2","title":"\u6dfb\u52a0\u6548\u679c","text":""},{"location":"admin/baize/best-practice/label-studio.html#_3","title":"\u7ed3\u8bed","text":"

                            \u4ee5\u4e0a\uff0c\u5c31\u662f\u5982\u4f55\u6dfb\u52a0 Label Studio \u5e76\u5c06\u5176\u4f5c\u4e3a AI Lab \u7684\u6807\u6ce8\u7ec4\u4ef6\uff0c\u901a\u8fc7\u5c06\u6807\u6ce8\u540e\u7684\u6570\u636e\u6dfb\u52a0\u5230 AI Lab \u7684\u6570\u636e\u96c6\u4e2d\uff0c \u8054\u52a8\u7b97\u6cd5\u5f00\u53d1\uff0c\u5b8c\u5584\u7b97\u6cd5\u5f00\u53d1\u6d41\u7a0b\uff0c\u540e\u7eed\u5982\u4f55\u4f7f\u7528\u8bf7\u5173\u6ce8\u5176\u4ed6\u6587\u6863\u53c2\u8003\u3002

                            "},{"location":"admin/baize/best-practice/train-with-deepspeed.html","title":"\u5982\u4f55\u63d0\u4ea4 DeepSpeed \u8bad\u7ec3\u4efb\u52a1","text":"

                            \u6839\u636e DeepSpeed \u5b98\u65b9\u6587\u6863\uff0c\u6211\u4eec\u63a8\u8350\u4f7f\u7528\u4fee\u6539\u4ee3\u7801\u7684\u65b9\u5f0f\u5b9e\u73b0\u3002

                            \u5373\u4f7f\u7528 deepspeed.init_distributed() \u4ee3\u66ff torch.distributed.init_process_group(...)\u3002 \u7136\u540e\u8fd0\u884c\u547d\u4ee4\u4f7f\u7528 torchrun\uff0c\u63d0\u4ea4\u4e3a Pytorch \u5206\u5e03\u5f0f\u4efb\u52a1\uff0c\u65e2\u53ef\u8fd0\u884c DeepSpeed \u4efb\u52a1\u3002

                            \u662f\u7684\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528 torchrun \u8fd0\u884c\u4f60\u7684 DeepSpeed \u8bad\u7ec3\u811a\u672c\u3002 torchrun \u662f PyTorch \u63d0\u4f9b\u7684\u4e00\u4e2a\u5b9e\u7528\u5de5\u5177\uff0c\u7528\u4e8e\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002\u4f60\u53ef\u4ee5\u7ed3\u5408 torchrun \u548c DeepSpeed API \u6765\u542f\u52a8\u4f60\u7684\u8bad\u7ec3\u4efb\u52a1\u3002

                            \u4ee5\u4e0b\u662f\u4e00\u4e2a\u4f7f\u7528 torchrun \u8fd0\u884c DeepSpeed \u8bad\u7ec3\u811a\u672c\u7684\u793a\u4f8b\uff1a

                            1. \u7f16\u5199\u8bad\u7ec3\u811a\u672c\uff1a

                              train.py
                              import torch\nimport deepspeed\nfrom torch.utils.data import DataLoader\n\n# \u6a21\u578b\u548c\u6570\u636e\u52a0\u8f7d\nmodel = YourModel()\ntrain_dataset = YourDataset()\ntrain_dataloader = DataLoader(train_dataset, batch_size=32)\n\n# \u914d\u7f6e\u6587\u4ef6\u8def\u5f84\ndeepspeed_config = \"deepspeed_config.json\"\n\n# \u521b\u5efa DeepSpeed \u8bad\u7ec3\u5f15\u64ce\nmodel_engine, optimizer, _, _ = deepspeed.initialize(\n    model=model,\n    model_parameters=model.parameters(),\n    config_params=deepspeed_config\n)\n\n# \u8bad\u7ec3\u5faa\u73af\nfor batch in train_dataloader:\n    loss = model_engine(batch)\n    model_engine.backward(loss)\n    model_engine.step()\n
                            2. \u521b\u5efa DeepSpeed \u914d\u7f6e\u6587\u4ef6\uff1a

                              deepspeed_config.json
                              {\n  \"train_batch_size\": 32,\n  \"gradient_accumulation_steps\": 1,\n  \"fp16\": {\n    \"enabled\": true,\n    \"loss_scale\": 0\n  },\n  \"optimizer\": {\n    \"type\": \"Adam\",\n    \"params\": {\n      \"lr\": 0.00015,\n      \"betas\": [0.9, 0.999],\n      \"eps\": 1e-08,\n      \"weight_decay\": 0\n    }\n  }\n}\n
                            3. \u4f7f\u7528 torchrun \u6216\u8005 baizectl \u8fd0\u884c\u8bad\u7ec3\u811a\u672c\uff1a

                              torchrun train.py\n

                              \u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\uff0c\u4f60\u53ef\u4ee5\u7ed3\u5408 PyTorch \u7684\u5206\u5e03\u5f0f\u8bad\u7ec3\u529f\u80fd\u548c DeepSpeed \u7684\u4f18\u5316\u6280\u672f\uff0c\u4ece\u800c\u5b9e\u73b0\u66f4\u9ad8\u6548\u7684\u8bad\u7ec3\u3002 \u60a8\u53ef\u4ee5\u5728 Notebook \u4e2d\uff0c\u4f7f\u7528 baizectl \u63d0\u4ea4\u547d\u4ee4\uff1a

                              baizectl job submit --pytorch --workers 2 -- torchrun train.py\n
                            "},{"location":"admin/baize/developer/index.html","title":"\u5f00\u53d1\u63a7\u5236\u53f0","text":"

                            \u5f00\u53d1\u63a7\u5236\u53f0\u662f\u5f00\u53d1\u8005\u65e5\u5e38\u6267\u884c AI \u63a8\u7406\u3001\u5927\u6a21\u578b\u8bad\u7ec3\u7b49\u4efb\u52a1\u7684\u63a7\u5236\u53f0\u3002

                            \u65b9\u4fbf\u7528\u6237\u901a\u8fc7\u6982\u89c8\u5feb\u901f\u4e86\u89e3\uff0c\u5f53\u524d\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u53ca\u7528\u91cf\u60c5\u51b5\uff0c\u5305\u542b\u4e86GPU\u8d44\u6e90\u3001Notebook\u3001\u4efb\u52a1\u4ee5\u53ca\u6570\u636e\u96c6\u7684\u6570\u91cf\u4fe1\u606f\u3002

                            "},{"location":"admin/baize/developer/quick-start.html","title":"\u5feb\u901f\u5165\u95e8","text":"

                            \u672c\u6587\u63d0\u4f9b\u4e86\u7b80\u5355\u7684\u64cd\u4f5c\u624b\u518c\u4ee5\u4fbf\u7528\u6237\u4f7f\u7528 AI Lab \u8fdb\u884c\u6570\u636e\u96c6\u3001Notebook\u3001\u4efb\u52a1\u8bad\u7ec3\u7684\u6574\u4e2a\u5f00\u53d1\u3001\u8bad\u7ec3\u6d41\u7a0b\u3002

                            "},{"location":"admin/baize/developer/quick-start.html#_2","title":"\u51c6\u5907\u6570\u636e\u96c6","text":"

                            \u70b9\u51fb \u6570\u636e\u7ba1\u7406 -> \u6570\u636e\u96c6 \uff0c\u9009\u62e9 \u521b\u5efa \u6309\u94ae\uff0c\u5206\u522b\u521b\u5efa\u4ee5\u4e0b\u4e09\u4e2a\u6570\u636e\u96c6\u3002

                            "},{"location":"admin/baize/developer/quick-start.html#_3","title":"\u6570\u636e\u96c6\uff1a\u8bad\u7ec3\u4ee3\u7801","text":"
                            • \u4ee3\u7801\u6570\u636e\u6e90\uff1ahttps://github.com/samzong/training-sample-code.git\uff0c\u4e3b\u8981\u662f\u4e00\u4e2a\u7b80\u5355\u7684 Tensorflow \u4ee3\u7801\u3002
                            • \u5982\u679c\u662f\u4e2d\u56fd\u5883\u5185\u7684\u7528\u6237\uff0c\u53ef\u4ee5\u4f7f\u7528 Gitee \u52a0\u901f\uff1ahttps://gitee.com/samzong_lu/training-sample-code.git
                            • \u4ee3\u7801\u8def\u5f84\u4e3a tensorflow/tf-fashion-mnist-sample

                            Note

                            \u76ee\u524d\u4ec5\u652f\u6301\u8bfb\u5199\u6a21\u5f0f\u4e3a ReadWriteMany \u7684 StorageClass\uff0c\u8bf7\u4f7f\u7528 NFS \u6216\u8005\u63a8\u8350\u7684 JuiceFS\u3002

                            "},{"location":"admin/baize/developer/quick-start.html#_4","title":"\u6570\u636e\u96c6\uff1a\u8bad\u7ec3\u6570\u636e","text":"

                            \u672c\u6b21\u8bad\u7ec3\u4f7f\u7528\u7684\u6570\u636e\u4e3a https://github.com/zalandoresearch/fashion-mnist.git\uff0c \u8fd9\u662f Fashion-MNIST \u6570\u636e\u96c6\u3002

                            \u5982\u679c\u662f\u4e2d\u56fd\u5883\u5185\u7684\u7528\u6237\uff0c\u53ef\u4ee5\u4f7f\u7528 Gitee \u52a0\u901f\uff1ahttps://gitee.com/samzong_lu/fashion-mnist.git

                            Note

                            \u5982\u679c\u672a\u521b\u5efa\u8bad\u7ec3\u6570\u636e\u7684\u6570\u636e\u96c6\uff0c\u901a\u8fc7\u8bad\u7ec3\u811a\u672c\u4e5f\u4f1a\u81ea\u52a8\u4e0b\u8f7d\uff1b\u63d0\u524d\u51c6\u5907\u8bad\u7ec3\u6570\u636e\u53ef\u4ee5\u63d0\u9ad8\u8bad\u7ec3\u901f\u5ea6\u3002

                            "},{"location":"admin/baize/developer/quick-start.html#_5","title":"\u6570\u636e\u96c6\uff1a\u7a7a\u6570\u636e\u96c6","text":"

                            AI Lab \u652f\u6301\u5c06 PVC \u4f5c\u4e3a\u6570\u636e\u96c6\u7684\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u6240\u4ee5\u521b\u5efa\u4e00\u4e2a\u7a7a PVC \u7ed1\u5b9a\u5230\u6570\u636e\u96c6\u540e\uff0c\u53ef\u5c06\u7a7a\u6570\u636e\u96c6\u4f5c\u4e3a\u5b58\u653e\u540e\u7eed\u8bad\u7ec3\u4efb\u52a1\u7684\u8f93\u51fa\u6570\u636e\u96c6\uff0c\u5b58\u653e\u6a21\u578b\u548c\u65e5\u5fd7\u3002

                            "},{"location":"admin/baize/developer/quick-start.html#tensorflow","title":"\u73af\u5883\u4f9d\u8d56: tensorflow","text":"

                            \u811a\u672c\u5728\u8fd0\u884c\u65f6\uff0c\u9700\u8981\u4f9d\u8d56 Tensorflow \u7684 Python \u5e93\uff0c\u53ef\u4ee5\u4f7f\u7528 AI Lab \u7684\u73af\u5883\u4f9d\u8d56\u7ba1\u7406\u529f\u80fd\uff0c\u63d0\u524d\u5c06\u9700\u8981\u7684 Python \u5e93\u4e0b\u8f7d\u548c\u51c6\u5907\u5b8c\u6210\uff0c\u65e0\u9700\u4f9d\u8d56\u955c\u50cf\u6784\u5efa

                            \u53c2\u8003 \u73af\u5883\u4f9d\u8d56 \u7684\u64cd\u4f5c\u65b9\u5f0f\uff0c\u6dfb\u52a0\u4e00\u4e2a CONDA \u73af\u5883.

                            name: tensorflow\nchannels:\n  - defaults\n  - conda-forge\ndependencies:\n  - python=3.12\n  - tensorflow\nprefix: /opt/conda/envs/tensorflow\n

                            Note

                            \u7b49\u5f85\u73af\u5883\u9884\u70ed\u6210\u529f\u540e\uff0c\u53ea\u9700\u8981\u5c06\u6b64\u73af\u5883\u6302\u8f7d\u5230 Notebook\u3001\u8bad\u7ec3\u4efb\u52a1\u4e2d\uff0c\u4f7f\u7528 AI Lab \u63d0\u4f9b\u7684\u57fa\u7840\u955c\u50cf\u5c31\u53ef\u4ee5

                            "},{"location":"admin/baize/developer/quick-start.html#notebook","title":"\u4f7f\u7528 Notebook \u8c03\u8bd5\u811a\u672c","text":"

                            \u51c6\u5907\u5f00\u53d1\u73af\u5883\uff0c\u70b9\u51fb\u5bfc\u822a\u680f\u7684 Notebooks \uff0c\u70b9\u51fb \u521b\u5efa \u3002

                            • \u5c06\u51c6\u5907\u597d\u7684\u4e09\u4e2a\u6570\u636e\u96c6\u8fdb\u884c\u5173\u8054\uff0c\u6302\u8f7d\u8def\u5f84\u8bf7\u53c2\u7167\u4e0b\u56fe\u586b\u5199\uff0c\u6ce8\u610f\u5c06\u9700\u8981\u4f7f\u7528\u7684\u7a7a\u6570\u636e\u96c6\u5728 \u8f93\u51fa\u6570\u636e\u96c6\u4f4d\u7f6e\u914d\u7f6e

                            • \u9009\u62e9\u5e76\u7ed1\u5b9a\u73af\u5883\u4f9d\u8d56\u5305

                              \u7b49\u5f85 Notebook \u521b\u5efa\u6210\u529f\uff0c\u70b9\u51fb\u5217\u8868\u4e2d\u7684\u8bbf\u95ee\u5730\u5740\uff0c\u8fdb\u5165 Notebook\u3002\u5e76\u5728 Notebook \u7684\u7ec8\u7aef\u4e2d\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u4efb\u52a1\u8bad\u7ec3\u3002

                              Note

                              \u811a\u672c\u4f7f\u7528 Tensorflow\uff0c\u5982\u679c\u5fd8\u8bb0\u5173\u8054\u4f9d\u8d56\u5e93\uff0c\u4e5f\u53ef\u4ee5\u4e34\u65f6\u7528 pip install tensorflow \u5b89\u88c5\u3002

                              python /home/jovyan/code/tensorflow/tf-fashion-mnist-sample/train.py\n
                            "},{"location":"admin/baize/developer/quick-start.html#_6","title":"\u521b\u5efa\u8bad\u7ec3\u4efb\u52a1","text":"
                            1. \u70b9\u51fb\u5bfc\u822a\u680f\u7684 \u4efb\u52a1\u4e2d\u5fc3 -> \u8bad\u7ec3\u4efb\u52a1 \uff0c\u521b\u5efa\u4e00\u4e2a Tensorflow \u5355\u673a\u4efb\u52a1
                            2. \u5148\u586b\u5199\u57fa\u672c\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65
                            3. \u5728\u4efb\u52a1\u8d44\u6e90\u914d\u7f6e\u4e2d\uff0c\u6b63\u786e\u914d\u7f6e\u4efb\u52a1\u8d44\u6e90\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65

                              • \u955c\u50cf\uff1a\u5982\u679c\u524d\u5e8f\u73af\u5883\u4f9d\u8d56\u5305\u51c6\u5907\u597d\u4e86\uff0c\u4f7f\u7528\u9ed8\u8ba4\u955c\u50cf\u5373\u53ef\uff1b \u5982\u679c\u672a\u51c6\u5907\uff0c\u8981\u786e\u8ba4\u955c\u50cf\u5185\u6709 tensorflow \u7684 Python \u5e93
                              • shell\uff1a\u4f7f\u7528 bash \u5373\u53ef
                              • \u542f\u7528\u547d\u4ee4\uff1a

                                /home/jovyan/code/tensorflow/tf-fashion-mnist-sample/train.py\n
                            4. \u5728\u9ad8\u7ea7\u914d\u7f6e\u4e2d\uff0c\u542f\u7528 \u4efb\u52a1\u5206\u6790\uff08Tensorboard\uff09 \uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              Note

                              \u65e5\u5fd7\u6240\u5728\u4f4d\u7f6e\u4e3a\u8f93\u51fa\u6570\u636e\u96c6\u7684 /home/jovyan/model/train/logs/

                            5. \u8fd4\u56de\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\uff0c\u7b49\u5230\u72b6\u6001\u53d8\u4e3a \u6210\u529f \u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u8be6\u60c5\u3001\u514b\u9686\u4efb\u52a1\u3001\u66f4\u65b0\u4f18\u5148\u7ea7\u3001\u67e5\u770b\u65e5\u5fd7\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                            6. \u6210\u529f\u521b\u5efa\u4efb\u52a1\u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u4efb\u52a1\u5206\u6790 \uff0c\u53ef\u4ee5\u67e5\u770b\u4efb\u52a1\u72b6\u6001\u5e76\u5bf9\u4efb\u52a1\u8bad\u7ec3\u8fdb\u884c\u8c03\u4f18\u3002

                            "},{"location":"admin/baize/developer/dataset/create-use-delete.html","title":"\u6570\u636e\u96c6\u5217\u8868","text":"

                            AI Lab \u63d0\u4f9b\u6a21\u578b\u5f00\u53d1\u3001\u8bad\u7ec3\u4ee5\u53ca\u63a8\u7406\u8fc7\u7a0b\u6240\u6709\u9700\u8981\u7684\u6570\u636e\u96c6\u7ba1\u7406\u529f\u80fd\u3002\u76ee\u524d\u652f\u6301\u5c06\u591a\u79cd\u6570\u636e\u6e90\u7edf\u4e00\u63a5\u5165\u80fd\u529b\u3002

                            \u901a\u8fc7\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5c06\u6570\u636e\u6e90\u63a5\u5165\u5230 AI Lab \u4e2d\uff0c\u5b9e\u73b0\u6570\u636e\u7684\u7edf\u4e00\u7eb3\u7ba1\u3001\u9884\u70ed\u3001\u6570\u636e\u96c6\u7ba1\u7406\u7b49\u529f\u80fd\u3002

                            "},{"location":"admin/baize/developer/dataset/create-use-delete.html#_2","title":"\u521b\u5efa\u6570\u636e\u96c6","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u6570\u636e\u7ba1\u7406 -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                            2. \u9009\u62e9\u6570\u636e\u96c6\u5f52\u5c5e\u7684\u5de5\u4f5c\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4 \u4e0b\u4e00\u6b65 \u3002

                            3. \u914d\u7f6e\u76ee\u6807\u6570\u636e\u7684\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                              \u76ee\u524d\u652f\u6301\u8fd9\u51e0\u79cd\u6570\u636e\u6e90\uff1a

                              • GIT\uff1a\u652f\u6301 GitHub\u3001GitLab\u3001Gitee \u7b49\u4ed3\u5e93
                              • S3\uff1a\u652f\u6301 Amazon \u4e91\u7b49\u5bf9\u8c61\u5b58\u50a8
                              • HTTP\uff1a\u76f4\u63a5\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684 HTTP \u7f51\u5740
                              • PVC\uff1a\u652f\u6301\u9884\u5148\u521b\u5efa\u7684 Kubernetes PersistentVolumeClaim
                              • NFS\uff1a\u652f\u6301 NFS \u5171\u4eab\u5b58\u50a8
                            4. \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u5c06\u8fd4\u56de\u6570\u636e\u96c6\u5217\u8868\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

                            Info

                            \u7cfb\u7edf\u81ea\u52a8\u4f1a\u5728\u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u7acb\u5373\u8fdb\u884c\u4e00\u6b21\u6027\u7684\u6570\u636e\u9884\u52a0\u8f7d\uff1b\u5728\u9884\u52a0\u8f7d\u5b8c\u6210\u4e4b\u524d\uff0c\u6570\u636e\u96c6\u4e0d\u53ef\u4ee5\u4f7f\u7528\u3002

                            "},{"location":"admin/baize/developer/dataset/create-use-delete.html#_3","title":"\u6570\u636e\u96c6\u4f7f\u7528","text":"

                            \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u5728\u6a21\u578b\u8bad\u7ec3\u3001\u63a8\u7406\u7b49\u4efb\u52a1\u4e2d\u4f7f\u7528\u3002

                            "},{"location":"admin/baize/developer/dataset/create-use-delete.html#notebook","title":"\u5728 Notebook \u4e2d\u4f7f\u7528","text":"

                            \u5728\u521b\u5efa Notebook \u4e2d\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u6570\u636e\u96c6\uff1b\u4f7f\u7528\u65b9\u5f0f\u5982\u4e0b\uff1a

                            • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u8bad\u7ec3\u6570\u636e\u6302\u8f7d
                            • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u4ee3\u7801\u6302\u8f7d

                            "},{"location":"admin/baize/developer/dataset/create-use-delete.html#_4","title":"\u5728 \u8bad\u7ec3\u4efb\u52a1 \u4e2d\u4f7f\u7528","text":"
                            • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u51fa
                            • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u5165
                            • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a TensorBoard \u8f93\u51fa
                            "},{"location":"admin/baize/developer/dataset/create-use-delete.html#_5","title":"\u5728\u63a8\u7406\u670d\u52a1 \u4e2d\u4f7f\u7528","text":"
                            • \u4f7f\u7528\u6570\u636e\u96c6\u6302\u8f7d\u6a21\u578b
                            "},{"location":"admin/baize/developer/dataset/create-use-delete.html#_6","title":"\u5220\u9664\u6570\u636e\u96c6","text":"

                            \u5982\u679c\u53d1\u73b0\u6570\u636e\u96c6\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u6570\u636e\u96c6\u5217\u8868\u4e2d\u5220\u9664\u3002

                            1. \u5728\u6570\u636e\u96c6\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                            2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u6570\u636e\u96c6\uff0c\u8f93\u5165\u6570\u636e\u96c6\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                            3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u6570\u636e\u96c6\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                            Caution

                            \u6570\u636e\u96c6\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                            "},{"location":"admin/baize/developer/dataset/environments.html","title":"\u7ba1\u7406\u73af\u5883","text":"

                            \u672c\u6587\u8bf4\u660e\u5982\u4f55\u5728 AI Lab \u4e2d\u7ba1\u7406\u4f60\u7684\u73af\u5883\u4f9d\u8d56\u5e93\uff0c\u4ee5\u4e0b\u662f\u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

                            1. \u73af\u5883\u7ba1\u7406\u6982\u8ff0
                            2. \u521b\u5efa\u65b0\u73af\u5883
                            3. \u914d\u7f6e\u73af\u5883
                            4. \u6545\u969c\u6392\u9664
                            "},{"location":"admin/baize/developer/dataset/environments.html#_2","title":"\u73af\u5883\u7ba1\u7406\u6982\u8ff0","text":"

                            \u4f20\u7edf\u65b9\u5f0f\uff0c\u4e00\u822c\u4f1a\u5c06 Python \u73af\u5883\u4f9d\u8d56\u5728\u955c\u50cf\u4e2d\u6784\u5efa\uff0c\u955c\u50cf\u5e26\u6709 Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7684\u955c\u50cf\uff0c\u7ef4\u62a4\u6210\u672c\u8f83\u9ad8\u4e14\u66f4\u65b0\u4e0d\u65b9\u4fbf\uff0c\u5f80\u5f80\u9700\u8981\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

                            \u800c\u5728 AI Lab \u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 \u73af\u5883\u7ba1\u7406 \u6a21\u5757\u6765\u7ba1\u7406\u7eaf\u7cb9\u7684\u73af\u5883\u4f9d\u8d56\uff0c\u5c06\u8fd9\u90e8\u5206\u4ece\u955c\u50cf\u4e2d\u89e3\u8026\uff0c\u5e26\u6765\u7684\u4f18\u52bf\u6709\uff1a

                            • \u4e00\u4efd\u73af\u5883\u591a\u5904\u4f7f\u7528\uff0c\u540c\u65f6\u53ef\u4ee5\u5728 Notebook\u3001\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3001\u4e43\u81f3\u63a8\u7406\u670d\u52a1\u4e2d\u4f7f\u7528\u3002
                            • \u66f4\u65b0\u4f9d\u8d56\u5305\u66f4\u52a0\u65b9\u4fbf\uff0c\u53ea\u9700\u8981\u66f4\u65b0\u73af\u5883\u4f9d\u8d56\u5373\u53ef\uff0c\u65e0\u9700\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

                            \u4ee5\u4e0b\u4e3a\u73af\u5883\u7ba1\u7406\u7684\u4e3b\u8981\u7ec4\u6210\u90e8\u5206\uff1a

                            • \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u64cd\u4f5c\u7684\u96c6\u7fa4\u3002
                            • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4\u4ee5\u9650\u5b9a\u64cd\u4f5c\u8303\u56f4\u3002
                            • \u73af\u5883\u5217\u8868 \uff1a\u5c55\u793a\u5f53\u524d\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u73af\u5883\u53ca\u5176\u72b6\u6001\u3002

                            \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u73af\u5883\u7684\u540d\u79f0 my-environment \u72b6\u6001 \u73af\u5883\u5f53\u524d\u7684\u72b6\u6001\uff08\u6b63\u5e38\u6216\u5931\u8d25\uff09\uff0c\u65b0\u521b\u5efa\u73af\u5883\u6709\u4e00\u4e2a\u9884\u70ed\u8fc7\u7a0b\uff0c\u9884\u70ed\u6210\u529f\u540e\u5373\u53ef\u5728\u5176\u4ed6\u4efb\u52a1\u4e2d\u4f7f\u7528 \u6b63\u5e38 \u521b\u5efa\u65f6\u95f4 \u73af\u5883\u521b\u5efa\u7684\u65f6\u95f4 2023-10-01 10:00:00"},{"location":"admin/baize/developer/dataset/environments.html#_3","title":"\u521b\u5efa\u65b0\u73af\u5883","text":"

                            \u5728 \u73af\u5883\u7ba1\u7406 \u754c\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u73af\u5883\u7684\u6d41\u7a0b\u3002

                            \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u8f93\u5165\u73af\u5883\u7684\u540d\u79f0\uff0c\u957f\u5ea6\u4e3a 2-63 \u4e2a\u5b57\u7b26\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\u3002 my-environment \u90e8\u7f72\u4f4d\u7f6e \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u90e8\u7f72\u7684\u96c6\u7fa4 gpu-cluster \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4 default \u5907\u6ce8 \u586b\u5199\u5907\u6ce8\u4fe1\u606f\u3002 \u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u73af\u5883 \u6807\u7b7e \u4e3a\u73af\u5883\u6dfb\u52a0\u6807\u7b7e\u3002 env:test \u6ce8\u89e3 \u4e3a\u73af\u5883\u6dfb\u52a0\u6ce8\u89e3\u3002\u586b\u5199\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u73af\u5883\u914d\u7f6e\u3002 \u6ce8\u89e3\u793a\u4f8b"},{"location":"admin/baize/developer/dataset/environments.html#_4","title":"\u914d\u7f6e\u73af\u5883","text":"

                            \u5728\u73af\u5883\u914d\u7f6e\u6b65\u9aa4\u4e2d\uff0c\u7528\u6237\u9700\u8981\u914d\u7f6e Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7ba1\u7406\u5de5\u5177\u3002

                            \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c Python \u7248\u672c \u9009\u62e9\u6240\u9700\u7684 Python \u7248\u672c 3.12.3 \u5305\u7ba1\u7406\u5668 \u9009\u62e9\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u53ef\u9009 PIP \u6216 CONDA PIP Environment Data \u5982\u679c\u9009\u62e9 PIP\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 requirements.txt \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 numpy==1.21.0 \u5982\u679c\u9009\u62e9 CONDA\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 environment.yaml \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 \u5176\u4ed6\u9009\u9879 pip \u989d\u5916\u7d22\u5f15\u5730\u5740 \uff1a\u914d\u7f6e pip \u989d\u5916\u7684\u7d22\u5f15\u5730\u5740\uff1b\u9002\u7528\u4e8e\u4f01\u4e1a\u5185\u90e8\u6709\u81ea\u5df1\u7684\u79c1\u6709\u4ed3\u5e93\u6216\u8005 PIP \u52a0\u901f\u7ad9\u70b9\u3002 https://pypi.example.com GPU \u914d\u7f6e \uff1a\u542f\u7528\u6216\u7981\u7528 GPU \u914d\u7f6e\uff1b\u90e8\u5206\u6d89\u53ca\u5230 GPU \u7684\u4f9d\u8d56\u5305\u9700\u8981\u5728\u9884\u52a0\u8f7d\u65f6\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u542f\u7528 \u5173\u8054\u5b58\u50a8 \uff1a\u9009\u62e9\u5173\u8054\u7684\u5b58\u50a8\u914d\u7f6e\uff1b\u73af\u5883\u4f9d\u8d56\u5305\u4f1a\u5b58\u50a8\u5728\u5173\u8054\u5b58\u50a8\u4e2d\u3002\u6ce8\u610f\uff1a\u9700\u8981\u4f7f\u7528\u652f\u6301 ReadWriteMany \u7684\u5b58\u50a8\u3002 my-storage-config

                            \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u521b\u5efa \u6309\u94ae\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa\u5e76\u914d\u7f6e\u65b0\u7684 Python \u73af\u5883\u3002

                            "},{"location":"admin/baize/developer/dataset/environments.html#_5","title":"\u6545\u969c\u6392\u9664","text":"
                            • \u5982\u679c\u73af\u5883\u521b\u5efa\u5931\u8d25\uff1a

                              • \u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\u662f\u5426\u6b63\u5e38\u3002
                              • \u786e\u8ba4\u586b\u5199\u7684 Python \u7248\u672c\u548c\u5305\u7ba1\u7406\u5668\u914d\u7f6e\u65e0\u8bef\u3002
                              • \u786e\u4fdd\u6240\u9009\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u53ef\u7528\u3002
                            • \u5982\u679c\u4f9d\u8d56\u9884\u70ed\u5931\u8d25\uff1a

                              • \u68c0\u67e5 requirements.txt \u6216 environment.yaml \u6587\u4ef6\u683c\u5f0f\u662f\u5426\u6b63\u786e\u3002
                              • \u786e\u8ba4\u4f9d\u8d56\u5305\u540d\u79f0\u548c\u7248\u672c\u662f\u5426\u6b63\u786e\u65e0\u8bef\u3002\u5982\u9047\u5230\u5176\u4ed6\u95ee\u9898\uff0c\u8bf7\u8054\u7cfb\u5e73\u53f0\u7ba1\u7406\u5458\u6216\u67e5\u770b\u5e73\u53f0\u5e2e\u52a9\u6587\u6863\u83b7\u53d6\u66f4\u591a\u652f\u6301\u3002

                            \u4ee5\u4e0a\u5373\u4e3a\u5728 AI Lab \u4e2d\u7ba1\u7406 Python \u4f9d\u8d56\u5e93\u7684\u57fa\u672c\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

                            "},{"location":"admin/baize/developer/inference/models.html","title":"\u4e86\u89e3\u6a21\u578b\u652f\u6301\u60c5\u51b5","text":"

                            \u968f\u7740 AI Lab \u7684\u5feb\u901f\u8fed\u4ee3\uff0c\u6211\u4eec\u5df2\u7ecf\u652f\u6301\u4e86\u591a\u79cd\u6a21\u578b\u7684\u63a8\u7406\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6240\u652f\u6301\u7684\u6a21\u578b\u4fe1\u606f\u3002

                            • AI Lab v0.3.0 \u4e0a\u7ebf\u4e86\u6a21\u578b\u63a8\u7406\u670d\u52a1\uff0c\u9488\u5bf9\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u65b9\u4fbf\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528AI Lab \u7684\u63a8\u7406\u670d\u52a1\uff0c\u65e0\u9700\u5173\u5fc3\u6a21\u578b\u7684\u90e8\u7f72\u548c\u7ef4\u62a4\u3002
                            • AI Lab v0.6.0 \u652f\u6301\u4e86\u5b8c\u6574\u7248\u672c\u7684 vLLM \u63a8\u7406\u80fd\u529b\uff0c\u652f\u6301\u8bf8\u591a\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u5982 LLama\u3001Qwen\u3001ChatGLM \u7b49\u3002

                            \u60a8\u53ef\u4ee5\u5728 AI Lab \u4e2d\u4f7f\u7528\u7ecf\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9a8c\u8bc1\u8fc7\u7684 GPU \u7c7b\u578b\uff1b \u66f4\u591a\u7ec6\u8282\u53c2\u9605 GPU \u652f\u6301\u77e9\u9635\u3002

                            "},{"location":"admin/baize/developer/inference/models.html#triton-inference-server","title":"Triton Inference Server","text":"

                            \u901a\u8fc7 Triton Inference Server \u53ef\u4ee5\u5f88\u597d\u7684\u652f\u6301\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u6211\u4eec\u76ee\u524d\u652f\u6301\u4e3b\u6d41\u7684\u63a8\u7406\u540e\u7aef\u670d\u52a1\uff1a

                            Backend \u652f\u6301\u6a21\u578b\u683c\u5f0f \u4ecb\u7ecd pytorch TorchScript\u3001PyTorch 2.0 \u683c\u5f0f\u7684\u6a21\u578b triton-inference-server/pytorch_backend tensorflow TensorFlow 2.x triton-inference-server/tensorflow_backend vLLM(Deprecated) \u4e0e vLLM \u4e00\u81f4 \u652f\u6301\u7684\u6a21\u578b\u548c vLLM support Model \u4e00\u81f4

                            Danger

                            \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

                            "},{"location":"admin/baize/developer/inference/models.html#vllm","title":"vLLM","text":"

                            \u901a\u8fc7 vLLM \u6211\u4eec\u53ef\u4ee5\u5f88\u5feb\u7684\u4f7f\u7528\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6211\u4eec\u652f\u6301\u7684\u6a21\u578b\u5217\u8868\uff0c\u8fd9\u901a\u5e38\u548c vLLM Support Models \u4fdd\u6301\u4e00\u81f4\u3002

                            • HuggingFace \u6a21\u578b\uff1a\u6211\u4eec\u652f\u6301\u4e86 HuggingFace \u7684\u5927\u90e8\u5206\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728 HuggingFace Model Hub \u67e5\u770b\u66f4\u591a\u6a21\u578b\u3002
                            • vLLM \u652f\u6301\u6a21\u578b\u5217\u51fa\u4e86\u652f\u6301\u7684\u5927\u8bed\u8a00\u6a21\u578b\u548c\u89c6\u89c9\u8bed\u8a00\u6a21\u578b\u3002
                            • \u4f7f\u7528 vLLM \u652f\u6301\u6846\u67b6\u7684\u6a21\u578b\u8fdb\u884c\u5fae\u8c03\u540e\u7684\u6a21\u578b\u3002
                            "},{"location":"admin/baize/developer/inference/models.html#vllm_1","title":"vLLM \u65b0\u7279\u6027","text":"

                            \u76ee\u524d\uff0cAI Lab \u8fd8\u652f\u6301\u5728\u4f7f\u7528 vLLM \u4f5c\u4e3a\u63a8\u7406\u5de5\u5177\u65f6\u7684\u4e00\u4e9b\u65b0\u7279\u6027\uff1a

                            • \u5728\u63a8\u7406\u6a21\u578b\u65f6\uff0c\u542f\u7528 Lora Adapter \u6765\u4f18\u5316\u6a21\u578b\u63a8\u7406\u670d\u52a1
                            • \u63d0\u4f9b\u517c\u5bb9 OpenAI \u7684 OpenAPI \u63a5\u53e3\uff0c\u65b9\u4fbf\u7528\u6237\u5207\u6362\u5230\u672c\u5730\u63a8\u7406\u670d\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f4e\u6210\u672c\u7684\u5feb\u901f\u5207\u6362
                            "},{"location":"admin/baize/developer/inference/models.html#_2","title":"\u4e0b\u4e00\u6b65","text":"
                            • \u521b\u5efa Triton \u63a8\u7406\u670d\u52a1
                            • \u521b\u5efa vLLM \u63a8\u7406\u670d\u52a1
                            "},{"location":"admin/baize/developer/inference/triton-inference.html","title":"\u521b\u5efa Triton \u63a8\u7406\u670d\u52a1","text":"

                            AI Lab \u76ee\u524d\u63d0\u4f9b\u4ee5 Triton\u3001vLLM \u4f5c\u4e3a\u63a8\u7406\u6846\u67b6\uff0c\u7528\u6237\u53ea\u9700\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5feb\u901f\u542f\u52a8\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u63a8\u7406\u670d\u52a1\u3002

                            Danger

                            \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

                            "},{"location":"admin/baize/developer/inference/triton-inference.html#triton_1","title":"Triton\u4ecb\u7ecd","text":"

                            Triton \u662f\u7531 NVIDIA \u5f00\u53d1\u7684\u4e00\u4e2a\u5f00\u6e90\u63a8\u7406\u670d\u52a1\u5668\uff0c\u65e8\u5728\u7b80\u5316\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u90e8\u7f72\u548c\u63a8\u7406\u670d\u52a1\u3002\u5b83\u652f\u6301\u591a\u79cd\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5305\u62ec TensorFlow\u3001PyTorch \u7b49\uff0c\u4f7f\u5f97\u7528\u6237\u80fd\u591f\u8f7b\u677e\u7ba1\u7406\u548c\u90e8\u7f72\u4e0d\u540c\u7c7b\u578b\u7684\u6a21\u578b\u3002

                            "},{"location":"admin/baize/developer/inference/triton-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\uff0c\u4e0b\u9762\u4ee5 mnist \u624b\u5199\u6570\u5b57\u8bc6\u522b\u7684 PyTorch \u6a21\u578b\u4e3a\u4f8b\u3002

                            Note

                            \u5f85\u63a8\u7406\u7684\u6a21\u578b\u5728\u6570\u636e\u96c6\u4e2d\u9700\u8981\u9075\u4ee5\u4e0b\u76ee\u5f55\u683c\u5f0f\uff1a

                              <model-repository-name>\n  \u2514\u2500\u2500 <model-name>\n     \u2514\u2500\u2500 <version>\n        \u2514\u2500\u2500 <model-definition-file>\n

                            \u672c\u4f8b\u4e2d\u7684\u76ee\u5f55\u683c\u5f0f\u4e3a\uff1a

                                model-repo\n    \u2514\u2500\u2500 mnist-cnn\n        \u2514\u2500\u2500 1\n            \u2514\u2500\u2500 model.pt\n
                            "},{"location":"admin/baize/developer/inference/triton-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"

                            \u76ee\u524d\u5df2\u7ecf\u652f\u6301\u8868\u5355\u521b\u5efa\uff0c\u53ef\u4ee5\u754c\u9762\u5b57\u6bb5\u63d0\u793a\uff0c\u8fdb\u884c\u670d\u52a1\u521b\u5efa\u3002

                            "},{"location":"admin/baize/developer/inference/triton-inference.html#_3","title":"\u914d\u7f6e\u6a21\u578b\u8def\u5f84","text":"

                            \u6a21\u578b\u8def\u5f84 model-repo/mnist-cnn/1/model.pt \u9700\u8981\u548c\u6570\u636e\u96c6\u4e2d\u7684\u6a21\u578b\u76ee\u5f55\u683c\u5f0f\u4e00\u81f4\u3002

                            "},{"location":"admin/baize/developer/inference/triton-inference.html#_4","title":"\u6a21\u578b\u914d\u7f6e","text":""},{"location":"admin/baize/developer/inference/triton-inference.html#_5","title":"\u914d\u7f6e\u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570","text":"

                            Note

                            \u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570\u7684\u7b2c\u4e00\u4e2a\u7ef4\u5ea6\u9ed8\u8ba4\u4e3a batchsize \u7684\u5927\u5c0f\uff0c\u8bbe\u7f6e\u4e3a -1 \u53ef\u4ee5\u6839\u636e\u8f93\u5165\u7684\u63a8\u7406\u6570\u636e\u81ea\u52a8\u8ba1\u7b97 batchsize\u3002\u53c2\u6570\u5176\u4f59\u7ef4\u5ea6\u548c\u6570\u636e\u7c7b\u578b\u9700\u8981\u4e0e\u6a21\u578b\u8f93\u5165\u5339\u914d\u3002

                            "},{"location":"admin/baize/developer/inference/triton-inference.html#_6","title":"\u914d\u7f6e\u73af\u5883","text":"

                            \u53ef\u4ee5\u5bfc\u5165 \u73af\u5883\u7ba1\u7406 \u4e2d\u521b\u5efa\u7684\u73af\u5883\u4f5c\u4e3a\u63a8\u7406\u65f6\u7684\u8fd0\u884c\u73af\u5883\u3002

                            "},{"location":"admin/baize/developer/inference/triton-inference.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":""},{"location":"admin/baize/developer/inference/triton-inference.html#_8","title":"\u914d\u7f6e\u8ba4\u8bc1\u7b56\u7565","text":"

                            \u652f\u6301 API key \u7684\u8bf7\u6c42\u65b9\u5f0f\u8ba4\u8bc1\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u5b9a\u4e49\u589e\u52a0\u8ba4\u8bc1\u53c2\u6570\u3002

                            "},{"location":"admin/baize/developer/inference/triton-inference.html#_9","title":"\u4eb2\u548c\u6027\u8c03\u5ea6","text":"

                            \u652f\u6301 \u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

                            "},{"location":"admin/baize/developer/inference/triton-inference.html#_10","title":"\u8bbf\u95ee","text":""},{"location":"admin/baize/developer/inference/triton-inference.html#api","title":"API \u8bbf\u95ee","text":"
                            • Triton \u63d0\u4f9b\u4e86\u4e00\u4e2a\u57fa\u4e8e REST \u7684 API\uff0c\u5141\u8bb8\u5ba2\u6237\u7aef\u901a\u8fc7 HTTP POST \u8bf7\u6c42\u8fdb\u884c\u6a21\u578b\u63a8\u7406\u3002
                            • \u5ba2\u6237\u7aef\u53ef\u4ee5\u53d1\u9001 JSON \u683c\u5f0f\u7684\u8bf7\u6c42\u4f53\uff0c\u5176\u4e2d\u5305\u542b\u8f93\u5165\u6570\u636e\u548c\u76f8\u5173\u7684\u5143\u6570\u636e\u3002
                            "},{"location":"admin/baize/developer/inference/triton-inference.html#http","title":"HTTP \u8bbf\u95ee","text":"
                            1. \u53d1\u9001 HTTP POST \u8bf7\u6c42\uff1a\u4f7f\u7528\u5de5\u5177\u5982 curl \u6216 HTTP \u5ba2\u6237\u7aef\u5e93\uff08\u5982 Python \u7684 requests \u5e93\uff09\u5411 Triton Server \u53d1\u9001 POST \u8bf7\u6c42\u3002

                            2. \u8bbe\u7f6e HTTP \u5934\uff1a\u6839\u636e\u7528\u6237\u914d\u7f6e\u9879\u81ea\u52a8\u751f\u6210\u7684\u914d\u7f6e\uff0c\u5305\u542b\u6a21\u578b\u8f93\u5165\u548c\u8f93\u51fa\u7684\u5143\u6570\u636e\u3002

                            3. \u6784\u5efa\u8bf7\u6c42\u4f53\uff1a\u8bf7\u6c42\u4f53\u901a\u5e38\u5305\u542b\u8981\u8fdb\u884c\u63a8\u7406\u7684\u8f93\u5165\u6570\u636e\uff0c\u4ee5\u53ca\u6a21\u578b\u7279\u5b9a\u7684\u5143\u6570\u636e\u3002

                            "},{"location":"admin/baize/developer/inference/triton-inference.html#curl","title":"\u793a\u4f8b curl \u547d\u4ee4","text":"
                              curl -X POST \"http://<ip>:<port>/v2/models/<inference-name>/infer\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"inputs\": [\n      {\n        \"name\": \"model_input\",            \n        \"shape\": [1, 1, 32, 32],          \n        \"datatype\": \"FP32\",               \n        \"data\": [\n          [0.1234, 0.5678, 0.9101, ... ]  \n        ]\n      }\n    ]\n  }'\n
                            • <ip> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u5730\u5740\u3002
                            • <port> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u7aef\u53e3\u53f7\u3002
                            • <inference-name> \u662f\u6240\u521b\u5efa\u7684\u63a8\u7406\u670d\u52a1\u7684\u540d\u79f0\u3002
                            • \"name\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 name \u4e00\u81f4\u3002
                            • \"shape\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 dims \u4e00\u81f4\u3002
                            • \"datatype\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 Data Type \u4e00\u81f4\u3002
                            • \"data\" \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u63a8\u7406\u6570\u636e\u3002

                            \u8bf7\u6ce8\u610f\uff0c\u4e0a\u8ff0\u793a\u4f8b\u4ee3\u7801\u9700\u8981\u6839\u636e\u4f60\u7684\u5177\u4f53\u6a21\u578b\u548c\u73af\u5883\u8fdb\u884c\u8c03\u6574\uff0c\u8f93\u5165\u6570\u636e\u7684\u683c\u5f0f\u548c\u5185\u5bb9\u4e5f\u9700\u8981\u7b26\u5408\u6a21\u578b\u7684\u8981\u6c42\u3002

                            "},{"location":"admin/baize/developer/inference/vllm-inference.html","title":"\u521b\u5efa vLLM \u63a8\u7406\u670d\u52a1","text":"

                            AI Lab \u652f\u6301\u4ee5 vLLM \u4f5c\u4e3a\u63a8\u7406\u670d\u52a1\uff0c\u63d0\u4f9b\u5168\u90e8 vLLM \u7684\u80fd\u529b\uff0c\u540c\u65f6\u63d0\u4f9b\u4e86\u5b8c\u5168\u9002\u914d OpenAI \u63a5\u53e3\u5b9a\u4e49\u3002

                            "},{"location":"admin/baize/developer/inference/vllm-inference.html#vllm_1","title":"vLLM \u4ecb\u7ecd","text":"

                            vLLM \u662f\u4e00\u4e2a\u5feb\u901f\u4e14\u6613\u4e8e\u4f7f\u7528\u7684\u7528\u4e8e\u63a8\u7406\u548c\u670d\u52a1\u7684\u5e93\uff0cvLLM \u65e8\u5728\u6781\u5927\u5730\u63d0\u5347\u5b9e\u65f6\u573a\u666f\u4e0b\u7684\u8bed\u8a00\u6a21\u578b\u670d\u52a1\u7684\u541e\u5410\u4e0e\u5185\u5b58\u4f7f\u7528\u6548\u7387\u3002vLLM \u5728\u901f\u5ea6\u3001\u7075\u6d3b\u6027\u65b9\u9762\u5177\u6709\u4ee5\u4e0b\u90e8\u5206\u7279\u70b9\uff1a

                            • \u8fde\u7eed\u6279\u5904\u7406\u4f20\u5165\u8bf7\u6c42\uff1b
                            • \u4f7f\u7528 PagedAttention \u9ad8\u6548\u7ba1\u7406\u6ce8\u610f\u529b\u952e\u548c\u503c\u5185\u5b58\uff1b
                            • \u4e0e\u6d41\u884c\u7684 HuggingFace \u578b\u53f7\u65e0\u7f1d\u96c6\u6210\uff1b
                            • \u517c\u5bb9 OpenAI \u7684 API \u670d\u52a1\u5668\u3002
                            "},{"location":"admin/baize/developer/inference/vllm-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\u3002

                            "},{"location":"admin/baize/developer/inference/vllm-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"
                            1. \u9009\u62e9 vLLM \u63a8\u7406\u6846\u67b6\uff0c\u5e76\u5728\u9009\u62e9\u6a21\u578b\u6a21\u5757\u9009\u62e9\u63d0\u524d\u521b\u5efa\u597d\u7684\u6a21\u578b\u6570\u636e\u96c6 hdd-models \u5e76\u586b\u5199\u6570\u636e\u96c6\u4e2d\u6a21\u578b\u6240\u5728\u7684\u8def\u5f84\u4fe1\u606f\u3002

                              \u672c\u6587\u63a8\u7406\u670d\u52a1\u7684\u521b\u5efa\u4f7f\u7528 ChatGLM3 \u6a21\u578b\u3002

                            2. \u914d\u7f6e\u63a8\u7406\u670d\u52a1\u7684\u8d44\u6e90\uff0c\u5e76\u8c03\u6574\u63a8\u7406\u670d\u52a1\u8fd0\u884c\u7684\u53c2\u6570\u3002

                              \u53c2\u6570\u540d \u63cf\u8ff0 GPU \u8d44\u6e90 \u6839\u636e\u6a21\u578b\u89c4\u6a21\u4ee5\u53ca\u96c6\u7fa4\u8d44\u6e90\u53ef\u4ee5\u4e3a\u63a8\u7406\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u5141\u8bb8\u8fdc\u7a0b\u4ee3\u7801 \u63a7\u5236 vLLM \u662f\u5426\u4fe1\u4efb\u5e76\u6267\u884c\u6765\u81ea\u8fdc\u7a0b\u6e90\u7684\u4ee3\u7801 LoRA LoRA \u662f\u4e00\u79cd\u9488\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u7684\u53c2\u6570\u9ad8\u6548\u8c03\u6574\u6280\u672f\u3002\u5b83\u901a\u8fc7\u5c06\u539f\u59cb\u6a21\u578b\u53c2\u6570\u77e9\u9635\u5206\u89e3\u4e3a\u4f4e\u79e9\u77e9\u9635\uff0c\u4ece\u800c\u51cf\u5c11\u53c2\u6570\u6570\u91cf\u548c\u8ba1\u7b97\u590d\u6742\u5ea6\u3002 1. --lora-modules\uff1a\u7528\u6765\u6307\u5b9a\u7279\u5b9a\u6a21\u5757\u6216\u5c42\u8fdb\u884c\u4f4e\u79e9\u8fd1\u4f3c 2. max_loras_rank\uff1a\u7528\u6765\u6307\u5b9a LoRA \u6a21\u578b\u4e2d\u6bcf\u4e2a\u9002\u914d\u5c42\u7684\u6700\u5927\u79e9\uff0c\u5bf9\u4e8e\u7b80\u5355\u7684\u4efb\u52a1\uff0c\u53ef\u4ee5\u9009\u62e9\u8f83\u5c0f\u7684\u79e9\u503c\uff0c\u800c\u5bf9\u4e8e\u590d\u6742\u4efb\u52a1\uff0c\u53ef\u80fd\u9700\u8981\u8f83\u5927\u7684\u79e9\u503c\u6765\u4fdd\u8bc1\u6a21\u578b\u6027\u80fd\u3002 3. max_loras\uff1a\u8868\u793a\u6a21\u578b\u4e2d\u53ef\u4ee5\u5305\u542b\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u91cf\uff0c\u6839\u636e\u6a21\u578b\u5927\u5c0f\u3001\u63a8\u7406\u590d\u6742\u5ea6\u7b49\u56e0\u7d20\u81ea\u5b9a 4. max_cpu_loras\uff1a\u7528\u4e8e\u6307\u5b9a\u5728 CPU \u73af\u5883\u4e2d\u53ef\u4ee5\u5904\u7406\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u3002 \u5173\u8054\u73af\u5883 \u901a\u8fc7\u9009\u62e9\u73af\u5883\u9884\u5b9a\u4e49\u63a8\u7406\u65f6\u6240\u9700\u7684\u73af\u5883\u4f9d\u8d56\u3002

                              Info

                              \u652f\u6301\u914d\u7f6e LoRA \u53c2\u6570\u7684\u6a21\u578b\u53ef\u53c2\u8003 vLLM \u652f\u6301\u7684\u6a21\u578b\u3002

                            3. \u5728 \u9ad8\u7ea7\u914d\u7f6e \u4e2d\uff0c\u652f\u6301\u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

                            "},{"location":"admin/baize/developer/inference/vllm-inference.html#_3","title":"\u9a8c\u8bc1\u63a8\u7406\u670d\u52a1","text":"

                            \u63a8\u7406\u670d\u52a1\u521b\u5efa\u5b8c\u6210\u4e4b\u540e\uff0c\u70b9\u51fb\u63a8\u7406\u670d\u52a1\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\uff0c\u67e5\u770b API \u8c03\u7528\u65b9\u6cd5\u3002\u901a\u8fc7\u4f7f\u7528 Curl\u3001Python\u3001Nodejs \u7b49\u65b9\u5f0f\u9a8c\u8bc1\u6267\u884c\u7ed3\u679c\u3002

                            \u62f7\u8d1d\u8be6\u60c5\u4e2d\u7684 curl \u547d\u4ee4\uff0c\u5e76\u5728\u7ec8\u7aef\u4e2d\u6267\u884c\u547d\u4ee4\u53d1\u9001\u4e00\u6761\u6a21\u578b\u63a8\u7406\u8bf7\u6c42\uff0c\u9884\u671f\u8f93\u51fa\uff1a

                            "},{"location":"admin/baize/developer/jobs/create.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

                            \u4efb\u52a1\u7ba1\u7406\u662f\u6307\u901a\u8fc7\u4f5c\u4e1a\u8c03\u5ea6\u548c\u7ba1\u63a7\u7ec4\u4ef6\u6765\u521b\u5efa\u548c\u7ba1\u7406\u4efb\u52a1\u751f\u547d\u5468\u671f\u7684\u529f\u80fd\u3002

                            AI Lab \u91c7\u7528 Kubernetes \u7684 Job \u673a\u5236\u6765\u8c03\u5ea6\u5404\u9879 AI \u63a8\u7406\u3001\u8bad\u7ec3\u4efb\u52a1\u3002

                            "},{"location":"admin/baize/developer/jobs/create.html#_1","title":"\u901a\u7528\u6b65\u9aa4","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u4efb\u52a1\u4e2d\u5fc3 -> \u8bad\u7ec3\u4efb\u52a1 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                            2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u914d\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u4efb\u52a1\u7c7b\u578b\u3001\u961f\u5217\u3001\u4f18\u5148\u7ea7\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            3. \u914d\u7f6e\u955c\u50cf\u5730\u5740\u3001\u8fd0\u884c\u53c2\u6570\u4ee5\u53ca\u5173\u8054\u7684\u6570\u636e\u96c6\u3001\u73af\u5883\u548c\u8d44\u6e90\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                            4. \u6309\u9700\u6dfb\u52a0\u6807\u7b7e\u3001\u6ce8\u89e3\u3001\u73af\u5883\u53d8\u91cf\u7b49\u4efb\u52a1\u53c2\u6570\uff0c\u9009\u62e9\u8c03\u5ea6\u7b56\u7565\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            5. \u4efb\u52a1\u521b\u5efa\u6210\u529f\u540e\uff0c\u4f1a\u6709\u51e0\u79cd\u8fd0\u884c\u72b6\u6001\uff1a

                              • \u8fd0\u884c\u4e2d
                              • \u6392\u961f\u4e2d
                              • \u63d0\u4ea4\u6210\u529f\u3001\u63d0\u4ea4\u5931\u8d25
                              • \u4efb\u52a1\u6210\u529f\u3001\u4efb\u52a1\u5931\u8d25
                            "},{"location":"admin/baize/developer/jobs/create.html#_2","title":"\u521b\u5efa\u7279\u5b9a\u4efb\u52a1","text":"
                            • \u521b\u5efa Pytorch \u4efb\u52a1
                            • \u521b\u5efa TensorFlow \u4efb\u52a1
                            • \u521b\u5efa MPI \u4efb\u52a1
                            • \u521b\u5efa MXNet \u4efb\u52a1
                            • \u521b\u5efa PaddlePaddle \u4efb\u52a1
                            "},{"location":"admin/baize/developer/jobs/delete.html","title":"\u5220\u9664\u4efb\u52a1\uff08Job\uff09","text":"

                            \u5982\u679c\u53d1\u73b0\u4efb\u52a1\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u5220\u9664\u3002

                            1. \u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                            2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u4efb\u52a1\uff0c\u8f93\u5165\u4efb\u52a1\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                            3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u4efb\u52a1\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                            Caution

                            \u4efb\u52a1\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                            "},{"location":"admin/baize/developer/jobs/mpi.html","title":"MPI \u4efb\u52a1","text":"

                            MPI\uff08Message Passing Interface\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u5e76\u884c\u8ba1\u7b97\u7684\u901a\u4fe1\u534f\u8bae\uff0c\u5b83\u5141\u8bb8\u591a\u4e2a\u8ba1\u7b97\u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u6d88\u606f\u4f20\u9012\u548c\u534f\u4f5c\u3002 MPI \u4efb\u52a1\u662f\u4f7f\u7528 MPI \u534f\u8bae\u8fdb\u884c\u5e76\u884c\u8ba1\u7b97\u7684\u4efb\u52a1\uff0c\u9002\u7528\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u5904\u7406\u7684\u5e94\u7528\u573a\u666f\uff0c\u4f8b\u5982\u5206\u5e03\u5f0f\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

                            \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 MPI \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MPI \u4efb\u52a1\uff0c\u8fdb\u884c\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u8ba1\u7b97\u3002 \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u4e2d\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002

                            "},{"location":"admin/baize/developer/jobs/mpi.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                            • \u4efb\u52a1\u7c7b\u578b \uff1aMPI\uff0c\u7528\u4e8e\u8fd0\u884c\u5e76\u884c\u8ba1\u7b97\u4efb\u52a1\u3002
                            • \u8fd0\u884c\u73af\u5883 \uff1a\u9009\u7528\u9884\u88c5\u4e86 MPI \u73af\u5883\u7684\u955c\u50cf\uff0c\u6216\u8005\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                            • MPIJob \u914d\u7f6e \uff1a\u7406\u89e3\u5e76\u914d\u7f6e MPIJob \u7684\u5404\u9879\u53c2\u6570\uff0c\u5982\u526f\u672c\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
                            "},{"location":"admin/baize/developer/jobs/mpi.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                            \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf\u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002 \u786e\u4fdd\u8fd0\u884c\u73af\u5883\u4e2d\u5305\u542b MPI \u53ca\u76f8\u5173\u5e93\uff0c\u5982 OpenMPI\u3001mpi4py \u7b49\u3002

                            \u6ce8\u610f \uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u5217\u8868\u3002

                            "},{"location":"admin/baize/developer/jobs/mpi.html#mpi_1","title":"\u521b\u5efa MPI \u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/mpi.html#mpi_2","title":"MPI \u4efb\u52a1\u521b\u5efa\u6b65\u9aa4","text":"
                            1. \u767b\u5f55\u5e73\u53f0 \uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                            2. \u521b\u5efa\u4efb\u52a1 \uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                            3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b \uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MPI\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                            4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f \uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cbenchmarks-mpi\u201d\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                            5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570 \uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                            "},{"location":"admin/baize/developer/jobs/mpi.html#_3","title":"\u8fd0\u884c\u53c2\u6570","text":"
                            • \u542f\u52a8\u547d\u4ee4 \uff1a\u4f7f\u7528 mpirun\uff0c\u8fd9\u662f\u8fd0\u884c MPI \u7a0b\u5e8f\u7684\u547d\u4ee4\u3002
                            • \u547d\u4ee4\u53c2\u6570 \uff1a\u8f93\u5165\u60a8\u8981\u8fd0\u884c\u7684 MPI \u7a0b\u5e8f\u7684\u53c2\u6570\u3002

                            \u793a\u4f8b\uff1a\u8fd0\u884c TensorFlow Benchmarks

                            \u5728\u672c\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u5c06\u8fd0\u884c\u4e00\u4e2a TensorFlow \u7684\u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\uff0c\u4f7f\u7528 Horovod \u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002 \u9996\u5148\uff0c\u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u4e2d\u5305\u542b\u6240\u9700\u7684\u4f9d\u8d56\u9879\uff0c\u4f8b\u5982 TensorFlow\u3001Horovod\u3001Open MPI \u7b49\u3002

                            \u955c\u50cf\u9009\u62e9 \uff1a\u4f7f\u7528\u5305\u542b TensorFlow \u548c MPI \u7684\u955c\u50cf\uff0c\u4f8b\u5982 mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\u3002

                            \u547d\u4ee4\u53c2\u6570 \uff1a

                            mpirun --allow-run-as-root -np 2 -bind-to none -map-by slot \\\n  -x NCCL_DEBUG=INFO -x LD_LIBRARY_PATH -x PATH \\\n  -mca pml ob1 -mca btl ^openib \\\n  python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \\\n  --model=resnet101 --batch_size=64 --variable_update=horovod\n

                            \u8bf4\u660e \uff1a

                            • mpirun\uff1aMPI \u7684\u542f\u52a8\u547d\u4ee4\u3002
                            • --allow-run-as-root\uff1a\u5141\u8bb8\u4ee5 root \u7528\u6237\u8fd0\u884c\uff08\u5728\u5bb9\u5668\u4e2d\u901a\u5e38\u662f root \u7528\u6237\uff09\u3002
                            • -np 2\uff1a\u6307\u5b9a\u8fd0\u884c\u7684\u8fdb\u7a0b\u6570\u4e3a 2\u3002
                            • -bind-to none\uff0c-map-by slot\uff1aMPI \u8fdb\u7a0b\u7ed1\u5b9a\u548c\u6620\u5c04\u7684\u914d\u7f6e\u3002
                            • -x NCCL_DEBUG=INFO\uff1a\u8bbe\u7f6e NCCL\uff08NVIDIA Collective Communication Library\uff09\u7684\u8c03\u8bd5\u4fe1\u606f\u7ea7\u522b\u3002
                            • -x LD_LIBRARY_PATH\uff0c-x PATH\uff1a\u5728 MPI \u73af\u5883\u4e2d\u4f20\u9012\u5fc5\u8981\u7684\u73af\u5883\u53d8\u91cf\u3002
                            • -mca pml ob1 -mca btl ^openib\uff1aMPI \u7684\u914d\u7f6e\u53c2\u6570\uff0c\u6307\u5b9a\u4f20\u8f93\u5c42\u548c\u6d88\u606f\u5c42\u534f\u8bae\u3002
                            • python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\uff1a\u8fd0\u884c TensorFlow \u57fa\u51c6\u6d4b\u8bd5\u811a\u672c\u3002
                            • --model=resnet101\uff0c--batch_size=64\uff0c--variable_update=horovod\uff1aTensorFlow \u811a\u672c\u7684\u53c2\u6570\uff0c\u6307\u5b9a\u6a21\u578b\u3001\u6279\u91cf\u5927\u5c0f\u548c\u4f7f\u7528 Horovod \u8fdb\u884c\u53c2\u6570\u66f4\u65b0\u3002
                            "},{"location":"admin/baize/developer/jobs/mpi.html#_4","title":"\u8d44\u6e90\u914d\u7f6e","text":"

                            \u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u4e3a\u6bcf\u4e2a\u8282\u70b9\uff08Launcher \u548c Worker\uff09\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u4f8b\u5982 CPU\u3001\u5185\u5b58\u548c GPU\u3002

                            \u8d44\u6e90\u793a\u4f8b \uff1a

                            • Launcher\uff08\u542f\u52a8\u5668\uff09 \uff1a

                              • \u526f\u672c\u6570 \uff1a1
                              • \u8d44\u6e90\u8bf7\u6c42 \uff1a
                                • CPU\uff1a2 \u6838
                                • \u5185\u5b58\uff1a4 GiB
                            • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09 \uff1a

                              • \u526f\u672c\u6570 \uff1a2
                              • \u8d44\u6e90\u8bf7\u6c42 \uff1a
                                • CPU\uff1a2 \u6838
                                • \u5185\u5b58\uff1a4 GiB
                                • GPU\uff1a\u6839\u636e\u9700\u6c42\u5206\u914d
                            "},{"location":"admin/baize/developer/jobs/mpi.html#mpijob","title":"\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b","text":"

                            \u4ee5\u4e0b\u662f\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b\uff0c\u4f9b\u60a8\u53c2\u8003\u3002

                            apiVersion: kubeflow.org/v1\nkind: MPIJob\nmetadata:\n  name: tensorflow-benchmarks\nspec:\n  slotsPerWorker: 1\n  runPolicy:\n    cleanPodPolicy: Running\n  mpiReplicaSpecs:\n    Launcher:\n      replicas: 1\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              command:\n                - mpirun\n                - --allow-run-as-root\n                - -np\n                - \"2\"\n                - -bind-to\n                - none\n                - -map-by\n                - slot\n                - -x\n                - NCCL_DEBUG=INFO\n                - -x\n                - LD_LIBRARY_PATH\n                - -x\n                - PATH\n                - -mca\n                - pml\n                - ob1\n                - -mca\n                - btl\n                - ^openib\n                - python\n                - scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\n                - --model=resnet101\n                - --batch_size=64\n                - --variable_update=horovod\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 2\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpumem: 1k\n                  nvidia.com/vgpu: \"1\"\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

                            \u914d\u7f6e\u89e3\u6790 \uff1a

                            • apiVersion \u548c kind\uff1a\u8868\u793a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0cMPIJob \u662f Kubeflow \u5b9a\u4e49\u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u7528\u4e8e\u521b\u5efa MPI \u7c7b\u578b\u7684\u4efb\u52a1\u3002
                            • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u542b\u4efb\u52a1\u7684\u540d\u79f0\u7b49\u4fe1\u606f\u3002
                            • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                              • slotsPerWorker\uff1a\u6bcf\u4e2a Worker \u8282\u70b9\u7684\u69fd\u4f4d\u6570\u91cf\uff0c\u901a\u5e38\u8bbe\u7f6e\u4e3a 1\u3002
                              • runPolicy\uff1a\u8fd0\u884c\u7b56\u7565\uff0c\u4f8b\u5982\u4efb\u52a1\u5b8c\u6210\u540e\u662f\u5426\u6e05\u7406 Pod\u3002
                              • mpiReplicaSpecs\uff1aMPI \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                                • Launcher\uff1a\u542f\u52a8\u5668\uff0c\u8d1f\u8d23\u542f\u52a8 MPI \u4efb\u52a1\u3002
                                  • replicas\uff1a\u526f\u672c\u6570\uff0c\u901a\u5e38\u4e3a 1\u3002
                                  • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u7684\u955c\u50cf\u3001\u547d\u4ee4\u3001\u8d44\u6e90\u7b49\u3002
                                • Worker\uff1a\u5de5\u4f5c\u8282\u70b9\uff0c\u5b9e\u9645\u6267\u884c\u4efb\u52a1\u7684\u8ba1\u7b97\u8282\u70b9\u3002
                                  • replicas\uff1a\u526f\u672c\u6570\uff0c\u6839\u636e\u5e76\u884c\u9700\u6c42\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 2\u3002
                                  • template\uff1aPod \u6a21\u677f\uff0c\u540c\u6837\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                            "},{"location":"admin/baize/developer/jobs/mpi.html#_5","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                            \u5728\u521b\u5efa MPI \u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mpiReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                            • \u603b\u526f\u672c\u6570 = Launcher \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
                            • \u672c\u793a\u4f8b\u4e2d\uff1a

                              • Launcher \u526f\u672c\u6570\uff1a1
                              • Worker \u526f\u672c\u6570\uff1a2
                              • \u603b\u526f\u672c\u6570 \uff1a1 + 2 = 3

                            \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u60a8\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

                            "},{"location":"admin/baize/developer/jobs/mpi.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                            \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MPI \u4efb\u52a1\u3002

                            "},{"location":"admin/baize/developer/jobs/mpi.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                            \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002 \u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6bcf\u4e2a\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                            \u793a\u4f8b\u8f93\u51fa\uff1a

                            TensorFlow:  1.13\nModel:       resnet101\nMode:        training\nBatch size:  64\n...\n\nTotal images/sec: 125.67\n

                            \u8fd9\u8868\u793a MPI \u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0cTensorFlow \u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\u5b8c\u6210\u4e86\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002

                            "},{"location":"admin/baize/developer/jobs/mpi.html#_8","title":"\u5c0f\u7ed3","text":"

                            \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MPIJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c \u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                            \u9644\u5f55 \uff1a

                            • \u5982\u679c\u60a8\u7684\u8fd0\u884c\u73af\u5883\u672a\u9884\u88c5\u6240\u9700\u7684\u5e93\uff08\u5982 mpi4py\u3001Horovod \u7b49\uff09\uff0c\u8bf7\u5728\u4efb\u52a1\u4e2d\u6dfb\u52a0\u5b89\u88c5\u547d\u4ee4\uff0c\u6216\u8005\u4f7f\u7528\u9884\u88c5\u4e86\u76f8\u5173\u4f9d\u8d56\u7684\u955c\u50cf\u3002
                            • \u5728\u5b9e\u9645\u5e94\u7528\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u4fee\u6539 MPIJob \u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u66f4\u6539\u955c\u50cf\u3001\u547d\u4ee4\u53c2\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
                            "},{"location":"admin/baize/developer/jobs/mxnet.html","title":"MXNet \u4efb\u52a1","text":"

                            Warning

                            \u7531\u4e8e Apache MXNet \u9879\u76ee\u5df2\u5b58\u6863\uff0c\u56e0\u6b64 Kubeflow MXJob \u5c06\u5728\u672a\u6765\u7684 Training Operator 1.9 \u7248\u672c\u4e2d\u5f03\u7528\u548c\u5220\u9664\u3002

                            Apache MXNet \u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u3002MXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bad\u7ec3\uff0c\u5305\u62ec\u5355\u673a\u6a21\u5f0f\u548c\u5206\u5e03\u5f0f\u6a21\u5f0f\u3002\u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 MXNet \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MXNet \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                            \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                            • \u4efb\u52a1\u7c7b\u578b\uff1aMXNet\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
                            • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b MXNet \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                            \u6211\u4eec\u4f7f\u7528 release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 MXNet \u53ca\u5176\u76f8\u5173\u4f9d\u8d56\uff0c\u652f\u6301 GPU \u52a0\u901f\u3002

                            \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                            "},{"location":"admin/baize/developer/jobs/mxnet.html#mxnet_1","title":"\u521b\u5efa MXNet \u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/mxnet.html#mxnet_2","title":"MXNet \u5355\u673a\u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/mxnet.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                            1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                            2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                            3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                            4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                            5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                            • \u542f\u52a8\u547d\u4ee4\uff1apython3
                            • \u547d\u4ee4\u53c2\u6570\uff1a

                              /mxnet/mxnet/example/gluon/mnist/mnist.py --epochs 10 --cuda\n

                              \u8bf4\u660e\uff1a

                              • /mxnet/mxnet/example/gluon/mnist/mnist.py\uff1aMXNet \u63d0\u4f9b\u7684 MNIST \u624b\u5199\u6570\u5b57\u8bc6\u522b\u793a\u4f8b\u811a\u672c\u3002
                              • --epochs 10\uff1a\u8bbe\u7f6e\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
                              • --cuda\uff1a\u4f7f\u7528 CUDA \u8fdb\u884c GPU \u52a0\u901f\u3002
                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                            • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
                            • \u8d44\u6e90\u8bf7\u6c42\uff1a
                              • CPU\uff1a2 \u6838
                              • \u5185\u5b58\uff1a4 GiB
                              • GPU\uff1a1 \u5757
                            "},{"location":"admin/baize/developer/jobs/mxnet.html#mxjob","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

                            \u4ee5\u4e0b\u662f\u5355\u673a MXJob \u7684 YAML \u914d\u7f6e\uff1a

                            apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-single-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/gluon/mnist/mnist.py\",\n                  \"--epochs\",\n                  \"10\",\n                  \"--cuda\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n

                            \u914d\u7f6e\u89e3\u6790\uff1a

                            • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f MXJob\u3002
                            • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u7b49\u4fe1\u606f\u3002
                            • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                              • jobMode\uff1a\u8bbe\u7f6e\u4e3a MXTrain\uff0c\u8868\u793a\u8bad\u7ec3\u4efb\u52a1\u3002
                              • mxReplicaSpecs\uff1aMXNet \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                                • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
                                  • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\u3002
                                  • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a Never\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u4e0d\u91cd\u542f\u3002
                                  • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                                    • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
                                      • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
                                      • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
                                      • command \u548c args\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                                      • ports\uff1a\u5bb9\u5668\u7aef\u53e3\u914d\u7f6e\u3002
                                      • resources\uff1a\u8d44\u6e90\u8bf7\u6c42\u548c\u9650\u5236\u3002
                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                            \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5355\u673a\u4efb\u52a1\u3002

                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                            \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                            \u793a\u4f8b\u8f93\u51fa\uff1a

                            Epoch 1: accuracy=0.95\nEpoch 2: accuracy=0.97\n...\nEpoch 10: accuracy=0.98\nTraining completed.\n

                            \u8fd9\u8868\u793a MXNet \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                            "},{"location":"admin/baize/developer/jobs/mxnet.html#mxnet_3","title":"MXNet \u5206\u5e03\u5f0f\u4efb\u52a1","text":"

                            \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cMXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                            1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
                            2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                            3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                            4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                            5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
                            • \u542f\u52a8\u547d\u4ee4\uff1apython3
                            • \u547d\u4ee4\u53c2\u6570\uff1a

                              /mxnet/mxnet/example/image-classification/train_mnist.py --num-epochs 10 --num-layers 2 --kv-store dist_device_sync --gpus 0\n

                              \u8bf4\u660e\uff1a

                              • /mxnet/mxnet/example/image-classification/train_mnist.py\uff1aMXNet \u63d0\u4f9b\u7684\u56fe\u50cf\u5206\u7c7b\u793a\u4f8b\u811a\u672c\u3002
                              • --num-epochs 10\uff1a\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
                              • --num-layers 2\uff1a\u6a21\u578b\u7684\u5c42\u6570\u4e3a 2\u3002
                              • --kv-store dist_device_sync\uff1a\u4f7f\u7528\u5206\u5e03\u5f0f\u8bbe\u5907\u540c\u6b65\u6a21\u5f0f\u3002
                              • --gpus 0\uff1a\u4f7f\u7528 GPU \u8fdb\u884c\u52a0\u901f\u3002
                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                            • \u4efb\u52a1\u526f\u672c\u6570\uff1a3\uff08\u5305\u62ec Scheduler\u3001Server \u548c Worker\uff09
                            • \u5404\u89d2\u8272\u8d44\u6e90\u8bf7\u6c42\uff1a
                              • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a
                                • \u526f\u672c\u6570\uff1a1
                                • \u8d44\u6e90\u8bf7\u6c42\uff1a
                                  • CPU\uff1a2 \u6838
                                  • \u5185\u5b58\uff1a4 GiB
                                  • GPU\uff1a1 \u5757
                              • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a
                                • \u526f\u672c\u6570\uff1a1
                                • \u8d44\u6e90\u8bf7\u6c42\uff1a
                                  • CPU\uff1a2 \u6838
                                  • \u5185\u5b58\uff1a4 GiB
                                  • GPU\uff1a1 \u5757
                              • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a
                                • \u526f\u672c\u6570\uff1a1
                                • \u8d44\u6e90\u8bf7\u6c42\uff1a
                                  • CPU\uff1a2 \u6838
                                  • \u5185\u5b58\uff1a4 GiB
                                  • GPU\uff1a1 \u5757
                            "},{"location":"admin/baize/developer/jobs/mxnet.html#mxjob_1","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

                            \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f MXJob \u7684 YAML \u914d\u7f6e\uff1a

                            apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Scheduler:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Server:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/image-classification/train_mnist.py\",\n                  \"--num-epochs\",\n                  \"10\",\n                  \"--num-layers\",\n                  \"2\",\n                  \"--kv-store\",\n                  \"dist_device_sync\",\n                  \"--gpus\",\n                  \"0\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

                            \u914d\u7f6e\u89e3\u6790\uff1a

                            • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a\u8d1f\u8d23\u534f\u8c03\u96c6\u7fa4\u4e2d\u5404\u8282\u70b9\u7684\u4efb\u52a1\u8c03\u5ea6\u3002
                            • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\uff0c\u5b9e\u73b0\u5206\u5e03\u5f0f\u53c2\u6570\u540c\u6b65\u3002
                            • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a\u5b9e\u9645\u6267\u884c\u8bad\u7ec3\u4efb\u52a1\u3002
                            • \u8d44\u6e90\u914d\u7f6e\uff1a\u4e3a\u5404\u89d2\u8272\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u4efb\u52a1\u987a\u5229\u8fd0\u884c\u3002
                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                            \u5728\u521b\u5efa MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mxReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                            • \u603b\u526f\u672c\u6570 = Scheduler \u526f\u672c\u6570 + Server \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
                            • \u672c\u793a\u4f8b\u4e2d\uff1a
                              • Scheduler \u526f\u672c\u6570\uff1a1
                              • Server \u526f\u672c\u6570\uff1a1
                              • Worker \u526f\u672c\u6570\uff1a1
                              • \u603b\u526f\u672c\u6570\uff1a1 + 1 + 1 = 3

                            \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                            \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                            \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u89d2\u8272\uff08Scheduler\u3001Server\u3001Worker\uff09\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                            \u793a\u4f8b\u8f93\u51fa\uff1a

                            INFO:root:Epoch[0] Batch [50]     Speed: 1000 samples/sec   accuracy=0.85\nINFO:root:Epoch[0] Batch [100]    Speed: 1200 samples/sec   accuracy=0.87\n...\nINFO:root:Epoch[9] Batch [100]    Speed: 1300 samples/sec   accuracy=0.98\nTraining completed.\n

                            \u8fd9\u8868\u793a MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_14","title":"\u5c0f\u7ed3","text":"

                            \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MXJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                            "},{"location":"admin/baize/developer/jobs/mxnet.html#_15","title":"\u9644\u5f55","text":"
                            • \u6ce8\u610f\u4e8b\u9879\uff1a

                              • \u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u5305\u542b\u6240\u9700\u7684 MXNet \u7248\u672c\u548c\u4f9d\u8d56\u3002
                              • \u6839\u636e\u5b9e\u9645\u9700\u6c42\u8c03\u6574\u8d44\u6e90\u914d\u7f6e\uff0c\u907f\u514d\u8d44\u6e90\u4e0d\u8db3\u6216\u6d6a\u8d39\u3002
                              • \u5982\u9700\u4f7f\u7528\u81ea\u5b9a\u4e49\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u8bf7\u4fee\u6539\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                            • \u53c2\u8003\u6587\u6863\uff1a

                              • MXNet \u5b98\u65b9\u6587\u6863
                              • Kubeflow MXJob \u6307\u5357
                            "},{"location":"admin/baize/developer/jobs/paddle.html","title":"PaddlePaddle \u4efb\u52a1","text":"

                            PaddlePaddle\uff08\u98de\u6868\uff09\u662f\u767e\u5ea6\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u5e73\u53f0\uff0c\u652f\u6301\u4e30\u5bcc\u7684\u795e\u7ecf\u7f51\u7edc\u6a21\u578b\u548c\u5206\u5e03\u5f0f\u8bad\u7ec3\u65b9\u5f0f\u3002PaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u901a\u8fc7\u5355\u673a\u6216\u5206\u5e03\u5f0f\u6a21\u5f0f\u8fdb\u884c\u8bad\u7ec3\u3002\u5728 AI Lab \u5e73\u53f0\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 PaddlePaddle \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa PaddlePaddle \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                            \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                            "},{"location":"admin/baize/developer/jobs/paddle.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                            • \u4efb\u52a1\u7c7b\u578b\uff1aPaddlePaddle\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
                            • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b PaddlePaddle \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                            "},{"location":"admin/baize/developer/jobs/paddle.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                            \u6211\u4eec\u4f7f\u7528 registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 PaddlePaddle \u6846\u67b6\uff0c\u9002\u7528\u4e8e CPU \u8ba1\u7b97\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u8bf7\u9009\u62e9\u5bf9\u5e94\u7684 GPU \u7248\u672c\u955c\u50cf\u3002

                            \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                            "},{"location":"admin/baize/developer/jobs/paddle.html#paddlepaddle_1","title":"\u521b\u5efa PaddlePaddle \u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/paddle.html#paddlepaddle_2","title":"PaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/paddle.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                            1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                            2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                            3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                            4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                            5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                            "},{"location":"admin/baize/developer/jobs/paddle.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                            • \u542f\u52a8\u547d\u4ee4\uff1apython
                            • \u547d\u4ee4\u53c2\u6570\uff1a

                              -m paddle.distributed.launch run_check\n

                              \u8bf4\u660e\uff1a

                              • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\uff0c\u5373\u4f7f\u5728\u5355\u673a\u6a21\u5f0f\u4e0b\u4e5f\u53ef\u4ee5\u4f7f\u7528\uff0c\u65b9\u4fbf\u5c06\u6765\u8fc1\u79fb\u5230\u5206\u5e03\u5f0f\u3002
                              • run_check\uff1aPaddlePaddle \u63d0\u4f9b\u7684\u6d4b\u8bd5\u811a\u672c\uff0c\u7528\u4e8e\u68c0\u67e5\u5206\u5e03\u5f0f\u73af\u5883\u662f\u5426\u6b63\u5e38\u3002
                            "},{"location":"admin/baize/developer/jobs/paddle.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                            • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
                            • \u8d44\u6e90\u8bf7\u6c42\uff1a
                              • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
                              • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
                              • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
                            "},{"location":"admin/baize/developer/jobs/paddle.html#paddlejob","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

                            \u4ee5\u4e0b\u662f\u5355\u673a PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

                            apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-simple-cpu\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 1\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'run_check',\n                              ]\n

                            \u914d\u7f6e\u89e3\u6790\uff1a

                            • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f PaddleJob\u3002
                            • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u3002
                            • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                              • paddleReplicaSpecs\uff1aPaddlePaddle \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                                • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
                                  • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\uff0c\u8868\u793a\u5355\u673a\u8bad\u7ec3\u3002
                                  • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a OnFailure\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u81ea\u52a8\u91cd\u542f\u3002
                                  • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                                    • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
                                      • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
                                      • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
                                      • command\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                            "},{"location":"admin/baize/developer/jobs/paddle.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                            \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5355\u673a\u4efb\u52a1\u3002

                            "},{"location":"admin/baize/developer/jobs/paddle.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                            \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                            \u793a\u4f8b\u8f93\u51fa\uff1a

                            run check success, PaddlePaddle is installed correctly on this node :)\n

                            \u8fd9\u8868\u793a PaddlePaddle \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u73af\u5883\u914d\u7f6e\u6b63\u5e38\u3002

                            "},{"location":"admin/baize/developer/jobs/paddle.html#paddlepaddle_3","title":"PaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1","text":"

                            \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cPaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

                            "},{"location":"admin/baize/developer/jobs/paddle.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                            1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
                            2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                            3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                            4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                            5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
                            "},{"location":"admin/baize/developer/jobs/paddle.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
                            • \u542f\u52a8\u547d\u4ee4\uff1apython
                            • \u547d\u4ee4\u53c2\u6570\uff1a

                              -m paddle.distributed.launch train.py --epochs=10\n

                              \u8bf4\u660e\uff1a

                              • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\u3002
                              • train.py\uff1a\u60a8\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u9700\u8981\u653e\u5728\u955c\u50cf\u4e2d\u6216\u6302\u8f7d\u5230\u5bb9\u5668\u5185\u3002
                              • --epochs=10\uff1a\u8bad\u7ec3\u7684\u8f6e\u6570\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 10\u3002
                            "},{"location":"admin/baize/developer/jobs/paddle.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                            • \u4efb\u52a1\u526f\u672c\u6570\uff1a\u6839\u636e Worker \u526f\u672c\u6570\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u4e3a 2\u3002
                            • \u8d44\u6e90\u8bf7\u6c42\uff1a
                              • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
                              • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
                              • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
                            "},{"location":"admin/baize/developer/jobs/paddle.html#paddlejob_1","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

                            \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

                            apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-distributed-job\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 2\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'train.py',\n                              ]\n                          args:\n                              - '--epochs=10'\n

                            \u914d\u7f6e\u89e3\u6790\uff1a

                            • Worker\uff1a
                              • replicas\uff1a\u526f\u672c\u6570\uff0c\u8bbe\u7f6e\u4e3a 2\uff0c\u8868\u793a\u4f7f\u7528 2 \u4e2a\u5de5\u4f5c\u8282\u70b9\u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002
                              • \u5176\u4ed6\u914d\u7f6e\u4e0e\u5355\u673a\u6a21\u5f0f\u7c7b\u4f3c\u3002
                            "},{"location":"admin/baize/developer/jobs/paddle.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                            \u5728\u521b\u5efa PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e paddleReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                            • \u603b\u526f\u672c\u6570 = Worker \u526f\u672c\u6570
                            • \u672c\u793a\u4f8b\u4e2d\uff1a
                              • Worker \u526f\u672c\u6570\uff1a2
                              • \u603b\u526f\u672c\u6570\uff1a2

                            \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 2\u3002

                            "},{"location":"admin/baize/developer/jobs/paddle.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                            \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                            "},{"location":"admin/baize/developer/jobs/paddle.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                            \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u5de5\u4f5c\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\uff0c\u786e\u8ba4\u5206\u5e03\u5f0f\u8bad\u7ec3\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

                            \u793a\u4f8b\u8f93\u51fa\uff1a

                            Worker 0: Epoch 1, Batch 100, Loss 0.5\nWorker 1: Epoch 1, Batch 100, Loss 0.6\n...\nTraining completed.\n

                            \u8fd9\u8868\u793a PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                            "},{"location":"admin/baize/developer/jobs/paddle.html#_14","title":"\u5c0f\u7ed3","text":"

                            \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 PaddleJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                            "},{"location":"admin/baize/developer/jobs/paddle.html#_15","title":"\u9644\u5f55","text":"
                            • \u6ce8\u610f\u4e8b\u9879\uff1a

                              • \u8bad\u7ec3\u811a\u672c\uff1a\u786e\u4fdd train.py\uff08\u6216\u5176\u4ed6\u8bad\u7ec3\u811a\u672c\uff09\u5728\u5bb9\u5668\u5185\u5b58\u5728\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u81ea\u5b9a\u4e49\u955c\u50cf\u3001\u6302\u8f7d\u6301\u4e45\u5316\u5b58\u50a8\u7b49\u65b9\u5f0f\u5c06\u811a\u672c\u653e\u5165\u5bb9\u5668\u3002
                              • \u955c\u50cf\u9009\u62e9\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u955c\u50cf\uff0c\u4f8b\u5982\u4f7f\u7528 GPU \u65f6\u9009\u62e9 paddle:2.4.0rc0-gpu \u7b49\u3002
                              • \u53c2\u6570\u8c03\u6574\uff1a\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 command \u548c args \u6765\u4f20\u9012\u4e0d\u540c\u7684\u8bad\u7ec3\u53c2\u6570\u3002
                            • \u53c2\u8003\u6587\u6863\uff1a

                              • PaddlePaddle \u5b98\u65b9\u6587\u6863
                              • Kubeflow PaddleJob \u6307\u5357
                            "},{"location":"admin/baize/developer/jobs/pytorch.html","title":"Pytorch \u4efb\u52a1","text":"

                            Pytorch \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002 Pytorch \u4efb\u52a1\u662f\u4e00\u4e2a\u4f7f\u7528 Pytorch \u6846\u67b6\u7684\u4efb\u52a1\u3002

                            \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 Pytorch \u4efb\u52a1\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c \u5feb\u901f\u521b\u5efa Pytorch \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                            "},{"location":"admin/baize/developer/jobs/pytorch.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                            • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Pytorch \u5355\u673a \u548c Pytorch \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
                            • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Pytorch \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
                            "},{"location":"admin/baize/developer/jobs/pytorch.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                            \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

                            \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                            "},{"location":"admin/baize/developer/jobs/pytorch.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/pytorch.html#pytorch_1","title":"Pytorch \u5355\u673a\u4efb\u52a1","text":"
                            1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                            2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                            3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                            4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                            "},{"location":"admin/baize/developer/jobs/pytorch.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                            • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                            • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
                            import torch\nimport torch.nn as nn\nimport torch.optim as optim\n\n# \u5b9a\u4e49\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc\nclass SimpleNet(nn.Module):\n    def __init__(self):\n        super(SimpleNet, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\n# \u521b\u5efa\u6a21\u578b\u3001\u635f\u5931\u51fd\u6570\u548c\u4f18\u5316\u5668\nmodel = SimpleNet()\ncriterion = nn.MSELoss()\noptimizer = optim.SGD(model.parameters(), lr=0.01)\n\n# \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = torch.randn(100, 10)\ny = torch.randn(100, 1)\n\n# \u8bad\u7ec3\u6a21\u578b\nfor epoch in range(100):\n    # \u524d\u5411\u4f20\u64ad\n    outputs = model(x)\n    loss = criterion(outputs, y)\n\n    # \u53cd\u5411\u4f20\u64ad\u548c\u4f18\u5316\n    optimizer.zero_grad()\n    loss.backward()\n    optimizer.step()\n\n    if (epoch + 1) % 10 == 0:\n        print(f'Epoch [{epoch+1}/100], Loss: {loss.item():.4f}')\n\nprint('Training finished.')\n
                            "},{"location":"admin/baize/developer/jobs/pytorch.html#_5","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                            \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa

                            [HAMI-core Warn(1:140244541377408:utils.c:183)]: get default cuda from (null)\n[HAMI-core Msg(1:140244541377408:libvgpu.c:855)]: Initialized\nEpoch [10/100], Loss: 1.1248\nEpoch [20/100], Loss: 1.0486\nEpoch [30/100], Loss: 0.9969\nEpoch [40/100], Loss: 0.9611\nEpoch [50/100], Loss: 0.9360\nEpoch [60/100], Loss: 0.9182\nEpoch [70/100], Loss: 0.9053\nEpoch [80/100], Loss: 0.8960\nEpoch [90/100], Loss: 0.8891\nEpoch [100/100], Loss: 0.8841\nTraining finished.\n[HAMI-core Msg(1:140244541377408:multiprocess_memory_limit.c:468)]: Calling exit handler 1\n
                            "},{"location":"admin/baize/developer/jobs/pytorch.html#pytorch_2","title":"Pytorch \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
                            1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
                            2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                            3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                            4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                            "},{"location":"admin/baize/developer/jobs/pytorch.html#_6","title":"\u8fd0\u884c\u53c2\u6570","text":"
                            • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                            • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
                            import os\nimport torch\nimport torch.distributed as dist\nimport torch.nn as nn\nimport torch.optim as optim\nfrom torch.nn.parallel import DistributedDataParallel as DDP\n\nclass SimpleModel(nn.Module):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f'PyTorch version: {torch.__version__}')\n    print(f'CUDA available: {torch.cuda.is_available()}')\n    if torch.cuda.is_available():\n        print(f'CUDA version: {torch.version.cuda}')\n        print(f'CUDA device count: {torch.cuda.device_count()}')\n\n    rank = int(os.environ.get('RANK', '0'))\n    world_size = int(os.environ.get('WORLD_SIZE', '1'))\n\n    print(f'Rank: {rank}, World Size: {world_size}')\n\n    # \u521d\u59cb\u5316\u5206\u5e03\u5f0f\u73af\u5883\n    try:\n        if world_size > 1:\n            dist.init_process_group('nccl')\n            print('Distributed process group initialized successfully')\n        else:\n            print('Running in non-distributed mode')\n    except Exception as e:\n        print(f'Error initializing process group: {e}')\n        return\n\n    # \u8bbe\u7f6e\u8bbe\u5907\n    try:\n        if torch.cuda.is_available():\n            device = torch.device(f'cuda:{rank % torch.cuda.device_count()}')\n            print(f'Using CUDA device: {device}')\n        else:\n            device = torch.device('cpu')\n            print('CUDA not available, using CPU')\n    except Exception as e:\n        print(f'Error setting device: {e}')\n        device = torch.device('cpu')\n        print('Falling back to CPU')\n\n    try:\n        model = SimpleModel().to(device)\n        print('Model moved to device successfully')\n    except Exception as e:\n        print(f'Error moving model to device: {e}')\n        return\n\n    try:\n        if world_size > 1:\n            ddp_model = DDP(model, device_ids=[rank % torch.cuda.device_count()] if torch.cuda.is_available() else None)\n            print('DDP model created successfully')\n        else:\n            ddp_model = model\n            print('Using non-distributed model')\n    except Exception as e:\n        print(f'Error creating DDP model: {e}')\n        return\n\n    loss_fn = nn.MSELoss()\n    optimizer = optim.SGD(ddp_model.parameters(), lr=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    try:\n        data = torch.randn(100, 10, device=device)\n        labels = torch.randn(100, 1, device=device)\n        print('Data generated and moved to device successfully')\n    except Exception as e:\n        print(f'Error generating or moving data to device: {e}')\n        return\n\n    for epoch in range(10):\n        try:\n            ddp_model.train()\n            outputs = ddp_model(data)\n            loss = loss_fn(outputs, labels)\n            optimizer.zero_grad()\n            loss.backward()\n            optimizer.step()\n\n            if rank == 0:\n                print(f'Epoch {epoch}, Loss: {loss.item():.4f}')\n        except Exception as e:\n            print(f'Error during training epoch {epoch}: {e}')\n            break\n\n    if world_size > 1:\n        dist.destroy_process_group()\n\nif __name__ == '__main__':\n    train()\n
                            "},{"location":"admin/baize/developer/jobs/pytorch.html#_7","title":"\u4efb\u52a1\u526f\u672c\u6570","text":"

                            \u6ce8\u610f Pytorch \u5206\u5e03\u5f0f \u8bad\u7ec3\u4efb\u52a1\u4f1a\u521b\u5efa\u4e00\u7ec4 Master \u548c Worker \u7684\u8bad\u7ec3 Pod\uff0c Master \u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u4efb\u52a1\uff0cWorker \u8d1f\u8d23\u5b9e\u9645\u7684\u8bad\u7ec3\u5de5\u4f5c\u3002

                            Note

                            \u672c\u6b21\u6f14\u793a\u4e2d\uff1aMaster \u526f\u672c\u6570\u4e3a 1\uff0cWorker \u526f\u672c\u6570\u4e3a 2\uff1b \u6240\u4ee5\u6211\u4eec\u9700\u8981\u5728 \u4efb\u52a1\u914d\u7f6e \u4e2d\u8bbe\u7f6e\u526f\u672c\u6570\u4e3a 3\uff0c\u5373 Master \u526f\u672c\u6570 + Worker \u526f\u672c\u6570\u3002 Pytorch \u4f1a\u81ea\u52a8\u8c03\u8c10 Master \u548c Worker \u7684\u89d2\u8272\u3002

                            "},{"location":"admin/baize/developer/jobs/pytorch.html#_8","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                            \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                            "},{"location":"admin/baize/developer/jobs/tensorboard.html","title":"\u4efb\u52a1\u5206\u6790\u4ecb\u7ecd","text":"

                            \u5728 AI Lab \u6a21\u5757\u4e2d\uff0c\u63d0\u4f9b\u4e86\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u91cd\u8981\u7684\u53ef\u89c6\u5316\u5206\u6790\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd \u4efb\u52a1\u5206\u6790\uff08Tensorboard\uff09\u7684\u57fa\u672c\u6982\u5ff5\u3001\u5728 AI Lab \u7cfb\u7edf\u4e2d\u7684\u4f7f\u7528\u65b9\u6cd5\uff0c\u4ee5\u53ca\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9\u3002

                            Note

                            Tensorboard \u662f TensorFlow \u63d0\u4f9b\u7684\u4e00\u4e2a\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u5b83\u53ef\u4ee5\u5e2e\u52a9\u5f00\u53d1\u8005\u66f4\u76f4\u89c2\u5730\u7406\u89e3\u6a21\u578b\u7684\u8bad\u7ec3\u52a8\u6001\uff0c\u5206\u6790\u6a21\u578b\u6027\u80fd\uff0c\u8c03\u8bd5\u6a21\u578b\u95ee\u9898\u7b49\u3002

                            Tensorboard \u5728\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7684\u4f5c\u7528\u53ca\u4f18\u52bf\uff1a

                            • \u53ef\u89c6\u5316\u8bad\u7ec3\u8fc7\u7a0b\uff1a\u901a\u8fc7\u56fe\u8868\u5c55\u793a\u8bad\u7ec3\u548c\u9a8c\u8bc1\u7684\u635f\u5931\u3001\u7cbe\u5ea6\u7b49\u6307\u6807\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u76f4\u89c2\u5730\u89c2\u5bdf\u6a21\u578b\u7684\u8bad\u7ec3\u6548\u679c\u3002
                            • \u8c03\u8bd5\u548c\u4f18\u5316\u6a21\u578b\uff1a\u901a\u8fc7\u67e5\u770b\u4e0d\u540c\u5c42\u7684\u6743\u91cd\u3001\u68af\u5ea6\u5206\u5e03\u7b49\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u53d1\u73b0\u548c\u4fee\u6b63\u6a21\u578b\u4e2d\u7684\u95ee\u9898\u3002
                            • \u5bf9\u6bd4\u4e0d\u540c\u5b9e\u9a8c\uff1a\u53ef\u4ee5\u540c\u65f6\u5c55\u793a\u591a\u4e2a\u5b9e\u9a8c\u7684\u7ed3\u679c\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u5bf9\u6bd4\u4e0d\u540c\u6a21\u578b\u548c\u8d85\u53c2\u6570\u914d\u7f6e\u7684\u6548\u679c\u3002
                            • \u8ffd\u8e2a\u8bad\u7ec3\u6570\u636e\uff1a\u8bb0\u5f55\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u7684\u6570\u636e\u96c6\u548c\u53c2\u6570\uff0c\u786e\u4fdd\u5b9e\u9a8c\u7684\u53ef\u590d\u73b0\u6027\u3002
                            "},{"location":"admin/baize/developer/jobs/tensorboard.html#tensorboard","title":"\u5982\u4f55\u521b\u5efa Tensorboard","text":"

                            \u5728 AI Lab \u7cfb\u7edf\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u4fbf\u6377\u7684\u65b9\u5f0f\u6765\u521b\u5efa\u548c\u7ba1\u7406 Tensorboard\u3002\u4ee5\u4e0b\u662f\u5177\u4f53\u6b65\u9aa4\uff1a

                            "},{"location":"admin/baize/developer/jobs/tensorboard.html#notebook-tensorboard","title":"\u5728\u521b\u5efa\u65f6 Notebook \u542f\u7528 Tensorboard","text":"
                            1. \u521b\u5efa Notebook\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Notebook\u3002
                            2. \u542f\u7528 Tensorboard\uff1a\u5728\u521b\u5efa Notebook \u7684\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002

                            "},{"location":"admin/baize/developer/jobs/tensorboard.html#tensorboard_1","title":"\u5728\u5206\u5e03\u5f0f\u4efb\u52a1\u521b\u5efa\u53ca\u5b8c\u6210\u540e\u542f\u7528 Tensorboard","text":"
                            1. \u521b\u5efa\u5206\u5e03\u5f0f\u4efb\u52a1\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3002
                            2. \u914d\u7f6e Tensorboard\uff1a\u5728\u4efb\u52a1\u914d\u7f6e\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002
                            3. \u4efb\u52a1\u5b8c\u6210\u540e\u67e5\u770b Tensorboard\uff1a\u4efb\u52a1\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u4efb\u52a1\u8be6\u60c5\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\uff0c\u70b9\u51fb\u94fe\u63a5\u5373\u53ef\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

                            "},{"location":"admin/baize/developer/jobs/tensorboard.html#notebook-tensorboard_1","title":"\u5728 Notebook \u4e2d\u76f4\u63a5\u5f15\u7528 Tensorboard","text":"

                            \u5728 Notebook \u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee3\u7801\u76f4\u63a5\u542f\u52a8 Tensorboard\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                            # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\nimport datetime\n\n# \u5b9a\u4e49\u65e5\u5fd7\u76ee\u5f55\nlog_dir = \"logs/fit/\" + datetime.datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n\n# \u521b\u5efa Tensorboard \u56de\u8c03\ntensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)\n\n# \u6784\u5efa\u5e76\u7f16\u8bd1\u6a21\u578b\nmodel = tf.keras.models.Sequential([\n    tf.keras.layers.Flatten(input_shape=(28, 28)),\n    tf.keras.layers.Dense(512, activation='relu'),\n    tf.keras.layers.Dropout(0.2),\n    tf.keras.layers.Dense(10, activation='softmax')\n])\n\nmodel.compile(optimizer='adam',\n              loss='sparse_categorical_crossentropy',\n              metrics=['accuracy'])\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u542f\u7528 Tensorboard \u56de\u8c03\nmodel.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])\n
                            "},{"location":"admin/baize/developer/jobs/tensorboard.html#_2","title":"\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9","text":"

                            \u5728\u4f7f\u7528 Tensorboard \u65f6\uff0c\u53ef\u4ee5\u8bb0\u5f55\u548c\u914d\u7f6e\u4e0d\u540c\u7684\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u5185\u5bb9\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5e38\u89c1\u7684\u914d\u7f6e\u65b9\u5f0f\uff1a

                            "},{"location":"admin/baize/developer/jobs/tensorboard.html#_3","title":"\u914d\u7f6e\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7","text":"

                            \u5728\u8bad\u7ec3\u6a21\u578b\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 TensorFlow \u7684 tf.summary API \u6765\u8bb0\u5f55\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                            # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\n\n# \u521b\u5efa\u65e5\u5fd7\u76ee\u5f55\ntrain_log_dir = 'logs/gradient_tape/train'\nval_log_dir = 'logs/gradient_tape/val'\ntrain_summary_writer = tf.summary.create_file_writer(train_log_dir)\nval_summary_writer = tf.summary.create_file_writer(val_log_dir)\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u8bb0\u5f55\u65e5\u5fd7\nfor epoch in range(EPOCHS):\n    for (x_train, y_train) in train_dataset:\n        # \u8bad\u7ec3\u6b65\u9aa4\n        train_step(x_train, y_train)\n        with train_summary_writer.as_default():\n            tf.summary.scalar('loss', train_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', train_accuracy.result(), step=epoch)\n\n    for (x_val, y_val) in val_dataset:\n        # \u9a8c\u8bc1\u6b65\u9aa4\n        val_step(x_val, y_val)\n        with val_summary_writer.as_default():\n            tf.summary.scalar('loss', val_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', val_accuracy.result(), step=epoch)\n
                            "},{"location":"admin/baize/developer/jobs/tensorboard.html#_4","title":"\u914d\u7f6e\u81ea\u5b9a\u4e49\u65e5\u5fd7","text":"

                            \u9664\u4e86\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5916\uff0c\u8fd8\u53ef\u4ee5\u8bb0\u5f55\u5176\u4ed6\u81ea\u5b9a\u4e49\u7684\u65e5\u5fd7\u5185\u5bb9\uff0c\u4f8b\u5982\u5b66\u4e60\u7387\u3001\u68af\u5ea6\u5206\u5e03\u7b49\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                            # \u8bb0\u5f55\u81ea\u5b9a\u4e49\u65e5\u5fd7\nwith train_summary_writer.as_default():\n    tf.summary.scalar('learning_rate', learning_rate, step=epoch)\n    tf.summary.histogram('gradients', gradients, step=epoch)\n
                            "},{"location":"admin/baize/developer/jobs/tensorboard.html#tensorboard_2","title":"Tensorboard \u7ba1\u7406","text":"

                            \u5728 AI Lab \u4e2d\uff0c\u901a\u8fc7\u5404\u79cd\u65b9\u5f0f\u521b\u5efa\u51fa\u6765\u7684 Tensorboard \u4f1a\u7edf\u4e00\u5c55\u793a\u5728\u4efb\u52a1\u5206\u6790\u7684\u9875\u9762\u4e2d\uff0c\u65b9\u4fbf\u7528\u6237\u67e5\u770b\u548c\u7ba1\u7406\u3002

                            \u7528\u6237\u53ef\u4ee5\u5728\u4efb\u52a1\u5206\u6790\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\u3001\u72b6\u6001\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u4fe1\u606f\uff0c\u5e76\u901a\u8fc7\u94fe\u63a5\u76f4\u63a5\u8bbf\u95ee Tensorboard \u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

                            "},{"location":"admin/baize/developer/jobs/tensorflow.html","title":"Tensorflow \u4efb\u52a1","text":"

                            Tensorflow \u662f\u9664\u4e86 Pytorch \u53e6\u5916\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u7684\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002

                            \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u540c\u6837\u63d0\u4f9b\u4e86 Tensorflow \u6846\u67b6\u7684\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa Tensorflow \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                            "},{"location":"admin/baize/developer/jobs/tensorflow.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                            • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Tensorflow \u5355\u673a \u548c Tensorflow \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
                            • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Tensorflow \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
                            "},{"location":"admin/baize/developer/jobs/tensorflow.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                            \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

                            \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                            "},{"location":"admin/baize/developer/jobs/tensorflow.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"admin/baize/developer/jobs/tensorflow.html#tfjob","title":"\u793a\u4f8b TFJob \u5355\u673a\u4efb\u52a1","text":"
                            1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                            2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                            3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                            4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                            "},{"location":"admin/baize/developer/jobs/tensorflow.html#_4","title":"\u63d0\u524d\u9884\u70ed\u4ee3\u7801\u4ed3\u5e93","text":"

                            \u4f7f\u7528 AI Lab -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u521b\u5efa\u4e00\u4e2a\u6570\u636e\u96c6\uff0c\u5e76\u5c06\u8fdc\u7aef Github \u7684\u4ee3\u7801\u62c9\u53d6\u5230\u6570\u636e\u96c6\u4e2d\uff0c \u8fd9\u6837\u5728\u521b\u5efa\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u9009\u62e9\u6570\u636e\u96c6\uff0c\u5c06\u4ee3\u7801\u6302\u8f7d\u5230\u4efb\u52a1\u4e2d\u3002

                            \u6f14\u793a\u4ee3\u7801\u4ed3\u5e93\u5730\u5740\uff1ahttps://github.com/d-run/training-sample-code/

                            "},{"location":"admin/baize/developer/jobs/tensorflow.html#_5","title":"\u8fd0\u884c\u53c2\u6570","text":"
                            • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                            • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tf-single.py
                            \"\"\"\n  pip install tensorflow numpy\n\"\"\"\n\nimport tensorflow as tf\nimport numpy as np\n\n# \u521b\u5efa\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = np.random.rand(100, 1)\ny = 2 * x + 1 + np.random.rand(100, 1) * 0.1\n\n# \u521b\u5efa\u4e00\u4e2a\u7b80\u5355\u7684\u6a21\u578b\nmodel = tf.keras.Sequential([\n    tf.keras.layers.Dense(1, input_shape=(1,))\n])\n\n# \u7f16\u8bd1\u6a21\u578b\nmodel.compile(optimizer='adam', loss='mse')\n\n# \u8bad\u7ec3\u6a21\u578b\uff0c\u5c06 epochs \u6539\u4e3a 10\nhistory = model.fit(x, y, epochs=10, verbose=1)\n\n# \u6253\u5370\u6700\u7ec8\u635f\u5931\nprint('Final loss: {' + str(history.history['loss'][-1]) +'}')\n\n# \u4f7f\u7528\u6a21\u578b\u8fdb\u884c\u9884\u6d4b\ntest_x = np.array([[0.5]])\nprediction = model.predict(test_x)\nprint(f'Prediction for x=0.5: {prediction[0][0]}')\n
                            "},{"location":"admin/baize/developer/jobs/tensorflow.html#_6","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                            \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                            "},{"location":"admin/baize/developer/jobs/tensorflow.html#tfjob_1","title":"TFJob \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
                            1. \u767b\u5f55 AI Lab \uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
                            2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                            3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                            4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                            "},{"location":"admin/baize/developer/jobs/tensorflow.html#_7","title":"\u793a\u4f8b\u4efb\u52a1\u4ecb\u7ecd","text":"

                            \u672c\u6b21\u5305\u542b\u4e86\u4e09\u79cd\u89d2\u8272\uff1aChief\u3001Worker \u548c Parameter Server (PS)\u3002

                            • Chief: \u4e3b\u8981\u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u8fc7\u7a0b\u548c\u6a21\u578b\u68c0\u67e5\u70b9\u7684\u4fdd\u5b58\u3002
                            • Worker: \u6267\u884c\u5b9e\u9645\u7684\u6a21\u578b\u8bad\u7ec3\u3002
                            • PS: \u5728\u5f02\u6b65\u8bad\u7ec3\u4e2d\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\u3002

                            \u4e3a\u4e0d\u540c\u7684\u89d2\u8272\u5206\u914d\u4e86\u4e0d\u540c\u7684\u8d44\u6e90\u3002Chief \u548c Worker \u4f7f\u7528 GPU\uff0c\u800c PS \u4f7f\u7528 CPU \u548c\u8f83\u5927\u7684\u5185\u5b58\u3002

                            "},{"location":"admin/baize/developer/jobs/tensorflow.html#_8","title":"\u8fd0\u884c\u53c2\u6570","text":"
                            • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                            • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tensorflow-distributed.py
                            import os\nimport json\nimport tensorflow as tf\n\nclass SimpleModel(tf.keras.Model):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = tf.keras.layers.Dense(1, input_shape=(10,))\n\n    def call(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f\"TensorFlow version: {tf.__version__}\")\n    print(f\"GPU available: {tf.test.is_gpu_available()}\")\n    if tf.test.is_gpu_available():\n        print(f\"GPU device count: {len(tf.config.list_physical_devices('GPU'))}\")\n\n    # \u83b7\u53d6\u5206\u5e03\u5f0f\u8bad\u7ec3\u4fe1\u606f\n    tf_config = json.loads(os.environ.get('TF_CONFIG') or '{}')\n    task_type = tf_config.get('task', {}).get('type')\n    task_id = tf_config.get('task', {}).get('index')\n\n    print(f\"Task type: {task_type}, Task ID: {task_id}\")\n\n    # \u8bbe\u7f6e\u5206\u5e03\u5f0f\u7b56\u7565\n    strategy = tf.distribute.experimental.MultiWorkerMirroredStrategy()\n\n    with strategy.scope():\n        model = SimpleModel()\n        loss_fn = tf.keras.losses.MeanSquaredError()\n        optimizer = tf.keras.optimizers.SGD(learning_rate=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    data = tf.random.normal((100, 10))\n    labels = tf.random.normal((100, 1))\n\n    @tf.function\n    def train_step(inputs, labels):\n        with tf.GradientTape() as tape:\n            predictions = model(inputs)\n            loss = loss_fn(labels, predictions)\n        gradients = tape.gradient(loss, model.trainable_variables)\n        optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n        return loss\n\n    for epoch in range(10):\n        loss = train_step(data, labels)\n        if task_type == 'chief':\n            print(f'Epoch {epoch}, Loss: {loss.numpy():.4f}')\n\nif __name__ == '__main__':\n    train()\n
                            "},{"location":"admin/baize/developer/jobs/tensorflow.html#_9","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                            \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                            "},{"location":"admin/baize/developer/jobs/view.html","title":"\u67e5\u770b\u4efb\u52a1\uff08Job\uff09\u5de5\u4f5c\u8d1f\u8f7d","text":"

                            \u4efb\u52a1\u521b\u5efa\u597d\u540e\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u3002

                            1. \u5728\u8bad\u7ec3\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u67d0\u4e2a\u4efb\u52a1\u53f3\u4fa7\u7684 \u2507 -> \u4efb\u52a1\u8d1f\u8f7d\u8be6\u60c5 \u3002

                            2. \u51fa\u73b0\u4e00\u4e2a\u5f39\u7a97\u9009\u62e9\u8981\u67e5\u770b\u54ea\u4e2a Pod \u540e\uff0c\u70b9\u51fb \u8fdb\u5165 \u3002

                            3. \u8df3\u8f6c\u5230\u5bb9\u5668\u7ba1\u7406\u754c\u9762\uff0c\u53ef\u4ee5\u67e5\u770b\u5bb9\u5668\u7684\u5de5\u4f5c\u72b6\u6001\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4ee5\u53ca\u53d1\u751f\u7684\u4e8b\u4ef6\u3002

                            4. \u4f60\u8fd8\u53ef\u4ee5\u67e5\u770b\u5f53\u524d Pod \u6700\u8fd1\u4e00\u6bb5\u65f6\u95f4\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002 \u6b64\u5904\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u65e5\u5fd7\uff0c\u5982\u679c\u8981\u67e5\u770b\u66f4\u8be6\u7ec6\u7684\u65e5\u5fd7\u6d3b\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u8bf7\u70b9\u51fb\u9876\u90e8\u7684\u84dd\u8272 \u53ef\u89c2\u6d4b\u6027 \u6587\u5b57\u3002

                            5. \u5f53\u7136\u4f60\u8fd8\u53ef\u4ee5\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684 ... \uff0c\u67e5\u770b\u5f53\u524d Pod \u7684 YAML\u3001\u4e0a\u4f20\u548c\u4e0b\u8f7d\u6587\u4ef6\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a Pod \u7684 YAML \u793a\u4f8b\u3002

                            kind: Pod\napiVersion: v1\nmetadata:\n  name: neko-tensorboard-job-test-202404181843-skxivllb-worker-0\n  namespace: default\n  uid: ddedb6ff-c278-47eb-ae1e-0de9b7c62f8c\n  resourceVersion: '41092552'\n  creationTimestamp: '2024-04-18T10:43:36Z'\n  labels:\n    training.kubeflow.org/job-name: neko-tensorboard-job-test-202404181843-skxivllb\n    training.kubeflow.org/operator-name: pytorchjob-controller\n    training.kubeflow.org/replica-index: '0'\n    training.kubeflow.org/replica-type: worker\n  annotations:\n    cni.projectcalico.org/containerID: 0cfbb9af257d5e69027c603c6cb2d3890a17c4ae1a145748d5aef73a10d7fbe1\n    cni.projectcalico.org/podIP: ''\n    cni.projectcalico.org/podIPs: ''\n    hami.io/bind-phase: success\n    hami.io/bind-time: '1713437016'\n    hami.io/vgpu-devices-allocated: GPU-29d5fa0d-935b-2966-aff8-483a174d61d1,NVIDIA,1024,20:;\n    hami.io/vgpu-devices-to-allocate: ;\n    hami.io/vgpu-node: worker-a800-1\n    hami.io/vgpu-time: '1713437016'\n    k8s.v1.cni.cncf.io/network-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n    k8s.v1.cni.cncf.io/networks-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n  ownerReferences:\n    - apiVersion: kubeflow.org/v1\n      kind: PyTorchJob\n      name: neko-tensorboard-job-test-202404181843-skxivllb\n      uid: e5a8b05d-1f03-4717-8e1c-4ec928014b7b\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  volumes:\n    - name: 0-dataset-pytorch-examples\n      persistentVolumeClaim:\n        claimName: pytorch-examples\n    - name: kube-api-access-wh9rh\n      projected:\n        sources:\n          - serviceAccountToken:\n              expirationSeconds: 3607\n              path: token\n          - configMap:\n              name: kube-root-ca.crt\n              items:\n                - key: ca.crt\n                  path: ca.crt\n          - downwardAPI:\n              items:\n                - path: namespace\n                  fieldRef:\n                    apiVersion: v1\n                    fieldPath: metadata.namespace\n        defaultMode: 420\n  containers:\n    - name: pytorch\n      image: m.daocloud.io/docker.io/pytorch/pytorch\n      command:\n        - bash\n      args:\n        - '-c'\n        - >-\n          ls -la /root && which pip && pip install pytorch_lightning tensorboard\n          && python /root/Git/pytorch/examples/mnist/main.py\n      ports:\n        - name: pytorchjob-port\n          containerPort: 23456\n          protocol: TCP\n      env:\n        - name: PYTHONUNBUFFERED\n          value: '1'\n        - name: PET_NNODES\n          value: '1'\n      resources:\n        limits:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n        requests:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n      volumeMounts:\n        - name: 0-dataset-pytorch-examples\n          mountPath: /root/Git/pytorch/examples\n        - name: kube-api-access-wh9rh\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  restartPolicy: Never\n  terminationGracePeriodSeconds: 30\n  dnsPolicy: ClusterFirst\n  serviceAccountName: default\n  serviceAccount: default\n  nodeName: worker-a800-1\n  securityContext: {}\n  affinity: {}\n  schedulerName: hami-scheduler\n  tolerations:\n    - key: node.kubernetes.io/not-ready\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n    - key: node.kubernetes.io/unreachable\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n  priorityClassName: baize-high-priority\n  priority: 100000\n  enableServiceLinks: true\n  preemptionPolicy: PreemptLowerPriority\nstatus:\n  phase: Succeeded\n  conditions:\n    - type: Initialized\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n      reason: PodCompleted\n    - type: Ready\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: ContainersReady\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: PodScheduled\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n  hostIP: 10.20.100.211\n  podIP: 10.233.97.184\n  podIPs:\n    - ip: 10.233.97.184\n  startTime: '2024-04-18T10:43:36Z'\n  containerStatuses:\n    - name: pytorch\n      state:\n        terminated:\n          exitCode: 0\n          reason: Completed\n          startedAt: '2024-04-18T10:43:39Z'\n          finishedAt: '2024-04-18T10:46:34Z'\n          containerID: >-\n            containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      lastState: {}\n      ready: false\n      restartCount: 0\n      image: m.daocloud.io/docker.io/pytorch/pytorch:latest\n      imageID: >-\n        m.daocloud.io/docker.io/pytorch/pytorch@sha256:11691e035a3651d25a87116b4f6adc113a27a29d8f5a6a583f8569e0ee5ff897\n      containerID: >-\n        containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      started: false\n  qosClass: Guaranteed\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html","title":"baizectl \u547d\u4ee4\u884c\u5de5\u5177\u4f7f\u7528\u6307\u5357","text":"

                            baizectl \u662f\u5728 AI Lab \u6a21\u5757\u4e2d\u4e13\u95e8\u670d\u52a1\u4e8e\u6a21\u578b\u5f00\u53d1\u8005\u4e0e\u6570\u636e\u79d1\u5b66\u5bb6\u4eec\u4f7f\u7528\u7684\u547d\u4ee4\u884c\u5de5\u5177\u3002 \u5b83\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u547d\u4ee4\u6765\u5e2e\u52a9\u7528\u6237\u7ba1\u7406\u5206\u5e03\u5f0f\u8bad\u7ec3\u4f5c\u4e1a\u3001\u67e5\u770b\u4efb\u52a1\u72b6\u6001\u3001\u7ba1\u7406\u6570\u636e\u96c6\u7b49\u64cd\u4f5c\uff0c\u540c\u65f6\u652f\u6301\u8fde\u63a5 Kubernetes \u5de5\u4f5c\u96c6\u7fa4\u548c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5de5\u4f5c\u7a7a\u95f4\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u9ad8\u6548\u5730\u4f7f\u7528\u548c\u7ba1\u7406 Kubernetes \u5e73\u53f0\u8d44\u6e90\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_1","title":"\u5b89\u88c5","text":"

                            \u76ee\u524d\uff0cbaizectl \u5df2\u7ecf\u96c6\u6210\u5728 AI Lab \u4e2d\u3002 \u4f60\u5728\u521b\u5efa Notebook \u540e\uff0c\u5373\u53ef\u5728 Notebook \u4e2d\u76f4\u63a5\u4f7f\u7528 baizectl\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_2","title":"\u5feb\u901f\u4e0a\u624b","text":""},{"location":"admin/baize/developer/notebooks/baizectl.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            baizectl \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

                            jovyan@19d0197587cc:/$ baizectl\nAI platform management tool\n\nUsage:\n  baizectl [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  data        Management datasets\n  help        Help about any command\n  job         Manage jobs\n  login       Login to the platform\n  version     Show cli version\n\nFlags:\n      --cluster string     Cluster name to operate\n  -h, --help               help for baizectl\n      --mode string        Connection mode: auto, api, notebook (default \"auto\")\n  -n, --namespace string   Namespace to use for the operation. If not set, the default Namespace will be used.\n  -s, --server string      \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 access base url\n      --skip-tls-verify    Skip TLS certificate verification\n      --token string       \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 access token\n  -w, --workspace int32    Workspace ID to use for the operation\n\nUse \"baizectl [command] --help\" for more information about a command.\n

                            \u4ee5\u4e0a\u662f baizectl \u7684\u57fa\u672c\u4fe1\u606f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl --help \u67e5\u770b\u5e2e\u52a9\u4fe1\u606f\uff0c \u6216\u8005\u901a\u8fc7 baizectl [command] --help \u67e5\u770b\u5177\u4f53\u547d\u4ee4\u7684\u5e2e\u52a9\u4fe1\u606f\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_4","title":"\u67e5\u770b\u7248\u672c\u4fe1\u606f","text":"

                            baizectl \u652f\u6301\u901a\u8fc7 version \u547d\u4ee4\u67e5\u770b\u7248\u672c\u4fe1\u606f\u3002

                            (base) jovyan@den-0:~$ baizectl version \nbaizectl version: v0.5.0, commit sha: ac0837c4\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_5","title":"\u547d\u4ee4\u683c\u5f0f","text":"

                            baizectl \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

                            baizectl [command] [flags]\n

                            \u5176\u4e2d\uff0c[command] \u662f\u5177\u4f53\u7684\u64cd\u4f5c\u547d\u4ee4\uff0c\u5982 data\u3001job \u7b49\uff0c[flags] \u662f\u53ef\u9009\u7684\u53c2\u6570\uff0c\u7528\u4e8e\u6307\u5b9a\u64cd\u4f5c\u7684\u8be6\u7ec6\u4fe1\u606f\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_6","title":"\u5e38\u7528\u9009\u9879","text":"
                            • --cluster string\uff1a\u6307\u5b9a\u8981\u64cd\u4f5c\u7684\u96c6\u7fa4\u540d\u79f0
                            • -h, --help\uff1a\u663e\u793a\u5e2e\u52a9\u4fe1\u606f
                            • --mode string\uff1a\u8fde\u63a5\u6a21\u5f0f\uff0c\u53ef\u9009\u503c\u4e3a auto\u3001api\u3001notebook\uff08\u9ed8\u8ba4\u503c\u4e3a auto\uff09
                            • -n, --namespace string\uff1a\u6307\u5b9a\u64cd\u4f5c\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5982\u679c\u672a\u8bbe\u7f6e\uff0c\u5c06\u4f7f\u7528\u9ed8\u8ba4\u547d\u540d\u7a7a\u95f4
                            • -s, --server string\uff1a\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8bbf\u95ee\u57fa\u7840 URL
                            • --skip-tls-verify\uff1a\u8df3\u8fc7 TLS \u8bc1\u4e66\u9a8c\u8bc1
                            • --token string\uff1a\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8bbf\u95ee\u4ee4\u724c
                            • -w, --workspace int32\uff1a\u6307\u5b9a\u64cd\u4f5c\u7684\u5de5\u4f5c\u533a ID
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_7","title":"\u529f\u80fd\u4ecb\u7ecd","text":""},{"location":"admin/baize/developer/notebooks/baizectl.html#_8","title":"\u4efb\u52a1\u7ba1\u7406","text":"

                            baizectl \u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u547d\u4ee4\u6765\u7ba1\u7406\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\uff0c\u5305\u542b\u4e86\u67e5\u770b\u4efb\u52a1\u5217\u8868\uff0c\u63d0\u4ea4\u4efb\u52a1\u3001\u67e5\u770b\u65e5\u5fd7\u3001\u91cd\u542f\u4efb\u52a1\u3001\u5220\u9664\u4efb\u52a1\u7b49\u3002

                            jovyan@19d0197587cc:/$ baizectl job\nManage jobs\n\nUsage:\n  baizectl job [command]\n\nAvailable Commands:\n  delete      Delete a job\n  logs        Show logs of a job\n  ls          List jobs\n  restart     restart a job\n  submit      Submit a job\n\nFlags:\n  -h, --help            help for job\n  -o, --output string   Output format. One of: table, json, yaml (default \"table\")\n      --page int        Page number (default 1)\n      --page-size int   Page size (default -1)\n      --search string   Search query\n      --sort string     Sort order\n      --truncate int    Truncate output to the given length, 0 means no truncation (default 50)\n\nUse \"baizectl job [command] --help\" for more information about a command.\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_9","title":"\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1","text":"

                            baizectl \u652f\u6301\u4f7f\u7528 submit \u547d\u4ee4\u63d0\u4ea4\u4e00\u4e2a\u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job submit --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                            (base) jovyan@den-0:~$ baizectl job submit --help\nSubmit a job\n\nUsage:\n  baizectl job submit [flags] -- command ...\n\nAliases:\n  submit, create\n\nExamples:\n# Submit a job to run the command \"torchrun python train.py\"\nbaizectl job submit -- torchrun python train.py\n# Submit a job with 2 workers(each pod use 4 gpus) to run the command \"torchrun python train.py\" and use the image \"pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime\"\nbaizectl job submit --image pytorch/pytorch:1.8.1-cuda11.1-cudnn8-runtime --workers 2 --resources nvidia.com/gpu=4 -- torchrun python train.py\n# Submit a tensorflow job to run the command \"python train.py\"\nbaizectl job submit --tensorflow -- python train.py\n\n\nFlags:\n      --annotations stringArray                       The annotations of the job, the format is key=value\n      --auto-load-env                                 It only takes effect when executed in Notebook, the environment variables of the current environment will be automatically read and set to the environment variables of the Job, the specific environment variables to be read can be specified using the BAIZE_MAPPING_ENVS environment variable, the default is PATH,CONDA_*,*PYTHON*,NCCL_*, if set to false, the environment variables of the current environment will not be read. (default true)\n      --commands stringArray                          The default command of the job\n  -d, --datasets stringArray                          The dataset bind to the job, the format is datasetName:mountPath, e.g. mnist:/data/mnist\n  -e, --envs stringArray                              The environment variables of the job, the format is key=value\n  -x, --from-notebook string                          Define whether to read the configuration of the current Notebook and directly create tasks, including images, resources, Dataset, etc.\n                                                      auto: Automatically determine the mode according to the current environment. If the current environment is a Notebook, it will be set to notebook mode.\n                                                      false: Do not read the configuration of the current Notebook.\n                                                      true: Read the configuration of the current Notebook. (default \"auto\")\n  -h, --help                                          help for submit\n      --image string                                  The image of the job, it must be specified if fromNotebook is false.\n  -t, --job-type string                               Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --labels stringArray                            The labels of the job, the format is key=value\n      --max-retries int32                             number of retries before marking this job failed\n      --max-run-duration int                          Specifies the duration in seconds relative to the startTime that the job may be active before the system tries to terminate it\n      --name string                                   The name of the job, if empty, the name will be generated automatically.\n      --paddle                                        PaddlePaddle Job, has higher priority than --job-type\n      --priority string                               The priority of the job, current support baize-medium-priority, baize-low-priority, baize-high-priority\n      --pvcs stringArray                              The pvcs bind to the job, the format is pvcName:mountPath, e.g. mnist:/data/mnist\n      --pytorch                                       Pytorch Job, has higher priority than --job-type\n      --queue string                                  The queue to used\n      --requests-resources stringArray                Similar to resources, but sets the resources of requests\n      --resources stringArray                         The resources of the job, it is a string in the format of cpu=1,memory=1Gi,nvidia.com/gpu=1, it will be set to the limits and requests of the container.\n      --restart-policy string                         The job restart policy (default \"on-failure\")\n      --runtime-envs baizectl data ls --runtime-env   The runtime environment to use for the job, you can use baizectl data ls --runtime-env to get the runtime environment\n      --shm-size int32                                The shared memory size of the job, default is 0, which means no shared memory, if set to more than 0, the job will use the shared memory, the unit is MiB\n      --tensorboard-log-dir string                    The tensorboard log directory, if set, the job will automatically start tensorboard, else not. The format is /path/to/log, you can use relative path in notebook.\n      --tensorflow                                    Tensorflow Job, has higher priority than --job-type\n      --workers int                                   The workers of the job, default is 1, which means single worker, if set to more than 1, the job will be distributed. (default 1)\n      --working-dir string                            The working directory of job container, if in notebook mode, the default is the directory of the current file\n

                            Note

                            \u63d0\u4ea4\u4efb\u52a1\u7684\u547d\u4ee4\u53c2\u6570\u8bf4\u660e\uff1a

                            • --name: \u4efb\u52a1\u540d\u79f0\uff0c\u5982\u679c\u4e3a\u7a7a\uff0c\u5219\u4f1a\u81ea\u52a8\u751f\u6210
                            • --image: \u955c\u50cf\u540d\u79f0\uff0c\u5fc5\u987b\u6307\u5b9a
                            • --priority: \u4efb\u52a1\u4f18\u5148\u7ea7\uff0c\u652f\u6301 \u9ad8=baize-high-priority\u3001\u4e2d=baize-medium-priority\u3001\u4f4e=baize-low-priority
                            • --resources: \u4efb\u52a1\u8d44\u6e90\uff0c\u683c\u5f0f\u4e3a cpu=1 memory=1Gi,nvidia.com/gpu=1
                            • --workers: \u4efb\u52a1\u5de5\u4f5c\u8282\u70b9\u6570\uff0c\u9ed8\u8ba4\u4e3a 1\uff0c\u5f53\u8bbe\u7f6e\u5927\u4e8e 1 \u65f6\uff0c\u4efb\u52a1\u5c06\u4f1a\u5206\u5e03\u5f0f\u8fd0\u884c
                            • --queue: \u4efb\u52a1\u961f\u5217\uff0c\u9700\u8981\u63d0\u524d\u521b\u5efa\u961f\u5217\u8d44\u6e90
                            • --working-dir: \u5de5\u4f5c\u76ee\u5f55\uff0c\u5982\u679c\u5728 Notebook \u6a21\u5f0f\u4e0b\uff0c\u4f1a\u9ed8\u8ba4\u4f7f\u7528\u5f53\u524d\u6587\u4ef6\u76ee\u5f55
                            • --datasets: \u6570\u636e\u96c6\uff0c\u683c\u5f0f\u4e3a datasetName:mountPath\uff0c\u4f8b\u5982 mnist:/data/mnist
                            • --shm-size: \u5171\u4eab\u5185\u5b58\u5927\u5c0f\uff0c\u5728\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u542f\u7528\uff0c\u8868\u793a\u4f7f\u7528\u5171\u4eab\u5185\u5b58\uff0c\u5355\u4f4d\u4e3a MiB
                            • --labels: \u4efb\u52a1\u6807\u7b7e\uff0c\u683c\u5f0f\u4e3a key=value
                            • --max-retries: \u6700\u5927\u91cd\u8bd5\u6b21\u6570\uff0c\u4efb\u52a1\u5931\u8d25\u540e\u91cd\u8bd5\u6b21\u6570\uff0c\u5931\u8d25\u540e\u4f1a\u91cd\u542f\u4efb\u52a1\uff0c\u9ed8\u8ba4\u4e0d\u9650\u5236
                            • --max-run-duration: \u6700\u5927\u8fd0\u884c\u65f6\u95f4\uff0c\u4efb\u52a1\u8fd0\u884c\u65f6\u95f4\u8d85\u8fc7\u6307\u5b9a\u65f6\u95f4\u540e\uff0c\u4f1a\u88ab\u7cfb\u7edf\u7ec8\u6b62\uff0c\u9ed8\u8ba4\u4e0d\u9650\u5236
                            • --restart-policy: \u91cd\u542f\u7b56\u7565\uff0c\u652f\u6301 on-failure\u3001never\u3001always\uff0c\u9ed8\u8ba4\u4e3a on-failure
                            • --from-notebook: \u662f\u5426\u4ece Notebook \u4e2d\u8bfb\u53d6\u914d\u7f6e\uff0c\u652f\u6301 auto\u3001true\u3001false\uff0c\u9ed8\u8ba4\u4e3a auto
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#pytorch","title":"PyTorch \u5355\u673a\u4efb\u52a1\u793a\u4f8b","text":"

                            \u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u793a\u4f8b\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u6c42\u4fee\u6539\u53c2\u6570\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a PyTorch \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

                            baizectl job submit --name demojob-v2 -t PYTORCH \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --resources cpu=1,memory=1Gi \\\n    --workers 1 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#pytorch_1","title":"PyTorch \u5206\u5e03\u5f0f\u4efb\u52a1\u793a\u4f8b","text":"

                            \u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u793a\u4f8b\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u6c42\u4fee\u6539\u53c2\u6570\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a PyTorch \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

                            baizectl job submit --name demojob-v2 -t PYTORCH \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --resources cpu=1,memory=1Gi \\\n    --workers 2 \\   # \u591a\u4efb\u52a1\u526f\u672c\u4f1a\u81ea\u52a8\u521b\u5efa\u5206\u5e03\u5f0f\u4efb\u52a1\n    --shm-size 1024 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#tensorflow","title":"Tensorflow \u4efb\u52a1\u793a\u4f8b","text":"

                            \u4f7f\u7528 -t \u53c2\u6570\u6307\u5b9a\u4efb\u52a1\u7c7b\u578b\uff0c\u4ee5\u4e0b\u4e3a\u521b\u5efa\u4e00\u4e2a Tensorflow \u4efb\u52a1\u7684\u793a\u4f8b\uff1a

                            baizectl job submit --name demojob-v2 -t TENSORFLOW \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --from-notebook auto \\\n    --workers 1 \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n

                            \u4e5f\u53ef\u4ee5\u4f7f\u7528 --job-type \u6216\u8005 --tensorflow \u53c2\u6570\u6307\u5b9a\u4efb\u52a1\u7c7b\u578b

                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#paddle","title":"Paddle \u4efb\u52a1\u793a\u4f8b","text":"
                            baizectl job submit --name demojob-v2 -t PADDLE \\\n    --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --priority baize-high-priority \\\n    --queue default \\\n    --working-dir /data \\\n    --datasets fashion-mnist:/data/mnist \\\n    --labels job_type=pytorch \\\n    --max-retries 3 \\\n    --max-run-duration 60 \\\n    --restart-policy on-failure \\\n    -- sleep 1000\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_10","title":"\u67e5\u770b\u4efb\u52a1\u5217\u8868","text":"

                            baizectl job \u652f\u6301\u901a\u8fc7 ls \u547d\u4ee4\u67e5\u770b\u4efb\u52a1\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a pytroch \u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -t \u6307\u5b9a\u4efb\u52a1\u7c7b\u578b\u3002

                            (base) jovyan@den-0:~$ baizectl job ls  # \u9ed8\u8ba4\u67e5\u770b pytorch \u4efb\u52a1\n NAME        TYPE     PHASE      DURATION  COMMAND    \n demong      PYTORCH  SUCCEEDED  1m2s      sleep 60   \n demo-sleep  PYTORCH  RUNNING    1h25m28s  sleep 7200 \n(base) jovyan@den-0:~$ baizectl job ls demo-sleep  # \u67e5\u770b\u6307\u5b9a\u4efb\u52a1\n NAME        TYPE     PHASE      DURATION  COMMAND     \n demo-sleep  PYTORCH  RUNNING    1h25m28s  sleep 7200 \n(base) jovyan@den-0:~$ baizectl job ls -t TENSORFLOW   # \u67e5\u770b tensorflow \u4efb\u52a1\n NAME       TYPE        PHASE    DURATION  COMMAND    \n demotfjob  TENSORFLOW  CREATED  0s        sleep 1000 \n

                            \u4efb\u52a1\u5217\u8868\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4f7f\u7528 table \u4f5c\u4e3a\u5c55\u793a\u5f62\u5f0f\uff0c\u5982\u679c\u5e0c\u671b\u67e5\u770b\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 json \u6216 yaml \u683c\u5f0f\u5c55\u793a\uff0c\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u3002

                            (base) jovyan@den-0:~$ baizectl job ls -t TENSORFLOW -o yaml\n- baseConfig:\n    args:\n    - sleep\n    - \"1000\"\n    image: release.daocloud.io/baize/baize-notebook:v0.5.0\n    labels:\n      app: den\n    podConfig:\n      affinity: {}\n      kubeEnvs:\n      - name: CONDA_EXE\n        value: /opt/conda/bin/conda\n      - name: CONDA_PREFIX\n        value: /opt/conda\n      - name: CONDA_PROMPT_MODIFIER\n        value: '(base) '\n      - name: CONDA_SHLVL\n        value: \"1\"\n      - name: CONDA_DIR\n        value: /opt/conda\n      - name: CONDA_PYTHON_EXE\n        value: /opt/conda/bin/python\n      - name: CONDA_PYTHON_EXE\n        value: /opt/conda/bin/python\n      - name: CONDA_DEFAULT_ENV\n        value: base\n      - name: PATH\n        value: /opt/conda/bin:/opt/conda/condabin:/command:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n      priorityClass: baize-high-priority\n      queue: default\n  creationTimestamp: \"2024-06-16T07:47:27Z\"\n  jobSpec:\n    runPolicy:\n      suspend: true\n    tfReplicaSpecs:\n      Worker:\n        replicas: 1\n        restartPolicy: OnFailure\n        template:\n          metadata:\n            creationTimestamp: null\n          spec:\n            affinity: {}\n            containers:\n            - args:\n              - sleep\n              - \"1000\"\n              env:\n              - name: CONDA_EXE\n                value: /opt/conda/bin/conda\n              - name: CONDA_PREFIX\n                value: /opt/conda\n              - name: CONDA_PROMPT_MODIFIER\n                value: '(base) '\n              - name: CONDA_SHLVL\n                value: \"1\"\n              - name: CONDA_DIR\n                value: /opt/conda\n              - name: CONDA_PYTHON_EXE\n                value: /opt/conda/bin/python\n              - name: CONDA_PYTHON_EXE\n                value: /opt/conda/bin/python\n              - name: CONDA_DEFAULT_ENV\n                value: base\n              - name: PATH\n                value: /opt/conda/bin:/opt/conda/condabin:/command:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n              image: release.daocloud.io/baize/baize-notebook:v0.5.0\n              name: tensorflow\n              resources:\n                limits:\n                  memory: 1Gi\n                requests:\n                  cpu: \"1\"\n                  memory: 2Gi\n              workingDir: /home/jovyan\n            priorityClassName: baize-high-priority\n  name: demotfjob\n  namespace: ns-chuanjia-ndx\n  phase: CREATED\n  roleConfig:\n    TF_WORKER:\n      replicas: 1\n      resources:\n        limits:\n          memory: 1Gi\n        requests:\n          cpu: \"1\"\n          memory: 2Gi\n  totalResources:\n    limits:\n      memory: \"1073741824\"\n    requests:\n      cpu: \"1\"\n      memory: \"2147483648\"\n  trainingConfig:\n    restartPolicy: RESTART_POLICY_ON_FAILURE\n  trainingMode: SINGLE\n  type: TENSORFLOW\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_11","title":"\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7","text":"

                            baizectl job \u652f\u6301\u4f7f\u7528 logs \u547d\u4ee4\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job logs --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                            (base) jovyan@den-0:~$ baizectl job logs --help\nShow logs of a job\n\nUsage:\n  baizectl job logs <job-name> [pod-name] [flags]\n\nAliases:\n  logs, log\n\nFlags:\n  -f, --follow            Specify if the logs should be streamed.\n  -h, --help              help for logs\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tail int          Lines of recent log file to display.\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n      --timestamps        Show timestamps\n

                            Note

                            • --follow \u53c2\u6570\u5b9e\u65f6\u67e5\u770b\u65e5\u5fd7
                            • --tail \u53c2\u6570\u6307\u5b9a\u67e5\u770b\u65e5\u5fd7\u7684\u884c\u6570\uff0c\u9ed8\u8ba4\u4e3a 50 \u884c
                            • --timestamps \u53c2\u6570\u663e\u793a\u65f6\u95f4\u6233

                            \u793a\u4f8b\u67e5\u770b\u4efb\u52a1\u65e5\u5fd7\uff1a

                            (base) jovyan@den-0:~$ baizectl job log -t TENSORFLOW tf-sample-job-v2-202406161632-evgrbrhn -f\n2024-06-16 08:33:06.083766: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n2024-06-16 08:33:06.086189: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.\n2024-06-16 08:33:06.132416: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.\n2024-06-16 08:33:06.132903: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\nTo enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n2024-06-16 08:33:07.223046: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\nModel: \"sequential\"\n_________________________________________________________________\n Layer (type)                Output Shape              Param #   \n=================================================================\n Conv1 (Conv2D)              (None, 13, 13, 8)         80        \n\n flatten (Flatten)           (None, 1352)              0         \n\n Softmax (Dense)             (None, 10)                13530     \n\n=================================================================\nTotal params: 13610 (53.16 KB)\nTrainable params: 13610 (53.16 KB)\nNon-trainable params: 0 (0.00 Byte)\n...\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_12","title":"\u5220\u9664\u4efb\u52a1","text":"

                            baizectl job \u652f\u6301\u4f7f\u7528 delete \u547d\u4ee4\u5220\u9664\u4efb\u52a1\uff0c\u5e76\u4e14\u540c\u65f6\u652f\u6301\u5220\u9664\u591a\u4e2a\u4efb\u52a1\u3002

                            (base) jovyan@den-0:~$ baizectl job delete --help\nDelete a job\n\nUsage:\n  baizectl job delete [flags]\n\nAliases:\n  delete, del, remove, rm\n\nFlags:\n  -h, --help              help for delete\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n

                            \u793a\u4f8b\u5220\u9664\u4efb\u52a1\uff1a

                            (base) jovyan@den-0:~$ baizectl job ls\n NAME        TYPE     PHASE      DURATION  COMMAND    \n demong      PYTORCH  SUCCEEDED  1m2s      sleep 60   \n demo-sleep  PYTORCH  RUNNING    1h20m51s  sleep 7200 \n demojob     PYTORCH  FAILED     16m46s    sleep 1000 \n demojob-v2  PYTORCH  RUNNING    3m13s     sleep 1000 \n demojob-v3  PYTORCH  CREATED    0s        sleep 1000 \n(base) jovyan@den-0:~$ baizectl job delete demojob      # \u5220\u9664\u5355\u4e2a\u4efb\u52a1\nDelete job demojob in ns-chuanjia-ndx successfully\n(base) jovyan@den-0:~$ baizectl job delete demojob-v2 demojob-v3     # \u5220\u9664\u591a\u4e2a\u4efb\u52a1\nDelete job demojob-v2 in ns-chuanjia-ndx successfully\nDelete job demojob-v3 in ns-chuanjia-ndx successfully\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_13","title":"\u91cd\u542f\u4efb\u52a1","text":"

                            baizectl job \u652f\u6301\u4f7f\u7528 restart \u547d\u4ee4\u91cd\u542f\u4efb\u52a1\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 baizectl job restart --help \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                            (base) jovyan@den-0:~$ baizectl job restart --help\nrestart a job\n\nUsage:\n  baizectl job restart [flags] job\n\nAliases:\n  restart, rerun\n\nFlags:\n  -h, --help              help for restart\n  -t, --job-type string   Job type: PYTORCH, TENSORFLOW, PADDLE (default \"PYTORCH\")\n      --paddle            PaddlePaddle Job, has higher priority than --job-type\n      --pytorch           Pytorch Job, has higher priority than --job-type\n      --tensorflow        Tensorflow Job, has higher priority than --job-type\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_14","title":"\u6570\u636e\u96c6\u7ba1\u7406","text":"

                            baizectl \u652f\u6301\u7ba1\u7406\u6570\u636e\u96c6\uff0c\u76ee\u524d\u652f\u6301\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868\uff0c\u65b9\u4fbf\u5728\u4efb\u52a1\u8bad\u7ec3\u65f6\uff0c\u5feb\u901f\u7ed1\u5b9a\u6570\u636e\u96c6\u3002

                            (base) jovyan@den-0:~$ baizectl data \nManagement datasets\n\nUsage:\n  baizectl data [flags]\n  baizectl data [command]\n\nAliases:\n  data, dataset, datasets, envs, runtime-envs\n\nAvailable Commands:\n  ls          List datasets\n\nFlags:\n  -h, --help            help for data\n  -o, --output string   Output format. One of: table, json, yaml (default \"table\")\n      --page int        Page number (default 1)\n      --page-size int   Page size (default -1)\n      --search string   Search query\n      --sort string     Sort order\n      --truncate int    Truncate output to the given length, 0 means no truncation (default 50)\n\nUse \"baizectl data [command] --help\" for more information about a command.\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_15","title":"\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868","text":"

                            baizectl data \u652f\u6301\u901a\u8fc7 ls \u547d\u4ee4\u67e5\u770b\u6570\u636e\u96c6\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a table \u683c\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002

                            (base) jovyan@den-0:~$ baizectl data ls\n NAME             TYPE  URI                                                    PHASE \n fashion-mnist    GIT   https://gitee.com/samzong_lu/fashion-mnist.git         READY \n sample-code      GIT   https://gitee.com/samzong_lu/training-sample-code....  READY \n training-output  PVC   pvc://training-output                                  READY \n

                            \u5728\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 -d \u6216\u8005 --datasets \u53c2\u6570\u6307\u5b9a\u6570\u636e\u96c6\uff0c\u4f8b\u5982\uff1a

                            baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --datasets sample-code:/home/jovyan/code \\\n    -- sleep 1000\n

                            \u540c\u65f6\u6302\u8f7d\u591a\u4e2a\u6570\u636e\u96c6\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u683c\u5f0f\uff1a

                            baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --datasets sample-code:/home/jovyan/code fashion-mnist:/home/jovyan/data \\\n    -- sleep 1000\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_16","title":"\u67e5\u770b\u4f9d\u8d56\u5e93\uff08\u73af\u5883\uff09","text":"

                            \u73af\u5883 runtime-env \u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u7279\u8272\u73af\u5883\u7ba1\u7406\u80fd\u529b\uff0c\u901a\u8fc7\u5c06\u6a21\u578b\u5f00\u53d1\u3001\u8bad\u7ec3\u4efb\u52a1\u4ee5\u53ca\u63a8\u7406\u4e2d\u6240\u9700\u7684\u4f9d\u8d56\u5e93\u89e3\u8026\uff0c \u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u52a0\u7075\u6d3b\u7684\u4f9d\u8d56\u5e93\u7ba1\u7406\u65b9\u5f0f\uff0c\u65e0\u9700\u91cd\u590d\u6784\u5efa\u590d\u6742\u7684 Docker \u955c\u50cf\uff0c\u53ea\u9700\u9009\u62e9\u5408\u9002\u7684\u73af\u5883\u5373\u53ef\u3002

                            \u540c\u65f6 runtime-env \u652f\u6301\u70ed\u66f4\u65b0\uff0c\u52a8\u6001\u5347\u7ea7\uff0c\u65e0\u9700\u91cd\u65b0\u6784\u5efa\u955c\u50cf\uff0c\u5373\u53ef\u66f4\u65b0\u73af\u5883\u4f9d\u8d56\u5e93\u3002

                            baizectl data \u652f\u6301\u901a\u8fc7 runtime-env \u547d\u4ee4\u67e5\u770b\u73af\u5883\u5217\u8868\uff0c\u9ed8\u8ba4\u663e\u793a table \u683c\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 -o \u53c2\u6570\u6307\u5b9a\u8f93\u51fa\u683c\u5f0f\u3002

                            (base) jovyan@den-0:~$ baizectl data ls --runtime-env \n NAME               TYPE   URI                                                    PHASE      \n fashion-mnist      GIT    https://gitee.com/samzong_lu/fashion-mnist.git         READY      \n sample-code        GIT    https://gitee.com/samzong_lu/training-sample-code....  READY      \n training-output    PVC    pvc://training-output                                  READY      \n tensorflow-sample  CONDA  conda://python?version=3.12.3                          PROCESSING \n

                            \u5728\u63d0\u4ea4\u8bad\u7ec3\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 --runtime-env \u53c2\u6570\u6307\u5b9a\u73af\u5883\uff0c\u4f8b\u5982\uff1a

                            baizectl job submit --image release.daocloud.io/baize/baize-notebook:v0.5.0 \\\n    --runtime-env tensorflow-sample \\\n    -- sleep 1000\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_17","title":"\u9ad8\u7ea7\u7528\u6cd5","text":"

                            baizectl \u652f\u6301\u66f4\u591a\u9ad8\u7ea7\u7528\u6cd5\uff0c\u4f8b\u5982\u81ea\u52a8\u8865\u5168\u811a\u672c\u751f\u6210\u3001\u4f7f\u7528\u7279\u5b9a\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u3001\u4f7f\u7528\u7279\u5b9a\u5de5\u4f5c\u7a7a\u95f4\u7b49\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_18","title":"\u81ea\u52a8\u8865\u5168\u811a\u672c\u751f\u6210","text":"
                            baizectl completion bash > /etc/bash_completion.d/baizectl\n

                            \u4e0a\u8ff0\u547d\u4ee4\u751f\u6210 bash \u7684\u81ea\u52a8\u8865\u5168\u811a\u672c\uff0c\u5e76\u5c06\u5176\u4fdd\u5b58\u5230 /etc/bash_completion.d/baizectl \u76ee\u5f55\u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 source /etc/bash_completion.d/baizectl \u52a0\u8f7d\u81ea\u52a8\u8865\u5168\u811a\u672c\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_19","title":"\u4f7f\u7528\u7279\u5b9a\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4","text":"
                            baizectl job ls --cluster my-cluster --namespace my-namespace\n

                            \u8be5\u547d\u4ee4\u5c06\u5217\u51fa my-cluster \u96c6\u7fa4\u4e2d my-namespace \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u4f5c\u4e1a\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_20","title":"\u4f7f\u7528\u7279\u5b9a\u5de5\u4f5c\u7a7a\u95f4","text":"
                            baizectl job ls --workspace 123\n
                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_21","title":"\u5e38\u89c1\u95ee\u9898","text":"
                            • \u95ee\u9898\uff1a\u4e3a\u4ec0\u4e48\u65e0\u6cd5\u8fde\u63a5\u5230\u670d\u52a1\u5668\uff1f

                              \u89e3\u51b3\u65b9\u6cd5\uff1a\u68c0\u67e5 --server \u53c2\u6570\u662f\u5426\u6b63\u786e\u8bbe\u7f6e\uff0c\u5e76\u786e\u4fdd\u7f51\u7edc\u8fde\u63a5\u6b63\u5e38\u3002 \u5982\u679c\u670d\u52a1\u5668\u4f7f\u7528\u81ea\u7b7e\u540d\u8bc1\u4e66\uff0c\u53ef\u4ee5\u4f7f\u7528 --skip-tls-verify \u8df3\u8fc7 TLS \u8bc1\u4e66\u9a8c\u8bc1\u3002

                            • \u95ee\u9898\uff1a\u5982\u4f55\u89e3\u51b3\u6743\u9650\u4e0d\u8db3\u7684\u95ee\u9898\uff1f

                              \u89e3\u51b3\u65b9\u6cd5\uff1a\u786e\u4fdd\u4f7f\u7528\u6b63\u786e\u7684 --token \u53c2\u6570\u767b\u5f55\uff0c\u5e76\u68c0\u67e5\u5f53\u524d\u7528\u6237\u662f\u5426\u5177\u6709\u76f8\u5e94\u7684\u64cd\u4f5c\u6743\u9650\u3002

                            • \u95ee\u9898\uff1a\u4e3a\u4ec0\u4e48\u65e0\u6cd5\u5217\u51fa\u6570\u636e\u96c6\uff1f

                              \u89e3\u51b3\u65b9\u6cd5\uff1a\u68c0\u67e5\u547d\u540d\u7a7a\u95f4\u548c\u5de5\u4f5c\u533a\u662f\u5426\u6b63\u786e\u8bbe\u7f6e\uff0c\u786e\u4fdd\u5f53\u524d\u7528\u6237\u6709\u6743\u9650\u8bbf\u95ee\u8fd9\u4e9b\u8d44\u6e90\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizectl.html#_22","title":"\u7ed3\u8bed","text":"

                            \u901a\u8fc7\u4ee5\u4e0a\u6307\u5357\uff0c\u7528\u6237\u53ef\u4ee5\u5feb\u901f\u4e0a\u624b baizectl \u547d\u4ee4\uff0c\u5e76\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u9ad8\u6548\u5730\u7ba1\u7406 AI \u5e73\u53f0\u8d44\u6e90\u3002 \u5982\u679c\u6709\u4efb\u4f55\u7591\u95ee\u6216\u95ee\u9898\uff0c\u5efa\u8bae\u53c2\u8003 baizectl [command] --help \u83b7\u53d6\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizess.html","title":"baizess \u6362\u6e90\u5de5\u5177\u4f7f\u7528\u6307\u5357","text":"

                            baizess \u662f AI Lab \u6a21\u5757\u4e2d Notebook \u5185\u7f6e\u7684\u5f00\u7bb1\u5373\u7528\u7684\u6362\u6e90\u5c0f\u5de5\u5177\u3002\u5b83\u63d0\u4f9b\u4e86\u7b80\u6d01\u7684\u547d\u4ee4\u884c\u754c\u9762\uff0c\u65b9\u4fbf\u7528\u6237\u7ba1\u7406\u5404\u79cd\u7f16\u7a0b\u73af\u5883\u7684\u5305\u7ba1\u7406\u5668\u6e90\u3002 \u901a\u8fc7 baizess\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u5207\u6362\u5e38\u7528\u5305\u7ba1\u7406\u5668\u7684\u6e90\uff0c\u786e\u4fdd\u987a\u5229\u8bbf\u95ee\u6700\u65b0\u7684\u5e93\u548c\u4f9d\u8d56\u9879\u3002\u8be5\u5de5\u5177\u901a\u8fc7\u7b80\u5316\u5305\u6e90\u7ba1\u7406\u6d41\u7a0b\uff0c\u63d0\u5347\u4e86\u5f00\u53d1\u8005\u548c\u6570\u636e\u79d1\u5b66\u5bb6\u7684\u5de5\u4f5c\u6548\u7387\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizess.html#_1","title":"\u5b89\u88c5","text":"

                            \u76ee\u524d\uff0cbaizess \u5df2\u7ecf\u96c6\u6210\u5728 AI Lab \u4e2d\u3002 \u4f60\u5728\u521b\u5efa Notebook \u540e\uff0c\u5373\u53ef\u5728 Notebook \u4e2d\u76f4\u63a5\u4f7f\u7528 baizess\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizess.html#_2","title":"\u5feb\u901f\u4e0a\u624b","text":""},{"location":"admin/baize/developer/notebooks/baizess.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                            baizess \u547d\u4ee4\u7684\u57fa\u672c\u4fe1\u606f\u5982\u4e0b\uff1a

                            jovyan@19d0197587cc:/$ baizess\nsource switch tool\n\nUsage:\n  baizess [command] [package-manager]\n\nAvailable Commands:\n  set     Switch the source of specified package manager to current fastest source\n  reset   Reset the source of specified package manager to default source\n\nAvailable Package-managers:\n  apt     (require root privilege)\n  conda\n  pip\n
                            "},{"location":"admin/baize/developer/notebooks/baizess.html#_4","title":"\u547d\u4ee4\u683c\u5f0f","text":"

                            baizess \u547d\u4ee4\u7684\u57fa\u672c\u683c\u5f0f\u5982\u4e0b\uff1a

                            baizess [command] [package-manager]\n

                            \u5176\u4e2d\uff0c[command] \u662f\u5177\u4f53\u7684\u64cd\u4f5c\u547d\u4ee4\uff0c[package-manager] \u7528\u4e8e\u6307\u5b9a\u64cd\u4f5c\u5bf9\u5e94\u7684\u5305\u7ba1\u7406\u5668\u3002

                            "},{"location":"admin/baize/developer/notebooks/baizess.html#command","title":"command","text":"
                            • set\uff1a\u5907\u4efd\u6e90\uff0c\u6d4b\u901f\uff0c\u5c06\u6240\u6307\u5b9a\u7684\u5305\u7ba1\u7406\u5668\u7684\u6e90\u5207\u6362\u4e3a\u6d4b\u901f\u7ed3\u679c\u6700\u5feb\u7684\u56fd\u5185\u6e90\u3002
                            • reset\uff1a\u5c06\u6240\u6307\u5b9a\u7684\u5305\u7ba1\u7406\u5668\u91cd\u7f6e\u4e3a\u9ed8\u8ba4\u6e90\u3002
                            "},{"location":"admin/baize/developer/notebooks/baizess.html#package-manager","title":"\u76ee\u524d\u652f\u6301\u7684 package-manager","text":"
                            • apt \uff08\u6e90\u7684\u5207\u6362\u4e0e\u91cd\u7f6e\u9700\u8981root\u6743\u9650\uff09
                            • conda \uff08\u539f\u5148\u7684\u6e90\u5c06\u88ab\u5907\u4efd\u5728/etc/apt/backup/\uff09
                            • pip \uff08\u66f4\u65b0\u540e\u6e90\u4fe1\u606f\u5c06\u88ab\u5199\u5165~/.condarc\uff09
                            "},{"location":"admin/baize/developer/notebooks/create.html","title":"\u521b\u5efa Notebook","text":"

                            Notebook \u63d0\u4f9b\u4e86\u4e00\u4e2a\u5728\u7ebf\u7684 Web \u4ea4\u4e92\u5f0f\u7f16\u7a0b\u73af\u5883\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u5feb\u901f\u8fdb\u884c\u6570\u636e\u79d1\u5b66\u548c\u673a\u5668\u5b66\u4e60\u5b9e\u9a8c\u3002

                            \u8fdb\u5165\u5f00\u53d1\u8005\u63a7\u5236\u53f0\u540e\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u5728\u4e0d\u540c\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u4e2d\u521b\u5efa\u548c\u7ba1\u7406 Notebook\u3002

                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb Notebooks \uff0c\u8fdb\u5165 Notebook \u5217\u8868\u3002\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                            2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u914d\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001Notebook \u955c\u50cf\u5730\u5740\u3001\u961f\u5217\u3001\u8d44\u6e90\u3001\u7528\u6237\u76ee\u5f55\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            3. \u521a\u521b\u5efa\u7684 Notebook \u72b6\u6001\u4e3a \u7b49\u5f85\u4e2d \uff0c\u7247\u523b\u540e\u5c06\u53d8\u4e3a \u8fd0\u884c\u4e2d \uff0c\u9ed8\u8ba4\u6700\u65b0\u7684\u4f4d\u4e8e\u5217\u8868\u9876\u90e8\u3002

                            4. \u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u66f4\u591a\u64cd\u4f5c\uff1a\u66f4\u65b0\u53c2\u6570\u3001\u542f\u52a8/\u6682\u505c\u3001\u514b\u9686 Notebook \u3001\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u548c\u5220\u9664\u3002

                            Note

                            \u5982\u679c\u9009\u62e9\u7eaf CPU \u8d44\u6e90\u540e\uff0c\u53d1\u73b0\u6302\u8f7d\u4e86\u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5361\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u6dfb\u52a0 container env \u6765\u89e3\u51b3\u6b64\u95ee\u9898\uff1a

                            NVIDIA_VISIBLE_DEVICES=\"\"\n
                            "},{"location":"admin/baize/developer/notebooks/delete.html","title":"\u5220\u9664 Notebook","text":"

                            \u5982\u679c\u53d1\u73b0 Notebook \u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece Notebook \u5217\u8868\u4e2d\u5220\u9664\u3002

                            1. \u5728 Notebook \u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                            2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u4efb\u52a1\uff0c\u8f93\u5165 Notebook \u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                            3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5 Notebook \u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                            Caution

                            Notebook \u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-auto-close.html","title":"Notebook \u95f2\u7f6e\u8d85\u65f6\u81ea\u52a8\u5173\u673a","text":"

                            \u5728\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4f18\u5316\u8d44\u6e90\u5229\u7528\u7387\uff0cAI Lab \u542f\u7528\u4e86 Notebook \u95f2\u7f6e\u8d85\u65f6\u81ea\u52a8\u5173\u673a\u529f\u80fd\uff1b \u5f53 Notebook \u957f\u65f6\u95f4\u65e0\u64cd\u4f5c\u65f6\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5173\u673a Notebook\uff0c\u91ca\u653e\u8d44\u6e90\u3002

                            • \u4f18\u70b9\uff1a\u901a\u8fc7\u8fd9\u4e2a\u65b9\u5f0f\uff0c\u53ef\u4ee5\u6781\u5927\u51cf\u5c11\u56e0\u4e3a\u957f\u65f6\u95f4\u65e0\u64cd\u4f5c\u5bfc\u81f4\u7684\u8d44\u6e90\u6d6a\u8d39\uff0c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002
                            • \u7f3a\u70b9\uff1a\u5982\u679c Notebook \u672a\u914d\u7f6e\u76f8\u5173\u5907\u4efd\u7b56\u7565\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u4e22\u5931\u3002

                            Note

                            \u5f53\u524d\uff0c\u6b64\u529f\u80fd\u4e3a\u96c6\u7fa4\u7ea7\u522b\u914d\u7f6e\uff0c\u9ed8\u8ba4\u5f00\u542f\uff0c\u9ed8\u8ba4\u8d85\u65f6\u65f6\u957f\u4e3a 30 \u5206\u949f\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-auto-close.html#_1","title":"\u914d\u7f6e\u53d8\u66f4","text":"

                            \u76ee\u524d\u914d\u7f6e\u4fee\u6539\u65b9\u5f0f\u4e3a\u624b\u52a8\u4fee\u6539\uff0c\u540e\u7eed\u4f1a\u63d0\u4f9b\u66f4\u52a0\u4fbf\u6377\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                            \u4fee\u6539\u5de5\u4f5c\u96c6\u7fa4\u4e2d baize-agent \u7684\u90e8\u7f72\u53c2\u6570\uff0c\u6b63\u786e\u7684\u4fee\u6539\u65b9\u5f0f\u4e3a\u66f4\u65b0 Helm \u5e94\u7528\uff0c

                            "},{"location":"admin/baize/developer/notebooks/notebook-auto-close.html#_2","title":"\u754c\u9762\u5316\u4fee\u6539","text":"
                            1. \u5728\u96c6\u7fa4\u7ba1\u7406\u754c\u9762\u627e\u5230\u5bf9\u5e94\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u8fdb\u5165\u96c6\u7fa4\u8be6\u60c5\uff0c\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u5728 baize-system \u547d\u540d\u7a7a\u95f4\u4e0b\u627e\u5230 baize-agent\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u66f4\u65b0 \u6309\u94ae\uff1a

                            2. \u5982\u56fe\u4fee\u6539 YAML \u4ee3\u7801\uff1a

                              ...\nnotebook-controller:\n  culling_enabled: false\n  cull_idle_time: 120\n  idleness_check_period: 1\n...\n
                            3. \u786e\u8ba4\u53c2\u6570\u4fee\u6539\u6210\u529f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u548c \u786e\u5b9a \u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-auto-close.html#_3","title":"\u547d\u4ee4\u884c\u4fee\u6539","text":"

                            \u8fdb\u5165\u63a7\u5236\u53f0\u4ee5\u540e\uff0c\u4f7f\u7528 helm upgrade \u547d\u4ee4\u66f4\u6539\u914d\u7f6e\uff1a

                            # \u8bbe\u5b9a\u7248\u672c\u53f7\nexport VERSION=0.8.0\n\n# \u66f4\u65b0 Helm Chart \nhelm upgrade --install baize-agent baize/baize-agent \\\n    --namespace baize-system \\\n    --create-namespace \\\n    --set global.imageRegistry=release.daocloud.io \\\n    --set notebook-controller.culling_enabled=true \\    # \u5f00\u542f\u81ea\u52a8\u5173\u673a\uff0c\u9ed8\u8ba4\u4e3a true\n    --set notebook-controller.cull_idle_time=120 \\      # \u8bbe\u7f6e\u95f2\u7f6e\u8d85\u65f6\u65f6\u95f4\u4e3a 120 \u5206\u949f\uff0c\u9ed8\u8ba4\u4e3a 30 \u5206\u949f\n    --set notebook-controller.idleness_check_period=1 \\ # \u8bbe\u7f6e\u68c0\u67e5\u95f4\u9694\u4e3a 1 \u5206\u949f\uff0c\u9ed8\u8ba4\u4e3a 1 \u5206\u949f\n    --version=$VERSION\n

                            Note

                            \u4e3a\u4e86\u907f\u514d\u81ea\u52a8\u5173\u673a\u540e\u4e22\u5931\u6570\u636e\uff0c\u60a8\u53ef\u4ee5\u5c06 AI Lab \u5347\u7ea7\u5230 v0.8.0 \u53ca\u66f4\u9ad8\u7248\u672c\uff0c\u5728 Notebook \u914d\u7f6e\u4e2d\u542f\u7528\u5173\u673a\u81ea\u52a8\u4fdd\u5b58\u529f\u80fd\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html","title":"\u5728 Notebook \u4e2d\u4f7f\u7528\u73af\u5883","text":"

                            \u73af\u5883\u7ba1\u7406\u662f AI Lab \u7684\u91cd\u8981\u529f\u80fd\u4e4b\u4e00\uff0c\u901a\u8fc7\u5728 Notebook \u4e2d\u5173\u8054\u5bf9\u5e94\u7684\u73af\u5883\uff0c\u53ef\u4ee5\u5feb\u901f\u5207\u6362\u4e0d\u540c\u7684\u73af\u5883\uff0c\u65b9\u4fbf\u7528\u6237\u8fdb\u884c\u5f00\u53d1\u548c\u8c03\u8bd5\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#notebook_1","title":"\u521b\u5efa Notebook \u65f6\u9009\u62e9\u73af\u5883","text":"

                            \u5728\u521b\u5efa Notebook \u65f6\uff0c\u53ef\u4ee5\u9009\u62e9\u4e00\u4e2a\u6216\u591a\u4e2a\u7684\u73af\u5883 Envs \u3002\u5982\u679c\u6ca1\u6709\u5408\u9002\u7684\u73af\u5883\uff0c\u53ef\u4ee5\u53bb \u73af\u5883\u7ba1\u7406 \u4e2d\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u73af\u5883\u3002

                            \u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u7ba1\u7406\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#notebook_2","title":"\u5728 Notebook \u4f7f\u7528\u73af\u5883","text":"

                            Note

                            \u5728 Notebook \u4e2d\uff0c\u6211\u4eec\u540c\u65f6\u63d0\u4f9b\u4e86 conda \u548c mamba \u4e24\u79cd\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u73af\u5883\u7ba1\u7406\u5de5\u5177\u3002

                            AI Lab \u4e2d\uff0c\u6211\u4eec\u91c7\u7528\u4e86 conda \u73af\u5883\u7ba1\u7406\u5de5\u5177\uff0c\u7528\u6237\u53ef\u4ee5\u5728 Notebook \u4e2d\u901a\u8fc7 !conda env list \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u73af\u5883\u5217\u8868\u3002

                            (base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda env list\n# conda environments:\n#\ndkj-python312-pure       /opt/baize-runtime-env/dkj-python312-pure/conda/envs/dkj-python312-pure\npython-3.10              /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10\ntorch-smaple             /opt/baize-runtime-env/torch-smaple/conda/envs/torch-smaple\nbase                  *  /opt/conda     # \u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\nbaize-base               /opt/conda/envs/baize-base\n

                            \u8fd9\u4e2a\u547d\u4ee4\u4f1a\u5217\u51fa\u6240\u6709\u7684 conda \u73af\u5883\uff0c\u5e76\u5728\u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\u524d\u9762\u52a0\u4e0a\u4e00\u4e2a\u661f\u53f7\uff08*\uff09\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#jupyterlab-kernel","title":"JupyterLab \u7684 Kernel \u73af\u5883\u7ba1\u7406","text":"

                            \u5728 Jupyterlab \u4e2d\uff0c\u6211\u4eec\u81ea\u52a8\u5c06 Notebook \u5173\u8054\u7684\u73af\u5883\u7ed1\u5b9a\u5230 Kernel \u5217\u8868\u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 Kernel \u5feb\u901f\u5207\u6362\u73af\u5883\u3002

                            \u901a\u8fc7\u4ee5\u4e0a\u529e\u6cd5\uff0c\u53ef\u4ee5\u540c\u65f6\u5728\u4e00\u4e2a Notebook \u4e2d\u4f7f\u7528\u4e0d\u540c\u7f16\u5199\u548c\u8c03\u8bd5\u7b97\u6cd5\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#terminal","title":"Terminal \u5207\u6362\u73af\u5883","text":"

                            AI Lab \u7684 Notebook \u76ee\u524d\u4e5f\u5df2\u7ecf\u652f\u6301\u4e86 VSCode\u3002

                            \u5982\u679c\u60a8\u66f4\u559c\u6b22\u5728 Terminal \u4e2d\u7ba1\u7406\u548c\u5207\u6362\u73af\u5883\uff0c\u53ef\u4ee5\u5b89\u88c5\u5982\u4e0b\u6b65\u9aa4\uff1a

                            \u5728\u9996\u6b21\u542f\u52a8\u5e76\u4f7f\u7528 Notebook \u65f6\uff0c\u9700\u8981\u5148\u6267\u884c conda init\uff0c\u7136\u540e\u518d\u6267\u884c conda activate <env_name> \u5207\u6362\u5230\u5bf9\u5e94\u7684\u73af\u5883\u3002

                            (base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda init bash# \u521d\u59cb\u5316 bash \u73af\u5883, \u4ec5\u9996\u6b21\u4f7f\u7528\u9700\u8981\u6267\u884c\nno change     /opt/conda/condabin/conda\n change     /opt/conda/bin/conda\n change     /opt/conda/bin/conda-env\n change     /opt/conda/bin/activate\n change     /opt/conda/bin/deactivate\n change     /opt/conda/etc/profile.d/conda.sh\n change     /opt/conda/etc/fish/conf.d/conda.fish\n change     /opt/conda/shell/condabin/Conda.psm1\n change     /opt/conda/shell/condabin/conda-hook.ps1\n change     /opt/conda/lib/python3.11/site-packages/xontrib/conda.xsh\n change     /opt/conda/etc/profile.d/conda.csh\n change     /home/jovyan/.bashrc\n action taken.\nAdded mamba to /home/jovyan/.bashrc\n\n==> For changes to take effect, close and re-open your current shell. <==\n\n(base) jovyan@chuanjia-jupyter-0:~/yolov8$ source ~/.bashrc  # \u91cd\u65b0\u52a0\u8f7d bash \u73af\u5883\n(base) jovyan@chuanjia-jupyter-0:~/yolov8$ conda activate python-3.10   # \u5207\u6362\u5230 python-3.10 \u73af\u5883\n(python-3.10) jovyan@chuanjia-jupyter-0:~/yolov8$ conda env list\n\n              mamba version : 1.5.1\n# conda environments:\n#\ndkj-python312-pure       /opt/baize-runtime-env/dkj-python312-pure/conda/envs/dkj-python312-pure\npython-3.10           *  /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10    # \u5f53\u524d\u6fc0\u6d3b\u7684\u73af\u5883\ntorch-smaple             /opt/baize-runtime-env/torch-smaple/conda/envs/torch-smaple\nbase                     /opt/conda\nbaize-base               /opt/conda/envs/baize-base\n

                            \u5982\u679c\u60a8\u66f4\u559c\u6b22\u4f7f\u7528 mamba \uff0c\u8fd9\u91cc\u9700\u8981\u4f7f\u7528 mamaba init \u548c mamba activate <env_name>\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#_1","title":"\u67e5\u770b\u73af\u5883\u4e2d\u7684\u5305","text":"

                            \u901a\u8fc7\u4e0d\u540c\u73af\u5883\u7ba1\u7406\u7684\u4e00\u4e2a\u5f88\u91cd\u8981\u7684\u529f\u80fd\u662f\uff0c\u53ef\u4ee5\u5728\u4e00\u4e2a Notebook \u4e2d\u901a\u8fc7\u5feb\u901f\u5207\u6362\u73af\u5883\uff0c\u4f7f\u7528\u4e0d\u7528\u7684\u5305\u3002

                            \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e0b\u65b9\u7684\u547d\u4ee4\u6765\u4f7f\u7528 conda \u67e5\u770b\u5f53\u524d\u73af\u5883\u4e2d\u7684\u6240\u6709\u5305\u3002

                            (python-3.10) jovyan@chuanjia-jupyter-0:~/yolov8$ conda list\n# packages in environment at /opt/baize-runtime-env/python-3.10/conda/envs/python-3.10:\n#\n# Name                    Version                   Build  Channel\n_libgcc_mutex             0.1                        main    defaults\n_openmp_mutex             5.1                       1_gnu    defaults\n... # \u7701\u7565\u90e8\u5206\u8f93\u51fa\nidna                      3.7             py310h06a4308_0    defaults\nipykernel                 6.28.0          py310h06a4308_0    defaults\nipython                   8.20.0          py310h06a4308_0    defaults\nipython_genutils          0.2.0              pyhd3eb1b0_1    defaults\njedi                      0.18.1          py310h06a4308_1    defaults\njinja2                    3.1.4           py310h06a4308_0    defaults\njsonschema                4.19.2          py310h06a4308_0    defaults\njsonschema-specifications 2023.7.1        py310h06a4308_0    defaults\njupyter_client            7.4.9           py310h06a4308_0    defaults\njupyter_core              5.5.0           py310h06a4308_0    defaults\njupyter_events            0.8.0           py310h06a4308_0    defaults\njupyter_server            2.10.0          py310h06a4308_0    defaults\njupyter_server_terminals  0.4.4           py310h06a4308_1    defaults\njupyterlab_pygments       0.2.2           py310h06a4308_0    defaults\n... # \u7701\u7565\u90e8\u5206\u8f93\u51fa\nxz                        5.4.6                h5eee18b_1    defaults\nyaml                      0.2.5                h7b6447c_0    defaults\nzeromq                    4.3.5                h6a678d5_0    defaults\nzlib                      1.2.13               h5eee18b_1    defaults\n
                            "},{"location":"admin/baize/developer/notebooks/notebook-with-envs.html#_2","title":"\u66f4\u65b0\u73af\u5883\u7684\u5305","text":"

                            \u76ee\u524d\uff0c\u53ef\u4ee5\u901a\u8fc7\u5728 AI Lab \u7684\u754c\u9762\u4e2d \u73af\u5883\u7ba1\u7406 \u6765\u66f4\u65b0\u73af\u5883\u4e2d\u7684\u5305\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html","title":"Notebook SSH \u8bbf\u95ee\u6307\u5357","text":"

                            AI Lab \u63d0\u4f9b\u7684 Notebook \u652f\u6301\u5728\u672c\u5730\u901a\u8fc7 SSH \u7684\u65b9\u5f0f\u8bbf\u95ee\uff1b

                            \u901a\u8fc7\u7b80\u5355\u7684\u914d\u7f6e\uff0c\u5373\u53ef\u4f7f\u7528 SSH \u8bbf\u95ee Jupyter Notebook \u7684\u529f\u80fd\u3002 \u65e0\u8bba\u60a8\u662f\u4f7f\u7528 Windows\u3001Mac \u8fd8\u662f Linux \u64cd\u4f5c\u7cfb\u7edf\uff0c\u90fd\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u64cd\u4f5c\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#ssh","title":"\u914d\u7f6e SSH \u8bbf\u95ee\u51ed\u8bc1","text":""},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#ssh_1","title":"\u751f\u6210 SSH \u5bc6\u94a5\u5bf9","text":"

                            \u9996\u5148\uff0c\u60a8\u9700\u8981\u5728\u60a8\u7684\u8ba1\u7b97\u673a\u4e0a\u751f\u6210 SSH \u516c\u94a5\u548c\u79c1\u94a5\u5bf9\u3002\u8fd9\u4e2a\u5bc6\u94a5\u5bf9\u5c06\u7528\u4e8e\u8ba4\u8bc1\u8fc7\u7a0b\uff0c\u786e\u4fdd\u5b89\u5168\u8bbf\u95ee\u3002

                            Mac/LinuxWindows
                            1. \u6253\u5f00\u7ec8\u7aef
                            2. \u8f93\u5165\u547d\u4ee4\uff1a

                              ssh-keygen -t rsa -b 4096\n
                            3. \u5f53\u7cfb\u7edf\u63d0\u793a\u60a8\u201cEnter a file in which to save the key\u201d\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u6572\u51fb Enter \u952e\u4f7f\u7528\u9ed8\u8ba4\u8def\u5f84\uff0c\u6216\u8005\u6307\u5b9a\u4e00\u4e2a\u65b0\u7684\u8def\u5f84\u3002

                            4. \u63a5\u4e0b\u6765\uff0c\u7cfb\u7edf\u4f1a\u63d0\u793a\u60a8\u8f93\u5165\u5bc6\u7801\uff08\u53ef\u9009\uff09\uff0c\u8fd9\u5c06\u589e\u52a0\u4e00\u4e2a\u989d\u5916\u7684\u5b89\u5168\u5c42\u3002\u5982\u679c\u9009\u62e9\u8f93\u5165\u5bc6\u7801\uff0c\u8bf7\u8bb0\u4f4f\u8fd9\u4e2a\u5bc6\u7801\uff0c\u56e0\u4e3a\u6bcf\u6b21\u4f7f\u7528\u5bc6\u94a5\u65f6\u90fd\u4f1a\u9700\u8981\u5b83\u3002
                            1. \u5b89\u88c5 Git Bash\uff08\u5982\u679c\u60a8\u5c1a\u672a\u5b89\u88c5\uff09
                            2. \u6253\u5f00 Git Bash
                            3. \u8f93\u5165\u547d\u4ee4\uff1a

                              ssh-keygen -t rsa -b 4096\n
                            4. \u540c Mac/Linux \u6b65\u9aa4

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#ssh_2","title":"\u6dfb\u52a0 SSH \u516c\u94a5\u5230\u4e2a\u4eba\u4e2d\u5fc3","text":"

                            Note

                            \u5177\u4f53\u64cd\u4f5c\u53ef\u4ee5\u53c2\u8003\uff1a\u914d\u7f6e SSH \u516c\u94a5

                            1. \u6253\u5f00\u751f\u6210\u7684\u516c\u94a5\u6587\u4ef6\uff0c\u901a\u5e38\u4f4d\u4e8e ~/.ssh/id_rsa.pub\uff08\u5982\u679c\u60a8\u6ca1\u6709\u66f4\u6539\u9ed8\u8ba4\u8def\u5f84\uff09
                            2. \u590d\u5236\u516c\u94a5\u5185\u5bb9
                            3. \u767b\u5f55\u5230\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0, \u7136\u540e\u53f3\u4e0a\u89d2\u5e10\u53f7\u70b9\u5f00\uff0c\u9009\u62e9\u4e2a\u4eba\u4e2d\u5fc3
                            4. \u5728 SSH \u516c\u94a5\u914d\u7f6e\u9875\uff0c\u6dfb\u52a0\u4f60\u672c\u5730\u751f\u6210\u7684\u516c\u94a5\u6587\u4ef6
                            5. \u4fdd\u5b58\u66f4\u6539
                            "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#notebook-ssh_1","title":"\u5728 Notebook \u4e2d\u5f00\u542f SSH \u8bbf\u95ee","text":"
                            1. \u767b\u5f55\u5230 Jupyter Notebook \u7684 Web \u754c\u9762\u3002
                            2. \u5bfb\u627e\u60a8\u60f3\u8981\u542f\u7528 SSH \u8bbf\u95ee\u7684 Notebook\u3002
                            3. \u5728 Notebook \u7684\u8bbe\u7f6e\u6216\u8be6\u60c5\u9875\u9762\uff0c\u627e\u5230 \u5f00\u542f SSH \u8bbf\u95ee \u7684\u9009\u9879\u5e76\u542f\u7528\u5b83\u3002
                            4. \u8bb0\u5f55\u6216\u590d\u5236\u663e\u793a\u7684 SSH \u8bbf\u95ee\u547d\u4ee4\u3002\u8fd9\u4e2a\u547d\u4ee4\u5c06\u7528\u4e8e\u540e\u7eed\u6b65\u9aa4\u4e2d\u7684 SSH \u8fde\u63a5\u3002
                            "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#ssh_3","title":"\u4e0d\u540c\u73af\u5883\u4e0b\u7684 SSH \u8bbf\u95ee\u65b9\u5f0f","text":""},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#_1","title":"\u8bbf\u95ee\u793a\u4f8b","text":"

                            \u5047\u8bbe\u60a8\u83b7\u5f97\u7684 SSH \u8bbf\u95ee\u547d\u4ee4\u5982\u4e0b\uff1a

                                # ssh {USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{UI_LOGIN_IP} -p {UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n

                            \u8bf7\u5c06 USERNAME \u66ff\u6362\u4e3a\u60a8\u7684\u7528\u6237\u540d\uff0cUI_LOGIN_IP \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u4e3b\u673a\u540d\uff0cUI_LOGIN_IP \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7aef\u53e3\u53f7\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#windows","title":"Windows","text":"

                            \u63a8\u8350\u4f7f\u7528 PuTTY \u6216 Git Bash \u8fdb\u884c SSH \u8fde\u63a5\u3002

                            PuTTYGit Bash
                            1. \u6253\u5f00 PuTTY
                            2. \u5728 Host Name (or IP address) \u680f\u8f93\u5165 mockhost\uff08\u5b9e\u9645\u7684\u4e3b\u673a\u540d\uff09
                            3. \u8f93\u5165\u7aef\u53e3\u53f7 2222\uff08\u5b9e\u9645\u7684\u7aef\u53e3\u53f7\uff09
                            4. \u70b9\u51fb Open \u5f00\u59cb\u8fde\u63a5
                            5. \u7b2c\u4e00\u6b21\u8fde\u63a5\u65f6\uff0c\u53ef\u80fd\u4f1a\u63d0\u793a\u9a8c\u8bc1\u670d\u52a1\u5668\u7684\u8eab\u4efd\uff0c\u70b9\u51fb Yes
                            1. \u6253\u5f00 Git Bash
                            2. \u8f93\u5165\u8bbf\u95ee\u547d\u4ee4\uff1a

                                  # ssh {USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{UI_LOGIN_IP} -p {UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
                            3. \u6309 Enter \u952e

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#maclinux","title":"Mac/Linux","text":"
                            1. \u6253\u5f00\u7ec8\u7aef\u3002
                            2. \u8f93\u5165\u8bbf\u95ee\u547d\u4ee4\uff1a

                                  # ssh {USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{UI_LOGIN_IP} -p {UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
                            3. \u5982\u679c\u7cfb\u7edf\u63d0\u793a\u60a8\u63a5\u53d7\u4e3b\u673a\u7684\u8eab\u4efd\uff0c\u8bf7\u8f93\u5165yes\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#ide","title":"\u914d\u5408 IDE \u5b9e\u73b0\u8fdc\u7a0b\u5f00\u53d1","text":"

                            \u9664\u4e86\u4f7f\u7528\u547d\u4ee4\u884c\u5de5\u5177\u8fdb\u884c SSH \u8fde\u63a5\uff0c\u60a8\u8fd8\u53ef\u4ee5\u5229\u7528\u73b0\u4ee3 IDE \u5982 Visual Studio Code (VSCode) \u548c PyCharm \u7684 SSH \u8fdc\u7a0b\u8fde\u63a5\u529f\u80fd\uff0c \u76f4\u63a5\u5728\u672c\u5730 IDE \u4e2d\u5f00\u53d1\u5e76\u5229\u7528\u8fdc\u7a0b\u670d\u52a1\u5668\u7684\u8d44\u6e90\u3002

                            \u5728 VSCode \u4e2d\u4f7f\u7528 SSH \u8fdc\u7a0b\u8fde\u63a5\u5728 PyCharm \u4e2d\u4f7f\u7528 SSH \u8fdc\u7a0b\u8fde\u63a5

                            VSCode \u901a\u8fc7 Remote - SSH \u6269\u5c55\u652f\u6301 SSH \u8fdc\u7a0b\u8fde\u63a5\uff0c\u5141\u8bb8\u60a8\u76f4\u63a5\u5728\u672c\u5730 VSCode \u73af\u5883\u4e2d\u7f16\u8f91\u8fdc\u7a0b\u670d\u52a1\u5668\u4e0a\u7684\u6587\u4ef6\uff0c\u5e76\u8fd0\u884c\u547d\u4ee4\u3002

                            \u64cd\u4f5c\u6b65\u9aa4\u4e3a\uff1a

                            1. \u786e\u4fdd\u60a8\u5df2\u5b89\u88c5 VSCode \u548c Remote - SSH \u6269\u5c55\u3002
                            2. \u6253\u5f00 VSCode\uff0c\u70b9\u51fb\u5de6\u4fa7\u6d3b\u52a8\u680f\u5e95\u90e8\u7684\u8fdc\u7a0b\u8d44\u6e90\u7ba1\u7406\u5668\u56fe\u6807\u3002
                            3. \u9009\u62e9 Remote-SSH: Connect to Host... \u9009\u9879\uff0c\u7136\u540e\u70b9\u51fb + Add New SSH Host...
                            4. \u8f93\u5165 SSH \u8fde\u63a5\u547d\u4ee4\uff0c\u4f8b\u5982\uff1a

                                  # ssh {USERNAME}@{CLUSTER}.{NAMESPACE}.{NOTEBOOK_NAME}@{UI_LOGIN_IP} -p {UI_LOGIN_IP}\n    ssh baizeuser01@gpu-cluster.demo.demo-notebook@10.20.100.201 -p 80 -i private_key\n
                            5. \u6572\u51fb Enter \u952e\u3002\u8bf7\u5c06 username\u3001mockhost \u548c 2222 \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u7528\u6237\u540d\u3001\u4e3b\u673a\u540d\u548c\u7aef\u53e3\u53f7\u3002

                            6. \u9009\u62e9\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\u6765\u4fdd\u5b58\u6b64 SSH \u4e3b\u673a\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u5373\u53ef\u3002

                            \u5b8c\u6210\u540e\uff0c\u60a8\u7684 SSH \u4e3b\u673a\u5c06\u6dfb\u52a0\u5230 SSH \u76ee\u6807\u5217\u8868\u4e2d\u3002\u70b9\u51fb\u60a8\u7684\u4e3b\u673a\u8fdb\u884c\u8fde\u63a5\u3002 \u5982\u679c\u662f\u7b2c\u4e00\u6b21\u8fde\u63a5\uff0c\u53ef\u80fd\u4f1a\u63d0\u793a\u60a8\u9a8c\u8bc1\u4e3b\u673a\u7684\u6307\u7eb9\u3002\u63a5\u53d7\u540e\uff0c\u60a8\u5c06\u88ab\u8981\u6c42\u8f93\u5165\u5bc6\u7801\uff08\u5982\u679c SSH \u5bc6\u94a5\u8bbe\u7f6e\u4e86\u5bc6\u7801\uff09\u3002 \u8fde\u63a5\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u50cf\u5728\u672c\u5730\u5f00\u53d1\u4e00\u6837\u5728 VSCode \u4e2d\u7f16\u8f91\u8fdc\u7a0b\u6587\u4ef6\uff0c\u5e76\u5229\u7528\u8fdc\u7a0b\u8d44\u6e90\u3002

                            PyCharm Professional \u7248\u652f\u6301\u901a\u8fc7 SSH \u8fde\u63a5\u5230\u8fdc\u7a0b\u670d\u52a1\u5668\uff0c\u5e76\u5728\u672c\u5730 PyCharm \u4e2d\u76f4\u63a5\u5f00\u53d1\u3002

                            \u64cd\u4f5c\u6b65\u9aa4\u4e3a\uff1a

                            1. \u6253\u5f00 PyCharm\uff0c\u5e76\u6253\u5f00\u6216\u521b\u5efa\u4e00\u4e2a\u9879\u76ee
                            2. \u9009\u62e9 File -> Settings \uff08\u5728 Mac \u4e0a\u662f PyCharm -> Preferences
                            3. \u5728\u8bbe\u7f6e\u7a97\u53e3\u4e2d\uff0c\u5bfc\u822a\u5230 Project: YourProjectName -> Python Interpreter
                            4. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u9f7f\u8f6e\u56fe\u6807\uff0c\u9009\u62e9 Add...

                              • \u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9 SSH Interpreter
                              • \u8f93\u5165\u8fdc\u7a0b\u4e3b\u673a\u7684\u4fe1\u606f\uff1a\u4e3b\u673a\u540d\uff08mockhost\uff09\u3001\u7aef\u53e3\u53f7\uff082222\uff09\u3001\u7528\u6237\u540d\uff08username\uff09\u3002 \u8bf7\u4f7f\u7528\u60a8\u7684\u5b9e\u9645\u4fe1\u606f\u66ff\u6362\u8fd9\u4e9b\u5360\u4f4d\u7b26\u3002
                              • \u70b9\u51fb Next \uff0cPyCharm \u5c06\u5c1d\u8bd5\u8fde\u63a5\u5230\u8fdc\u7a0b\u670d\u52a1\u5668\u3002\u5982\u679c\u8fde\u63a5\u6210\u529f\uff0c\u60a8\u5c06\u88ab\u8981\u6c42\u8f93\u5165\u5bc6\u7801\u6216\u9009\u62e9\u79c1\u94a5\u6587\u4ef6\u3002
                            5. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb Finish \u3002\u73b0\u5728\uff0c\u60a8\u7684 PyCharm \u5c06\u4f7f\u7528\u8fdc\u7a0b\u670d\u52a1\u5668\u4e0a\u7684 Python \u89e3\u91ca\u5668\u3002

                            "},{"location":"admin/baize/developer/notebooks/notebook-with-ssh.html#_2","title":"\u5b89\u5168\u9650\u5236","text":"

                            \u5728\u540c\u4e00\u4e2a Workspace \u5185\uff0c\u4efb\u610f\u7528\u6237\u90fd\u53ef\u4ee5\u901a\u8fc7\u81ea\u5df1\u7684 SSH \u8bbf\u95ee\u51ed\u8bc1\u6765\u767b\u5f55\u5230\u542f\u7528\u4e86 SSH \u7684 Notebook\u3002 \u8fd9\u610f\u5473\u7740\uff0c\u53ea\u8981\u7528\u6237\u914d\u7f6e\u4e86\u81ea\u5df1\u7684 SSH \u516c\u94a5\u5230\u4e2a\u4eba\u4e2d\u5fc3\uff0c\u5e76\u4e14 Notebook \u542f\u7528\u4e86 SSH \u8bbf\u95ee\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528 SSH \u8fdb\u884c\u5b89\u5168\u8fde\u63a5\u3002

                            \u8bf7\u6ce8\u610f\uff0c\u4e0d\u540c\u7528\u6237\u7684\u8bbf\u95ee\u6743\u9650\u53ef\u80fd\u4f1a\u6839\u636e Workspace \u7684\u914d\u7f6e\u800c\u6709\u6240\u4e0d\u540c\u3002\u786e\u4fdd\u60a8\u4e86\u89e3\u5e76\u9075\u5b88\u60a8\u6240\u5728\u7ec4\u7ec7\u7684\u5b89\u5168\u548c\u8bbf\u95ee\u7b56\u7565\u3002

                            \u901a\u8fc7\u9075\u5faa\u4e0a\u8ff0\u6b65\u9aa4\uff0c\u60a8\u5e94\u8be5\u80fd\u591f\u6210\u529f\u914d\u7f6e\u5e76\u4f7f\u7528 SSH \u8bbf\u95ee Jupyter Notebook\u3002\u5982\u679c\u9047\u5230\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u7cfb\u7edf\u5e2e\u52a9\u6587\u6863\u6216\u8054\u7cfb\u7cfb\u7edf\u7ba1\u7406\u5458\u3002

                            "},{"location":"admin/baize/developer/notebooks/start-pause.html","title":"\u542f\u52a8\u548c\u6682\u505c Notebook","text":"

                            Notebook \u521b\u5efa\u6210\u529f\u540e\uff0c\u901a\u5e38\u4f1a\u6709\u51e0\u4e2a\u72b6\u6001\uff1a

                            • \u7b49\u5f85\u4e2d
                            • \u8fd0\u884c\u4e2d
                            • \u5df2\u505c\u6b62

                            \u5982\u679c\u67d0\u4e2a Notebook \u7684\u72b6\u6001\u4e3a \u5df2\u505c\u6b62 \uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u542f\u52a8 \u3002

                            \u6b64 Notebook \u5c06\u8fdb\u5165\u8fd0\u884c\u961f\u5217\u4e2d\uff0c\u72b6\u6001\u53d8\u4e3a \u7b49\u5f85\u4e2d \uff0c\u5982\u679c\u4e00\u5207\u6b63\u5e38\uff0c\u7247\u523b\u540e\u5176\u72b6\u6001\u5c06\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002

                            \u5982\u679c\u4f7f\u7528\u7ed3\u675f\uff0c\u53ef\u4ee5\u4ece\u83dc\u5355\u4e2d\u9009\u62e9 \u6682\u505c \uff0c\u5c06\u5176\u72b6\u6001\u53d8\u4e3a \u5df2\u505c\u6b62 \u3002

                            "},{"location":"admin/baize/developer/notebooks/view.html","title":"Notebook \u5de5\u4f5c\u8d1f\u8f7d","text":"

                            \u5982\u679c\u60f3\u8981\u67e5\u770b\u67d0\u4e2a Notebook \u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                            1. \u5728 Notebook \u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u3002

                            2. \u8df3\u8f6c\u5230\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\uff08StatefulSet\uff09\u5217\u8868\uff0c\u53ef\u4ee5\u67e5\u770b\uff1a

                              • \u5bb9\u5668\u7ec4 Pod \u7684\u8fd0\u884c\u72b6\u6001\u3001IP\u3001\u8d44\u6e90\u8bf7\u6c42\u548c\u4f7f\u7528\u60c5\u51b5
                              • \u5bb9\u5668\u914d\u7f6e\u4fe1\u606f
                              • \u8bbf\u95ee\u65b9\u5f0f\uff1aClusterIP\u3001NodePort
                              • \u8c03\u5ea6\u7b56\u7565\uff1a\u8282\u70b9\u548c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027
                              • \u6807\u7b7e\u4e0e\u6ce8\u89e3\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u3001Pod \u7684\u6807\u7b7e\u4e0e\u6ce8\u89e3\u952e\u503c\u5bf9
                              • \u5f39\u6027\u4f38\u7f29\uff1a\u652f\u6301 HPA\u3001CronHPA\u3001VPA \u7b49\u65b9\u5f0f
                              • \u4e8b\u4ef6\u5217\u8868\uff1a\u8b66\u544a\u3001\u901a\u77e5\u7b49\u6d88\u606f

                            3. \u5728 StatefulSet \u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u9488\u5bf9 Pod \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

                            "},{"location":"admin/baize/oam/index.html","title":"\u8fd0\u7ef4\u7ba1\u7406","text":"

                            \u8fd0\u7ef4\u7ba1\u7406\u662f IT \u8fd0\u7ef4\u4eba\u5458\u65e5\u5e38\u7ba1\u7406 IT \u8d44\u6e90\uff0c\u5904\u7406\u5de5\u4f5c\u7684\u7a7a\u95f4\u3002

                            \u5728\u8fd9\u91cc\u53ef\u4ee5\u76f4\u89c2\u5730\u4e86\u89e3\u5f53\u524d\u96c6\u7fa4\u3001\u8282\u70b9\u3001CPU\u3001GPU\u3001vGPU \u7b49\u8d44\u6e90\u7684\u4f7f\u7528\u72b6\u51b5\u3002

                            "},{"location":"admin/baize/oam/index.html#_2","title":"\u5e38\u89c1\u672f\u8bed","text":"
                            • GPU \u5206\u914d\u7387\uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u5185\u6240\u6709\u672a\u5b8c\u6210\u7684\u4efb\u52a1\u7684 GPU \u5206\u914d\u60c5\u51b5\uff0c\u7edf\u8ba1\u8bf7\u6c42\u7684 GPU\uff08Request\uff09\u4e0e\u603b\u8d44\u6e90\u91cf\uff08Total\uff09\u4e4b\u95f4\u7684\u6bd4\u4f8b\u3002
                            • GPU \u5229\u7528\u7387\uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4e2d\u6240\u6709\u8fd0\u884c\u4e2d\u7684\u4efb\u52a1\u7684\u5b9e\u9645\u8d44\u6e90\u5229\u7528\u60c5\u51b5\uff0c\u7edf\u8ba1\u5b9e\u9645\u4f7f\u7528\u7684 GPU\uff08Usage\uff09\u4e0e\u603b\u8d44\u6e90\u91cf\uff08Total\uff09\u4e4b\u95f4\u7684\u6bd4\u4f8b\u3002
                            "},{"location":"admin/baize/oam/resource.html","title":"GPU \u5217\u8868","text":"

                            \u81ea\u52a8\u5316\u6c47\u603b\u6574\u4e2a\u5e73\u53f0\u4e2d\u7684 GPU \u8d44\u6e90\u4fe1\u606f\uff0c\u63d0\u4f9b\u8be6\u5c3d\u7684 GPU \u8bbe\u5907\u4fe1\u606f\u5c55\u793a\uff0c\u53ef\u67e5\u770b\u5404\u79cd GPU \u5361\u7684\u8d1f\u8f7d\u7edf\u8ba1\u548c\u4efb\u52a1\u8fd0\u884c\u4fe1\u606f\u3002

                            \u8fdb\u5165 \u8fd0\u7ef4\u7ba1\u7406 \u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u8d44\u6e90\u7ba1\u7406 -> GPU \u7ba1\u7406 \uff0c\u53ef\u4ee5\u67e5\u770b GPU \u5361\u548c\u4efb\u52a1\u4fe1\u606f\u3002

                            "},{"location":"admin/baize/oam/queue/create.html","title":"\u521b\u5efa\u961f\u5217","text":"

                            \u5728\u8fd0\u7ef4\u7ba1\u7406\u6a21\u5f0f\u4e2d\uff0c\u961f\u5217\u53ef\u7528\u4e8e\u8c03\u5ea6\u548c\u4f18\u5316\u6279\u5904\u7406\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5b83\u53ef\u4ee5\u6709\u6548\u5730\u7ba1\u7406\u5728\u96c6\u7fa4\u4e0a\u8fd0\u884c\u7684\u591a\u4e2a\u4efb\u52a1\uff0c\u901a\u8fc7\u961f\u5217\u7cfb\u7edf\u6765\u4f18\u5316\u8d44\u6e90\u5229\u7528\u7387\u3002

                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u961f\u5217\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                            2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u8bbe\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u6392\u961f\u7b56\u7565\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            3. \u5c4f\u5e55\u63d0\u793a\u521b\u5efa\uff0c\u8fd4\u56de\u961f\u5217\u7ba1\u7406\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u7b49\u66f4\u591a\u64cd\u4f5c\u3002

                            "},{"location":"admin/baize/oam/queue/delete.html","title":"\u5220\u9664\u961f\u5217","text":"

                            \u5728\u8fd0\u7ef4\u7ba1\u7406\u6a21\u5f0f\u4e2d\uff0c\u5982\u679c\u53d1\u73b0\u961f\u5217\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u961f\u5217\u5217\u8868\u4e2d\u5220\u9664\u3002

                            1. \u5728\u961f\u5217\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                            2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u961f\u5217\uff0c\u8f93\u5165\u961f\u5217\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                            3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u961f\u5217\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                            Caution

                            \u961f\u5217\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                            "},{"location":"admin/ghippo/password.html","title":"\u5bc6\u7801\u91cd\u7f6e","text":"

                            \u5982\u679c\u60a8\u5fd8\u8bb0\u5bc6\u7801\uff0c\u53ef\u4ee5\u6309\u672c\u9875\u9762\u8bf4\u660e\u91cd\u7f6e\u5bc6\u7801\u3002

                            "},{"location":"admin/ghippo/password.html#_2","title":"\u91cd\u7f6e\u5bc6\u7801\u6b65\u9aa4","text":"

                            \u7ba1\u7406\u5458\u6700\u521d\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u65f6\uff0c\u4f1a\u4e3a\u5176\u8bbe\u7f6e\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002 \u8be5\u7528\u6237\u767b\u5f55\u540e\uff0c\u5728 \u4e2a\u4eba\u4e2d\u5fc3 \u586b\u5199\u90ae\u7bb1\u5e76\u4fee\u6539\u5bc6\u7801\u3002 \u82e5\u8be5\u7528\u6237\u672a\u8bbe\u7f6e\u90ae\u7bb1\uff0c\u5219\u53ea\u80fd\u8054\u7cfb\u7ba1\u7406\u5458\u8fdb\u884c\u5bc6\u7801\u91cd\u7f6e\u3002

                            1. \u5982\u679c\u7528\u6237\u5fd8\u8bb0\u4e86\u5bc6\u7801\uff0c\u53ef\u4ee5\u5728\u767b\u5f55\u754c\u9762\u70b9\u51fb \u5fd8\u8bb0\u5bc6\u7801 \u3002

                            2. \u8f93\u5165\u767b\u5f55\u90ae\u7bb1\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002

                            3. \u5728\u90ae\u7bb1\u4e2d\u627e\u5230\u5bc6\u7801\u91cd\u7f6e\u90ae\u4ef6\uff0c\u70b9\u51fb\u4e0b\u65b9\u94fe\u63a5\u8fdb\u884c\u5bc6\u7801\u91cd\u7f6e\uff0c\u94fe\u63a5\u65f6\u6548 5 \u5206\u949f\u3002

                            4. \u5728\u624b\u673a\u7b49\u7ec8\u7aef\u8bbe\u5907\u5b89\u88c5\u652f\u6301 2FA \u52a8\u6001\u53e3\u4ee4\u751f\u6210\u7684\u5e94\u7528\uff08\u5982 Google Authenticator\uff09\uff0c\u6309\u7167\u9875\u9762\u63d0\u793a\u914d\u7f6e\u52a8\u6001\u53e3\u4ee4\u4ee5\u6fc0\u6d3b\u8d26\u6237\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002

                            5. \u8bbe\u7f6e\u65b0\u5bc6\u7801\uff0c\u70b9\u51fb \u63d0\u4ea4 \u3002\u8bbe\u7f6e\u65b0\u5bc6\u7801\u7684\u8981\u6c42\u4e0e\u521b\u5efa\u7528\u6237\u65f6\u7684\u5bc6\u7801\u89c4\u5219\u4e00\u81f4\u3002

                            6. \u4fee\u6539\u5bc6\u7801\u6210\u529f\uff0c\u76f4\u63a5\u8df3\u8f6c\u9996\u9875\u3002

                            "},{"location":"admin/ghippo/password.html#_3","title":"\u91cd\u7f6e\u5bc6\u7801\u6d41\u7a0b","text":"

                            \u6574\u4e2a\u5bc6\u7801\u91cd\u7f6e\u7684\u6d41\u7a0b\u793a\u610f\u56fe\u5982\u4e0b\u3002

                            graph TB\n\npass[\u5fd8\u8bb0\u5bc6\u7801] --> usern[\u8f93\u5165\u7528\u6237\u540d]\n--> button[\u70b9\u51fb\u53d1\u9001\u9a8c\u8bc1\u90ae\u4ef6\u7684\u6309\u94ae] --> judge1[\u5224\u65ad\u7528\u6237\u540d\u662f\u5426\u6b63\u786e]\n\n    judge1 -.\u6b63\u786e.-> judge2[\u5224\u65ad\u662f\u5426\u7ed1\u5b9a\u90ae\u7bb1]\n    judge1 -.\u9519\u8bef.-> tip1[\u63d0\u793a\u7528\u6237\u540d\u4e0d\u6b63\u786e]\n\n        judge2 -.\u5df2\u7ed1\u5b9a\u90ae\u7bb1.-> send[\u53d1\u9001\u91cd\u7f6e\u90ae\u4ef6]\n        judge2 -.\u672a\u7ed1\u5b9a\u90ae\u7bb1.-> tip2[\u63d0\u793a\u672a\u7ed1\u5b9a\u90ae\u7bb1<br>\u8054\u7cfb\u7ba1\u7406\u5458\u91cd\u7f6e\u5bc6\u7801]\n\nsend --> click[\u70b9\u51fb\u90ae\u4ef6\u4e2d\u7684\u94fe\u63a5] --> config[\u914d\u7f6e\u52a8\u6001\u53e3\u4ee4] --> reset[\u91cd\u7f6e\u5bc6\u7801]\n--> success[\u6210\u529f\u91cd\u7f6e\u5bc6\u7801]\n\nclassDef plain fill:#ddd,stroke:#fff,stroke-width:1px,color:#000;\nclassDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff;\nclassDef cluster fill:#fff,stroke:#bbb,stroke-width:1px,color:#326ce5;\n\nclass pass,usern,button,tip1,send,tip2,send,click,config,reset,success plain;\nclass judge1,judge2 k8s
                            "},{"location":"admin/ghippo/access-control/custom-role.html","title":"\u81ea\u5b9a\u4e49\u89d2\u8272","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u521b\u5efa\u4e09\u79cd\u8303\u56f4\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff1a

                            • \u5e73\u53f0\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u5e73\u53f0\u6240\u6709\u76f8\u5173\u8d44\u6e90\u751f\u6548
                            • \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u8be5\u7528\u6237\u6240\u5728\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u751f\u6548
                            • \u6587\u4ef6\u5939\u89d2\u8272 \u7684\u6743\u9650\u5bf9\u8be5\u7528\u6237\u6240\u5728\u7684\u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u8d44\u6e90\u751f\u6548
                            "},{"location":"admin/ghippo/access-control/custom-role.html#_2","title":"\u521b\u5efa\u5e73\u53f0\u89d2\u8272","text":"

                            \u5e73\u53f0\u89d2\u8272\u662f\u7c97\u7c92\u5ea6\u89d2\u8272\uff0c\u80fd\u591f\u5bf9\u6240\u9009\u6743\u9650\u5185\u7684\u6240\u6709\u8d44\u6e90\u751f\u6548\u3002\u5982\u6388\u6743\u540e\u7528\u6237\u53ef\u4ee5\u62e5\u6709\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\u3001\u6240\u6709\u96c6\u7fa4\u7684\u7f16\u8f91\u6743\u9650\u7b49\uff0c\u800c\u4e0d\u80fd\u9488\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u6216\u67d0\u4e2a\u96c6\u7fa4\u751f\u6548\u3002\u5e73\u53f0\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\u53ef\u4ee5\u5728\u7528\u6237/\u7528\u6237\u7ec4\u5217\u8868\u4e2d\u8fdb\u884c\u6388\u6743\u3002

                            1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

                            2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u5e73\u53f0\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                            4. \u5e73\u53f0\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\uff0c\u4e3a\u8fd9\u4e2a\u89d2\u8272\u6dfb\u52a0\u7528\u6237\u548c\u7528\u6237\u7ec4\u3002

                            "},{"location":"admin/ghippo/access-control/custom-role.html#_3","title":"\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

                            \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u662f\u7ec6\u7c92\u5ea6\u89d2\u8272\uff0c\u9488\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u751f\u6548\u3002\u5982\u5728\u8be5\u89d2\u8272\u4e2d\u9009\u62e9\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u5168\u90e8\u6743\u9650\uff0c\u7ed9\u7528\u6237\u5728\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u6388\u4e88\u8be5\u89d2\u8272\u540e\uff0c\u8be5\u7528\u6237\u5c06\u4ec5\u80fd\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u7684\u529f\u80fd\uff0c\u800c\u65e0\u6cd5\u4f7f\u7528\u5982\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u7b49\u5176\u4ed6\u6a21\u5757\u7684\u80fd\u529b\u3002\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u4e2d\u9009\u62e9\u5de5\u4f5c\u7a7a\u95f4\u540e\u8fdb\u884c\u6388\u6743\u3002

                            1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

                            2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                            4. \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\uff0c\u8bbe\u5b9a\u8fd9\u4e2a\u89d2\u8272\u53ef\u4ee5\u7ba1\u7406\u54ea\u4e9b\u5de5\u4f5c\u7a7a\u95f4\u3002

                            "},{"location":"admin/ghippo/access-control/custom-role.html#_4","title":"\u521b\u5efa\u6587\u4ef6\u5939\u89d2\u8272","text":"

                            \u6587\u4ef6\u5939\u89d2\u8272\u9488\u5bf9\u67d0\u4e2a\u6587\u4ef6\u5939\u548c\u8be5\u6587\u4ef6\u5939\u4e0b\u7684\u6240\u6709\u5b50\u6587\u4ef6\u5939\u53ca\u5de5\u4f5c\u7a7a\u95f4\u751f\u6548\u3002\u5982\u5728\u8be5\u89d2\u8272\u4e2d\u9009\u62e9\u5168\u5c40\u7ba1\u7406-\u5de5\u4f5c\u7a7a\u95f4\u548c\u5e94\u7528\u5de5\u4f5c\u53f0\uff0c\u7ed9\u7528\u6237\u5728\u67d0\u4e2a\u6587\u4ef6\u5939\u4e0b\u6388\u4e88\u8be5\u89d2\u8272\u540e\uff0c\u8be5\u7528\u6237\u5c06\u80fd\u591f\u5728\u5176\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u76f8\u5173\u529f\u80fd\uff0c\u800c\u65e0\u6cd5\u4f7f\u7528\u5982\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u7b49\u5176\u4ed6\u6a21\u5757\u7684\u80fd\u529b\u3002\u6587\u4ef6\u5939\u89d2\u8272\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u4e2d\u9009\u62e9\u6587\u4ef6\u5939\u540e\u8fdb\u884c\u6388\u6743\u3002 \u8bf7\u6ce8\u610f\uff1a\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u591a\u4e91\u7f16\u6392\u3001\u955c\u50cf\u4ed3\u5e93\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u670d\u52a1\u7f51\u683c\u548c\u4e2d\u95f4\u4ef6\u5747\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u5728\u521b\u5efa\u6587\u4ef6\u5939\u89d2\u8272\u65f6\u5927\u90e8\u5206\u573a\u666f\u4e0b\u9700\u8981\u7528\u5230\u5de5\u4f5c\u7a7a\u95f4\uff0c\u8bf7\u6ce8\u610f\u5728\u5168\u5c40\u7ba1\u7406-\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u52fe\u9009\u3002

                            1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \uff0c\u70b9\u51fb \u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272 \u3002

                            2. \u8f93\u5165\u540d\u79f0\u3001\u63cf\u8ff0\uff0c\u9009\u62e9 \u6587\u4ef6\u5939\u89d2\u8272 \uff0c\u52fe\u9009\u89d2\u8272\u6743\u9650\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            3. \u8fd4\u56de\u89d2\u8272\u5217\u8868\uff0c\u641c\u7d22\u521a\u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u89d2\u8272\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u590d\u5236\u3001\u7f16\u8f91\u548c\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                            4. \u6587\u4ef6\u5939\u89d2\u8272\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u53bb\u6587\u4ef6\u5939\u6388\u6743\uff0c\u8bbe\u5b9a\u8fd9\u4e2a\u89d2\u8272\u53ef\u4ee5\u7ba1\u7406\u54ea\u4e9b\u6587\u4ef6\u5939\u3002

                            "},{"location":"admin/ghippo/access-control/docking.html","title":"\u63a5\u5165\u7ba1\u7406","text":"

                            \u5f53\u4e24\u4e2a\u6216\u4e24\u4e2a\u4ee5\u4e0a\u5e73\u53f0\u76f8\u4e92\u5bf9\u63a5\u6216\u5d4c\u5165\u65f6\uff0c\u901a\u5e38\u9700\u8981\u8fdb\u884c\u7528\u6237\u4f53\u7cfb\u6253\u901a\u3002 \u5728\u7528\u6237\u6253\u901a\u8fc7\u7a0b\u4e2d\uff0c \u63a5\u5165\u7ba1\u7406 \u4e3b\u8981\u63d0\u4f9b SSO \u63a5\u5165\u80fd\u529b\uff0c\u5f53\u60a8\u9700\u8981\u5c06\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f5c\u4e3a\u7528\u6237\u6e90\u63a5\u5165\u5ba2\u6237\u7cfb\u7edf\u65f6\uff0c \u60a8\u53ef\u4ee5\u901a\u8fc7 \u63a5\u5165\u7ba1\u7406 \u521b\u5efa SSO \u63a5\u5165\u6765\u5b9e\u73b0\u3002

                            "},{"location":"admin/ghippo/access-control/docking.html#sso","title":"\u521b\u5efa SSO \u63a5\u5165","text":"

                            \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

                            1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u63a5\u5165\u7ba1\u7406 \uff0c\u8fdb\u5165\u63a5\u5165\u7ba1\u7406\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa SSO \u63a5\u5165 \u3002

                            2. \u5728 \u521b\u5efa SSO \u63a5\u5165 \u9875\u9762\u586b\u5199\u5ba2\u6237\u7aef ID\u3002

                              • \u5ba2\u6237\u7aef ID\uff1a\u5bf9\u5e94 client \u540d\u79f0
                              • \u5ba2\u6237\u7aef\u8bbf\u95ee\u5730\u5740\uff1a\u7528\u6237\u5b8c\u6210\u767b\u5f55\u5e76\u901a\u8fc7\u8eab\u4efd\u9a8c\u8bc1\u540e\uff0c\u8ba4\u8bc1\u670d\u52a1\u5668\u7528\u6765\u91cd\u5b9a\u5411\u7528\u6237\u7684\u5730\u5740\uff0c\u5373 Callback URL

                            3. \u521b\u5efa SSO \u63a5\u5165\u6210\u529f\u540e\uff0c\u5728 \u63a5\u5165\u7ba1\u7406 \u7ba1\u7406\u5217\u8868\uff0c\u70b9\u51fb\u521a\u521b\u5efa\u7684\u5ba2\u6237\u7aef ID \u8fdb\u5165\u8be6\u60c5\uff0c \u590d\u5236\u5ba2\u6237\u7aef ID\u3001\u5bc6\u94a5\u548c\u5355\u70b9\u767b\u5f55 URL \u4fe1\u606f\uff0c\u586b\u5199\u81f3\u5ba2\u6237\u7cfb\u7edf\u5b8c\u6210\u7528\u6237\u4f53\u7cfb\u6253\u901a\u3002

                              Note

                              realm \u540d\u79f0\u4e3a ghippo\u3002

                            "},{"location":"admin/ghippo/access-control/global.html","title":"\u7cfb\u7edf\u89d2\u8272","text":""},{"location":"admin/ghippo/access-control/global.html#_2","title":"\u9002\u7528\u573a\u666f","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86\u9884\u7f6e\u7684\u7cfb\u7edf\u89d2\u8272\uff0c\u5e2e\u52a9\u7528\u6237\u7b80\u5316\u89d2\u8272\u6743\u9650\u7684\u4f7f\u7528\u6b65\u9aa4\u3002

                            Note

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86\u4e09\u79cd\u7c7b\u578b\u7684\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u4e3a\u5e73\u53f0\u89d2\u8272\u3001\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u548c\u6587\u4ef6\u5939\u89d2\u8272\u3002

                            - \u5e73\u53f0\u89d2\u8272\uff1a\u5bf9\u5e73\u53f0\u4e0a\u6240\u6709\u76f8\u5173\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u3002\n- \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff1a\u5bf9\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u5177\u4f53\u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\u3002\n- \u6587\u4ef6\u5939\u89d2\u8272\uff1a\u5bf9\u67d0\u4e2a\u6587\u4ef6\u5939\u3001\u5b50\u6587\u4ef6\u5939\u53ca\u5176\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\uff0c\u8bf7\u524d\u5f80\u5177\u4f53\u6587\u4ef6\u5939\u6388\u6743\u3002\n
                            "},{"location":"admin/ghippo/access-control/global.html#_3","title":"\u5e73\u53f0\u89d2\u8272","text":"

                            \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 5 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aAdmin\u3001IAM Owner\u3001Audit Owner\u3001 Kpanda Owner \u548c Workspace and Folder Owner \u3002\u8fd9 5 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

                            \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Admin \u7cfb\u7edf\u89d2\u8272 \u5168\u90e8 \u5e73\u53f0\u7ba1\u7406\u5458\uff0c\u7ba1\u7406\u6240\u6709\u5e73\u53f0\u8d44\u6e90\uff0c\u4ee3\u8868\u5e73\u53f0\u7684\u6700\u9ad8\u6743\u9650 IAM Owner \u7cfb\u7edf\u89d2\u8272 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u7ba1\u7406\u7528\u6237/\u7528\u6237\u7ec4\u53ca\u6388\u6743 Audit Owner \u7cfb\u7edf\u89d2\u8272 \u5ba1\u8ba1\u65e5\u5fd7 \u5ba1\u8ba1\u65e5\u5fd7\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u8bbe\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u7b56\u7565\uff0c\u5bfc\u51fa\u5ba1\u8ba1\u65e5\u5fd7 Kpanda Owner \u7cfb\u7edf\u89d2\u8272 \u5bb9\u5668\u7ba1\u7406 \u5bb9\u5668\u7ba1\u7406\u7684\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u521b\u5efa/\u63a5\u5165\u96c6\u7fa4\uff0c\u90e8\u7f72\u5e94\u7528\uff0c\u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u4e88\u96c6\u7fa4/\u547d\u540d\u7a7a\u95f4\u76f8\u5173\u7684\u6743\u9650 Workspace and Folder Owner \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u7ba1\u7406\u5458\uff0c\u62e5\u6709\u8be5\u670d\u52a1\u4e0b\u7684\u6240\u6709\u6743\u9650\uff0c\u5982\u521b\u5efa\u6587\u4ef6\u5939/\u5de5\u4f5c\u7a7a\u95f4\uff0c\u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u6587\u4ef6\u5939/\u5de5\u4f5c\u7a7a\u95f4\u7684\u76f8\u5173\u6743\u9650\uff0c\u5728\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u4f7f\u7528\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u7b49\u529f\u80fd"},{"location":"admin/ghippo/access-control/global.html#_4","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

                            \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 3 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aWorkspace Admin\u3001Workspace Editor\u3001Workspace Viewer\u3002\u8fd9 3 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

                            \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Workspace Admin \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650 Workspace Editor \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u7f16\u8f91\u6743\u9650 Workspace Viewer \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u5de5\u4f5c\u7a7a\u95f4\u7684\u53ea\u8bfb\u6743\u9650"},{"location":"admin/ghippo/access-control/global.html#_5","title":"\u6587\u4ef6\u5939\u89d2\u8272","text":"

                            \u5728\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e2d\u9884\u5b9a\u4e49\u4e86 3 \u4e2a\u7cfb\u7edf\u89d2\u8272\uff0c\u5206\u522b\u662f\uff1aFolder Admin\u3001Folder Editor\u3001Folder Viewer\u3002\u8fd9 3 \u4e2a\u89d2\u8272\u7531\u7cfb\u7edf\u521b\u5efa\uff0c\u7528\u6237\u53ea\u80fd\u4f7f\u7528\u4e0d\u80fd\u4fee\u6539\u3002\u89d2\u8272\u5bf9\u5e94\u7684\u6743\u9650\u5982\u4e0b\uff1a

                            \u89d2\u8272\u540d\u79f0 \u89d2\u8272\u7c7b\u578b \u6240\u5c5e\u6a21\u5757 \u89d2\u8272\u6743\u9650 Folder Admin \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650 Folder Editor \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u7f16\u8f91\u6743\u9650 Folder Viewer \u7cfb\u7edf\u89d2\u8272 \u5de5\u4f5c\u7a7a\u95f4 \u6587\u4ef6\u5939\u53ca\u5176\u4e0b\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u7684\u53ea\u8bfb\u6743\u9650"},{"location":"admin/ghippo/access-control/group.html","title":"\u7528\u6237\u7ec4","text":"

                            \u7528\u6237\u7ec4\u662f\u7528\u6237\u7684\u96c6\u5408\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u52a0\u5165\u7528\u6237\u7ec4\uff0c\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u89d2\u8272\u6743\u9650\u3002\u901a\u8fc7\u7528\u6237\u7ec4\u6279\u91cf\u5730\u7ed9\u7528\u6237\u8fdb\u884c\u6388\u6743\uff0c\u53ef\u4ee5\u66f4\u597d\u5730\u7ba1\u7406\u7528\u6237\u53ca\u5176\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/group.html#_2","title":"\u9002\u7528\u573a\u666f","text":"

                            \u5f53\u7528\u6237\u6743\u9650\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ea\u9700\u5c06\u5176\u79fb\u5230\u76f8\u5e94\u7684\u7528\u6237\u7ec4\u4e0b\uff0c\u4e0d\u4f1a\u5bf9\u5176\u4ed6\u7528\u6237\u4ea7\u751f\u5f71\u54cd\u3002

                            \u5f53\u7528\u6237\u7ec4\u7684\u6743\u9650\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ea\u9700\u4fee\u6539\u7528\u6237\u7ec4\u7684\u89d2\u8272\u6743\u9650\uff0c\u5373\u53ef\u5e94\u7528\u5230\u7ec4\u5185\u7684\u6240\u6709\u7528\u6237\u3002

                            "},{"location":"admin/ghippo/access-control/group.html#_3","title":"\u521b\u5efa\u7528\u6237\u7ec4","text":"

                            \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

                            1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \uff0c\u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa\u7528\u6237\u7ec4 \u3002

                            2. \u5728 \u521b\u5efa\u7528\u6237\u7ec4 \u9875\u9762\u586b\u5199\u7528\u6237\u7ec4\u4fe1\u606f\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \uff0c\u521b\u5efa\u7528\u6237\u7ec4\u6210\u529f\uff0c\u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\u9875\u9762\u3002\u5217\u8868\u4e2d\u7684\u7b2c\u4e00\u884c\u662f\u65b0\u521b\u5efa\u7684\u7528\u6237\u7ec4\u3002

                            "},{"location":"admin/ghippo/access-control/group.html#_4","title":"\u4e3a\u7528\u6237\u7ec4\u6388\u6743","text":"

                            \u524d\u63d0\uff1a\u8be5\u7528\u6237\u7ec4\u5df2\u5b58\u5728\u3002

                            1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \uff0c\u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb ... -> \u6388\u6743 \u3002

                            2. \u5728 \u6388\u6743 \u9875\u9762\u52fe\u9009\u9700\u8981\u7684\u89d2\u8272\u6743\u9650\uff08\u53ef\u591a\u9009\uff09\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u4e3a\u7528\u6237\u7ec4\u7684\u6388\u6743\u3002\u81ea\u52a8\u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\uff0c\u70b9\u51fb\u67d0\u4e2a\u7528\u6237\u7ec4\uff0c\u53ef\u4ee5\u67e5\u770b\u7528\u6237\u7ec4\u88ab\u6388\u4e88\u7684\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/group.html#_5","title":"\u7ed9\u7528\u6237\u7ec4\u6dfb\u52a0\u7528\u6237","text":"
                            1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5728\u67d0\u4e2a\u7528\u6237\u7ec4\u53f3\u4fa7\uff0c\u70b9\u51fb ... -> \u6dfb\u52a0\u7528\u6237 \u3002

                            2. \u5728 \u6dfb\u52a0\u7528\u6237 \u9875\u9762\u70b9\u9009\u9700\u8981\u6dfb\u52a0\u7684\u7528\u6237\uff08\u53ef\u591a\u9009\uff09\u3002\u82e5\u6ca1\u6709\u53ef\u9009\u7684\u7528\u6237\uff0c\u70b9\u51fb \u524d\u5f80\u521b\u5efa\u65b0\u7528\u6237 \uff0c\u5148\u524d\u5f80\u521b\u5efa\u7528\u6237\uff0c\u518d\u8fd4\u56de\u8be5\u9875\u9762\u70b9\u51fb \u5237\u65b0 \u6309\u94ae\uff0c\u663e\u793a\u521a\u521b\u5efa\u7684\u7528\u6237\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u7ed9\u7528\u6237\u7ec4\u6dfb\u52a0\u7528\u6237\u3002

                            Note

                            \u7528\u6237\u7ec4\u4e2d\u7684\u7528\u6237\u4f1a\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u6743\u9650\uff1b\u53ef\u4ee5\u5728\u7528\u6237\u7ec4\u8be6\u60c5\u4e2d\u67e5\u770b\u52a0\u5165\u8be5\u7ec4\u7684\u7528\u6237\u3002

                            "},{"location":"admin/ghippo/access-control/group.html#_6","title":"\u5220\u9664\u7528\u6237\u7ec4","text":"

                            \u8bf4\u660e\uff1a\u5220\u9664\u7528\u6237\u7ec4\uff0c\u4e0d\u4f1a\u5220\u9664\u7ec4\u5185\u7684\u7528\u6237\uff0c\u4f46\u7ec4\u5185\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u7ee7\u627f\u8be5\u7ec4\u7684\u6743\u9650

                            1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237\u7ec4 \u8fdb\u5165\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5728\u67d0\u4e2a\u7528\u6237\u7ec4\u53f3\u4fa7\uff0c\u70b9\u51fb ... -> \u5220\u9664 \u3002

                            2. \u70b9\u51fb \u79fb\u9664 \u5220\u9664\u7528\u6237\u7ec4\u3002

                            3. \u8fd4\u56de\u7528\u6237\u7ec4\u5217\u8868\uff0c\u5c4f\u5e55\u4e0a\u65b9\u5c06\u63d0\u793a\u5220\u9664\u6210\u529f\u3002

                            Note

                            \u8bf4\u660e\uff1a\u5220\u9664\u7528\u6237\u7ec4\uff0c\u4e0d\u4f1a\u5220\u9664\u7ec4\u5185\u7684\u7528\u6237\uff0c\u4f46\u7ec4\u5185\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u7ee7\u627f\u8be5\u7ec4\u7684\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/iam.html","title":"\u4ec0\u4e48\u662f\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236","text":"

                            IAM\uff08Identity and Access Management\uff0c\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\uff09\u662f\u5168\u5c40\u7ba1\u7406\u7684\u4e00\u4e2a\u91cd\u8981\u6a21\u5757\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u6a21\u5757\u521b\u5efa\u3001\u7ba1\u7406\u548c\u9500\u6bc1\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\uff0c\u5e76\u4f7f\u7528\u7cfb\u7edf\u89d2\u8272\u548c\u81ea\u5b9a\u4e49\u89d2\u8272\u63a7\u5236\u5176\u4ed6\u7528\u6237\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/iam.html#_2","title":"\u4f18\u52bf","text":"
                            • \u7b80\u6d01\u6d41\u7545

                              \u4f01\u4e1a\u5185\u90e8\u7684\u7ed3\u6784\u548c\u89d2\u8272\u53ef\u80fd\u975e\u5e38\u590d\u6742\uff0c\u9879\u76ee\u3001\u5de5\u4f5c\u5c0f\u7ec4\u53ca\u6388\u6743\u7684\u7ba1\u7406\u90fd\u5728\u4e0d\u65ad\u5730\u53d8\u5316\u3002\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u91c7\u7528\u6e05\u6670\u6574\u6d01\u7684\u9875\u9762\uff0c\u6253\u901a\u7528\u6237\u3001\u7528\u6237\u7ec4\u3001\u89d2\u8272\u4e4b\u95f4\u7684\u6388\u6743\u5173\u7cfb\uff0c\u4ee5\u6700\u77ed\u94fe\u8def\u5b9e\u73b0\u5bf9\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u7684\u6388\u6743\u3002

                            • \u9002\u5f53\u7684\u89d2\u8272

                              \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u4e3a\u6bcf\u4e2a\u5b50\u6a21\u5757\u9884\u5b9a\u4e49\u4e86\u4e00\u4e2a\u7ba1\u7406\u5458\u89d2\u8272\uff0c\u65e0\u9700\u7528\u6237\u7ef4\u62a4\uff0c\u60a8\u53ef\u4ee5\u76f4\u63a5\u5c06\u5e73\u53f0\u9884\u5b9a\u4e49\u7684\u7cfb\u7edf\u89d2\u8272\u6388\u6743\u7ed9\u7528\u6237\uff0c\u5b9e\u73b0\u5e73\u53f0\u7684\u6a21\u5757\u5316\u7ba1\u7406\uff08\u7ec6\u7c92\u5ea6\u6743\u9650\u8bf7\u53c2\u9605\u6743\u9650\u7ba1\u7406\u3002

                            • \u4f01\u4e1a\u7ea7\u8bbf\u95ee\u63a7\u5236

                              \u5f53\u60a8\u5e0c\u671b\u672c\u4f01\u4e1a\u5458\u5de5\u53ef\u4ee5\u4f7f\u7528\u4f01\u4e1a\u5185\u90e8\u7684\u8ba4\u8bc1\u7cfb\u7edf\u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\uff0c\u800c\u4e0d\u9700\u8981\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u521b\u5efa\u5bf9\u5e94\u7684\u7528\u6237\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u5efa\u7acb\u60a8\u6240\u5728\u4f01\u4e1a\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u4fe1\u4efb\u5173\u7cfb\uff0c\u901a\u8fc7\u8054\u5408\u8ba4\u8bc1\u4f7f\u5458\u5de5\u4f7f\u7528\u4f01\u4e1a\u5df2\u6709\u8d26\u53f7\u76f4\u63a5\u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5b9e\u73b0\u5355\u70b9\u767b\u5f55\u3002

                            "},{"location":"admin/ghippo/access-control/iam.html#_3","title":"\u4f7f\u7528\u6d41\u7a0b","text":"

                            \u6709\u5173\u8bbf\u95ee\u63a7\u5236\u7684\u5e38\u89c4\u6d41\u7a0b\u4e3a\uff1a

                            graph TD\n    login[\u767b\u5f55] --> user[\u521b\u5efa\u7528\u6237]\n    user --> auth[\u4e3a\u7528\u6237\u6388\u6743]\n    auth --> group[\u521b\u5efa\u7528\u6237\u7ec4]\n    group --> role[\u521b\u5efa\u81ea\u5b9a\u4e49\u89d2\u8272]\n    role --> id[\u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546]\n\n classDef plain fill:#ddd,stroke:#fff,stroke-width:4px,color:#000;\n classDef k8s fill:#326ce5,stroke:#fff,stroke-width:4px,color:#fff;\n classDef cluster fill:#fff,stroke:#bbb,stroke-width:1px,color:#326ce5;\n class login,user,auth,group,role,id cluster;\n\nclick login \"https://docs.daocloud.io/ghippo/install/login.html\"\nclick user \"https://docs.daocloud.io/ghippo/access-control/user.html\"\nclick auth \"https://docs.daocloud.io/ghippo/access-control/role.html\"\nclick group \"https://docs.daocloud.io/ghippo/access-control/group.html\"\nclick role \"https://docs.daocloud.io/ghippo/access-control/custom-role.html\"\nclick id \"https://docs.daocloud.io/ghippo/access-control/idprovider.html\"
                            "},{"location":"admin/ghippo/access-control/idprovider.html","title":"\u8eab\u4efd\u63d0\u4f9b\u5546","text":"

                            \u5168\u5c40\u7ba1\u7406\u652f\u6301\u57fa\u4e8e LDAP \u548c OIDC \u534f\u8bae\u7684\u5355\u70b9\u767b\u5f55\uff0c\u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u5e0c\u671b\u7ba1\u7406\u7ec4\u7ec7\u5185\u7684\u6210\u5458\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8d44\u6e90\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728\u60a8\u7684\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002\u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8d44\u6e90\u7684\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/idprovider.html#_2","title":"\u57fa\u672c\u6982\u5ff5","text":"
                            • \u8eab\u4efd\u63d0\u4f9b\u5546\uff08Identity Provider\uff0c\u7b80\u79f0 IdP\uff09

                              \u8d1f\u8d23\u6536\u96c6\u548c\u5b58\u50a8\u7528\u6237\u8eab\u4efd\u4fe1\u606f\u3001\u7528\u6237\u540d\u3001\u5bc6\u7801\u7b49\uff0c\u5728\u7528\u6237\u767b\u5f55\u65f6\u8d1f\u8d23\u8ba4\u8bc1\u7528\u6237\u7684\u670d\u52a1\u3002\u5728\u4f01\u4e1a\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u7684\u8fc7\u7a0b\u4e2d\uff0c\u8eab\u4efd\u63d0\u4f9b\u5546\u6307\u4f01\u4e1a\u81ea\u8eab\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u3002

                            • \u670d\u52a1\u63d0\u4f9b\u5546\uff08Service Provider\uff0c\u7b80\u79f0 SP\uff09

                              \u670d\u52a1\u63d0\u4f9b\u5546\u901a\u8fc7\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546 IdP \u5efa\u7acb\u4fe1\u4efb\u5173\u7cfb\uff0c\u4f7f\u7528 IDP \u63d0\u4f9b\u7684\u7528\u6237\u4fe1\u606f\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u5177\u4f53\u7684\u670d\u52a1\u3002\u5728\u4f01\u4e1a\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u7684\u8fc7\u7a0b\u4e2d\uff0c\u670d\u52a1\u63d0\u4f9b\u5546\u6307 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u3002

                            • LDAP

                              LDAP \u6307\u8f7b\u578b\u76ee\u5f55\u8bbf\u95ee\u534f\u8bae\uff08Lightweight Directory Access Protocol\uff09\uff0c\u5e38\u7528\u4e8e\u5355\u70b9\u767b\u5f55\uff0c\u5373\u7528\u6237\u53ef\u4ee5\u5728\u591a\u4e2a\u670d\u52a1\u4e2d\u4f7f\u7528\u4e00\u4e2a\u8d26\u53f7\u5bc6\u7801\u8fdb\u884c\u767b\u5f55\u3002\u5168\u5c40\u7ba1\u7406\u652f\u6301 LDAP \u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\uff0c\u56e0\u6b64\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u901a\u8fc7 LDAP \u534f\u8bae\u5efa\u7acb\u8eab\u4efd\u8ba4\u8bc1\u7684\u4f01\u4e1a IdP \u5fc5\u987b\u652f\u6301 LDAP \u534f\u8bae\u3002\u5173\u4e8e LDAP \u7684\u8be6\u7ec6\u63cf\u8ff0\u8bf7\u53c2\u89c1\uff1a\u6b22\u8fce\u4f7f\u7528 LDAP\u3002

                            • OIDC

                              OIDC \u662f OpenID Connect \u7684\u7b80\u79f0\uff0c\u662f\u4e00\u4e2a\u57fa\u4e8e OAuth 2.0 \u534f\u8bae\u7684\u8eab\u4efd\u8ba4\u8bc1\u6807\u51c6\u534f\u8bae\u3002\u5168\u5c40\u7ba1\u7406\u652f\u6301\u4f7f\u7528 OIDC \u534f\u8bae\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\uff0c\u56e0\u6b64\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u901a\u8fc7 OIDC \u534f\u8bae\u5efa\u7acb\u8eab\u4efd\u8ba4\u8bc1\u7684\u4f01\u4e1a IdP \u5fc5\u987b\u652f\u6301 OIDC \u534f\u8bae\u3002\u5173\u4e8e OIDC \u7684\u8be6\u7ec6\u63cf\u8ff0\u8bf7\u53c2\u89c1\uff1a\u6b22\u8fce\u4f7f\u7528 OpenID Connect\u3002

                            • OAuth 2.0

                              OAuth 2.0 \u662f Open Authorization 2.0 \u7684\u7b80\u79f0\uff0c\u662f\u4e00\u79cd\u5f00\u653e\u6388\u6743\u534f\u8bae\uff0c\u6388\u6743\u6846\u67b6\u652f\u6301\u7b2c\u4e09\u65b9\u5e94\u7528\u7a0b\u5e8f\u4ee5\u81ea\u5df1\u7684\u540d\u4e49\u83b7\u53d6\u8bbf\u95ee\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/idprovider.html#_3","title":"\u529f\u80fd\u7279\u6027","text":"
                            • \u7ba1\u7406\u5458\u65e0\u9700\u91cd\u65b0\u521b\u5efa\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7528\u6237

                              \u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u524d\uff0c\u7ba1\u7406\u5458\u9700\u8981\u5728\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u548c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u5206\u522b\u4e3a\u7528\u6237\u521b\u5efa\u8d26\u53f7\uff1b\u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u540e\uff0c\u4f01\u4e1a\u7ba1\u7406\u5458\u53ea\u9700\u8981\u5728\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u4e2d\u4e3a\u7528\u6237\u521b\u5efa\u8d26\u53f7\uff0c\u7528\u6237\u5373\u53ef\u540c\u65f6\u8bbf\u95ee\u4e24\u4e2a\u7cfb\u7edf\uff0c\u964d\u4f4e\u4e86\u4eba\u5458\u7ba1\u7406\u6210\u672c\u3002

                            • \u7528\u6237\u65e0\u9700\u8bb0\u4f4f\u4e24\u5957\u5e73\u53f0\u8d26\u53f7

                              \u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u524d\uff0c\u7528\u6237\u8bbf\u95ee\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u548c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9700\u8981\u4f7f\u7528\u4e24\u4e2a\u7cfb\u7edf\u7684\u8d26\u53f7\u767b\u5f55\uff1b\u4f7f\u7528\u8eab\u4efd\u63d0\u4f9b\u5546\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u540e\uff0c\u7528\u6237\u5728\u672c\u4f01\u4e1a\u7ba1\u7406\u7cfb\u7edf\u4e2d\u767b\u5f55\u5373\u53ef\u8bbf\u95ee\u4e24\u4e2a\u7cfb\u7edf\u3002

                            "},{"location":"admin/ghippo/access-control/ldap.html","title":"LDAP","text":"

                            LDAP \u82f1\u6587\u5168\u79f0\u4e3a Lightweight Directory Access Protocol\uff0c\u5373\u8f7b\u578b\u76ee\u5f55\u8bbf\u95ee\u534f\u8bae\uff0c\u8fd9\u662f\u4e00\u4e2a\u5f00\u653e\u7684\u3001\u4e2d\u7acb\u7684\u5de5\u4e1a\u6807\u51c6\u5e94\u7528\u534f\u8bae\uff0c \u901a\u8fc7 IP \u534f\u8bae\u63d0\u4f9b\u8bbf\u95ee\u63a7\u5236\u548c\u7ef4\u62a4\u5206\u5e03\u5f0f\u4fe1\u606f\u7684\u76ee\u5f55\u4fe1\u606f\u3002

                            \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u60a8\u7684\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u652f\u6301 LDAP \u534f\u8bae\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e LDAP \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8d44\u6e90\u7684\u6743\u9650\u3002

                            \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\uff0c\u5176\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                            1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5de6\u4e0b\u89d2\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb \u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546 \u6309\u94ae\u3002

                            3. \u5728 LDAP \u9875\u7b7e\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u540e\u70b9\u51fb \u4fdd\u5b58 \uff0c\u5efa\u7acb\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u4fe1\u4efb\u5173\u7cfb\u53ca\u7528\u6237\u7684\u6620\u5c04\u5173\u7cfb\u3002

                              \u5b57\u6bb5 \u63cf\u8ff0 \u7c7b\u578b\uff08Vendor\uff09 \u652f\u6301 LDAP (Lightweight Directory Access Protocol) \u548c AD (Active Directory) \u8eab\u4efd\u63d0\u4f9b\u5546\u540d\u79f0\uff08UI display name\uff09 \u7528\u4e8e\u533a\u5206\u4e0d\u540c\u7684\u8eab\u4efd\u63d0\u4f9b\u5546 \u670d\u52a1\u5668\uff08Connection URL\uff09 LDAP \u670d\u52a1\u7684\u5730\u5740\u548c\u7aef\u53e3\u53f7\uff0c\u5982 ldap://10.6.165.2:30061 \u7528\u6237\u540d\u79f0\uff08Bind DN\uff09 LDAP \u7ba1\u7406\u5458\u7684 DN\uff0cKeycloak \u5c06\u4f7f\u7528\u8be5 DN \u6765\u8bbf\u95ee LDAP \u670d\u52a1\u5668 \u5bc6\u7801\uff08Bind credentials\uff09 LDAP \u7ba1\u7406\u5458\u7684\u5bc6\u7801\u3002\u8be5\u5b57\u6bb5\u53ef\u4ee5\u4ece vault \u4e2d\u83b7\u53d6\u5176\u503c\uff0c\u4f7f\u7528 ${vault.ID} \u683c\u5f0f\u3002 \u7528\u6237 DN\uff08Users DN\uff09 \u60a8\u7684\u7528\u6237\u6240\u5728\u7684 LDAP \u6811\u7684\u5b8c\u6574 DN\u3002\u6b64 DN \u662f LDAP \u7528\u6237\u7684\u7236\u7ea7\u3002\u4f8b\u5982\uff0c\u5047\u8bbe\u60a8\u7684\u5178\u578b\u7528\u6237\u7684 DN \u7c7b\u4f3c\u4e8e\u201cuid='john',ou=users,dc=example,dc=com\u201d\uff0c\u5219\u53ef\u4ee5\u662f\u201cou=users,dc=example,dc=com\u201d\u3002 \u7528\u6237\u5bf9\u8c61\u7c7b\uff08User object classes\uff09 LDAP \u4e2d\u7528\u6237\u7684 LDAP objectClass \u5c5e\u6027\u7684\u6240\u6709\u503c\uff0c\u4ee5\u9017\u53f7\u5206\u9694\u3002\u4f8b\u5982\uff1a\u201cinetOrgPerson\uff0corganizationalPerson\u201d\u3002\u65b0\u521b\u5efa\u7684 Keycloak \u7528\u6237\u5c06\u4e0e\u6240\u6709\u8fd9\u4e9b\u5bf9\u8c61\u7c7b\u4e00\u8d77\u5199\u5165 L\u200b\u200bDAP\uff0c\u5e76\u4e14\u53ea\u8981\u73b0\u6709 LDAP \u7528\u6237\u8bb0\u5f55\u5305\u542b\u6240\u6709\u8fd9\u4e9b\u5bf9\u8c61\u7c7b\uff0c\u5c31\u4f1a\u627e\u5230\u5b83\u4eec\u3002 \u662f\u5426\u542f\u7528TLS\uff08Enable StartTLS\uff09 \u542f\u7528\u540e\u5c06\u52a0\u5bc6\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0e LDAP \u7684\u8fde\u63a5 \u9884\u8bbe\u6743\u9650\uff08Default permission\uff09 \u540c\u6b65\u540e\u7684\u7528\u6237/\u7528\u6237\u7ec4\u9ed8\u8ba4\u6ca1\u6709\u4efb\u4f55\u6743\u9650 \u5168\u540d\u6620\u5c04\uff08First/Last name mapping\uff09 \u5bf9\u5e94 First name \u548c Last Name \u7528\u6237\u540d\u6620\u5c04\uff08User name mapping\uff09 \u7528\u6237\u552f\u4e00\u7684\u7528\u6237\u540d \u90ae\u7bb1\u6620\u5c04\uff08Mailbox mapping\uff09 \u7528\u6237\u7684\u90ae\u7bb1

                              \u9ad8\u7ea7\u914d\u7f6e

                              \u5b57\u6bb5 \u63cf\u8ff0 \u662f\u5426\u542f\u7528\uff08Enable or not\uff09 \u9ed8\u8ba4\u542f\u7528\uff0c\u5173\u95ed\u540e\u8be5 LDAP \u914d\u7f6e\u4e0d\u751f\u6548 \u81ea\u52a8\u540c\u6b65\u7528\u6237\uff08Periodic full sync\uff09 \u9ed8\u8ba4\u4e0d\u542f\u7528\uff0c\u542f\u7528\u540e\u53ef\u914d\u7f6e\u540c\u6b65\u5468\u671f\uff0c\u5982\u6bcf\u5c0f\u65f6\u540c\u6b65\u4e00\u6b21 \u6570\u636e\u540c\u6b65\u6a21\u5f0f\uff08Edit mode\uff09 \u53ea\u8bfb\u6a21\u5f0f\u4e0d\u4f1a\u4fee\u6539 LDAP \u7684\u6e90\u6570\u636e\uff1b\u5199\u5165\u6a21\u5f0f\u5728\u5e73\u53f0\u7f16\u8f91\u7528\u6237\u4fe1\u606f\u540e\uff0c\u6570\u636e\u5c06\u540c\u6b65\u56deLDAP \u8bfb\u53d6\u8d85\u65f6\uff08Read timeout\uff09 \u5f53LDAP\u6570\u636e\u91cf\u8f83\u5927\u65f6\uff0c\u8c03\u6574\u8be5\u6570\u503c\u53ef\u4ee5\u6709\u6548\u907f\u514d\u63a5\u53e3\u8d85\u65f6 \u7528\u6237\u5bf9\u8c61\u8fc7\u6ee4\u5668\uff08User LDAP filter\uff09 \u7528\u4e8e\u8fc7\u6ee4\u641c\u7d22\u7528\u6237\u7684\u9644\u52a0 LDAP \u8fc7\u6ee4\u5668\u3002\u5982\u679c\u60a8\u4e0d\u9700\u8981\u989d\u5916\u7684\u8fc7\u6ee4\u5668\uff0c\u8bf7\u5c06\u5176\u7559\u7a7a\u3002\u786e\u4fdd\u5b83\u4ee5\u201c(\u201d\u5f00\u5934\uff0c\u5e76\u4ee5\u201c)\u201d\u7ed3\u5c3e\u3002 \u7528\u6237\u540d\u5c5e\u6027\uff08Username LDAP attribute\uff09 LDAP \u5c5e\u6027\u7684\u540d\u79f0\uff0c\u6620\u5c04\u4e3a Keycloak \u7528\u6237\u540d\u3002\u5bf9\u4e8e\u8bb8\u591a LDAP \u670d\u52a1\u5668\u4f9b\u5e94\u5546\u6765\u8bf4\uff0c\u5b83\u53ef\u4ee5\u662f\u201cuid\u201d\u3002\u5bf9\u4e8e Active Directory\uff0c\u5b83\u53ef\u4ee5\u662f\u201csAMAccountName\u201d\u6216\u201ccn\u201d\u3002\u5e94\u4e3a\u60a8\u60f3\u8981\u4ece LDAP \u5bfc\u5165\u5230 Keycloak \u7684\u6240\u6709 LDAP \u7528\u6237\u8bb0\u5f55\u586b\u5199\u8be5\u5c5e\u6027\u3002 RDN\u5c5e\u6027\uff08RDN LDAP attribute\uff09 LDAP \u5c5e\u6027\u540d\u79f0\uff0c\u4f5c\u4e3a\u5178\u578b\u7528\u6237DN\u7684RDN\uff08\u9876\u7ea7\u5c5e\u6027\uff09\u3002\u901a\u5e38\u5b83\u4e0e\u7528\u6237\u540d LDAP \u5c5e\u6027\u76f8\u540c\uff0c\u4f46\u8fd9\u4e0d\u662f\u5fc5\u9700\u7684\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e Active Directory\uff0c\u5f53\u7528\u6237\u540d\u5c5e\u6027\u53ef\u80fd\u662f\u201csAMAccountName\u201d\u65f6\uff0c\u901a\u5e38\u4f7f\u7528\u201ccn\u201d\u4f5c\u4e3a RDN \u5c5e\u6027\u3002 UUID\u5c5e\u6027\uff08UUID LDAP attribute\uff09 LDAP \u5c5e\u6027\u7684\u540d\u79f0\uff0c\u7528\u4f5c LDAP \u4e2d\u5bf9\u8c61\u7684\u552f\u4e00\u5bf9\u8c61\u6807\u8bc6\u7b26 (UUID)\u3002\u5bf9\u4e8e\u8bb8\u591a LDAP \u670d\u52a1\u5668\u4f9b\u5e94\u5546\u6765\u8bf4\uff0c\u5b83\u662f\u201centryUUID\u201d\uff1b\u7136\u800c\u6709\u4e9b\u662f\u4e0d\u540c\u7684\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e Active Directory\uff0c\u5b83\u5e94\u8be5\u662f\u201cobjectGUID\u201d\u3002\u5982\u679c\u60a8\u7684 LDAP \u670d\u52a1\u5668\u4e0d\u652f\u6301 UUID \u6982\u5ff5\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5728\u6811\u4e2d\u7684 LDAP \u7528\u6237\u4e4b\u95f4\u5e94\u8be5\u552f\u4e00\u7684\u4efb\u4f55\u5176\u4ed6\u5c5e\u6027\u3002\u4f8b\u5982\u201cuid\u201d\u6216\u201centryDN\u201d\u3002
                            4. \u5728 \u540c\u6b65\u7528\u6237\u7ec4 \u9875\u7b7e\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u914d\u7f6e\u7528\u6237\u7ec4\u7684\u6620\u5c04\u5173\u7cfb\u540e\uff0c\u518d\u6b21\u70b9\u51fb \u4fdd\u5b58 \u3002

                              \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u57fa\u51c6 DN \u7528\u6237\u7ec4\u5728 LDAP \u6811\u72b6\u7ed3\u6784\u4e2d\u7684\u4f4d\u7f6e ou=groups,dc=example,dc=org \u7528\u6237\u7ec4\u5bf9\u8c61\u8fc7\u6ee4\u5668 \u7528\u6237\u7ec4\u7684\u5bf9\u8c61\u7c7b\uff0c\u5982\u679c\u9700\u8981\u66f4\u591a\u7c7b\uff0c\u5219\u7528\u9017\u53f7\u5206\u9694\u3002\u5728\u5178\u578b\u7684 LDAP \u90e8\u7f72\u4e2d\uff0c\u901a\u5e38\u662f \u201cgroupOfNames\u201d\uff0c\u7cfb\u7edf\u5df2\u81ea\u52a8\u586b\u5165\uff0c\u5982\u9700\u66f4\u6539\u8bf7\u76f4\u63a5\u7f16\u8f91\u3002* \u8868\u793a\u6240\u6709\u3002 * \u7528\u6237\u7ec4\u540d cn \u4e0d\u53ef\u66f4\u6539

                            Note

                            1. \u5f53\u60a8\u901a\u8fc7 LDAP \u534f\u8bae\u5c06\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5efa\u7acb\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u53ef\u901a\u8fc7\u624b\u52a8\u540c\u6b65\u6216\u81ea\u52a8\u540c\u6b65\u7684\u65b9\u5f0f\uff0c\u5c06\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u7528\u6237\u6216\u7528\u6237\u7ec4\u4e00\u6b21\u6027\u540c\u6b65\u81f3 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u3002
                            2. \u540c\u6b65\u540e\u7ba1\u7406\u5458\u53ef\u5bf9\u7528\u6237\u7ec4/\u7528\u6237\u7ec4\u8fdb\u884c\u6279\u91cf\u6388\u6743\uff0c\u540c\u65f6\u7528\u6237\u53ef\u901a\u8fc7\u5728\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u4e2d\u7684\u8d26\u53f7/\u5bc6\u7801\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002
                            "},{"location":"admin/ghippo/access-control/oauth2.0.html","title":"OAuth 2.0 - \u4f01\u4e1a\u5fae\u4fe1","text":"

                            \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u4e2d\u7684\u6210\u5458\u5747\u7ba1\u7406\u5728\u4f01\u4e1a\u5fae\u4fe1\u4e2d\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e OAuth 2.0 \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c \u800c\u4e0d\u5fc5\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8d44\u6e90\u7684\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/oauth2.0.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb OAuth2.0 \u9875\u7b7e\u3002\u586b\u5199\u8868\u5355\u5b57\u6bb5\uff0c\u5efa\u7acb\u4e0e\u4f01\u4e1a\u5fae\u4fe1\u7684\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

                            "},{"location":"admin/ghippo/access-control/oauth2.0.html#_2","title":"\u4f01\u4e1a\u5fae\u4fe1\u4e2d\u5bf9\u5e94\u7684\u5b57\u6bb5","text":"

                            Note

                            \u5bf9\u63a5\u524d\u9700\u8981\u5728\u4f01\u4e1a\u5fae\u4fe1\u7ba1\u7406\u540e\u53f0\u4e2d\u521b\u5efa\u81ea\u5efa\u5e94\u7528\uff0c\u53c2\u9605\u5982\u4f55\u521b\u5efa\u81ea\u5efa\u5e94\u7528\u94fe\u63a5\u3002

                            \u5b57\u6bb5 \u63cf\u8ff0 \u4f01\u4e1a ID \u4f01\u4e1a\u5fae\u4fe1\u7684 ID Agent ID \u81ea\u5efa\u5e94\u7528\u7684 ID ClientSecret \u81ea\u5efa\u5e94\u7528\u7684 Secret

                            \u4f01\u4e1a\u5fae\u4fe1 ID\uff1a

                            Agent ID \u548c ClientSecret\uff1a

                            "},{"location":"admin/ghippo/access-control/oidc.html","title":"\u521b\u5efa\u548c\u7ba1\u7406 OIDC","text":"

                            OIDC\uff08OpenID Connect\uff09\u662f\u5efa\u7acb\u5728 OAuth 2.0 \u57fa\u7840\u4e0a\u7684\u4e00\u4e2a\u8eab\u4efd\u5c42\uff0c\u662f\u57fa\u4e8e OAuth2 \u534f\u8bae\u7684\u8eab\u4efd\u8ba4\u8bc1\u6807\u51c6\u534f\u8bae\u3002

                            \u5982\u679c\u60a8\u7684\u4f01\u4e1a\u6216\u7ec4\u7ec7\u5df2\u6709\u81ea\u5df1\u7684\u8d26\u53f7\u4f53\u7cfb\uff0c\u540c\u65f6\u60a8\u7684\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u652f\u6301 OIDC \u534f\u8bae\uff0c \u53ef\u4ee5\u4f7f\u7528\u5168\u5c40\u7ba1\u7406\u63d0\u4f9b\u7684\u57fa\u4e8e OIDC \u534f\u8bae\u7684\u8eab\u4efd\u63d0\u4f9b\u5546\u529f\u80fd\uff0c\u800c\u4e0d\u5fc5\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u6bcf\u4e00\u4f4d\u7ec4\u7ec7\u6210\u5458\u521b\u5efa\u7528\u6237\u540d/\u5bc6\u7801\u3002 \u60a8\u53ef\u4ee5\u5411\u8fd9\u4e9b\u5916\u90e8\u7528\u6237\u8eab\u4efd\u6388\u4e88\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8d44\u6e90\u7684\u6743\u9650\u3002

                            \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\u3002

                            1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u8eab\u4efd\u63d0\u4f9b\u5546 \uff0c\u70b9\u51fb OIDC \u9875\u7b7e -> \u521b\u5efa\u8eab\u4efd\u63d0\u4f9b\u5546 \u6309\u94ae\u3002

                            3. \u586b\u5199\u8868\u5355\u5b57\u6bb5\uff0c\u5efa\u7acb\u4e0e\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u4fe1\u4efb\u5173\u7cfb\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              \u5b57\u6bb5 \u63cf\u8ff0 \u63d0\u4f9b\u5546\u540d\u79f0 \u663e\u793a\u5728\u767b\u5f55\u9875\u4e0a\uff0c\u662f\u8eab\u4efd\u63d0\u4f9b\u5546\u7684\u5165\u53e3 \u8ba4\u8bc1\u65b9\u5f0f \u5ba2\u6237\u7aef\u8eab\u4efd\u9a8c\u8bc1\u65b9\u6cd5\u3002\u5982\u679c JWT \u4f7f\u7528\u79c1\u94a5\u7b7e\u540d\uff0c\u8bf7\u4e0b\u62c9\u9009\u62e9 JWT signed with private key \u3002\u5177\u4f53\u53c2\u9605 Client Authentication\u3002 \u5ba2\u6237\u7aef ID \u5ba2\u6237\u7aef\u7684 ID \u5ba2\u6237\u7aef\u5bc6\u94a5 \u5ba2\u6237\u7aef\u5bc6\u7801 \u5ba2\u6237\u7aef URL \u53ef\u901a\u8fc7\u8eab\u4efd\u63d0\u4f9b\u5546 well-known \u63a5\u53e3\u4e00\u952e\u83b7\u53d6\u767b\u5f55 URL\u3001Token URL\u3001\u7528\u6237\u4fe1\u606f URL \u548c\u767b\u51fa URL \u81ea\u52a8\u5173\u8054 \u5f00\u542f\u540e\u5f53\u8eab\u4efd\u63d0\u4f9b\u5546\u7528\u6237\u540d/\u90ae\u7bb1\u4e0e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7528\u6237\u540d/\u90ae\u7bb1\u91cd\u590d\u65f6\u5c06\u81ea\u52a8\u4f7f\u4e8c\u8005\u5173\u8054

                            Note

                            1. \u5f53\u7528\u6237\u901a\u8fc7\u4f01\u4e1a\u7528\u6237\u7ba1\u7406\u7cfb\u7edf\u5b8c\u6210\u7b2c\u4e00\u6b21\u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u540e\uff0c\u7528\u6237\u4fe1\u606f\u624d\u4f1a\u88ab\u540c\u6b65\u81f3\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237\u5217\u8868 \u3002
                            2. \u521d\u6b21\u767b\u5f55\u7684\u7528\u6237\u4e0d\u4f1a\u88ab\u8d4b\u4e88\u4efb\u4f55\u9ed8\u8ba4\u6743\u9650\uff0c\u9700\u8981\u6709\u7ba1\u7406\u5458\u7ed9\u5176\u8d4b\u6743\uff08\u7ba1\u7406\u5458\u53ef\u4ee5\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u3001\u5b50\u6a21\u5757\u7ba1\u7406\u5458\u6216\u8d44\u6e90\u7ba1\u7406\u5458\uff09\u3002
                            3. \u53c2\u8003 Azure OpenID Connect (OIDC) \u63a5\u5165\u6d41\u7a0b\u3002
                            "},{"location":"admin/ghippo/access-control/oidc.html#_1","title":"\u7528\u6237\u8eab\u4efd\u8ba4\u8bc1\u4ea4\u4e92\u6d41\u7a0b","text":"

                            \u7528\u6237\u8eab\u4efd\u8ba4\u8bc1\u7684\u4ea4\u4e92\u6d41\u7a0b\u4e3a\uff1a

                            1. \u4f7f\u7528\u6d4f\u89c8\u5668\u53d1\u8d77\u5355\u70b9\u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u8bf7\u6c42\u3002 1.\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u6839\u636e\u767b\u5f55\u94fe\u63a5\u4e2d\u643a\u5e26\u7684\u4fe1\u606f\uff0c\u67e5\u627e \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u8eab\u4efd\u63d0\u4f9b\u5546 \u4e2d\u5bf9\u5e94\u7684\u914d\u7f6e\u4fe1\u606f\uff0c \u6784\u5efa OIDC \u6388\u6743 Request\uff0c\u53d1\u9001\u7ed9\u6d4f\u89c8\u5668\u3002
                            2. \u6d4f\u89c8\u5668\u6536\u5230\u8bf7\u6c42\u540e\uff0c\u8f6c\u53d1 OIDC \u6388\u6743 Request \u7ed9\u4f01\u4e1a IdP\u3002
                            3. \u5728\u4f01\u4e1a IdP \u7684\u767b\u5f55\u9875\u9762\u4e2d\u8f93\u5165\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u4f01\u4e1a IdP \u5bf9\u63d0\u4f9b\u7684\u8eab\u4efd\u4fe1\u606f\u8fdb\u884c\u9a8c\u8bc1\uff0c\u5e76\u6784\u5efa\u643a\u5e26\u7528\u6237\u4fe1\u606f\u7684 ID Token\uff0c\u5411\u6d4f\u89c8\u5668\u53d1\u9001 OIDC \u6388\u6743 Response\u3002
                            4. \u6d4f\u89c8\u5668\u54cd\u5e94\u540e\u8f6c\u53d1 OIDC \u6388\u6743 Response \u7ed9 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u3002 1.\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4ece OIDC \u6388\u6743 Response \u4e2d\u53d6\u51fa ID Token\uff0c\u5e76\u6839\u636e\u5df2\u914d\u7f6e\u7684\u8eab\u4efd\u8f6c\u6362\u89c4\u5219\u6620\u5c04\u5230\u5177\u4f53\u7684\u7528\u6237\u5217\u8868\uff0c\u9881\u53d1 Token\u3002
                            5. \u5b8c\u6210\u5355\u70b9\u767b\u5f55\uff0c\u8bbf\u95ee \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u3002
                            "},{"location":"admin/ghippo/access-control/role.html","title":"\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406","text":"

                            \u4e00\u4e2a\u89d2\u8272\u5bf9\u5e94\u4e00\u7ec4\u6743\u9650\u3002\u6743\u9650\u51b3\u5b9a\u4e86\u53ef\u4ee5\u5bf9\u8d44\u6e90\u6267\u884c\u7684\u64cd\u4f5c\u3002\u5411\u7528\u6237\u6388\u4e88\u67d0\u89d2\u8272\uff0c\u5373\u6388\u4e88\u8be5\u89d2\u8272\u6240\u5305\u542b\u7684\u6240\u6709\u6743\u9650\u3002

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5b58\u5728\u4e09\u79cd\u89d2\u8272\u8303\u56f4\uff0c\u80fd\u591f\u7075\u6d3b\u3001\u6709\u6548\u5730\u89e3\u51b3\u60a8\u5728\u6743\u9650\u4e0a\u7684\u4f7f\u7528\u95ee\u9898\uff1a

                            • \u5e73\u53f0\u89d2\u8272
                            • \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272
                            • \u6587\u4ef6\u5939\u89d2\u8272
                            "},{"location":"admin/ghippo/access-control/role.html#_2","title":"\u5e73\u53f0\u89d2\u8272","text":"

                            \u5e73\u53f0\u89d2\u8272\u662f\u7c97\u7c92\u5ea6\u6743\u9650\uff0c\u5bf9\u5e73\u53f0\u4e0a\u6240\u6709\u76f8\u5173\u8d44\u6e90\u5177\u6709\u76f8\u5e94\u6743\u9650\u3002\u901a\u8fc7\u5e73\u53f0\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u5bf9\u6240\u6709\u96c6\u7fa4\u3001\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7b49\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\uff0c \u800c\u4e0d\u80fd\u5177\u4f53\u5230\u67d0\u4e00\u4e2a\u96c6\u7fa4\u6216\u67d0\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86 5 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u7684\u5e73\u53f0\u89d2\u8272\uff1a

                            • Admin
                            • Kpanda Owner
                            • Workspace and Folder Owner
                            • IAM Owner
                            • Audit Owner

                            \u540c\u65f6\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u5e73\u53f0\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002 \u5982\u521b\u5efa\u4e00\u4e2a\u5e73\u53f0\u89d2\u8272\uff0c\u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\uff0c\u7531\u4e8e\u5e94\u7528\u5de5\u4f5c\u53f0\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c \u56e0\u6b64\u5e73\u53f0\u4f1a\u5e2e\u52a9\u7528\u6237\u9ed8\u8ba4\u52fe\u9009\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\uff0c\u8bf7\u4e0d\u8981\u624b\u52a8\u53d6\u6d88\u52fe\u9009\u3002 \u82e5\u7528\u6237 A \u88ab\u6388\u4e88\u8be5 Workbench\uff08\u5e94\u7528\u5de5\u4f5c\u53f0\uff09\u89d2\u8272\uff0c\u5c06\u81ea\u52a8\u62e5\u6709\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7b49\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/role.html#_3","title":"\u5e73\u53f0\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

                            \u7ed9\u5e73\u53f0\u89d2\u8272\u6388\u6743\u5171\u6709\u4e09\u79cd\u65b9\u5f0f\uff1a

                            • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237 \u7684\u7528\u6237\u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u7528\u6237\uff0c\u70b9\u51fb ... \uff0c\u9009\u62e9 \u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u5e73\u53f0\u89d2\u8272\u6743\u9650\u3002

                            • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237\u7ec4 \u7684\u7528\u6237\u7ec4\u5217\u8868\u4e2d\u521b\u5efa\u7528\u6237\u7ec4\uff0c\u5c06\u8be5\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4\uff0c\u5e76\u7ed9\u7528\u6237\u7ec4\u6388\u6743 \uff08\u5177\u4f53\u64cd\u4f5c\u4e3a\uff1a\u5728\u7528\u6237\u7ec4\u5217\u8868\u627e\u5230\u8be5\u7528\u6237\u7ec4\uff0c\u70b9\u51fb ... \uff0c\u9009\u62e9 \u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u7ec4\u8d4b\u4e88\u5e73\u53f0\u89d2\u8272\uff09\u3002

                            • \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u89d2\u8272 \u7684\u89d2\u8272\u5217\u8868\u4e2d\uff0c\u627e\u5230\u76f8\u5e94\u7684\u5e73\u53f0\u89d2\u8272\uff0c \u70b9\u51fb\u89d2\u8272\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\uff0c\u70b9\u51fb \u5173\u8054\u6210\u5458 \u6309\u94ae\uff0c\u9009\u4e2d\u8be5\u7528\u6237\u6216\u7528\u6237\u6240\u5728\u7684\u7528\u6237\u7ec4\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"admin/ghippo/access-control/role.html#_4","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272","text":"

                            \u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u662f\u7ec6\u7c92\u5ea6\u89d2\u8272\uff0c\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650\u3001\u67e5\u770b\u6743\u9650\u6216\u8be5\u5de5\u4f5c\u7a7a\u95f4\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u7684\u6743\u9650\u7b49\u3002 \u83b7\u5f97\u8be5\u89d2\u8272\u6743\u9650\u7684\u7528\u6237\u53ea\u80fd\u7ba1\u7406\u8be5\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u65e0\u6cd5\u8bbf\u95ee\u5176\u4ed6\u5de5\u4f5c\u7a7a\u95f4\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86 3 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u7684\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff1a

                            • Workspace Admin
                            • Workspace Editor
                            • Workspace Viewer

                            \u540c\u65f6\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002\u5982\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\uff0c \u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\uff0c\u7531\u4e8e\u5e94\u7528\u5de5\u4f5c\u53f0\u4f9d\u8d56\u4e8e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u5e73\u53f0\u4f1a\u5e2e\u52a9\u7528\u6237\u9ed8\u8ba4\u52fe\u9009\u5de5\u4f5c\u7a7a\u95f4\u7684\u67e5\u770b\u6743\u9650\uff0c \u8bf7\u4e0d\u8981\u624b\u52a8\u53d6\u6d88\u52fe\u9009\u3002\u82e5\u7528\u6237 A \u5728\u5de5\u4f5c\u7a7a\u95f4 01 \u4e2d\u88ab\u6388\u4e88\u8be5\u89d2\u8272\uff0c\u5c06\u62e5\u6709\u5de5\u4f5c\u7a7a\u95f4 01 \u4e0b\u7684\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\u3002

                            Note

                            \u4e0e\u5e73\u53f0\u89d2\u8272\u4e0d\u540c\uff0c\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u88ab\u521b\u5efa\u540e\u9700\u8981\u524d\u5f80\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u88ab\u6388\u6743\u540e\u7528\u6237\u4ec5\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u62e5\u6709\u8be5\u89d2\u8272\u4e2d\u7684\u529f\u80fd\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/role.html#_5","title":"\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

                            \u5728 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u5de5\u4f5c\u7a7a\u95f4\uff0c\u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/role.html#_6","title":"\u6587\u4ef6\u5939\u89d2\u8272","text":"

                            \u6587\u4ef6\u5939\u89d2\u8272\u7684\u6743\u9650\u7c92\u5ea6\u4ecb\u4e8e\u5e73\u53f0\u89d2\u8272\u4e0e\u5de5\u4f5c\u7a7a\u95f4\u89d2\u8272\u4e4b\u95f4\uff0c\u901a\u8fc7\u6587\u4ef6\u5939\u89d2\u8272\u53ef\u4ee5\u8d4b\u4e88\u7528\u6237\u67d0\u4e2a\u6587\u4ef6\u5939\u53ca\u5176\u5b50\u6587\u4ef6\u5939\u548c\u8be5\u6587\u4ef6\u5939\u4e0b\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u6743\u9650\u3001\u67e5\u770b\u6743\u9650\u7b49\uff0c \u5e38\u9002\u7528\u4e8e\u4f01\u4e1a\u4e2d\u7684\u90e8\u95e8\u573a\u666f\u3002\u6bd4\u5982\u7528\u6237 B \u662f\u4e00\u7ea7\u90e8\u95e8\u7684 Leader\uff0c\u901a\u5e38\u7528\u6237 B \u80fd\u591f\u7ba1\u7406\u8be5\u4e00\u7ea7\u90e8\u95e8\u3001\u5176\u4e0b\u7684\u6240\u6709\u4e8c\u7ea7\u90e8\u95e8\u548c\u90e8\u95e8\u4e2d\u7684\u9879\u76ee\u7b49\uff0c \u5728\u6b64\u573a\u666f\u4e2d\u7ed9\u7528\u6237 B \u6388\u4e88\u4e00\u7ea7\u6587\u4ef6\u5939\u7684\u7ba1\u7406\u5458\u6743\u9650\uff0c\u7528\u6237 B \u4e5f\u5c06\u62e5\u6709\u5176\u4e0b\u7684\u4e8c\u7ea7\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u7684\u76f8\u5e94\u6743\u9650\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86 3 \u4e2a\u9884\u7f6e\u7684\u3001\u7528\u6237\u53ef\u76f4\u63a5\u4f7f\u7528\u6587\u4ef6\u5939\u89d2\u8272\uff1a

                            • Folder Admin
                            • Folder Editor
                            • Folder Viewer

                            \u540c\u65f6\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8fd8\u652f\u6301\u7528\u6237\u521b\u5efa\u81ea\u5b9a\u4e49\u6587\u4ef6\u5939\u89d2\u8272\uff0c\u53ef\u6839\u636e\u9700\u8981\u81ea\u5b9a\u4e49\u89d2\u8272\u5185\u5bb9\u3002 \u5982\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u89d2\u8272\uff0c\u5305\u542b\u5e94\u7528\u5de5\u4f5c\u53f0\u7684\u6240\u6709\u529f\u80fd\u6743\u9650\u3002\u82e5\u7528\u6237 A \u5728\u6587\u4ef6\u5939 01 \u4e2d\u88ab\u6388\u4e88\u8be5\u89d2\u8272\uff0c \u5c06\u62e5\u6709\u8be5\u6587\u4ef6\u5939\u4e0b\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5e94\u7528\u5de5\u4f5c\u53f0\u76f8\u5173\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u6743\u9650\u3002

                            Note

                            \u529f\u80fd\u6a21\u5757\u672c\u8eab\u4f9d\u8d56\u7684\u662f\u5de5\u4f5c\u7a7a\u95f4\uff0c\u6587\u4ef6\u5939\u662f\u5de5\u4f5c\u7a7a\u95f4\u4e0a\u7684\u8fdb\u4e00\u6b65\u5206\u7ec4\u673a\u5236\u4e14\u5177\u6709\u6743\u9650\u7ee7\u627f\u80fd\u529b\uff0c \u56e0\u6b64\u6587\u4ef6\u5939\u6743\u9650\u4e0d\u5149\u5305\u542b\u6587\u4ef6\u5939\u672c\u8eab\uff0c\u8fd8\u5305\u62ec\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u3002

                            "},{"location":"admin/ghippo/access-control/role.html#_7","title":"\u6587\u4ef6\u5939\u89d2\u8272\u6388\u6743\u65b9\u5f0f","text":"

                            \u5728 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u5217\u8868\u4e2d\uff0c\u627e\u5230\u8be5\u6587\u4ef6\u5939\uff0c\u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \uff0c\u4e3a\u8be5\u7528\u6237\u8d4b\u4e88\u6587\u4ef6\u5939\u89d2\u8272\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/access-control/user.html","title":"\u7528\u6237","text":"

                            \u7528\u6237\u6307\u7684\u662f\u7531\u5e73\u53f0\u7ba1\u7406\u5458 admin \u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u7528\u6237 \u9875\u9762\u521b\u5efa\u7684\u7528\u6237\uff0c\u6216\u8005\u901a\u8fc7 LDAP / OIDC \u5bf9\u63a5\u8fc7\u6765\u7684\u7528\u6237\u3002 \u7528\u6237\u540d\u4ee3\u8868\u8d26\u53f7\uff0c\u7528\u6237\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u3002

                            \u62e5\u6709\u4e00\u4e2a\u7528\u6237\u8d26\u53f7\u662f\u7528\u6237\u8bbf\u95ee\u5e73\u53f0\u7684\u524d\u63d0\u3002\u65b0\u5efa\u7684\u7528\u6237\u9ed8\u8ba4\u6ca1\u6709\u4efb\u4f55\u6743\u9650\uff0c\u4f8b\u5982\u60a8\u9700\u8981\u7ed9\u7528\u6237\u8d4b\u4e88\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\uff0c\u6bd4\u5982\u5728 \u7528\u6237\u5217\u8868 \u6216 \u7528\u6237\u8be6\u60c5 \u6388\u4e88\u5b50\u6a21\u5757\u7684\u7ba1\u7406\u5458\u6743\u9650\u3002 \u5b50\u6a21\u5757\u7ba1\u7406\u5458\u62e5\u6709\u8be5\u5b50\u6a21\u5757\u7684\u6700\u9ad8\u6743\u9650\uff0c\u80fd\u591f\u521b\u5efa\u3001\u7ba1\u7406\u3001\u5220\u9664\u8be5\u6a21\u5757\u7684\u6240\u6709\u8d44\u6e90\u3002 \u5982\u679c\u7528\u6237\u9700\u8981\u88ab\u6388\u4e88\u5177\u4f53\u8d44\u6e90\u7684\u6743\u9650\uff0c\u6bd4\u5982\u67d0\u4e2a\u8d44\u6e90\u7684\u4f7f\u7528\u6743\u9650\uff0c\u8bf7\u67e5\u770b\u8d44\u6e90\u6388\u6743\u8bf4\u660e\u3002

                            \u672c\u9875\u4ecb\u7ecd\u7528\u6237\u7684\u521b\u5efa\u3001\u6388\u6743\u3001\u7981\u7528\u3001\u542f\u7528\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                            "},{"location":"admin/ghippo/access-control/user.html#_2","title":"\u521b\u5efa\u7528\u6237","text":"

                            \u524d\u63d0\uff1a\u62e5\u6709\u5e73\u53f0\u7ba1\u7406\u5458 Admin \u6743\u9650\u6216\u8005\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u7ba1\u7406\u5458 IAM Owner \u6743\u9650\u3002

                            1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u521b\u5efa\u7528\u6237 \u3002

                            2. \u5728 \u521b\u5efa\u7528\u6237 \u9875\u9762\u586b\u5199\u7528\u6237\u540d\u548c\u767b\u5f55\u5bc6\u7801\u3002\u5982\u9700\u4e00\u6b21\u6027\u521b\u5efa\u591a\u4e2a\u7528\u6237\uff0c\u53ef\u4ee5\u70b9\u51fb \u521b\u5efa\u7528\u6237 \u540e\u8fdb\u884c\u6279\u91cf\u521b\u5efa\uff0c\u4e00\u6b21\u6027\u6700\u591a\u521b\u5efa 5 \u4e2a\u7528\u6237\u3002\u6839\u636e\u60a8\u7684\u5b9e\u9645\u60c5\u51b5\u786e\u5b9a\u662f\u5426\u8bbe\u7f6e\u7528\u6237\u5728\u9996\u6b21\u767b\u5f55\u65f6\u91cd\u7f6e\u5bc6\u7801\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \uff0c\u521b\u5efa\u7528\u6237\u6210\u529f\uff0c\u8fd4\u56de\u7528\u6237\u5217\u8868\u9875\u3002

                            Note

                            \u6b64\u5904\u8bbe\u7f6e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u5c06\u7528\u4e8e\u767b\u5f55\u5e73\u53f0\u3002

                            "},{"location":"admin/ghippo/access-control/user.html#grant-admin-permissions","title":"\u4e3a\u7528\u6237\u6388\u4e88\u5b50\u6a21\u5757\u7ba1\u7406\u5458\u6743\u9650","text":"

                            \u524d\u63d0\uff1a\u8be5\u7528\u6237\u5df2\u5b58\u5728\u3002

                            1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u6388\u6743 \u3002

                            2. \u5728 \u6388\u6743 \u9875\u9762\u52fe\u9009\u9700\u8981\u7684\u89d2\u8272\u6743\u9650\uff08\u53ef\u591a\u9009\uff09\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u4e3a\u7528\u6237\u7684\u6388\u6743\u3002

                            Note

                            \u5728\u7528\u6237\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u67d0\u4e2a\u7528\u6237\uff0c\u53ef\u4ee5\u8fdb\u5165\u7528\u6237\u8be6\u60c5\u9875\u9762\u3002

                            "},{"location":"admin/ghippo/access-control/user.html#_3","title":"\u5c06\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4","text":"
                            1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u52a0\u5165\u7528\u6237\u7ec4 \u3002

                            2. \u5728 \u52a0\u5165\u7528\u6237\u7ec4 \u9875\u9762\u52fe\u9009\u9700\u8981\u52a0\u5165\u7684\u7528\u6237\u7ec4\uff08\u53ef\u591a\u9009\uff09\u3002\u82e5\u6ca1\u6709\u53ef\u9009\u7684\u7528\u6237\u7ec4\uff0c\u70b9\u51fb \u521b\u5efa\u7528\u6237\u7ec4 \u521b\u5efa\u7528\u6237\u7ec4\uff0c\u518d\u8fd4\u56de\u8be5\u9875\u9762\u70b9\u51fb \u5237\u65b0 \u6309\u94ae\uff0c\u663e\u793a\u521a\u521b\u5efa\u7684\u7528\u6237\u7ec4\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \u5c06\u7528\u6237\u52a0\u5165\u7528\u6237\u7ec4\u3002

                            Note

                            \u7528\u6237\u4f1a\u7ee7\u627f\u7528\u6237\u7ec4\u7684\u6743\u9650\uff0c\u53ef\u4ee5\u5728 \u7528\u6237\u8be6\u60c5 \u4e2d\u67e5\u770b\u8be5\u7528\u6237\u5df2\u52a0\u5165\u7684\u7528\u6237\u7ec4\u3002

                            "},{"location":"admin/ghippo/access-control/user.html#_4","title":"\u542f\u7528/\u7981\u7528\u7528\u6237","text":"

                            \u7981\u7528\u7528\u6237\u540e\uff0c\u8be5\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u8bbf\u95ee\u5e73\u53f0\u3002\u4e0e\u5220\u9664\u7528\u6237\u4e0d\u540c\uff0c\u7981\u7528\u7684\u7528\u6237\u53ef\u4ee5\u6839\u636e\u9700\u8981\u518d\u6b21\u542f\u7528\uff0c\u5efa\u8bae\u5220\u9664\u7528\u6237\u524d\u5148\u7981\u7528\uff0c\u4ee5\u786e\u4fdd\u6ca1\u6709\u5173\u952e\u670d\u52a1\u5728\u4f7f\u7528\u8be5\u7528\u6237\u521b\u5efa\u7684\u5bc6\u94a5\u3002

                            1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb\u4e00\u4e2a\u7528\u6237\u540d\u8fdb\u5165\u7528\u6237\u8be6\u60c5\u3002

                            2. \u70b9\u51fb\u53f3\u4e0a\u65b9\u7684 \u7f16\u8f91 \uff0c\u5173\u95ed\u72b6\u6001\u6309\u94ae\uff0c\u4f7f\u6309\u94ae\u7f6e\u7070\u4e14\u5904\u4e8e\u672a\u542f\u7528\u72b6\u6001\u3002

                            3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u7981\u7528\u7528\u6237\u7684\u64cd\u4f5c\u3002

                            "},{"location":"admin/ghippo/access-control/user.html#_5","title":"\u5fd8\u8bb0\u5bc6\u7801","text":"

                            \u524d\u63d0\uff1a\u9700\u8981\u8bbe\u7f6e\u7528\u6237\u90ae\u7bb1\uff0c\u6709\u4e24\u79cd\u65b9\u5f0f\u53ef\u4ee5\u8bbe\u7f6e\u7528\u6237\u90ae\u7bb1\u3002

                            • \u7ba1\u7406\u5458\u5728\u8be5\u7528\u6237\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u7f16\u8f91 \uff0c\u5728\u5f39\u51fa\u6846\u8f93\u5165\u7528\u6237\u90ae\u7bb1\u5730\u5740\uff0c\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u90ae\u7bb1\u8bbe\u7f6e\u3002

                            • \u7528\u6237\u8fd8\u53ef\u4ee5\u8fdb\u5165 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u5728 \u5b89\u5168\u8bbe\u7f6e \u9875\u9762\u8bbe\u7f6e\u90ae\u7bb1\u5730\u5740\u3002

                            \u5982\u679c\u7528\u6237\u767b\u5f55\u65f6\u5fd8\u8bb0\u5bc6\u7801\uff0c\u8bf7\u53c2\u8003\u91cd\u7f6e\u5bc6\u7801\u3002

                            "},{"location":"admin/ghippo/access-control/user.html#_6","title":"\u5220\u9664\u7528\u6237","text":"

                            Warning

                            \u5220\u9664\u7528\u6237\u540e\uff0c\u8be5\u7528\u6237\u5c06\u65e0\u6cd5\u518d\u901a\u8fc7\u4efb\u4f55\u65b9\u5f0f\u8bbf\u95ee\u5e73\u53f0\u8d44\u6e90\uff0c\u8bf7\u8c28\u614e\u5220\u9664\u3002 \u5728\u5220\u9664\u7528\u6237\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5173\u952e\u7a0b\u5e8f\u4e0d\u518d\u4f7f\u7528\u8be5\u7528\u6237\u521b\u5efa\u7684\u5bc6\u94a5\u3002 \u5982\u679c\u60a8\u4e0d\u786e\u5b9a\uff0c\u5efa\u8bae\u5728\u5220\u9664\u524d\u5148\u7981\u7528\u8be5\u7528\u6237\u3002 \u5982\u679c\u60a8\u5220\u9664\u4e86\u4e00\u4e2a\u7528\u6237\uff0c\u7136\u540e\u518d\u521b\u5efa\u4e00\u4e2a\u540c\u540d\u7684\u65b0\u7528\u6237\uff0c\u5219\u65b0\u7528\u6237\u5c06\u88ab\u89c6\u4e3a\u4e00\u4e2a\u65b0\u7684\u72ec\u7acb\u8eab\u4efd\uff0c\u5b83\u4e0d\u4f1a\u7ee7\u627f\u5df2\u5220\u9664\u7528\u6237\u7684\u89d2\u8272\u3002

                            1. \u7ba1\u7406\u5458\u8fdb\u5165 \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \uff0c\u9009\u62e9 \u7528\u6237 \uff0c\u8fdb\u5165\u7528\u6237\u5217\u8868\uff0c\u70b9\u51fb \u2507 -> \u5220\u9664 \u3002

                            2. \u70b9\u51fb \u79fb\u9664 \u5b8c\u6210\u5220\u9664\u7528\u6237\u7684\u64cd\u4f5c\u3002

                            "},{"location":"admin/ghippo/access-control/webhook.html","title":"Webhook \u6d88\u606f\u901a\u77e5","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5728\u63a5\u5165\u5ba2\u6237\u7684\u7cfb\u7edf\u540e\uff0c\u53ef\u4ee5\u521b\u5efa Webhook\uff0c\u5728\u7528\u6237\u521b\u5efa/\u66f4\u65b0/\u5220\u9664/\u767b\u5f55/\u767b\u51fa\u4e4b\u65f6\u53d1\u9001\u6d88\u606f\u901a\u77e5\u3002

                            Webhook \u662f\u4e00\u79cd\u7528\u4e8e\u5b9e\u73b0\u5b9e\u65f6\u4e8b\u4ef6\u901a\u77e5\u7684\u673a\u5236\u3002\u5b83\u5141\u8bb8\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u5c06\u6570\u636e\u6216\u4e8b\u4ef6\u63a8\u9001\u5230\u53e6\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c \u800c\u65e0\u9700\u8f6e\u8be2\u6216\u6301\u7eed\u67e5\u8be2\u3002\u901a\u8fc7\u914d\u7f6e Webhook\uff0c\u60a8\u53ef\u4ee5\u6307\u5b9a\u5728\u67d0\u4e2a\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u7531\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u63a5\u6536\u5e76\u5904\u7406\u901a\u77e5\u3002

                            Webhook \u7684\u5de5\u4f5c\u539f\u7406\u5982\u4e0b\uff1a

                            1. \u6e90\u5e94\u7528\u7a0b\u5e8f\uff08\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\uff09\u6267\u884c\u67d0\u4e2a\u7279\u5b9a\u64cd\u4f5c\u6216\u4e8b\u4ef6\u3002
                            2. \u6e90\u5e94\u7528\u7a0b\u5e8f\u5c06\u76f8\u5173\u6570\u636e\u548c\u4fe1\u606f\u6253\u5305\u6210 HTTP \u8bf7\u6c42\uff0c\u5e76\u5c06\u5176\u53d1\u9001\u5230\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u6307\u5b9a\u7684 URL\uff08\u4f8b\u5982\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\uff09\u3002
                            3. \u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u63a5\u6536\u5230\u8bf7\u6c42\u540e\uff0c\u6839\u636e\u5176\u4e2d\u7684\u6570\u636e\u548c\u4fe1\u606f\u8fdb\u884c\u76f8\u5e94\u7684\u5904\u7406\u3002

                            \u901a\u8fc7\u4f7f\u7528 Webhook\uff0c\u60a8\u53ef\u4ee5\u5b9e\u73b0\u4ee5\u4e0b\u529f\u80fd\uff1a

                            • \u5b9e\u65f6\u901a\u77e5\uff1a\u5f53\u67d0\u4e2a\u7279\u5b9a\u4e8b\u4ef6\u53d1\u751f\u65f6\uff0c\u901a\u8fc7 Webhook \u53ca\u65f6\u901a\u77e5\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002
                            • \u81ea\u52a8\u5316\u5904\u7406\uff1a\u76ee\u6807\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u6839\u636e\u6536\u5230\u7684 Webhook \u8bf7\u6c42\u81ea\u52a8\u89e6\u53d1\u4e8b\u5148\u5b9a\u4e49\u597d\u7684\u64cd\u4f5c\uff0c\u65e0\u9700\u624b\u52a8\u5e72\u9884\u3002
                            • \u6570\u636e\u540c\u6b65\uff1a\u901a\u8fc7 Webhook \u5c06\u6570\u636e\u4ece\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u4f20\u9012\u5230\u53e6\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c\u5b9e\u73b0\u6570\u636e\u7684\u540c\u6b65\u66f4\u65b0\u3002

                            \u5e38\u89c1\u7684\u5e94\u7528\u573a\u666f\u5305\u62ec\uff1a

                            • \u7248\u672c\u63a7\u5236\u7cfb\u7edf\uff08\u4f8b\u5982 GitHub\u3001GitLab\uff09\u4e2d\uff0c\u5f53\u4ee3\u7801\u4ed3\u5e93\u53d1\u751f\u53d8\u52a8\u65f6\uff0c\u81ea\u52a8\u89e6\u53d1\u6784\u5efa\u548c\u90e8\u7f72\u64cd\u4f5c\u3002
                            • \u7535\u5b50\u5546\u52a1\u5e73\u53f0\u4e2d\uff0c\u5f53\u8ba2\u5355\u72b6\u6001\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u5411\u7269\u6d41\u7cfb\u7edf\u53d1\u9001\u66f4\u65b0\u901a\u77e5\u3002
                            • \u804a\u5929\u673a\u5668\u4eba\u5e73\u53f0\u4e2d\uff0c\u5f53\u63a5\u6536\u5230\u7528\u6237\u6d88\u606f\u65f6\uff0c\u901a\u8fc7 Webhook \u5c06\u6d88\u606f\u63a8\u9001\u5230\u76ee\u6807\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\u3002
                            "},{"location":"admin/ghippo/access-control/webhook.html#_1","title":"\u914d\u7f6e\u6b65\u9aa4","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u56fe\u5f62\u5316\u914d\u7f6e Webhook \u7684\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                            1. \u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 -> \u63a5\u5165\u7ba1\u7406 \uff0c\u521b\u5efa\u4e00\u4e2a\u5ba2\u6237\u7aef ID\u3002

                            2. \u70b9\u51fb\u67d0\u4e2a\u5ba2\u6237\u7aef ID\uff0c\u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u70b9\u51fb \u521b\u5efa Webhook \u6309\u94ae\u3002

                            3. \u5728\u5f39\u7a97\u4e2d\u586b\u5165\u5b57\u6bb5\u4fe1\u606f\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                              • \u5bf9\u8c61\uff1a\u76ee\u524d\u4ec5\u652f\u6301 \u7528\u6237 \u5bf9\u8c61
                              • \u884c\u4e3a\uff1a\u7528\u6237\u521b\u5efa/\u66f4\u65b0/\u5220\u9664/\u767b\u5f55/\u767b\u5f55\u65f6\u53d1\u9001 Webhook \u6d88\u606f
                              • URL\uff1a\u63a5\u6536\u6d88\u606f\u7684\u5730\u5740
                              • Method\uff1a\u89c6\u60c5\u51b5\u9009\u62e9\u9002\u7528\u7684\u65b9\u6cd5\uff0c\u4f8b\u5982\u4f01\u4e1a\u5fae\u4fe1\u63a8\u8350\u4f7f\u7528 POST \u65b9\u6cd5
                              • \u9ad8\u7ea7\u914d\u7f6e\uff1a\u53ef\u4ee5\u7528 Json \u7f16\u5199\u6d88\u606f\u4f53\u3002\u5982\u679c\u662f\u4f01\u4e1a\u5fae\u4fe1\u7fa4\uff0c\u8bf7\u53c2\u9605\u7fa4\u673a\u5668\u4eba\u914d\u7f6e\u8bf4\u660e

                            4. \u5c4f\u5e55\u63d0\u793a Webhook \u521b\u5efa\u6210\u529f\u3002

                            5. \u73b0\u5728\u53bb\u8bd5\u7740\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u3002

                            6. \u7528\u6237\u521b\u5efa\u6210\u529f\uff0c\u53ef\u4ee5\u770b\u5230\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u6536\u5230\u4e86\u4e00\u6761\u6d88\u606f\u3002

                            "},{"location":"admin/ghippo/access-control/webhook.html#_2","title":"\u9ad8\u7ea7\u914d\u7f6e\u793a\u4f8b","text":"

                            \u7cfb\u7edf\u9ed8\u8ba4\u7684\u6d88\u606f\u4f53

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u5148\u5b9a\u4e49\u4e86\u4e00\u4e9b\u53d8\u91cf\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u60c5\u51b5\u5728\u6d88\u606f\u4f53\u4e2d\u4f7f\u7528\u8fd9\u4e9b\u53d8\u91cf\u3002

                            {\n  \"id\": \"{{$$.ID$$}}\",\n  \"email\": \"{{$$.Email$$}}\",\n  \"username\": \"{{$$.Name$$}}\",\n  \"last_name\": \"{{$$.LastName$$}}\",\n  \"first_name\": \"{{$$.FirstName$$}}\",\n  \"created_at\": \"{{$$.CreatedAt$$}}\",\n  \"enabled\": \"{{$$.Enabled$$}}\"\n}\n

                            \u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\u7684 Message Body

                            {\n    \"msgtype\": \"text\",\n    \"text\": {\n      \"content\": \"{{$$.Name$$}} hello world\"\n    }\n}\n
                            "},{"location":"admin/ghippo/access-control/webhook.html#_3","title":"\u53c2\u8003\u6587\u6863","text":"
                            • OEM OUT \u6587\u6863
                            • OEM IN \u6587\u6863
                            "},{"location":"admin/ghippo/audit/audit-log.html","title":"\u5ba1\u8ba1\u65e5\u5fd7","text":"

                            \u5ba1\u8ba1\u65e5\u5fd7\u5e2e\u52a9\u60a8\u76d1\u63a7\u5e76\u8bb0\u5f55\u6bcf\u4e2a\u7528\u6237\u7684\u6d3b\u52a8\uff0c\u63d0\u4f9b\u4e86\u4e0e\u5b89\u5168\u76f8\u5173\u7684\u3001\u6309\u65f6\u95f4\u987a\u5e8f\u6392\u5217\u7684\u8bb0\u5f55\u7684\u6536\u96c6\u3001\u5b58\u50a8\u548c\u67e5\u8be2\u529f\u80fd\u3002 \u501f\u52a9\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u6301\u7eed\u76d1\u63a7\u5e76\u4fdd\u7559\u7528\u6237\u5728\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u7684\u4f7f\u7528\u884c\u4e3a\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u521b\u5efa\u7528\u6237\u3001\u7528\u6237\u767b\u5f55/\u767b\u51fa\u3001\u7528\u6237\u6388\u6743\u4ee5\u53ca\u4e0e Kubernetes \u76f8\u5173\u7684\u7528\u6237\u64cd\u4f5c\u884c\u4e3a\u3002

                            "},{"location":"admin/ghippo/audit/audit-log.html#_2","title":"\u529f\u80fd\u7279\u6027","text":"

                            \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u5177\u6709\u4ee5\u4e0b\u7279\u70b9\uff1a

                            • \u5f00\u7bb1\u5373\u7528\uff1a\u5728\u5b89\u88c5\u4f7f\u7528\u8be5\u5e73\u53f0\u65f6\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u5c06\u4f1a\u88ab\u9ed8\u8ba4\u542f\u7528\uff0c\u81ea\u52a8\u8bb0\u5f55\u4e0e\u7528\u6237\u76f8\u5173\u7684\u5404\u79cd\u884c\u4e3a\uff0c \u5982\u521b\u5efa\u7528\u6237\u3001\u6388\u6743\u3001\u767b\u5f55/\u767b\u51fa\u7b49\u3002\u9ed8\u8ba4\u53ef\u4ee5\u5728\u5e73\u53f0\u5185\u67e5\u770b 365 \u5929\u7684\u7528\u6237\u884c\u4e3a\u3002
                            • \u5b89\u5168\u5206\u6790\uff1a\u5ba1\u8ba1\u65e5\u5fd7\u4f1a\u5bf9\u7528\u6237\u64cd\u4f5c\u8fdb\u884c\u8be6\u7ec6\u7684\u8bb0\u5f55\u5e76\u63d0\u4f9b\u5bfc\u51fa\u529f\u80fd\uff0c\u901a\u8fc7\u8fd9\u4e9b\u4e8b\u4ef6\u60a8\u53ef\u4ee5\u5224\u65ad\u8d26\u53f7\u662f\u5426\u5b58\u5728\u98ce\u9669\u3002
                            • \u5b9e\u65f6\u8bb0\u5f55\uff1a\u8fc5\u901f\u6536\u96c6\u64cd\u4f5c\u4e8b\u4ef6\uff0c\u7528\u6237\u64cd\u4f5c\u540e\u53ef\u5728\u5ba1\u8ba1\u65e5\u5fd7\u5217\u8868\u8fdb\u884c\u8ffd\u6eaf\uff0c\u968f\u65f6\u53d1\u73b0\u53ef\u7591\u884c\u4e3a\u3002
                            • \u65b9\u4fbf\u53ef\u9760\uff1a\u5ba1\u8ba1\u65e5\u5fd7\u652f\u6301\u624b\u52a8\u6e05\u7406\u548c\u81ea\u52a8\u6e05\u7406\u4e24\u79cd\u65b9\u5f0f\uff0c\u53ef\u6839\u636e\u60a8\u7684\u5b58\u50a8\u5927\u5c0f\u914d\u7f6e\u6e05\u7406\u7b56\u7565\u3002
                            "},{"location":"admin/ghippo/audit/audit-log.html#_3","title":"\u67e5\u770b\u5ba1\u8ba1\u65e5\u5fd7","text":"
                            1. \u4f7f\u7528\u5177\u6709 admin \u6216 Audit Owner \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002

                            2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\uff0c\u70b9\u51fb \u5168\u5c40\u7ba1\u7406 -> \u5ba1\u8ba1\u65e5\u5fd7 \u3002

                            "},{"location":"admin/ghippo/audit/audit-log.html#_4","title":"\u7528\u6237\u64cd\u4f5c","text":"

                            \u5728 \u7528\u6237\u64cd\u4f5c \u9875\u7b7e\u4e2d\uff0c\u53ef\u4ee5\u6309\u65f6\u95f4\u8303\u56f4\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6a21\u7cca\u641c\u7d22\u3001\u7cbe\u786e\u641c\u7d22\u6765\u67e5\u627e\u7528\u6237\u64cd\u4f5c\u4e8b\u4ef6\u3002

                            \u70b9\u51fb\u67d0\u4e2a\u4e8b\u4ef6\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u4e8b\u4ef6\u8be6\u60c5\u3002

                            \u4e8b\u4ef6\u8be6\u60c5\u5982\u4e0b\u56fe\u6240\u793a\u3002

                            \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u5bfc\u51fa \u6309\u94ae\uff0c\u53ef\u4ee5\u6309 CSV \u548c Excel \u683c\u5f0f\u5bfc\u51fa\u5f53\u524d\u6240\u9009\u65f6\u95f4\u8303\u56f4\u5185\u7684\u7528\u6237\u64cd\u4f5c\u65e5\u5fd7\u3002

                            "},{"location":"admin/ghippo/audit/audit-log.html#_5","title":"\u7cfb\u7edf\u64cd\u4f5c","text":"

                            \u5728 \u7cfb\u7edf\u64cd\u4f5c \u9875\u7b7e\u4e2d\uff0c\u53ef\u4ee5\u6309\u65f6\u95f4\u8303\u56f4\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6a21\u7cca\u641c\u7d22\u3001\u7cbe\u786e\u641c\u7d22\u6765\u67e5\u627e\u7cfb\u7edf\u64cd\u4f5c\u4e8b\u4ef6\u3002

                            \u540c\u6837\u70b9\u51fb\u67d0\u4e2a\u4e8b\u4ef6\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u67e5\u770b\u4e8b\u4ef6\u8be6\u60c5\u3002

                            \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u5bfc\u51fa \u6309\u94ae\uff0c\u53ef\u4ee5\u6309 CSV \u548c Excel \u683c\u5f0f\u5bfc\u51fa\u5f53\u524d\u6240\u9009\u65f6\u95f4\u8303\u56f4\u5185\u7684\u7cfb\u7edf\u64cd\u4f5c\u65e5\u5fd7\u3002

                            "},{"location":"admin/ghippo/audit/audit-log.html#_6","title":"\u8bbe\u7f6e","text":"

                            \u5728 \u8bbe\u7f6e \u9875\u7b7e\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6e05\u7406\u7528\u6237\u64cd\u4f5c\u548c\u7cfb\u7edf\u64cd\u4f5c\u7684\u5ba1\u8ba1\u65e5\u5fd7\u3002

                            \u53ef\u4ee5\u624b\u52a8\u6e05\u7406\uff0c\u5efa\u8bae\u6e05\u7406\u524d\u5148\u5bfc\u51fa\u5e76\u4fdd\u5b58\u3002\u4e5f\u53ef\u4ee5\u8bbe\u7f6e\u65e5\u5fd7\u7684\u6700\u957f\u4fdd\u5b58\u65f6\u95f4\u5b9e\u73b0\u81ea\u52a8\u6e05\u7406\u3002

                            Note

                            \u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u4e0e Kubernetes \u76f8\u5173\u7684\u65e5\u5fd7\u8bb0\u5f55\u7531\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u63d0\u4f9b\uff0c\u4e3a\u51cf\u8f7b\u5ba1\u8ba1\u65e5\u5fd7\u7684\u5b58\u50a8\u538b\u529b\uff0c\u5168\u5c40\u7ba1\u7406\u9ed8\u8ba4\u4e0d\u91c7\u96c6 Kubernetes \u76f8\u5173\u65e5\u5fd7\u3002 \u5982\u9700\u8bb0\u5f55\u8bf7\u53c2\u9605\u5f00\u542f K8s \u5ba1\u8ba1\u65e5\u5fd7\u3002\u5f00\u542f\u540e\u7684\u6e05\u7406\u529f\u80fd\u4e0e\u5168\u5c40\u7ba1\u7406\u7684\u6e05\u7406\u529f\u80fd\u4e00\u81f4\uff0c\u4f46\u4e92\u4e0d\u5f71\u54cd\u3002

                            "},{"location":"admin/ghippo/audit/open-audit.html","title":"\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"
                            • \u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\uff1aK8s \u672c\u8eab\u751f\u6210\u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u5f00\u542f\u8be5\u529f\u80fd\u540e\uff0c\u4f1a\u5728\u6307\u5b9a\u76ee\u5f55\u4e0b\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\u7684\u65e5\u5fd7\u6587\u4ef6
                            • \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\uff1a\u901a\u8fc7 insight-agent \u91c7\u96c6\u4e0a\u8ff0 \u2018K8s \u5ba1\u8ba1\u65e5\u5fd7\u2019\u7684\u65e5\u5fd7\u6587\u4ef6\uff0c\u2019\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u2018 \u7684\u524d\u63d0\u6761\u4ef6\u662f\uff1a
                              • \u96c6\u7fa4\u751f\u6210\u4e86 \u2018K8s \u5ba1\u8ba1\u65e5\u5fd7\u2018
                              • \u65e5\u5fd7\u8f93\u51fa\u5f00\u5173\u5df2\u6253\u5f00
                              • \u65e5\u5fd7\u91c7\u96c6\u5f00\u5173\u5df2\u6253\u5f00
                            "},{"location":"admin/ghippo/audit/open-audit.html#ai","title":"\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5b89\u88c5\u5b8c\u6210\u65f6\u72b6\u6001","text":"
                            • \u7ba1\u7406\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173\u9ed8\u8ba4\u5f00\u542f
                            • \u7ba1\u7406\u96c6\u7fa4\u7684\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173\u9ed8\u8ba4\u5173\u95ed
                              • \u9ed8\u8ba4\u8bbe\u7f6e\u4e0d\u652f\u6301\u914d\u7f6e
                            "},{"location":"admin/ghippo/audit/open-audit.html#k8s_1","title":"\u7ba1\u7406\u96c6\u7fa4\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5f00\u5173","text":""},{"location":"admin/ghippo/audit/open-audit.html#k8s_2","title":"\u786e\u8ba4\u662f\u5426\u5f00\u542f\u4e86 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                            \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\u3002 \u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

                            ls /var/log/kubernetes/audit\n

                            \u82e5\u672a\u5f00\u542f\uff0c\u8bf7\u53c2\u8003\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7\u3002

                            "},{"location":"admin/ghippo/audit/open-audit.html#k8s_3","title":"\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u6d41\u7a0b","text":"
                            1. \u6dfb\u52a0 chartmuseum \u5230 helm repo \u4e2d

                              helm repo add chartmuseum http://10.5.14.30:8081\n

                              \u8fd9\u6761\u547d\u4ee4\u4e2d\u7684 IP \u9700\u8981\u4fee\u6539\u4e3a\u706b\u79cd\u8282\u70b9\u7684 IP \u5730\u5740\u3002

                              Note

                              \u4f7f\u7528\u81ea\u5efa Harbor \u4ed3\u5e93\u7684\u60c5\u51b5\u4e0b\uff0c\u8bf7\u4fee\u6539\u7b2c\u4e00\u6b65\u4e2d\u7684 chart repo \u5730\u5740\u4e3a\u81ea\u5efa\u4ed3\u5e93\u7684 insight-agent chart \u5730\u5740\u3002

                            2. \u4fdd\u5b58\u5f53\u524d insight-agent helm value

                              helm get values insight-agent -n insight-system -o yaml > insight-agent-values-bak.yaml\n
                            3. \u83b7\u53d6\u5f53\u524d\u7248\u672c\u53f7 ${insight_version_code}

                              insight_version_code=`helm list -n insight-system |grep insight-agent | awk {'print $10'}`\n
                            4. \u66f4\u65b0 helm value \u914d\u7f6e

                              helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent chartmuseum/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=true\n
                            5. \u91cd\u542f insight-system \u4e0b\u7684\u6240\u6709 fluentBit pod

                              fluent_pod=`kubectl get pod -n insight-system | grep insight-agent-fluent-bit | awk {'print $1'} | xargs`\nkubectl delete pod ${fluent_pod} -n insight-system\n
                            "},{"location":"admin/ghippo/audit/open-audit.html#k8s_4","title":"\u5173\u95ed\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                            \u5176\u4f59\u6b65\u9aa4\u548c\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u4e00\u81f4\uff0c\u4ec5\u9700\u4fee\u6539\u4e0a\u4e00\u8282\u4e2d\u7b2c 4 \u6b65\uff1a\u66f4\u65b0 helm value \u914d\u7f6e\u3002

                            helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent chartmuseum/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=false\n
                            "},{"location":"admin/ghippo/audit/open-audit.html#_1","title":"\u5de5\u4f5c\u96c6\u7fa4\u5f00\u5173","text":"

                            \u5404\u5de5\u4f5c\u96c6\u7fa4\u5f00\u5173\u72ec\u7acb\uff0c\u6309\u9700\u5f00\u542f\u3002

                            "},{"location":"admin/ghippo/audit/open-audit.html#_2","title":"\u521b\u5efa\u96c6\u7fa4\u65f6\u6253\u5f00\u91c7\u96c6\u5ba1\u8ba1\u65e5\u5fd7\u6b65\u9aa4","text":"

                            \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u9ed8\u8ba4\u4e3a\u5173\u95ed\u72b6\u6001\u3002\u82e5\u9700\u8981\u5f00\u542f\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u6b65\u9aa4\uff1a

                            \u5c06\u8be5\u6309\u94ae\u8bbe\u7f6e\u4e3a\u542f\u7528\u72b6\u6001\uff0c\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u3002

                            \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u65f6\uff0c\u786e\u8ba4\u8be5\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u9009\u62e9 \u2018true'\uff0c\u8fd9\u6837\u521b\u5efa\u51fa\u6765\u7684\u5de5\u4f5c\u96c6\u7fa4 K8s \u5ba1\u8ba1\u65e5\u5fd7\u662f\u5f00\u542f\u7684\u3002

                            \u7b49\u5f85\u96c6\u7fa4\u521b\u5efa\u6210\u529f\u540e\uff0c\u8be5\u5de5\u4f5c\u96c6\u7fa4\u7684 K8s \u5ba1\u8ba1\u65e5\u5fd7\u5c06\u88ab\u91c7\u96c6\u3002

                            "},{"location":"admin/ghippo/audit/open-audit.html#_3","title":"\u63a5\u5165\u7684\u96c6\u7fa4\u548c\u521b\u5efa\u5b8c\u6210\u540e\u5f00\u5173\u6b65\u9aa4","text":""},{"location":"admin/ghippo/audit/open-audit.html#k8s_5","title":"\u786e\u8ba4\u5f00\u542f K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                            \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\uff0c\u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

                            ls /var/log/kubernetes/audit\n

                            \u82e5\u672a\u5f00\u542f\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u7684\u5f00\u542f\u5173\u95ed K8s \u5ba1\u8ba1\u65e5\u5fd7

                            "},{"location":"admin/ghippo/audit/open-audit.html#k8s_6","title":"\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                            \u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u9ed8\u8ba4\u4e3a\u5173\u95ed\u72b6\u6001\uff0c\u82e5\u9700\u8981\u5f00\u542f\uff0c\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u6b65\u9aa4\uff1a

                            1. \u9009\u4e2d\u5df2\u63a5\u5165\u5e76\u4e14\u9700\u8981\u5f00\u542f\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u7684\u96c6\u7fa4

                            2. \u8fdb\u5165 helm \u5e94\u7528\u7ba1\u7406\u9875\u9762\uff0c\u66f4\u65b0 insight-agent \u914d\u7f6e \uff08\u82e5\u672a\u5b89\u88c5 insight-agent\uff0c\u53ef\u4ee5\u5b89\u88c5 insight-agent\uff09

                            3. \u5f00\u542f/\u5173\u95ed\u91c7\u96c6 K8s \u5ba1\u8ba1\u65e5\u5fd7\u6309\u94ae

                            4. \u63a5\u5165\u96c6\u7fa4\u7684\u60c5\u51b5\u4e0b\u5f00\u5173\u540e\u4ecd\u9700\u8981\u91cd\u542f fluent-bit pod \u624d\u80fd\u751f\u6548

                            "},{"location":"admin/ghippo/audit/open-k8s-audit.html","title":"\u751f\u6210 K8s \u5ba1\u8ba1\u65e5\u5fd7","text":"

                            \u9ed8\u8ba4 Kubernetes \u96c6\u7fa4\u4e0d\u4f1a\u751f\u6210\u5ba1\u8ba1\u65e5\u5fd7\u4fe1\u606f\u3002\u901a\u8fc7\u4ee5\u4e0b\u914d\u7f6e\uff0c\u53ef\u4ee5\u5f00\u542f Kubernetes \u7684\u5ba1\u8ba1\u65e5\u5fd7\u529f\u80fd\u3002

                            Note

                            \u516c\u6709\u4e91\u73af\u5883\u4e2d\u53ef\u80fd\u65e0\u6cd5\u63a7\u5236 Kubernetes \u5ba1\u8ba1\u65e5\u5fd7\u8f93\u51fa\u53ca\u8f93\u51fa\u8def\u5f84\u3002

                            1. \u51c6\u5907\u5ba1\u8ba1\u65e5\u5fd7\u7684 Policy \u6587\u4ef6
                            2. \u914d\u7f6e API \u670d\u52a1\u5668\uff0c\u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7
                            3. \u91cd\u542f\u5e76\u9a8c\u8bc1
                            "},{"location":"admin/ghippo/audit/open-k8s-audit.html#policy","title":"\u51c6\u5907\u5ba1\u8ba1\u65e5\u5fd7 Policy \u6587\u4ef6","text":"\u70b9\u51fb\u67e5\u770b\u5ba1\u8ba1\u65e5\u5fd7 Policy YAML \u6587\u4ef6 policy.yaml
                            apiVersion: audit.k8s.io/v1\nkind: Policy\nrules:\n# The following requests were manually identified as high-volume and low-risk,\n# so drop them.\n- level: None\n  users: [\"system:kube-proxy\"]\n  verbs: [\"watch\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"endpoints\", \"services\", \"services/status\"]\n- level: None\n  # Ingress controller reads `configmaps/ingress-uid` through the unsecured port.\n  # TODO(#46983): Change this to the ingress controller service account.\n  users: [\"system:unsecured\"]\n  namespaces: [\"kube-system\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"configmaps\"]\n- level: None\n  users: [\"kubelet\"] # legacy kubelet identity\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"nodes\", \"nodes/status\"]\n- level: None\n  userGroups: [\"system:nodes\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"nodes\", \"nodes/status\"]\n- level: None\n  users:\n   - system:kube-controller-manager\n   - system:kube-scheduler\n   - system:serviceaccount:kube-system:endpoint-controller\n     verbs: [\"get\", \"update\"]\n     namespaces: [\"kube-system\"]\n     resources:\n   - group: \"\" # core\n     resources: [\"endpoints\"]\n- level: None\n  users: [\"system:apiserver\"]\n  verbs: [\"get\"]\n  resources:\n   - group: \"\" # core\n     resources: [\"namespaces\", \"namespaces/status\", \"namespaces/finalize\"]\n# Don't log HPA fetching metrics.\n- level: None\n  users:\n   - system:kube-controller-manager\n     verbs: [\"get\", \"list\"]\n     resources:\n   - group: \"metrics.k8s.io\"\n# Don't log these read-only URLs.\n- level: None\n  nonResourceURLs:\n   - /healthz*\n   - /version\n   - /swagger*\n# Don't log events requests.\n- level: None\n  resources:\n   - group: \"\" # core\n     resources: [\"events\"]\n# Secrets, ConfigMaps, TokenRequest and TokenReviews can contain sensitive & binary data,\n# so only log at the Metadata level.\n- level: Metadata\n  resources:\n   - group: \"\" # core\n     resources: [\"secrets\", \"configmaps\", \"serviceaccounts/token\"]\n   - group: authentication.k8s.io\n     resources: [\"tokenreviews\"]\n     omitStages:\n   - \"RequestReceived\"\n# Get responses can be large; skip them.\n- level: Request\n  verbs: [\"get\", \"list\", \"watch\"]\n  resources:\n   - group: \"\" # core\n   - group: \"admissionregistration.k8s.io\"\n   - group: \"apiextensions.k8s.io\"\n   - group: \"apiregistration.k8s.io\"\n   - group: \"apps\"\n   - group: \"authentication.k8s.io\"\n   - group: \"authorization.k8s.io\"\n   - group: \"autoscaling\"\n   - group: \"batch\"\n   - group: \"certificates.k8s.io\"\n   - group: \"extensions\"\n   - group: \"metrics.k8s.io\"\n   - group: \"networking.k8s.io\"\n   - group: \"policy\"\n   - group: \"rbac.authorization.k8s.io\"\n   - group: \"settings.k8s.io\"\n   - group: \"storage.k8s.io\"\n     omitStages:\n   - \"RequestReceived\"\n# Default level for known APIs\n- level: RequestResponse\n  resources:\n   - group: \"\" # core\n   - group: \"admissionregistration.k8s.io\"\n   - group: \"apiextensions.k8s.io\"\n   - group: \"apiregistration.k8s.io\"\n   - group: \"apps\"\n   - group: \"authentication.k8s.io\"\n   - group: \"authorization.k8s.io\"\n   - group: \"autoscaling\"\n   - group: \"batch\"\n   - group: \"certificates.k8s.io\"\n   - group: \"extensions\"\n   - group: \"metrics.k8s.io\"\n   - group: \"networking.k8s.io\"\n   - group: \"policy\"\n   - group: \"rbac.authorization.k8s.io\"\n   - group: \"settings.k8s.io\"\n   - group: \"storage.k8s.io\"\n     omitStages:\n   - \"RequestReceived\"\n# Default level for all other requests.\n- level: Metadata\n  omitStages:\n   - \"RequestReceived\"\n

                            \u5c06\u4ee5\u4e0a\u5ba1\u8ba1\u65e5\u5fd7\u6587\u4ef6\u653e\u5230 /etc/kubernetes/audit-policy/ \u6587\u4ef6\u5939\u4e0b\uff0c\u5e76\u53d6\u540d\u4e3a apiserver-audit-policy.yaml \u3002

                            "},{"location":"admin/ghippo/audit/open-k8s-audit.html#api","title":"\u914d\u7f6e API \u670d\u52a1\u5668","text":"

                            \u6253\u5f00 API \u670d\u52a1\u5668\u7684\u914d\u7f6e\u6587\u4ef6 kube-apiserver.yaml \uff0c\u4e00\u822c\u4f1a\u5728 /etc/kubernetes/manifests/ \u6587\u4ef6\u5939\u4e0b\uff0c\u5e76\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\u4fe1\u606f\uff1a

                            \u8fd9\u4e00\u6b65\u64cd\u4f5c\u524d\u8bf7\u5907\u4efd kube-apiserver.yaml \uff0c\u5e76\u4e14\u5907\u4efd\u7684\u6587\u4ef6\u4e0d\u80fd\u653e\u5728 /etc/kubernetes/manifests/ \u4e0b\uff0c\u5efa\u8bae\u653e\u5728 /etc/kubernetes/tmp \u3002

                            1. \u5728 spec.containers.command \u4e0b\u6dfb\u52a0\u547d\u4ee4\uff1a

                              --audit-log-maxage=30\n--audit-log-maxbackup=10\n--audit-log-maxsize=100\n--audit-log-path=/var/log/audit/kube-apiserver-audit.log\n--audit-policy-file=/etc/kubernetes/audit-policy/apiserver-audit-policy.yaml\n
                            2. \u5728 spec.containers.volumeMounts \u4e0b\u6dfb\u52a0\uff1a

                              - mountPath: /var/log/audit\n  name: audit-logs\n- mountPath: /etc/kubernetes/audit-policy\n  name: audit-policy\n
                            3. \u5728 spec.volumes \u4e0b\u6dfb\u52a0\uff1a

                              - hostPath:\n  path: /var/log/kubernetes/audit\n  type: \"\"\n  name: audit-logs\n- hostPath:\n  path: /etc/kubernetes/audit-policy\n  type: \"\"\n  name: audit-policy\n
                            "},{"location":"admin/ghippo/audit/open-k8s-audit.html#_1","title":"\u6d4b\u8bd5\u5e76\u9a8c\u8bc1","text":"

                            \u7a0d\u7b49\u4e00\u4f1a\uff0cAPI \u670d\u52a1\u5668\u4f1a\u81ea\u52a8\u91cd\u542f\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b /var/log/kubernetes/audit \u76ee\u5f55\u4e0b\u662f\u5426\u6709\u5ba1\u8ba1\u65e5\u5fd7\u751f\u6210\uff0c\u82e5\u6709\uff0c\u5219\u8868\u793a K8s \u5ba1\u8ba1\u65e5\u5fd7\u6210\u529f\u5f00\u542f\u3002

                            ls /var/log/kubernetes/audit\n

                            \u5982\u679c\u60f3\u5173\u95ed\uff0c\u53bb\u6389 spec.containers.command \u4e2d\u7684\u76f8\u5173\u547d\u4ee4\u5373\u53ef\u3002

                            "},{"location":"admin/ghippo/audit/source-ip.html","title":"\u5ba1\u8ba1\u65e5\u5fd7\u83b7\u53d6\u6e90 IP","text":"

                            \u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u5728\u7cfb\u7edf\u548c\u7f51\u7edc\u7ba1\u7406\u4e2d\u626e\u6f14\u7740\u5173\u952e\u89d2\u8272\uff0c\u5b83\u6709\u52a9\u4e8e\u8ffd\u8e2a\u6d3b\u52a8\u3001\u7ef4\u62a4\u5b89\u5168\u3001\u89e3\u51b3\u95ee\u9898\u5e76\u786e\u4fdd\u7cfb\u7edf\u5408\u89c4\u6027\u3002 \u4f46\u662f\u83b7\u53d6\u6e90 IP \u4f1a\u5e26\u6765\u4e00\u5b9a\u7684\u6027\u80fd\u635f\u8017\uff0c\u6240\u4ee5\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u5ba1\u8ba1\u65e5\u5fd7\u5e76\u4e0d\u603b\u662f\u5f00\u542f\u7684\uff0c \u5728\u4e0d\u540c\u7684\u5b89\u88c5\u6a21\u5f0f\u4e0b\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u7684\u9ed8\u8ba4\u5f00\u542f\u60c5\u51b5\u4e0d\u540c\uff0c\u5e76\u4e14\u5f00\u542f\u7684\u65b9\u5f0f\u4e0d\u540c\u3002 \u4e0b\u9762\u4f1a\u6839\u636e\u5b89\u88c5\u6a21\u5f0f\u5206\u522b\u4ecb\u7ecd\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u7684\u9ed8\u8ba4\u5f00\u542f\u60c5\u51b5\u4ee5\u53ca\u5982\u4f55\u5f00\u542f\u3002

                            Note

                            \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u4f1a\u4fee\u6539 istio-ingressgateway \u7684\u526f\u672c\u6570\uff0c\u5e26\u6765\u4e00\u5b9a\u7684\u6027\u80fd\u635f\u8017\u3002 \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u9700\u8981\u5173\u95ed kube-proxy \u7684\u8d1f\u8f7d\u5747\u8861\u4ee5\u53ca\u62d3\u6251\u611f\u77e5\u8def\u7531\uff0c\u4f1a\u5bf9\u96c6\u7fa4\u6027\u80fd\u4ea7\u751f\u4e00\u5b9a\u7684\u5f71\u54cd\u3002 \u5f00\u542f\u5ba1\u8ba1\u65e5\u5fd7\u540e\uff0c\u8bbf\u95eeIP\u6240\u5bf9\u5e94\u7684\u8282\u70b9\u4e0a\u5fc5\u987b\u4fdd\u8bc1\u5b58\u5728 istio-ingressgateway \uff0c\u82e5\u56e0\u4e3a\u8282\u70b9\u5065\u5eb7\u6216\u5176\u4ed6\u95ee\u9898\u5bfc\u81f4 istio-ingressgateway \u53d1\u751f\u6f02\u79fb\uff0c\u9700\u8981\u624b\u52a8\u8c03\u5ea6\u56de\u8be5\u8282\u70b9\uff0c\u5426\u5219\u4f1a\u5f71\u54cd\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u6b63\u5e38\u4f7f\u7528\u3002

                            "},{"location":"admin/ghippo/audit/source-ip.html#_1","title":"\u5224\u65ad\u5b89\u88c5\u6a21\u5f0f\u7684\u65b9\u6cd5","text":"
                            kubectl get pod -n metallb-system\n

                            \u5728\u96c6\u7fa4\u4e2d\u6267\u884c\u4e0a\u9762\u7684\u547d\u4ee4\uff0c\u82e5\u8fd4\u56de\u7ed3\u679c\u5982\u4e0b\uff0c\u5219\u8868\u793a\u8be5\u96c6\u7fa4\u4e3a\u975e MetalLB \u5b89\u88c5\u6a21\u5f0f

                            No resources found in metallbs-system namespace.\n
                            "},{"location":"admin/ghippo/audit/source-ip.html#nodeport","title":"NodePort \u5b89\u88c5\u6a21\u5f0f","text":"

                            \u8be5\u6a21\u5f0f\u5b89\u88c5\u4e0b\uff0c\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP \u9ed8\u8ba4\u662f\u5173\u95ed\u7684\uff0c\u5f00\u542f\u6b65\u9aa4\u5982\u4e0b\uff1a

                            1. \u8bbe\u7f6e istio-ingressgateway \u7684 HPA \u7684\u6700\u5c0f\u526f\u672c\u6570\u4e3a\u63a7\u5236\u9762\u8282\u70b9\u6570

                              count=$(kubectl get nodes --selector=node-role.kubernetes.io/control-plane | wc -l)\ncount=$((count-1))\n\nkubectl patch hpa istio-ingressgateway -n istio-system -p '{\"spec\":{\"minReplicas\":'$count'}}'\n
                            2. \u4fee\u6539 istio-ingressgateway \u7684 service \u7684 externalTrafficPolicy \u548c internalTrafficPolicy \u503c\u4e3a \"Local\"

                              kubectl patch svc istio-ingressgateway -n istio-system -p '{\"spec\":{\"externalTrafficPolicy\":\"Local\",\"internalTrafficPolicy\":\"Local\"}}'\n
                            "},{"location":"admin/ghippo/audit/source-ip.html#metallb","title":"MetalLB \u5b89\u88c5\u6a21\u5f0f","text":"

                            \u8be5\u6a21\u5f0f\u4e0b\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u4f1a\u9ed8\u8ba4\u83b7\u53d6\u5ba1\u8ba1\u65e5\u5fd7\u6e90 IP\u3002

                            "},{"location":"admin/ghippo/audit/gproduct-audit/amamba.html","title":"\u5e94\u7528\u5de5\u4f5c\u53f0\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u539f\u751f\u5e94\u7528\uff1aCreate-Application Application \u66f4\u65b0\u539f\u751f\u5e94\u7528\uff1aUpdate-Application Application \u7f16\u8f91yaml\u3001\u521b\u5efa\u7248\u672c\u5feb\u7167\u3001\u56de\u6eda \u5220\u9664\u539f\u751f\u5e94\u7528\uff1aDelete-Application Application \u521b\u5efa OAM \u5e94\u7528\uff1aCreate-OAMApplication OAMApplication \u66f4\u65b0 OAM \u5e94\u7528\uff1aUpdate-OAMApplication OAMApplication \u7f16\u8f91yaml \u6dfb\u52a0 OAM \u5e94\u7528\u7ec4\u4ef6\uff1aAdd-OAMApplicationComponent OAMApplicationComponent \u6dfb\u52a0\u7ec4\u4ef6 \u66f4\u65b0 OAM \u7ec4\u4ef6\u8fd0\u7ef4\u7279\u5f81\uff1aUpdate-OAMApplicationComponentTrait OAMApplicationComponentTrait \u66f4\u65b0\u5e94\u7528\u7ec4\u4ef6\u8fd0\u7ef4\u7279\u5f81 \u5220\u9664 OAM \u5e94\u7528\uff1aDelete-OAMApplication OAMApplication \u521b\u5efa HELM \u5e94\u7528\uff1aCreate-HelmApplication HelmApplication \u521b\u5efaOLM \u5e94\u7528\uff1aCreate-OLMApplication OLMApplication \u66f4\u65b0OLM \u5e94\u7528\uff1aUpdate-OLMApplication OLMApplication \u521b\u5efaOLM \u5e94\u7528\uff1aDelete-OLMApplication OLMApplication \u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff1aCreate-Namespace Namespace \u66f4\u65b0\u547d\u540d\u7a7a\u95f4\u914d\u989d\uff1aUpdate-NamespaceQuota NamespaceQuota \u5220\u9664\u547d\u540d\u7a7a\u95f4\uff1aDelete-Namespace Namespace \u521b\u5efa\u6d41\u6c34\u7ebf\uff1aCreate-Pipeline Pipeline \u66f4\u65b0\u6d41\u6c34\u7ebf\uff1aUpdate-Pipeline Pipeline \u5305\u542b\u6240\u6709\u7684\u66f4\u65b0\u64cd\u4f5c(\u7f16\u8f91jenkinsfile\u3001\u7f16\u8f91\u914d\u7f6e\u3001\u7f16\u8f91\u56fe\u5f62\u5316\u3001) \u8fd0\u884c\u6d41\u6c34\u7ebf\uff1aRun-Pipeline Pipeline \u7acb\u5373\u8fd0\u884cc\u5965\u505a \u91cd\u65b0\u8fd0\u884c\uff1aReRun-Pipeline Pipeline \u91cd\u65b0\u6267\u884c\u64cd\u4f5c \u7ec8\u6b62\u6d41\u6c34\u7ebf\uff1aAbort-Pipeline Pipeline \u7ec8\u6b62\u64cd\u4f5c+\u5ba1\u6279\u6b65\u9aa4\u7684\u7ec8\u6b62\u64cd\u4f5c \u5ba1\u6279\u6d41\u6c34\u7ebf\uff1aApproval-Pipeline Pipeline \u5ba1\u6279\u901a\u8fc7\u6d41\u6c34\u7ebf \u5220\u9664\u6d41\u6c34\u7ebf\uff1aDelete-Pipeline Pipeline \u521b\u5efa\u6d41\u6c34\u7ebf\u51ed\u8bc1\uff1aCreate-PipelineCredential PipelineCredential \u5220\u9664\u6d41\u6c34\u7ebf\u51ed\u8bc1\uff1aDelete-PipelineCredential PipelineCredential \u521b\u5efa\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aCreate-GrayscaleTask GrayscaleTask \u662f\u5426\u8981\u533a\u5206\u662f\u84dd\u7eff\u8fd8\u662f\u91d1\u4e1d\u96c0 \u66f4\u65b0\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aUpdate-GrayscaleTask GrayscaleTask \u66f4\u65b0\u53d1\u5e03\u4efb\u52a1\u3001\u66f4\u65b0\u7248\u672c\u3001\u7f16\u8f91 yaml\u3001\u66f4\u65b0\u5b9e\u4f8b\u6570 \u53d1\u5e03\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\u4efb\u52a1\uff1aUpgrade-GrayscaleTask GrayscaleTask \u7ec8\u6b62\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aAbort-GrayscaleTask GrayscaleTask \u56de\u6eda\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aUndo-GrayscaleTask GrayscaleTask \u5220\u9664\u7070\u5ea6\u53d1\u5e03\u4efb\u52a1\uff1aDelete-GrayscaleTask GrayscaleTask \u521b\u5efaGitOps\u5e94\u7528\uff1aCreate-GitOpsApplication GitOpsApplication \u66f4\u65b0GitOps\u5e94\u7528\uff1aUpdate-GitOpsApplication GitOpsApplication \u540c\u6b65GitOps\u5e94\u7528\uff1aSync-GitOpsApplication GitOpsApplication \u5220\u9664GitOps\u5e94\u7528\uff1aDelete-GitOpsApplication GitOpsApplication \u5bfc\u5165 GitOps \u4ed3\u5e93\uff1aImport-GitOpsRepository GitOpsRepository \u5220\u9664 GitOps \u4ed3\u5e93\uff1aDelete-GitOpsRepository GitOpsRepository \u5de5\u5177\u94fe\u96c6\u6210\uff1aIntegrated-Toolchain Toolchain \u89e3\u9664\u96c6\u6210\u5de5\u5177\u94fe\uff1aDelete-Toolchain Toolchain \u7ed1\u5b9a\u5de5\u5177\u94fe\u9879\u76ee\uff1aBind-ToolchainProject ToolchainProject jira\u3001gitlab \u652f\u6301\u7ba1\u7406\u5458\u89c6\u89d2\u4e0b sonarqube \u4e5f\u652f\u6301 \u89e3\u9664\u7ed1\u5b9a\u5de5\u5177\u94fe\u5de5\u5177\u94fe\u9879\u76ee\uff1aUnbind-ToolchainProject ToolchainProject jira\u3001gitlab \u652f\u6301\u7ba1\u7406\u5458\u89c6\u89d2\u4e0b sonarqube \u4e5f\u652f\u6301"},{"location":"admin/ghippo/audit/gproduct-audit/ghippo.html","title":"\u5168\u5c40\u7ba1\u7406\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u4fee\u6539\u7528\u6237email\uff1aUpdateEmail-Account Account \u4fee\u6539\u7528\u6237\u5bc6\u7801\uff1aUpdatePassword-Account Account \u521b\u5efask\uff1aCreateAccessKeys-Account Account \u4fee\u6539sk\uff1aUpdateAccessKeys-Account Account \u5220\u9664sk\uff1aDeleteAccessKeys-Account Account \u521b\u5efa\u7528\u6237\uff1aCreate-User User \u5220\u9664\u7528\u6237\uff1aDelete-User User \u66f4\u65b0\u7528\u6237\u4fe1\u606f\uff1aUpdate-User User \u66f4\u65b0\u7528\u6237\u89d2\u8272\uff1a UpdateRoles-User User \u8bbe\u7f6e\u7528\u6237\u5bc6\u7801\uff1a UpdatePassword-User User \u521b\u5efa\u7528\u6237\u5bc6\u94a5\uff1a CreateAccessKeys-User User \u66f4\u65b0\u7528\u6237\u5bc6\u94a5\uff1a UpdateAccessKeys-User User \u5220\u9664\u7528\u6237\u5bc6\u94a5\uff1aDeleteAccessKeys-User User \u521b\u5efa\u7528\u6237\u7ec4\uff1aCreate-Group Group \u5220\u9664\u7528\u6237\u7ec4\uff1aDelete-Group Group \u66f4\u65b0\u7528\u6237\u7ec4\uff1aUpdate-Group Group \u6dfb\u52a0\u7528\u6237\u81f3\u7528\u6237\u7ec4\uff1aAddUserTo-Group Group \u4ece\u7528\u6237\u7ec4\u5220\u9664\u7528\u6237\uff1a RemoveUserFrom-Group Group \u66f4\u65b0\u7528\u6237\u7ec4\u89d2\u8272\uff1a UpdateRoles-Group Group \u89d2\u8272\u5173\u8054\u7528\u6237\uff1aUpdateRoles-User User \u521b\u5efaLdap \uff1aCreate-LADP LADP \u66f4\u65b0Ldap\uff1aUpdate-LADP LADP \u5220\u9664Ldap \uff1a Delete-LADP LADP OIDC\u6ca1\u6709\u8d70APIserver\u5ba1\u8ba1\u4e0d\u5230 \u767b\u5f55\uff1aLogin-User User \u767b\u51fa\uff1aLogout-User User \u8bbe\u7f6e\u5bc6\u7801\u7b56\u7565\uff1aUpdatePassword-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u4f1a\u8bdd\u8d85\u65f6\uff1aUpdateSessionTimeout-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u8d26\u53f7\u9501\u5b9a\uff1aUpdateAccountLockout-SecurityPolicy SecurityPolicy \u8bbe\u7f6e\u81ea\u52a8\u767b\u51fa\uff1aUpdateLogout-SecurityPolicy SecurityPolicy \u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e MailServer-SecurityPolicy SecurityPolicy \u5916\u89c2\u5b9a\u5236 CustomAppearance-SecurityPolicy SecurityPolicy \u6b63\u7248\u6388\u6743 OfficialAuthz-SecurityPolicy SecurityPolicy \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\uff1aCreate-Workspace Workspace \u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\uff1aDelete-Workspace Workspace \u7ed1\u5b9a\u8d44\u6e90\uff1aBindResourceTo-Workspace Workspace \u89e3\u7ed1\u8d44\u6e90\uff1aUnBindResource-Workspace Workspace \u7ed1\u5b9a\u5171\u4eab\u8d44\u6e90\uff1aBindShared-Workspace Workspace \u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff1aSetQuota-Workspace Workspace \u5de5\u4f5c\u7a7a\u95f4\u6388\u6743\uff1aAuthorize-Workspace Workspace \u5220\u9664\u6388\u6743 DeAuthorize-Workspace Workspace \u7f16\u8f91\u6388\u6743 UpdateDeAuthorize-Workspace Workspace \u66f4\u65b0\u5de5\u4f5c\u7a7a\u95f4 Update-Workspace Workspace \u521b\u5efa\u6587\u4ef6\u5939\uff1aCreate-Folder Folder \u5220\u9664\u6587\u4ef6\u5939\uff1aDelete-Folder Folder \u7f16\u8f91\u6587\u4ef6\u5939\u6388\u6743\uff1aUpdateAuthorize-Folder Folder \u66f4\u65b0\u6587\u4ef6\u5939\uff1aUpdate-Folder Folder \u65b0\u589e\u6587\u4ef6\u5939\u6388\u6743\uff1aAuthorize-Folder Folder \u5220\u9664\u6587\u4ef6\u5939\u6388\u6743\uff1aDeAuthorize-Folder Folder \u8bbe\u7f6e\u5ba1\u8ba1\u65e5\u5fd7\u81ea\u52a8\u6e05\u7406\uff1aAutoCleanup-Audit Audit \u624b\u52a8\u6e05\u7406\u5ba1\u8ba1\u65e5\u5fd7\uff1aManualCleanup-Audit Audit \u5bfc\u51fa\u5ba1\u8ba1\u65e5\u5fd7\uff1aExport-Audit Audit"},{"location":"admin/ghippo/audit/gproduct-audit/insight.html","title":"\u53ef\u89c2\u6d4b\u6027\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u62e8\u6d4b\u4efb\u52a1\uff1aCreate-ProbeJob ProbeJob \u7f16\u8f91\u62e8\u6d4b\u4efb\u52a1\uff1aUpdate-ProbeJob ProbeJob \u5220\u9664\u62e8\u6d4b\u4efb\u52a1\uff1aDelete-ProbeJob ProbeJob \u521b\u5efa\u544a\u8b66\u7b56\u7565\uff1aCreate-AlertPolicy AlertPolicy \u7f16\u8f91\u544a\u8b66\u7b56\u7565\uff1aUpdate-AlertPolicy AlertPolicy \u5220\u9664\u544a\u8b66\u7b56\u7565\uff1aDelete-AlertPolicy AlertPolicy \u5bfc\u5165\u544a\u8b66\u7b56\u7565\uff1aImport-AlertPolicy AlertPolicy \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u6dfb\u52a0\u89c4\u5219\uff1aCreate-AlertRule AlertRule \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u7f16\u8f91\u89c4\u5219\uff1aUpdate-AlertRule AlertRule \u5728\u544a\u8b66\u7b56\u7565\u4e2d\u5220\u9664\u89c4\u5219\uff1aDelete-AlertRule AlertRule \u521b\u5efa\u544a\u8b66\u6a21\u677f\uff1aCreate-RuleTemplate RuleTemplate \u7f16\u8f91\u544a\u8b66\u6a21\u677f\uff1aUpdate-RuleTemplate RuleTemplate \u5220\u9664\u544a\u8b66\u6a21\u677f\uff1aDelete-RuleTemplate RuleTemplate \u521b\u5efa\u90ae\u7bb1\u7ec4\uff1aCreate-email email \u7f16\u8f91\u90ae\u7bb1\u7ec4\uff1aUpdate-email email \u5220\u9664\u90ae\u7bb1\u7ec4\uff1aDelete-Receiver Receiver \u521b\u5efa\u9489\u9489\u673a\u5668\u4eba\uff1aCreate-dingtalk dingtalk \u7f16\u8f91\u9489\u9489\u673a\u5668\u4eba\uff1aUpdate-dingtalk dingtalk \u5220\u9664\u9489\u9489\u673a\u5668\u4eba\uff1aDelete-Receiver Receiver \u521b\u5efa\u4f01\u5fae\u673a\u5668\u4eba\uff1aCreate-wecom wecom \u7f16\u8f91\u4f01\u5fae\u673a\u5668\u4eba\uff1aUpdate-wecom wecom \u5220\u9664\u4f01\u5fae\u673a\u5668\u4eba\uff1aDelete-Receiver Receiver \u521b\u5efa Webhook\uff1aCreate-webhook webhook \u7f16\u8f91 Webhook\uff1aUpdate-webhook webhook \u5220\u9664 Webhook\uff1aDelete-Receiver Receiver \u521b\u5efa SMS\uff1aCreate-sms sms \u7f16\u8f91 SMS\uff1aUpdate-sms sms \u5220\u9664 SMS\uff1aDelete-Receiver Receiver \u521b\u5efa SMS \u670d\u52a1\u5668\uff1aCreate-aliyun(\u6216\u8005\uff1atencent\uff0ccustom) aliyun, tencent, custom \u7f16\u8f91 SMS \u670d\u52a1\u5668\uff1aUpdate-aliyun(\u6216\u8005\uff1atencent\uff0ccustom) aliyun, tencent, custom \u5220\u9664 SMS \u670d\u52a1\u5668\uff1aDelete-SMSserver SMSserver \u521b\u5efa\u6d88\u606f\u6a21\u677f\uff1aCreate-MessageTemplate MessageTemplate \u7f16\u8f91\u6d88\u606f\u6a21\u677f\uff1aUpdate-MessageTemplate MessageTemplate \u5220\u9664\u6d88\u606f\u6a21\u677f\uff1aDelete-MessageTemplate MessageTemplate \u521b\u5efa\u544a\u8b66\u9759\u9ed8\uff1aCreate-AlertSilence AlertSilence \u7f16\u8f91\u544a\u8b66\u9759\u9ed8\uff1aUpdate-AlertSilence AlertSilence \u5220\u9664\u544a\u8b66\u9759\u9ed8\uff1aDelete-AlertSilence AlertSilence \u521b\u5efa\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aCreate-AlertInhibition AlertInhibition \u7f16\u8f91\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aUpdate-AlertInhibition AlertInhibition \u5220\u9664\u544a\u8b66\u6291\u5236\u89c4\u5219\uff1aDelete-AlertInhibition AlertInhibition \u66f4\u65b0\u7cfb\u7edf\u914d\u7f6e\uff1aUpdate-SystemSettings SystemSettings"},{"location":"admin/ghippo/audit/gproduct-audit/kairship.html","title":"\u591a\u4e91\u7f16\u6392\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u6dfb\u52a0\u591a\u4e91\u5b9e\u4f8b\uff1aCreate-Instance Instance \u5220\u9664\u591a\u4e91\u5b9e\u4f8b\uff1aDelete-Instance Instance \u63a5\u5165\u96c6\u7fa4\uff1aIntegrate-Cluster Cluster \u79fb\u9664\u96c6\u7fa4\uff1aRemove-Cluster Cluster \u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-Deployment Deployment \u66f4\u65b0\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aUpdate-Deployment Deployment \u5220\u9664\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-Deployment Deployment \u521b\u5efa\u4efb\u52a1\uff1aCreate-Job Job \u66f4\u65b0\u4efb\u52a1\uff1aUpdate-Job Job \u5220\u9664\u4efb\u52a1\uff1aDelete-Job Job \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff1aCreate-CronJob CronJob \u66f4\u65b0\u5b9a\u65f6\u4efb\u52a1\uff1aUpdate-CronJob CronJob \u5220\u9664\u5b9a\u65f6\u4efb\u52a1\uff1aDelete-CronJob CronJob \u521b\u5efa\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aCreate-CRD CRD \u66f4\u65b0\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aUpdate-CRD CRD \u5220\u9664\u591a\u4e91\u81ea\u5b9a\u4e49\u8d44\u6e90\uff1aDelete-CRD CRD \u521b\u5efa\u591a\u4e91\u670d\u52a1\uff1aCreate-Multicloud Services Multicloud Services \u66f4\u65b0\u591a\u4e91\u670d\u52a1\uff1aUpdate-Multicloud Services Multicloud Services \u5220\u9664\u591a\u4e91\u670d\u52a1\uff1aDelete-Multicloud Services Multicloud Services \u521b\u5efa\u591a\u4e91\u8def\u7531\uff1aCreate-Multicloud Ingress Multicloud Ingress \u66f4\u65b0\u591a\u4e91\u8def\u7531\uff1aUpdate-Multicloud Ingress Multicloud Ingress \u5220\u9664\u591a\u4e91\u8def\u7531\uff1aDelete-Multicloud Ingress Multicloud Ingress \u521b\u5efa\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aCreate-Multicloud Namespace Multicloud Namespace \u66f4\u65b0\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aUpdate-Multicloud Namespace Multicloud Namespace \u5220\u9664\u591a\u4e91\u547d\u540d\u7a7a\u95f4\uff1aDelete-Multicloud Namespace Multicloud Namespace \u521b\u5efa\u591a\u4e91\u914d\u7f6e\u9879\uff1aCreate-Multicloud ConfigMaps Multicloud ConfigMaps \u66f4\u65b0\u591a\u4e91\u914d\u7f6e\u9879\uff1aUpdate-Multicloud ConfigMaps Multicloud ConfigMaps \u5220\u9664\u591a\u4e91\u914d\u7f6e\u9879\uff1aDelete-Multicloud ConfigMaps Multicloud ConfigMaps \u521b\u5efa\u591a\u4e91\u5bc6\u94a5\uff1aCreate-Multicloud Secret Multicloud Secret \u66f4\u65b0\u591a\u4e91\u5bc6\u94a5\uff1aUpdate-Multicloud Secret Multicloud Secret \u5220\u9664\u591a\u4e91\u5bc6\u94a5\uff1aDelete-Multicloud Secret Multicloud Secret \u521b\u5efa\u90e8\u7f72\u7b56\u7565\uff1aCreate-Propagation Policies Propagation Policies \u66f4\u65b0\u90e8\u7f72\u7b56\u7565\uff1aUpdate-Propagation Policies Propagation Policies \u5220\u9664\u90e8\u7f72\u7b56\u7565\uff1aDelete-Propagation Policies Propagation Policies \u521b\u5efa\u5dee\u5f02\u5316\u7b56\u7565\uff1aCreate-Override Policies Override Policies \u66f4\u65b0\u5dee\u5f02\u5316\u7b56\u7565\uff1aUpdate-Override Policies Override Policies \u5220\u9664\u5dee\u5f02\u5316\u7b56\u7565\uff1aDelete-Override Policies Override Policies"},{"location":"admin/ghippo/audit/gproduct-audit/kangaroo.html","title":"\u955c\u50cf\u4ed3\u5e93\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u955c\u50cf\u5220\u9664\uff1aDelete-Image Image artifact\u5220\u9664\uff1aDelete-Artifacts Artifacts \u521b\u5efa\u56de\u6536\u89c4\u5219\uff1aCreate-ReclaimRule ReclaimRule \u540c\u4e00\u4e2a\u63a5\u53e3\uff0c\u53ea\u80fd\u8bb0\u5f55\u4e00\u6761 \u5220\u9664\u56de\u6536\u89c4\u5219\uff1aDelete-ReclaimRule ReclaimRule \u5b9a\u65f6\u8fd0\u884c\u56de\u6536\u89c4\u5219\uff1aSheduled-ReclaimRule ReclaimRule \u624b\u52a8\u8fd0\u884c\u56de\u6536\u89c4\u5219\uff1aManual-ReclaimRule ReclaimRule \u5355\u72ec\u8bb0\u5f55 \u521b\u5efa\u4ed3\u5e93\u96c6\u6210\uff1aCreate-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u5220\u9664\u4ed3\u5e93\u96c6\u6210\uff1aDelete-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u66f4\u65b0\u4ed3\u5e93\u96c6\u6210\uff1aUpdate-IntegratedRegistryinWorkspace IntegratedRegistryinWorkspace \u521b\u5efa\u4ed3\u5e93\u96c6\u6210\uff1aCreate-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u5220\u9664\u4ed3\u5e93\u96c6\u6210\uff1aDelete-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u66f4\u65b0\u4ed3\u5e93\u96c6\u6210\uff1aUpdate-IntegratedRegistrybyAdmin IntegratedRegistrybyAdmin \u521b\u5efa\u6258\u7ba1harbor\uff1aCreate-Harbor Harbor \u5220\u9664\u6258\u7ba1Harbor\uff1aDelete-Harbor Harbor \u66f4\u65b0\u6258\u7ba1Harbor\uff1aUpdate-Harbor Harbor"},{"location":"admin/ghippo/audit/gproduct-audit/kpanda.html","title":"\u5bb9\u5668\u7ba1\u7406\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u521b\u5efa\u96c6\u7fa4\uff1aCreate-Cluster Cluster \u5378\u8f7d\u96c6\u7fa4\uff1aDelete-Cluster Cluster \u63a5\u5165\u96c6\u7fa4\uff1aIntegrate-Cluster Cluster \u89e3\u9664\u63a5\u5165\u7684\u96c6\u7fa4\uff1aRemove-Cluster Cluster \u96c6\u7fa4\u5347\u7ea7\uff1aUpgrade-Cluster Cluster \u96c6\u7fa4\u63a5\u5165\u8282\u70b9\uff1aIntegrate-Node Node \u96c6\u7fa4\u8282\u70b9\u79fb\u9664\uff1aRemove-Node Node \u96c6\u7fa4\u8282\u70b9 GPU \u6a21\u5f0f\u5207\u6362\uff1aUpdate-NodeGPUMode NodeGPUMode helm\u4ed3\u5e93\u521b\u5efa\uff1aCreate-HelmRepo HelmRepo helm\u5e94\u7528\u90e8\u7f72\uff1aCreate-HelmApp HelmApp helm\u5e94\u7528\u5220\u9664\uff1aDelete-HelmApp HelmApp \u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-Deployment Deployment \u5220\u9664\u65e0\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-Deployment Deployment \u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\uff1aCreate-DaemonSet DaemonSet \u5220\u9664\u5b88\u62a4\u8fdb\u7a0b\uff1aDelete-DaemonSet DaemonSet \u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff1aCreate-StatefulSet StatefulSet \u5220\u9664\u6709\u72b6\u6001\u8d1f\u8f7d\uff1aDelete-StatefulSet StatefulSet \u521b\u5efa\u4efb\u52a1\uff1aCreate-Job Job \u5220\u9664\u4efb\u52a1\uff1aDelete-Job Job \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff1aCreate-CronJob CronJob \u5220\u9664\u5b9a\u65f6\u4efb\u52a1\uff1aDelete-CronJob CronJob \u5220\u9664\u5bb9\u5668\u7ec4\uff1aDelete-Pod Pod \u521b\u5efa\u670d\u52a1\uff1aCreate-Service Service \u5220\u9664\u670d\u52a1\uff1aDelete-Service Service \u521b\u5efa\u8def\u7531\uff1aCreate-Ingress Ingress \u5220\u9664\u8def\u7531\uff1aDelete-Ingress Ingress \u521b\u5efa\u5b58\u50a8\u6c60\uff1aCreate-StorageClass StorageClass \u5220\u9664\u5b58\u50a8\u6c60\uff1aDelete-StorageClass StorageClass \u521b\u5efa\u6570\u636e\u5377\uff1aCreate-PersistentVolume PersistentVolume \u5220\u9664\u6570\u636e\u5377\uff1aDelete-PersistentVolume PersistentVolume \u521b\u5efa\u6570\u636e\u5377\u58f0\u660e\uff1aCreate-PersistentVolumeClaim PersistentVolumeClaim \u5220\u9664\u6570\u636e\u5377\u58f0\u660e\uff1aDelete-PersistentVolumeClaim PersistentVolumeClaim \u5220\u9664\u526f\u672c\u96c6\uff1aDelete-ReplicaSet ReplicaSet ns\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\uff1aBindResourceTo-Workspace Workspace ns\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4 \uff1aUnBindResource-Workspace Workspace \u96c6\u7fa4\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\uff1aBindResourceTo-Workspace Workspace \u96c6\u7fa4\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\uff1aUnBindResource-Workspace Workspace \u6253\u5f00\u63a7\u5236\u53f0\uff1aCreate-CloudShell CloudShell \u5173\u95ed\u63a7\u5236\u53f0\uff1aDelete-CloudShell CloudShell"},{"location":"admin/ghippo/audit/gproduct-audit/mcamel.html","title":"\u4e2d\u95f4\u4ef6\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa es\uff1acreate-ElasticsearchInstance ElasticsearchInstance \u521b\u5efa kafka\uff1acreate-KafkaInstance KafkaInstance \u521b\u5efa MinIO\uff1acreate-MinIOInstance MinIOInstance \u521b\u5efa PostgreSQL\uff1acreate-PostgreSQLInstance PostgreSQLInstance \u521b\u5efa RabbitMQ\uff1acreate-RabbitMQInstance RabbitMQInstance \u521b\u5efa\u6570\u636e\u5e93\uff1acreate-MySQLInstance MySQLInstance \u521b\u5efa\u6570\u636e\u5e93\uff1acreate-RedisInstance RedisInstance \u5220\u9664 es\uff1adelete-ElasticsearchInstance ElasticsearchInstance \u5220\u9664 kafka\uff1adelete-KafkaInstance KafkaInstance \u5220\u9664 MinIO\uff1adelete-MinIOInstance MinIOInstance \u5220\u9664 PostgreSQL\uff1adelete-PostgreSQLInstance PostgreSQLInstance \u5220\u9664 RabbitMQ\uff1adelete-RabbitMQInstance RabbitMQInstance \u5220\u9664\u6570\u636e\u5e93\uff1adelete-MySQLInstance MySQLInstance \u5220\u9664\u6570\u636e\u5e93\uff1adelete-RedisInstance RedisInstance \u66f4\u65b0\u5907\u4efd\u8bbe\u7f6e\uff1aupdate-MySQLBackup MySQLBackup \u66f4\u65b0\u5907\u4efd\u8bbe\u7f6e\uff1aupdate-RedisBackup RedisBackup \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-ElasticsearchInstance ElasticsearchInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-KafkaInstance KafkaInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-MinIOInstance MinIOInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-MySQLInstance MySQLInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-PostgreSQLInstance PostgreSQLInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-RabbitMQInstance RabbitMQInstance \u66f4\u65b0\u5b9e\u4f8b\u914d\u7f6e\uff1aupdate-RedisInstance RedisInstance"},{"location":"admin/ghippo/audit/gproduct-audit/mspider.html","title":"\u670d\u52a1\u7f51\u683c\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u7f51\u683c\uff1acreate-MeshInstance MeshInstance \u5220\u9664\u7f51\u683c\uff1adelete-MeshInstance MeshInstance \u63a5\u5165\u96c6\u7fa4\uff1aAdd-Cluster cluster \u79fb\u9664\u96c6\u7fa4\uff1aRemove-Cluster cluster \u547d\u540d\u7a7a\u95f4\u8fb9\u8f66\u6ce8\u5165\u542f\u7528\uff1aInjectSidecarTo-Namespace Namespace \u547d\u540d\u7a7a\u95f4\u8fb9\u8f66\u6ce8\u5165\u7981\u7528\uff1aForbiddenInjectSidecarTo-Namespace Namespace \u5de5\u4f5c\u8d1f\u8f7d\u8fb9\u8f66\u6ce8\u5165\u542f\u7528\uff1aInjectSidecarTo-Workload workload \u5de5\u4f5c\u8d1f\u8f7d\u8fb9\u8f66\u6ce8\u5165\u7981\u7528\uff1aForbiddenInjectSidecarTo-Workload workload \u521b\u5efa\u7f51\u683c\u7f51\u5173\uff1acreate-MeshGateway MeshGateway \u5220\u9664\u7f51\u683c\u7f51\u5173\uff1adelete-MeshGateway MeshGateway \u542f\u7528\u591a\u4e91\uff1aEnable-Multicloud Multicloud \u5173\u95ed\u591a\u4e91\uff1aClose-Multicloud Multicloud \u542f\u7528\u4e92\u8054\uff1aEnableInterconnection MulticloudGroup \u79fb\u51fa\u4e92\u8054\uff1aDisableInterconnection MulticloudGroup"},{"location":"admin/ghippo/audit/gproduct-audit/skoala.html","title":"\u5fae\u670d\u52a1\u5f15\u64ce\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u521b\u5efa\u7f51\u5173\uff1aCreate-Gateway Gateway \u66f4\u65b0\u7f51\u5173\uff1aUpdate-Gateway Gateway \u96c6\u7fa4\u4e2d\u7f51\u5173\u5217\u8868\uff1aListClusterGateway-Gateway Gateway \u5220\u9664\u7f51\u5173\uff1aDelete-Gateway Gateway API \u4e0a\u4e0b\u7ebf\uff1aUpdateAPIStatus-GatewayAPI GatewayAPI API \u8c03\u7528\u6d4b\u8bd5\uff1aDebugGatewayAPI-GatewayAPI GatewayAPI \u521b\u5efa API\uff1aCreateGatewayAPI-GatewayAPI GatewayAPI \u5bfc\u5165 API \u68c0\u67e5\uff1aImportAPICheck-GatewayAPI GatewayAPI \u5bfc\u5165 API\uff1aImportAPI-GatewayAPI GatewayAPI \u66f4\u65b0 API \u9ad8\u7ea7\u7b56\u7565\uff1aUpdateGatewayAPIAdvancedPolicy-GatewayAPI GatewayAPI \u66f4\u65b0 API\uff1aUpdateGatewayAPI-GatewayAPI GatewayAPI \u6279\u91cf\u66f4\u65b0 API \u72b6\u6001\uff1aBatchOperationAPI-GatewayAPI GatewayAPI \u5220\u9664 API\uff1aDeleteAPI-GatewayAPI GatewayAPI \u521b\u5efa\u7f51\u5173\u63a5\u5165\u670d\u52a1\uff1aCreateService-GatewayService GatewayService \u66f4\u65b0\u7f51\u5173\u670d\u52a1\u7b56\u7565\uff1aUpdateServicePolicy-GatewayService GatewayService \u66f4\u65b0\u7f51\u5173\u63a5\u5165\u670d\u52a1\uff1aUpdateService-GatewayService GatewayService \u5220\u9664\u7f51\u5173\u670d\u52a1\uff1aDeleteService-GatewayService GatewayService \u521b\u5efa\u6d41\u91cf\u6cf3\u9053\uff1aCreateLane-Lane Lane \u521b\u5efa\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aCreateLaneDrainageRule-Lane Lane \u66f4\u65b0\u6d41\u91cf\u6cf3\u9053\u72b6\u6001\uff1aActionLane-Lane Lane \u66f4\u65b0\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\u72b6\u6001\uff1aUpdateLaneDrainageRuleStatus-Lane Lane \u66f4\u65b0\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aUpdateLaneDrainageRule-Lane Lane \u5220\u9664\u6d41\u91cf\u6cf3\u9053\uff1aDeleteLane-Lane Lane \u5220\u9664\u6cf3\u9053\u5f15\u6d41\u89c4\u5219\uff1aDeleteLaneDrainageRule-Lane Lane \u6dfb\u52a0\u6d41\u91cf\u6cf3\u9053\u670d\u52a1\uff1aAddLaneService-Lane Lane \u79fb\u9664\u6d41\u91cf\u6cf3\u9053\u670d\u52a1\uff1aDeleteLaneService-Lane Lane \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aCreateServiceIstioPlugin-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aCreateTimeout-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aCreateFault-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aCreateOutlierDetection-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aCreateConnectionPool-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aCreateRetry-Mesh Mesh \u521b\u5efa\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aCreateRewrite-Mesh Mesh \u5bf9\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\u6392\u5e8f\uff1aSortServiceIstioPlugin-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aUpdateServiceIstioPlugin-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aUpdateTimeout-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d1f\u8f7d\u5747\u8861\uff1aUpdateLb-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aUpdateFault-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aUpdateOutlierDetection-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aUpdateConnectionPool-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aUpdateRetry-Mesh Mesh \u66f4\u65b0\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aUpdateRewrite-Mesh Mesh \u5c06\u7f51\u683c\u670d\u52a1\u5bfc\u5165\u5230\u4e91\u539f\u751f\u5fae\u670d\u52a1\u4e2d\uff1aExportService-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u63d2\u4ef6\uff1aDeleteServiceIstioPlugin-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u8d85\u65f6\u89c4\u5219\uff1aDeleteTimeout-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u6545\u969c\u6ce8\u5165\uff1aDeleteFault-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u79bb\u7fa4\u68c0\u6d4b\uff1aDeleteOutlierDetection-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u7194\u65ad\u89c4\u5219\uff1aDeleteConnectionPool-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u8bd5\u89c4\u5219\uff1aDeleteRetry-Mesh Mesh \u5220\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u6cbb\u7406\u7aef\u53e3\u91cd\u5199\u89c4\u5219\uff1aDeleteRewrite-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u7ed1\u5b9a\u9650\u6d41\u89c4\u5219\uff1aCreateServiceIstioPluginRLSRules-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u66f4\u65b0\u9650\u6d41\u89c4\u5219\uff1aUpdateServiceIstioPluginRLSRules-Mesh Mesh \u4e3a\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\u5168\u5c40\u9650\u6d41\u7aef\u53e3\u5220\u9664\u9650\u6d41\u89c4\u5219\uff1aDeleteServiceIstioPluginRLSRules-Mesh Mesh \u79fb\u9664\u4e91\u539f\u751f\u5fae\u670d\u52a1\u7684\u670d\u52a1\uff1aRemoveService-Mesh Mesh \u6309metadata\u67e5\u8be2\u6258\u7ba1 Nacos\u670d\u52a1\u7684\u5b9e\u4f8b\u5217\u8868\uff1aQueryServiceInstance-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aCreateConfig-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684 API \u4fe1\u606f\uff1aCreateServiceAPI-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aCreateNamespace-Nacos Nacos \u521b\u5efa\u6258\u7ba1 Nacos\uff1aCreate-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u670d\u52a1\uff1aUpdateService-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aUpdateConfig-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684 API \u4fe1\u606f\uff1aUpdateServiceAPI-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684\u5b9e\u4f8b\u8be6\u60c5\uff1aUpdateServiceInstance-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aUpdateNamespace-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos\uff1aUpdate-Nacos Nacos \u56de\u6eda\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aRollbackConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u914d\u7f6e\uff1aDeleteConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u914d\u7f6e\u7684\u7070\u5ea6\u914d\u7f6e\uff1aDeleteBetaConfig-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\uff1aDeleteNamespace-Nacos Nacos \u5220\u9664\u6258\u7ba1 Nacos\uff1aDelete-Nacos Nacos \u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u670d\u52a1\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetServiceInsight-Nacos Nacos \u6258\u7ba1 Nacos \u547d\u540d\u7a7a\u95f4\u4e2d\u670d\u52a1\u7684\u5b9e\u4f8b\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetServiceInstanceInsight-Nacos Nacos \u4fee\u6539\u6258\u7ba1 Nacos \u7528\u6237\u5bc6\u7801\uff1aUpdateUserPassword-Nacos Nacos \u66f4\u65b0\u6258\u7ba1 Nacos \u7684\u63d2\u4ef6\u8be6\u60c5\uff1aUpdate-Plugin Plugin \u521b\u5efa\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684 API \u6587\u6863\uff1aCreateServiceAPI-Registry Registry \u521b\u5efa\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aCreate-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684 API \u6587\u6863\uff1aUpdateServiceAPI-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u5b9e\u4f8b\uff1aUpdateInstance-Registry Registry \u66f4\u65b0\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aUpdate-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u53ef\u89c2\u6d4b\u6570\u636e\uff1aGetServiceInsight-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u670d\u52a1\u7684\u5b9e\u4f8b\u53ef\u89c2\u6d4b\u4fe1\u606f\uff1aGetInstanceInsight-Registry Registry \u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u53ef\u7528\u6027\u68c0\u6d4b\uff1aPing-Registry Registry \u79fb\u9664\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\uff1aDelete-Registry Registry \u521b\u5efa/\u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel Token \u670d\u52a1\u5668\uff1aCreateOrUpdateTokenServer-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aCreateFlowRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aCreateParamFlowRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aCreateDegradeRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aCreateAuthorityRule-Sentinel Sentinel \u521b\u5efa\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aCreateSystemRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aUpdateFlowRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aUpdateParamFlowRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aUpdateDegradeRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aUpdateAuthorityRule-Sentinel Sentinel \u66f4\u65b0\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aUpdateSystemRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u96c6\u7fa4\u6d41\u63a7\uff1aDeleteClusterFlow-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u6d41\u63a7\u89c4\u5219\uff1aDeleteFlowRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u70ed\u70b9\u89c4\u5219\uff1aDeleteParamFlowRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u7194\u65ad\u89c4\u5219\uff1aDeleteDegradeRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u6388\u6743\u89c4\u5219\uff1aDeleteAuthorityRule-Sentinel Sentinel \u5220\u9664\u670d\u52a1\u4e2d\u7684 Sentinel \u7cfb\u7edf\u89c4\u5219\uff1aDeleteSystemRule-Sentinel Sentinel \u79fb\u9664\u670d\u52a1\u5b9e\u4f8b\u4e2d\u7684 Sentinel \u6cbb\u7406\u8be6\u60c5\uff1aDeleteInsGovern-Sentinel Sentinel \u521b\u5efa\u63d2\u4ef6\uff1aCreatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\u72b6\u6001\uff1aUpdatePluginStatus-SkoalaPlugin SkoalaPlugin \u66f4\u65b0\u63d2\u4ef6\uff1aUpdatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\uff1aDeletePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u63d2\u4ef6\u6a21\u677f\uff1aCreatePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u63d2\u4ef6\uff1aCreatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\u6a21\u677f\uff1aUpdatePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u66f4\u65b0\u63d2\u4ef6\uff1aUpdatePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\u6a21\u677f\uff1aDeletePluginTemplate-SkoalaPluginTemplate SkoalaPluginTemplate \u5220\u9664\u63d2\u4ef6\uff1aDeletePlugin-SkoalaPluginTemplate SkoalaPluginTemplate \u521b\u5efa\u57df\u540d\uff1aCreateVirtualhost-Virtualhost Virtualhost \u66f4\u65b0\u57df\u540d\uff1aUpdateVirtualhost-Virtualhost Virtualhost \u5220\u9664\u57df\u540d\uff1aDeleteVirtualhost-Virtualhost Virtualhost"},{"location":"admin/ghippo/audit/gproduct-audit/virtnest.html","title":"\u4e91\u4e3b\u673a\u5ba1\u8ba1\u9879\u6c47\u603b","text":"\u4e8b\u4ef6\u540d\u79f0 \u8d44\u6e90\u7c7b\u578b \u5907\u6ce8 \u91cd\u542f\u4e91\u4e3b\u673a\uff1aRestart-VMs VM \u4e91\u4e3b\u673a\u8f6c\u6362\u4e3a\u6a21\u677f\uff1aConvertToTemplate-VMs VM \u7f16\u8f91\u4e91\u4e3b\u673a\uff1aEdit-VMs VM \u66f4\u65b0\u4e91\u4e3b\u673a\uff1aUpdate-VMs VM \u5feb\u7167\u6062\u590d\uff1aRestore-VMs VM \u5f00\u673a\u4e91\u4e3b\u673a\uff1aPower on-VMs VM \u5b9e\u65f6\u8fc1\u79fb\uff1aLiveMigrate-VMs VM \u5220\u9664\u4e91\u4e3b\u673a\uff1aDelete-VMs VM \u5220\u9664\u4e91\u4e3b\u673a\u6a21\u677f\uff1aDelete-VM Template VM Template \u521b\u5efa\u4e91\u4e3b\u673a\uff1aCreate-VMs VM \u521b\u5efa\u5feb\u7167\uff1aCreateSnapshot-VMs VM \u5173\u673a\u4e91\u4e3b\u673a\uff1aPower off-VMs VM \u514b\u9686\u4e91\u4e3b\u673a\uff1aClone-VMs VM"},{"location":"admin/ghippo/permissions/baize.html","title":"AI Lab \u6743\u9650\u8bf4\u660e","text":"

                            AI Lab \u652f\u6301\u56db\u79cd\u7528\u6237\u89d2\u8272\uff1a

                            • Admin / Baize Owner\uff1a\u62e5\u6709 \u5f00\u53d1\u63a7\u5236\u53f0 \u548c \u8fd0\u7ef4\u7ba1\u7406 \u5168\u90e8\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7684\u6743\u9650\u3002
                            • Workspace Admin\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u589e\u5220\u6539\u67e5\u7684\u6743\u9650\u3002
                            • Workspace Editor\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u66f4\u65b0\u3001\u67e5\u8be2\u7684\u6743\u9650\u3002
                            • Workspace Viewer\uff1a\u62e5\u6709\u6388\u6743\u5de5\u4f5c\u7a7a\u95f4\u7684 \u5f00\u53d1\u63a7\u5236\u53f0 \u5168\u90e8\u529f\u80fd\u7684\u67e5\u8be2\u7684\u6743\u9650\u3002

                            \u6bcf\u79cd\u89d2\u8272\u5177\u6709\u4e0d\u540c\u7684\u6743\u9650\uff0c\u5177\u4f53\u8bf4\u660e\u5982\u4e0b\u3002

                            \u83dc\u5355\u5bf9\u8c61 \u64cd\u4f5c Admin / Baize Owner Workspace Admin Workspace Editor Workspace Viewer \u5f00\u53d1\u63a7\u5236\u53f0 \u6982\u89c8 \u67e5\u770b\u6982\u89c8 \u2713 \u2713 \u2713 \u2713 Notebooks \u67e5\u770b Notebooks \u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b Notebooks \u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 \u521b\u5efa Notebooks \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0 Notebooks \u2713 \u2713 \u2713 \u2717 \u514b\u9686 Notebooks \u2713 \u2713 \u2717 \u2717 \u505c\u6b62 Notebooks \u2713 \u2713 \u2713 \u2717 \u542f\u52a8 Notebooks \u2713 \u2713 \u2713 \u2717 \u5220\u9664 Notebooks \u2713 \u2713 \u2717 \u2717 \u4efb\u52a1\u5217\u8868 \u67e5\u770b\u4efb\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4efb\u52a1\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u514b\u9686\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u67e5\u770b\u4efb\u52a1\u8d1f\u8f7d\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u4efb\u52a1 \u2713 \u2713 \u2717 \u2717 \u4efb\u52a1\u5206\u6790 \u67e5\u770b\u4efb\u52a1\u5206\u6790 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4efb\u52a1\u5206\u6790\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u5220\u9664\u4efb\u52a1\u5206\u6790 \u2713 \u2713 \u2717 \u2717 \u6570\u636e\u96c6\u5217\u8868 \u67e5\u770b\u6570\u636e\u96c6\u5217\u8868 \u2713 \u2713 \u2713 \u2717 \u521b\u5efa\u6570\u636e\u96c6 \u2713 \u2713 \u2717 \u2717 \u91cd\u65b0\u540c\u6b65\u6570\u636e\u96c6 \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0\u51ed\u8bc1 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u6570\u636e\u96c6 \u2713 \u2713 \u2717 \u2717 \u73af\u5883\u7ba1\u7406 \u67e5\u770b\u73af\u5883\u7ba1\u7406\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u73af\u5883 \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0\u73af\u5883 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u73af\u5883 \u2713 \u2713 \u2717 \u2717 \u63a8\u7406\u670d\u52a1 \u67e5\u770b\u63a8\u7406\u670d\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u63a8\u7406\u670d\u52a1\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2717 \u2717 \u66f4\u65b0\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u505c\u6b62\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u542f\u52a8\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2713 \u2717 \u5220\u9664\u63a8\u7406\u670d\u52a1 \u2713 \u2713 \u2717 \u2717 \u8fd0\u7ef4\u7ba1\u7406 \u6982\u89c8 \u67e5\u770b\u6982\u89c8 \u2713 \u2717 \u2717 \u2717 GPU \u7ba1\u7406 \u67e5\u770b GPU \u7ba1\u7406\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u961f\u5217\u7ba1\u7406 \u67e5\u770b\u961f\u5217\u7ba1\u7406\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u961f\u5217\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u961f\u5217 \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u961f\u5217 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u961f\u5217 \u2713 \u2717 \u2717 \u2717"},{"location":"admin/ghippo/permissions/kpanda.html","title":"\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e","text":"

                            \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4f7f\u7528\u4ee5\u4e0b\u89d2\u8272\uff1a

                            • Admin / Kpanda Owner
                            • Cluster Admin
                            • NS Admin
                            • NS Editor
                            • NS Viewer

                            Note

                            • \u6709\u5173\u6743\u9650\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u4f53\u7cfb\u8bf4\u660e\u3002
                            • \u6709\u5173\u89d2\u8272\u7684\u521b\u5efa\u3001\u7ba1\u7406\u548c\u5220\u9664\uff0c\u8bf7\u53c2\u9605\u89d2\u8272\u548c\u6743\u9650\u7ba1\u7406\u3002
                            • Cluster Admin , NS Admin , NS Editor , NS Viewer \u7684\u6743\u9650\u4ec5\u5728\u5f53\u524d\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u5185\u751f\u6548\u3002

                            \u5404\u89d2\u8272\u6240\u5177\u5907\u7684\u6743\u9650\u5982\u4e0b\uff1a

                            \u4e00\u7ea7\u529f\u80fd \u4e8c\u7ea7\u529f\u80fd \u6743\u9650\u70b9 Cluster Admin Ns Admin Ns Editor NS Viewer \u96c6\u7fa4 \u96c6\u7fa4\u5217\u8868 \u67e5\u770b\u96c6\u7fa4\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u63a5\u5165\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u521b\u5efa\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u64cd\u4f5c \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713\uff08\u4ec5\u5217\u8868\u5185\u53ef\u4ee5\u8fdb\u5165\uff09 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91\u57fa\u7840\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u4e0b\u8f7d kubeconfig \u2713 \u2713\uff08\u4e0b\u8f7dns\u6743\u9650\u7684kubeconfig\uff09 \u2713\uff08\u4e0b\u8f7d ns \u6743\u9650\u7684 kubeconfig\uff09 \u2713\uff08\u4e0b\u8f7d ns \u6743\u9650\u7684 kubeconfig\uff09 \u89e3\u9664\u63a5\u5165 \u2717 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u91cd\u8bd5 \u2717 \u2717 \u2717 \u2717 \u5378\u8f7d\u96c6\u7fa4 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u6982\u89c8 \u67e5\u770b\u96c6\u7fa4\u6982\u89c8 \u2713 \u2717 \u2717 \u2717 \u8282\u70b9\u7ba1\u7406 \u63a5\u5165\u8282\u70b9 \u2717 \u2717 \u2717 \u2717 \u67e5\u770b\u8282\u70b9\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u8282\u70b9\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u6682\u505c\u8c03\u5ea6 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6c61\u70b9 \u2713 \u2717 \u2717 \u2717 \u79fb\u9664\u8282\u70b9 \u2717 \u2717 \u2717 \u2717 \u65e0\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9 ns \u7ed1\u5b9a\u7684 ws \u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 IP \u6c60\u67e5\u770b \u2713 \u2713 \u2713 \u2717 \u7f51\u5361\u7f16\u8f91 \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u6682\u505c\u5347\u7ea7 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001 - \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u6709\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b88\u62a4\u8fdb\u7a0b \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u5b9e\u4f8b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b9a\u65f6\u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u955c\u50cf\u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9ns\u7ed1\u5b9a\u7684ws\u5185\u7684\u5b9e\u4f8b \u9009\u62e9\u955c\u50cf \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4efb\u52a1\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bb9\u5668\u7ec4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u4e0a\u4f20\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u4e0b\u8f7d\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u5bb9\u5668\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 ReplicaSet \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 Helm \u5e94\u7528 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 Helm \u6a21\u677f \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u5b89\u88c5\u6a21\u677f \u2713 \u2713\uff08ns\u7ea7\u522b\u7684\u53ef\u4ee5\uff09 \u2717 \u2717 \u4e0b\u8f7d\u6a21\u677f \u2713 \u2713 \u2713\uff08\u548c\u67e5\u770b\u63a5\u53e3\u4e00\u81f4\uff09 \u2713 Helm \u4ed3\u5e93 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u514b\u9686\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u5237\u65b0\u4ed3\u5e93 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u670d\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u8def\u7531 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u7f51\u7edc\u7b56\u7565 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u7f51\u7edc\u914d\u7f6e \u914d\u7f6e\u7f51\u7edc \u2713 \u2713 \u2713 \u2717 \u81ea\u5b9a\u4e49\u8d44\u6e90 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91 YAML \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 PVC \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u9009\u62e9sc \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u514b\u9686 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 PV \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u7f16\u8f91 YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0 \u2713 \u2717 \u2717 \u2717 \u514b\u9686 \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2717 \u2717 \u2717 \u4fee\u6539\u6ce8\u89e3 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 SC \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0 \u2713 \u2717 \u2717 \u2717 \u6388\u6743\u547d\u540d\u7a7a\u95f4 \u2713 \u2717 \u2717 \u2717 \u89e3\u9664\u6388\u6743 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u914d\u7f6e\u9879 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u5bfc\u51fa\u914d\u7f6e\u9879 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bc6\u94a5 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2717 YAML \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u521b\u5efa \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u5bfc\u51fa\u5bc6\u94a5 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u547d\u540d\u7a7a\u95f4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 YAML \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2713 \u2717 \u2717 \u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4 \u2717 \u2717 \u2717 \u2717 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u2717 \u2717 \u2717 \u2717 \u914d\u989d\u7ba1\u7406 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u64cd\u4f5c \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 helm \u64cd\u4f5c \u8bbe\u7f6e\u4fdd\u7559\u6761\u6570 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2713 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u96c6\u7fa4\u5347\u7ea7 \u67e5\u770b\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5347\u7ea7 \u2717 \u2717 \u2717 \u2717 \u96c6\u7fa4\u8bbe\u7f6e addon \u63d2\u4ef6\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u9ad8\u7ea7\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u547d\u540d\u7a7a\u95f4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u521b\u5efa \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e \u2713 \u2713 \u2717 \u2717 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u2713 \u2717 \u2717 \u2717 \u914d\u989d\u7ba1\u7406 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5de5\u4f5c\u8d1f\u8f7d \u65e0\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u6682\u505c\u5347\u7ea7 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u56de\u9000 \u2713 \u2713 \u2713 \u2717 \u4fee\u6539\u6807\u7b7e\u6ce8\u89e3 \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u6709\u72b6\u6001\u8d1f\u8f7d \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u8d1f\u8f7d\u4f38\u7f29 \u2713 \u2713 \u2713 \u2717 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u505c\u6b62 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b88\u62a4\u8fdb\u7a0b \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u7f16\u8f91 YAML \u2713 \u2713 \u2713 \u2717 \u66f4\u65b0 \u2713 \u2713 \u2713 \u2717 \u72b6\u6001-\u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2717 \u91cd\u542f \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5b9a\u65f6\u4efb\u52a1 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5bb9\u5668\u7ec4 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2713 \u2713 \u2713\uff08\u4ec5\u67e5\u770b\uff09 \u8fdb\u5165\u63a7\u5236\u53f0 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u76d1\u63a7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b YAML \u2713 \u2713 \u2713 \u2713 \u4e0a\u4f20\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u4e0b\u8f7d\u6587\u4ef6 \u2713 \u2713 \u2713 \u2717 \u67e5\u770b\u5bb9\u5668\u5217\u8868 \u2713 \u2713 \u2713 \u2713 \u67e5\u770b\u4e8b\u4ef6 \u2713 \u2713 \u2713 \u2713 \u5220\u9664 \u2713 \u2713 \u2713 \u2717 \u5907\u4efd\u6062\u590d \u5e94\u7528\u5907\u4efd \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u5907\u4efd\u8ba1\u5212 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u8ba1\u5212 \u2713 \u2717 \u2717 \u2717 \u6682\u505c \u2713 \u2717 \u2717 \u2717 \u7acb\u5373\u6267\u884c \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u6062\u590d\u5907\u4efd \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u6062\u590d\u5907\u4efd \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5907\u4efd\u70b9 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u5bf9\u8c61\u5b58\u50a8 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 ETCD\u5907\u4efd \u67e5\u770b\u5907\u4efd\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u5907\u4efd\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u65e5\u5fd7 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b YAML \u2713 \u2717 \u2717 \u2717 \u66f4\u65b0\u5907\u4efd\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u505c\u6b62/\u542f\u52a8 \u2713 \u2717 \u2717 \u2717 \u7acb\u5373\u6267\u884c \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u5907\u4efd\u8bb0\u5f55 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u5907\u4efd\u70b9\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u5de1\u68c0 \u96c6\u7fa4\u5de1\u68c0 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b/\u7ba1\u7406\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u96c6\u7fa4\u5de1\u68c0 \u2713 \u2717 \u2717 \u2717 \u8bbe\u7f6e \u2713 \u2717 \u2717 \u2717 \u6743\u9650\u7ba1\u7406 \u96c6\u7fa4\u6743\u9650 \u67e5\u770b\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a cluster admin \u2713 \u2717 \u2717 \u2717 \u5220\u9664 \u2713 \u2717 \u2717 \u2717 \u547d\u540d\u7a7a\u95f4\u6743\u9650 \u67e5\u770b\u5217\u8868 \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns admin \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns editor \u2713 \u2713 \u2717 \u2717 \u6388\u6743\u7528\u6237\u4e3a ns viewer \u2713 \u2713 \u2717 \u2717 \u7f16\u8f91\u6743\u9650 \u2713 \u2713 \u2717 \u2717 \u5220\u9664 \u2713 \u2713 \u2717 \u2717 \u5b89\u5168\u7ba1\u7406 \u5408\u89c4\u6027\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u4e0b\u8f7d\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u914d\u7f6e\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u914d\u7f6e\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u914d\u7f6e \u2713 \u2717 \u2717 \u2717 \u6743\u9650\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u6f0f\u6d1e\u626b\u63cf \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u62a5\u544a\u8be6\u60c5 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u62a5\u544a \u2713 \u2717 \u2717 \u2717 \u67e5\u770b\u626b\u63cf\u7b56\u7565\u5217\u8868 \u2713 \u2717 \u2717 \u2717 \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717 \u5220\u9664\u626b\u63cf\u7b56\u7565 \u2713 \u2717 \u2717 \u2717"},{"location":"admin/ghippo/personal-center/accesstoken.html","title":"\u8bbf\u95ee\u5bc6\u94a5","text":"

                            \u8bbf\u95ee\u5bc6\u94a5\uff08Access Key\uff09\u53ef\u7528\u4e8e\u8bbf\u95ee\u5f00\u653e API \u548c\u6301\u7eed\u53d1\u5e03\uff0c\u7528\u6237\u53ef\u5728\u4e2a\u4eba\u4e2d\u5fc3\u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u83b7\u53d6\u5bc6\u94a5\u5e76\u8bbf\u95ee API\u3002

                            "},{"location":"admin/ghippo/personal-center/accesstoken.html#_2","title":"\u83b7\u53d6\u5bc6\u94a5","text":"

                            \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728\u53f3\u4e0a\u89d2\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\u627e\u5230 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u53ef\u4ee5\u5728 \u8bbf\u95ee\u5bc6\u94a5 \u9875\u9762\u7ba1\u7406\u8d26\u53f7\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                            Info

                            \u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\u4ec5\u663e\u793a\u4e00\u6b21\u3002\u5982\u679c\u60a8\u5fd8\u8bb0\u4e86\u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\uff0c\u60a8\u9700\u8981\u91cd\u65b0\u521b\u5efa\u65b0\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                            "},{"location":"admin/ghippo/personal-center/accesstoken.html#api","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbf\u95ee API","text":"

                            \u5728\u8bbf\u95ee\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0openAPI \u65f6\uff0c\u5728\u8bf7\u6c42\u4e2d\u52a0\u4e0a\u8bf7\u6c42\u5934 Authorization:Bearer ${token} \u4ee5\u6807\u8bc6\u8bbf\u95ee\u8005\u7684\u8eab\u4efd\uff0c \u5176\u4e2d ${token} \u662f\u4e0a\u4e00\u6b65\u4e2d\u83b7\u53d6\u5230\u7684\u5bc6\u94a5\uff0c\u5177\u4f53\u63a5\u53e3\u4fe1\u606f\u53c2\u89c1 OpenAPI \u63a5\u53e3\u6587\u6863\u3002

                            \u8bf7\u6c42\u793a\u4f8b

                            curl -X GET -H 'Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRKVjlBTHRBLXZ4MmtQUC1TQnVGS0dCSWc1cnBfdkxiQVVqM2U3RVByWnMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NjE0MTU5NjksImlhdCI6MTY2MDgxMTE2OSwiaXNzIjoiZ2hpcHBvLmlvIiwic3ViIjoiZjdjOGIxZjUtMTc2MS00NjYwLTg2MWQtOWI3MmI0MzJmNGViIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiYWRtaW4iLCJncm91cHMiOltdfQ.RsUcrAYkQQ7C6BxMOrdD3qbBRUt0VVxynIGeq4wyIgye6R8Ma4cjxG5CbU1WyiHKpvIKJDJbeFQHro2euQyVde3ygA672ozkwLTnx3Tu-_mB1BubvWCBsDdUjIhCQfT39rk6EQozMjb-1X1sbLwzkfzKMls-oxkjagI_RFrYlTVPwT3Oaw-qOyulRSw7Dxd7jb0vINPq84vmlQIsI3UuTZSNO5BCgHpubcWwBss-Aon_DmYA-Et_-QtmPBA3k8E2hzDSzc7eqK0I68P25r9rwQ3DeKwD1dbRyndqWORRnz8TLEXSiCFXdZT2oiMrcJtO188Ph4eLGut1-4PzKhwgrQ' https://demo-dev.daocloud.io/apis/ghippo.io/v1alpha1/users?page=1&pageSize=10 -k\n

                            \u8bf7\u6c42\u7ed3\u679c

                            {\n    \"items\": [\n        {\n            \"id\": \"a7cfd010-ebbe-4601-987f-d098d9ef766e\",\n            \"name\": \"a\",\n            \"email\": \"\",\n            \"description\": \"\",\n            \"firstname\": \"\",\n            \"lastname\": \"\",\n            \"source\": \"locale\",\n            \"enabled\": true,\n            \"createdAt\": \"1660632794800\",\n            \"updatedAt\": \"0\",\n            \"lastLoginAt\": \"\"\n        }\n    ],\n    \"pagination\": {\n        \"page\": 1,\n        \"pageSize\": 10,\n        \"total\": 1\n    }\n}\n
                            "},{"location":"admin/ghippo/personal-center/language.html","title":"\u8bed\u8a00\u8bbe\u7f6e","text":"

                            \u672c\u8282\u8bf4\u660e\u5982\u4f55\u8bbe\u7f6e\u754c\u9762\u8bed\u8a00\u3002\u76ee\u524d\u652f\u6301\u4e2d\u6587\u3001English \u4e24\u4e2a\u8bed\u8a00\u3002

                            \u8bed\u8a00\u8bbe\u7f6e\u662f\u5e73\u53f0\u63d0\u4f9b\u591a\u8bed\u8a00\u670d\u52a1\u7684\u5165\u53e3\uff0c\u5e73\u53f0\u9ed8\u8ba4\u663e\u793a\u4e3a\u4e2d\u6587\uff0c\u7528\u6237\u53ef\u6839\u636e\u9700\u8981\u9009\u62e9\u82f1\u8bed\u6216\u81ea\u52a8\u68c0\u6d4b\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u7684\u65b9\u5f0f\u6765\u5207\u6362\u5e73\u53f0\u8bed\u8a00\u3002 \u6bcf\u4e2a\u7528\u6237\u7684\u591a\u8bed\u8a00\u670d\u52a1\u662f\u76f8\u4e92\u72ec\u7acb\u7684\uff0c\u5207\u6362\u540e\u4e0d\u4f1a\u5f71\u54cd\u5176\u4ed6\u7528\u6237\u3002

                            \u5e73\u53f0\u63d0\u4f9b\u4e09\u79cd\u5207\u6362\u8bed\u8a00\u65b9\u5f0f\uff1a\u4e2d\u6587\u3001\u82f1\u8bed-English\u3001\u81ea\u52a8\u68c0\u6d4b\u60a8\u7684\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u3002

                            \u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\u3002

                            1. \u4f7f\u7528\u60a8\u7684\u7528\u6237\u540d/\u5bc6\u7801\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

                            2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

                            3. \u70b9\u51fb \u8bed\u8a00\u8bbe\u7f6e \u9875\u7b7e\u3002

                            4. \u5207\u6362\u8bed\u8a00\u9009\u9879\u3002

                            "},{"location":"admin/ghippo/personal-center/security-setting.html","title":"\u5b89\u5168\u8bbe\u7f6e","text":"

                            \u529f\u80fd\u8bf4\u660e\uff1a\u7528\u4e8e\u586b\u5199\u90ae\u7bb1\u5730\u5740\u548c\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

                            • \u90ae\u7bb1\uff1a\u5f53\u7ba1\u7406\u5458\u914d\u7f6e\u90ae\u7bb1\u670d\u52a1\u5668\u5730\u5740\u4e4b\u540e\uff0c\u7528\u6237\u80fd\u591f\u901a\u8fc7\u767b\u5f55\u9875\u7684\u5fd8\u8bb0\u5bc6\u7801\u6309\u94ae\uff0c\u586b\u5199\u8be5\u5904\u7684\u90ae\u7bb1\u5730\u5740\u4ee5\u627e\u56de\u5bc6\u7801\u3002
                            • \u5bc6\u7801\uff1a\u7528\u4e8e\u767b\u5f55\u5e73\u53f0\u7684\u5bc6\u7801\uff0c\u5efa\u8bae\u5b9a\u671f\u4fee\u6539\u5bc6\u7801\u3002

                            \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                            1. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

                            2. \u70b9\u51fb \u5b89\u5168\u8bbe\u7f6e \u9875\u7b7e\u3002\u586b\u5199\u60a8\u7684\u90ae\u7bb1\u5730\u5740\u6216\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

                            "},{"location":"admin/ghippo/personal-center/ssh-key.html","title":"\u914d\u7f6e SSH \u516c\u94a5","text":"

                            \u672c\u6587\u8bf4\u660e\u5982\u4f55\u914d\u7f6e SSH \u516c\u94a5\u3002

                            "},{"location":"admin/ghippo/personal-center/ssh-key.html#1-ssh","title":"\u6b65\u9aa4 1\uff1a\u67e5\u770b\u5df2\u5b58\u5728\u7684 SSH \u5bc6\u94a5","text":"

                            \u5728\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\u524d\uff0c\u8bf7\u5148\u786e\u8ba4\u662f\u5426\u9700\u8981\u4f7f\u7528\u672c\u5730\u5df2\u751f\u6210\u7684 SSH \u5bc6\u94a5\uff0cSSH \u5bc6\u94a5\u5bf9\u4e00\u822c\u5b58\u653e\u5728\u672c\u5730\u7528\u6237\u7684\u6839\u76ee\u5f55\u4e0b\u3002 Linux\u3001Mac \u8bf7\u76f4\u63a5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u5b58\u5728\u7684\u516c\u94a5\uff0cWindows \u7528\u6237\u5728 WSL\uff08\u9700\u8981 Windows 10 \u6216\u4ee5\u4e0a\uff09\u6216 Git Bash \u4e0b\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u751f\u6210\u7684\u516c\u94a5\u3002

                            • ED25519 \u7b97\u6cd5\uff1a

                              cat ~/.ssh/id_ed25519.pub\n
                            • RSA \u7b97\u6cd5\uff1a

                              cat ~/.ssh/id_rsa.pub\n

                            \u5982\u679c\u8fd4\u56de\u4e00\u957f\u4e32\u4ee5 ssh-ed25519 \u6216 ssh-rsa \u5f00\u5934\u7684\u5b57\u7b26\u4e32\uff0c\u8bf4\u660e\u5df2\u5b58\u5728\u672c\u5730\u516c\u94a5\uff0c \u60a8\u53ef\u4ee5\u8df3\u8fc7\u6b65\u9aa4 2 \u751f\u6210 SSH \u5bc6\u94a5\uff0c\u76f4\u63a5\u64cd\u4f5c\u6b65\u9aa4 3\u3002

                            "},{"location":"admin/ghippo/personal-center/ssh-key.html#2-ssh","title":"\u6b65\u9aa4 2\uff1a\u751f\u6210 SSH \u5bc6\u94a5","text":"

                            \u82e5\u6b65\u9aa4 1 \u672a\u8fd4\u56de\u6307\u5b9a\u7684\u5185\u5bb9\u5b57\u7b26\u4e32\uff0c\u8868\u793a\u672c\u5730\u6682\u65e0\u53ef\u7528 SSH \u5bc6\u94a5\uff0c\u9700\u8981\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\uff0c\u8bf7\u6309\u5982\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                            1. \u8bbf\u95ee\u7ec8\u7aef\uff08Windows \u8bf7\u4f7f\u7528 WSL \u6216 Git Bash\uff09\uff0c \u8fd0\u884c ssh-keygen -t\u3002

                            2. \u8f93\u5165\u5bc6\u94a5\u7b97\u6cd5\u7c7b\u578b\u548c\u53ef\u9009\u7684\u6ce8\u91ca\u3002

                              \u6ce8\u91ca\u4f1a\u51fa\u73b0\u5728 .pub \u6587\u4ef6\u4e2d\uff0c\u4e00\u822c\u53ef\u4f7f\u7528\u90ae\u7bb1\u4f5c\u4e3a\u6ce8\u91ca\u5185\u5bb9\u3002

                              • \u57fa\u4e8e ED25519 \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

                                ssh-keygen -t ed25519 -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
                              • \u57fa\u4e8e RSA \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

                                ssh-keygen -t rsa -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
                            3. \u70b9\u51fb\u56de\u8f66\uff0c\u9009\u62e9 SSH \u5bc6\u94a5\u751f\u6210\u8def\u5f84\u3002

                              \u4ee5 ED25519 \u7b97\u6cd5\u4e3a\u4f8b\uff0c\u9ed8\u8ba4\u8def\u5f84\u5982\u4e0b\uff1a

                              Generating public/private ed25519 key pair.\nEnter file in which to save the key (/home/user/.ssh/id_ed25519):\n

                              \u5bc6\u94a5\u9ed8\u8ba4\u751f\u6210\u8def\u5f84\uff1a/home/user/.ssh/id_ed25519\uff0c\u516c\u94a5\u4e0e\u4e4b\u5bf9\u5e94\u4e3a\uff1a/home/user/.ssh/id_ed25519.pub\u3002

                            4. \u8bbe\u7f6e\u4e00\u4e2a\u5bc6\u94a5\u53e3\u4ee4\u3002

                              Enter passphrase (empty for no passphrase):\nEnter same passphrase again:\n

                              \u53e3\u4ee4\u9ed8\u8ba4\u4e3a\u7a7a\uff0c\u60a8\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528\u53e3\u4ee4\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u3002 \u5982\u679c\u60a8\u4e0d\u60f3\u5728\u6bcf\u6b21\u4f7f\u7528 SSH \u534f\u8bae\u8bbf\u95ee\u4ed3\u5e93\u65f6\uff0c\u90fd\u8981\u8f93\u5165\u7528\u4e8e\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u7684\u53e3\u4ee4\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u8f93\u5165\u7a7a\u53e3\u4ee4\u3002

                            5. \u70b9\u51fb\u56de\u8f66\uff0c\u5b8c\u6210\u5bc6\u94a5\u5bf9\u521b\u5efa\u3002

                            "},{"location":"admin/ghippo/personal-center/ssh-key.html#3","title":"\u6b65\u9aa4 3\uff1a\u62f7\u8d1d\u516c\u94a5","text":"

                            \u9664\u4e86\u5728\u547d\u4ee4\u884c\u6253\u5370\u51fa\u5df2\u751f\u6210\u7684\u516c\u94a5\u4fe1\u606f\u624b\u52a8\u590d\u5236\u5916\uff0c\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u62f7\u8d1d\u516c\u94a5\u5230\u7c98\u8d34\u677f\u4e0b\uff0c\u8bf7\u53c2\u8003\u64cd\u4f5c\u7cfb\u7edf\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u62f7\u8d1d\u3002

                            • Windows\uff08\u5728 WSL \u6216 Git Bash \u4e0b\uff09\uff1a

                              cat ~/.ssh/id_ed25519.pub | clip\n
                            • Mac\uff1a

                              tr -d '\\n'< ~/.ssh/id_ed25519.pub | pbcopy\n
                            • GNU/Linux (requires xclip):

                              xclip -sel clip < ~/.ssh/id_ed25519.pub\n
                            "},{"location":"admin/ghippo/personal-center/ssh-key.html#4-ai","title":"\u6b65\u9aa4 4\uff1a\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u8bbe\u7f6e\u516c\u94a5","text":"
                            1. \u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0UI \u9875\u9762\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 -> SSH \u516c\u94a5 \u3002

                            2. \u6dfb\u52a0\u751f\u6210\u7684 SSH \u516c\u94a5\u4fe1\u606f\u3002

                              1. SSH \u516c\u94a5\u5185\u5bb9\u3002

                              2. \u516c\u94a5\u6807\u9898\uff1a\u652f\u6301\u81ea\u5b9a\u4e49\u516c\u94a5\u540d\u79f0\uff0c\u7528\u4e8e\u533a\u5206\u7ba1\u7406\u3002

                              3. \u8fc7\u671f\u65f6\u95f4\uff1a\u8bbe\u7f6e\u516c\u94a5\u8fc7\u671f\u65f6\u95f4\uff0c\u5230\u671f\u540e\u516c\u94a5\u5c06\u81ea\u52a8\u5931\u6548\uff0c\u4e0d\u53ef\u4f7f\u7528\uff1b\u5982\u679c\u4e0d\u8bbe\u7f6e\uff0c\u5219\u6c38\u4e45\u6709\u6548\u3002

                            "},{"location":"admin/ghippo/platform-setting/about.html","title":"\u5173\u4e8e\u5e73\u53f0","text":"

                            \u5173\u4e8e\u5e73\u53f0 \u4e3b\u8981\u5448\u73b0\u5e73\u53f0\u5404\u4e2a\u5b50\u6a21\u5757\u5f53\u524d\u66f4\u65b0\u7684\u7248\u672c\uff0c\u58f0\u660e\u4e86\u5e73\u53f0\u4f7f\u7528\u7684\u5404\u4e2a\u5f00\u6e90\u8f6f\u4ef6\uff0c\u5e76\u4ee5\u52a8\u753b\u89c6\u9891\u7684\u65b9\u5f0f\u81f4\u8c22\u4e86\u5e73\u53f0\u7684\u6280\u672f\u56e2\u961f\u3002

                            \u67e5\u770b\u6b65\u9aa4\uff1a

                            1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

                            2. \u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e \uff0c\u9009\u62e9 \u5173\u4e8e\u5e73\u53f0 \uff0c\u67e5\u770b\u4ea7\u54c1\u7248\u672c\u3001\u5f00\u6e90\u8f6f\u4ef6\u58f0\u660e\u548c\u6280\u672f\u56e2\u961f\u3002

                              License \u58f0\u660e

                              \u6280\u672f\u56e2\u961f

                            "},{"location":"admin/ghippo/platform-setting/appearance.html","title":"\u5916\u89c2\u5b9a\u5236","text":"

                            \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c\u53ef\u901a\u8fc7 \u5916\u89c2\u5b9a\u5236 \u66f4\u6362\u767b\u5f55\u754c\u9762\u3001\u9876\u90e8\u5bfc\u822a\u680f\u4ee5\u53ca\u5e95\u90e8\u7248\u6743\u548c\u5907\u6848\u4fe1\u606f\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u8fa8\u8bc6\u4ea7\u54c1\u3002

                            "},{"location":"admin/ghippo/platform-setting/appearance.html#_2","title":"\u5b9a\u5236\u8bf4\u660e","text":"
                            1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5e73\u53f0\u8bbe\u7f6e \u3002

                            2. \u9009\u62e9 \u5916\u89c2\u5b9a\u5236 \uff0c\u5728 \u767b\u5f55\u9875\u5b9a\u5236 \u9875\u7b7e\u4e2d\uff0c\u4fee\u6539\u767b\u5f55\u9875\u7684\u56fe\u6807\u548c\u6587\u5b57\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

                            3. \u9000\u51fa\u767b\u5f55\uff0c\u5728\u767b\u5f55\u9875\u5237\u65b0\u540e\u53ef\u770b\u5230\u914d\u7f6e\u540e\u7684\u6548\u679c

                            4. \u70b9\u51fb \u9876\u90e8\u5bfc\u822a\u680f\u5b9a\u5236 \u9875\u7b7e\uff0c\u4fee\u6539\u5bfc\u822a\u680f\u7684\u56fe\u6807\u548c\u6587\u5b57\u540e\uff0c\u70b9\u51fb \u4fdd\u5b58 \u3002

                            5. \u70b9\u51fb \u9ad8\u7ea7\u5b9a\u5236 \uff0c\u53ef\u4ee5\u7528 CSS \u6837\u5f0f\u8bbe\u7f6e\u767b\u5f55\u9875\u3001\u5bfc\u822a\u680f\u3001\u5e95\u90e8\u7248\u6743\u53ca\u5907\u6848\u4fe1\u606f\u3002

                            "},{"location":"admin/ghippo/platform-setting/appearance.html#_3","title":"\u9ad8\u7ea7\u5b9a\u5236","text":"

                            \u9ad8\u7ea7\u5b9a\u5236\u80fd\u591f\u901a\u8fc7 CSS \u6837\u5f0f\u6765\u4fee\u6539\u6574\u4e2a\u5bb9\u5668\u5e73\u53f0\u7684\u989c\u8272\u3001\u5b57\u4f53\u95f4\u9694\u3001\u5b57\u53f7\u7b49\u3002 \u60a8\u9700\u8981\u719f\u6089 CSS \u8bed\u6cd5\u3002\u5220\u9664\u9ed1\u8272\u8f93\u5165\u6846\u7684\u5185\u5bb9\uff0c\u53ef\u6062\u590d\u5230\u9ed8\u8ba4\u72b6\u6001\uff0c\u5f53\u7136\u4e5f\u53ef\u4ee5\u70b9\u51fb \u4e00\u952e\u8fd8\u539f \u6309\u94ae\u3002

                            \u767b\u5f55\u9875\u5b9a\u5236\u7684 CSS \u6837\u4f8b\uff1a

                            .test {\n  width: 12px;\n}\n\n#kc-login {\n /* color: red!important; */\n}\n

                            \u767b\u5f55\u540e\u9875\u9762\u5b9a\u5236\u7684 CSS \u6837\u4f8b\uff1a

                            .dao-icon.dao-iconfont.icon-service-global.dao-nav__head-icon {\n   color: red!important;\n}\n.ghippo-header-logo {\n  background-color: green!important;\n}\n.ghippo-header {\n  background-color: rgb(128, 115, 0)!important;\n}\n.ghippo-header-nav-main {\n  background-color: rgb(0, 19, 128)!important;\n}\n.ghippo-header-sub-nav-main .dao-popper-inner {\n  background-color: rgb(231, 82, 13) !important;\n}\n

                            Footer\uff08\u9875\u9762\u5e95\u90e8\u7684\u7248\u6743\u3001\u5907\u6848\u7b49\u4fe1\u606f\uff09\u5b9a\u5236\u793a\u4f8b

                            <div class=\"footer-content\">\n  <span class=\"footer-item\">Copyright \u00a9 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4fdd\u7559\u6240\u6709\u6743\u5229</span>\n  <a class=\"footer-item\" href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"noopener noreferrer\">\u6caa ICP \u5907 xxxxxx \u53f7 - 1</a>\n  <a class=\"footer-item\" href=\"https://beian.miit.gov.cn/\" target=\"_blank\" rel=\"noopener noreferrer\">\u6caa ICP \u5907 xxxxxx \u53f7 - 2</a>\n</div>\n<div class=\"footer-content\">\n  <img class=\"gongan-icon\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAQjSURBVHjaVNNZbFRlGIDh95w525zpdGa6TVtbykBbyiICxQY0AhYTJUCiiYqGqEEiJhKQmBg0ESPeeCGRENEYb4jhBr0gNQrRlCBiSgyLaSlSaKEs3Wemy+xnzuqFYdD/6rt6ku/N9wue55EcPwWArCgIgkx5ZRuYVxsnJ801Z05f3jY1MRnb/HxHV+uSph9RKq4mhkdwbZVgdQ2SHkPTwgj/h1QUWWi8/tfg/hM/XN/Y2zfaZnkSnuRDtLMsXhBOvrJtya/LlrcdMs1Qb1lVRQmSAEDAsU1kxpgamXp3y+azu1esreK9dyRqs9PIjkW6OsLx7lTV1ld/237s8HRV57MbnvO8CA+e9GCQFTk6Mza+4/0P+t9a9VSEI3uyTH/eR27aB2Ed31Q/Hx1sI6BHOPT13c5Frd0HW9p3HPUQEwAigJW9RDp+bstrOy981nVGLN/7RpHUV70YfXnEAtjxFPasxPDBQXatjzNTdOQXtg983H/51AFFy1KCIg2bNIdC+8270NwmUmelsXqSqHkDK5PDl8iCW0QcnEW+lqCjvcjQuMZ4YnQRTkotQUZu4GkjcfZNv19G011kXw4vayNYNvqCCvSVTciOgABgeuhBGwhgz5zbkI2ff7HUqJiNR2QktbbSYnBYYqbMT/ilKI4SIbT/GcRylbnvLmJ2X8N7tJ7rR8OE/BbliqEYea81WIotmOs02WFpc55Lf0f5/mSI3dsamOgxSX7ZjaALuBmB6M6FnB+S+POCwmOLk1QFFAqZyQWl1YrpiRZJLvDkygyC5NJ1XCax7xYNiTQVEYVIuUulayIcGeLkpw6WK7GuPY/fb2CkhleXIFFe8XPGaKBj9QxLW1Ik0bg8EuT2zRCJYZvZIYepe0EGbvi4bQUJVZhs2phADFYj+df0lBqJUnaekS4SUHXe3jrOnoE2PhSewHfRpfZGgcryIvfHdQruQlLo7Ns6QizqkJ31CIUlqwQJXuWUpDXj6qOsW32HT3YNImll9FwJsb4jyaLmWQ4fa6a+2sQw0ry8YZSiHcPxxXBtMfCv4XkUCrfliWs/fTE31rtTVfv9vsIorvQIniMhqXM4popVcJFVMHMpfMEaLPdxR1Tnna1b1vl6tGntpAjgCTNWONZyIFBR8Ydtr6EgrCI3VySfzZPLBDHyIq5gkpmzcOUmTGMF+bh7M9LYulfWzMmHBzk7Fpq9deWEYxjrtaCMXjWfstp6BCGNXZzBdYqYhogWqkMum4+oBVD0YnP63u/fFqbv1D+M7VSlBbmmK5uYaLYLYwslfwFVAyXQiOfcx3XyyGIM8DDn0lgWyGokHogu/0UJxpL/+f2e569s/CZQZ53OpzJr0+NXludUfb5jVdf7VUGXJUPIZast1S9PeII6jFDT5xMjFwO1S4c8zwTgnwEAxufYSzA67PMAAAAASUVORK5CYII=\" >\n  <a class=\"footer-item\" href=\"http://www.beian.gov.cn/portal/registerSystemInfo\">\u6caa\u516c\u7f51\u5b89\u5907 12345678912345\u53f7</a>\n</div>\n<style>\n.footer-content {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: center;\n}\n.footer-content + .footer-content {\n  margin-top: 8px;\n}\n.login-pf .footer-item {\n  color: white;\n}\n.footer-item {\n  color: var(--dao-gray-010);\n  text-decoration: none;\n}\n.footer-item + .footer-item {\n  margin-left: 8px;\n}\n.gongan-icon {\n  width: 18px;\n  height: 18px;\n  margin-right: 4px;\n}\n</style>\n

                            Note

                            \u5982\u679c\u60f3\u8981\u6062\u590d\u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u70b9\u51fb \u4e00\u952e\u8fd8\u539f \u3002\u8bf7\u6ce8\u610f\uff0c\u4e00\u952e\u8fd8\u539f\u540e\u5c06\u4e22\u5f03\u6240\u6709\u81ea\u5b9a\u4e49\u8bbe\u7f6e\u3002

                            "},{"location":"admin/ghippo/platform-setting/mail-server.html","title":"\u90ae\u4ef6\u670d\u52a1\u5668","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f1a\u5728\u7528\u6237\u5fd8\u8bb0\u5bc6\u7801\u65f6\uff0c\u5411\u7528\u6237\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u4ee5\u9a8c\u8bc1\u7535\u5b50\u90ae\u4ef6\u5730\u5740\uff0c\u786e\u4fdd\u7528\u6237\u662f\u672c\u4eba\u64cd\u4f5c\u3002 \u8981\u4f7f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u80fd\u591f\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\uff0c\u9700\u8981\u5148\u63d0\u4f9b\u60a8\u7684\u90ae\u4ef6\u670d\u52a1\u5668\u5730\u5740\u3002

                            \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                            1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

                            2. \u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e \uff0c\u9009\u62e9 \u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e \u3002

                              \u586b\u5199\u4ee5\u4e0b\u5b57\u6bb5\u914d\u7f6e\u90ae\u4ef6\u670d\u52a1\u5668\uff1a

                              \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c SMTP \u670d\u52a1\u5668\u5730\u5740 \u80fd\u591f\u63d0\u4f9b\u90ae\u4ef6\u670d\u52a1\u7684 SMTP \u670d\u52a1\u5668\u5730\u5740 smtp.163.com SMTP \u670d\u52a1\u5668\u7aef\u53e3 \u53d1\u9001\u90ae\u4ef6\u7684\u7aef\u53e3 25 \u7528\u6237\u540d SMTP \u7528\u6237\u7684\u540d\u79f0 test@163.com \u5bc6\u7801 SMTP \u8d26\u53f7\u7684\u5bc6\u7801 123456 \u53d1\u4ef6\u4eba\u90ae\u7bb1 \u53d1\u4ef6\u4eba\u7684\u90ae\u7bb1\u5730\u5740 test@163.com \u4f7f\u7528 SSL \u5b89\u5168\u8fde\u63a5 SSL \u53ef\u4ee5\u7528\u4e8e\u52a0\u5bc6\u90ae\u4ef6\uff0c\u4ece\u800c\u63d0\u9ad8\u901a\u8fc7\u90ae\u4ef6\u4f20\u8f93\u7684\u4fe1\u606f\u7684\u5b89\u5168\u6027\uff0c\u901a\u5e38\u9700\u4e3a\u90ae\u4ef6\u670d\u52a1\u5668\u914d\u7f6e\u8bc1\u4e66 \u4e0d\u5f00\u542f
                            3. \u914d\u7f6e\u5b8c\u6210\u540e\u70b9\u51fb \u4fdd\u5b58 \uff0c\u70b9\u51fb \u6d4b\u8bd5\u90ae\u4ef6\u670d\u52a1\u5668 \u3002

                            4. \u5c4f\u5e55\u53f3\u4e0a\u89d2\u51fa\u73b0\u6210\u529f\u53d1\u9001\u90ae\u4ef6\u7684\u63d0\u793a\uff0c\u5219\u8868\u793a\u90ae\u4ef6\u670d\u52a1\u5668\u88ab\u6210\u529f\u8bbe\u7f6e\u3002

                            "},{"location":"admin/ghippo/platform-setting/mail-server.html#_2","title":"\u5e38\u89c1\u95ee\u9898","text":"

                            \u95ee\uff1a\u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e\u540e\u7528\u6237\u4ecd\u65e0\u6cd5\u627e\u56de\u5bc6\u7801\u662f\u4ec0\u4e48\u539f\u56e0\uff1f

                            \u7b54\uff1a\u7528\u6237\u53ef\u80fd\u672a\u8bbe\u7f6e\u90ae\u7bb1\u6216\u8005\u8bbe\u7f6e\u4e86\u9519\u8bef\u7684\u90ae\u7bb1\u5730\u5740\uff1b\u6b64\u65f6\u53ef\u4ee5\u8ba9 admin \u89d2\u8272\u7684\u7528\u6237\u5728 \u5168\u5c40\u7ba1\u7406 -> \u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236 \u4e2d\u901a\u8fc7\u7528\u6237\u540d\u627e\u5230\u8be5\u7528\u6237\uff0c\u5e76\u5728\u7528\u6237\u8be6\u60c5\u4e2d\u4e3a\u8be5\u7528\u6237\u8bbe\u7f6e\u65b0\u7684\u767b\u5f55\u5bc6\u7801\u3002

                            \u5982\u679c\u90ae\u4ef6\u670d\u52a1\u5668\u6ca1\u6709\u8fde\u901a\uff0c\u8bf7\u68c0\u67e5\u90ae\u4ef6\u670d\u52a1\u5668\u5730\u5740\u3001\u7528\u6237\u540d\u53ca\u5bc6\u7801\u662f\u5426\u6b63\u786e\u3002

                            "},{"location":"admin/ghippo/platform-setting/security.html","title":"\u5b89\u5168\u7b56\u7565","text":"

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5728\u56fe\u5f62\u754c\u9762\u4e0a\u63d0\u4f9b\u4e86\u57fa\u4e8e\u5bc6\u7801\u548c\u8bbf\u95ee\u63a7\u5236\u7684\u5b89\u5168\u7b56\u7565\u3002

                            \u5bc6\u7801\u7b56\u7565

                            • \u65b0\u5bc6\u7801\u4e0d\u80fd\u4e0e\u6700\u8fd1\u7684\u5386\u53f2\u5bc6\u7801\u76f8\u540c\u3002
                            • \u5bc6\u7801\u8fc7\u671f\u540e\uff0c\u7cfb\u7edf\u5f3a\u5236\u8981\u6c42\u4fee\u6539\u5bc6\u7801\u3002
                            • \u5bc6\u7801\u4e0d\u80fd\u4e0e\u7528\u6237\u540d\u76f8\u540c\u3002
                            • \u5bc6\u7801\u4e0d\u80fd\u548c\u7528\u6237\u7684\u90ae\u7bb1\u5730\u5740\u76f8\u540c\u3002
                            • \u81ea\u5b9a\u4e49\u5bc6\u7801\u89c4\u5219\u3002
                            • \u81ea\u5b9a\u4e49\u5bc6\u7801\u6700\u5c0f\u957f\u5ea6\u3002

                            \u8bbf\u95ee\u63a7\u5236\u7b56\u7565

                            • \u4f1a\u8bdd\u8d85\u65f6\u7b56\u7565\uff1a\u7528\u6237\u5728 x \u5c0f\u65f6\u5185\u6ca1\u6709\u64cd\u4f5c\uff0c\u9000\u51fa\u5f53\u524d\u8d26\u53f7\u3002
                            • \u8d26\u53f7\u9501\u5b9a\u7b56\u7565\uff1a\u9650\u5236\u65f6\u95f4\u5185\u591a\u6b21\u767b\u5f55\u5931\u8d25\uff0c\u8d26\u53f7\u5c06\u88ab\u9501\u5b9a\u3002
                            • \u767b\u5f55/\u9000\u51fa\u7b56\u7565\uff1a\u5173\u95ed\u6d4f\u89c8\u5668\u7684\u540c\u65f6\u9000\u51fa\u767b\u5f55\u3002

                            \u8fdb\u5165\u5168\u5c40\u7ba1\u7406\u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5e73\u53f0\u8bbe\u7f6e -> \u5b89\u5168\u7b56\u7565 \uff0c\u5373\u53ef\u8bbe\u7f6e\u5bc6\u7801\u7b56\u7565\u548c\u8bbf\u95ee\u63a7\u5236\u7b56\u7565\u3002

                            "},{"location":"admin/ghippo/report-billing/index.html","title":"\u8fd0\u8425\u7ba1\u7406","text":"

                            \u8fd0\u8425\u7ba1\u7406\u901a\u8fc7\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\uff0c\u4e3a\u60a8\u5c55\u793a\u5e73\u53f0\u4e0a\u7edf\u8ba1\u65f6\u95f4\u8303\u56f4\u5185\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u3001\u5de5\u4f5c\u7a7a\u95f4\u7b49\u7ef4\u5ea6\u7684 CPU/\u5185\u5b58/\u5b58\u50a8/GPU \u7684\u4f7f\u7528\u603b\u91cf\u548c\u4f7f\u7528\u7387\u7b49\u4fe1\u606f\u3002 \u4ee5\u53ca\u901a\u8fc7\u4f7f\u7528\u91cf\u3001\u4f7f\u7528\u65f6\u95f4\u53ca\u5355\u4ef7\u7b49\u4fe1\u606f\uff0c\u81ea\u52a8\u8ba1\u7b97\u51fa\u7684\u5e73\u53f0\u6d88\u8d39\u4fe1\u606f\u3002\u8be5\u6a21\u5757\u9ed8\u8ba4\u5f00\u542f\u6240\u6709\u62a5\u8868\u7edf\u8ba1\uff0c\u540c\u65f6\u4e5f\u652f\u6301\u5e73\u53f0\u7ba1\u7406\u5458\u5bf9\u5355\u4e2a\u62a5\u8868\u8fdb\u884c\u624b\u52a8\u5f00\u542f\u6216\u5173\u95ed\uff0c \u5f00\u542f/\u5173\u95ed\u540e\u5c06\u5728\u6700\u957f 20 \u5206\u949f\u5185\uff0c\u5e73\u53f0\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u62a5\u8868\u6570\u636e\uff0c\u5f80\u671f\u5df2\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u5c55\u793a\u3002 \u8fd0\u8425\u7ba1\u7406\u6570\u636e\u6700\u591a\u53ef\u5728\u5e73\u53f0\u4e0a\u4fdd\u7559 365 \u5929\uff0c\u8d85\u8fc7\u4fdd\u7559\u65f6\u95f4\u7684\u7edf\u8ba1\u6570\u636e\u5c06\u88ab\u81ea\u52a8\u5220\u9664\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7 CSV \u6216 Excel \u65b9\u5f0f\u4e0b\u8f7d\u62a5\u8868\u540e\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u7edf\u8ba1\u548c\u5206\u6790\u3002

                            \u62a5\u8868\u7ba1\u7406\u901a\u8fc7 CPU \u5229\u7528\u7387\u3001\u5185\u5b58\u5229\u7528\u7387\u3001\u5b58\u50a8\u5229\u7528\u7387\u3001GPU \u7b97\u529b\u5229\u7528\u7387\u3001GPU \u663e\u5b58\u5229\u7528\u7387 5 \u4e2a\u7ef4\u5ea6\uff0c\u5bf9\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4 5 \u79cd\u8d44\u6e90\u8fdb\u884c\u6570\u636e\u7edf\u8ba1\u3002\u540c\u65f6\u8054\u52a8\u5ba1\u8ba1\u548c\u544a\u8b66\u6a21\u5757\uff0c\u652f\u6301\u5bf9\u5ba1\u8ba1\u6570\u636e\u548c\u544a\u8b66\u6570\u636e\u8fdb\u884c\u7edf\u8ba1\u7ba1\u7406\u3002\u5171\u8ba1\u652f\u6301 7 \u79cd\u7c7b\u578b\u62a5\u8868\u3002

                            \u8ba1\u91cf\u8ba1\u8d39\u9488\u5bf9\u5e73\u53f0\u4e0a\u7684\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u547d\u540d\u7a7a\u95f4\u548c\u5de5\u4f5c\u7a7a\u95f4 5 \u79cd\u8d44\u6e90\u8fdb\u884c\u8ba1\u8d39\u7edf\u8ba1\u3002 \u6839\u636e\u4e0d\u540c\u8d44\u6e90\u4e2d CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u548c GPU \u7684\u4f7f\u7528\u91cf\uff0c\u4ee5\u53ca\u7528\u6237\u624b\u52a8\u914d\u7f6e\u7684\u4ef7\u683c\u548c\u8d27\u5e01\u5355\u4f4d\u81ea\u52a8\u8ba1\u7b97\u51fa\u6bcf\u79cd\u8d44\u6e90\u5728\u7edf\u8ba1\u65f6\u95f4\u7684\u6d88\u8d39\u60c5\u51b5\uff0c \u6839\u636e\u6240\u9009\u65f6\u95f4\u8de8\u5ea6\u4e0d\u540c\uff0c\u53ef\u5feb\u901f\u8ba1\u7b97\u51fa\u8be5\u8de8\u5ea6\u5185\u7684\u5b9e\u9645\u6d88\u8d39\u60c5\u51b5\uff0c\u5982\u6708\u5ea6\u3001\u5b63\u5ea6\u3001\u5e74\u5ea6\u7b49\u3002

                            "},{"location":"admin/ghippo/report-billing/billing.html","title":"\u8ba1\u91cf\u8ba1\u8d39","text":"

                            \u8ba1\u91cf\u8ba1\u8d39\u5728\u62a5\u8868\u7684\u57fa\u7840\u4e0a\uff0c\u5bf9\u8d44\u6e90\u7684\u4f7f\u7528\u6570\u636e\u505a\u4e86\u8fdb\u4e00\u6b65\u7684\u8ba1\u8d39\u5904\u7406\u3002\u652f\u6301\u7528\u6237\u624b\u52a8\u8bbe\u7f6e CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u3001GPU \u7684\u5355\u4ef7\u4ee5\u53ca\u8d27\u5e01\u5355\u4f4d\u7b49\uff0c\u8bbe\u7f6e\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u7edf\u8ba1\u51fa\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5de5\u4f5c\u7a7a\u95f4\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u82b1\u8d39\u60c5\u51b5\uff0c\u65f6\u95f4\u6bb5\u7528\u6237\u53ef\u81ea\u7531\u8c03\u6574\uff0c\u53ef\u6309\u7167\u5468\u3001\u6708\u3001\u5b63\u5ea6\u3001\u5e74\u7b5b\u9009\u8c03\u6574\u540e\u5bfc\u51fa Excel \u6216 Csv \u683c\u5f0f\u7684\u8ba1\u8d39\u62a5\u8868\u3002

                            "},{"location":"admin/ghippo/report-billing/billing.html#_2","title":"\u8ba1\u8d39\u89c4\u5219\u53ca\u751f\u6548\u65f6\u95f4","text":"
                            • \u8ba1\u8d39\u89c4\u5219\uff1a\u9ed8\u8ba4\u6309\u7167\u8bf7\u6c42\u503c\u548c\u4f7f\u7528\u91cf\u7684\u6700\u5927\u503c\u8ba1\u8d39\u3002
                            • \u751f\u6548\u65f6\u95f4\uff1a\u6b21\u65e5\u751f\u6548\uff0c\u4ee5\u6b21\u65e5\u51cc\u6668\u65f6\u83b7\u53d6\u7684\u5355\u4ef7\u548c\u6570\u91cf\u8ba1\u7b97\u5f53\u5929\u4ea7\u751f\u7684\u8d39\u7528\u3002
                            "},{"location":"admin/ghippo/report-billing/billing.html#_3","title":"\u529f\u80fd\u7279\u6027","text":"
                            • \u652f\u6301\u81ea\u5b9a\u4e49\u8bbe\u7f6e CPU \u3001\u5185\u5b58\u3001\u5b58\u50a8\u4ee5\u53ca GPU \u7684\u8ba1\u8d39\u5355\u4f4d\uff0c\u4ee5\u53ca\u8d27\u5e01\u5355\u4f4d\u3002
                            • \u652f\u6301\u67e5\u8be2\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u7684\u7edf\u8ba1\u6570\u636e\uff0c\u6839\u636e\u6240\u9009\u65f6\u95f4\u6bb5\u81ea\u52a8\u8ba1\u7b97\u51fa\u8be5\u65f6\u95f4\u6bb5\u5185\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
                            • \u652f\u6301\u4ee5 CSV \u548c Excel \u4e24\u79cd\u683c\u5f0f\u5bfc\u51fa\u8ba1\u8d39\u62a5\u8868\u3002
                            • \u652f\u6301\u5f00\u542f/\u5173\u95ed\u5355\u4e2a\u8ba1\u8d39\u62a5\u8868\uff0c\u5f00\u542f/\u5173\u95ed\u540e\uff0c\u5e73\u53f0\u5c06\u5728 20 \u5206\u949f\u5185\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u6570\u636e\uff0c\u5f80\u671f\u5df2\u7ecf\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u663e\u793a\u3002
                            • \u652f\u6301\u5bf9 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u6570\u636e\u7684\u9009\u62e9\u6027\u5c55\u793a\u3002
                            "},{"location":"admin/ghippo/report-billing/billing.html#_4","title":"\u62a5\u8868\u7ef4\u5ea6","text":"

                            \u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u62a5\u8868\uff1a

                            • \u96c6\u7fa4\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u6570\u91cf\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u8282\u70b9\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u8282\u70b9\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u8ba1\u8d39\u60c5\u51b5\u3002
                            • \u8282\u70b9\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u8282\u70b9\u7684 IP\u3001\u7c7b\u578b\u548c\u6240\u5c5e\u96c6\u7fa4\u3002
                            • \u5bb9\u5668\u7ec4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u5bb9\u5668\u7ec4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u7684\u6240\u5c5e\u547d\u540d\u7a7a\u95f4\u3001\u6240\u5c5e\u96c6\u7fa4\u548c\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\u3002
                            • \u5de5\u4f5c\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u5de5\u4f5c\u7a7a\u95f4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u548c\u5bb9\u5668\u7ec4\u6570\u91cf\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u547d\u540d\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u547d\u540d\u7a7a\u95f4\u7684\u8ba1\u8d39\u60c5\u51b5\uff1b\u540c\u6837\u7684\u65b9\u5f0f\u53ef\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
                            • \u547d\u540d\u7a7a\u95f4\u8ba1\u8d39\u62a5\u8868\uff1a\u67d0\u6bb5\u65f6\u95f4\u5185\u5168\u90e8\u547d\u540d\u7a7a\u95f4\u7684 CPU\u3001\u5185\u5b58\u603b\u91cf\u3001\u5b58\u50a8\u3001GPU\u3001\u603b\u8ba1\u7b49\u8ba1\u8d39\u60c5\u51b5\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u6570\u91cf\u3001\u6240\u5c5e\u96c6\u7fa4\u3001\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\uff0c\u53ef\u901a\u8fc7\u70b9\u51fb\u5bb9\u5668\u7ec4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u5bb9\u5668\u7ec4\u8ba1\u8d39\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u8ba1\u8d39\u60c5\u51b5\u3002
                            "},{"location":"admin/ghippo/report-billing/billing.html#_5","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u4f7f\u7528\u5177\u6709 admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u8fd0\u8425\u7ba1\u7406 \u3002

                            2. \u8fdb\u5165 \u8fd0\u8425\u7ba1\u7406 \u540e\u5207\u6362\u4e0d\u540c\u83dc\u5355\u53ef\u67e5\u770b\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u7b49\u8ba1\u8d39\u62a5\u8868\u3002

                            "},{"location":"admin/ghippo/report-billing/report.html","title":"\u62a5\u8868\u7ba1\u7406","text":"

                            \u62a5\u8868\u7ba1\u7406\u4ee5\u53ef\u89c6\u5316\u7684\u65b9\u5f0f\uff0c\u5c55\u793a\u4e86\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u3001\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5ba1\u8ba1\u53ca\u544a\u8b66\u7ef4\u5ea6\u7684\u7edf\u8ba1\u6570\u636e\uff0c\u4e3a\u5e73\u53f0\u7684\u8ba1\u8d39\u53ca\u4f7f\u7528\u60c5\u51b5\u7684\u8c03\u4f18\u63d0\u4f9b\u4e86\u53ef\u9760\u7684\u57fa\u7840\u6570\u636e\u3002

                            "},{"location":"admin/ghippo/report-billing/report.html#_2","title":"\u529f\u80fd\u7279\u6027","text":"
                            • \u652f\u6301\u67e5\u8be2\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u7684\u7edf\u8ba1\u6570\u636e
                            • \u652f\u6301\u4ee5 CSV \u548c Excel \u4e24\u79cd\u683c\u5f0f\u5bfc\u51fa\u62a5\u8868
                            • \u652f\u6301\u5f00\u542f/\u5173\u95ed\u5355\u4e2a\u62a5\u8868\uff0c\u5f00\u542f/\u5173\u95ed\u540e\uff0c\u5e73\u53f0\u5c06\u5728 20 \u5206\u949f\u5185\u5f00\u59cb/\u505c\u6b62\u91c7\u96c6\u6570\u636e\uff0c\u5f80\u671f\u5df2\u7ecf\u91c7\u96c6\u5230\u7684\u6570\u636e\u8fd8\u5c06\u6b63\u5e38\u663e\u793a
                            • \u652f\u6301\u5c55\u793a CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c
                            "},{"location":"admin/ghippo/report-billing/report.html#_3","title":"\u62a5\u8868\u7ef4\u5ea6","text":"

                            \u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u62a5\u8868\uff1a

                            • \u96c6\u7fa4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u96c6\u7fa4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u8be5\u6bb5\u65f6\u95f4\u5185\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u6570\u91cf\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u8282\u70b9\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u8282\u70b9\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u4f7f\u7528\u60c5\u51b5\u3002
                            • \u8282\u70b9\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u8282\u70b9\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u8282\u70b9\u7684 IP\u3001\u7c7b\u578b\u548c\u6240\u5c5e\u96c6\u7fa4\u3002
                            • \u5bb9\u5668\u7ec4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u7684\u6240\u5c5e\u547d\u540d\u7a7a\u95f4\u3001\u6240\u5c5e\u96c6\u7fa4\u548c\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\u3002
                            • \u5de5\u4f5c\u7a7a\u95f4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u548c\u5bb9\u5668\u7ec4\u6570\u91cf\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u547d\u540d\u7a7a\u95f4\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u547d\u540d\u7a7a\u95f4\u7684\u4f7f\u7528\u60c5\u51b5\uff1b\u540c\u6837\u7684\u65b9\u5f0f\u53ef\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u4e0b\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u4f7f\u7528\u60c5\u51b5\u3002
                            • \u547d\u540d\u7a7a\u95f4\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u547d\u540d\u7a7a\u95f4\u7684 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u3001\u5b58\u50a8\u4f7f\u7528\u7387\u548c GPU \u663e\u5b58\u4f7f\u7528\u7387\u7684\u6700\u5927\u3001\u6700\u5c0f\u548c\u5e73\u5747\u503c\uff0c\u4ee5\u53ca\u5bb9\u5668\u7ec4\u6570\u91cf\u3001\u6240\u5c5e\u96c6\u7fa4\u3001\u6240\u5c5e\u5de5\u4f5c\u7a7a\u95f4\uff0c \u53ef\u901a\u8fc7\u70b9\u51fb\u5bb9\u5668\u7ec4\u6570\u91cf\u5feb\u6377\u8fdb\u5165\u5bb9\u5668\u7ec4\u62a5\u8868\uff0c\u5e76\u67e5\u770b\u8be5\u6bb5\u65f6\u95f4\u5185\u8be5\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u5bb9\u5668\u7ec4\u7684\u4f7f\u7528\u60c5\u51b5\u3002
                            • \u5ba1\u8ba1\u62a5\u8868\uff1a\u5206\u4e3a\u7528\u6237\u64cd\u4f5c\u548c\u8d44\u6e90\u64cd\u4f5c\u4e24\u4e2a\u62a5\u8868\u3002\u7528\u6237\u64cd\u4f5c\u62a5\u8868\u4e3b\u8981\u7edf\u8ba1\u5355\u4e2a\u7528\u6237\u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u64cd\u4f5c\u6b21\u6570\uff0c\u4ee5\u53ca\u6210\u529f\u548c\u5931\u8d25\u7684\u6b21\u6570\uff1b \u8d44\u6e90\u64cd\u4f5c\u62a5\u8868\u4e3b\u8981\u7edf\u8ba1\u6240\u6709\u7528\u6237\u5bf9\u67d0\u79cd\u7c7b\u578b\u8d44\u6e90\u7684\u64cd\u4f5c\u6b21\u6570\u3002
                            • \u544a\u8b66\u62a5\u8868\uff1a\u5c55\u793a\u67d0\u6bb5\u65f6\u95f4\u5185\u6240\u6709\u8282\u70b9\u7684\u544a\u8b66\u6570\u91cf\uff0c\u4ee5\u53ca\u81f4\u547d\u3001\u4e25\u91cd\u3001\u544a\u8b66\u5206\u522b\u4ea7\u751f\u7684\u6b21\u6570\u3002
                            "},{"location":"admin/ghippo/report-billing/report.html#_4","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u4f7f\u7528\u5177\u6709 Admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u8fd0\u8425\u7ba1\u7406 \u3002

                            2. \u8fdb\u5165\u8fd0\u8425\u7ba1\u7406\u540e\u5207\u6362\u4e0d\u540c\u83dc\u5355\u53ef\u67e5\u770b\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\u7b49\u62a5\u8868\u3002

                            "},{"location":"admin/ghippo/workspace/folder-permission.html","title":"\u6587\u4ef6\u5939\u6743\u9650\u8bf4\u660e","text":"

                            \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

                            \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u662f Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5b50\u6587\u4ef6\u5939\u4ecd\u4e3a Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4\u5219\u4e3a Workspace Admin\uff1b \u82e5\u5728 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 -> \u8d44\u6e90\u7ec4 \u4e2d\u7ed1\u5b9a\u4e86 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fd8\u662f Namespace Admin\u3002

                            Note

                            \u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

                            "},{"location":"admin/ghippo/workspace/folder-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

                            \u6587\u4ef6\u5939\u5177\u6709\u5c42\u7ea7\u80fd\u529b\uff0c\u56e0\u6b64\u5c06\u6587\u4ef6\u5939\u5bf9\u5e94\u4e8e\u4f01\u4e1a\u4e2d\u7684\u90e8\u95e8/\u4f9b\u5e94\u5546/\u9879\u76ee\u7b49\u5c42\u7ea7\u65f6\uff0c

                            • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u7ba1\u7406\u6743\u9650\uff08Admin\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u7ba1\u7406\u6743\u9650\uff1b
                            • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u4f7f\u7528\u6743\u9650\uff08Editor\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u4f7f\u7528\u6743\u9650\uff1b
                            • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u53ea\u8bfb\u6743\u9650\uff08Viewer\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u53ea\u8bfb\u6743\u9650\u3002
                            \u5bf9\u8c61 \u64cd\u4f5c Folder Admin Folder Editor Folder Viewer \u5bf9\u6587\u4ef6\u5939\u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5b50\u6587\u4ef6\u5939 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717"},{"location":"admin/ghippo/workspace/folders.html","title":"\u521b\u5efa/\u5220\u9664\u6587\u4ef6\u5939","text":"

                            \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u3002

                            1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

                            2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u6587\u4ef6\u5939 \u6309\u94ae\u3002

                            3. \u586b\u5199\u6587\u4ef6\u5939\u540d\u79f0\u3001\u4e0a\u4e00\u7ea7\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u6587\u4ef6\u5939\u3002

                            Tip

                            \u521b\u5efa\u6210\u529f\u540e\u6587\u4ef6\u5939\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

                            Note

                            \u9009\u4e2d\u67d0\u4e00\u4e2a\u6587\u4ef6\u5939\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

                            • \u5f53\u8be5\u6587\u4ef6\u5939\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002

                            • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u6587\u4ef6\u5939\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u6587\u4ef6\u5939\u3002

                            "},{"location":"admin/ghippo/workspace/quota.html","title":"\u8d44\u6e90\u914d\u989d\uff08Quota\uff09","text":"

                            \u5171\u4eab\u8d44\u6e90\u5e76\u975e\u610f\u5473\u7740\u88ab\u5171\u4eab\u8005\u53ef\u4ee5\u65e0\u9650\u5236\u5730\u4f7f\u7528\u88ab\u5171\u4eab\u7684\u8d44\u6e90\u3002 Admin\u3001Kpanda Owner \u548c Workspace Admin \u53ef\u4ee5\u901a\u8fc7\u5171\u4eab\u8d44\u6e90\u4e2d\u7684 \u8d44\u6e90\u914d\u989d \u529f\u80fd\u9650\u5236\u67d0\u4e2a\u7528\u6237\u7684\u6700\u5927\u4f7f\u7528\u989d\u5ea6\u3002 \u82e5\u4e0d\u9650\u5236\uff0c\u5219\u8868\u793a\u53ef\u4ee5\u65e0\u9650\u5236\u4f7f\u7528\u3002

                            • CPU \u8bf7\u6c42\uff08Core\uff09
                            • CPU \u9650\u5236\uff08Core\uff09
                            • \u5185\u5b58\u8bf7\u6c42\uff08MB\uff09
                            • \u5185\u5b58\u9650\u5236\uff08MB\uff09
                            • \u5b58\u50a8\u8bf7\u6c42\u603b\u91cf\uff08GB\uff09
                            • \u5b58\u50a8\u5377\u58f0\u660e\uff08\u4e2a\uff09
                            • GPU \u7c7b\u578b\u3001\u89c4\u683c\u3001\u6570\u91cf\uff08\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e Nvidia\u3001Ascend\u3001lluvatar\u7b49GPU\u5361\u7c7b\u578b\uff09

                            \u4e00\u4e2a\u8d44\u6e90\uff08\u96c6\u7fa4\uff09\u53ef\u4ee5\u88ab\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5171\u4eab\uff0c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u53ef\u4ee5\u540c\u65f6\u4f7f\u7528\u591a\u4e2a\u5171\u4eab\u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u3002

                            "},{"location":"admin/ghippo/workspace/quota.html#_1","title":"\u8d44\u6e90\u7ec4\u548c\u5171\u4eab\u8d44\u6e90","text":"

                            \u5171\u4eab\u8d44\u6e90\u548c\u8d44\u6e90\u7ec4\u4e2d\u7684\u96c6\u7fa4\u8d44\u6e90\u5747\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\uff0c\u4f46\u662f\u96c6\u7fa4\u7ed1\u5b9a\u548c\u5171\u4eab\u7ed9\u540c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5c06\u4f1a\u4ea7\u751f\u4e24\u79cd\u622a\u7136\u4e0d\u540c\u7684\u6548\u679c\u3002

                            1. \u7ed1\u5b9a\u8d44\u6e90

                              \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u7684\u5168\u90e8\u7ba1\u7406\u548c\u4f7f\u7528\u6743\u9650\uff0cWorkspace Admin \u5c06\u88ab\u6620\u5c04\u4e3a Cluster Admin\u3002 Workspace Admin \u80fd\u591f\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7ba1\u7406\u8be5\u96c6\u7fa4\u3002

                              Note

                              \u5f53\u524d\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u6682\u65e0 Cluster Editor \u548c Cluster Viewer \u89d2\u8272\uff0c\u56e0\u6b64 Workspace Editor\u3001Workspace Viewer \u8fd8\u65e0\u6cd5\u6620\u5c04\u3002

                            2. \u65b0\u589e\u5171\u4eab\u8d44\u6e90

                              \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u8d44\u6e90\u7684\u4f7f\u7528\u6743\u9650\uff0c\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff08Namespace\uff09\u65f6\u4f7f\u7528\u3002

                              \u4e0e\u8d44\u6e90\u7ec4\u4e0d\u540c\uff0c\u5c06\u96c6\u7fa4\u5171\u4eab\u5230\u5de5\u4f5c\u7a7a\u95f4\u65f6\uff0c\u7528\u6237\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u89d2\u8272\u4e0d\u4f1a\u6620\u5c04\u5230\u8d44\u6e90\u4e0a\uff0c\u56e0\u6b64 Workspace Admin \u4e0d\u4f1a\u88ab\u6620\u5c04\u4e3a Cluster admin\u3002

                            \u672c\u8282\u5c55\u793a 3 \u4e2a\u4e0e\u8d44\u6e90\u914d\u989d\u6709\u5173\u7684\u573a\u666f\u3002

                            "},{"location":"admin/ghippo/workspace/quota.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

                            \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u4f1a\u6d89\u53ca\u5230\u8d44\u6e90\u914d\u989d\u3002

                            1. \u5728\u5de5\u4f5c\u7a7a\u95f4 ws01 \u65b0\u589e\u4e00\u4e2a\u5171\u4eab\u96c6\u7fa4\u3002

                            2. \u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u9009\u62e9\u5de5\u4f5c\u7a7a\u95f4 ws01 \u548c\u5171\u4eab\u96c6\u7fa4\uff0c\u521b\u5efa\u547d\u540d\u7a7a\u95f4 ns01\u3002

                              • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4e0d\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\u3002
                              • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff08\u4f8b\u5982 CPU \u8bf7\u6c42 = 100 core\uff09\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6 CPU \u8bf7\u6c42 \u2264 100 core \u3002
                            "},{"location":"admin/ghippo/workspace/quota.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

                            \u524d\u63d0\uff1a\u5de5\u4f5c\u7a7a\u95f4 ws01 \u5df2\u65b0\u589e\u5171\u4eab\u96c6\u7fa4\uff0c\u64cd\u4f5c\u8005\u4e3a Workspace Admin + Kpanda Owner \u6216 Admin \u89d2\u8272\u3002

                            \u4ee5\u4e0b\u4e24\u79cd\u7ed1\u5b9a\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u521b\u5efa\u7684\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

                              • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
                              • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
                            • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\uff0c\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

                              • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
                              • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
                            "},{"location":"admin/ghippo/workspace/quota.html#_4","title":"\u4ece\u5de5\u4f5c\u7a7a\u95f4\u89e3\u7ed1\u547d\u540d\u7a7a\u95f4","text":"

                            \u4ee5\u4e0b\u4e24\u79cd\u89e3\u7ed1\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

                              • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
                              • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
                            • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

                              • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
                              • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
                            "},{"location":"admin/ghippo/workspace/res-gp-and-shared-res.html","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u533a\u522b","text":"

                            \u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u5747\u652f\u6301\u7ed1\u5b9a\u96c6\u7fa4\uff0c\u4f46\u4f7f\u7528\u4e0a\u5b58\u5728\u5f88\u5927\u533a\u522b\u3002

                            "},{"location":"admin/ghippo/workspace/res-gp-and-shared-res.html#_2","title":"\u4f7f\u7528\u573a\u666f\u533a\u522b","text":"
                            • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u6279\u91cf\u6388\u6743\u3002\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u540e\uff0c \u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u96c6\u7fa4\u7ba1\u7406\u5458\uff0c\u80fd\u591f\u7ba1\u7406\u5e76\u4f7f\u7528\u96c6\u7fa4\u8d44\u6e90\u3002
                            • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u5171\u4eab\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u505a\u8d44\u6e90\u9650\u989d\u3002 \u5178\u578b\u7684\u573a\u666f\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u5c06\u96c6\u7fa4\u5206\u914d\u7ed9\u4e00\u7ea7\u4f9b\u5e94\u5546\u540e\uff0c\u518d\u7531\u4e00\u7ea7\u4f9b\u5e94\u5546\u5206\u914d\u7ed9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u5e76\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u989d\u3002

                            \u8bf4\u660e\uff1a\u5728\u8be5\u573a\u666f\u4e2d\uff0c\u9700\u8981\u5e73\u53f0\u7ba1\u7406\u5458\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u5236\uff0c\u6682\u65f6\u8fd8\u4e0d\u652f\u6301\u4e00\u7ea7\u4f9b\u5e94\u5546\u9650\u5236\u4e8c\u7ea7\u4f9b\u5e94\u5546\u7684\u96c6\u7fa4\u989d\u5ea6\u3002

                            "},{"location":"admin/ghippo/workspace/res-gp-and-shared-res.html#_3","title":"\u96c6\u7fa4\u989d\u5ea6\u7684\u4f7f\u7528\u533a\u522b","text":"
                            • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u8be5\u96c6\u7fa4\u7684\u7ba1\u7406\u5458\uff0c\u76f8\u5f53\u4e8e\u5728\u5bb9\u5668\u7ba1\u7406-\u6743\u9650\u7ba1\u7406\u4e2d\u88ab\u6388\u4e88 Cluster Admin \u89d2\u8272\uff0c \u80fd\u591f\u65e0\u9650\u5236\u652f\u914d\u8be5\u96c6\u7fa4\u8d44\u6e90\uff0c\u7ba1\u7406\u8282\u70b9\u7b49\u91cd\u8981\u5185\u5bb9\uff0c\u4e14\u8d44\u6e90\u7ec4\u4e0d\u80fd\u591f\u88ab\u8d44\u6e90\u9650\u989d\u3002
                            • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u8d44\u6e90\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u4ec5\u80fd\u591f\u4f7f\u7528\u96c6\u7fa4\u4e2d\u7684\u989d\u5ea6\u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\u3002 \u82e5\u5bf9\u8be5\u5de5\u4f5c\u7a7a\u95f4\u9650\u5236\u989d\u5ea6\uff0c\u5219\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u4ec5\u80fd\u591f\u5728\u989d\u5ea6\u8303\u56f4\u5185\u521b\u5efa\u5e76\u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u3002
                            "},{"location":"admin/ghippo/workspace/res-gp-and-shared-res.html#_4","title":"\u8d44\u6e90\u7c7b\u578b\u7684\u533a\u522b","text":"
                            • \u8d44\u6e90\u7ec4\uff1a\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4\u3001\u96c6\u7fa4-\u547d\u540d\u7a7a\u95f4\u3001\u591a\u4e91\u3001\u591a\u4e91-\u547d\u540d\u7a7a\u95f4\u3001\u7f51\u683c\u3001\u7f51\u683c-\u547d\u540d\u7a7a\u95f4
                            • \u5171\u4eab\u8d44\u6e90\uff1a\u4ec5\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4
                            "},{"location":"admin/ghippo/workspace/res-gp-and-shared-res.html#_5","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u76f8\u540c\u70b9","text":"

                            \u5728\u8d44\u6e90\u7ec4/\u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\u540e\u90fd\u53ef\u4ee5\u524d\u5f80\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u521b\u5efa\u540e\u547d\u540d\u7a7a\u95f4\u5c06\u81ea\u52a8\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\u3002

                            "},{"location":"admin/ghippo/workspace/workspace.html","title":"\u521b\u5efa/\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4","text":"

                            \u5de5\u4f5c\u7a7a\u95f4\u662f\u4e00\u79cd\u8d44\u6e90\u8303\u7574\uff0c\u4ee3\u8868\u4e00\u79cd\u8d44\u6e90\u5c42\u7ea7\u5173\u7cfb\u3002 \u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5305\u542b\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u6ce8\u518c\u4e2d\u5fc3\u7b49\u8d44\u6e90\u3002 \u901a\u5e38\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5bf9\u5e94\u4e00\u4e2a\u9879\u76ee\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u4e0d\u540c\u7684\u8d44\u6e90\uff0c\u6307\u6d3e\u4e0d\u540c\u7684\u7528\u6237\u548c\u7528\u6237\u7ec4\u3002

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002

                            1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

                            2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4 \u6309\u94ae\u3002

                            3. \u586b\u5199\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u3001\u6240\u5c5e\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u3002

                            Tip

                            \u521b\u5efa\u6210\u529f\u540e\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u3002

                            Note

                            \u9009\u4e2d\u67d0\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 ... \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

                            • \u5f53\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002
                            • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
                            • \u5f53\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u955c\u50cf\u7a7a\u95f4\u6216\u96c6\u6210\u4ed3\u5e93\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u955c\u50cf\u7a7a\u95f4\u89e3\u7ed1\uff0c\u5c06\u4ed3\u5e93\u96c6\u6210\u5220\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
                            "},{"location":"admin/ghippo/workspace/ws-folder.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7","text":"

                            \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u662f\u4e00\u4e2a\u5177\u6709\u5c42\u7ea7\u7684\u8d44\u6e90\u9694\u79bb\u548c\u8d44\u6e90\u5206\u7ec4\u7279\u6027\uff0c\u4e3b\u8981\u89e3\u51b3\u8d44\u6e90\u7edf\u4e00\u6388\u6743\u3001\u8d44\u6e90\u5206\u7ec4\u4ee5\u53ca\u8d44\u6e90\u9650\u989d\u95ee\u9898\u3002

                            \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u6709\u4e24\u4e2a\u6982\u5ff5\uff1a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

                            "},{"location":"admin/ghippo/workspace/ws-folder.html#_2","title":"\u5de5\u4f5c\u7a7a\u95f4","text":"

                            \u5de5\u4f5c\u7a7a\u95f4\u53ef\u901a\u8fc7 \u6388\u6743 \u3001 \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u6765\u7ba1\u7406\u8d44\u6e90\uff0c\u4f7f\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u4e4b\u95f4\u80fd\u591f\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u3002

                            • \u8d44\u6e90

                              \u8d44\u6e90\u5904\u4e8e\u8d44\u6e90\u7ba1\u7406\u6a21\u5757\u5c42\u7ea7\u7ed3\u6784\u7684\u6700\u4f4e\u5c42\u7ea7\uff0c\u8d44\u6e90\u5305\u62ec Cluster\u3001Namespace\u3001Pipeline\u3001\u7f51\u5173\u7b49\u3002 \u6240\u6709\u8fd9\u4e9b\u8d44\u6e90\u7684\u7236\u7ea7\u53ea\u80fd\u662f\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4f5c\u4e3a\u8d44\u6e90\u5bb9\u5668\u662f\u4e00\u79cd\u8d44\u6e90\u5206\u7ec4\u5355\u4f4d\u3002

                            • \u5de5\u4f5c\u7a7a\u95f4

                              \u5de5\u4f5c\u7a7a\u95f4\u901a\u5e38\u4ee3\u6307\u4e00\u4e2a\u9879\u76ee\u6216\u73af\u5883\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u76f8\u5bf9\u4e8e\u5176\u4ed6\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u65f6\u903b\u8f91\u9694\u79bb\u7684\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u6388\u6743\uff0c\u6388\u4e88\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u540c\u4e00\u7ec4\u8d44\u6e90\u7684\u4e0d\u540c\u8bbf\u95ee\u6743\u9650\u3002

                              \u4ece\u5c42\u6b21\u7ed3\u6784\u7684\u5e95\u5c42\u7b97\u8d77\uff0c\u5de5\u4f5c\u7a7a\u95f4\u4f4d\u4e8e\u7b2c\u4e00\u5c42\uff0c\u4e14\u5305\u542b\u8d44\u6e90\u3002 \u9664\u5171\u4eab\u8d44\u6e90\u5916\uff0c\u6240\u6709\u8d44\u6e90\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u9879\u3002\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\u3002

                              \u8d44\u6e90\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5b58\u5728\u4e24\u79cd\u5206\u7ec4\u6a21\u5f0f\uff0c\u5206\u522b\u662f \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u3002

                            • \u8d44\u6e90\u7ec4

                              \u4e00\u4e2a\u8d44\u6e90\u53ea\u80fd\u52a0\u5165\u4e00\u4e2a\u8d44\u6e90\u7ec4\uff0c\u8d44\u6e90\u7ec4\u4e0e\u5de5\u4f5c\u7a7a\u95f4\u4e00\u4e00\u5bf9\u5e94\u3002 \u8d44\u6e90\u88ab\u52a0\u5165\u5230\u8d44\u6e90\u7ec4\u540e\uff0cWorkspace Admin \u5c06\u83b7\u5f97\u8d44\u6e90\u7684\u7ba1\u7406\u6743\u9650\uff0c\u76f8\u5f53\u4e8e\u8be5\u8d44\u6e90\u7684\u6240\u6709\u8005\u3002

                            • \u5171\u4eab\u8d44\u6e90

                              \u800c\u5bf9\u4e8e\u5171\u4eab\u8d44\u6e90\u6765\u8bf4\uff0c\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u8d44\u6e90\u3002 \u8d44\u6e90\u7684\u6240\u6709\u8005\uff0c\u53ef\u4ee5\u9009\u62e9\u5c06\u81ea\u5df1\u62e5\u6709\u7684\u8d44\u6e90\u5171\u4eab\u7ed9\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u4e00\u822c\u5171\u4eab\u65f6\u8d44\u6e90\u6240\u6709\u8005\u4f1a\u9650\u5236\u88ab\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u989d\u5ea6\u3002 \u8d44\u6e90\u88ab\u5171\u4eab\u540e\uff0cWorkspace Admin \u4ec5\u5177\u6709\u8d44\u6e90\u9650\u989d\u4e0b\u7684\u8d44\u6e90\u4f7f\u7528\u6743\u9650\uff0c\u65e0\u6cd5\u7ba1\u7406\u8d44\u6e90\u6216\u8005\u8c03\u6574\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u91cf\u3002

                              \u540c\u65f6\u5171\u4eab\u8d44\u6e90\u5bf9\u4e8e\u8d44\u6e90\u672c\u8eab\u4e5f\u5177\u6709\u4e00\u5b9a\u7684\u8981\u6c42\uff0c\u53ea\u6709 Cluster\uff08\u96c6\u7fa4\uff09\u8d44\u6e90\u53ef\u4ee5\u88ab\u5171\u4eab\u3002 Cluster Admin \u80fd\u591f\u5c06 Cluster \u8d44\u6e90\u5206\u4eab\u7ed9\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u5e76\u4e14\u9650\u5236\u5de5\u4f5c\u7a7a\u95f4\u5728\u6b64 Cluster \u4e0a\u7684\u4f7f\u7528\u989d\u5ea6\u3002

                              Workspace Admin \u5728\u8d44\u6e90\u9650\u989d\u5185\u80fd\u591f\u521b\u5efa\u591a\u4e2a Namespace\uff0c\u4f46\u662f Namespace \u7684\u8d44\u6e90\u989d\u5ea6\u603b\u548c\u4e0d\u80fd\u8d85\u8fc7 Cluster \u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u9650\u989d\u3002 \u5bf9\u4e8e Kubernetes \u8d44\u6e90\uff0c\u5f53\u524d\u80fd\u591f\u5206\u4eab\u7684\u8d44\u6e90\u7c7b\u578b\u4ec5\u6709 Cluster\u3002

                            "},{"location":"admin/ghippo/workspace/ws-folder.html#_3","title":"\u6587\u4ef6\u5939","text":"

                            \u6587\u4ef6\u5939\u53ef\u7528\u4e8e\u6784\u5efa\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\u3002

                            • \u6587\u4ef6\u5939\u662f\u5728\u5de5\u4f5c\u7a7a\u95f4\u57fa\u7840\u4e4b\u4e0a\u7684\u8fdb\u4e00\u6b65\u5206\u7ec4\u673a\u5236\uff0c\u5177\u6709\u5c42\u7ea7\u7ed3\u6784\u3002 \u4e00\u4e2a\u6587\u4ef6\u5939\u53ef\u4ee5\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u3001\u5176\u4ed6\u6587\u4ef6\u5939\u6216\u4e24\u8005\u7684\u7ec4\u5408\uff0c\u80fd\u591f\u5f62\u6210\u6811\u72b6\u7684\u7ec4\u7ec7\u5173\u7cfb\u3002

                            • \u501f\u52a9\u6587\u4ef6\u5939\u60a8\u53ef\u4ee5\u6620\u5c04\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\uff0c\u6309\u7167\u90e8\u95e8\u5bf9\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\u3002 \u6587\u4ef6\u5939\u4e0d\u76f4\u63a5\u4e0e\u8d44\u6e90\u6302\u94a9\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u95f4\u63a5\u5b9e\u73b0\u8d44\u6e90\u5206\u7ec4\u3002

                            • \u6587\u4ef6\u5939\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\uff0c\u800c\u6839\u6587\u4ef6\u5939\u662f\u5c42\u6b21\u7ed3\u6784\u7684\u6700\u9ad8\u5c42\u7ea7\u3002 \u6839\u6587\u4ef6\u5939\u6ca1\u6709\u7236\u7ea7\uff0c\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u5747\u6302\u9760\u5230\u6839\u6587\u4ef6\u5939\u4e0b\u3002

                            \u53e6\u5916\uff0c\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u5728\u6587\u4ef6\u5939\u4e2d\u80fd\u591f\u901a\u8fc7\u5c42\u7ea7\u7ed3\u6784\u7ee7\u627f\u6765\u81ea\u7236\u9879\u7684\u6743\u9650\u3002 \u7528\u6237\u5728\u5c42\u6b21\u7ed3\u6784\u4e2d\u7684\u6743\u9650\u6765\u81ea\u5f53\u524d\u5c42\u7ea7\u7684\u6743\u9650\u4ee5\u53ca\u7ee7\u627f\u5176\u7236\u9879\u6743\u9650\u7684\u7ec4\u5408\u7ed3\u679c\uff0c\u6743\u9650\u4e4b\u95f4\u662f\u52a0\u5408\u5173\u7cfb\u4e0d\u5b58\u5728\u4e92\u65a5\u3002

                            "},{"location":"admin/ghippo/workspace/ws-permission.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u6743\u9650\u8bf4\u660e","text":"

                            \u5de5\u4f5c\u7a7a\u95f4\u5177\u6709\u6743\u9650\u6620\u5c04\u548c\u8d44\u6e90\u9694\u79bb\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u8d44\u6e90\u4e0a\u3002 \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u662f Workspace Admin \u89d2\u8272\uff0c\u540c\u65f6\u5de5\u4f5c\u7a7a\u95f4-\u8d44\u6e90\u7ec4\u4e2d\u7ed1\u5b9a\u4e86\u8d44\u6e90 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u5c06\u6210\u4e3a Namespace Admin\u3002

                            Note

                            \u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

                            "},{"location":"admin/ghippo/workspace/ws-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

                            \u901a\u8fc7\u5c06\u8d44\u6e90\u7ed1\u5b9a\u5230\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u5b9e\u73b0\u8d44\u6e90\u9694\u79bb\u3002 \u56e0\u6b64\u501f\u52a9\u6743\u9650\u6620\u5c04\u3001\u8d44\u6e90\u9694\u79bb\u548c\u5171\u4eab\u8d44\u6e90\u80fd\u529b\u80fd\u591f\u5c06\u8d44\u6e90\u7075\u6d3b\u5206\u914d\u7ed9\u5404\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff08\u79df\u6237\uff09\u3002

                            \u901a\u5e38\u9002\u7528\u4e8e\u4ee5\u4e0b\u4e24\u4e2a\u573a\u666f\uff1a

                            • \u96c6\u7fa4\u4e00\u5bf9\u4e00

                              \u666e\u901a\u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u7528\u9014 \u96c6\u7fa4 01 A \u7ba1\u7406\u548c\u4f7f\u7528 \u96c6\u7fa4 02 B \u7ba1\u7406\u548c\u4f7f\u7528
                            • \u96c6\u7fa4\u4e00\u5bf9\u591a

                              \u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u8d44\u6e90\u9650\u989d \u96c6\u7fa4 01 A 100 \u6838 CPU B 50 \u6838 CPU
                            "},{"location":"admin/ghippo/workspace/ws-permission.html#_3","title":"\u6743\u9650\u8bf4\u660e","text":"\u64cd\u4f5c\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 - \u6388\u6743 \u2713 \u2717 \u2717 - \u4fee\u6539\u522b\u540d \u2713 \u2713 \u2717 \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 - \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 - \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 - \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 - \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 - \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717 - \u4f7f\u7528\u5171\u4eab\u8d44\u6e90 [^1] \u2713 \u2717 \u2717"},{"location":"admin/ghippo/workspace/wsbind-permission.html","title":"\u8d44\u6e90\u7ed1\u5b9a\u6743\u9650\u8bf4\u660e","text":"

                            \u5047\u5982\u7528\u6237\u5c0f\u660e\uff08\u201c\u5c0f\u660e\u201d\u4ee3\u8868\u4efb\u4f55\u6709\u8d44\u6e90\u7ed1\u5b9a\u9700\u6c42\u7684\u7528\u6237\uff09\u5df2\u7ecf\u5177\u5907\u4e86 Workspace Admin \u89d2\u8272\u6216\u5df2\u901a\u8fc7\u81ea\u5b9a\u4e49\u89d2\u8272\u6388\u6743\uff0c \u540c\u65f6\u81ea\u5b9a\u4e49\u89d2\u8272\u4e2d\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u5e0c\u671b\u5c06\u67d0\u4e2a\u96c6\u7fa4\u6216\u8005\u67d0\u4e2a\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5176\u6240\u5728\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

                            \u8981\u5c06\u96c6\u7fa4/\u547d\u540d\u7a7a\u95f4\u8d44\u6e90\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\uff0c\u4e0d\u4ec5\u9700\u8981\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u8fd8\u9700\u8981 Cluster Admin \u7684\u8d44\u6e90\u6743\u9650\u3002

                            "},{"location":"admin/ghippo/workspace/wsbind-permission.html#_2","title":"\u7ed9\u5c0f\u660e\u6388\u6743","text":"
                            1. \u4f7f\u7528\u5e73\u53f0 Admin \u89d2\u8272\uff0c \u5728 \u5de5\u4f5c\u7a7a\u95f4 -> \u6388\u6743 \u9875\u9762\u7ed9\u5c0f\u660e\u6388\u4e88 Workspace Admin \u89d2\u8272\u3002

                            2. \u7136\u540e\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u6743\u9650\u7ba1\u7406 \u9875\u9762\uff0c\u901a\u8fc7 \u6dfb\u52a0\u6388\u6743 \u5c06\u5c0f\u660e\u6388\u6743\u4e3a Cluster Admin\u3002

                            "},{"location":"admin/ghippo/workspace/wsbind-permission.html#_3","title":"\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

                            \u4f7f\u7528\u5c0f\u660e\u7684\u8d26\u53f7\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u901a\u8fc7 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u529f\u80fd\uff0c \u5c0f\u660e\u53ef\u4ee5\u5c06\u6307\u5b9a\u96c6\u7fa4\u7ed1\u5b9a\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

                            Note

                            \u5c0f\u660e\u80fd\u4e14\u53ea\u80fd\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5c06\u96c6\u7fa4\u6216\u8005\u8be5\u96c6\u7fa4\u4e0b\u7684\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u65e0\u6cd5\u5728\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u5b8c\u6210\u6b64\u64cd\u4f5c\u3002

                            \u7ed1\u5b9a\u547d\u540d\u7a7a\u95f4\u5230\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u81f3\u5c11\u9700\u8981 Workspace Admin + Cluster Admin \u6743\u9650\u3002

                            "},{"location":"admin/host/createhost.html","title":"\u521b\u5efa\u548c\u542f\u52a8\u4e91\u4e3b\u673a","text":"

                            \u7528\u6237\u5b8c\u6210\u6ce8\u518c\uff0c\u4e3a\u5176\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4\u548c\u8d44\u6e90\u540e\uff0c\u5373\u53ef\u4ee5\u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a\u3002

                            "},{"location":"admin/host/createhost.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                            • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                            • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                            • \u4e3a\u7528\u6237\u7ed1\u5b9a\u4e86\u5de5\u4f5c\u7a7a\u95f4
                            • \u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u4e86\u8d44\u6e90
                            "},{"location":"admin/host/createhost.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                            2. \u70b9\u51fb \u521b\u5efa\u865a\u62df\u673a -> \u901a\u8fc7\u6a21\u677f\u521b\u5efa

                            3. \u5b9a\u4e49\u7684\u4e91\u4e3b\u673a\u5404\u9879\u914d\u7f6e\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

                              \u57fa\u672c\u914d\u7f6e\u6a21\u677f\u914d\u7f6e\u5b58\u50a8\u4e0e\u7f51\u7edc

                            4. \u914d\u7f6e root \u5bc6\u7801\u6216 ssh \u5bc6\u94a5\u540e\u70b9\u51fb \u786e\u5b9a

                            5. \u8fd4\u56de\u4e3b\u673a\u5217\u8868\uff0c\u7b49\u5f85\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u4e4b\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u542f\u52a8\u4e3b\u673a\u3002

                            \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u4e91\u4e3b\u673a

                            "},{"location":"admin/host/usehost.html","title":"\u4f7f\u7528\u4e91\u4e3b\u673a","text":"

                            \u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a\u4e4b\u540e\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u4e91\u4e3b\u673a\u3002

                            "},{"location":"admin/host/usehost.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                            • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                            • \u7528\u6237\u5df2\u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a
                            "},{"location":"admin/host/usehost.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                            2. \u5bfc\u822a\u5230 \u5bb9\u5668\u7ba1\u7406 -> \u5bb9\u5668\u7f51\u7edc -> \u670d\u52a1 \uff0c\u70b9\u51fb\u670d\u52a1\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u670d\u52a1\u8be6\u60c5\u9875\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u66f4\u65b0

                            3. \u66f4\u6539\u7aef\u53e3\u8303\u56f4\u4e3a 30900-30999\uff0c\u4f46\u4e0d\u80fd\u51b2\u7a81\u3002

                            4. \u4ee5\u7ec8\u7aef\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5bfc\u822a\u5230\u5bf9\u5e94\u7684\u670d\u52a1\uff0c\u67e5\u770b\u8bbf\u95ee\u7aef\u53e3\u3002

                            5. \u5728\u5916\u7f51\u4f7f\u7528 SSH \u5ba2\u6237\u7aef\u767b\u5f55\u4e91\u4e3b\u673a

                            6. \u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u5728\u4e91\u4e3b\u673a\u4e0a\u6267\u884c\u5404\u9879\u64cd\u4f5c\u3002

                            \u4e0b\u4e00\u6b65\uff1a\u4e91\u8d44\u6e90\u5171\u4eab\uff1a\u914d\u989d\u7ba1\u7406

                            "},{"location":"admin/insight/alert-center/index.html","title":"\u544a\u8b66\u4e2d\u5fc3","text":"

                            \u544a\u8b66\u4e2d\u5fc3\u662f AI \u7b97\u529b\u5e73\u53f0 \u63d0\u4f9b\u7684\u4e00\u4e2a\u91cd\u8981\u529f\u80fd\uff0c\u5b83\u8ba9\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u65b9\u4fbf\u5730\u6309\u7167\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u67e5\u770b\u6240\u6709\u6d3b\u52a8\u548c\u5386\u53f2\u544a\u8b66\uff0c \u5e76\u6839\u636e\u544a\u8b66\u7ea7\u522b\uff08\u7d27\u6025\u3001\u8b66\u544a\u3001\u63d0\u793a\uff09\u6765\u641c\u7d22\u544a\u8b66\u3002

                            \u6240\u6709\u544a\u8b66\u90fd\u662f\u57fa\u4e8e\u9884\u8bbe\u7684\u544a\u8b66\u89c4\u5219\u8bbe\u5b9a\u7684\u9608\u503c\u6761\u4ef6\u89e6\u53d1\u7684\u3002\u5728 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c\u5185\u7f6e\u4e86\u4e00\u4e9b\u5168\u5c40\u544a\u8b66\u7b56\u7565\uff0c\u540c\u65f6\u60a8\u4e5f\u53ef\u4ee5\u968f\u65f6\u521b\u5efa\u3001\u5220\u9664\u544a\u8b66\u7b56\u7565\uff0c\u5bf9\u4ee5\u4e0b\u6307\u6807\u8fdb\u884c\u8bbe\u7f6e\uff1a

                            • CPU \u4f7f\u7528\u91cf
                            • \u5185\u5b58\u4f7f\u7528\u91cf
                            • \u78c1\u76d8\u4f7f\u7528\u91cf
                            • \u78c1\u76d8\u6bcf\u79d2\u8bfb\u6b21\u6570
                            • \u78c1\u76d8\u6bcf\u79d2\u5199\u6b21\u6570
                            • \u96c6\u7fa4\u78c1\u76d8\u8bfb\u53d6\u541e\u5410\u91cf
                            • \u96c6\u7fa4\u78c1\u76d8\u5199\u5165\u541e\u5410\u91cf
                            • \u7f51\u7edc\u53d1\u9001\u901f\u7387
                            • \u7f51\u7edc\u63a5\u6536\u901f\u7387

                            \u8fd8\u53ef\u4ee5\u4e3a\u544a\u8b66\u89c4\u5219\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002\u544a\u8b66\u89c4\u5219\u5206\u4e3a\u6d3b\u8dc3\u548c\u8fc7\u671f\u89c4\u5219\uff0c\u652f\u6301\u542f\u7528/\u7981\u7528\u67d0\u4e9b\u89c4\u5219\u6765\u5b9e\u73b0\u544a\u8b66\u9759\u9ed8\u3002

                            \u5f53\u8fbe\u5230\u9608\u503c\u6761\u4ef6\u540e\uff0c\u53ef\u4ee5\u914d\u7f6e\u544a\u8b66\u901a\u77e5\u65b9\u5f0f\uff0c\u5305\u62ec\u90ae\u4ef6\u3001\u9489\u9489\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001Webhook \u548c\u77ed\u4fe1\u901a\u77e5\u3002 \u6240\u6709\u901a\u77e5\u7684\u6d88\u606f\u6a21\u677f\u90fd\u53ef\u4ee5\u81ea\u5b9a\u4e49\uff0c\u540c\u65f6\u8fd8\u652f\u6301\u6309\u8bbe\u5b9a\u7684\u95f4\u9694\u65f6\u95f4\u53d1\u9001\u901a\u77e5\u3002

                            \u6b64\u5916\uff0c\u544a\u8b66\u4e2d\u5fc3\u8fd8\u652f\u6301\u901a\u8fc7\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u7b49\u63d0\u4f9b\u7684\u77ed\u4fe1\u670d\u52a1\u5c06\u544a\u8b66\u6d88\u606f\u53d1\u9001\u7ed9\u6307\u5b9a\u7528\u6237\uff0c\u5b9e\u73b0\u591a\u79cd\u65b9\u5f0f\u7684\u544a\u8b66\u901a\u77e5\u3002

                            AI \u7b97\u529b\u5e73\u53f0 \u544a\u8b66\u4e2d\u5fc3\u662f\u4e00\u4e2a\u529f\u80fd\u5f3a\u5927\u7684\u544a\u8b66\u7ba1\u7406\u5e73\u53f0\uff0c\u53ef\u5e2e\u52a9\u7528\u6237\u53ca\u65f6\u53d1\u73b0\u548c\u89e3\u51b3\u96c6\u7fa4\u4e2d\u51fa\u73b0\u7684\u95ee\u9898\uff0c \u63d0\u9ad8\u4e1a\u52a1\u7a33\u5b9a\u6027\u548c\u53ef\u7528\u6027\uff0c\u4fbf\u4e8e\u96c6\u7fa4\u5de1\u68c0\u548c\u6545\u969c\u6392\u67e5\u3002

                            "},{"location":"admin/insight/alert-center/alert-policy.html","title":"\u544a\u8b66\u7b56\u7565","text":"

                            \u544a\u8b66\u7b56\u7565\u662f\u5728\u53ef\u89c2\u6d4b\u6027\u7cfb\u7edf\u4e2d\u5b9a\u4e49\u7684\u4e00\u7ec4\u89c4\u5219\u548c\u6761\u4ef6\uff0c\u7528\u4e8e\u68c0\u6d4b\u548c\u89e6\u53d1\u8b66\u62a5\uff0c\u4ee5\u4fbf\u5728\u7cfb\u7edf\u51fa\u73b0\u5f02\u5e38\u6216\u8fbe\u5230\u9884\u5b9a\u7684\u9608\u503c\u65f6\u53ca\u65f6\u901a\u77e5\u76f8\u5173\u4eba\u5458\u6216\u7cfb\u7edf\u3002

                            \u6bcf\u6761\u544a\u8b66\u7b56\u7565\u662f\u4e00\u7ec4\u544a\u8b66\u89c4\u5219\u7684\u96c6\u5408\uff0c\u652f\u6301\u5bf9\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7b49\u8d44\u6e90\u3001\u65e5\u5fd7\u3001\u4e8b\u4ef6\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219\u3002\u5f53\u544a\u8b66\u5bf9\u8c61\u8fbe\u5230\u7b56\u7565\u4e0b\u4efb\u4e00\u89c4\u5219\u8bbe\u5b9a\u7684\u9608\u503c\uff0c\u5219\u4f1a\u81ea\u52a8\u89e6\u53d1\u544a\u8b66\u5e76\u53d1\u9001\u901a\u77e5\u3002

                            "},{"location":"admin/insight/alert-center/alert-policy.html#_2","title":"\u67e5\u770b\u544a\u8b66\u7b56\u7565","text":"
                            1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027\u3002
                            2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u544a\u8b66\u7b56\u7565\u3002

                              • \u96c6\u7fa4\uff1a\u5355\u51fb\u96c6\u7fa4\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\uff1b
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u5355\u51fb\u547d\u540d\u7a7a\u95f4\u5207\u6362\u4e0b\u62c9\u6846\u3002

                            3. \u70b9\u51fb\u544a\u8b66\u7b56\u7565\u540d\u79f0\u53ef\u67e5\u770b\u7b56\u7565\u7684\u57fa\u672c\u4fe1\u606f\u3001\u89c4\u5219\u4ee5\u53ca\u901a\u77e5\u914d\u7f6e\u3002

                              1. \u5728\u89c4\u5219\u5217\u8868\u4e2d\u53ef\u67e5\u770b\u89c4\u5219\u7c7b\u578b\u3001\u89c4\u5219\u7684\u8868\u8fbe\u5f0f\u3001\u7ea7\u522b\u3001\u72b6\u6001\u7b49\u4fe1\u606f\u3002
                              2. \u8fdb\u5165\u7b56\u7565\u8be6\u60c5\uff0c\u53ef\u4ee5\u6dfb\u52a0\u3001\u7f16\u8f91\u3001\u5220\u9664\u5176\u4e0b\u7684\u544a\u8b66\u89c4\u5219\u3002

                            "},{"location":"admin/insight/alert-center/alert-policy.html#_3","title":"\u521b\u5efa\u544a\u8b66\u7b56\u7565","text":"
                            1. \u586b\u5199\u57fa\u672c\u4fe1\u606f\uff0c\u9009\u62e9\u4e00\u4e2a\u6216\u591a\u4e2a\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\u4e3a\u544a\u8b66\u5bf9\u8c61\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002

                              Note

                              • \u9009\u62e9\u5168\u90e8\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\uff1a\u521b\u5efa\u7684\u544a\u8b66\u89c4\u5219\u5bf9\u6240\u6709\u5df2\u5b89\u88c5 insight-agent \u7684\u96c6\u7fa4\u751f\u6548\u3002
                              • \u9009\u62e9\u5355\u4e2a\u6216\u591a\u4e2a\u96c6\u7fa4\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\uff1a\u521b\u5efa\u7684\u544a\u8b66\u89c4\u5219\u4ec5\u5bf9\u6240\u9009\u7684\u8d44\u6e90\u5bf9\u8c61\u751f\u6548\u3002
                              • \u540c\u65f6\uff0c\u7528\u6237\u53ea\u80fd\u5bf9\u5df2\u6743\u9650\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219\u3002
                            "},{"location":"admin/insight/alert-center/alert-policy.html#_4","title":"\u624b\u52a8\u6dfb\u52a0\u89c4\u5219","text":"
                            1. \u5728\u521b\u5efa\u544a\u8b66\u7b56\u7565\u7684\u7b2c\u4e8c\u90e8\u4e2d\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4e0a\u89d2\u7684\u6dfb\u52a0\u89c4\u5219\u3002

                            2. \u5728\u5f39\u7a97\u4e2d\u521b\u5efa\u544a\u8b66\u89c4\u5219\uff0c\u586b\u5199\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a\u3002

                              • \u6a21\u677f\u89c4\u5219\uff1a\u9884\u5b9a\u4e49\u4e86\u57fa\u7840\u6307\u6807\uff0c\u53ef\u4ee5\u6309 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edc\u8bbe\u5b9a\u8981\u76d1\u63a7\u7684\u6307\u6807\u3002
                              • PromQL \u89c4\u5219\uff1a\u8f93\u5165\u4e00\u4e2a PromQL \u8868\u8fbe\u5f0f\uff0c\u5177\u4f53\u8bf7\u67e5\u8be2 Prometheus \u8868\u8fbe\u5f0f\u3002
                              • \u6301\u7eed\u65f6\u957f\uff1a\u544a\u8b66\u88ab\u89e6\u53d1\u4e14\u6301\u7eed\u65f6\u95f4\u8fbe\u5230\u8be5\u8bbe\u5b9a\u503c\u540e\uff0c\u544a\u8b66\u7b56\u7565\u5c06\u53d8\u4e3a\u89e6\u53d1\u4e2d\u72b6\u6001\u3002
                              • \u544a\u8b66\u7ea7\u522b\uff1a\u5305\u542b\u7d27\u6025\u3001\u8b66\u544a\u3001\u4fe1\u606f\u4e09\u79cd\u7ea7\u522b\u3002
                              • \u9ad8\u7ea7\u8bbe\u7f6e\uff1a\u53ef\u4ee5\u81ea\u5b9a\u4e49\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                              Info

                              \u7cfb\u7edf\u5b9a\u4e49\u4e86\u5185\u7f6e\u6807\u7b7e\uff0c\u82e5\u81ea\u5b9a\u4e49\u6807\u7b7e\u4e0e\u5185\u7f6e\u6807\u7b7e\u7684\u952e\u503c\u76f8\u540c\uff0c\u5219\u81ea\u5b9a\u4e49\u6807\u7b7e\u4e0d\u751f\u6548\u3002 \u5185\u7f6e\u6807\u7b7e\u6709\uff1aseverity\u3001rule_id\uff0csource\u3001cluster_name\u3001group_id\u3001 target_type \u548c target\u3002

                            "},{"location":"admin/insight/alert-center/alert-policy.html#_5","title":"\u521b\u5efa\u65e5\u5fd7\u89c4\u5219","text":"

                            \u5b8c\u6210\u57fa\u672c\u4fe1\u606f\u7684\u586b\u5199\u540e\uff0c\u70b9\u51fb \u6dfb\u52a0\u89c4\u5219\uff0c\u89c4\u5219\u7c7b\u578b\u9009\u62e9 \u65e5\u5fd7\u89c4\u5219\u3002

                            Note

                            \u4ec5\u5f53\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u652f\u6301\u521b\u5efa\u65e5\u5fd7\u89c4\u5219\u3002

                            \u5b57\u6bb5\u8bf4\u660e\uff1a

                            • \u8fc7\u6ee4\u6761\u4ef6\uff1a\u67e5\u8be2\u65e5\u5fd7\u5185\u5bb9\u7684\u5b57\u6bb5\uff0c\u652f\u6301\u4e0e\u3001\u6216\u3001\u6b63\u5219\u5339\u914d\u3001\u6a21\u7cca\u5339\u914d\u56db\u79cd\u8fc7\u6ee4\u6761\u4ef6\u3002
                            • \u5224\u65ad\u6761\u4ef6\uff1a\u6839\u636e \u8fc7\u6ee4\u6761\u4ef6\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u5339\u914d\u6761\u4ef6\u3002
                            • \u65f6\u95f4\u8303\u56f4\uff1a\u65e5\u5fd7\u67e5\u8be2\u7684\u65f6\u95f4\u8303\u56f4\u3002
                            • \u9608\u503c\u6761\u4ef6\uff1a\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u544a\u8b66\u9608\u503c\u3002\u5f53\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u65f6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u3002\u652f\u6301\u7684\u6bd4\u8f83\u8fd0\u7b97\u7b26\u6709\uff1a >\u3001\u2265\u3001=\u3001\u2264\u3001<\u3002
                            • \u544a\u8b66\u7ea7\u522b\uff1a\u9009\u62e9\u544a\u8b66\u7ea7\u522b\uff0c\u7528\u4e8e\u8868\u793a\u544a\u8b66\u7684\u4e25\u91cd\u7a0b\u5ea6\u3002
                            "},{"location":"admin/insight/alert-center/alert-policy.html#_6","title":"\u521b\u5efa\u4e8b\u4ef6\u89c4\u5219","text":"

                            \u5b8c\u6210\u57fa\u672c\u4fe1\u606f\u7684\u586b\u5199\u540e\uff0c\u70b9\u51fb \u6dfb\u52a0\u89c4\u5219\uff0c\u89c4\u5219\u7c7b\u578b\u9009\u62e9 \u4e8b\u4ef6\u89c4\u5219\u3002

                            Note

                            \u4ec5\u5f53\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u652f\u6301\u521b\u5efa\u4e8b\u4ef6\u89c4\u5219\u3002

                            \u5b57\u6bb5\u8bf4\u660e\uff1a

                            • \u4e8b\u4ef6\u89c4\u5219\uff1a\u4ec5\u652f\u6301\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u5de5\u4f5c\u8d1f\u8f7d
                            • \u4e8b\u4ef6\u539f\u56e0\uff1a\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u7684\u4e8b\u4ef6\u539f\u56e0\u4e0d\u540c\uff0c\u4e8b\u4ef6\u539f\u56e0\u4e4b\u95f4\u662f\u201c\u548c\u201d\u7684\u5173\u7cfb\u3002
                            • \u65f6\u95f4\u8303\u56f4\uff1a\u68c0\u6d4b\u8be5\u65f6\u95f4\u8303\u56f4\u5185\u4ea7\u751f\u6570\u636e\uff0c\u82e5\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u6761\u4ef6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u4e8b\u4ef6\u3002
                            • \u9608\u503c\u6761\u4ef6\uff1a\u5f53\u4ea7\u751f\u7684\u4e8b\u4ef6\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u65f6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u4e8b\u4ef6\u3002
                            • \u8d8b\u52bf\u56fe\uff1a\u9ed8\u8ba4\u67e5\u8be2 10 \u5206\u949f\u5185\u7684\u4e8b\u4ef6\u53d8\u5316\u8d8b\u52bf\uff0c\u6bcf\u4e2a\u70b9\u7684\u6570\u503c\u7edf\u8ba1\u7684\u662f\u5f53\u524d\u65f6\u95f4\u70b9\u5230\u4e4b\u524d\u7684\u67d0\u6bb5\u65f6\u95f4\uff08\u65f6\u95f4\u8303\u56f4\uff09\u5185\u53d1\u751f\u7684\u603b\u6b21\u6570\u3002
                            "},{"location":"admin/insight/alert-center/alert-policy.html#_7","title":"\u5bfc\u5165\u89c4\u5219\u6a21\u677f","text":"
                            1. \u53ef\u70b9\u51fb \u6a21\u677f\u5bfc\u5165\uff0c\u9009\u62e9\u5e73\u53f0\u7ba1\u7406\u5458\u5df2\u521b\u5efa\u597d\u7684\u544a\u8b66\u6a21\u677f\u6279\u91cf\u5bfc\u5165\u544a\u8b66\u89c4\u5219\u3002

                            2. \u70b9\u51fb \u4e0b\u4e00\u6b65 \u540e\u914d\u7f6e\u901a\u77e5\u3002

                            3. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u8fd4\u56de\u544a\u8b66\u7b56\u7565\u5217\u8868\u3002

                            Tip

                            \u65b0\u5efa\u7684\u544a\u8b66\u7b56\u7565\u4e3a \u672a\u89e6\u53d1 \u72b6\u6001\u3002\u4e00\u65e6\u6ee1\u8db3\u89c4\u5219\u4e2d\u7684\u9608\u503c\u6761\u4ef6\u548c\u6301\u7eed\u65f6\u95f4\u540e\uff0c\u5c06\u53d8\u4e3a \u89e6\u53d1\u4e2d \u72b6\u6001\u3002

                            Warning

                            \u5220\u9664\u540e\u7684\u544a\u8b66\u7b56\u7565\u5c06\u5b8c\u5168\u6d88\u5931\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                            "},{"location":"admin/insight/alert-center/alert-policy.html#yaml","title":"\u901a\u8fc7 YAML \u5bfc\u5165\u544a\u8b66\u7b56\u7565","text":"
                            1. \u8fdb\u5165\u544a\u8b66\u7b56\u7565\u5217\u8868\uff0c\u70b9\u51fb YAML \u521b\u5efa\u3002

                            2. \u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u7684\u9009\u62e9\u662f\u4e3a\u4e86\u544a\u8b66\u7b56\u7565\u7684\u7ba1\u7406\u6743\u9650\u3002

                            3. YAML \u7f16\u8f91\u5668\u4e2d\u8bf7\u586b\u5199 spec \u53ca\u5176\u4e2d\u7684\u5185\u5bb9\uff0c\u4ec5\u652f\u6301\u5bfc\u5165\u4e00\u4e2a group\u3002
                            4. \u544a\u8b66\u89c4\u5219\u540d\u79f0 \u9700\u8981\u7b26\u5408\u89c4\u8303\uff1a\u540d\u79f0\u53ea\u80fd\u5305\u542b\u5927\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\uff08_\uff09\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002
                            5. \u5fc5\u586b severity \u4e14\u7b26\u5408\u89c4\u8303\uff1acritical\u3001warning\u3001info\u3002
                            6. \u5fc5\u586b\u8868\u8fbe\u5f0f expr\u3002

                            7. \u5bfc\u5165 YAML \u6587\u4ef6\u540e\uff0c\u70b9\u51fb \u9884\u89c8\uff0c\u53ef\u4ee5\u5bf9\u5bfc\u5165\u7684 YAML \u683c\u5f0f\u8fdb\u884c\u9a8c\u8bc1\uff0c\u5e76\u5feb\u901f\u786e\u8ba4\u5bfc\u5165\u7684\u544a\u8b66\u89c4\u5219\u3002

                            "},{"location":"admin/insight/alert-center/alert-template.html","title":"\u544a\u8b66\u6a21\u677f","text":"

                            \u544a\u8b66\u6a21\u677f\u53ef\u652f\u6301\u5e73\u53f0\u7ba1\u7406\u5458\u521b\u5efa\u544a\u8b66\u6a21\u677f\u53ca\u89c4\u5219\uff0c\u4e1a\u52a1\u4fa7\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u544a\u8b66\u6a21\u677f\u521b\u5efa\u544a\u8b66\u7b56\u7565\u3002 \u8fd9\u4e2a\u529f\u80fd\u53ef\u4ee5\u51cf\u5c11\u4e1a\u52a1\u4eba\u5458\u5bf9\u544a\u8b66\u89c4\u5219\u7684\u7ba1\u7406\uff0c\u4e14\u53ef\u4ee5\u6839\u636e\u73af\u5883\u5b9e\u9645\u60c5\u51b5\u81ea\u884c\u4fee\u6539\u544a\u8b66\u9608\u503c\u3002

                            "},{"location":"admin/insight/alert-center/alert-template.html#_2","title":"\u521b\u5efa\u544a\u8b66\u6a21\u677f","text":"
                            1. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u7b56\u7565\uff0c\u5355\u51fb\u9876\u90e8\u7684 \u544a\u8b66\u6a21\u677f \u3002

                            2. \u70b9\u51fb \u521b\u5efa\u544a\u8b66\u6a21\u677f \uff0c\u8bbe\u7f6e\u544a\u8b66\u6a21\u677f\u7684\u540d\u79f0\u3001\u63cf\u8ff0\u7b49\u4fe1\u606f\u3002

                              \u53c2\u6570 \u8bf4\u660e \u6a21\u677f\u540d\u79f0 \u540d\u79f0\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002 \u63cf\u8ff0 \u63cf\u8ff0\u53ef\u5305\u542b\u4efb\u610f\u5b57\u7b26\uff0c\u6700\u957f 256 \u4e2a\u5b57\u7b26\u3002 \u8d44\u6e90\u7c7b\u578b \u7528\u4e8e\u6307\u5b9a\u544a\u8b66\u6a21\u677f\u7684\u5339\u914d\u7c7b\u578b\u3002 \u544a\u8b66\u89c4\u5219 \u652f\u6301\u9884\u5b9a\u4e49\u591a\u4e2a\u544a\u8b66\u89c4\u5219\uff0c\u53ef\u6dfb\u52a0\u6a21\u677f\u89c4\u5219\u3001PromQL \u89c4\u5219\u3002
                            3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u540e\u8fd4\u56de\u544a\u8b66\u6a21\u677f\u5217\u8868\uff0c\u70b9\u51fb\u6a21\u677f\u540d\u79f0\u540e\u53ef\u67e5\u770b\u6a21\u677f\u8be6\u60c5\u3002

                            "},{"location":"admin/insight/alert-center/alert-template.html#_3","title":"\u7f16\u8f91\u544a\u8b66\u6a21\u677f","text":"

                            \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u7684 \u2507 \uff0c\u70b9\u51fb \u7f16\u8f91\uff0c\u8fdb\u5165\u6291\u5236\u89c4\u5219\u7684\u7f16\u8f91\u9875\u3002

                            "},{"location":"admin/insight/alert-center/alert-template.html#_4","title":"\u5220\u9664\u544a\u8b66\u6a21\u677f","text":"

                            \u70b9\u51fb\u76ee\u6807\u6a21\u677f\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u5220\u9664\uff0c\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u544a\u8b66\u6a21\u677f\u7684\u540d\u79f0\u5373\u53ef\u5220\u9664\u3002

                            "},{"location":"admin/insight/alert-center/inhibition.html","title":"\u544a\u8b66\u6291\u5236","text":"

                            \u544a\u8b66\u6291\u5236\u4e3b\u8981\u662f\u5bf9\u4e8e\u67d0\u4e9b\u4e0d\u9700\u8981\u7acb\u5373\u5173\u6ce8\u7684\u544a\u8b66\u8fdb\u884c\u4e34\u65f6\u9690\u85cf\u6216\u8005\u964d\u4f4e\u5176\u4f18\u5148\u7ea7\u7684\u4e00\u79cd\u673a\u5236\u3002\u8fd9\u4e2a\u529f\u80fd\u7684\u76ee\u7684\u662f\u4e3a\u4e86\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u544a\u8b66\u4fe1\u606f\u5bf9\u8fd0\u7ef4\u4eba\u5458\u7684\u5e72\u6270\uff0c\u4f7f\u4ed6\u4eec\u80fd\u591f\u96c6\u4e2d\u7cbe\u529b\u5904\u7406\u66f4\u91cd\u8981\u7684\u95ee\u9898\u3002

                            \u544a\u8b66\u6291\u5236\u901a\u8fc7\u5b9a\u4e49\u4e00\u7ec4\u89c4\u5219\u6765\u8bc6\u522b\u548c\u5ffd\u7565\u67d0\u4e9b\u544a\u8b66\uff0c\u5f53\u5b83\u4eec\u5728\u7279\u5b9a\u6761\u4ef6\u4e0b\u53d1\u751f\u65f6\u3002\u4e3b\u8981\u6709\u4ee5\u4e0b\u51e0\u79cd\u60c5\u51b5\uff1a

                            • \u7236\u5b50\u5173\u7cfb\u6291\u5236\uff1a\u5f53\u4e00\u4e2a\u7236\u544a\u8b66\uff08\u4f8b\u5982\u67d0\u4e2a\u8282\u70b9\u7684\u5d29\u6e83\uff09\u89e6\u53d1\u65f6\uff0c\u53ef\u4ee5\u6291\u5236\u6240\u6709\u7531\u6b64\u5f15\u8d77\u7684\u5b50\u544a\u8b66\uff08\u4f8b\u5982\u8be5\u8282\u70b9\u4e0a\u8fd0\u884c\u7684\u5bb9\u5668\u5d29\u6e83\uff09\u3002
                            • \u76f8\u4f3c\u544a\u8b66\u6291\u5236\uff1a\u5f53\u591a\u4e2a\u544a\u8b66\u5177\u6709\u76f8\u540c\u7684\u7279\u5f81\uff08\u4f8b\u5982\u540c\u4e00\u5b9e\u4f8b\u4e0a\u7684\u76f8\u540c\u95ee\u9898\uff09\u65f6\uff0c\u53ef\u4ee5\u6291\u5236\u91cd\u590d\u7684\u544a\u8b66\u901a\u77e5\u3002
                            "},{"location":"admin/insight/alert-center/inhibition.html#_2","title":"\u521b\u5efa\u6291\u5236\u89c4\u5219","text":"
                            1. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u964d\u566a\uff0c\u5355\u51fb\u9876\u90e8\u7684 \u544a\u8b66\u6291\u5236 \u3002

                            2. \u70b9\u51fb \u65b0\u5efa\u6291\u5236\u89c4\u5219 \uff0c\u8bbe\u7f6e\u6291\u5236\u89c4\u5219\u7684\u540d\u79f0\u3001\u89c4\u5219\u7b49\u3002

                              Note

                              \u901a\u8fc7\u89c4\u5219\u6807\u7b7e\u548c\u544a\u8b66\u6807\u7b7e\u5b9a\u4e49\u4e00\u7ec4\u89c4\u5219\u6765\u8bc6\u522b\u548c\u5ffd\u7565\u67d0\u4e9b\u544a\u8b66\uff0c\u8fbe\u5230\u907f\u514d\u540c\u4e00\u95ee\u9898\u53ef\u80fd\u4f1a\u89e6\u53d1\u591a\u4e2a\u76f8\u4f3c\u6216\u76f8\u5173\u7684\u544a\u8b66\u7684\u95ee\u9898\u3002

                              \u53c2\u6570\u65f6\u95f4 \u8bf4\u660e \u6291\u5236\u89c4\u5219\u540d\u79f0 \u6291\u5236\u89c4\u5219\u540d\u79f0\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002 \u63cf\u8ff0 \u63cf\u8ff0\u53ef\u5305\u542b\u4efb\u610f\u5b57\u7b26\uff0c\u6700\u957f 256 \u4e2a\u5b57\u7b26\u3002 \u96c6\u7fa4 \u8be5\u6291\u5236\u89c4\u5219\u4f5c\u7528\u7684\u96c6\u7fa4\u3002 \u547d\u540d\u7a7a\u95f4 \u8be5\u6291\u5236\u89c4\u5219\u4f5c\u7528\u7684\u547d\u540d\u7a7a\u95f4\u3002 \u6839\u6e90\u544a\u8b66 \u901a\u8fc7\u586b\u5199\u7684\u6807\u7b7e\u6761\u4ef6\u5339\u914d\u544a\u8b66\uff0c\u4f1a\u5c06\u7b26\u5408\u6240\u6709\u6807\u7b7e\u6761\u4ef6\u7684\u544a\u8b66\u4e0e\u7b26\u5408\u6291\u5236\u6761\u4ef6\u7684\u8fdb\u884c\u5bf9\u6bd4\uff0c\u4e0d\u7b26\u5408\u6291\u5236\u6761\u4ef6\u7684\u544a\u8b66\u5c06\u7167\u5e38\u53d1\u9001\u6d88\u606f\u7ed9\u7528\u6237\u3002 \u53d6\u503c\u8303\u56f4\u8bf4\u660e\uff1a - \u544a\u8b66\u7ea7\u522b\uff1a\u6307\u6807\u6216\u4e8b\u4ef6\u544a\u8b66\u7684\u7ea7\u522b\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a\uff1a\u7d27\u6025\u3001\u91cd\u8981\u3001\u63d0\u793a\u3002 - \u8d44\u6e90\u7c7b\u578b\uff1a\u544a\u8b66\u5bf9\u8c61\u6240\u5bf9\u5e94\u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a\uff1a\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u65e0\u72b6\u6001\u8d1f\u8f7d\u3001\u6709\u72b6\u5bb9\u8d1f\u8f7d\u3001\u5b88\u62a4\u8fdb\u7a0b\u3001\u5bb9\u5668\u7ec4\u3002 - \u6807\u7b7e\uff1a\u544a\u8b66\u6807\u8bc6\u5c5e\u6027\uff0c\u7531\u6807\u7b7e\u540d\u548c\u6807\u7b7e\u503c\u6784\u6210\uff0c\u652f\u6301\u7528\u6237\u81ea\u5b9a\u4e49\u3002 \u6291\u5236\u544a\u8b66 \u7528\u4e8e\u6307\u5b9a\u76ee\u6807\u8b66\u62a5\uff08\u5c06\u88ab\u6291\u5236\u7684\u8b66\u62a5\uff09\u7684\u5339\u914d\u6761\u4ef6\uff0c\u7b26\u5408\u6240\u6709\u6807\u7b7e\u6761\u4ef6\u7684\u544a\u8b66\u5c06\u4e0d\u4f1a\u518d\u53d1\u9001\u6d88\u606f\u7ed9\u7528\u6237\u3002 \u5339\u914d\u6807\u7b7e \u7528\u4e8e\u6307\u5b9a\u5e94\u8be5\u6bd4\u8f83\u7684\u6807\u7b7e\u5217\u8868\uff0c\u4ee5\u786e\u5b9a\u6e90\u8b66\u62a5\u548c\u76ee\u6807\u8b66\u62a5\u662f\u5426\u5339\u914d\u3002\u53ea\u6709\u5728\u00a0equal\u00a0\u4e2d\u6307\u5b9a\u7684\u6807\u7b7e\u5728\u6e90\u548c\u76ee\u6807\u8b66\u62a5\u4e2d\u7684\u503c\u5b8c\u5168\u76f8\u540c\u7684\u60c5\u51b5\u4e0b\uff0c\u624d\u4f1a\u89e6\u53d1\u6291\u5236\u3002equal\u00a0\u5b57\u6bb5\u662f\u53ef\u9009\u7684\u3002\u5982\u679c\u7701\u7565\u00a0equal\u00a0\u5b57\u6bb5\uff0c\u5219\u4f1a\u5c06\u6240\u6709\u6807\u7b7e\u7528\u4e8e\u5339\u914d
                            3. \u70b9\u51fb**\u786e\u5b9a**\u5b8c\u6210\u521b\u5efa\u540e\u8fd4\u56de\u544a\u8b66\u6291\u5236\u5217\u8868\uff0c\u70b9\u51fb\u544a\u8b66\u6291\u5236\u540d\u79f0\u540e\u53ef\u67e5\u770b\u6291\u5236\u89c4\u5219\u8be6\u60c5\u3002

                            "},{"location":"admin/insight/alert-center/inhibition.html#_3","title":"\u67e5\u770b\u89c4\u5219\u6807\u7b7e","text":"
                            1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u7b56\u7565 \uff0c\u70b9\u51fb\u89c4\u5219\u6240\u5728\u7684\u7b56\u7565\u8be6\u60c5\u3002
                            2. \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540d\u79f0\uff0c\u67e5\u770b\u89c4\u5219\u8be6\u60c5\uff0c\u67e5\u770b\u5bf9\u5e94\u544a\u8b66\u89c4\u5219\u7684\u6807\u7b7e\u3002

                              Note

                              \u5728\u6dfb\u52a0\u89c4\u5219\u65f6\u53ef\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                            "},{"location":"admin/insight/alert-center/inhibition.html#_4","title":"\u67e5\u770b\u544a\u8b66\u6807\u7b7e","text":"
                            1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u5217\u8868 \uff0c\u70b9\u51fb\u544a\u8b66\u6240\u5728\u884c\u67e5\u770b\u544a\u8b66\u8be6\u60c5\u3002

                              Note

                              \u544a\u8b66\u6807\u7b7e\u7528\u4e8e\u63cf\u8ff0\u544a\u8b66\u7684\u8be6\u7ec6\u4fe1\u606f\u548c\u5c5e\u6027\uff0c\u53ef\u4ee5\u7528\u6765\u521b\u5efa\u6291\u5236\u89c4\u5219\u3002

                            "},{"location":"admin/insight/alert-center/inhibition.html#_5","title":"\u7f16\u8f91\u6291\u5236\u89c4\u5219","text":"
                            1. \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u7f16\u8f91\uff0c\u8fdb\u5165\u6291\u5236\u89c4\u5219\u7684\u7f16\u8f91\u9875\u3002

                            "},{"location":"admin/insight/alert-center/inhibition.html#_6","title":"\u5220\u9664\u6291\u5236\u89c4\u5219","text":"

                            \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u5220\u9664\uff0c\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u6291\u5236\u89c4\u5219\u7684\u540d\u79f0\u5373\u53ef\u5220\u9664\u3002

                            "},{"location":"admin/insight/alert-center/message.html","title":"\u901a\u77e5\u914d\u7f6e","text":"

                            \u5728 \u901a\u77e5\u914d\u7f6e \u9875\u9762\uff0c\u53ef\u4ee5\u914d\u7f6e\u901a\u8fc7\u90ae\u4ef6\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001\u9489\u9489\u3001Webhook \u548c\u77ed\u4fe1\u7b49\u65b9\u5f0f\u5411\u7528\u6237\u53d1\u9001\u6d88\u606f\u3002

                            "},{"location":"admin/insight/alert-center/message.html#_2","title":"\u90ae\u4ef6\u7ec4","text":"
                            1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e\uff0c\u9ed8\u8ba4\u4f4d\u4e8e\u90ae\u4ef6\u901a\u77e5\u5bf9\u8c61\u3002

                            2. \u70b9\u51fb \u6dfb\u52a0\u90ae\u7bb1\u7ec4\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u90ae\u4ef6\u5730\u5740\u3002

                            3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u90ae\u7bb1\u7ec4\u3002

                            "},{"location":"admin/insight/alert-center/message.html#_3","title":"\u4f01\u4e1a\u5fae\u4fe1","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u4f01\u4e1a\u5fae\u4fe1\u3002

                              \u6709\u5173\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\u7684 URL\uff0c\u8bf7\u53c2\u9605\u4f01\u4e1a\u5fae\u4fe1\u5b98\u65b9\u6587\u6863\uff1a\u5982\u4f55\u4f7f\u7528\u7fa4\u673a\u5668\u4eba\u3002

                            2. \u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

                            3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

                            "},{"location":"admin/insight/alert-center/message.html#_4","title":"\u9489\u9489","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u9489\u9489\uff0c\u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

                              \u6709\u5173\u9489\u9489\u7fa4\u673a\u5668\u4eba\u7684 URL\uff0c\u8bf7\u53c2\u9605\u9489\u9489\u5b98\u65b9\u6587\u6863\uff1a\u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u63a5\u5165\u3002

                              Note

                              \u52a0\u7b7e\u7684\u65b9\u5f0f\u662f\u9489\u9489\u673a\u5668\u4eba\u4e0e\u5f00\u53d1\u8005\u53cc\u5411\u8fdb\u884c\u5b89\u5168\u8ba4\u8bc1\uff0c\u82e5\u5728\u521b\u5efa\u9489\u9489\u673a\u5668\u4eba\u65f6\u5f00\u542f\u4e86\u52a0\u7b7e\uff0c\u5219\u9700\u8981\u5728\u6b64\u5904\u8f93\u5165\u9489\u9489\u751f\u6210\u7684\u5bc6\u94a5\u3002 \u53ef\u53c2\u8003\u9489\u9489\u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u5b89\u5168\u8bbe\u7f6e\u3002

                            2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

                            "},{"location":"admin/insight/alert-center/message.html#_5","title":"\u98de\u4e66","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u98de\u4e66\uff0c\u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

                              Note

                              \u5f53\u98de\u4e66\u7684\u7fa4\u673a\u5668\u4eba\u5f00\u542f\u7b7e\u540d\u6821\u9a8c\u65f6\uff0c\u6dfb\u52a0\u98de\u4e66\u901a\u77e5\u65f6\u9700\u8981\u586b\u5199\u5bf9\u5e94\u7684\u7b7e\u540d\u5bc6\u94a5\u3002\u8bf7\u67e5\u9605 \u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u4f7f\u7528\u6307\u5357\u3002

                            2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

                            "},{"location":"admin/insight/alert-center/message.html#webhook","title":"Webhook","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> Webhook\u3002

                              \u6709\u5173 Webhook URL \u53ca\u66f4\u591a\u914d\u7f6e\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605 webhook \u6587\u6863\u3002

                            2. \u70b9\u51fb \u65b0\u5efa Webhook\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a Webhook\u3002

                              HTTP Headers\uff1a\u975e\u5fc5\u586b\uff0c\u8bbe\u7f6e\u8bf7\u6c42\u5934\u3002\u53ef\u4ee5\u6dfb\u52a0\u591a\u4e2a Headers\u3002

                              Note

                              \u6709\u5173 Webhook URL \u53ca\u66f4\u591a\u914d\u7f6e\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605 webhook \u6587\u6863\u3002

                            3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664 Webhook\u3002

                            "},{"location":"admin/insight/alert-center/message.html#_6","title":"\u7ad9\u5185\u4fe1","text":"

                            Note

                            \u544a\u8b66\u6d88\u606f\u53d1\u9001\u81f3\u7528\u6237\u4e2a\u4eba\u7684\u7ad9\u5185\u4fe1\uff0c\u70b9\u51fb\u9876\u90e8\u7684 \ud83d\udd14 \u7b26\u53f7\u53ef\u4ee5\u67e5\u770b\u901a\u77e5\u6d88\u606f\u3002

                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u7ad9\u5185\u4fe1\uff0c\u70b9\u51fb\u521b\u5efa\u3002

                              • \u7ad9\u5185\u4fe1\u901a\u77e5\u5141\u8bb8\u6dfb\u52a0\u591a\u4e2a\u7528\u6237\u3002

                            2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de \u7ad9\u5185\u4fe1\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\u3002

                            "},{"location":"admin/insight/alert-center/message.html#_7","title":"\u77ed\u4fe1\u7ec4","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u77ed\u4fe1\uff0c\u70b9\u51fb \u6dfb\u52a0\u77ed\u4fe1\u7ec4\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u77ed\u4fe1\u7ec4\u3002

                            2. \u5728\u5f39\u7a97\u4e2d\u8f93\u5165\u540d\u79f0\u3001\u63a5\u6536\u77ed\u4fe1\u7684\u5bf9\u8c61\u3001\u624b\u673a\u53f7\u4ee5\u53ca\u901a\u77e5\u670d\u52a1\u5668\u3002

                              \u901a\u77e5\u670d\u52a1\u5668\u9700\u8981\u9884\u5148\u5728 \u901a\u77e5\u914d\u7f6e -> \u901a\u77e5\u670d\u52a1\u5668 \u4e2d\u6dfb\u52a0\u521b\u5efa\u3002\u76ee\u524d\u652f\u6301\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u4e24\u79cd\u4e91\u670d\u52a1\u5668\uff0c\u5177\u4f53\u914d\u7f6e\u7684\u53c2\u6570\u8bf7\u53c2\u9605\u81ea\u5df1\u7684\u4e91\u670d\u52a1\u5668\u4fe1\u606f\u3002

                            3. \u77ed\u4fe1\u7ec4\u6dfb\u52a0\u6210\u529f\u540e\uff0c\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u77ed\u4fe1\u7ec4\u3002

                            "},{"location":"admin/insight/alert-center/msg-template.html","title":"\u6d88\u606f\u6a21\u677f","text":"

                            \u53ef\u89c2\u6d4b\u6027\u63d0\u4f9b\u81ea\u5b9a\u4e49\u6d88\u606f\u6a21\u677f\u5185\u5bb9\u7684\u80fd\u529b\uff0c\u652f\u6301\u90ae\u4ef6\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001\u9489\u9489\u3001Webhook\u3001\u98de\u4e66\u3001\u7ad9\u5185\u4fe1\u7b49\u4e0d\u540c\u7684\u901a\u77e5\u5bf9\u8c61\u5b9a\u4e49\u4e0d\u540c\u7684\u6d88\u606f\u901a\u77e5\u5185\u5bb9\u3002

                            "},{"location":"admin/insight/alert-center/msg-template.html#_2","title":"\u521b\u5efa\u6d88\u606f\u6a21\u677f","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u6d88\u606f\u6a21\u677f\u3002

                              Insight \u9ed8\u8ba4\u5185\u7f6e\u4e2d\u82f1\u6587\u4e24\u4e2a\u6a21\u677f\uff0c\u4ee5\u4fbf\u7528\u6237\u4f7f\u7528\u3002

                            2. \u70b9\u51fb \u65b0\u5efa\u6d88\u606f\u6a21\u677f \u6309\u94ae\uff0c\u586b\u5199\u6a21\u677f\u5185\u5bb9\u3002

                            Info

                            \u53ef\u89c2\u6d4b\u6027\u9884\u7f6e\u4e86\u6d88\u606f\u6a21\u677f\u3002\u82e5\u9700\u8981\u5b9a\u4e49\u6a21\u677f\u7684\u5185\u5bb9\uff0c\u8bf7\u53c2\u8003\u914d\u7f6e\u901a\u77e5\u6a21\u677f\u3002

                            "},{"location":"admin/insight/alert-center/msg-template.html#_3","title":"\u6d88\u606f\u6a21\u677f\u8be6\u60c5","text":"

                            \u70b9\u51fb\u67d0\u4e00\u6d88\u606f\u6a21\u677f\u7684\u540d\u79f0\uff0c\u53f3\u4fa7\u6ed1\u5757\u53ef\u67e5\u770b\u6d88\u606f\u6a21\u677f\u7684\u8be6\u60c5\u3002

                            \u53c2\u6570 \u53d8\u91cf \u63cf\u8ff0 \u89c4\u5219\u540d\u79f0 {{ .Labels.alertname }} \u89e6\u53d1\u544a\u8b66\u7684\u89c4\u5219\u540d\u79f0 \u7b56\u7565\u540d\u79f0 {{ .Labels.alertgroup }} \u89e6\u53d1\u544a\u8b66\u89c4\u5219\u6240\u5c5e\u7684\u544a\u8b66\u7b56\u7565\u540d\u79f0 \u544a\u8b66\u7ea7\u522b {{ .Labels.severity }} \u89e6\u53d1\u544a\u8b66\u7684\u7ea7\u522b \u96c6\u7fa4 {{ .Labels.cluster }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u96c6\u7fa4 \u547d\u540d\u7a7a\u95f4 {{ .Labels.namespace }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4 \u8282\u70b9 {{ .Labels.node }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u8282\u70b9 \u8d44\u6e90\u7c7b\u578b {{ .Labels.target_type }} \u544a\u8b66\u5bf9\u8c61\u7684\u8d44\u6e90\u7c7b\u578b \u8d44\u6e90\u540d\u79f0 {{ .Labels.target }} \u89e6\u53d1\u544a\u8b66\u7684\u5bf9\u8c61\u540d\u79f0 \u89e6\u53d1\u503c {{ .Annotations.value }} \u89e6\u53d1\u544a\u8b66\u901a\u77e5\u65f6\u7684\u6307\u6807\u503c \u53d1\u751f\u65f6\u95f4 {{ .StartsAt }} \u544a\u8b66\u5f00\u59cb\u53d1\u751f\u7684\u65f6\u95f4 \u7ed3\u675f\u65f6\u95f4 {{ .EndsAT }} \u544a\u8b66\u7ed3\u675f\u7684\u65f6\u95f4 \u63cf\u8ff0 {{ .Annotations.description }} \u544a\u8b66\u7684\u8be6\u7ec6\u63cf\u8ff0 \u6807\u7b7e {{ for .labels}} {{end}} \u544a\u8b66\u7684\u6240\u6709\u6807\u7b7e\uff0c\u4f7f\u7528 for \u51fd\u6570\u904d\u5386 labels \u5217\u8868\uff0c\u83b7\u53d6\u544a\u8b66\u7684\u6240\u6709\u6807\u7b7e\u5185\u5bb9\u3002"},{"location":"admin/insight/alert-center/msg-template.html#_4","title":"\u7f16\u8f91\u6216\u5220\u9664\u6d88\u606f\u6a21\u677f","text":"

                            \u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u7f16\u8f91 \u6216 \u5220\u9664\uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6d88\u606f\u6a21\u677f\u3002

                            Warning

                            \u8bf7\u6ce8\u610f\uff0c\u5220\u9664\u6a21\u677f\u540e\u65e0\u6cd5\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                            "},{"location":"admin/insight/alert-center/silent.html","title":"\u544a\u8b66\u9759\u9ed8","text":"

                            \u544a\u8b66\u9759\u9ed8\u662f\u6307\u5728\u7279\u5b9a\u7684\u65f6\u95f4\u8303\u56f4\u5185\uff0c\u6839\u636e\u5b9a\u4e49\u597d\u7684\u89c4\u5219\u5bf9\u7b26\u5408\u6761\u4ef6\u7684\u544a\u8b66\u4e0d\u518d\u53d1\u9001\u544a\u8b66\u901a\u77e5\u3002\u8be5\u529f\u80fd\u53ef\u4ee5\u5e2e\u52a9\u8fd0\u7ef4\u4eba\u5458\u907f\u514d\u5728\u67d0\u4e9b\u64cd\u4f5c\u6216\u4e8b\u4ef6\u671f\u95f4\u63a5\u6536\u5230\u8fc7\u591a\u7684\u566a\u58f0\u544a\u8b66\uff0c\u540c\u65f6\u4fbf\u4e8e\u66f4\u52a0\u7cbe\u786e\u5730\u5904\u7406\u771f\u6b63\u9700\u8981\u89e3\u51b3\u7684\u95ee\u9898\u3002

                            \u5728\u544a\u8b66\u9759\u9ed8\u9875\u9762\u4e0a\uff0c\u7528\u6237\u53ef\u4ee5\u770b\u5230\u4e24\u4e2a\u9875\u7b7e\uff1a\u6d3b\u8dc3\u89c4\u5219\u548c\u8fc7\u671f\u89c4\u5219\u3002 \u5176\u4e2d\uff0c\u6d3b\u8dc3\u89c4\u5219\u8868\u793a\u76ee\u524d\u6b63\u5728\u751f\u6548\u7684\u89c4\u5219\uff0c\u800c\u8fc7\u671f\u89c4\u5219\u5219\u662f\u4ee5\u524d\u5b9a\u4e49\u8fc7\u4f46\u5df2\u7ecf\u8fc7\u671f\uff08\u6216\u8005\u7528\u6237\u4e3b\u52a8\u5220\u9664\uff09\u7684\u89c4\u5219\u3002

                            "},{"location":"admin/insight/alert-center/silent.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u544a\u8b66\u9759\u9ed8 ,\u70b9\u51fb \u65b0\u5efa\u9759\u9ed8\u89c4\u5219 \u6309\u94ae\u3002

                            2. \u586b\u5199\u9759\u9ed8\u89c4\u5219\u7684\u5404\u9879\u53c2\u6570\uff0c\u5982\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u6807\u7b7e\u3001\u65f6\u95f4\u7b49\uff0c\u4ee5\u5b9a\u4e49\u8fd9\u6761\u89c4\u5219\u7684\u4f5c\u7528\u8303\u56f4\u548c\u751f\u6548\u65f6\u95f4\u3002

                            3. \u8fd4\u56de\u89c4\u5219\u5217\u8868\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u9759\u9ed8\u89c4\u5219\u3002

                            \u901a\u8fc7\u544a\u8b66\u9759\u9ed8\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u7075\u6d3b\u5730\u63a7\u5236\u54ea\u4e9b\u544a\u8b66\u9700\u8981\u88ab\u5ffd\u7565\uff0c\u5728\u4ec0\u4e48\u65f6\u95f4\u6bb5\u5185\u751f\u6548\uff0c\u4ece\u800c\u63d0\u9ad8\u8fd0\u7ef4\u6548\u7387\uff0c\u51cf\u5c11\u8bef\u62a5\u7684\u53ef\u80fd\u6027\u3002

                            "},{"location":"admin/insight/alert-center/sms-provider.html","title":"\u914d\u7f6e\u901a\u77e5\u670d\u52a1\u5668","text":"

                            \u53ef\u89c2\u6d4b\u6027 Insight \u652f\u6301\u77ed\u4fe1\u901a\u77e5\uff0c\u76ee\u524d\u901a\u8fc7\u96c6\u6210\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u7684\u77ed\u4fe1\u670d\u52a1\u53d1\u9001\u544a\u8b66\u6d88\u606f\u3002\u672c\u6587\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728 insight \u4e2d\u914d\u7f6e\u77ed\u4fe1\u901a\u77e5\u7684\u670d\u52a1\u5668\u3002\u77ed\u4fe1\u7b7e\u540d\u4e2d\u652f\u6301\u7684\u53d8\u91cf\u4e3a\u6d88\u606f\u6a21\u677f\u4e2d\u7684\u9ed8\u8ba4\u53d8\u91cf\uff0c\u540c\u65f6\u7531\u4e8e\u77ed\u4fe1\u5b57\u6570\u6709\u9650\uff0c\u5efa\u8bae\u9009\u62e9\u8f83\u4e3a\u660e\u786e\u7684\u53d8\u91cf\u3002

                            \u5982\u4f55\u914d\u7f6e\u77ed\u4fe1\u63a5\u6536\u4eba\u53ef\u53c2\u8003\u6587\u6863\uff1a\u914d\u7f6e\u77ed\u4fe1\u901a\u77e5\u7ec4\u3002

                            "},{"location":"admin/insight/alert-center/sms-provider.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u8fdb\u5165 \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u901a\u77e5\u670d\u52a1\u5668 \u3002

                            2. \u70b9\u51fb \u6dfb\u52a0\u901a\u77e5\u670d\u52a1\u5668 \u3002

                              1. \u914d\u7f6e\u963f\u91cc\u4e91\u670d\u52a1\u5668\u3002

                                \u7533\u8bf7\u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1\uff0c\u8bf7\u53c2\u8003\u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1\u3002

                                \u5b57\u6bb5\u8bf4\u660e\uff1a

                                • AccessKey ID \uff1a\u963f\u91cc\u4e91\u7528\u4e8e\u6807\u8bc6\u7528\u6237\u7684\u53c2\u6570\u3002
                                • AccessKey Secret \uff1a\u963f\u91cc\u4e91\u7528\u4e8e\u9a8c\u8bc1\u7528\u6237\u7684\u5bc6\u94a5\u3002AccessKey Secret \u5fc5\u987b\u4fdd\u5bc6\u3002
                                • \u77ed\u4fe1\u7b7e\u540d \uff1a\u77ed\u4fe1\u670d\u52a1\u652f\u6301\u6839\u636e\u7528\u6237\u9700\u6c42\u521b\u5efa\u7b26\u5408\u8981\u6c42\u7684\u7b7e\u540d\u3002\u53d1\u9001\u77ed\u4fe1\u65f6\uff0c\u77ed\u4fe1\u5e73\u53f0\u4f1a\u5c06\u5df2\u5ba1\u6838\u901a\u8fc7\u7684\u77ed\u4fe1\u7b7e\u540d\u6dfb\u52a0\u5230\u77ed\u4fe1\u5185\u5bb9\u4e2d\uff0c\u518d\u53d1\u9001\u7ed9\u77ed\u4fe1\u63a5\u6536\u65b9\u3002
                                • \u6a21\u677f CODE \uff1a\u77ed\u4fe1\u6a21\u677f\u662f\u53d1\u9001\u77ed\u4fe1\u7684\u5177\u4f53\u5185\u5bb9\u3002
                                • \u53c2\u6570\u6a21\u677f \uff1a\u77ed\u4fe1\u6b63\u6587\u6a21\u677f\u53ef\u4ee5\u5305\u542b\u53d8\u91cf\uff0c\u7528\u6237\u53ef\u901a\u8fc7\u53d8\u91cf\u5b9e\u73b0\u81ea\u5b9a\u4e49\u77ed\u4fe1\u5185\u5bb9\u3002

                                \u8bf7\u53c2\u8003\u963f\u91cc\u4e91\u53d8\u91cf\u89c4\u8303\u3002

                                Note

                                \u4e3e\u4f8b\uff1a\u5728\u963f\u91cc\u4e91\u5b9a\u4e49\u7684\u6a21\u677f\u5185\u5bb9\u4e3a\uff1a\\({severity}\uff1a\\) \u88ab\u89e6\u53d1\u3002\u53c2\u6570\u6a21\u677f\u4e2d\u7684\u914d\u7f6e\u53c2\u8003\u4e0a\u56fe\u3002} \u5728 ${startat

                              2. \u914d\u7f6e\u817e\u8baf\u4e91\u670d\u52a1\u5668\u3002

                                \u7533\u8bf7\u817e\u8baf\u4e91\u77ed\u4fe1\u670d\u52a1\uff0c\u8bf7\u53c2\u8003\u817e\u8baf\u4e91\u77ed\u4fe1\u3002

                                \u5b57\u6bb5\u8bf4\u660e\uff1a

                                • Secret ID \uff1a\u817e\u8baf\u4e91\u7528\u4e8e\u6807\u8bc6 API \u8c03\u7528\u8005\u8eab\u4efd\u53c2\u6570\u3002
                                • SecretKey \uff1a\u817e\u8baf\u4e91\u7528\u4e8e\u9a8c\u8bc1 API \u8c03\u7528\u8005\u7684\u8eab\u4efd\u7684\u53c2\u6570\u3002
                                • \u77ed\u4fe1\u6a21\u677f ID \uff1a\u77ed\u4fe1\u6a21\u677f ID\uff0c\u7531\u817e\u8baf\u4e91\u7cfb\u7edf\u81ea\u52a8\u751f\u6210\u3002
                                • \u7b7e\u540d\u5185\u5bb9 \uff1a\u77ed\u4fe1\u7b7e\u540d\u5185\u5bb9\uff0c\u5373\u5728\u817e\u8baf\u4e91\u77ed\u4fe1\u7b7e\u540d\u4e2d\u5b9a\u4e49\u7684\u5b9e\u9645\u7f51\u7ad9\u540d\u7684\u5168\u79f0\u6216\u7b80\u79f0\u3002
                                • SdkAppId \uff1a\u77ed\u4fe1 SdkAppId\uff0c\u5728\u817e\u8baf\u4e91\u77ed\u4fe1\u63a7\u5236\u53f0\u6dfb\u52a0\u5e94\u7528\u540e\u751f\u6210\u7684\u5b9e\u9645 SdkAppId\u3002
                                • \u53c2\u6570\u6a21\u677f \uff1a\u77ed\u4fe1\u6b63\u6587\u6a21\u677f\u53ef\u4ee5\u5305\u542b\u53d8\u91cf\uff0c\u7528\u6237\u53ef\u901a\u8fc7\u53d8\u91cf\u5b9e\u73b0\u81ea\u5b9a\u4e49\u77ed\u4fe1\u5185\u5bb9\u3002\u8bf7\u53c2\u8003\uff1a\u817e\u8baf\u4e91\u53d8\u91cf\u89c4\u8303\u3002

                                Note

                                \u4e3e\u4f8b\uff1a\u5728\u817e\u8baf\u4e91\u5b9a\u4e49\u7684\u6a21\u677f\u5185\u5bb9\u4e3a\uff1a{1}\uff1a{2} \u5728 {3} \u88ab\u89e6\u53d1\u3002\u53c2\u6570\u6a21\u677f\u4e2d\u7684\u914d\u7f6e\u53c2\u8003\u4e0a\u56fe\u3002

                            "},{"location":"admin/insight/collection-manag/agent-status.html","title":"insight-agent \u7ec4\u4ef6\u72b6\u6001\u8bf4\u660e","text":"

                            \u5728 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u89c2\u6d4b\u4ea7\u54c1\uff0c\u4e3a\u4e86\u5b9e\u73b0\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u7edf\u4e00\u91c7\u96c6\uff0c\u9700\u8981\u7528\u6237\u5b89\u88c5 Helm \u5e94\u7528 insight-agent \uff08\u9ed8\u8ba4\u5b89\u88c5\u5728 insight-system \u547d\u540d\u7a7a\u95f4\uff09\u3002\u53c2\u9605\u5982\u4f55\u5b89\u88c5 insight-agent \u3002

                            "},{"location":"admin/insight/collection-manag/agent-status.html#_1","title":"\u72b6\u6001\u8bf4\u660e","text":"

                            \u5728 \u53ef\u89c2\u6d4b\u6027 -> \u91c7\u96c6\u7ba1\u7406 \u90e8\u5206\u53ef\u67e5\u770b\u5404\u96c6\u7fa4\u5b89\u88c5 insight-agent \u7684\u60c5\u51b5\u3002

                            • \u672a\u5b89\u88c5 \uff1a\u8be5\u96c6\u7fa4\u4e2d\u672a\u5728 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u5b89\u88c5 insight-agent
                            • \u8fd0\u884c\u4e2d \uff1a\u8be5\u96c6\u7fa4\u4e2d\u6210\u529f\u5b89\u88c5 insight-agent \uff0c\u4e14\u90e8\u7f72\u7684\u6240\u6709\u7ec4\u4ef6\u5747\u5904\u4e8e\u8fd0\u884c\u4e2d\u72b6\u6001
                            • \u5f02\u5e38 \uff1a\u82e5 insight-agent \u5904\u4e8e\u6b64\u72b6\u6001\uff0c\u8bf4\u660e helm \u90e8\u7f72\u5931\u8d25\u6216\u5b58\u5728\u90e8\u7f72\u7684\u7ec4\u4ef6\u5904\u4e8e\u975e\u8fd0\u884c\u4e2d\u72b6\u6001

                            \u53ef\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u6392\u67e5\uff1a

                            1. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u82e5\u72b6\u6001\u4e3a deployed \uff0c\u5219\u6267\u884c\u4e0b\u4e00\u6b65\u3002\u82e5\u4e3a failed \uff0c\u7531\u4e8e\u4f1a\u5f71\u54cd\u5e94\u7528\u7684\u5347\u7ea7\uff0c\u5efa\u8bae\u5728 \u5bb9\u5668\u7ba1\u7406 -> helm \u5e94\u7528 \u5378\u8f7d\u540e\u91cd\u65b0\u5b89\u88c5 :

                              helm list -n insight-system\n
                            2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6216\u5728 \u53ef\u89c2\u6d4b\u6027 -> \u91c7\u96c6\u7ba1\u7406 \u4e2d\u67e5\u770b\u8be5\u96c6\u7fa4\u90e8\u7f72\u7684\u7ec4\u4ef6\u7684\u72b6\u6001\uff0c\u82e5\u5b58\u5728\u975e \u8fd0\u884c\u4e2d \u72b6\u6001\u7684\u5bb9\u5668\u7ec4\uff0c\u8bf7\u91cd\u542f\u5f02\u5e38\u7684\u5bb9\u5668\u7ec4\u3002

                              kubectl get pods -n insight-system\n
                            "},{"location":"admin/insight/collection-manag/agent-status.html#_2","title":"\u8865\u5145\u8bf4\u660e","text":"
                            1. insight-agent \u4e2d\u6307\u6807\u91c7\u96c6\u7ec4\u4ef6 Prometheus \u7684\u8d44\u6e90\u6d88\u8017\u4e0e\u96c6\u7fa4\u4e2d\u8fd0\u884c\u7684\u5bb9\u5668\u7ec4\u6570\u91cf\u5b58\u5728\u6b63\u6bd4\u5173\u7cfb\uff0c \u8bf7\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 Prometheus \u7684\u8d44\u6e90\uff0c\u8bf7\u53c2\u8003\uff1aPrometheus \u8d44\u6e90\u89c4\u5212

                            2. \u7531\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u6307\u6807\u5b58\u50a8\u7ec4\u4ef6 vmstorage \u7684\u5b58\u50a8\u5bb9\u91cf\u4e0e\u5404\u4e2a\u96c6\u7fa4\u5bb9\u5668\u7ec4\u6570\u91cf\u603b\u548c\u5b58\u5728\u6b63\u6bd4\u5173\u7cfb\u3002

                              • \u8bf7\u8054\u7cfb\u5e73\u53f0\u7ba1\u7406\u5458\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf\uff0c\u53c2\u9605 vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212
                              • \u6839\u636e\u591a\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u78c1\u76d8\uff0c\u53c2\u9605 vmstorge \u78c1\u76d8\u6269\u5bb9
                            "},{"location":"admin/insight/collection-manag/collection-manag.html","title":"\u91c7\u96c6\u7ba1\u7406","text":"

                            \u91c7\u96c6\u7ba1\u7406 \u4e3b\u8981\u662f\u96c6\u4e2d\u7ba1\u7406\u3001\u5c55\u793a\u96c6\u7fa4\u5b89\u88c5\u91c7\u96c6\u63d2\u4ef6 insight-agent \u7684\u5165\u53e3\uff0c\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u7684\u67e5\u770b\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u5e76\u63d0\u4f9b\u4e86\u5feb\u6377\u5165\u53e3\u914d\u7f6e\u91c7\u96c6\u89c4\u5219\u3002

                            \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                            1. \u70b9\u51fb\u5de6\u4e0a\u89d2\u7684\uff0c\u9009\u62e9 \u53ef\u89c2\u6d4b\u6027 \u3002

                            2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u91c7\u96c6\u7ba1\u7406 \uff0c\u67e5\u770b\u5168\u90e8\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u72b6\u6001\u3002

                            3. \u96c6\u7fa4\u63a5\u5165 insight-agent \u4e14\u5904\u4e8e\u8fd0\u884c\u4e2d\u72b6\u6001\u65f6\uff0c\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\u3002

                            4. \u5728 \u670d\u52a1\u76d1\u63a7 \u9875\u7b7e\u4e2d\uff0c\u70b9\u51fb\u5feb\u6377\u94fe\u63a5\u8df3\u8f6c\u5230 \u5bb9\u5668\u7ba1\u7406 -> \u81ea\u5b9a\u4e49\u8d44\u6e90 \u6dfb\u52a0\u670d\u52a1\u53d1\u73b0\u89c4\u5219\u3002

                            "},{"location":"admin/insight/collection-manag/metric-collect.html","title":"\u6307\u6807\u6293\u53d6\u65b9\u5f0f","text":"

                            Prometheus \u4e3b\u8981\u901a\u8fc7 Pull \u7684\u65b9\u5f0f\u6765\u6293\u53d6\u76ee\u6807\u670d\u52a1\u66b4\u9732\u51fa\u6765\u7684\u76d1\u63a7\u63a5\u53e3\uff0c\u56e0\u6b64\u9700\u8981\u914d\u7f6e\u5bf9\u5e94\u7684\u6293\u53d6\u4efb\u52a1\u6765\u8bf7\u6c42\u76d1\u63a7\u6570\u636e\u5e76\u5199\u5165\u5230 Prometheus \u63d0\u4f9b\u7684\u5b58\u50a8\u4e2d\uff0c\u76ee\u524d Prometheus \u670d\u52a1\u63d0\u4f9b\u4e86\u5982\u4e0b\u51e0\u4e2a\u4efb\u52a1\u7684\u914d\u7f6e\uff1a

                            • \u539f\u751f Job \u914d\u7f6e\uff1a\u63d0\u4f9b Prometheus \u539f\u751f\u6293\u53d6 Job \u7684\u914d\u7f6e\u3002
                            • Pod Monitor\uff1a\u5728 K8S \u751f\u6001\u4e0b\uff0c\u57fa\u4e8e Prometheus Operator \u6765\u6293\u53d6 Pod \u4e0a\u5bf9\u5e94\u7684\u76d1\u63a7\u6570\u636e\u3002
                            • Service Monitor\uff1a\u5728 K8S \u751f\u6001\u4e0b\uff0c\u57fa\u4e8e Prometheus Operator \u6765\u6293\u53d6 Service \u5bf9\u5e94 Endpoints \u4e0a\u7684\u76d1\u63a7\u6570\u636e\u3002

                            Note

                            [ ] \u4e2d\u7684\u914d\u7f6e\u9879\u4e3a\u53ef\u9009\u3002

                            "},{"location":"admin/insight/collection-manag/metric-collect.html#job","title":"\u539f\u751f Job \u914d\u7f6e","text":"

                            \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                            # \u6293\u53d6\u4efb\u52a1\u540d\u79f0\uff0c\u540c\u65f6\u4f1a\u5728\u5bf9\u5e94\u6293\u53d6\u7684\u6307\u6807\u4e2d\u52a0\u4e86\u4e00\u4e2a label(job=job_name)\njob_name: <job_name>\n\n# \u6293\u53d6\u4efb\u52a1\u65f6\u95f4\u95f4\u9694\n[ scrape_interval: <duration> | default = <global_config.scrape_interval> ]\n\n# \u6293\u53d6\u8bf7\u6c42\u8d85\u65f6\u65f6\u95f4\n[ scrape_timeout: <duration> | default = <global_config.scrape_timeout> ]\n\n# \u6293\u53d6\u4efb\u52a1\u8bf7\u6c42 URI \u8def\u5f84\n[ metrics_path: <path> | default = /metrics ]\n\n# \u89e3\u51b3\u5f53\u6293\u53d6\u7684 label \u4e0e\u540e\u7aef Prometheus \u6dfb\u52a0 label \u51b2\u7a81\u65f6\u7684\u5904\u7406\u3002\n# true: \u4fdd\u7559\u6293\u53d6\u5230\u7684 label\uff0c\u5ffd\u7565\u4e0e\u540e\u7aef Prometheus \u51b2\u7a81\u7684 label\uff1b\n# false: \u5bf9\u51b2\u7a81\u7684 label\uff0c\u628a\u6293\u53d6\u7684 label \u524d\u52a0\u4e0a exported_<original-label>\uff0c\u6dfb\u52a0\u540e\u7aef Prometheus \u589e\u52a0\u7684 label\uff1b\n[ honor_labels: <boolean> | default = false ]\n\n# \u662f\u5426\u4f7f\u7528\u6293\u53d6\u5230 target \u4e0a\u4ea7\u751f\u7684\u65f6\u95f4\u3002\n# true: \u5982\u679c target \u4e2d\u6709\u65f6\u95f4\uff0c\u4f7f\u7528 target \u4e0a\u7684\u65f6\u95f4\uff1b\n# false: \u76f4\u63a5\u5ffd\u7565 target \u4e0a\u7684\u65f6\u95f4\uff1b\n[ honor_timestamps: <boolean> | default = true ]\n\n# \u6293\u53d6\u534f\u8bae: http \u6216\u8005 https\n[ scheme: <scheme> | default = http ]\n\n# \u6293\u53d6\u8bf7\u6c42\u5bf9\u5e94 URL \u53c2\u6570\nparams:\n  [ <string>: [<string>, ...] ]\n\n# \u901a\u8fc7 basic auth \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` \u7684\u503c\uff0cpassword/password_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 password_file \u91cc\u9762\u7684\u503c\u3002\nbasic_auth:\n  [ username: <string> ]\n  [ password: <secret> ]\n  [ password_file: <string> ]\n\n# \u901a\u8fc7 bearer token \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` bearer_token/bearer_token_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 bearer_token \u91cc\u9762\u7684\u503c\u3002\n[ bearer_token: <secret> ]\n\n# \u901a\u8fc7 bearer token \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` bearer_token/bearer_token_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 bearer_token \u91cc\u9762\u7684\u503c\u3002\n[ bearer_token_file: <filename> ]\n\n# \u6293\u53d6\u8fde\u63a5\u662f\u5426\u901a\u8fc7 TLS \u5b89\u5168\u901a\u9053\uff0c\u914d\u7f6e\u5bf9\u5e94\u7684 TLS \u53c2\u6570\ntls_config:\n  [ <tls_config> ]\n\n# \u901a\u8fc7\u4ee3\u7406\u670d\u52a1\u6765\u6293\u53d6 target \u4e0a\u7684\u6307\u6807\uff0c\u586b\u5199\u5bf9\u5e94\u7684\u4ee3\u7406\u670d\u52a1\u5730\u5740\u3002\n[ proxy_url: <string> ]\n\n# \u901a\u8fc7\u9759\u6001\u914d\u7f6e\u6765\u6307\u5b9a target\uff0c\u8be6\u89c1\u4e0b\u9762\u7684\u8bf4\u660e\u3002\nstatic_configs:\n  [ - <static_config> ... ]\n\n# CVM \u670d\u52a1\u53d1\u73b0\u914d\u7f6e\uff0c\u8be6\u89c1\u4e0b\u9762\u7684\u8bf4\u660e\u3002\ncvm_sd_configs:\n  [ - <cvm_sd_config> ... ]\n\n# \u5728\u6293\u53d6\u6570\u636e\u4e4b\u540e\uff0c\u628a target \u4e0a\u5bf9\u5e94\u7684 label \u901a\u8fc7 relabel \u7684\u673a\u5236\u8fdb\u884c\u6539\u5199\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\u3002\nrelabel_configs:\n  [ - <relabel_config> ... ]\n\n# \u6570\u636e\u6293\u53d6\u5b8c\u6210\u5199\u5165\u4e4b\u524d\uff0c\u901a\u8fc7 relabel \u673a\u5236\u8fdb\u884c\u6539\u5199 label \u5bf9\u5e94\u7684\u503c\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\u3002\nmetric_relabel_configs:\n  [ - <relabel_config> ... ]\n\n# \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n[ sample_limit: <int> | default = 0 ]\n\n# \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n[ target_limit: <int> | default = 0 ]\n
                            "},{"location":"admin/insight/collection-manag/metric-collect.html#pod-monitor","title":"Pod Monitor","text":"

                            \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                            # Prometheus Operator CRD \u7248\u672c\napiVersion: monitoring.coreos.com/v1\n# \u5bf9\u5e94 K8S \u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u8fd9\u91cc\u9762 Pod Monitor\nkind: PodMonitor\n# \u5bf9\u5e94 K8S \u7684 Metadata\uff0c\u8fd9\u91cc\u53ea\u7528\u5173\u5fc3 name\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a jobLabel\uff0c\u5bf9\u5e94\u6293\u53d6\u6307\u6807 label \u4e2d job \u7684\u503c\u4e3a <namespace>/<name>\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus  # namespace \u56fa\u5b9a\uff0c\u4e0d\u9700\u8981\u4fee\u6539\n# \u63cf\u8ff0\u6293\u53d6\u76ee\u6807 Pod \u7684\u9009\u53d6\u53ca\u6293\u53d6\u4efb\u52a1\u7684\u914d\u7f6e\n  label:\n    operator.insight.io/managed-by: insight # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\nspec:\n  # \u586b\u5199\u5bf9\u5e94 Pod \u7684 label\uff0cpod monitor \u4f1a\u53d6\u5bf9\u5e94\u7684\u503c\u4f5c\u4e3a job label \u7684\u503c\u3002\n  # \u5982\u679c\u67e5\u770b\u7684\u662f Pod Yaml\uff0c\u53d6 pod.metadata.labels \u4e2d\u7684\u503c\u3002\n  # \u5982\u679c\u67e5\u770b\u7684\u662f Deployment/Daemonset/Statefulset\uff0c\u53d6 spec.template.metadata.labels\u3002\n  [ jobLabel: string ]\n  # \u628a\u5bf9\u5e94 Pod \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ podTargetLabels: []string ]\n  # \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ sampleLimit: uint64 ]\n  # \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ targetLimit: uint64 ]\n  # \u914d\u7f6e\u9700\u8981\u6293\u53d6\u66b4\u9732\u7684 Prometheus HTTP \u63a5\u53e3\uff0c\u53ef\u4ee5\u914d\u7f6e\u591a\u4e2a Endpoint\n  podMetricsEndpoints:\n  [ - <endpoint_config> ... ] # \u8be6\u89c1\u4e0b\u9762 endpoint \u8bf4\u660e\n  # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\uff0c\u4e0d\u586b\u4e3a\u9009\u53d6\u6240\u6709 namespace\n  [ namespaceSelector: ]\n    # \u662f\u5426\u9009\u53d6\u6240\u6709 namespace\n    [ any: bool ]\n    # \u9700\u8981\u9009\u53d6 namespace \u5217\u8868\n    [ matchNames: []string ]\n  # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 Pod [K8S metav1.LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta)\n  selector:\n    [ matchExpressions: array ]\n      [ example: - {key: tier, operator: In, values: [cache]} ]\n    [ matchLabels: object ]\n      [ example: k8s-app: redis-exporter ]\n
                            "},{"location":"admin/insight/collection-manag/metric-collect.html#1","title":"\u4e3e\u4f8b 1","text":"
                            apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus # namespace \u56fa\u5b9a\uff0c\u4e0d\u8981\u4fee\u6539\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  podMetricsEndpoints:\n    - interval: 30s\n      port: metric-port # \u586b\u5199 pod yaml \u4e2d Prometheus Exporter \u5bf9\u5e94\u7684 Port \u7684 Name\n      path: /metrics # \u586b\u5199 Prometheus Exporter \u5bf9\u5e94\u7684 Path \u7684\u503c\uff0c\u4e0d\u586b\u9ed8\u8ba4 /metrics\n      relabelings:\n        - action: replace\n          sourceLabels:\n            - instance\n          regex: (.*)\n          targetLabel: instance\n          replacement: \"crs-xxxxxx\" # \u8c03\u6574\u6210\u5bf9\u5e94\u7684 Redis \u5b9e\u4f8b ID\n        - action: replace\n          sourceLabels:\n            - instance\n          regex: (.*)\n          targetLabel: ip\n          replacement: \"1.x.x.x\" # \u8c03\u6574\u6210\u5bf9\u5e94\u7684 Redis \u5b9e\u4f8b IP\n  namespaceSelector: # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\n    matchNames:\n      - redis-test\n  selector: # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 pod\n    matchLabels:\n      k8s-app: redis-exporter\n
                            "},{"location":"admin/insight/collection-manag/metric-collect.html#2","title":"\u4e3e\u4f8b 2","text":"
                            job_name: prometheus\nscrape_interval: 30s\nstatic_configs:\n- targets:\n  - 127.0.0.1:9090\n
                            "},{"location":"admin/insight/collection-manag/metric-collect.html#service-monitor","title":"Service Monitor","text":"

                            \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                            # Prometheus Operator CRD \u7248\u672c\napiVersion: monitoring.coreos.com/v1\n# \u5bf9\u5e94 K8S \u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u8fd9\u91cc\u9762 Service Monitor\nkind: ServiceMonitor\n# \u5bf9\u5e94 K8S \u7684 Metadata\uff0c\u8fd9\u91cc\u53ea\u7528\u5173\u5fc3 name\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a jobLabel\uff0c\u5bf9\u5e94\u6293\u53d6\u6307\u6807 label \u4e2d job \u7684\u503c\u4e3a Service \u7684\u540d\u79f0\u3002\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus  # namespace \u56fa\u5b9a\uff0c\u4e0d\u9700\u8981\u4fee\u6539\n# \u63cf\u8ff0\u6293\u53d6\u76ee\u6807 Pod \u7684\u9009\u53d6\u53ca\u6293\u53d6\u4efb\u52a1\u7684\u914d\u7f6e\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  # \u586b\u5199\u5bf9\u5e94 Pod \u7684 label(metadata/labels)\uff0cservice monitor \u4f1a\u53d6\u5bf9\u5e94\u7684\u503c\u4f5c\u4e3a job label \u7684\u503c\n  [ jobLabel: string ]\n  # \u628a\u5bf9\u5e94 service \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ targetLabels: []string ]\n  # \u628a\u5bf9\u5e94 Pod \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ podTargetLabels: []string ]\n  # \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ sampleLimit: uint64 ]\n  # \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ targetLimit: uint64 ]\n  # \u914d\u7f6e\u9700\u8981\u6293\u53d6\u66b4\u9732\u7684 Prometheus HTTP \u63a5\u53e3\uff0c\u53ef\u4ee5\u914d\u7f6e\u591a\u4e2a Endpoint\n  endpoints:\n  [ - <endpoint_config> ... ] # \u8be6\u89c1\u4e0b\u9762 endpoint \u8bf4\u660e\n  # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\uff0c\u4e0d\u586b\u4e3a\u9009\u53d6\u6240\u6709 namespace\n  [ namespaceSelector: ]\n    # \u662f\u5426\u9009\u53d6\u6240\u6709 namespace\n    [ any: bool ]\n    # \u9700\u8981\u9009\u53d6 namespace \u5217\u8868\n    [ matchNames: []string ]\n  # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 Pod [K8S metav1.LabelSelector](https://v1-17.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#labelselector-v1-meta)\n  selector:\n    [ matchExpressions: array ]\n      [ example: - {key: tier, operator: In, values: [cache]} ]\n    [ matchLabels: object ]\n      [ example: k8s-app: redis-exporter ]\n
                            "},{"location":"admin/insight/collection-manag/metric-collect.html#_2","title":"\u4e3e\u4f8b","text":"
                            apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: go-demo # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus # namespace \u56fa\u5b9a\uff0c\u4e0d\u8981\u4fee\u6539\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  endpoints:\n    - interval: 30s\n      # \u586b\u5199 service yaml \u4e2d Prometheus Exporter \u5bf9\u5e94\u7684 Port \u7684 Name\n      port: 8080-8080-tcp\n      # \u586b\u5199 Prometheus Exporter \u5bf9\u5e94\u7684 Path \u7684\u503c\uff0c\u4e0d\u586b\u9ed8\u8ba4 /metrics\n      path: /metrics\n      relabelings:\n        # ** \u5fc5\u987b\u8981\u6709\u4e00\u4e2a label \u4e3a application\uff0c\u8fd9\u91cc\u5047\u8bbe k8s \u6709\u4e00\u4e2a label \u4e3a app\uff0c\n        # \u6211\u4eec\u901a\u8fc7 relabel \u7684 replace \u52a8\u4f5c\u628a\u5b83\u66ff\u6362\u6210\u4e86 application\n        - action: replace\n          sourceLabels: [__meta_kubernetes_pod_label_app]\n          targetLabel: application\n  # \u9009\u62e9\u8981\u76d1\u63a7 service \u6240\u5728\u7684 namespace\n  namespaceSelector:\n    matchNames:\n      - golang-demo\n  # \u586b\u5199\u8981\u76d1\u63a7 service \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 service\n  selector:\n    matchLabels:\n      app: golang-app-demo\n
                            "},{"location":"admin/insight/collection-manag/metric-collect.html#endpoint_config","title":"endpoint_config","text":"

                            \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                            # \u5bf9\u5e94 port \u7684\u540d\u79f0\uff0c\u8fd9\u91cc\u9700\u8981\u6ce8\u610f\u4e0d\u662f\u5bf9\u5e94\u7684\u7aef\u53e3\uff0c\u9ed8\u8ba4\uff1a80\uff0c\u5bf9\u5e94\u7684\u53d6\u503c\u5982\u4e0b\uff1a\n# ServiceMonitor: \u5bf9\u5e94 Service>spec/ports/name;\n# PodMonitor: \u8bf4\u660e\u5982\u4e0b\uff1a\n#   \u5982\u679c\u67e5\u770b\u7684\u662f Pod Yaml\uff0c\u53d6 pod.spec.containers.ports.name \u4e2d\u7684\u503c\u3002\n#   \u5982\u679c\u67e5\u770b\u7684\u662f Deployment/Daemonset/Statefulset\uff0c\u53d6\u503c spec.template.spec.containers.ports.name\n[ port: string | default = 80]\n# \u6293\u53d6\u4efb\u52a1\u8bf7\u6c42 URI \u8def\u5f84\n[ path: string | default = /metrics ]\n# \u6293\u53d6\u534f\u8bae: http \u6216\u8005 https\n[ scheme: string | default = http]\n# \u6293\u53d6\u8bf7\u6c42\u5bf9\u5e94 URL \u53c2\u6570\n[ params: map[string][]string]\n# \u6293\u53d6\u4efb\u52a1\u95f4\u9694\u7684\u65f6\u95f4\n[ interval: string | default = 30s ]\n# \u6293\u53d6\u4efb\u52a1\u8d85\u65f6\n[ scrapeTimeout: string | default = 30s]\n# \u6293\u53d6\u8fde\u63a5\u662f\u5426\u901a\u8fc7 TLS \u5b89\u5168\u901a\u9053\uff0c\u914d\u7f6e\u5bf9\u5e94\u7684 TLS \u53c2\u6570\n[ tlsConfig: TLSConfig ]\n# \u901a\u8fc7\u5bf9\u5e94\u7684\u6587\u4ef6\u8bfb\u53d6 bearer token \u5bf9\u5e94\u7684\u503c\uff0c\u653e\u5230\u6293\u53d6\u4efb\u52a1\u7684 header \u4e2d\n[ bearerTokenFile: string ]\n# \u901a\u8fc7\u5bf9\u5e94\u7684 K8S secret key \u8bfb\u53d6\u5bf9\u5e94\u7684 bearer token\uff0c\u6ce8\u610f secret namespace \u9700\u8981\u548c PodMonitor/ServiceMonitor \u76f8\u540c\n[ bearerTokenSecret: string ]\n# \u89e3\u51b3\u5f53\u6293\u53d6\u7684 label \u4e0e\u540e\u7aef Prometheus \u6dfb\u52a0 label \u51b2\u7a81\u65f6\u7684\u5904\u7406\u3002\n# true: \u4fdd\u7559\u6293\u53d6\u5230\u7684 label\uff0c\u5ffd\u7565\u4e0e\u540e\u7aef Prometheus \u51b2\u7a81\u7684 label\uff1b\n# false: \u5bf9\u51b2\u7a81\u7684 label\uff0c\u628a\u6293\u53d6\u7684 label \u524d\u52a0\u4e0a exported_<original-label>\uff0c\u6dfb\u52a0\u540e\u7aef Prometheus \u589e\u52a0\u7684 label\uff1b\n[ honorLabels: bool | default = false ]\n# \u662f\u5426\u4f7f\u7528\u6293\u53d6\u5230 target \u4e0a\u4ea7\u751f\u7684\u65f6\u95f4\u3002\n# true: \u5982\u679c target \u4e2d\u6709\u65f6\u95f4\uff0c\u4f7f\u7528 target \u4e0a\u7684\u65f6\u95f4\uff1b\n# false: \u76f4\u63a5\u5ffd\u7565 target \u4e0a\u7684\u65f6\u95f4\uff1b\n[ honorTimestamps: bool | default = true ]\n# basic auth \u7684\u8ba4\u8bc1\u4fe1\u606f\uff0cusername/password \u586b\u5199\u5bf9\u5e94 K8S secret key \u7684\u503c\uff0c\u6ce8\u610f secret namespace \u9700\u8981\u548c PodMonitor/ServiceMonitor \u76f8\u540c\u3002\n[ basicAuth: BasicAuth ]\n# \u901a\u8fc7\u4ee3\u7406\u670d\u52a1\u6765\u6293\u53d6 target \u4e0a\u7684\u6307\u6807\uff0c\u586b\u5199\u5bf9\u5e94\u7684\u4ee3\u7406\u670d\u52a1\u5730\u5740\n[ proxyUrl: string ]\n# \u5728\u6293\u53d6\u6570\u636e\u4e4b\u540e\uff0c\u628a target \u4e0a\u5bf9\u5e94\u7684 label \u901a\u8fc7 relabel \u7684\u673a\u5236\u8fdb\u884c\u6539\u5199\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\nrelabelings:\n[ - <relabel_config> ...]\n# \u6570\u636e\u6293\u53d6\u5b8c\u6210\u5199\u5165\u4e4b\u524d\uff0c\u901a\u8fc7 relabel \u673a\u5236\u8fdb\u884c\u6539\u5199 label \u5bf9\u5e94\u7684\u503c\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\nmetricRelabelings:\n[ - <relabel_config> ...]\n
                            "},{"location":"admin/insight/collection-manag/metric-collect.html#relabel_config","title":"relabel_config","text":"

                            \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                            # \u4ece\u539f\u59cb labels \u4e2d\u53d6\u54ea\u4e9b label \u7684\u503c\u8fdb\u884c relabel\uff0c\u53d6\u51fa\u6765\u7684\u503c\u901a\u8fc7 separator \u4e2d\u7684\u5b9a\u4e49\u8fdb\u884c\u5b57\u7b26\u62fc\u63a5\u3002\n# \u5982\u679c\u662f PodMonitor/ServiceMonitor \u5bf9\u5e94\u7684\u914d\u7f6e\u9879\u4e3a sourceLabels\n[ source_labels: '[' <labelname> [, ...] ']' ]\n# \u5b9a\u4e49\u9700\u8981 relabel \u7684 label \u503c\u62fc\u63a5\u7684\u5b57\u7b26\uff0c\u9ed8\u8ba4\u4e3a ';'\n[ separator: <string> | default = ; ]\n\n# action \u4e3a replace/hashmod \u65f6\uff0c\u901a\u8fc7 target_label \u6765\u6307\u5b9a\u5bf9\u5e94 label name\u3002\n# \u5982\u679c\u662f PodMonitor/ServiceMonitor \u5bf9\u5e94\u7684\u914d\u7f6e\u9879\u4e3a targetLabel\n[ target_label: <labelname> ]\n\n# \u9700\u8981\u5bf9 source labels \u5bf9\u5e94\u503c\u8fdb\u884c\u6b63\u5219\u5339\u914d\u7684\u8868\u8fbe\u5f0f\n[ regex: <regex> | default = (.*) ]\n\n# action \u4e3a hashmod \u65f6\u7528\u5230\uff0c\u6839\u636e source label \u5bf9\u5e94\u503c md5 \u53d6\u6a21\u503c\n[ modulus: <int> ]\n\n# action \u4e3a replace \u7684\u65f6\u5019\uff0c\u901a\u8fc7 replacement \u6765\u5b9a\u4e49\u5f53 regex \u5339\u914d\u4e4b\u540e\u9700\u8981\u66ff\u6362\u7684\u8868\u8fbe\u5f0f\uff0c\u53ef\u4ee5\u7ed3\u5408 regex \u6b63\u89c4\u5219\u8868\u8fbe\u5f0f\u66ff\u6362\n[ replacement: <string> | default = $1 ]\n\n# \u57fa\u4e8e regex \u5339\u914d\u5230\u7684\u503c\u8fdb\u884c\u76f8\u5173\u7684\u64cd\u4f5c\uff0c\u5bf9\u5e94\u7684 action \u5982\u4e0b\uff0c\u9ed8\u8ba4\u4e3a replace\uff1a\n# replace: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u901a\u8fc7 replacement \u4e2d\u5b9a\u4e49\u7684\u503c\u66ff\u6362\u76f8\u5e94\u7684\u503c\uff0c\u5e76\u901a\u8fc7 target_label \u8bbe\u503c\u5e76\u6dfb\u52a0\u76f8\u5e94\u7684 label\n# keep: \u5982\u679c regex \u6ca1\u6709\u5339\u914d\u5230\uff0c\u4e22\u5f03\n# drop: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u4e22\u5f03\n# hashmod: \u901a\u8fc7 moduels \u6307\u5b9a\u7684\u503c\u628a source label \u5bf9\u5e94\u7684 md5 \u503c\u53d6\u6a21\n# \u5e76\u6dfb\u52a0\u4e00\u4e2a\u65b0\u7684 label\uff0clabel name \u901a\u8fc7 target_label \u6307\u5b9a\n# labelmap: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u4f7f\u7528 replacement \u66ff\u6362\u5bf9\u5c31\u7684 label name\n# labeldrop: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u5220\u9664\u5bf9\u5e94\u7684 label\n# labelkeep: \u5982\u679c regex \u6ca1\u6709\u5339\u914d\u5230\uff0c\u5220\u9664\u5bf9\u5e94\u7684 label\n[ action: <relabel_action> | default = replace ]\n
                            "},{"location":"admin/insight/collection-manag/probe-module.html","title":"\u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f","text":"

                            Insight \u4f7f\u7528 Prometheus \u5b98\u65b9\u63d0\u4f9b\u7684 Blackbox Exporter \u4f5c\u4e3a\u9ed1\u76d2\u76d1\u63a7\u89e3\u51b3\u65b9\u6848\uff0c\u53ef\u4ee5\u901a\u8fc7 HTTP\u3001HTTPS\u3001DNS\u3001ICMP\u3001TCP \u548c gRPC \u65b9\u5f0f\u5bf9\u76ee\u6807\u5b9e\u4f8b\u8fdb\u884c\u68c0\u6d4b\u3002\u53ef\u7528\u4e8e\u4ee5\u4e0b\u4f7f\u7528\u573a\u666f\uff1a

                            • HTTP/HTTPS\uff1aURL/API\u53ef\u7528\u6027\u68c0\u6d4b
                            • ICMP\uff1a\u4e3b\u673a\u5b58\u6d3b\u68c0\u6d4b
                            • TCP\uff1a\u7aef\u53e3\u5b58\u6d3b\u68c0\u6d4b
                            • DNS\uff1a\u57df\u540d\u89e3\u6790

                            \u5728\u672c\u6587\u4e2d\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u5df2\u6709\u7684 Blackbox ConfigMap \u4e2d\u914d\u7f6e\u81ea\u5b9a\u4e49\u7684\u63a2\u6d4b\u65b9\u5f0f\u3002

                            Insight \u9ed8\u8ba4\u672a\u5f00\u542f ICMP \u63a2\u6d4b\u65b9\u5f0f\uff0c\u56e0\u4e3a ICMP \u9700\u8981\u66f4\u9ad8\u6743\u9650\uff0c\u56e0\u6b64\uff0c\u6211\u4eec\u5c06\u4ee5 ICMP \u548c HTTP \u63a2\u6d4b\u65b9\u5f0f\u4f5c\u4e3a\u793a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u4fee\u6539 ConfigMap \u4ee5\u5b9e\u73b0\u81ea\u5b9a\u4e49\u7684 ICMP \u548c HTTP \u63a2\u6d4b\u3002

                            "},{"location":"admin/insight/collection-manag/probe-module.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u8fdb\u5165\u76ee\u6807\u96c6\u7fa4\u7684\u8be6\u60c5\uff1b
                            2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\uff0c\u9009\u62e9 \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff1b
                            3. \u627e\u5230\u540d\u4e3a insight-agent-prometheus-blackbox-exporter \u7684\u914d\u7f6e\u9879\uff0c\u70b9\u51fb \u7f16\u8f91 YAML\uff1b

                              \u5728 modules \u4e0b\u6dfb\u52a0\u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f\uff1a

                            HTTP \u63a2\u6d4bICMP \u63a2\u6d4b
                            module:\n  http_2xx:\n    prober: http\n    timeout: 5s\n    http:\n      valid_http_versions: [HTTP/1.1, HTTP/2]\n      valid_status_codes: []  # Defaults to 2xx\n      method: GET\n

                            module:\n  ICMP: # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b\n    prober: icmp\n    timeout: 5s\n    icmp:\n      preferred_ip_protocol: ip4\nicmp_example: # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b 2\n  prober: icmp\n  timeout: 5s\n  icmp:\n    preferred_ip_protocol: \"ip4\"\n    source_ip_address: \"127.0.0.1\"\n
                            \u7531\u4e8e ICMP \u9700\u8981\u66f4\u9ad8\u6743\u9650\uff0c\u56e0\u6b64\uff0c\u6211\u4eec\u8fd8\u9700\u8981\u63d0\u5347 Pod \u6743\u9650\uff0c\u5426\u5219\u4f1a\u51fa\u73b0 operation not permitted \u7684\u9519\u8bef\u3002\u6709\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\u63d0\u5347\u6743\u9650\uff1a

                            • \u65b9\u5f0f\u4e00\uff1a \u76f4\u63a5\u7f16\u8f91 BlackBox Exporter \u90e8\u7f72\u6587\u4ef6\u5f00\u542f

                              apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: insight-agent-prometheus-blackbox-exporter\n  namespace: insight-system\nspec:\n  template:\n    spec:\n      containers:\n        - name: blackbox-exporter\n          image: # ... (image, args, ports \u7b49\u4fdd\u6301\u4e0d\u53d8)\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            allowPrivilegeEscalation: false\n            capabilities:\n              add:\n              - NET_RAW\n              drop:\n              - ALL\n            readOnlyRootFilesystem: true\n            runAsGroup: 0\n            runAsNonRoot: false\n            runAsUser: 0\n
                            • \u65b9\u5f0f\u4e8c\uff1a \u901a\u8fc7 Helm Upgrade \u65b9\u5f0f\u63d0\u6743

                              prometheus-blackbox-exporter:\n  enabled: true\n  securityContext:\n    runAsUser: 0\n    runAsGroup: 0\n    readOnlyRootFilesystem: true\n    runAsNonRoot: false\n    allowPrivilegeEscalation: false\n    capabilities:\n      add: [\"NET_RAW\"]\n

                            Info

                            \u66f4\u591a\u63a2\u6d4b\u65b9\u5f0f\u53ef\u53c2\u8003 blackbox_exporter Configuration\u3002

                            "},{"location":"admin/insight/collection-manag/probe-module.html#_3","title":"\u5176\u4ed6\u53c2\u8003","text":"

                            \u4ee5\u4e0b YAML \u6587\u4ef6\u4e2d\u5305\u542b\u4e86 HTTP\u3001TCP\u3001SMTP\u3001ICMP\u3001DNS \u7b49\u591a\u79cd\u63a2\u6d4b\u65b9\u5f0f\uff0c\u53ef\u6839\u636e\u9700\u6c42\u81ea\u884c\u4fee\u6539 insight-agent-prometheus-blackbox-exporter \u7684\u914d\u7f6e\u6587\u4ef6\u3002

                            \u70b9\u51fb\u67e5\u770b\u5b8c\u6574\u7684 YAML \u6587\u4ef6
                            kind: ConfigMap\napiVersion: v1\nmetadata:\n  name: insight-agent-prometheus-blackbox-exporter\n  namespace: insight-system\n  labels:\n    app.kubernetes.io/instance: insight-agent\n    app.kubernetes.io/managed-by: Helm\n    app.kubernetes.io/name: prometheus-blackbox-exporter\n    app.kubernetes.io/version: v0.24.0\n    helm.sh/chart: prometheus-blackbox-exporter-8.8.0\n  annotations:\n    meta.helm.sh/release-name: insight-agent\n    meta.helm.sh/release-namespace: insight-system\ndata:\n  blackbox.yaml: |\n    modules:\n      HTTP_GET:\n        prober: http\n        timeout: 5s\n        http:\n          method: GET\n          valid_http_versions: [\"HTTP/1.1\", \"HTTP/2.0\"]\n          follow_redirects: true\n          preferred_ip_protocol: \"ip4\"\n      HTTP_POST:\n        prober: http\n        timeout: 5s\n        http:\n          method: POST\n          body_size_limit: 1MB\n      TCP:\n        prober: tcp\n        timeout: 5s\n      # \u9ed8\u8ba4\u672a\u5f00\u542f\uff1a\n      # ICMP:\n      #   prober: icmp\n      #   timeout: 5s\n      #   icmp:\n      #     preferred_ip_protocol: ip4\n      SSH:\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n          - expect: \"^SSH-2.0-\"\n      POP3S:\n        prober: tcp\n        tcp:\n          query_response:\n          - expect: \"^+OK\"\n          tls: true\n          tls_config:\n            insecure_skip_verify: false\n      http_2xx_example:               # http \u63a2\u6d4b\u793a\u4f8b\n        prober: http\n        timeout: 5s                   # \u63a2\u6d4b\u7684\u8d85\u65f6\u65f6\u95f4\n        http:\n          valid_http_versions: [\"HTTP/1.1\", \"HTTP/2.0\"]                   # \u8fd4\u56de\u4fe1\u606f\u4e2d\u7684 Version\uff0c\u4e00\u822c\u9ed8\u8ba4\u5373\u53ef\n          valid_status_codes: []  # Defaults to 2xx                       # \u6709\u6548\u7684\u8fd4\u56de\u7801\u8303\u56f4\uff0c\u5982\u679c\u8bf7\u6c42\u7684\u8fd4\u56de\u7801\u5728\u8be5\u8303\u56f4\u5185\uff0c\u89c6\u4e3a\u63a2\u6d4b\u6210\u529f\n          method: GET                 # \u8bf7\u6c42\u65b9\u6cd5\n          headers:                    # \u8bf7\u6c42\u7684\u5934\u90e8\n            Host: vhost.example.com\n            Accept-Language: en-US\n            Origin: example.com\n          no_follow_redirects: false  # \u662f\u5426\u5141\u8bb8\u91cd\u5b9a\u5411\n          fail_if_ssl: false   \n          fail_if_not_ssl: false\n          fail_if_body_matches_regexp:\n            - \"Could not connect to database\"\n          fail_if_body_not_matches_regexp:\n            - \"Download the latest version here\"\n          fail_if_header_matches: # Verifies that no cookies are set\n            - header: Set-Cookie\n              allow_missing: true\n              regexp: '.*'\n          fail_if_header_not_matches:\n            - header: Access-Control-Allow-Origin\n              regexp: '(\\*|example\\.com)'\n          tls_config:                  # \u9488\u5bf9 https \u8bf7\u6c42\u7684 tls \u7684\u914d\u7f6e\n            insecure_skip_verify: false\n          preferred_ip_protocol: \"ip4\" # defaults to \"ip6\"                 # \u9996\u9009\u7684 IP \u534f\u8bae\u7248\u672c\n          ip_protocol_fallback: false  # no fallback to \"ip6\"            \n      http_post_2xx:                   # \u5e26 Body \u7684 http \u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: http\n        timeout: 5s\n        http:\n          method: POST                 # \u63a2\u6d4b\u7684\u8bf7\u6c42\u65b9\u6cd5\n          headers:\n            Content-Type: application/json\n          body: '{\"username\":\"admin\",\"password\":\"123456\"}'                   # \u63a2\u6d4b\u65f6\u643a\u5e26\u7684 body\n      http_basic_auth_example:         # \u5e26\u7528\u6237\u540d\u5bc6\u7801\u7684\u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: http\n        timeout: 5s\n        http:\n          method: POST\n          headers:\n            Host: \"login.example.com\"\n          basic_auth:                  # \u63a2\u6d4b\u65f6\u8981\u52a0\u7684\u7528\u6237\u540d\u5bc6\u7801\n            username: \"username\"\n            password: \"mysecret\"\n      http_custom_ca_example:\n        prober: http\n        http:\n          method: GET\n          tls_config:                  # \u6307\u5b9a\u63a2\u6d4b\u65f6\u4f7f\u7528\u7684\u6839\u8bc1\u4e66\n            ca_file: \"/certs/my_cert.crt\"\n      http_gzip:\n        prober: http\n        http:\n          method: GET\n          compression: gzip            # \u63a2\u6d4b\u65f6\u4f7f\u7528\u7684\u538b\u7f29\u65b9\u6cd5\n      http_gzip_with_accept_encoding:\n        prober: http\n        http:\n          method: GET\n          compression: gzip\n          headers:\n            Accept-Encoding: gzip\n      tls_connect:                     # TCP \u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          tls: true                    # \u662f\u5426\u4f7f\u7528 TLS\n      tcp_connect_example:\n        prober: tcp\n        timeout: 5s\n      imap_starttls:                   # \u63a2\u6d4b IMAP \u90ae\u7bb1\u670d\u52a1\u5668\u7684\u914d\u7f6e\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - expect: \"OK.*STARTTLS\"\n            - send: \". STARTTLS\"\n            - expect: \"OK\"\n            - starttls: true\n            - send: \". capability\"\n            - expect: \"CAPABILITY IMAP4rev1\"\n      smtp_starttls:                   # \u63a2\u6d4b SMTP \u90ae\u7bb1\u670d\u52a1\u5668\u7684\u914d\u7f6e\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - expect: \"^220 ([^ ]+) ESMTP (.+)$\"\n            - send: \"EHLO prober\\r\"\n            - expect: \"^250-STARTTLS\"\n            - send: \"STARTTLS\\r\"\n            - expect: \"^220\"\n            - starttls: true\n            - send: \"EHLO prober\\r\"\n            - expect: \"^250-AUTH\"\n            - send: \"QUIT\\r\"\n      irc_banner_example:\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - send: \"NICK prober\"\n            - send: \"USER prober prober prober :prober\"\n            - expect: \"PING :([^ ]+)\"\n              send: \"PONG ${1}\"\n            - expect: \"^:[^ ]+ 001\"\n      # icmp_example:                    # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b\n      #   prober: icmp\n      #   timeout: 5s\n      #   icmp:\n      #     preferred_ip_protocol: \"ip4\"\n      #     source_ip_address: \"127.0.0.1\"\n      dns_udp_example:                 # \u4f7f\u7528 UDP \u8fdb\u884c DNS \u67e5\u8be2\u7684\u793a\u4f8b\n        prober: dns\n        timeout: 5s\n        dns:\n          query_name: \"www.prometheus.io\"                 # \u8981\u89e3\u6790\u7684\u57df\u540d\n          query_type: \"A\"              # \u8be5\u57df\u540d\u5bf9\u5e94\u7684\u7c7b\u578b\n          valid_rcodes:\n          - NOERROR\n          validate_answer_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n            fail_if_all_match_regexp:\n            - \".*127.0.0.1\"\n            fail_if_not_matches_regexp:\n            - \"www.prometheus.io.\\t300\\tIN\\tA\\t127.0.0.1\"\n            fail_if_none_matches_regexp:\n            - \"127.0.0.1\"\n          validate_authority_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n          validate_additional_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n      dns_soa:\n        prober: dns\n        dns:\n          query_name: \"prometheus.io\"\n          query_type: \"SOA\"\n      dns_tcp_example:               # \u4f7f\u7528 TCP \u8fdb\u884c DNS \u67e5\u8be2\u7684\u793a\u4f8b\n        prober: dns\n        dns:\n          transport_protocol: \"tcp\" # defaults to \"udp\"\n          preferred_ip_protocol: \"ip4\" # defaults to \"ip6\"\n          query_name: \"www.prometheus.io\"\n
                            "},{"location":"admin/insight/collection-manag/service-monitor.html","title":"\u914d\u7f6e\u670d\u52a1\u53d1\u73b0\u89c4\u5219","text":"

                            \u53ef\u89c2\u6d4b Insight \u652f\u6301\u901a\u8fc7 \u5bb9\u5668\u7ba1\u7406 \u521b\u5efa CRD ServiceMonitor \u7684\u65b9\u5f0f\u6765\u6ee1\u8db3\u60a8\u81ea\u5b9a\u4e49\u670d\u52a1\u53d1\u73b0\u7684\u91c7\u96c6\u9700\u6c42\u3002 \u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 ServiceMonitor \u81ea\u884c\u5b9a\u4e49 Pod \u53d1\u73b0\u7684 Namespace \u8303\u56f4\u4ee5\u53ca\u901a\u8fc7 matchLabel \u6765\u9009\u62e9\u76d1\u542c\u7684 Service\u3002

                            "},{"location":"admin/insight/collection-manag/service-monitor.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u96c6\u7fa4\u5df2\u5b89\u88c5 Helm \u5e94\u7528 insight-agent \u4e14\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                            "},{"location":"admin/insight/collection-manag/service-monitor.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u91c7\u96c6\u7ba1\u7406 \uff0c\u67e5\u770b\u5168\u90e8\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u72b6\u6001\u3002

                            2. \u70b9\u51fb\u5217\u8868\u4e2d\u7684\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\u8fdb\u5165\u91c7\u96c6\u914d\u7f6e\u8be6\u60c5\u3002

                            3. \u70b9\u51fb\u94fe\u63a5\u8df3\u8f6c\u5230 \u5bb9\u5668\u7ba1\u7406 \u4e2d\u521b\u5efa Service Monitor\u3002

                              apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: micrometer-demo # (1)\n  namespace: insight-system # (2)\n    labels: \n      operator.insight.io/managed-by: insight\nspec:\n  endpoints: # (3)\n    - honorLabels: true\n        interval: 15s\n        path: /actuator/prometheus\n        port: http\n  namespaceSelector: # (4)\n    matchNames:\n      - insight-system  # (5)\n  selector: # (6)\n    matchLabels:\n          micrometer-prometheus-discovery: \"true\"\n
                              1. \u6307\u5b9a ServiceMonitor \u7684\u540d\u79f0
                              2. \u6307\u5b9a ServiceMonitor \u7684\u547d\u540d\u7a7a\u95f4
                              3. \u8fd9\u662f\u670d\u52a1\u7aef\u70b9\uff0c\u4ee3\u8868 Prometheus \u6240\u9700\u7684\u91c7\u96c6 Metrics \u7684\u5730\u5740\u3002 endpoints \u4e3a\u4e00\u4e2a\u6570\u7ec4\uff0c \u540c\u65f6\u53ef\u4ee5\u521b\u5efa\u591a\u4e2a endpoints \u3002\u6bcf\u4e2a endpoints \u5305\u542b\u4e09\u4e2a\u5b57\u6bb5\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u7684\u542b\u4e49\u5982\u4e0b\uff1a

                                • interval \uff1a\u6307\u5b9a Prometheus \u5bf9\u5f53\u524d endpoints \u91c7\u96c6\u7684\u5468\u671f\u3002\u5355\u4f4d\u4e3a\u79d2\uff0c\u5728\u672c\u6b21\u793a\u4f8b\u4e2d\u8bbe\u5b9a\u4e3a 15s \u3002
                                • path \uff1a\u6307\u5b9a Prometheus \u7684\u91c7\u96c6\u8def\u5f84\u3002\u5728\u672c\u6b21\u793a\u4f8b\u4e2d\uff0c\u6307\u5b9a\u4e3a /actuator/prometheus \u3002
                                • port \uff1a\u6307\u5b9a\u91c7\u96c6\u6570\u636e\u9700\u8981\u901a\u8fc7\u7684\u7aef\u53e3\uff0c\u8bbe\u7f6e\u7684\u7aef\u53e3\u4e3a\u91c7\u96c6\u7684 Service \u7aef\u53e3\u6240\u8bbe\u7f6e\u7684 name \u3002
                              4. \u8fd9\u662f\u9700\u8981\u53d1\u73b0\u7684 Service \u7684\u8303\u56f4\u3002 namespaceSelector \u5305\u542b\u4e24\u4e2a\u4e92\u65a5\u5b57\u6bb5\uff0c\u5b57\u6bb5\u7684\u542b\u4e49\u5982\u4e0b\uff1a

                                • any \uff1a\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u503c true \uff0c\u5f53\u8be5\u5b57\u6bb5\u88ab\u8bbe\u7f6e\u65f6\uff0c\u5c06\u76d1\u542c\u6240\u6709\u7b26\u5408 Selector \u8fc7\u6ee4\u6761\u4ef6\u7684 Service \u7684\u53d8\u52a8\u3002
                                • matchNames \uff1a\u6570\u7ec4\u503c\uff0c\u6307\u5b9a\u9700\u8981\u76d1\u542c\u7684 namespace \u7684\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u53ea\u60f3\u76d1\u542c default \u548c insight-system \u4e24\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u7684 Service\uff0c\u90a3\u4e48 matchNames \u8bbe\u7f6e\u5982\u4e0b\uff1a

                                  namespaceSelector:\n  matchNames:\n    - default\n    - insight-system\n
                              5. \u6b64\u5904\u5339\u914d\u7684\u547d\u540d\u7a7a\u95f4\u4e3a\u9700\u8981\u66b4\u9732\u6307\u6807\u7684\u5e94\u7528\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

                              6. \u7528\u4e8e\u9009\u62e9 Service
                            "},{"location":"admin/insight/dashboard/dashboard.html","title":"\u4eea\u8868\u76d8","text":"

                            Grafana \u662f\u4e00\u79cd\u5f00\u6e90\u7684\u6570\u636e\u53ef\u89c6\u5316\u548c\u76d1\u63a7\u5e73\u53f0\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u56fe\u8868\u548c\u9762\u677f\uff0c\u7528\u4e8e\u5b9e\u65f6\u76d1\u63a7\u3001\u5206\u6790\u548c\u53ef\u89c6\u5316\u5404\u79cd\u6570\u636e\u6e90\u7684\u6307\u6807\u548c\u65e5\u5fd7\u3002\u53ef\u89c2\u6d4b\u6027 Insight \u4f7f\u7528\u5f00\u6e90 Grafana \u63d0\u4f9b\u76d1\u63a7\u670d\u52a1\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u591a\u7ef4\u5ea6\u67e5\u770b\u8d44\u6e90\u6d88\u8017\u60c5\u51b5\uff0c

                            \u5173\u4e8e\u5f00\u6e90 Grafana \u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 Grafana \u5b98\u65b9\u6587\u6863\u3002

                            "},{"location":"admin/insight/dashboard/dashboard.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u4eea\u8868\u76d8 \u3002

                              • \u5728 Insight /\u6982\u89c8 \u4eea\u8868\u76d8\u4e2d\uff0c\u53ef\u67e5\u770b\u591a\u9009\u96c6\u7fa4\u7684\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff0c\u5e76\u4ee5\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u7b49\u591a\u4e2a\u7ef4\u5ea6\u5206\u6790\u4e86\u8d44\u6e90\u4f7f\u7528\u3001\u7f51\u7edc\u3001\u5b58\u50a8\u7b49\u60c5\u51b5\u3002

                              • \u70b9\u51fb\u4eea\u8868\u76d8\u5de6\u4e0a\u4fa7\u7684\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\u3002

                              • \u70b9\u51fb\u4eea\u8868\u76d8\u53f3\u4e0b\u4fa7\u53ef\u5207\u6362\u67e5\u8be2\u7684\u65f6\u95f4\u8303\u56f4\u3002

                            2. Insight \u7cbe\u9009\u591a\u4e2a\u793e\u533a\u63a8\u8350\u4eea\u8868\u76d8\uff0c\u53ef\u4ece\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7b49\u591a\u4e2a\u7ef4\u5ea6\u8fdb\u884c\u76d1\u63a7\u3002\u70b9\u51fb insight-system / Insight /\u6982\u89c8 \u533a\u57df\u5207\u6362\u4eea\u8868\u76d8\u3002

                            Note

                            1. \u8bbf\u95ee Grafana UI \u8bf7\u53c2\u8003\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 Grafana\u3002

                            2. \u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8\u8bf7\u53c2\u8003\u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8\u3002

                            "},{"location":"admin/insight/dashboard/import-dashboard.html","title":"\u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8","text":"

                            \u901a\u8fc7\u4f7f\u7528 Grafana CRD\uff0c\u53ef\u4ee5\u5c06\u4eea\u8868\u677f\u7684\u7ba1\u7406\u548c\u90e8\u7f72\u7eb3\u5165\u5230 Kubernetes \u7684\u751f\u547d\u5468\u671f\u7ba1\u7406\u4e2d\uff0c\u5b9e\u73b0\u4eea\u8868\u677f\u7684\u7248\u672c\u63a7\u5236\u3001\u81ea\u52a8\u5316\u90e8\u7f72\u548c\u96c6\u7fa4\u7ea7\u7684\u7ba1\u7406\u3002\u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 CRD \u548c UI \u754c\u9762\u5bfc\u5165\u81ea\u5b9a\u4e49\u7684\u4eea\u8868\u76d8\u3002

                            "},{"location":"admin/insight/dashboard/import-dashboard.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0 \u5e73\u53f0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u9009\u62e9 kpanda-global-cluster \u3002

                            2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u5728\u5217\u8868\u4e2d\u67e5\u627e grafanadashboards.integreatly.org \u6587\u4ef6\uff0c\u8fdb\u5165\u8be6\u60c5\u3002

                            3. \u70b9\u51fb Yaml \u521b\u5efa \uff0c\u4f7f\u7528\u4ee5\u4e0b\u6a21\u677f\uff0c\u5728 Json \u5b57\u6bb5\u4e2d\u66ff\u6362\u4eea\u8868\u76d8 JSON\u3002

                              • namespace \uff1a\u586b\u5199\u76ee\u6807\u547d\u540d\u7a7a\u95f4\uff1b
                              • name \uff1a\u586b\u5199\u4eea\u8868\u76d8\u7684\u540d\u79f0\u3002
                              • label \uff1a\u5fc5\u586b\uff0c operator.insight.io/managed-by: insight \u3002
                              apiVersion: integreatly.org/v1alpha1\nkind: GrafanaDashboard\nmetadata:\n  labels:\n    app: insight-grafana-operator\n    operator.insight.io/managed-by: insight\n  name: sample-dashboard\n  namespace: insight-system\nspec:\n  json: >\n    {\n      \"id\": null,\n      \"title\": \"Simple Dashboard\",\n      \"tags\": [],\n      \"style\": \"dark\",\n      \"timezone\": \"browser\",\n      \"editable\": true,\n      \"hideControls\": false,\n      \"graphTooltip\": 1,\n      \"panels\": [],\n      \"time\": {\n        \"from\": \"now-6h\",\n        \"to\": \"now\"\n      },\n      \"timepicker\": {\n        \"time_options\": [],\n        \"refresh_intervals\": []\n      },\n      \"templating\": {\n        \"list\": []\n      },\n      \"annotations\": {\n        \"list\": []\n      },\n      \"refresh\": \"5s\",\n      \"schemaVersion\": 17,\n      \"version\": 0,\n      \"links\": []\n    }\n
                            4. \u70b9\u51fb \u786e\u8ba4 \u540e\uff0c\u7a0d\u7b49\u7247\u523b\u5373\u53ef\u5728 \u4eea\u8868\u76d8 \u4e2d\u67e5\u770b\u521a\u521a\u5bfc\u5165\u7684\u4eea\u8868\u76d8\u3002

                            Info

                            \u81ea\u5b9a\u4e49\u8bbe\u8ba1\u4eea\u8868\u76d8\uff0c\u8bf7\u53c2\u8003\u6dfb\u52a0\u4eea\u8868\u76d8\u9762\u677f\u3002

                            "},{"location":"admin/insight/dashboard/login-grafana.html","title":"\u8bbf\u95ee\u539f\u751f Grafana","text":"

                            Insight \u501f\u52a9 Grafana \u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u53ef\u89c6\u5316\u80fd\u529b\uff0c\u540c\u65f6\u4fdd\u7559\u4e86\u8bbf\u95ee\u539f\u751f Grafana \u7684\u5165\u53e3\u3002

                            "},{"location":"admin/insight/dashboard/login-grafana.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u767b\u5f55\u6d4f\u89c8\u5668\uff0c\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165 Grafana \u5730\u5740\u3002

                              \u8bbf\u95ee\u5730\u5740\uff1a http://ip:\u8bbf\u95ee\u7aef\u53e3/ui/insight-grafana/login

                              \u4f8b\u5982\uff1a http://10.6.10.233:30209/ui/insight-grafana/login

                            2. \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u767b\u5f55\uff0c\u4f7f\u7528\u9ed8\u8ba4\u7528\u6237\u540d\u3001\u5bc6\u7801\uff08admin/admin\uff09\u8fdb\u884c\u767b\u5f55\u3002

                            3. \u70b9\u51fb Log in \u5b8c\u6210\u767b\u5f55\u3002

                            "},{"location":"admin/insight/dashboard/overview.html","title":"\u6982\u89c8","text":"

                            \u6982\u7387 \u4ec5\u7edf\u8ba1\u5df2\u5b89\u88c5 insight-agent \u4e14\u5176\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u7684\u96c6\u7fa4\u6570\u636e\u3002\u53ef\u5728\u6982\u89c8\u4e2d\u591a\u96c6\u7fa4\u7684\u8d44\u6e90\u6982\u51b5\uff1a

                            • \u544a\u8b66\u7edf\u8ba1\uff1a\u53ef\u67e5\u770b\u6240\u6709\u96c6\u7fa4\u7684\u6b63\u5728\u544a\u8b66\u7684\u7edf\u8ba1\u6570\u636e\u3002
                            • \u8d44\u6e90\u6d88\u8017\uff1a\u53ef\u6309 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u548c\u78c1\u76d8\u4f7f\u7528\u7387\u5206\u522b\u67e5\u770b\u8fd1\u4e00\u5c0f\u65f6 TOP5 \u96c6\u7fa4\u3001\u8282\u70b9\u7684\u8d44\u6e90\u53d8\u5316\u8d8b\u52bf\u3002
                            • \u9ed8\u8ba4\u6309\u7167\u6839\u636e CPU \u4f7f\u7528\u7387\u6392\u5e8f\u3002\u60a8\u53ef\u5207\u6362\u6307\u6807\u5207\u6362\u96c6\u7fa4\u3001\u8282\u70b9\u7684\u6392\u5e8f\u65b9\u5f0f\u3002
                            • \u8d44\u6e90\u53d8\u5316\u8d8b\u52bf\uff1a\u53ef\u67e5\u770b\u8fd1 15 \u5929\u7684\u8282\u70b9\u4e2a\u6570\u8d8b\u52bf\u4ee5\u53ca\u4e00\u5c0f\u65f6 Pod \u7684\u8fd0\u884c\u8d8b\u52bf\u3002
                            • \u670d\u52a1\u8bf7\u6c42\u6392\u884c\uff1a\u53ef\u67e5\u770b\u591a\u96c6\u7fa4\u4e2d\u8bf7\u6c42\u5ef6\u65f6\u3001\u9519\u8bef\u7387\u6392\u884c TOP5 \u7684\u670d\u52a1\u53ca\u6240\u5728\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u3002
                            "},{"location":"admin/insight/dashboard/overview.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u6982\u89c8 \u3002

                            "},{"location":"admin/insight/data-query/log.html","title":"\u65e5\u5fd7\u67e5\u8be2","text":"

                            Insight \u9ed8\u8ba4\u91c7\u96c6\u8282\u70b9\u65e5\u5fd7\u3001\u5bb9\u5668\u65e5\u5fd7\u4ee5\u53ca kubernetes \u5ba1\u8ba1\u65e5\u5fd7\u3002\u5728\u65e5\u5fd7\u67e5\u8be2\u9875\u9762\u4e2d\uff0c\u53ef\u67e5\u8be2\u767b\u5f55\u8d26\u53f7\u6743\u9650\u5185\u7684\u6807\u51c6\u8f93\u51fa (stdout) \u65e5\u5fd7\uff0c\u5305\u62ec\u8282\u70b9\u65e5\u5fd7\u3001\u4ea7\u54c1\u65e5\u5fd7\u3001Kubenetes \u5ba1\u8ba1\u65e5\u5fd7\u7b49\uff0c\u5feb\u901f\u5728\u5927\u91cf\u65e5\u5fd7\u4e2d\u67e5\u8be2\u5230\u6240\u9700\u7684\u65e5\u5fd7\uff0c\u540c\u65f6\u7ed3\u5408\u65e5\u5fd7\u7684\u6765\u6e90\u4fe1\u606f\u548c\u4e0a\u4e0b\u6587\u539f\u59cb\u6570\u636e\u8f85\u52a9\u5b9a\u4f4d\u95ee\u9898\u3002

                            "},{"location":"admin/insight/data-query/log.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002
                            2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u65e5\u5fd7 \u3002

                              • \u9ed8\u8ba4\u67e5\u8be2\u6700\u8fd1 24 \u5c0f\u65f6\uff1b
                              • \u7b2c\u4e00\u6b21\u8fdb\u5165\u65f6\uff0c\u9ed8\u8ba4\u6839\u636e\u767b\u5f55\u8d26\u53f7\u6743\u9650\u67e5\u8be2\u6709\u6743\u9650\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u7684\u5bb9\u5668\u65e5\u5fd7\uff1b

                            3. \u9876\u90e8 Tab \u9ed8\u8ba4\u8fdb\u5165 \u666e\u901a\u67e5\u8be2 \u3002

                              1. \u70b9\u51fb \u7b5b\u9009 \u5c55\u5f00\u8fc7\u6ee4\u9762\u677f\uff0c\u53ef\u5207\u6362\u65e5\u5fd7\u641c\u7d22\u6761\u4ef6\u548c\u7c7b\u578b\u3002
                              2. \u65e5\u5fd7\u7c7b\u578b\uff1a

                                • \u5bb9\u5668\u65e5\u5fd7 \uff1a\u8bb0\u5f55\u96c6\u7fa4\u4e2d\u5bb9\u5668\u5185\u90e8\u7684\u6d3b\u52a8\u548c\u4e8b\u4ef6\uff0c\u5305\u62ec\u5e94\u7528\u7a0b\u5e8f\u7684\u8f93\u51fa\u3001\u9519\u8bef\u6d88\u606f\u3001\u8b66\u544a\u548c\u8c03\u8bd5\u4fe1\u606f\u7b49\u3002\u652f\u6301\u901a\u8fc7\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u3001\u5bb9\u5668\u8fc7\u6ee4\u65e5\u5fd7\u3002
                                • \u8282\u70b9\u65e5\u5fd7 \uff1a\u8bb0\u5f55\u96c6\u7fa4\u4e2d\u6bcf\u4e2a\u8282\u70b9\u7684\u7cfb\u7edf\u7ea7\u522b\u65e5\u5fd7\u3002\u8fd9\u4e9b\u65e5\u5fd7\u5305\u542b\u8282\u70b9\u7684\u64cd\u4f5c\u7cfb\u7edf\u3001\u5185\u6838\u3001\u670d\u52a1\u548c\u7ec4\u4ef6\u7684\u76f8\u5173\u4fe1\u606f\u3002\u652f\u6301\u901a\u8fc7\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u6587\u4ef6\u8def\u5f84\u8fc7\u6ee4\u65e5\u5fd7\u3002
                              3. \u652f\u6301\u5bf9\u5355\u4e2a\u5173\u952e\u5b57\u8fdb\u884c\u6a21\u7cca\u641c\u7d22\u3002

                            4. \u9876\u90e8\u5207\u6362 Tab \u9009\u62e9 Lucene \u8bed\u6cd5\u67e5\u8be2 \u3002

                              \u7b2c\u4e00\u6b21\u8fdb\u5165\u65f6\uff0c\u9ed8\u8ba4\u9009\u62e9\u767b\u5f55\u8d26\u53f7\u6743\u9650\u67e5\u8be2\u6709\u6743\u9650\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u7684\u5bb9\u5668\u65e5\u5fd7\u3002

                              Lucene \u8bed\u6cd5\u8bf4\u660e\uff1a

                              1. \u4f7f\u7528 \u903b\u8f91\u64cd\u4f5c\u7b26\uff08AND\u3001OR\u3001NOT\u3001\"\" \uff09\u7b26\u67e5\u8be2\u591a\u4e2a\u5173\u952e\u5b57\uff0c\u4f8b\u5982\uff1akeyword1 AND (keyword2 OR keyword3) NOT keyword4\u3002
                              2. \u4f7f\u7528\u6ce2\u6d6a\u53f7 (~) \u5b9e\u73b0\u6a21\u7cca\u67e5\u8be2\uff0c\u5728 \"~\" \u540e\u53ef\u6307\u5b9a\u53ef\u9009\u7684\u53c2\u6570\uff0c\u7528\u4e8e\u63a7\u5236\u6a21\u7cca\u67e5\u8be2\u7684\u76f8\u4f3c\u5ea6\uff0c\u4e0d\u6307\u5b9a\u5219\u9ed8\u8ba4\u4f7f\u7528 0.5\u3002\u4f8b\u5982\uff1aerror~\u3002
                              3. \u4f7f\u7528\u901a\u914d\u7b26 (*\u3001?) \u7528\u4f5c\u5355\u5b57\u7b26\u901a\u914d\u7b26\uff0c\u8868\u793a\u5339\u914d\u4efb\u610f\u4e00\u4e2a\u5b57\u7b26\u3002
                              4. \u4f7f\u7528\u65b9\u62ec\u53f7 [ ] \u6216\u82b1\u62ec\u53f7 { } \u6765\u67e5\u8be2\u8303\u56f4\uff0c\u65b9\u62ec\u53f7\u00a0[ ]\u00a0\u8868\u793a\u95ed\u533a\u95f4\uff0c\u5305\u542b\u8fb9\u754c\u503c\u3002\u82b1\u62ec\u53f7\u00a0{ }\u00a0\u8868\u793a\u5f00\u533a\u95f4\uff0c\u6392\u9664\u8fb9\u754c\u503c\u3002\u8303\u56f4\u67e5\u8be2\u53ea\u9002\u7528\u4e8e\u80fd\u591f\u8fdb\u884c\u6392\u5e8f\u7684\u5b57\u6bb5\u7c7b\u578b\uff0c\u5982\u6570\u5b57\u3001\u65e5\u671f\u7b49\u3002\u4f8b\u5982\uff1atimestamp:[2022-01-01 TO 2022-01-31]\u3002
                              5. \u66f4\u591a\u7528\u6cd5\u8bf7\u67e5\u770b\uff1aLucene \u8bed\u6cd5\u8bf4\u660e\u3002
                            "},{"location":"admin/insight/data-query/log.html#_3","title":"\u5176\u4ed6\u64cd\u4f5c","text":""},{"location":"admin/insight/data-query/log.html#_4","title":"\u67e5\u770b\u65e5\u5fd7\u4e0a\u4e0b\u6587","text":"

                            \u70b9\u51fb\u65e5\u5fd7\u540e\u7684\u6309\u94ae\uff0c\u5728\u53f3\u4fa7\u5212\u51fa\u9762\u677f\u4e2d\u53ef\u67e5\u770b\u8be5\u6761\u65e5\u5fd7\u7684\u9ed8\u8ba4 100 \u6761\u4e0a\u4e0b\u6587\u3002\u53ef\u5207\u6362 \u663e\u793a\u884c\u6570 \u67e5\u770b\u66f4\u591a\u4e0a\u4e0b\u6587\u5185\u5bb9\u3002

                            "},{"location":"admin/insight/data-query/log.html#_5","title":"\u5bfc\u51fa\u65e5\u5fd7\u6570\u636e","text":"

                            \u70b9\u51fb\u5217\u8868\u53f3\u4e0a\u4fa7\u7684\u4e0b\u8f7d\u6309\u94ae\u3002

                            • \u652f\u6301\u914d\u7f6e\u5bfc\u51fa\u7684\u65e5\u5fd7\u5b57\u6bb5\uff0c\u6839\u636e\u65e5\u5fd7\u7c7b\u578b\u53ef\u914d\u7f6e\u7684\u5b57\u6bb5\u4e0d\u540c\uff0c\u5176\u4e2d \u65e5\u5fd7\u5185\u5bb9 \u5b57\u6bb5\u4e3a\u5fc5\u9009\u3002
                            • \u652f\u6301\u5c06\u65e5\u5fd7\u67e5\u8be2\u7ed3\u679c\u5bfc\u51fa\u4e3a .txt \u6216 .csv \u683c\u5f0f\u3002

                            "},{"location":"admin/insight/data-query/metric.html","title":"\u6307\u6807\u67e5\u8be2","text":"

                            \u6307\u6807\u67e5\u8be2\u652f\u6301\u67e5\u8be2\u5bb9\u5668\u5404\u8d44\u6e90\u7684\u6307\u6807\u6570\u636e\uff0c\u53ef\u67e5\u770b\u76d1\u63a7\u6307\u6807\u7684\u8d8b\u52bf\u53d8\u5316\u3002\u540c\u65f6\uff0c\u9ad8\u7ea7\u67e5\u8be2\u652f\u6301\u539f\u751f PromQL \u8bed\u53e5\u8fdb\u884c\u6307\u6807\u67e5\u8be2\u3002

                            "},{"location":"admin/insight/data-query/metric.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002
                            "},{"location":"admin/insight/data-query/metric.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002

                            2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u6307\u6807 \u3002

                            3. \u9009\u62e9\u96c6\u7fa4\u3001\u7c7b\u578b\u3001\u8282\u70b9\u3001\u6307\u6807\u540d\u79f0\u67e5\u8be2\u6761\u4ef6\u540e\uff0c\u70b9\u51fb \u641c\u7d22 \uff0c\u5c4f\u5e55\u53f3\u4fa7\u5c06\u663e\u793a\u5bf9\u5e94\u6307\u6807\u56fe\u8868\u53ca\u6570\u636e\u8be6\u60c5\u3002

                            4. \u652f\u6301\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002\u53ef\u624b\u52a8\u70b9\u51fb \u5237\u65b0 \u56fe\u6807\u6216\u9009\u62e9\u9ed8\u8ba4\u65f6\u95f4\u95f4\u9694\u8fdb\u884c\u5237\u65b0\u3002

                            5. \u70b9\u51fb \u9ad8\u7ea7\u67e5\u8be2 \u9875\u7b7e\u901a\u8fc7\u539f\u751f\u7684 PromQL \u67e5\u8be2\u3002

                            Note

                            \u53c2\u9605 PromQL \u8bed\u6cd5\u3002

                            "},{"location":"admin/insight/infra/cluster.html","title":"\u96c6\u7fa4\u76d1\u63a7","text":"

                            \u901a\u8fc7\u96c6\u7fa4\u76d1\u63a7\uff0c\u4f60\u53ef\u4ee5\u67e5\u770b\u96c6\u7fa4\u7684\u57fa\u672c\u4fe1\u606f\u3001\u8be5\u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u6d88\u8017\u4ee5\u53ca\u4e00\u6bb5\u65f6\u95f4\u7684\u8d44\u6e90\u6d88\u8017\u53d8\u5316\u8d8b\u52bf\u7b49\u3002

                            "},{"location":"admin/insight/infra/cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                            "},{"location":"admin/insight/infra/cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                            2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u96c6\u7fa4 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

                              • \u8d44\u6e90\u6982\u89c8 \uff1a\u591a\u9009\u96c6\u7fa4\u4e2d\u7684\u8282\u70b9\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6b63\u5e38\u548c\u5168\u90e8\u7684\u6570\u91cf\u7edf\u8ba1\uff1b
                              • \u6545\u969c \uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
                              • \u8d44\u6e90\u6d88\u8017 \uff1a\u6240\u9009\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7684\u5b9e\u9645\u4f7f\u7528\u91cf\u548c\u603b\u91cf\uff1b
                              • \u6307\u6807\u8bf4\u660e \uff1a\u6240\u9009\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u8bfb\u5199\u3001\u7f51\u7edc\u63a5\u6536\u53d1\u9001\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                            3. \u5207\u6362\u5230 \u8d44\u6e90\u6c34\u4f4d\u7ebf\u76d1\u63a7 \u9875\u7b7e\uff0c\u53ef\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u66f4\u591a\u76d1\u63a7\u6570\u636e\u3002

                            "},{"location":"admin/insight/infra/cluster.html#_4","title":"\u53c2\u8003\u6307\u6807\u8bf4\u660e","text":"\u6307\u6807\u540d \u8bf4\u660e CPU \u4f7f\u7528\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u8d44\u6e90\u7684\u5b9e\u9645 CPU \u7528\u91cf\u4e0e\u6240\u6709\u8282\u70b9\u7684 CPU \u603b\u91cf\u7684\u6bd4\u7387\u3002 CPU \u5206\u914d\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u7684 CPU \u8bf7\u6c42\u91cf\u7684\u603b\u548c\u4e0e\u6240\u6709\u8282\u70b9\u7684 CPU \u603b\u91cf\u7684\u6bd4\u7387\u3002 \u5185\u5b58\u4f7f\u7528\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u8d44\u6e90\u7684\u5b9e\u9645\u5185\u5b58\u7528\u91cf\u4e0e\u6240\u6709\u8282\u70b9\u7684\u5185\u5b58\u603b\u91cf\u7684\u6bd4\u7387\u3002 \u5185\u5b58\u5206\u914d\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u7684\u5185\u5b58\u8bf7\u6c42\u91cf\u7684\u603b\u548c\u4e0e\u6240\u6709\u8282\u70b9\u7684\u5185\u5b58\u603b\u91cf\u7684\u6bd4\u7387\u3002"},{"location":"admin/insight/infra/container.html","title":"\u5bb9\u5668\u76d1\u63a7","text":"

                            \u5bb9\u5668\u76d1\u63a7\u662f\u5bf9\u96c6\u7fa4\u7ba1\u7406\u4e2d\u5de5\u4f5c\u8d1f\u8f7d\u7684\u76d1\u63a7\uff0c\u5728\u5217\u8868\u4e2d\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u57fa\u672c\u4fe1\u606f\u548c\u72b6\u6001\u3002\u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\uff0c\u53ef\u67e5\u770b\u6b63\u5728\u544a\u8b66\u7684\u6570\u91cf\u4ee5\u53ca CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u6d88\u8017\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                            "},{"location":"admin/insight/infra/container.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u96c6\u7fa4\u5df2\u5b89\u88c5 insight-agent\uff0c\u4e14\u6240\u6709\u7684\u5bb9\u5668\u7ec4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                            • \u5b89\u88c5 insight-agent\uff0c\u8bf7\u53c2\u8003\u5728\u7ebf\u5b89\u88c5 insight-agent \u6216\u79bb\u7ebf\u5347\u7ea7 insight-agent\u3002
                            "},{"location":"admin/insight/infra/container.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u770b\u670d\u52a1\u76d1\u63a7\u6307\u6807\uff1a

                            1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                            2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u5de5\u4f5c\u8d1f\u8f7d \u3002

                            3. \u5207\u6362\u9876\u90e8 Tab\uff0c\u67e5\u770b\u4e0d\u540c\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u3002

                            4. \u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u540d\u79f0\u67e5\u770b\u8be6\u60c5\u3002

                              1. \u6545\u969c\uff1a\u5728\u6545\u969c\u5361\u7247\u4e2d\u7edf\u8ba1\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u5f53\u524d\u6b63\u5728\u544a\u8b66\u7684\u603b\u6570\u3002
                              2. \u8d44\u6e90\u6d88\u8017\uff1a\u5728\u8be5\u5361\u7247\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684 CPU\u3001\u5185\u5b58\u3001\u7f51\u7edc\u7684\u4f7f\u7528\u60c5\u51b5\u3002
                              3. \u76d1\u63a7\u6307\u6807\uff1a\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u9ed8\u8ba4 1 \u5c0f\u65f6\u7684 CPU\u3001\u5185\u5b58\u3001\u7f51\u7edc\u548c\u78c1\u76d8\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                            5. \u5207\u6362 Tab \u5230 \u5bb9\u5668\u7ec4\u5217\u8868 \uff0c\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u5404\u4e2a\u5bb9\u5668\u7ec4\u72b6\u6001\u3001\u6240\u5728\u8282\u70b9\u3001\u91cd\u542f\u6b21\u6570\u7b49\u4fe1\u606f\u3002

                            6. \u5207\u6362 Tab \u5230 JVM \u76d1\u63a7 \uff0c\u53ef\u67e5\u770b\u5404\u4e2a\u5bb9\u5668\u7ec4\u7684 JVM \u6307\u6807\u3002

                              Note

                              1. JVM \u76d1\u63a7\u529f\u80fd\u4ec5\u652f\u6301 Java \u8bed\u8a00\u3002
                              2. \u5f00\u542f JVM \u76d1\u63a7\u529f\u80fd\uff0c\u8bf7\u53c2\u8003\u5f00\u59cb\u76d1\u63a7 Java \u5e94\u7528\u3002
                            "},{"location":"admin/insight/infra/container.html#_4","title":"\u6307\u6807\u53c2\u8003\u8bf4\u660e","text":"\u6307\u6807\u540d\u79f0 \u8bf4\u660e CPU \u4f7f\u7528\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf\u4e4b\u548c\u3002 CPU \u8bf7\u6c42\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u8bf7\u6c42\u91cf\u4e4b\u548c\u3002 CPU \u9650\u5236\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u9650\u5236\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u4f7f\u7528\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u8bf7\u6c42\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u9650\u5236\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u9650\u5236\u91cf\u4e4b\u548c\u3002 \u78c1\u76d8\u8bfb\u5199\u901f\u7387 \u6307\u5b9a\u65f6\u95f4\u8303\u56f4\u5185\u78c1\u76d8\u6bcf\u79d2\u8fde\u7eed\u8bfb\u53d6\u548c\u5199\u5165\u7684\u603b\u548c\uff0c\u8868\u793a\u78c1\u76d8\u6bcf\u79d2\u8bfb\u53d6\u548c\u5199\u5165\u64cd\u4f5c\u6570\u7684\u6027\u80fd\u5ea6\u91cf\u3002 \u7f51\u7edc\u53d1\u9001\u63a5\u6536\u901f\u7387 \u6307\u5b9a\u65f6\u95f4\u8303\u56f4\u5185\uff0c\u6309\u5de5\u4f5c\u8d1f\u8f7d\u7edf\u8ba1\u7684\u7f51\u7edc\u6d41\u91cf\u7684\u6d41\u5165\u3001\u6d41\u51fa\u901f\u7387\u3002"},{"location":"admin/insight/infra/event.html","title":"\u4e8b\u4ef6\u67e5\u8be2","text":"

                            AI \u7b97\u529b\u5e73\u53f0 Insight \u652f\u6301\u6309\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u67e5\u8be2\u4e8b\u4ef6\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\uff0c\u5bf9\u91cd\u8981\u4e8b\u4ef6\u8fdb\u884c\u7edf\u8ba1\u3002

                            "},{"location":"admin/insight/infra/event.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002
                            2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u57fa\u7840\u8bbe\u7f6e > \u4e8b\u4ef6 \u3002

                            "},{"location":"admin/insight/infra/event.html#_3","title":"\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03","text":"

                            \u9ed8\u8ba4\u663e\u793a\u6700\u8fd1 12 \u5c0f\u65f6\u5185\u53d1\u751f\u7684\u4e8b\u4ef6\uff0c\u60a8\u53ef\u4ee5\u5728\u53f3\u4e0a\u89d2\u9009\u62e9\u4e0d\u540c\u7684\u65f6\u95f4\u8303\u56f4\u6765\u67e5\u770b\u8f83\u957f\u6216\u8f83\u77ed\u7684\u65f6\u95f4\u6bb5\u3002 \u60a8\u8fd8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u91c7\u6837\u95f4\u9694\u4e3a 1 \u5206\u949f\u81f3 5 \u5c0f\u65f6\u3002

                            \u901a\u8fc7\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\uff0c\u60a8\u53ef\u4ee5\u76f4\u89c2\u5730\u4e86\u89e3\u4e8b\u4ef6\u7684\u5bc6\u96c6\u7a0b\u5ea6\u548c\u5206\u6563\u60c5\u51b5\u3002 \u8fd9\u6709\u52a9\u4e8e\u5bf9\u540e\u7eed\u7684\u96c6\u7fa4\u8fd0\u7ef4\u8fdb\u884c\u8bc4\u4f30\uff0c\u5e76\u505a\u597d\u51c6\u5907\u548c\u5b89\u6392\u5de5\u4f5c\u3002 \u5982\u679c\u4e8b\u4ef6\u5bc6\u96c6\u53d1\u751f\u5728\u7279\u5b9a\u65f6\u6bb5\uff0c\u60a8\u53ef\u80fd\u9700\u8981\u8c03\u914d\u66f4\u591a\u7684\u8d44\u6e90\u6216\u91c7\u53d6\u76f8\u5e94\u63aa\u65bd\u6765\u786e\u4fdd\u96c6\u7fa4\u7a33\u5b9a\u6027\u548c\u9ad8\u53ef\u7528\u6027\u3002 \u800c\u5982\u679c\u4e8b\u4ef6\u8f83\u4e3a\u5206\u6563\uff0c\u5728\u6b64\u671f\u95f4\u60a8\u53ef\u4ee5\u5408\u7406\u5b89\u6392\u5176\u4ed6\u8fd0\u7ef4\u5de5\u4f5c\uff0c\u4f8b\u5982\u7cfb\u7edf\u4f18\u5316\u3001\u5347\u7ea7\u6216\u5904\u7406\u5176\u4ed6\u4efb\u52a1\u3002

                            \u901a\u8fc7\u7efc\u5408\u8003\u8651\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\u548c\u65f6\u95f4\u8303\u56f4\uff0c\u60a8\u80fd\u66f4\u597d\u5730\u89c4\u5212\u548c\u7ba1\u7406\u96c6\u7fa4\u7684\u8fd0\u7ef4\u5de5\u4f5c\uff0c\u786e\u4fdd\u7cfb\u7edf\u7a33\u5b9a\u6027\u548c\u53ef\u9760\u6027\u3002

                            "},{"location":"admin/insight/infra/event.html#_4","title":"\u4e8b\u4ef6\u603b\u6570\u548c\u7edf\u8ba1","text":"

                            \u901a\u8fc7\u91cd\u8981\u4e8b\u4ef6\u7edf\u8ba1\uff0c\u60a8\u53ef\u4ee5\u65b9\u4fbf\u5730\u4e86\u89e3\u955c\u50cf\u62c9\u53d6\u5931\u8d25\u6b21\u6570\u3001\u5065\u5eb7\u68c0\u67e5\u5931\u8d25\u6b21\u6570\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u8fd0\u884c\u5931\u8d25\u6b21\u6570\u3001 Pod \u8c03\u5ea6\u5931\u8d25\u6b21\u6570\u3001\u5bb9\u5668 OOM \u5185\u5b58\u8017\u5c3d\u6b21\u6570\u3001\u5b58\u50a8\u5377\u6302\u8f7d\u5931\u8d25\u6b21\u6570\u4ee5\u53ca\u6240\u6709\u4e8b\u4ef6\u7684\u603b\u6570\u3002\u8fd9\u4e9b\u4e8b\u4ef6\u901a\u5e38\u5206\u4e3a\u300cWarning\u300d\u548c\u300cNormal\u300d\u4e24\u7c7b\u3002

                            "},{"location":"admin/insight/infra/event.html#_5","title":"\u4e8b\u4ef6\u5217\u8868","text":"

                            \u4e8b\u4ef6\u5217\u8868\u4ee5\u65f6\u95f4\u4e3a\u8f74\uff0c\u4ee5\u6d41\u6c34\u7684\u5f62\u5f0f\u5c55\u793a\u53d1\u751f\u7684\u4e8b\u4ef6\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u300c\u6700\u8fd1\u53d1\u751f\u65f6\u95f4\u300d\u548c\u300c\u7ea7\u522b\u300d\u8fdb\u884c\u6392\u5e8f\u3002

                            \u70b9\u51fb\u53f3\u4fa7\u7684 \u2699\ufe0f \u56fe\u6807\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u559c\u597d\u548c\u9700\u6c42\u6765\u81ea\u5b9a\u4e49\u663e\u793a\u7684\u5217\u3002

                            \u5728\u9700\u8981\u7684\u65f6\u5019\uff0c\u60a8\u8fd8\u53ef\u4ee5\u70b9\u51fb\u5237\u65b0\u56fe\u6807\u6765\u66f4\u65b0\u5f53\u524d\u7684\u4e8b\u4ef6\u5217\u8868\u3002

                            "},{"location":"admin/insight/infra/event.html#_6","title":"\u5176\u4ed6\u64cd\u4f5c","text":"
                            1. \u5728\u4e8b\u4ef6\u5217\u8868\u4e2d\u64cd\u4f5c\u5217\u7684\u56fe\u6807\uff0c\u53ef\u67e5\u770b\u67d0\u4e00\u4e8b\u4ef6\u7684\u5143\u6570\u636e\u4fe1\u606f\u3002

                            2. \u70b9\u51fb\u9876\u90e8\u9875\u7b7e\u7684 \u4e0a\u4e0b\u6587 \u53ef\u67e5\u770b\u8be5\u4e8b\u4ef6\u5bf9\u5e94\u8d44\u6e90\u7684\u5386\u53f2\u4e8b\u4ef6\u8bb0\u5f55\u3002

                            "},{"location":"admin/insight/infra/event.html#_7","title":"\u53c2\u8003","text":"

                            \u6709\u5173\u7cfb\u7edf\u81ea\u5e26\u7684 Event \u4e8b\u4ef6\u7684\u8be6\u7ec6\u542b\u4e49\uff0c\u8bf7\u53c2\u9605 Kubenetest API \u4e8b\u4ef6\u5217\u8868\u3002

                            "},{"location":"admin/insight/infra/namespace.html","title":"\u547d\u540d\u7a7a\u95f4\u76d1\u63a7","text":"

                            \u4ee5\u547d\u540d\u7a7a\u95f4\u4e3a\u7ef4\u5ea6\uff0c\u5feb\u901f\u67e5\u8be2\u547d\u540d\u7a7a\u95f4\u5185\u7684\u8d44\u6e90\u6d88\u8017\u548c\u53d8\u5316\u8d8b\u52bf\u3002

                            "},{"location":"admin/insight/infra/namespace.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                            "},{"location":"admin/insight/infra/namespace.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                            2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd > \u547d\u540d\u7a7a\u95f4 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

                              1. \u5207\u6362\u547d\u540d\u7a7a\u95f4\uff1a\u5728\u9876\u90e8\u5207\u6362\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\uff1b
                              2. \u8d44\u6e90\u6982\u89c8\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6b63\u5e38\u548c\u5168\u90e8\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u91cf\uff1b
                              3. \u6545\u969c\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
                              4. \u4e8b\u4ef6\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b 24 \u5c0f\u65f6\u5185 Warning \u7ea7\u522b\u7684\u4e8b\u4ef6\u6570\u91cf\uff1b
                              5. \u8d44\u6e90\u6d88\u8017\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u5bb9\u5668\u7ec4\u7684 CPU\u3001\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c \u53ca CPU\u3001\u5185\u5b58\u914d\u989d\u60c5\u51b5\u3002

                            "},{"location":"admin/insight/infra/namespace.html#_4","title":"\u6307\u6807\u8bf4\u660e","text":"\u6307\u6807\u540d \u8bf4\u660e CPU \u4f7f\u7528\u91cf \u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e2d\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf\u4e4b\u548c \u5185\u5b58\u4f7f\u7528\u91cf \u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e2d\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c \u5bb9\u5668\u7ec4 CPU \u4f7f\u7528\u91cf \u547d\u540d\u7a7a\u95f4\u4e2d\u5404\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf \u5bb9\u5668\u7ec4\u5185\u5b58\u4f7f\u7528\u91cf \u547d\u540d\u7a7a\u95f4\u4e2d\u5404\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf"},{"location":"admin/insight/infra/node.html","title":"\u8282\u70b9\u76d1\u63a7","text":"

                            \u901a\u8fc7\u8282\u70b9\u76d1\u63a7\uff0c\u4f60\u53ef\u4ee5\u6982\u89c8\u6240\u9009\u96c6\u7fa4\u4e0b\u8282\u70b9\u7684\u5f53\u524d\u5065\u5eb7\u72b6\u6001\u3001\u5bf9\u5e94\u5bb9\u5668\u7ec4\u7684\u5f02\u5e38\u6570\u91cf\uff1b \u5728\u5f53\u524d\u8282\u70b9\u8be6\u60c5\u9875\uff0c\u4f60\u53ef\u4ee5\u67e5\u770b\u6b63\u5728\u544a\u8b66\u7684\u6570\u91cf\u4ee5\u53ca CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7b49\u8d44\u6e90\u6d88\u8017\u7684\u53d8\u5316\u8d8b\u52bf\u56fe\u3002

                            "},{"location":"admin/insight/infra/node.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                            "},{"location":"admin/insight/infra/node.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                            2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u8282\u70b9 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

                              • \u96c6\u7fa4\u5207\u6362 \uff1a\u5207\u6362\u9876\u90e8\u7684\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\uff1b
                              • \u8282\u70b9\u5217\u8868 \uff1a\u6240\u9009\u96c6\u7fa4\u4e2d\u7684\u8282\u70b9\u5217\u8868\uff0c\u5355\u51fb\u5207\u6362\u8282\u70b9\u3002
                              • \u6545\u969c \uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
                              • \u8d44\u6e90\u6d88\u8017 \uff1a\u6240\u9009\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7684\u5b9e\u9645\u4f7f\u7528\u91cf\u548c\u603b\u91cf\uff1b
                              • \u6307\u6807\u8bf4\u660e \uff1a\u6240\u9009\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u8bfb\u5199\u3001\u7f51\u7edc\u63a5\u6536\u53d1\u9001\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                            3. \u5207\u6362\u5230 \u8d44\u6e90\u6c34\u4f4d\u7ebf\u76d1\u63a7 \u9875\u7b7e\uff0c\u53ef\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684\u66f4\u591a\u76d1\u63a7\u6570\u636e\u3002

                            "},{"location":"admin/insight/infra/probe.html","title":"\u62e8\u6d4b","text":"

                            \u62e8\u6d4b\uff08Probe\uff09\u6307\u7684\u662f\u57fa\u4e8e\u9ed1\u76d2\u76d1\u63a7\uff0c\u5b9a\u671f\u901a\u8fc7 HTTP\u3001TCP \u7b49\u65b9\u5f0f\u5bf9\u76ee\u6807\u8fdb\u884c\u8fde\u901a\u6027\u6d4b\u8bd5\uff0c\u5feb\u901f\u53d1\u73b0\u6b63\u5728\u53d1\u751f\u7684\u6545\u969c\u3002

                            Insight \u57fa\u4e8e Prometheus Blackbox Exporter \u5de5\u5177\u901a\u8fc7 HTTP\u3001HTTPS\u3001DNS\u3001TCP \u548c ICMP \u7b49\u534f\u8bae\uff0c\u5bf9\u7f51\u7edc\u8fdb\u884c\u63a2\u6d4b\u5e76\u8fd4\u56de\u63a2\u6d4b\u7ed3\u679c\u4ee5\u4fbf\u4e86\u89e3\u7f51\u7edc\u72b6\u6001\u3002

                            "},{"location":"admin/insight/infra/probe.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u76ee\u6807\u96c6\u7fa4\u4e2d\u5df2\u6210\u529f\u90e8\u7f72 insight-agent\uff0c\u4e14\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                            "},{"location":"admin/insight/infra/probe.html#_3","title":"\u67e5\u770b\u62e8\u6d4b\u4efb\u52a1","text":"
                            1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff1b
                            2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u62e8\u6d4b\u3002

                              • \u70b9\u51fb\u8868\u683c\u4e2d\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u4e0b\u62c9\u6846\uff0c\u53ef\u5207\u6362\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4
                              • \u4f60\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u2699\ufe0f \u4fee\u6539\u663e\u793a\u7684\u5217\uff0c\u9ed8\u8ba4\u4e3a\u62e8\u6d4b\u540d\u79f0\u3001\u63a2\u6d4b\u65b9\u5f0f\u3001\u63a2\u6d4b\u76ee\u6807\u3001\u8fde\u901a\u72b6\u6001\u3001\u521b\u5efa\u65f6\u95f4
                              • \u8fde\u901a\u72b6\u6001\u6709 3 \u79cd\uff1a
                                • \u6b63\u5e38\uff1aProbe \u6210\u529f\u8fde\u63a5\u5230\u4e86\u76ee\u6807\uff0c\u76ee\u6807\u8fd4\u56de\u4e86\u9884\u671f\u7684\u54cd\u5e94
                                • \u5f02\u5e38\uff1aProbe \u65e0\u6cd5\u8fde\u63a5\u5230\u76ee\u6807\uff0c\u6216\u76ee\u6807\u6ca1\u6709\u8fd4\u56de\u9884\u671f\u7684\u54cd\u5e94
                                • Pending\uff1aProbe \u6b63\u5728\u5c1d\u8bd5\u8fde\u63a5\u76ee\u6807
                              • \u4f60\u53ef\u4ee5\u5728 \ud83d\udd0d \u641c\u7d22\u6846\u4e2d\u952e\u5165\u540d\u79f0\uff0c\u6a21\u7cca\u641c\u7d22\u67d0\u4e9b\u62e8\u6d4b\u4efb\u52a1

                            "},{"location":"admin/insight/infra/probe.html#_4","title":"\u521b\u5efa\u62e8\u6d4b\u4efb\u52a1","text":"
                            1. \u70b9\u51fb \u521b\u5efa\u62e8\u6d4b\u4efb\u52a1\u3002
                            2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

                              • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u62e8\u6d4b\u7684\u96c6\u7fa4
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u62e8\u6d4b\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

                            3. \u914d\u7f6e\u63a2\u6d4b\u53c2\u6570\u3002

                              • Blackbox \u5b9e\u4f8b\uff1a\u9009\u62e9\u8d1f\u8d23\u63a2\u6d4b\u7684 blackbox \u5b9e\u4f8b
                              • \u63a2\u6d4b\u65b9\u5f0f\uff1a
                                • HTTP\uff1a\u901a\u8fc7\u53d1\u9001 HTTP \u6216 HTTPS \u8bf7\u6c42\u5230\u76ee\u6807 URL\uff0c\u68c0\u6d4b\u5176\u8fde\u901a\u6027\u548c\u54cd\u5e94\u65f6\u95f4\uff0c\u8fd9\u53ef\u4ee5\u7528\u4e8e\u76d1\u6d4b\u7f51\u7ad9\u6216 Web \u5e94\u7528\u7684\u53ef\u7528\u6027\u548c\u6027\u80fd
                                • TCP\uff1a\u901a\u8fc7\u5efa\u7acb\u5230\u76ee\u6807\u4e3b\u673a\u548c\u7aef\u53e3\u7684 TCP \u8fde\u63a5\uff0c\u68c0\u6d4b\u5176\u8fde\u901a\u6027\u548c\u54cd\u5e94\u65f6\u95f4\u3002\u8fd9\u53ef\u4ee5\u7528\u4e8e\u76d1\u6d4b\u57fa\u4e8e TCP \u7684\u670d\u52a1\uff0c\u5982 Web \u670d\u52a1\u5668\u3001\u6570\u636e\u5e93\u670d\u52a1\u5668\u7b49
                                • \u5176\u4ed6\uff1a\u652f\u6301\u901a\u8fc7\u914d\u7f6e ConfigMap \u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f\uff0c\u53ef\u53c2\u8003\u81ea\u5b9a\u4e49\u62e8\u6d4b\u65b9\u5f0f
                              • \u63a2\u6d4b\u76ee\u6807\uff1a\u63a2\u6d4b\u7684\u76ee\u6807\u5730\u5740\uff0c\u652f\u6301\u57df\u540d\u6216 IP \u5730\u5740\u7b49
                              • \u6807\u7b7e\uff1a\u81ea\u5b9a\u4e49\u6807\u7b7e\uff0c\u8be5\u6807\u7b7e\u4f1a\u81ea\u52a8\u6dfb\u52a0\u5230 Prometheus \u7684 Label \u4e2d
                              • \u63a2\u6d4b\u95f4\u9694\uff1a\u63a2\u6d4b\u95f4\u9694\u65f6\u95f4
                              • \u63a2\u6d4b\u8d85\u65f6\uff1a\u63a2\u6d4b\u76ee\u6807\u65f6\u7684\u6700\u957f\u7b49\u5f85\u65f6\u95f4

                            4. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                            Warning

                            \u62e8\u6d4b\u4efb\u52a1\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u9700\u8981\u5927\u6982 3 \u5206\u949f\u7684\u65f6\u95f4\u6765\u540c\u6b65\u914d\u7f6e\u3002\u5728\u6b64\u671f\u95f4\uff0c\u4e0d\u4f1a\u8fdb\u884c\u63a2\u6d4b\uff0c\u65e0\u6cd5\u67e5\u770b\u63a2\u6d4b\u7ed3\u679c\u3002

                            "},{"location":"admin/insight/infra/probe.html#_5","title":"\u7f16\u8f91\u62e8\u6d4b\u4efb\u52a1","text":"

                            \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 -> \u7f16\u8f91\uff0c\u5b8c\u6210\u7f16\u8f91\u540e\u70b9\u51fb \u786e\u5b9a\u3002

                            "},{"location":"admin/insight/infra/probe.html#_6","title":"\u67e5\u770b\u76d1\u63a7\u9762\u677f","text":"

                            \u70b9\u51fb\u62e8\u6d4b\u540d\u79f0 \u67e5\u770b\u62e8\u6d4b\u4efb\u52a1\u4e2d\u6bcf\u4e2a\u76ee\u6807\u7684\u76d1\u63a7\u72b6\u6001\uff0c\u4ee5\u56fe\u8868\u65b9\u5f0f\u663e\u793a\u9488\u5bf9\u7f51\u7edc\u72b6\u51b5\u7684\u63a2\u6d4b\u7ed3\u679c\u3002

                            \u6307\u6807\u540d\u79f0 \u63cf\u8ff0 Current Status Response \u8868\u793a HTTP \u63a2\u6d4b\u8bf7\u6c42\u7684\u54cd\u5e94\u72b6\u6001\u7801\u3002 Ping Status \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u662f\u5426\u6210\u529f\u30021 \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u6210\u529f\uff0c0 \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u5931\u8d25\u3002 IP Protocol \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u4f7f\u7528\u7684 IP \u534f\u8bae\u7248\u672c\u3002 SSL Expiry \u8868\u793a SSL/TLS \u8bc1\u4e66\u7684\u6700\u65e9\u5230\u671f\u65f6\u95f4\u3002 DNS Response (Latency) \u8868\u793a\u6574\u4e2a\u63a2\u6d4b\u8fc7\u7a0b\u7684\u6301\u7eed\u65f6\u95f4\uff0c\u5355\u4f4d\u662f\u79d2\u3002 HTTP Duration \u8868\u793a\u4ece\u53d1\u9001\u8bf7\u6c42\u5230\u63a5\u6536\u5230\u5b8c\u6574\u54cd\u5e94\u7684\u6574\u4e2a\u8fc7\u7a0b\u7684\u65f6\u95f4\u3002"},{"location":"admin/insight/infra/probe.html#_7","title":"\u5220\u9664\u62e8\u6d4b\u4efb\u52a1","text":"

                            \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 -> \u5220\u9664\uff0c\u786e\u8ba4\u65e0\u8bef\u540e\u70b9\u51fb \u786e\u5b9a\u3002

                            Caution

                            \u5220\u9664\u64cd\u4f5c\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                            "},{"location":"admin/insight/quickstart/install/index.html","title":"\u5f00\u59cb\u89c2\u6d4b","text":"

                            AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u5b9e\u73b0\u4e86\u5bf9\u591a\u4e91\u591a\u96c6\u7fa4\u7684\u7eb3\u7ba1\uff0c\u5e76\u652f\u6301\u521b\u5efa\u96c6\u7fa4\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u7edf\u4e00\u89c2\u6d4b\u65b9\u6848\uff0c\u901a\u8fc7\u90e8\u7f72 insight-agent \u63d2\u4ef6\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u91c7\u96c6\uff0c\u5e76\u652f\u6301\u901a\u8fc7 AI \u7b97\u529b\u4e2d\u5fc3 \u53ef\u89c2\u6d4b\u6027\u4ea7\u54c1\u5b9e\u73b0\u5bf9\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u6570\u636e\u7684\u67e5\u8be2\u3002

                            insight-agent \u662f\u53ef\u89c2\u6d4b\u6027\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u6570\u636e\u91c7\u96c6\u7684\u5de5\u5177\uff0c\u5b89\u88c5\u540e\u65e0\u9700\u4efb\u4f55\u4fee\u6539\uff0c\u5373\u53ef\u5b9e\u73b0\u5bf9\u6307\u6807\u3001\u65e5\u5fd7\u4ee5\u53ca\u94fe\u8def\u6570\u636e\u7684\u81ea\u52a8\u5316\u91c7\u96c6\u3002

                            \u901a\u8fc7 \u5bb9\u5668\u7ba1\u7406 \u521b\u5efa\u7684\u96c6\u7fa4\u9ed8\u8ba4\u4f1a\u5b89\u88c5 insight-agent\uff0c\u6545\u5728\u6b64\u4ec5\u9488\u5bf9\u63a5\u5165\u7684\u96c6\u7fa4\u5982\u4f55\u5f00\u542f\u89c2\u6d4b\u80fd\u529b\u63d0\u4f9b\u6307\u5bfc\u3002

                            • \u5728\u7ebf\u5b89\u88c5 insight-agent

                            \u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u7684\u7edf\u4e00\u89c2\u6d4b\u5e73\u53f0\uff0c\u5176\u90e8\u5206\u7ec4\u4ef6\u7684\u8d44\u6e90\u6d88\u8017\u4e0e\u521b\u5efa\u96c6\u7fa4\u7684\u6570\u636e\u3001\u63a5\u5165\u96c6\u7fa4\u7684\u6570\u91cf\u606f\u606f\u76f8\u5173\uff0c\u5728\u5b89\u88c5 insight-agent \u65f6\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u5bf9\u76f8\u5e94\u7ec4\u4ef6\u7684\u8d44\u6e90\u8fdb\u884c\u8c03\u6574\u3002

                            1. \u6839\u636e\u521b\u5efa\u96c6\u7fa4\u7684\u89c4\u6a21\u6216\u63a5\u5165\u96c6\u7fa4\u7684\u89c4\u6a21\uff0c\u8c03\u6574 insight-agent \u4e2d\u91c7\u96c6\u7ec4\u4ef6 Prometheus \u7684 CPU \u548c\u5185\u5b58\uff0c\u8bf7\u53c2\u8003: Prometheus \u8d44\u6e90\u89c4\u5212

                            2. \u7531\u4e8e\u591a\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u4f1a\u7edf\u4e00\u5b58\u50a8\uff0c\u5219\u9700\u8981 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u7ba1\u7406\u5458\u6839\u636e\u521b\u5efa\u96c6\u7fa4\u7684\u89c4\u6a21\u3001\u63a5\u5165\u96c6\u7fa4\u7684\u89c4\u6a21\u5bf9\u5e94\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\uff0c\u8bf7\u53c2\u8003\uff1avmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212\u3002

                            3. \u5982\u4f55\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\uff0c\u8bf7\u53c2\u8003\uff1avmstorge \u78c1\u76d8\u6269\u5bb9\u3002

                            \u7531\u4e8e AI \u7b97\u529b\u4e2d\u5fc3 \u652f\u6301\u5bf9\u591a\u4e91\u591a\u96c6\u7fa4\u7684\u7eb3\u7ba1\uff0cinsight-agent \u76ee\u524d\u4e5f\u5b8c\u6210\u4e86\u90e8\u5206\u9a8c\u8bc1\uff0c\u7531\u4e8e\u76d1\u63a7\u7ec4\u4ef6\u51b2\u7a81\u95ee\u9898\u5bfc\u81f4\u5728 DCE 4.0 \u96c6\u7fa4\u548c Openshift 4.x \u96c6\u7fa4\u4e2d\u5b89\u88c5 insight-agent \u4f1a\u51fa\u73b0\u95ee\u9898\uff0c\u82e5\u60a8\u9047\u5230\u540c\u6837\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6587\u6863\uff1a

                            • \u5728 DCE 4.0.x \u5b89\u88c5 insight-agent
                            • \u5728 Openshift 4.x \u5b89\u88c5 insight-agent
                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html","title":"\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f","text":"

                            \u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e3a\u4e86\u63d0\u9ad8\u5927\u89c4\u6a21\u73af\u5883\u4e0b\u7684\u6570\u636e\u5199\u5165\u80fd\u529b\uff0c\u652f\u6301\u5c06\u65e5\u5fd7\u5207\u6362\u4e3a \u5927\u65e5\u5fd7 \u6a21\u5f0f\u3001\u5c06\u94fe\u8def\u5207\u6362\u4e3a \u5927\u94fe\u8def \u6a21\u5f0f\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u4ee5\u4e0b\u51e0\u79cd\u5f00\u542f\u65b9\u5f0f\uff1a

                            • \u901a\u8fc7\u5b89\u88c5\u5668\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\uff08\u901a\u8fc7 manifest.yaml \u4e2d\u540c\u4e00\u4e2a\u53c2\u6570\u503c\u63a7\u5236\uff09
                            • \u901a\u8fc7 Helm \u547d\u4ee4\u624b\u52a8\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f
                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_2","title":"\u65e5\u5fd7","text":"

                            \u672c\u8282\u8bf4\u660e\u666e\u901a\u65e5\u5fd7\u6a21\u5f0f\u548c\u5927\u65e5\u5fd7\u6a21\u5f0f\u7684\u533a\u522b\u3002

                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_3","title":"\u65e5\u5fd7\u6a21\u5f0f","text":"

                            \u7ec4\u4ef6\uff1aFluentbit + Elasticsearch

                            \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a ES \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_4","title":"\u5927\u65e5\u5fd7\u6a21\u5f0f","text":"

                            \u7ec4\u4ef6\uff1aFluentbit + Kafka + Vector + Elasticsearch

                            \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a Kafka \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_5","title":"\u94fe\u8def","text":"

                            \u672c\u8282\u8bf4\u660e\u666e\u901a\u94fe\u8def\u6a21\u5f0f\u548c\u5927\u94fe\u8def\u6a21\u5f0f\u7684\u533a\u522b\u3002

                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_6","title":"\u94fe\u8def\u6a21\u5f0f","text":"

                            \u7ec4\u4ef6\uff1aAgent opentelemetry-collector + Global opentelemetry-collector + Jaeger-collector + Elasticsearch

                            \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a OTlp \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_7","title":"\u5927\u94fe\u8def\u6a21\u5f0f","text":"

                            \u7ec4\u4ef6\uff1aAgent opentelemetry-collector + Kafka + Global opentelemetry-collector + Jaeger-collector + Elasticsearch

                            \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a Kafka \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_8","title":"\u901a\u8fc7\u5b89\u88c5\u5668\u5f00\u542f","text":"

                            \u901a\u8fc7\u5b89\u88c5\u5668\u90e8\u7f72/\u5347\u7ea7 AI \u7b97\u529b\u4e2d\u5fc3 \u65f6\u4f7f\u7528\u7684 manifest.yaml \u4e2d\u5b58\u5728 infrastructures.kafka \u5b57\u6bb5\uff0c \u5982\u679c\u60f3\u5f00\u542f\u53ef\u89c2\u6d4b\u7684\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\uff0c\u5219\u9700\u8981\u542f\u7528 kafka\uff1a

                            manifest.yaml
                            apiVersion: manifest.daocloud.io/v1alpha1\nkind: DCEManifest\n...\ninfrastructures:\n  ...\n  kafka:\n    enable: true # \u9ed8\u8ba4\u4e3a false\n    cpuLimit: 1\n    memLimit: 2Gi\n    pvcSize: 15Gi\n
                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_9","title":"\u5f00\u542f","text":"

                            \u5b89\u88c5\u65f6\u4f7f\u7528\u542f\u7528 kafka \u7684 manifest.yaml\uff0c\u5219\u4f1a\u9ed8\u8ba4\u5b89\u88c5 kafka \u4e2d\u95f4\u4ef6\uff0c \u5e76\u5728\u5b89\u88c5 Insight \u65f6\u9ed8\u8ba4\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\u3002\u5b89\u88c5\u547d\u4ee4\u4e3a\uff1a

                            ./dce5-installer cluster-create -c clusterConfig.yaml -m manifest.yaml\n
                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_10","title":"\u5347\u7ea7","text":"

                            \u5347\u7ea7\u540c\u6837\u662f\u4fee\u6539 kafka \u5b57\u6bb5\u3002\u4f46\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u56e0\u4e3a\u8001\u73af\u5883\u5b89\u88c5\u65f6\u4f7f\u7528\u7684\u662f kafka: false\uff0c \u6240\u4ee5\u73af\u5883\u4e2d\u65e0 kafka\u3002\u6b64\u65f6\u5347\u7ea7\u9700\u8981\u6307\u5b9a\u5347\u7ea7 middleware\uff0c\u624d\u4f1a\u540c\u65f6\u5b89\u88c5 kafka \u4e2d\u95f4\u4ef6\u3002\u5347\u7ea7\u547d\u4ee4\u4e3a\uff1a

                            ./dce5-installer cluster-create -c clusterConfig.yaml -m manifest.yaml -u gproduct,middleware\n

                            Note

                            \u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u8981\u624b\u52a8\u91cd\u542f\u4ee5\u4e0b\u7ec4\u4ef6\uff1a

                            • insight-agent-fluent-bit
                            • insight-agent-opentelemetry-collector
                            • insight-opentelemetry-collector
                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#helm","title":"\u901a\u8fc7 Helm \u547d\u4ee4\u5f00\u542f","text":"

                            \u524d\u63d0\u6761\u4ef6\uff1a\u9700\u8981\u4fdd\u8bc1\u5b58\u5728 \u53ef\u7528\u7684 kafka \u4e14\u5730\u5740\u53ef\u6b63\u5e38\u8bbf\u95ee\u3002

                            \u6839\u636e\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6\u8001\u7248\u672c insight \u548c insight-agent \u7684 values\uff08\u5efa\u8bae\u505a\u597d\u5907\u4efd\uff09\uff1a

                            helm get values insight -n insight-system -o yaml > insight.yaml\nhelm get values insight-agent -n insight-system -o yaml > insight-agent.yaml\n
                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_11","title":"\u5f00\u542f\u5927\u65e5\u5fd7","text":"

                            \u6709\u4ee5\u4e0b\u51e0\u79cd\u65b9\u5f0f\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u65e5\u5fd7\u6a21\u5f0f\uff1a

                            \u5728 helm upgrade \u547d\u4ee4\u4e2d\u4f7f\u7528 --set\u4fee\u6539 YAML \u540e\u8fd0\u884c helm upgrade\u5bb9\u5668\u7ba1\u7406 UI \u5347\u7ea7

                            \u5148\u8fd0\u884c\u4ee5\u4e0b insight \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                            helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --set global.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.kafka.enabled=true \\\n  --set vector.enabled=true \\\n  --version 0.30.1\n

                            \u7136\u540e\u8fd0\u884c\u4ee5\u4e0b insight-agent \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                            helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --set global.exporters.logging.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.exporters.logging.output=kafka \\\n  --version 0.30.1\n

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539 YAMl \u540e\u8fd0\u884c helm upgrade \u547d\u4ee4\uff1a

                            1. \u4fee\u6539 insight.yaml

                              insight.yaml
                              global:\n  ...\n  kafka:\n    brokers: 10.6.216.111:30592\n    enabled: true\n...\nvector:\n  enabled: true\n
                            2. \u5347\u7ea7 insight \u7ec4\u4ef6\uff1a

                              helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --version 0.30.1\n
                            3. \u4fee\u6539 insight-agent.yaml

                              insight-agent.yaml
                              global:\n  ...\n  exporters:\n    ...\n    logging:\n      ...\n      kafka:\n        brokers: 10.6.216.111:30592\n      output: kafka\n
                            4. \u5347\u7ea7 insight-agent\uff1a

                              helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --version 0.30.1\n

                            \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u627e\u5230\u5bf9\u5e94\u7684\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u627e\u5230\u5e76\u66f4\u65b0 insight-agent\u3002

                            \u5728 Logging Settings \u4e2d\uff0c\u4e3a output \u9009\u62e9 kafka\uff0c\u5e76\u586b\u5199\u6b63\u786e\u7684 brokers \u5730\u5740\u3002

                            \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u624b\u52a8\u91cd\u542f insight-agent-fluent-bit \u7ec4\u4ef6\u3002

                            "},{"location":"admin/insight/quickstart/install/big-log-and-trace.html#_12","title":"\u5f00\u542f\u5927\u94fe\u8def","text":"

                            \u6709\u4ee5\u4e0b\u51e0\u79cd\u65b9\u5f0f\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u94fe\u8def\u6a21\u5f0f\uff1a

                            \u5728 helm upgrade \u547d\u4ee4\u4e2d\u4f7f\u7528 --set\u4fee\u6539 YAML \u540e\u8fd0\u884c helm upgrade\u5bb9\u5668\u7ba1\u7406 UI \u5347\u7ea7

                            \u5148\u8fd0\u884c\u4ee5\u4e0b insight \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                            helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --set global.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.kafka.enabled=true \\\n  --set global.tracing.kafkaReceiver.enabled=true \\\n  --version 0.30.1\n

                            \u7136\u540e\u8fd0\u884c\u4ee5\u4e0b insight-agent \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                            helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --set global.exporters.trace.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.exporters.trace.output=kafka \\\n  --version 0.30.1\n

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539 YAMl \u540e\u8fd0\u884c helm upgrade \u547d\u4ee4\uff1a

                            1. \u4fee\u6539 insight.yaml

                              insight.yaml
                              global:\n  ...\n  kafka:\n    brokers: 10.6.216.111:30592\n    enabled: true\n...\ntracing:\n  ...\n  kafkaReceiver:\n    enabled: true\n
                            2. \u5347\u7ea7 insight \u7ec4\u4ef6\uff1a

                              helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --version 0.30.1\n
                            3. \u4fee\u6539 insight-agent.yaml

                              insight-agent.yaml
                              global:\n  ...\n  exporters:\n    ...\n    trace:\n      ...\n      kafka:\n        brokers: 10.6.216.111:30592\n      output: kafka\n
                            4. \u5347\u7ea7 insight-agent\uff1a

                              helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --version 0.30.1\n

                            \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u627e\u5230\u5bf9\u5e94\u7684\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u627e\u5230\u5e76\u66f4\u65b0 insight-agent\u3002

                            \u5728 Trace Settings \u4e2d\uff0c\u4e3a output \u9009\u62e9 kafka\uff0c\u5e76\u586b\u5199\u6b63\u786e\u7684 brokers \u5730\u5740\u3002

                            \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u624b\u52a8 \u91cd\u542f insight-agent-opentelemetry-collector \u548c insight-opentelemetry-collector \u7ec4\u4ef6\u3002

                            "},{"location":"admin/insight/quickstart/install/component-scheduling.html","title":"\u81ea\u5b9a\u4e49 Insight \u7ec4\u4ef6\u8c03\u5ea6\u7b56\u7565","text":"

                            \u5f53\u90e8\u7f72\u53ef\u89c2\u6d4b\u5e73\u53f0 Insight \u5230 Kubernetes \u73af\u5883\u65f6\uff0c\u6b63\u786e\u7684\u8d44\u6e90\u7ba1\u7406\u548c\u4f18\u5316\u81f3\u5173\u91cd\u8981\u3002 Insight \u5305\u542b\u591a\u4e2a\u6838\u5fc3\u7ec4\u4ef6\uff0c\u5982 Prometheus\u3001OpenTelemetry\u3001FluentBit\u3001Vector\u3001Elasticsearch \u7b49\uff0c \u8fd9\u4e9b\u7ec4\u4ef6\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u53ef\u80fd\u56e0\u4e3a\u8d44\u6e90\u5360\u7528\u95ee\u9898\u5bf9\u96c6\u7fa4\u5185\u5176\u4ed6 Pod \u7684\u6027\u80fd\u4ea7\u751f\u8d1f\u9762\u5f71\u54cd\u3002 \u4e3a\u4e86\u6709\u6548\u5730\u7ba1\u7406\u8d44\u6e90\u5e76\u4f18\u5316\u96c6\u7fa4\u7684\u8fd0\u884c\uff0c\u8282\u70b9\u4eb2\u548c\u6027\u6210\u4e3a\u4e00\u9879\u91cd\u8981\u7684\u914d\u7f6e\u9009\u9879\u3002

                            \u672c\u6587\u5c06\u91cd\u70b9\u63a2\u8ba8\u5982\u4f55\u901a\u8fc7\u6c61\u70b9\u548c\u8282\u70b9\u4eb2\u548c\u6027\u7684\u914d\u7f6e\u7b56\u7565\uff0c\u4f7f\u5f97\u6bcf\u4e2a\u7ec4\u4ef6\u80fd\u591f\u5728\u9002\u5f53\u7684\u8282\u70b9\u4e0a\u8fd0\u884c\uff0c \u5e76\u907f\u514d\u8d44\u6e90\u7ade\u4e89\u6216\u4e89\u7528\uff0c\u4ece\u800c\u786e\u4fdd\u6574\u4e2a Kubernetes \u96c6\u7fa4\u7684\u7a33\u5b9a\u6027\u548c\u9ad8\u6548\u6027\u3002

                            "},{"location":"admin/insight/quickstart/install/component-scheduling.html#insight_1","title":"\u901a\u8fc7\u6c61\u70b9\u4e3a Insight \u914d\u7f6e\u4e13\u6709\u8282\u70b9","text":"

                            \u7531\u4e8e Insight Agent \u5305\u542b\u4e86 DaemonSet \u7ec4\u4ef6\uff0c\u6240\u4ee5\u672c\u8282\u6240\u8ff0\u7684\u914d\u7f6e\u65b9\u5f0f\u662f\u8ba9\u9664\u4e86 Insight DameonSet \u4e4b\u5916\u7684\u5176\u4f59\u7ec4\u4ef6\u5747\u8fd0\u884c\u5728\u4e13\u6709\u8282\u70b9\u4e0a\u3002

                            \u8be5\u65b9\u5f0f\u662f\u901a\u8fc7\u4e3a\u4e13\u6709\u8282\u70b9\u6dfb\u52a0\u6c61\u70b9\uff08taint\uff09\uff0c\u5e76\u914d\u5408\u6c61\u70b9\u5bb9\u5fcd\u5ea6\uff08tolerations\uff09\u6765\u5b9e\u73b0\u7684\u3002 \u66f4\u591a\u7ec6\u8282\u53ef\u4ee5\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u3002

                            \u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u547d\u4ee4\u4e3a\u8282\u70b9\u6dfb\u52a0\u53ca\u79fb\u9664\u6c61\u70b9\uff1a

                            # \u6dfb\u52a0\u6c61\u70b9\nkubectl taint nodes worker1 node.daocloud.io=insight-only:NoSchedule\n\n# \u79fb\u9664\u6c61\u70b9\nkubectl taint nodes worker1 node.daocloud.io:NoSchedule-\n

                            \u6709\u4ee5\u4e0b\u4e24\u79cd\u9014\u5f84\u8ba9 Insight \u7ec4\u4ef6\u8c03\u5ea6\u81f3\u4e13\u6709\u8282\u70b9\uff1a

                            "},{"location":"admin/insight/quickstart/install/component-scheduling.html#1","title":"1. \u4e3a\u6bcf\u4e2a\u7ec4\u4ef6\u6dfb\u52a0\u6c61\u70b9\u5bb9\u5fcd\u5ea6","text":"

                            \u9488\u5bf9 insight-server \u548c insight-agent \u4e24\u4e2a Chart \u5206\u522b\u8fdb\u884c\u914d\u7f6e\uff1a

                            insight-server Chart \u914d\u7f6einsight-agent Chart \u914d\u7f6e
                            server:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nui:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nrunbook:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\n# mysql:\nvictoria-metrics-k8s-stack:\n  victoria-metrics-operator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  vmcluster:\n    spec:\n      vmstorage:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n      vmselect:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n      vminsert:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n  vmalert:\n    spec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n  alertmanager:\n    spec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n\njaeger:\n  collector:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  query:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n\nopentelemetry-collector-aggregator:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nopentelemetry-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\ngrafana-operator:\n  operator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  grafana:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\nkibana:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nelastic-alert:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nvector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n
                            kube-prometheus-stack:\n  prometheus:\n    prometheusSpec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n  prometheus-node-exporter:\n    tolerations:\n      - effect: NoSchedule\n        operator: Exists\n  prometheusOperator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n\nkube-state-metrics:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-operator:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\ntailing-sidecar-operator:\n  operator:\n    tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-kubernetes-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nprometheus-blackbox-exporter:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\netcd-exporter:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\" \n
                            "},{"location":"admin/insight/quickstart/install/component-scheduling.html#2","title":"2. \u901a\u8fc7\u547d\u540d\u7a7a\u95f4\u7ea7\u522b\u914d\u7f6e","text":"

                            \u8ba9 insight-system \u547d\u540d\u7a7a\u95f4\u7684 Pod \u90fd\u5bb9\u5fcd node.daocloud.io=insight-only \u6c61\u70b9\u3002

                            1. \u8c03\u6574 apiserver \u7684\u914d\u7f6e\u6587\u4ef6 /etc/kubernetes/manifests/kube-apiserver.yaml\uff0c\u653e\u5f00 PodTolerationRestriction,PodNodeSelector, \u53c2\u8003\u4e0b\u56fe\uff1a

                            2. \u7ed9 insight-system \u547d\u540d\u7a7a\u95f4\u589e\u52a0\u6ce8\u89e3\uff1a

                              apiVersion: v1\nkind: Namespace\nmetadata:\n  name: insight-system\n  annotations:\n    scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Equal\", \"effect\": \"NoSchedule\", \"key\": \"node.daocloud.io\", \"value\": \"insight-only\"}]'\n

                            \u91cd\u542f insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u9762\u7684\u7ec4\u4ef6\u5373\u53ef\u6b63\u5e38\u5bb9\u5fcd insight-system \u4e0b\u7684 Pod \u8c03\u5ea6\u3002

                            "},{"location":"admin/insight/quickstart/install/component-scheduling.html#label","title":"\u4e3a\u8282\u70b9\u6dfb\u52a0 Label \u548c\u8282\u70b9\u4eb2\u548c\u6027\u6765\u7ba1\u7406\u7ec4\u4ef6\u8c03\u5ea6","text":"

                            Info

                            \u8282\u70b9\u4eb2\u548c\u6027\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e nodeSelector\uff0c\u5b83\u4f7f\u4f60\u53ef\u4ee5\u6839\u636e\u8282\u70b9\u4e0a\u7684 \u6807\u7b7e(label) \u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002 \u8282\u70b9\u4eb2\u548c\u6027\u6709\u4e24\u79cd\uff1a

                            1. requiredDuringSchedulingIgnoredDuringExecution\uff1a\u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector\uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002
                            2. preferredDuringSchedulingIgnoredDuringExecution\uff1a\u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002

                            \u66f4\u8fc7\u7ec6\u8282\u8bf7\u53c2\u8003 kubernetes \u5b98\u65b9\u6587\u6863\u3002

                            \u4e3a\u4e86\u5b9e\u73b0\u4e0d\u540c\u7528\u6237\u5bf9 Insight \u7ec4\u4ef6\u8c03\u5ea6\u7684\u7075\u6d3b\u9700\u6c42\uff0cInsight \u5206\u522b\u63d0\u4f9b\u4e86\u8f83\u4e3a\u7ec6\u7c92\u5ea6\u7684 Label \u6765\u5b9e\u73b0\u4e0d\u540c\u7ec4\u4ef6\u7684\u8c03\u5ea6\u7b56\u7565\uff0c\u4ee5\u4e0b\u662f\u6807\u7b7e\u4e0e\u7ec4\u4ef6\u7684\u5173\u7cfb\u8bf4\u660e\uff1a

                            \u6807\u7b7e Key \u6807\u7b7e Value \u8bf4\u660e node.daocloud.io/insight-any \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u4ee3\u8868 Insight \u6240\u6709\u7ec4\u4ef6\u4f18\u5148\u8003\u8651\u5e26\u4e86\u8be5\u6807\u7b7e\u7684\u8282\u70b9 node.daocloud.io/insight-prometheus \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 Prometheus \u7ec4\u4ef6 node.daocloud.io/insight-vmstorage \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 VictoriaMetrics vmstorage \u7ec4\u4ef6 node.daocloud.io/insight-vector \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 Vector \u7ec4\u4ef6 node.daocloud.io/insight-otel-col \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 OpenTelemetry \u7ec4\u4ef6

                            \u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u547d\u4ee4\u4e3a\u8282\u70b9\u6dfb\u52a0\u53ca\u79fb\u9664\u6807\u7b7e\uff1a

                            # \u4e3a node8 \u6dfb\u52a0\u6807\u7b7e\uff0c\u5148\u5c06 insight-prometheus \u8c03\u5ea6\u5230 node8 \nkubectl label nodes node8 node.daocloud.io/insight-prometheus=true\n\n# \u79fb\u9664 node8 \u7684 node.daocloud.io/insight-prometheus \u6807\u7b7e\nkubectl label nodes node8 node.daocloud.io/insight-prometheus-\n

                            \u4ee5\u4e0b\u662f insight-prometheus \u7ec4\u4ef6\u5728\u90e8\u7f72\u65f6\u9ed8\u8ba4\u7684\u4eb2\u548c\u6027\u504f\u597d\uff1a

                            affinity:\n  nodeAffinity:\n    preferredDuringSchedulingIgnoredDuringExecution:\n    - preference:\n        matchExpressions:\n        - key: node-role.kubernetes.io/control-plane\n          operator: DoesNotExist\n      weight: 1\n    - preference:\n        matchExpressions:\n        - key: node.daocloud.io/insight-prometheus # (1)!\n          operator: Exists\n      weight: 2\n    - preference:\n        matchExpressions:\n        - key: node.daocloud.io/insight-any\n          operator: Exists\n      weight: 3\n    podAntiAffinity:\n      preferredDuringSchedulingIgnoredDuringExecution:\n        - weight: 1\n          podAffinityTerm:\n            topologyKey: kubernetes.io/hostname\n            labelSelector:\n              matchExpressions:\n                - key: app.kubernetes.io/instance\n                  operator: In\n                  values:\n                    - insight-agent-kube-prometh-prometheus\n
                            1. \u5148\u5c06 insight-prometheus \u8c03\u5ea6\u5230\u5e26\u6709 node.daocloud.io/insight-prometheus \u6807\u7b7e\u7684\u8282\u70b9
                            "},{"location":"admin/insight/quickstart/install/gethosturl.html","title":"\u83b7\u53d6\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u6570\u636e\u5b58\u50a8\u5730\u5740","text":"

                            \u53ef\u89c2\u6d4b\u6027\u662f\u591a\u96c6\u7fa4\u7edf\u4e00\u89c2\u6d4b\u7684\u4ea7\u54c1\uff0c\u4e3a\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u7edf\u4e00\u5b58\u50a8\u3001\u67e5\u8be2\uff0c \u5b50\u96c6\u7fa4\u9700\u8981\u5c06\u91c7\u96c6\u7684\u89c2\u6d4b\u6570\u636e\u4e0a\u62a5\u7ed9\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u8fdb\u884c\u7edf\u4e00\u5b58\u50a8\u3002 \u672c\u6587\u63d0\u4f9b\u4e86\u5728\u5b89\u88c5\u91c7\u96c6\u7ec4\u4ef6 insight-agent \u65f6\u5fc5\u586b\u7684\u5b58\u50a8\u7ec4\u4ef6\u7684\u5730\u5740\u3002

                            "},{"location":"admin/insight/quickstart/install/gethosturl.html#insight-agent","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 insight-agent","text":"

                            \u5982\u679c\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 insight-agent\uff0c\u63a8\u8350\u901a\u8fc7\u57df\u540d\u6765\u8bbf\u95ee\u96c6\u7fa4\uff1a

                            export vminsert_host=\"vminsert-insight-victoria-metrics-k8s-stack.insight-system.svc.cluster.local\" # (1)!\nexport es_host=\"insight-es-master.insight-system.svc.cluster.local\" # (2)!\nexport otel_col_host=\"insight-opentelemetry-collector.insight-system.svc.cluster.local\" # (3)!\n
                            "},{"location":"admin/insight/quickstart/install/gethosturl.html#insight-agent_1","title":"\u5728\u5176\u4ed6\u96c6\u7fa4\u5b89\u88c5 insight-agent","text":""},{"location":"admin/insight/quickstart/install/gethosturl.html#insight-server","title":"\u901a\u8fc7 Insight Server \u63d0\u4f9b\u7684\u63a5\u53e3\u83b7\u53d6\u5730\u5740","text":"
                            1. \u7ba1\u7406\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer \u65b9\u5f0f\u66b4\u9732

                              \u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                              export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam'\n

                              Note

                              \u8bf7\u66ff\u6362\u547d\u4ee4\u4e2d\u7684 ${INSIGHT_SERVER_IP} \u53c2\u6570\u3002

                              \u83b7\u5f97\u5982\u4e0b\u8fd4\u56de\u503c\uff1a

                              {\n  \"values\": {\n    \"global\": {\n      \"exporters\": {\n        \"logging\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"metric\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"auditLog\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"trace\": {\n          \"host\": \"10.6.182.32\"\n        }\n      }\n    },\n    \"opentelemetry-operator\": {\n      \"enabled\": true\n    },\n    \"opentelemetry-collector\": {\n      \"enabled\": true\n    }\n  }\n}\n
                              • global.exporters.logging.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff0c\u4e0d\u9700\u8981\u518d\u8bbe\u7f6e\u5bf9\u5e94\u670d\u52a1\u7684\u7aef\u53e3\uff0c\u90fd\u4f1a\u4f7f\u7528\u76f8\u5e94\u9ed8\u8ba4\u503c
                              • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740
                              • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740
                              • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff08\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3\uff09
                            2. \u7ba1\u7406\u96c6\u7fa4\u7981\u7528 LoadBalancer

                              \u8c03\u7528\u63a5\u53e3\u65f6\u9700\u8981\u989d\u5916\u4f20\u9012\u96c6\u7fa4\u4e2d\u4efb\u610f\u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u8282\u70b9 IP\uff0c\u4f1a\u4f7f\u7528\u8be5 IP \u62fc\u63a5\u51fa\u5bf9\u5e94\u670d\u52a1\u7684\u5b8c\u6574\u8bbf\u95ee\u5730\u5740\u3002

                              export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam' --data '{\"extra\": {\"EXPORTER_EXTERNAL_IP\": \"10.5.14.51\"}}'\n

                              \u5c06\u83b7\u5f97\u5982\u4e0b\u7684\u8fd4\u56de\u503c\uff1a

                              {\n  \"values\": {\n    \"global\": {\n      \"exporters\": {\n        \"logging\": {\n          \"scheme\": \"https\",\n          \"host\": \"10.5.14.51\",\n          \"port\": 32007,\n          \"user\": \"elastic\",\n          \"password\": \"j8V1oVoM1184HvQ1F3C8Pom2\"\n        },\n        \"metric\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30683\n        },\n        \"auditLog\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30884\n        },\n        \"trace\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30274\n        }\n      }\n    },\n    \"opentelemetry-operator\": {\n      \"enabled\": true\n    },\n    \"opentelemetry-collector\": {\n      \"enabled\": true\n    }\n  }\n}\n
                              • global.exporters.logging.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740
                              • global.exporters.logging.port \u662f\u65e5\u5fd7\u670d\u52a1\u66b4\u9732\u7684 NodePort
                              • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740
                              • global.exporters.metric.port \u662f\u6307\u6807\u670d\u52a1\u66b4\u9732\u7684 NodePort
                              • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740
                              • global.exporters.trace.port \u662f\u94fe\u8def\u670d\u52a1\u66b4\u9732\u7684 NodePort
                              • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff08\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3\uff09
                              • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u66b4\u9732\u7684 NodePort
                            "},{"location":"admin/insight/quickstart/install/gethosturl.html#loadbalancer","title":"\u901a\u8fc7 LoadBalancer \u8fde\u63a5","text":"
                            1. \u82e5\u96c6\u7fa4\u4e2d\u5f00\u542f LoadBalancer \u4e14\u4e3a Insight \u8bbe\u7f6e\u4e86 VIP \u65f6\uff0c\u60a8\u4e5f\u53ef\u4ee5\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6 vminsert \u4ee5\u53ca opentelemetry-collector \u7684\u5730\u5740\u4fe1\u606f\uff1a

                              $ kubectl get service -n insight-system | grep lb\nlb-insight-opentelemetry-collector               LoadBalancer   10.233.23.12    <pending>     4317:31286/TCP,8006:31351/TCP  24d\nlb-vminsert-insight-victoria-metrics-k8s-stack   LoadBalancer   10.233.63.67    <pending>     8480:31629/TCP                 24d\n
                              • lb-vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740
                              • lb-insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740
                            2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6 elasticsearch \u5730\u5740\u4fe1\u606f\uff1a

                              $ kubectl get service -n mcamel-system | grep es\nmcamel-common-es-cluster-masters-es-http               NodePort    10.233.16.120   <none>        9200:30465/TCP               47d\n

                              mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740

                            "},{"location":"admin/insight/quickstart/install/gethosturl.html#nodeport","title":"\u901a\u8fc7 NodePort \u8fde\u63a5","text":"

                            \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7981\u7528 LB \u7279\u6027

                            \u5728\u8be5\u60c5\u51b5\u4e0b\uff0c\u9ed8\u8ba4\u4e0d\u4f1a\u521b\u5efa\u4e0a\u8ff0\u7684 LoadBalancer \u8d44\u6e90\uff0c\u5bf9\u5e94\u670d\u52a1\u540d\u4e3a\uff1a

                            • vminsert-insight-victoria-metrics-k8s-stack\uff08\u6307\u6807\u670d\u52a1\uff09
                            • common-es\uff08\u65e5\u5fd7\u670d\u52a1\uff09
                            • insight-opentelemetry-collector\uff08\u94fe\u8def\u670d\u52a1\uff09

                            \u4e0a\u9762\u4e24\u79cd\u60c5\u51b5\u83b7\u53d6\u5230\u5bf9\u5e94\u670d\u52a1\u7684\u5bf9\u5e94\u7aef\u53e3\u4fe1\u606f\u540e\uff0c\u8fdb\u884c\u5982\u4e0b\u8bbe\u7f6e\uff1a

                            --set global.exporters.logging.host=  # (1)!\n--set global.exporters.logging.port=  # (2)!\n--set global.exporters.metric.host=   # (3)!\n--set global.exporters.metric.port=   # (4)!\n--set global.exporters.trace.host=    # (5)!\n--set global.exporters.trace.port=    # (6)!\n--set global.exporters.auditLog.host= # (7)!\n
                            1. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                            2. \u65e5\u5fd7\u670d\u52a1 9200 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
                            3. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                            4. \u6307\u6807\u670d\u52a1 8480 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
                            5. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                            6. \u94fe\u8def\u670d\u52a1 4317 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
                            7. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                            "},{"location":"admin/insight/quickstart/install/helm-installagent.html","title":"\u901a\u8fc7 Helm \u90e8\u7f72 Insight Agent","text":"

                            \u672c\u6587\u63cf\u8ff0\u4e86\u5728\u547d\u4ee4\u884c\u4e2d\u901a\u8fc7 Helm \u547d\u4ee4\u5b89\u88c5 Insight Agent \u793e\u533a\u7248\u7684\u64cd\u4f5c\u6b65\u9aa4\u3002

                            "},{"location":"admin/insight/quickstart/install/helm-installagent.html#insight-agent","title":"\u5b89\u88c5 Insight Agent","text":"
                            1. \u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6dfb\u52a0\u955c\u50cf\u4ed3\u5e93\u7684\u5730\u5740

                              helm repo add insight https://release.daocloud.io/chartrepo/insight\nhelm repo upgrade\nhelm search repo  insight/insight-agent --versions\n
                            2. \u5b89\u88c5 Insight Agent \u9700\u8981\u786e\u4fdd\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u7684 Insight Server \u6b63\u5e38\u8fd0\u884c\uff0c\u6267\u884c\u4ee5\u4e0b\u5b89\u88c5\u547d\u4ee4\u5b89\u88c5 Insight Agent \u793e\u533a\u7248\uff0c\u8be5\u914d\u7f6e\u4e0d\u542f\u7528 Tracing \u529f\u80fd\uff1a

                              helm upgrade --install --create-namespace --cleanup-on-fail \\\n    --version ${version} \\      # \u8bf7\u6307\u5b9a\u90e8\u7f72\u7248\u672c\n    insight-agent  insight/insight-agent \\\n    --set global.exporters.logging.elasticsearch.host=10.10.10.x \\    # \u8bf7\u66ff\u6362\u201c10.10.10.x\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u5730\u5740\n    --set global.exporters.logging.elasticsearch.port=32517 \\     # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u66b4\u9732\u7684\u7aef\u53e3\n    --set global.exporters.logging.elasticsearch.user=elastic \\     # \u8bf7\u66ff\u6362\u201celastic\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u7528\u6237\u540d\n    --set global.exporters.logging.elasticsearch.password=dangerous \\  # \u8bf7\u66ff\u6362\u201cdangerous\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u5bc6\u7801\n    --set global.exporters.metric.host=${vminsert_address} \\    # \u8bf7\u66ff\u6362\u201c10.10.10.x\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d vminsert \u7684\u5730\u5740\n    --set global.exporters.metric.port=${vminsert_port} \\    # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d vminsert \u7684\u5730\u5740\n    --set global.exporters.auditLog.host=${opentelemetry-collector address} \\     # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d opentelemetry-collector \u7684\u7aef\u53e3\n    --set global.exporters.auditLog.port=${otel_col_auditlog_port}\\   # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d opentelemetry-collector \u5bb9\u5668\u7aef\u53e3\u4e3a 8006 \u7684 service \u5bf9\u5916\u8bbf\u95ee\u7684\u5730\u5740\n    -n insight-system\n

                              Info

                              \u53ef\u53c2\u8003 \u5982\u4f55\u83b7\u53d6\u8fde\u63a5\u5730\u5740 \u83b7\u53d6\u5730\u5740\u4fe1\u606f\u3002

                            3. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u5b89\u88c5\u72b6\u6001\uff1a

                              helm list -A\nkubectl get pods -n insight-system\n
                            "},{"location":"admin/insight/quickstart/install/helm-installagent.html#_1","title":"\u5982\u4f55\u83b7\u53d6\u8fde\u63a5\u5730\u5740","text":""},{"location":"admin/insight/quickstart/install/helm-installagent.html#insight-agent_1","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 Insight Agent","text":"

                            \u5982\u679c Agent \u662f\u5b89\u88c5\u5728\u7ba1\u7406\u96c6\u7fa4\uff0c\u63a8\u8350\u901a\u8fc7\u57df\u540d\u6765\u8bbf\u95ee\u96c6\u7fa4\uff1a

                            export vminsert_host=\"vminsert-insight-victoria-metrics-k8s-stack.insight-system.svc.cluster.local\" # \u6307\u6807\nexport es_host=\"insight-es-master.insight-system.svc.cluster.local\" # \u65e5\u5fd7\nexport otel_col_host=\"insight-opentelemetry-collector.insight-system.svc.cluster.local\" # \u94fe\u8def\n
                            "},{"location":"admin/insight/quickstart/install/helm-installagent.html#insight-agent_2","title":"\u5728\u5de5\u4f5c\u96c6\u7fa4\u5b89\u88c5 Insight Agent","text":"\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\u64cd\u4f5c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528 Nodeport

                            \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer \u65b9\u5f0f\u66b4\u9732\u670d\u52a1\u65f6\uff0c\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                            export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam'\n

                            \u5c06\u83b7\u5f97\u5982\u4e0b\u7684\u8fd4\u56de\u503c\uff1a

                            {\"global\":{\"exporters\":{\"logging\":{\"output\":\"elasticsearch\",\"elasticsearch\":{\"host\":\"10.6.182.32\"},\"kafka\":{},\"host\":\"10.6.182.32\"},\"metric\":{\"host\":\"10.6.182.32\"},\"auditLog\":    {\"host\":\"10.6.182.32\"}}},\"opentelemetry-operator\":{\"enabled\":true},\"opentelemetry-collector\":{\"enabled\":true}}\n

                            \u5176\u4e2d\uff1a

                            • global.exporters.logging.elasticsearch.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740\u3010\u4e0d\u9700\u8981\u518d\u8bbe\u7f6e\u5bf9\u5e94\u670d\u52a1\u7684\u7aef\u53e3\uff0c\u90fd\u4f1a\u4f7f\u7528\u76f8\u5e94\u9ed8\u8ba4\u503c\u3011\uff1b
                            • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740\uff1b
                            • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740\uff1b
                            • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740 (\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3)\uff1b

                            \u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                            kubectl get service -n insight-system | grep lb\nkubectl get service -n mcamel-system | grep es\n

                            \u5176\u4e2d\uff1a

                            • lb-vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740\uff1b
                            • lb-insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740;
                            • mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740;

                            \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528 Nodeport \u65b9\u5f0f\u66b4\u9732\u670d\u52a1\u65f6\uff0c\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                            kubectl get service -n insight-system\nkubectl get service -n mcamel-system\n

                            \u5176\u4e2d\uff1a

                            • vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740\uff1b
                            • insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740;
                            • mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740;
                            "},{"location":"admin/insight/quickstart/install/helm-installagent.html#insight-agent_3","title":"\u5347\u7ea7 Insight Agent","text":"
                            1. \u767b\u5f55\u76ee\u6807\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5907\u4efd --set \u53c2\u6570\u3002

                              helm get values insight-agent -n insight-system -o yaml > insight-agent.yaml\n
                            2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0\u4ed3\u5e93\u3002

                              helm repo upgrade\n
                            3. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5347\u7ea7\u3002

                              helm upgrade insight-agent insight/insight-agent \\\n-n insight-system \\\n-f ./insight-agent.yaml \\\n--version ${version}   # \u6307\u5b9a\u5347\u7ea7\u7248\u672c\n
                            4. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u5b89\u88c5\u72b6\u6001\uff1a

                              kubectl get pods -n insight-system\n
                            "},{"location":"admin/insight/quickstart/install/helm-installagent.html#insight-agent_4","title":"\u5378\u8f7d Insight Agent","text":"
                            helm uninstall insight-agent -n insight-system --timeout 10m\n
                            "},{"location":"admin/insight/quickstart/install/install-agent.html","title":"\u5728\u7ebf\u5b89\u88c5 insight-agent","text":"

                            insight-agent \u662f\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u91c7\u96c6\u7684\u63d2\u4ef6\uff0c\u652f\u6301\u5bf9\u6307\u6807\u3001\u94fe\u8def\u3001\u65e5\u5fd7\u6570\u636e\u7684\u7edf\u4e00\u89c2\u6d4b\u3002\u672c\u6587\u63cf\u8ff0\u4e86\u5982\u4f55\u5728\u5728\u7ebf\u73af\u5883\u4e2d\u4e3a\u63a5\u5165\u96c6\u7fa4\u5b89\u88c5 insight-agent\u3002

                            "},{"location":"admin/insight/quickstart/install/install-agent.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165 \u5bb9\u5668\u7ba1\u7406 \u6a21\u5757\u3002\u5982\u4f55\u63a5\u5165\u96c6\u7fa4\uff0c\u8bf7\u53c2\u8003\uff1a\u63a5\u5165\u96c6\u7fa4
                            "},{"location":"admin/insight/quickstart/install/install-agent.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u6a21\u5757\uff0c\u5728 \u96c6\u7fa4\u5217\u8868 \u4e2d\u627e\u5230\u8981\u5b89\u88c5 insight-agent \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                            2. \u9009\u62e9 \u7acb\u5373\u5b89\u88c5 \u8df3\u8f6c\uff0c\u6216\u70b9\u51fb\u96c6\u7fa4\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u5185\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u641c\u7d22\u6846\u67e5\u8be2 insight-agent \uff0c\u70b9\u51fb\u8be5\u5361\u7247\u8fdb\u5165\u8be6\u60c5\u3002

                            3. \u67e5\u770b insight-agent \u7684\u5b89\u88c5\u9875\u9762\uff0c\u70b9\u51fb \u5b89\u88c5 \u8fdb\u5165\u4e0b\u4e00\u6b65\u3002

                            4. \u9009\u62e9\u5b89\u88c5\u7684\u7248\u672c\u5e76\u5728\u4e0b\u65b9\u8868\u5355\u5206\u522b\u586b\u5199\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u5bf9\u5e94\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\u7684\u5730\u5740\uff0c\u786e\u8ba4\u586b\u5199\u7684\u4fe1\u606f\u65e0\u8bef\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                              • insight-agent \u9ed8\u8ba4\u90e8\u7f72\u5728\u96c6\u7fa4\u7684 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u3002
                              • \u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\u7684 insight-agent\u3002
                              • \u7cfb\u7edf\u9ed8\u8ba4\u5df2\u586b\u5199\u6570\u636e\u4e0a\u62a5\u7684\u7ec4\u4ef6\u7684\u5730\u5740\uff0c\u4ecd\u8bf7\u60a8\u68c0\u67e5\u65e0\u8bef\u540e\u518d\u70b9\u51fb \u786e\u5b9a \u00a0\u8fdb\u884c\u5b89\u88c5\u3002 \u5982\u9700\u4fee\u6539\u6570\u636e\u4e0a\u62a5\u5730\u5740\uff0c\u8bf7\u53c2\u8003\uff1a\u83b7\u53d6\u6570\u636e\u4e0a\u62a5\u5730\u5740\u3002

                            5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u00a0 Helm \u5e94\u7528 \u5217\u8868\uff0c\u5f53\u5e94\u7528 insight-agent \u7684\u72b6\u6001\u4ece\u00a0 \u672a\u5c31\u7eea \u53d8\u4e3a \u5df2\u90e8\u7f72 \uff0c\u4e14\u6240\u6709\u7684\u7ec4\u4ef6\u72b6\u6001\u4e3a \u8fd0\u884c\u4e2d \u65f6\uff0c\u5219\u5b89\u88c5\u6210\u529f\u3002\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u53ef\u5728 \u53ef\u89c2\u6d4b\u6027 \u6a21\u5757\u67e5\u770b\u8be5\u96c6\u7fa4\u7684\u6570\u636e\u3002

                            Note

                            • \u70b9\u51fb\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u60a8\u53ef\u4ee5\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u6267\u884c\u66f4\u591a\u64cd\u4f5c\uff0c\u5982 \u66f4\u65b0 \u3001 \u67e5\u770b YAML \u548c \u5220\u9664 \u3002
                            "},{"location":"admin/insight/quickstart/install/knownissues.html","title":"\u5df2\u77e5\u95ee\u9898","text":"

                            \u672c\u9875\u5217\u51fa\u4e00\u4e9b Insight Agent \u5b89\u88c5\u548c\u5378\u8f7d\u6709\u5173\u7684\u95ee\u9898\u53ca\u5176\u89e3\u51b3\u529e\u6cd5\u3002

                            "},{"location":"admin/insight/quickstart/install/knownissues.html#v0230","title":"v0.23.0","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#insight-agent","title":"Insight Agent","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#insight-agent_1","title":"Insight Agent \u5378\u8f7d\u5931\u8d25","text":"

                            \u5f53\u4f60\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5378\u8f7d Insight Agent \u65f6\u3002

                            helm uninstall insight-agent -n insight-system\n

                            otel-oprator \u6240\u4f7f\u7528\u7684 tls secret \u672a\u88ab\u5378\u8f7d\u6389\u3002

                            otel-operator \u5b9a\u4e49\u7684\u201c\u91cd\u590d\u5229\u7528 tls secret\u201d\u7684\u903b\u8f91\u4e2d\uff0c\u4f1a\u53bb\u5224\u65ad otel-oprator \u7684 MutationConfiguration \u662f\u5426\u5b58\u5728\u5e76\u91cd\u590d\u5229\u7528 MutationConfiguration \u4e2d\u7ed1\u5b9a\u7684 CA cert\u3002\u4f46\u662f\u7531\u4e8e helm uninstall \u5df2\u5378\u8f7d MutationConfiguration\uff0c\u5bfc\u81f4\u51fa\u73b0\u7a7a\u503c\u3002

                            \u7efc\u4e0a\u8bf7\u624b\u52a8\u5220\u9664\u5bf9\u5e94\u7684 secret\uff0c\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\u4efb\u9009\u4e00\u79cd\u5373\u53ef\uff1a

                            • \u901a\u8fc7\u547d\u4ee4\u884c\u5220\u9664\uff1a\u767b\u5f55\u76ee\u6807\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                              kubectl -n insight-system delete secret insight-agent-opentelemetry-operator-controller-manager-service-cert\n
                            • \u901a\u8fc7 UI \u5220\u9664\uff1a\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5bb9\u5668\u7ba1\u7406\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u8fdb\u5165\u5bc6\u94a5\uff0c\u8f93\u5165 insight-agent-opentelemetry-operator-controller-manager-service-cert\uff0c\u9009\u62e9\u5220\u9664\u3002

                            "},{"location":"admin/insight/quickstart/install/knownissues.html#v0220","title":"v0.22.0","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#insight-agent_2","title":"Insight Agent","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#insight-agent_3","title":"\u5347\u7ea7 Insight Agent \u65f6\u66f4\u65b0\u65e5\u5fd7\u6536\u96c6\u7aef\uff0c\u672a\u751f\u6548","text":"

                            \u66f4\u65b0 insight-agent \u65e5\u5fd7\u914d\u7f6e\u4ece elasticsearch \u6539\u4e3a kafka \u6216\u8005\u4ece kafka \u6539\u4e3a elasticsearch\uff0c\u5b9e\u9645\u4e0a\u90fd\u672a\u751f\u6548\uff0c\u8fd8\u662f\u4f7f\u7528\u66f4\u65b0\u524d\u914d\u7f6e\u3002

                            \u89e3\u51b3\u65b9\u6848 \uff1a

                            \u624b\u52a8\u91cd\u542f\u96c6\u7fa4\u4e2d\u7684 fluentbit\u3002

                            "},{"location":"admin/insight/quickstart/install/knownissues.html#v0210","title":"v0.21.0","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#insight-agent_4","title":"Insight Agent","text":""},{"location":"admin/insight/quickstart/install/knownissues.html#podmonitor-jvm","title":"PodMonitor \u91c7\u96c6\u591a\u4efd JVM \u6307\u6807\u6570\u636e","text":"
                            1. \u8fd9\u4e2a\u7248\u672c\u7684 PodMonitor/insight-kubernetes-pod \u5b58\u5728\u7f3a\u9677\uff1a\u4f1a\u9519\u8bef\u5730\u521b\u5efa Job \u53bb\u91c7\u96c6\u6807\u8bb0\u4e86 insight.opentelemetry.io/metric-scrape=true \u7684 Pod \u7684\u6240\u6709 container\uff1b\u800c\u5b9e\u9645\u4e0a\u53ea\u9700\u91c7\u96c6 insight.opentelemetry.io/metric-port \u6240\u5bf9\u5e94 container \u7684\u7aef\u53e3\u3002

                            2. \u56e0\u4e3a PodMonitor \u58f0\u660e\u4e4b\u540e\uff0cPromethuesOperator \u4f1a\u9884\u8bbe\u7f6e\u4e00\u4e9b\u670d\u52a1\u53d1\u73b0\u914d\u7f6e\u3002 \u518d\u8003\u8651\u5230 CRD \u7684\u517c\u5bb9\u6027\u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u653e\u5f03\u901a\u8fc7 PodMonitor \u6765\u914d\u7f6e\u901a\u8fc7 annotation \u521b\u5efa\u91c7\u96c6\u4efb\u52a1\u7684\u673a\u5236\u3002

                            3. \u901a\u8fc7 Prometheus \u81ea\u5e26\u7684 additional scrape config \u673a\u5236\uff0c\u5c06\u670d\u52a1\u53d1\u73b0\u89c4\u5219\u914d\u7f6e\u5728 secret \u4e2d\uff0c\u5728\u5f15\u5165 Prometheus \u91cc\u3002

                            \u7efc\u4e0a\uff1a

                            1. \u5220\u9664\u8fd9\u4e2a PodMonitor \u7684\u5f53\u524d insight-kubernetes-pod
                            2. \u4f7f\u7528\u65b0\u7684\u89c4\u5219

                            \u65b0\u7684\u89c4\u5219\u91cc\u901a\u8fc7 action: keepequal \u6765\u6bd4\u8f83 source_labels \u548c target_label \u7684\u4e00\u81f4\u6027\uff0c \u6765\u5224\u65ad\u662f\u5426\u8981\u7ed9\u67d0\u4e2a container \u7684 port \u521b\u5efa\u91c7\u96c6\u4efb\u52a1\u3002\u9700\u8981\u6ce8\u610f\uff0c\u8fd9\u4e2a\u662f Prometheus 2.41.0\uff082022-12-20\uff09\u548c\u66f4\u9ad8\u7248\u672c\u624d\u5177\u5907\u7684\u529f\u80fd\u3002

                            +    - source_labels: [__meta_kubernetes_pod_annotation_insight_opentelemetry_io_metric_port]\n+      separator: ;\n+      target_label: __meta_kubernetes_pod_container_port_number\n+      action: keepequal\n
                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html","title":"\u5347\u7ea7\u6ce8\u610f\u4e8b\u9879","text":"

                            \u672c\u9875\u4ecb\u7ecd\u4e00\u4e9b\u5347\u7ea7 insight-server \u548c insight-agent \u7684\u6ce8\u610f\u4e8b\u9879\u3002

                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html#insight-agent","title":"insight-agent","text":""},{"location":"admin/insight/quickstart/install/upgrade-note.html#v028x-v029x","title":"\u4ece v0.28.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.29.x","text":"

                            \u7531\u4e8e v0.29.0 \u5347\u7ea7\u4e86 Opentelemetry \u793e\u533a\u7684 operator chart \u7248\u672c\uff0cvalues \u4e2d\u7684 featureGates \u7684\u652f\u6301\u7684\u503c\u6709\u6240\u53d8\u5316\uff0c\u56e0\u6b64\uff0c\u5728 upgrade \u4e4b\u524d\uff0c\u9700\u8981\u5c06 featureGates \u7684\u503c\u8bbe\u7f6e\u4e3a\u7a7a, \u5373\uff1a

                            -  --set opentelemetry-operator.manager.featureGates=\"+operator.autoinstrumentation.go,+operator.autoinstrumentation.multi-instrumentation,+operator.autoinstrumentation.nginx\" \\\n+  --set opentelemetry-operator.manager.featureGates=\"\"\n
                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html#insight-server","title":"insight-server","text":""},{"location":"admin/insight/quickstart/install/upgrade-note.html#v026x-v027x","title":"\u4ece v0.26.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.27.x \u6216\u66f4\u9ad8\u7248\u672c","text":"

                            \u5728 v0.27.x \u7248\u672c\u4e2d\u5c06 vector \u7ec4\u4ef6\u7684\u5f00\u5173\u5355\u72ec\u62bd\u51fa\u3002\u6545\u539f\u6709\u73af\u5883\u5f00\u542f\u4e86 vector\uff0c\u90a3\u5728\u5347\u7ea7 insight-server \u65f6\uff0c\u9700\u8981\u6307\u5b9a --set vector.enabled=true \u3002

                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v019x-020x","title":"\u4ece v0.19.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 0.20.x","text":"

                            \u5728\u5347\u7ea7 Insight \u4e4b\u524d\uff0c\u60a8\u9700\u8981\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u5220\u9664 jaeger-collector \u548c jaeger-query \u90e8\u7f72\uff1a

                            kubectl -n insight-system delete deployment insight-jaeger-collector\nkubectl -n insight-system delete deployment insight-jaeger-query\n
                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v017x-v018x","title":"\u4ece v0.17.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.18.x","text":"

                            \u7531\u4e8e 0.18.x \u4e2d\u66f4\u65b0\u4e86 Jaeger \u76f8\u5173\u90e8\u7f72\u6587\u4ef6\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-server \u524d\u624b\u52a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                            kubectl -n insight-system delete deployment insight-jaeger-collector\nkubectl -n insight-system delete deployment insight-jaeger-query\n

                            \u7531\u4e8e 0.18.x \u4e2d\u6307\u6807\u540d\u4ea7\u751f\u4e86\u53d8\u52a8\uff0c\u56e0\u6b64\uff0c\u9700\u8981\u5728\u5347\u7ea7 insight-server \u4e4b\u540e\uff0cinsight-agent \u4e5f\u5e94\u8be5\u505a\u5347\u7ea7\u3002

                            \u6b64\u5916\uff0c\u8c03\u6574\u4e86\u5f00\u542f\u94fe\u8def\u6a21\u5757\u7684\u53c2\u6570\uff0c\u4ee5\u53ca ElasticSearch \u8fde\u63a5\u8c03\u6574\u3002\u5177\u4f53\u53c2\u8003\u4ee5\u4e0b\u53c2\u6570\uff1a

                            +  --set global.tracing.enable=true \\\n-  --set jaeger.collector.enabled=true \\\n-  --set jaeger.query.enabled=true \\\n+  --set global.elasticsearch.scheme=${your-external-elasticsearch-scheme} \\\n+  --set global.elasticsearch.host=${your-external-elasticsearch-host} \\\n+  --set global.elasticsearch.port=${your-external-elasticsearch-port} \\\n+  --set global.elasticsearch.user=${your-external-elasticsearch-username} \\\n+  --set global.elasticsearch.password=${your-external-elasticsearch-password} \\\n-  --set jaeger.storage.elasticsearch.scheme=${your-external-elasticsearch-scheme} \\\n-  --set jaeger.storage.elasticsearch.host=${your-external-elasticsearch-host} \\\n-  --set jaeger.storage.elasticsearch.port=${your-external-elasticsearch-port} \\\n-  --set jaeger.storage.elasticsearch.user=${your-external-elasticsearch-username} \\\n-  --set jaeger.storage.elasticsearch.password=${your-external-elasticsearch-password} \\\n
                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v015x-v016x","title":"\u4ece v0.15.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.16.x","text":"

                            \u7531\u4e8e 0.16.x \u4e2d\u4f7f\u7528\u4e86 vmalertmanagers CRD \u7684\u65b0\u7279\u6027\u53c2\u6570 disableRouteContinueEnforce\uff0c \u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-server \u524d\u624b\u52a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u3002

                            kubectl apply --server-side -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.33.0/config/crd/bases/operator.victoriametrics.com_vmalertmanagers.yaml --force-conflicts\n

                            Note

                            \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b Insight \u79bb\u7ebf\u5305\u540e\uff0c\u8bf7\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0 CRD\u3002

                            kubectl apply --server-side -f insight/dependency-crds --force-conflicts \n
                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html#insight-agent_1","title":"insight-agent","text":""},{"location":"admin/insight/quickstart/install/upgrade-note.html#v023x-v024x","title":"\u4ece v0.23.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.24.x","text":"

                            \u7531\u4e8e 0.24.x \u7248\u672c\u4e2d OTEL operator chart \u4e2d\u65b0\u589e\u4e86 CRD\uff0c\u4f46\u7531\u4e8e Helm Upgrade \u65f6\u5e76\u4e0d\u4f1a\u66f4\u65b0 CRD\uff0c\u56e0\u6b64\uff0c\u9700\u8981\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                            kubectl apply -f https://raw.githubusercontent.com/open-telemetry/opentelemetry-helm-charts/main/charts/opentelemetry-operator/crds/crd-opentelemetry.io_opampbridges.yaml\n

                            \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\u53ef\u627e\u5230\u4e0a\u8ff0 CRD \u7684 yaml\uff0c\u89e3\u538b Insight-Agent Chart \u4e4b\u540e\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                            kubectl apply -f charts/agent/crds/crd-opentelemetry.io_opampbridges.yaml\n
                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v019x-v020x","title":"\u4ece v0.19.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.20.x","text":"

                            \u7531\u4e8e 0.20.x \u4e2d\u589e\u52a0\u4e86 Kafka \u65e5\u5fd7\u5bfc\u51fa\u914d\u7f6e\uff0c\u65e5\u5fd7\u5bfc\u51fa\u914d\u7f6e\u505a\u4e86\u4e00\u4e9b\u8c03\u6574\u3002\u5347\u7ea7 insight-agent \u4e4b\u524d\u9700\u8981\u6ce8\u610f\u53c2\u6570\u53d8\u5316\uff0c \u5373\u539f\u6765 logging \u7684\u914d\u7f6e\u5df2\u7ecf\u79fb\u5230\u4e86\u914d\u7f6e\u4e2d logging.elasticsearch\uff1a

                            -  --set global.exporters.logging.host \\\n-  --set global.exporters.logging.port \\\n+  --set global.exporters.logging.elasticsearch.host \\\n+  --set global.exporters.logging.elasticsearch.port \\\n
                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v017x-v018x_1","title":"\u4ece v0.17.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.18.x","text":"

                            \u7531\u4e8e 0.18.x \u4e2d\u66f4\u65b0\u4e86 Jaeger \u76f8\u5173\u90e8\u7f72\u6587\u4ef6\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u9700\u8981\u6ce8\u610f\u53c2\u6570\u7684\u6539\u52a8\u3002

                            +  --set global.exporters.trace.enable=true \\\n-  --set opentelemetry-collector.enabled=true \\\n-  --set opentelemetry-operator.enabled=true \\\n
                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v016x-v017x","title":"\u4ece v0.16.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.17.x","text":"

                            \u5728 v0.17.x \u7248\u672c\u4e2d\u5c06 kube-prometheus-stack chart \u7248\u672c\u4ece 41.9.1 \u5347\u7ea7\u81f3 45.28.1, \u5176\u4e2d\u4f7f\u7528\u7684 CRD \u4e5f\u5b58\u5728\u4e00\u4e9b\u5b57\u6bb5\u7684\u5347\u7ea7\uff0c\u5982 servicemonitor \u7684 attachMetadata \u5b57\u6bb5\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                            kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml --force-conflicts\n

                            \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\uff0c\u5728 insight-agent/dependency-crds \u4e2d\u627e\u5230\u4e0a\u8ff0 CRD \u7684 yaml\u3002

                            "},{"location":"admin/insight/quickstart/install/upgrade-note.html#v011x-v012x","title":"\u4ece v0.11.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.12.x","text":"

                            \u5728 v0.12.x \u5c06 kube-prometheus-stack chart \u4ece 39.6.0 \u5347\u7ea7\u5230 41.9.1\uff0c\u5176\u4e2d\u5305\u62ec prometheus-operator \u5347\u7ea7\u5230 v0.60.1, prometheus-node-exporter chart \u5347\u7ea7\u5230 4.3.0 \u7b49\u3002 prometheus-node-exporter \u5347\u7ea7\u540e\u4f7f\u7528\u4e86 Kubernetes \u63a8\u8350 label\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7\u524d\u5220\u9664 node-exporter \u7684 DaemonSet\u3002 prometheus-operator \u66f4\u65b0\u4e86 CRD\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                            kubectl delete daemonset insight-agent-prometheus-node-exporter -n insight-system\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml --force-conflicts\n

                            Note

                            \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0 CRD\u3002

                            kubectl apply --server-side -f insight-agent/dependency-crds --force-conflicts\n
                            "},{"location":"admin/insight/quickstart/otel/operator.html","title":"\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a","text":"

                            \u76ee\u524d\u53ea\u6709 Java\u3001NodeJs\u3001Python\u3001.Net\u3001Golang \u652f\u6301 Operator \u7684\u65b9\u5f0f\u65e0\u4fb5\u5165\u63a5\u5165\u3002

                            "},{"location":"admin/insight/quickstart/otel/operator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u8bf7\u786e\u4fdd insight-agent \u5df2\u7ecf\u5c31\u7eea\u3002\u5982\u82e5\u6ca1\u6709\uff0c\u8bf7\u53c2\u8003\u5b89\u88c5 insight-agent \u91c7\u96c6\u6570\u636e\u5e76\u786e\u4fdd\u4ee5\u4e0b\u4e09\u9879\u5c31\u7eea\uff1a

                            • \u4e3a insight-agent \u5f00\u542f trace \u529f\u80fd
                            • trace \u6570\u636e\u7684\u5730\u5740\u4ee5\u53ca\u7aef\u53e3\u662f\u5426\u586b\u5199\u6b63\u786e
                            • deployment/insight-agent-opentelemetry-operator \u548c deployment/insight-agent-opentelemetry-collector \u5bf9\u5e94\u7684 Pod \u5df2\u7ecf\u51c6\u5907\u5c31\u7eea
                            "},{"location":"admin/insight/quickstart/otel/operator.html#instrumentation-cr","title":"\u5b89\u88c5 Instrumentation CR","text":"

                            Tip

                            \u4ece Insight v0.22.0 \u5f00\u59cb\uff0c\u4e0d\u518d\u9700\u8981\u624b\u52a8\u5b89\u88c5 Instrumentation CR\u3002

                            \u5728 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u5b89\u88c5\uff0c\u4e0d\u540c\u7248\u672c\u4e4b\u95f4\u6709\u4e00\u4e9b\u7ec6\u5c0f\u7684\u5dee\u522b\u3002

                            Insight v0.21.xInsight v0.20.xInsight v0.18.xInsight v0.17.xInsight v0.16.x
                            K8S_CLUSTER_UID=$(kubectl get namespace kube-system -o jsonpath='{.metadata.uid}')\nkubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/openinsight-proj/autoinstrumentation-java:1.31.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n      - name: OTEL_K8S_CLUSTER_UID\n        value: $K8S_CLUSTER_UID\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
                            kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.29.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0-rc.2\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
                            kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.25.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.37.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.38b0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.1-alpha\nEOF\n
                            kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.23.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.34.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.33b0\nEOF\n
                            kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.23.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.34.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.33b0\nEOF\n
                            "},{"location":"admin/insight/quickstart/otel/operator.html#_2","title":"\u4e0e\u670d\u52a1\u7f51\u683c\u94fe\u8def\u4e32\u8054\u573a\u666f","text":"

                            \u5982\u679c\u60a8\u5f00\u542f\u4e86\u670d\u52a1\u7f51\u683c\u7684\u94fe\u8def\u8ffd\u8e2a\u80fd\u529b\uff0c\u9700\u8981\u989d\u5916\u589e\u52a0\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u6ce8\u5165\u7684\u914d\u7f6e\uff1a

                            "},{"location":"admin/insight/quickstart/otel/operator.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b","text":"
                            1. \u767b\u5f55 DCE5.0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u540e\u9009\u62e9\u8fdb\u5165\u76ee\u6807\u96c6\u7fa4\uff0c
                            2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u627e\u5230 instrumentations.opentelemetry.io \u540e\u8fdb\u5165\u8be6\u60c5\u9875\u3002
                            3. \u9009\u62e9 insight-system \u547d\u540d\u7a7a\u95f4\u540e\uff0c\u7f16\u8f91 insight-opentelemetry-autoinstrumentation \uff0c\u5728 spec:env: \u4e0b\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a

                                  - name: OTEL_SERVICE_NAME\n      valueFrom:\n        fieldRef:\n          fieldPath: metadata.labels['app'] \n

                              \u5b8c\u6574\u7684\u547d\u4ee4\u5982\u4e0b\uff08For Insight v0.21.x\uff09\uff1a

                              K8S_CLUSTER_UID=$(kubectl get namespace kube-system -o jsonpath='{.metadata.uid}')\nkubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n    - name: OTEL_SERVICE_NAME\n      valueFrom:\n        fieldRef:\n          fieldPath: metadata.labels['app'] \n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/openinsight-proj/autoinstrumentation-java:1.31.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n      - name: OTEL_K8S_CLUSTER_UID\n        value: $K8S_CLUSTER_UID\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
                            "},{"location":"admin/insight/quickstart/otel/operator.html#_4","title":"\u6dfb\u52a0\u6ce8\u89e3\uff0c\u81ea\u52a8\u63a5\u5165\u94fe\u8def","text":"

                            \u4ee5\u4e0a\u5c31\u7eea\u4e4b\u540e\uff0c\u60a8\u5c31\u53ef\u4ee5\u901a\u8fc7\u6ce8\u89e3\uff08Annotation\uff09\u65b9\u5f0f\u4e3a\u5e94\u7528\u7a0b\u5e8f\u63a5\u5165\u94fe\u8def\u8ffd\u8e2a\u4e86\uff0cOTel \u76ee\u524d\u652f\u6301\u901a\u8fc7\u6ce8\u89e3\u7684\u65b9\u5f0f\u63a5\u5165\u94fe\u8def\u3002 \u6839\u636e\u670d\u52a1\u8bed\u8a00\uff0c\u9700\u8981\u6dfb\u52a0\u4e0a\u4e0d\u540c\u7684 pod annotations\u3002\u6bcf\u4e2a\u670d\u52a1\u53ef\u6dfb\u52a0\u4e24\u7c7b\u6ce8\u89e3\u4e4b\u4e00\uff1a

                            • \u53ea\u6ce8\u5165\u73af\u5883\u53d8\u91cf\u6ce8\u89e3

                              \u8fd9\u7c7b\u6ce8\u89e3\u53ea\u6709\u4e00\u4e2a\uff0c\u7528\u4e8e\u6dfb\u52a0 otel \u76f8\u5173\u7684\u73af\u5883\u53d8\u91cf\uff0c\u6bd4\u5982\u94fe\u8def\u4e0a\u62a5\u5730\u5740\u3001\u5bb9\u5668\u6240\u5728\u7684\u96c6\u7fa4 id\u3001\u547d\u540d\u7a7a\u95f4\u7b49\uff08\u8fd9\u4e2a\u6ce8\u89e3\u5728\u5e94\u7528\u4e0d\u652f\u6301\u81ea\u52a8\u63a2\u9488\u8bed\u8a00\u65f6\u5341\u5206\u6709\u7528\uff09

                              instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                              \u5176\u4e2d value \u88ab / \u5206\u6210\u4e24\u90e8\u5206\uff0c\u7b2c\u4e00\u4e2a\u503c (insight-system) \u662f\u4e0a\u4e00\u6b65\u5b89\u88c5\u7684 CR \u7684\u547d\u540d\u7a7a\u95f4\uff0c \u7b2c\u4e8c\u4e2a\u503c (insight-opentelemetry-autoinstrumentation) \u662f\u8fd9\u4e2a CR \u7684\u540d\u5b57\u3002

                            • \u81ea\u52a8\u63a2\u9488\u6ce8\u5165\u4ee5\u53ca\u73af\u5883\u53d8\u91cf\u6ce8\u5165\u6ce8\u89e3

                              \u8fd9\u7c7b\u6ce8\u89e3\u76ee\u524d\u6709 4 \u4e2a\uff0c\u5206\u522b\u5bf9\u5e94 4 \u79cd\u4e0d\u540c\u7684\u7f16\u7a0b\u8bed\u8a00\uff1ajava\u3001nodejs\u3001python\u3001dotnet\uff0c \u4f7f\u7528\u5b83\u540e\u5c31\u4f1a\u5bf9 spec.pod \u4e0b\u7684\u7b2c\u4e00\u4e2a\u5bb9\u5668\u6ce8\u5165\u81ea\u52a8\u63a2\u9488\u4ee5\u53ca otel \u9ed8\u8ba4\u73af\u5883\u53d8\u91cf\uff1a

                              Java \u5e94\u7528NodeJs \u5e94\u7528Python \u5e94\u7528Dotnet \u5e94\u7528Golang \u5e94\u7528
                              instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                              instrumentation.opentelemetry.io/inject-nodejs: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                              instrumentation.opentelemetry.io/inject-python: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                              instrumentation.opentelemetry.io/inject-dotnet: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                              \u7531\u4e8e Go \u81ea\u52a8\u68c0\u6d4b\u9700\u8981\u8bbe\u7f6e OTEL_GO_AUTO_TARGET_EXE\uff0c \u56e0\u6b64\u60a8\u5fc5\u987b\u901a\u8fc7\u6ce8\u89e3\u6216 Instrumentation \u8d44\u6e90\u63d0\u4f9b\u6709\u6548\u7684\u53ef\u6267\u884c\u8def\u5f84\u3002\u672a\u8bbe\u7f6e\u6b64\u503c\u4f1a\u5bfc\u81f4 Go \u81ea\u52a8\u68c0\u6d4b\u6ce8\u5165\u4e2d\u6b62\uff0c\u4ece\u800c\u5bfc\u81f4\u63a5\u5165\u94fe\u8def\u5931\u8d25\u3002

                              instrumentation.opentelemetry.io/inject-go: \"insight-system/insight-opentelemetry-autoinstrumentation\"\ninstrumentation.opentelemetry.io/otel-go-auto-target-exe: \"/path/to/container/executable\"\n

                              Go \u81ea\u52a8\u68c0\u6d4b\u4e5f\u9700\u8981\u63d0\u5347\u6743\u9650\u3002\u4ee5\u4e0b\u6743\u9650\u662f\u81ea\u52a8\u8bbe\u7f6e\u7684\u5e76\u4e14\u662f\u5fc5\u9700\u7684\u3002

                              securityContext:\n  privileged: true\n  runAsUser: 0\n

                            Tip

                            OpenTelemetry Operator \u5728\u6ce8\u5165\u63a2\u9488\u65f6\u4f1a\u81ea\u52a8\u6dfb\u52a0\u4e00\u4e9b OTel \u76f8\u5173\u73af\u5883\u53d8\u91cf\uff0c\u540c\u65f6\u4e5f\u652f\u6301\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\u7684\u8986\u76d6\u3002\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\u7684\u8986\u76d6\u4f18\u5148\u7ea7\uff1a

                            original container env vars -> language specific env vars -> common env vars -> instrument spec configs' vars\n

                            \u4f46\u662f\u9700\u8981\u907f\u514d\u624b\u52a8\u8986\u76d6 OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\uff0c\u5b83\u5728 Operator \u5185\u90e8\u4f5c\u4e3a\u4e00\u4e2a Pod \u662f\u5426\u5df2\u7ecf\u6ce8\u5165\u63a2\u9488\u7684\u6807\u8bc6\uff0c\u5982\u679c\u624b\u52a8\u6dfb\u52a0\u4e86\uff0c\u63a2\u9488\u53ef\u80fd\u65e0\u6cd5\u6ce8\u5165\u3002

                            "},{"location":"admin/insight/quickstart/otel/operator.html#demo","title":"\u81ea\u52a8\u6ce8\u5165\u793a\u4f8b Demo","text":"

                            \u6ce8\u610f\u8fd9\u4e2a annotations \u662f\u52a0\u5728 spec.annotations \u4e0b\u7684\u3002

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-app\n  labels:\n    app: my-app\nspec:\n  selector:\n    matchLabels:\n      app: my-app\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app: my-app\n      annotations:\n        instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n    spec:\n      containers:\n      - name: myapp\n        image: jaegertracing/vertx-create-span:operator-e2e-tests\n        ports:\n          - containerPort: 8080\n            protocol: TCP\n

                            \u6700\u7ec8\u751f\u6210\u7684 YAML \u5185\u5bb9\u5982\u4e0b\uff1a

                            apiVersion: v1\nkind: Pod\nmetadata:\n  name: my-deployment-with-sidecar-565bd877dd-nqkk6\n  generateName: my-deployment-with-sidecar-565bd877dd-\n  namespace: default\n  uid: aa89ca0d-620c-4d20-8bc1-37d67bad4ea4\n  resourceVersion: '2668986'\n  creationTimestamp: '2022-04-08T05:58:48Z'\n  labels:\n    app: my-pod-with-sidecar\n    pod-template-hash: 565bd877dd\n  annotations:\n    cni.projectcalico.org/containerID: 234eae5e55ea53db2a4bc2c0384b9a1021ed3908f82a675e4a92a49a7e80dd61\n    cni.projectcalico.org/podIP: 192.168.134.133/32\n    cni.projectcalico.org/podIPs: 192.168.134.133/32\n    instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\nspec:\n  volumes:\n    - name: kube-api-access-sp2mz\n      projected:\n        sources:\n          - serviceAccountToken:\n              expirationSeconds: 3607\n              path: token\n          - configMap:\n              name: kube-root-ca.crt\n              items:\n                - key: ca.crt\n                  path: ca.crt\n          - downwardAPI:\n              items:\n                - path: namespace\n                  fieldRef:\n                    apiVersion: v1\n                    fieldPath: metadata.namespace\n        defaultMode: 420\n    - name: opentelemetry-auto-instrumentation\n      emptyDir: {}\n  initContainers:\n    - name: opentelemetry-auto-instrumentation\n      image: >-\n        ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java\n      command:\n        - cp\n        - /javaagent.jar\n        - /otel-auto-instrumentation/javaagent.jar\n      resources: {}\n      volumeMounts:\n        - name: opentelemetry-auto-instrumentation\n          mountPath: /otel-auto-instrumentation\n        - name: kube-api-access-sp2mz\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  containers:\n    - name: myapp\n      image: ghcr.io/pavolloffay/spring-petclinic:latest\n      env:\n        - name: OTEL_JAVAAGENT_DEBUG\n          value: 'true'\n        - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n          value: 'true'\n        - name: SPLUNK_PROFILER_ENABLED\n          value: 'false'\n        - name: JAVA_TOOL_OPTIONS\n          value: ' -javaagent:/otel-auto-instrumentation/javaagent.jar'\n        - name: OTEL_TRACES_EXPORTER\n          value: otlp\n        - name: OTEL_EXPORTER_OTLP_ENDPOINT\n          value: http://insight-agent-opentelemetry-collector.svc.cluster.local:4317\n        - name: OTEL_EXPORTER_OTLP_TIMEOUT\n          value: '20'\n        - name: OTEL_TRACES_SAMPLER\n          value: parentbased_traceidratio\n        - name: OTEL_TRACES_SAMPLER_ARG\n          value: '0.85'\n        - name: SPLUNK_TRACE_RESPONSE_HEADER_ENABLED\n          value: 'true'\n        - name: OTEL_SERVICE_NAME\n          value: my-deployment-with-sidecar\n        - name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: metadata.name\n        - name: OTEL_RESOURCE_ATTRIBUTES_POD_UID\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: metadata.uid\n        - name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: spec.nodeName\n        - name: OTEL_RESOURCE_ATTRIBUTES\n          value: >-\n            k8s.container.name=myapp,k8s.deployment.name=my-deployment-with-sidecar,k8s.deployment.uid=8de6929d-dda0-436c-bca1-604e9ca7ea4e,k8s.namespace.name=default,k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME),k8s.pod.uid=$(OTEL_RESOURCE_ATTRIBUTES_POD_UID),k8s.replicaset.name=my-deployment-with-sidecar-565bd877dd,k8s.replicaset.uid=190d5f6e-ba7f-4794-b2e6-390b5879a6c4\n        - name: OTEL_PROPAGATORS\n          value: jaeger,b3\n      resources: {}\n      volumeMounts:\n        - name: kube-api-access-sp2mz\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n        - name: opentelemetry-auto-instrumentation\n          mountPath: /otel-auto-instrumentation\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  restartPolicy: Always\n  terminationGracePeriodSeconds: 30\n  dnsPolicy: ClusterFirst\n  serviceAccountName: default\n  serviceAccount: default\n  nodeName: k8s-master3\n  securityContext:\n    runAsUser: 1000\n    runAsGroup: 3000\n    fsGroup: 2000\n  schedulerName: default-scheduler\n  tolerations:\n    - key: node.kubernetes.io/not-ready\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n    - key: node.kubernetes.io/unreachable\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n  priority: 0\n  enableServiceLinks: true\n  preemptionPolicy: PreemptLowerPriority\n
                            "},{"location":"admin/insight/quickstart/otel/operator.html#_5","title":"\u94fe\u8def\u67e5\u8be2","text":"

                            \u5982\u4f55\u67e5\u8be2\u5df2\u7ecf\u63a5\u5165\u7684\u670d\u52a1\uff0c\u53c2\u8003\u94fe\u8def\u67e5\u8be2\u3002

                            "},{"location":"admin/insight/quickstart/otel/otel.html","title":"\u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027","text":"

                            \u589e\u5f3a\u662f\u4f7f\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u80fd\u591f\u751f\u6210\u9065\u6d4b\u6570\u636e\u7684\u8fc7\u7a0b\u3002\u5373\u4e00\u4e9b\u53ef\u4ee5\u5e2e\u52a9\u60a8\u76d1\u89c6\u6216\u6d4b\u91cf\u5e94\u7528\u7a0b\u5e8f\u7684\u6027\u80fd\u548c\u72b6\u6001\u7684\u4e1c\u897f\u3002

                            OpenTelemetry \u662f\u9886\u5148\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u4e3a\u4e3b\u8981\u7f16\u7a0b\u8bed\u8a00\u548c\u6d41\u884c\u6846\u67b6\u63d0\u4f9b\u68c0\u6d4b\u5e93\u3002\u5b83\u662f\u4e91\u539f\u751f\u8ba1\u7b97\u57fa\u91d1\u4f1a\u4e0b\u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5f97\u5230\u4e86\u793e\u533a\u5e9e\u5927\u8d44\u6e90\u7684\u652f\u6301\u3002 \u5b83\u4e3a\u91c7\u96c6\u7684\u6570\u636e\u63d0\u4f9b\u6807\u51c6\u5316\u7684\u6570\u636e\u683c\u5f0f\uff0c\u65e0\u9700\u96c6\u6210\u7279\u5b9a\u7684\u4f9b\u5e94\u5546\u3002

                            Insight \u652f\u6301\u7528\u4e8e\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u7684 OpenTelemetry \u6765\u589e\u5f3a\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u3002

                            \u672c\u6307\u5357\u4ecb\u7ecd\u4e86\u4f7f\u7528 OpenTelemetry \u8fdb\u884c\u9065\u6d4b\u589e\u5f3a\u7684\u57fa\u672c\u6982\u5ff5\u3002 OpenTelemetry \u8fd8\u6709\u4e00\u4e2a\u7531\u5e93\u3001\u63d2\u4ef6\u3001\u96c6\u6210\u548c\u5176\u4ed6\u6709\u7528\u5de5\u5177\u7ec4\u6210\u7684\u751f\u6001\u7cfb\u7edf\u6765\u6269\u5c55\u5b83\u3002 \u60a8\u53ef\u4ee5\u5728 Otel Registry \u4e2d\u627e\u5230\u8fd9\u4e9b\u8d44\u6e90\u3002

                            \u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u5f00\u653e\u6807\u51c6\u5e93\u8fdb\u884c\u9065\u6d4b\u589e\u5f3a\uff0c\u5e76\u4f7f\u7528 Insight \u4f5c\u4e3a\u53ef\u89c2\u5bdf\u6027\u540e\u7aef\u6765\u6444\u53d6\u3001\u5206\u6790\u548c\u53ef\u89c6\u5316\u6570\u636e\u3002

                            \u4e3a\u4e86\u589e\u5f3a\u60a8\u7684\u4ee3\u7801\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 OpenTelemetry \u4e3a\u7279\u5b9a\u8bed\u8a00\u63d0\u4f9b\u7684\u589e\u5f3a\u64cd\u4f5c\uff1a

                            Insight \u76ee\u524d\u63d0\u4f9b\u4e86\u4f7f\u7528 OpenTelemetry \u589e\u5f3a .Net NodeJS\u3001Java\u3001Python \u548c Golang \u5e94\u7528\u7a0b\u5e8f\u7684\u7b80\u5355\u65b9\u6cd5\u3002\u8bf7\u9075\u5faa\u4ee5\u4e0b\u6307\u5357\u3002

                            "},{"location":"admin/insight/quickstart/otel/otel.html#_1","title":"\u94fe\u8def\u589e\u5f3a","text":"
                            • \u94fe\u8def\u63a5\u5165\u7684\u6700\u4f73\u5b9e\u8df5\uff1a\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a
                            • \u4ee5 Go \u8bed\u8a00\u4e3a\u4f8b\u7684\u624b\u52a8\u57cb\u70b9\u63a5\u5165\uff1a\u4f7f\u7528 OpenTelemetry SDK \u589e\u5f3a Go \u5e94\u7528\u7a0b\u5e8f
                            • \u5229\u7528 ebpf \u5b9e\u73b0 Go \u8bed\u8a00\u65e0\u4fb5\u5165\u63a2\u9488\uff08\u5b9e\u9a8c\u6027\u529f\u80fd\uff09
                            "},{"location":"admin/insight/quickstart/otel/send_tracing_to_insight.html","title":"\u5411 Insight \u53d1\u9001\u94fe\u8def\u6570\u636e","text":"

                            \u6b64\u6587\u6863\u4e3b\u8981\u63cf\u8ff0\u5ba2\u6237\u5e94\u7528\u5982\u4f55\u81ea\u884c\u5c06\u94fe\u8def\u6570\u636e\u4e0a\u62a5\u7ed9 Insight\u3002\u4e3b\u8981\u5305\u542b\u5982\u4e0b\u4e24\u79cd\u573a\u666f\uff1a

                            1. \u5ba2\u6237\u5e94\u7528\u901a\u8fc7 OTEL Agent/SDK \u4e0a\u62a5\u94fe\u8def\u7ed9 Insight
                            2. \u901a\u8fc7 Opentelemtry Collector(\u7b80\u79f0 OTEL COL) \u5c06\u94fe\u8def\u8f6c\u53d1\u7ed9 Insight

                            \u5728\u6bcf\u4e2a\u5df2\u5b89\u88c5 Insight Agent \u7684\u96c6\u7fa4\u4e2d\u90fd\u6709 insight-agent-otel-col \u7ec4\u4ef6\u7528\u4e8e\u7edf\u4e00\u63a5\u6536\u8be5\u96c6\u7fa4\u7684\u94fe\u8def\u6570\u636e\u3002 \u56e0\u6b64\uff0c\u8be5\u7ec4\u4ef6\u4f5c\u4e3a\u7528\u6237\u63a5\u5165\u4fa7\u7684\u5165\u53e3\uff0c\u9700\u8981\u5148\u83b7\u53d6\u8be5\u5730\u5740\u3002\u53ef\u4ee5\u901a\u8fc7 AI \u7b97\u529b\u4e2d\u5fc3 \u754c\u9762\u83b7\u53d6\u8be5\u96c6\u7fa4 Opentelemtry Collector \u7684\u5730\u5740\uff0c \u6bd4\u5982 insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 \uff1a

                            \u9664\u6b64\u4e4b\u5916\uff0c\u9488\u5bf9\u4e0d\u540c\u4e0a\u62a5\u65b9\u5f0f\uff0c\u6709\u4e00\u4e9b\u7ec6\u5fae\u5dee\u522b\uff1a

                            "},{"location":"admin/insight/quickstart/otel/send_tracing_to_insight.html#otel-agentsdk-insight-agent-opentelemtry-collector","title":"\u5ba2\u6237\u5e94\u7528\u901a\u8fc7 OTel Agent/SDK \u4e0a\u62a5\u94fe\u8def\u7ed9 Insight Agent Opentelemtry Collector","text":"

                            \u4e3a\u4e86\u80fd\u591f\u5c06\u94fe\u8def\u6570\u636e\u6b63\u5e38\u4e0a\u62a5\u81f3 Insight \u5e76\u80fd\u591f\u5728 Insight \u6b63\u5e38\u5c55\u793a\uff0c\u9700\u8981\u5e76\u5efa\u8bae\u901a\u8fc7\u5982\u4e0b\u73af\u5883\u53d8\u91cf\u63d0\u4f9b OTLP \u6240\u9700\u7684\u5143\u6570\u636e (Resource Attribute)\uff0c\u6709\u4e24\u79cd\u65b9\u5f0f\u53ef\u5b9e\u73b0\uff1a

                            • \u5728\u90e8\u7f72\u6587\u4ef6 YAML \u4e2d\u624b\u52a8\u6dfb\u52a0\uff0c\u4f8b\u5982\uff1a

                              ...\n- name: OTEL_EXPORTER_OTLP_ENDPOINT\n  value: \"http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\"\n- name: \"OTEL_SERVICE_NAME\"\n  value: my-java-app-name\n- name: \"OTEL_K8S_NAMESPACE\"\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: metadata.namespace\n- name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: spec.nodeName\n- name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: metadata.name\n- name: OTEL_RESOURCE_ATTRIBUTES\n  value: \"k8s.namespace.name=$(OTEL_K8S_NAMESPACE),k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME)\"\n
                            • \u5229\u7528 Insight Agent \u81ea\u52a8\u6ce8\u5165\u5982\u4e0a\u5143\u6570\u636e (Resource Attribute) \u80fd\u529b

                              \u786e\u4fdd Insight Agent \u6b63\u5e38\u5de5\u4f5c\u5e76 \u5b89\u88c5 Instrumentation CR \u4e4b\u540e\uff0c \u53ea\u9700\u8981\u4e3a Pod \u6dfb\u52a0\u5982\u4e0b Annotation \u5373\u53ef\uff1a

                              instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                              \u4e3e\u4f8b\uff1a

                              apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-deployment-with-aotu-instrumentation\nspec:\n  selector:\n    matchLabels:\n      app.kubernetes.io/name: my-deployment-with-aotu-instrumentation-kuberntes\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app.kubernetes.io/name: my-deployment-with-aotu-instrumentation-kuberntes\n      annotations:\n        sidecar.opentelemetry.io/inject: \"false\"\n        instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                            "},{"location":"admin/insight/quickstart/otel/send_tracing_to_insight.html#opentelemtry-collector-insight-agent-opentelemtry-collector","title":"\u901a\u8fc7 Opentelemtry Collector \u5c06\u94fe\u8def\u8f6c\u53d1\u7ed9 Insight Agent Opentelemtry Collector","text":"

                            \u5728\u4fdd\u8bc1\u5e94\u7528\u6dfb\u52a0\u4e86\u5982\u4e0a\u5143\u6570\u636e\u4e4b\u540e\uff0c\u53ea\u9700\u5728\u5ba2\u6237 Opentelemtry Collector \u91cc\u9762\u65b0\u589e\u4e00\u4e2a OTLP Exporter \u5c06\u94fe\u8def\u6570\u636e\u8f6c\u53d1\u7ed9 Insight Agent Opentelemtry Collector \u5373\u53ef\uff0c\u5982\u4e0b Opentelemtry Collector \u914d\u7f6e\u6587\u4ef6\u6240\u793a\uff1a

                            ...\nexporters:\n  otlp/insight:\n    endpoint: insight-opentelemetry-collector.insight-system.svc.cluster.local:4317\nservice:\n...\npipelines:\n...\ntraces:\n  exporters:\n    - otlp/insight\n
                            "},{"location":"admin/insight/quickstart/otel/send_tracing_to_insight.html#_1","title":"\u53c2\u8003","text":"
                            • \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a
                            • \u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html","title":"\u4f7f\u7528 OTel SDK \u589e\u5f3a Go \u5e94\u7528\u7a0b\u5e8f","text":"

                            Golang \u65e0\u4fb5\u5165\u5f0f\u63a5\u5165\u94fe\u8def\u8bf7\u53c2\u8003 \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u6587\u6863\uff0c\u901a\u8fc7\u6ce8\u89e3\u5b9e\u73b0\u81ea\u52a8\u63a5\u5165\u94fe\u8def\u3002

                            OpenTelemetry \u4e5f\u7b80\u79f0\u4e3a OTel\uff0c\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u53ef\u89c2\u6d4b\u6027\u6846\u67b6\uff0c\u53ef\u4ee5\u5e2e\u52a9\u5728 Go \u5e94\u7528\u7a0b\u5e8f\u4e2d\u751f\u6210\u548c\u6536\u96c6\u9065\u6d4b\u6570\u636e\uff1a\u94fe\u8def\u3001\u6307\u6807\u548c\u65e5\u5fd7\u3002

                            \u672c\u6587\u4e3b\u8981\u8bb2\u89e3\u5982\u4f55\u5728 Go \u5e94\u7528\u7a0b\u5e8f\u4e2d\u901a\u8fc7 OpenTelemetry Go SDK \u589e\u5f3a\u5e76\u63a5\u5165\u94fe\u8def\u76d1\u63a7\u3002

                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#otel-sdk-go_1","title":"\u4f7f\u7528 OTel SDK \u589e\u5f3a Go \u5e94\u7528","text":""},{"location":"admin/insight/quickstart/otel/golang/golang.html#_1","title":"\u5b89\u88c5\u76f8\u5173\u4f9d\u8d56","text":"

                            \u5fc5\u987b\u5148\u5b89\u88c5\u4e0e OpenTelemetry exporter \u548c SDK \u76f8\u5173\u7684\u4f9d\u8d56\u9879\u3002\u5982\u679c\u60a8\u6b63\u5728\u4f7f\u7528\u5176\u4ed6\u8bf7\u6c42\u8def\u7531\u5668\uff0c\u8bf7\u53c2\u8003\u8bf7\u6c42\u8def\u7531\u3002 \u5207\u6362/\u8fdb\u5165\u5230\u5e94\u7528\u7a0b\u5e8f\u6e90\u6587\u4ef6\u5939\u540e\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                            go get go.opentelemetry.io/otel@v1.19.0 \\\n  go.opentelemetry.io/otel/trace@v1.19.0 \\\n  go.opentelemetry.io/otel/sdk@v1.19.0 \\\n  go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin@v0.46.1 \\\n  go.opentelemetry.io/otel/exporters/otlp/otlptrace@v1.19.0 \\\n  go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.19.0\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#otel-sdk","title":"\u4f7f\u7528 OTel SDK \u521b\u5efa\u521d\u59cb\u5316\u51fd\u6570","text":"

                            \u4e3a\u4e86\u8ba9\u5e94\u7528\u7a0b\u5e8f\u80fd\u591f\u53d1\u9001\u6570\u636e\uff0c\u9700\u8981\u4e00\u4e2a\u51fd\u6570\u6765\u521d\u59cb\u5316 OpenTelemetry\u3002\u5728 main.go \u6587\u4ef6\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u4ee3\u7801\u7247\u6bb5:

                            import (\n    \"context\"\n    \"os\"\n    \"time\"\n\n    \"go.opentelemetry.io/otel\"\n    \"go.opentelemetry.io/otel/exporters/otlp/otlptrace\"\n    \"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc\"\n    \"go.opentelemetry.io/otel/propagation\"\n    \"go.opentelemetry.io/otel/sdk/resource\"\n    sdktrace \"go.opentelemetry.io/otel/sdk/trace\"\n    semconv \"go.opentelemetry.io/otel/semconv/v1.7.0\"\n    \"go.uber.org/zap\"\n    \"google.golang.org/grpc\"\n)\n\nvar tracerExp *otlptrace.Exporter\n\nfunc retryInitTracer() func() {\n    var shutdown func()\n    go func() {\n        for {\n            // otel will reconnected and re-send spans when otel col recover. so, we don't need to re-init tracer exporter.\n            if tracerExp == nil {\n                shutdown = initTracer()\n            } else {\n                break\n            }\n            time.Sleep(time.Minute * 5)\n        }\n    }()\n    return shutdown\n}\n\nfunc initTracer() func() {\n    // temporarily set timeout to 10s\n    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)\n    defer cancel()\n\n    serviceName, ok := os.LookupEnv(\"OTEL_SERVICE_NAME\")\n    if !ok {\n        serviceName = \"server_name\"\n        os.Setenv(\"OTEL_SERVICE_NAME\", serviceName)\n    }\n    otelAgentAddr, ok := os.LookupEnv(\"OTEL_EXPORTER_OTLP_ENDPOINT\")\n    if !ok {\n        otelAgentAddr = \"http://localhost:4317\"\n        os.Setenv(\"OTEL_EXPORTER_OTLP_ENDPOINT\", otelAgentAddr)\n    }\n    zap.S().Infof(\"OTLP Trace connect to: %s with service name: %s\", otelAgentAddr, serviceName)\n\n    traceExporter, err := otlptracegrpc.New(ctx, otlptracegrpc.WithInsecure(), otlptracegrpc.WithDialOption(grpc.WithBlock()))\n    if err != nil {\n        handleErr(err, \"OTLP Trace gRPC Creation\")\n        return nil\n    }\n\n    tracerProvider := sdktrace.NewTracerProvider(\n        sdktrace.WithBatcher(traceExporter),\n        sdktrace.WithSampler(sdktrace.AlwaysSample()),\n    sdktrace.WithResource(resource.NewWithAttributes(semconv.SchemaURL)))\n\n    otel.SetTracerProvider(tracerProvider)\n    otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{}))\n\n    tracerExp = traceExporter\n    return func() {\n        // Shutdown will flush any remaining spans and shut down the exporter.\n        handleErr(tracerProvider.Shutdown(ctx), \"failed to shutdown TracerProvider\")\n    }\n}\n\nfunc handleErr(err error, message string) {\n    if err != nil {\n        zap.S().Errorf(\"%s: %v\", message, err)\n    }\n}\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#maingo","title":"\u5728 main.go \u4e2d\u521d\u59cb\u5316\u8ddf\u8e2a\u5668","text":"

                            \u4fee\u6539 main \u51fd\u6570\u4ee5\u5728 main.go \u4e2d\u521d\u59cb\u5316\u8ddf\u8e2a\u5668\u3002\u53e6\u5916\u5f53\u60a8\u7684\u670d\u52a1\u5173\u95ed\u65f6\uff0c\u5e94\u8be5\u8c03\u7528 TracerProvider.Shutdown() \u786e\u4fdd\u5bfc\u51fa\u6240\u6709 Span\u3002\u8be5\u670d\u52a1\u5c06\u8be5\u8c03\u7528\u4f5c\u4e3a\u4e3b\u51fd\u6570\u4e2d\u7684\u5ef6\u8fdf\u51fd\u6570\uff1a

                            func main() {\n    // start otel tracing\n    if shutdown := retryInitTracer(); shutdown != nil {\n            defer shutdown()\n        }\n    ......\n}\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#otel-gin","title":"\u4e3a\u5e94\u7528\u6dfb\u52a0 OTel Gin \u4e2d\u95f4\u4ef6","text":"

                            \u901a\u8fc7\u5728 main.go \u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u884c\u6765\u914d\u7f6e Gin \u4ee5\u4f7f\u7528\u4e2d\u95f4\u4ef6:

                            import (\n    ....\n  \"go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin\"\n)\n\nfunc main() {\n    ......\n    r := gin.Default()\n    r.Use(otelgin.Middleware(\"my-app\"))\n    ......\n}\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_2","title":"\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f","text":"
                            • \u672c\u5730\u8c03\u8bd5\u8fd0\u884c

                              \u6ce8\u610f: \u6b64\u6b65\u9aa4\u4ec5\u7528\u4e8e\u672c\u5730\u5f00\u53d1\u8c03\u8bd5\uff0c\u751f\u4ea7\u73af\u5883\u4e2d Operator \u4f1a\u81ea\u52a8\u5b8c\u6210\u4ee5\u4e0b\u73af\u5883\u53d8\u91cf\u7684\u6ce8\u5165\u3002

                              \u4ee5\u4e0a\u6b65\u9aa4\u5df2\u7ecf\u5b8c\u6210\u4e86\u521d\u59cb\u5316 SDK \u7684\u5de5\u4f5c\uff0c\u73b0\u5728\u5982\u679c\u9700\u8981\u5728\u672c\u5730\u5f00\u53d1\u8fdb\u884c\u8c03\u8bd5\uff0c\u9700\u8981\u63d0\u524d\u83b7\u53d6\u5230 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b insight-agent-opentelemerty-collector \u7684\u5730\u5740\uff0c\u5047\u8bbe\u4e3a\uff1a insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 \u3002

                              \u56e0\u6b64\uff0c\u53ef\u4ee5\u5728\u4f60\u672c\u5730\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\u7684\u65f6\u5019\u6dfb\u52a0\u5982\u4e0b\u73af\u5883\u53d8\u91cf\uff1a

                              OTEL_SERVICE_NAME=my-golang-app OTEL_EXPORTER_OTLP_ENDPOINT=http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 go run main.go...\n
                            • \u751f\u4ea7\u73af\u5883\u8fd0\u884c

                              \u8bf7\u53c2\u8003\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u4e2d \u53ea\u6ce8\u5165\u73af\u5883\u53d8\u91cf\u6ce8\u89e3 \u76f8\u5173\u4ecb\u7ecd\uff0c\u4e3a deployment yaml \u6dfb\u52a0\u6ce8\u89e3\uff1a

                              instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                              \u5982\u679c\u65e0\u6cd5\u4f7f\u7528\u6ce8\u89e3\u7684\u65b9\u5f0f\uff0c\u60a8\u53ef\u4ee5\u624b\u52a8\u5728 deployment yaml \u6dfb\u52a0\u5982\u4e0b\u73af\u5883\u53d8\u91cf\uff1a

                            \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\nenv:\n  - name: OTEL_EXPORTER_OTLP_ENDPOINT\n    value: 'http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317'\n  - name: OTEL_SERVICE_NAME\n    value: \"your depolyment name\" # (1)!\n  - name: OTEL_K8S_NAMESPACE\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: metadata.namespace\n  - name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: spec.nodeName\n  - name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: metadata.name\n  - name: OTEL_RESOURCE_ATTRIBUTES\n    value: 'k8s.namespace.name=$(OTEL_K8S_NAMESPACE),k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME)'\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n
                            1. \u4fee\u6539\u6b64\u503c
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_3","title":"\u8bf7\u6c42\u8def\u7531","text":""},{"location":"admin/insight/quickstart/otel/golang/golang.html#opentelemetry-gingonic","title":"OpenTelemetry gin/gonic \u589e\u5f3a","text":"
                            # Add one line to your import() stanza depending upon your request router:\nmiddleware \"go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin\"\n

                            \u7136\u540e\u6ce8\u5165 OpenTelemetry \u4e2d\u95f4\u4ef6\uff1a

                            router.Use(middleware.Middleware(\"my-app\"))\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#opentelemetry-gorillamux","title":"OpenTelemetry gorillamux \u589e\u5f3a","text":"
                            # Add one line to your import() stanza depending upon your request router:\nmiddleware \"go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux\"\n

                            \u7136\u540e\u6ce8\u5165 OpenTelemetry \u4e2d\u95f4\u4ef6\uff1a

                            router.Use(middleware.Middleware(\"my-app\"))\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#grpc","title":"gRPC \u589e\u5f3a","text":"

                            \u540c\u6837\uff0cOpenTelemetry \u4e5f\u53ef\u4ee5\u5e2e\u52a9\u60a8\u81ea\u52a8\u68c0\u6d4b gRPC \u8bf7\u6c42\u3002\u8981\u68c0\u6d4b\u60a8\u62e5\u6709\u7684\u4efb\u4f55 gRPC \u670d\u52a1\u5668\uff0c\u8bf7\u5c06\u62e6\u622a\u5668\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u7684\u5b9e\u4f8b\u5316\u4e2d\u3002

                            import (\n  grpcotel \"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc\"\n)\nfunc main() {\n  [...]\n\n    s := grpc.NewServer(\n        grpc.UnaryInterceptor(grpcotel.UnaryServerInterceptor()),\n        grpc.StreamInterceptor(grpcotel.StreamServerInterceptor()),\n    )\n}\n

                            \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5982\u679c\u4f60\u7684\u7a0b\u5e8f\u91cc\u9762\u4f7f\u7528\u5230\u4e86 Grpc Client \u8c03\u7528\u7b2c\u4e09\u65b9\u670d\u52a1\uff0c\u4f60\u8fd8\u9700\u8981\u5bf9 Grpc Client \u6dfb\u52a0\u62e6\u622a\u5668\uff1a

                                [...]\n\n    conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(insecure.NewCredentials()),\n        grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor()),\n        grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor()),\n    )\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_4","title":"\u5982\u679c\u4e0d\u4f7f\u7528\u8bf7\u6c42\u8def\u7531","text":"
                            import (\n  \"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp\"\n)\n

                            \u5728\u5c06 http.Handler \u4f20\u9012\u7ed9 ServeMux \u7684\u6bcf\u4e2a\u5730\u65b9\uff0c\u60a8\u90fd\u5c06\u5305\u88c5\u5904\u7406\u7a0b\u5e8f\u51fd\u6570\u3002\u4f8b\u5982\uff0c\u5c06\u8fdb\u884c\u4ee5\u4e0b\u66ff\u6362\uff1a

                            - mux.Handle(\"/path\", h)\n+ mux.Handle(\"/path\", otelhttp.NewHandler(h, \"description of path\"))\n---\n- mux.Handle(\"/path\", http.HandlerFunc(f))\n+ mux.Handle(\"/path\", otelhttp.NewHandler(http.HandlerFunc(f), \"description of path\"))\n

                            \u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\uff0c\u60a8\u53ef\u4ee5\u786e\u4fdd\u4f7f\u7528 othttp \u5305\u88c5\u7684\u6bcf\u4e2a\u51fd\u6570\u90fd\u4f1a\u81ea\u52a8\u6536\u96c6\u5176\u5143\u6570\u636e\u5e76\u542f\u52a8\u76f8\u5e94\u7684\u8ddf\u8e2a\u3002

                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_5","title":"\u6570\u636e\u5e93\u8bbf\u95ee\u589e\u5f3a","text":""},{"location":"admin/insight/quickstart/otel/golang/golang.html#golang-gorm","title":"Golang Gorm","text":"

                            OpenTelemetry \u793e\u533a\u4e5f\u5f00\u53d1\u4e86\u6570\u636e\u5e93\u8bbf\u95ee\u5e93\u7684\u4e2d\u95f4\u4ef6\uff0c\u6bd4\u5982 Gorm:

                            import (\n    \"github.com/uptrace/opentelemetry-go-extra/otelgorm\"\n    \"gorm.io/driver/sqlite\"\n    \"gorm.io/gorm\"\n)\n\ndb, err := gorm.Open(sqlite.Open(\"file::memory:?cache=shared\"), &gorm.Config{})\nif err != nil {\n    panic(err)\n}\n\notelPlugin := otelgorm.NewPlugin(otelgorm.WithDBName(\"mydb\"), # \u7f3a\u5931\u4f1a\u5bfc\u81f4\u6570\u636e\u5e93\u76f8\u5173\u62d3\u6251\u5c55\u793a\u4e0d\u5b8c\u6574\n    otelgorm.WithAttributes(semconv.ServerAddress(\"memory\"))) # \u7f3a\u5931\u4f1a\u5bfc\u81f4\u6570\u636e\u5e93\u76f8\u5173\u62d3\u6251\u5c55\u793a\u4e0d\u5b8c\u6574\nif err := db.Use(otelPlugin); err != nil {\n    panic(err)\n}\n

                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#span","title":"\u81ea\u5b9a\u4e49 Span","text":"

                            \u5f88\u591a\u65f6\u5019\uff0cOpenTelemetry \u63d0\u4f9b\u7684\u4e2d\u95f4\u4ef6\u4e0d\u80fd\u5e2e\u52a9\u6211\u4eec\u8bb0\u5f55\u66f4\u591a\u5185\u90e8\u8c03\u7528\u7684\u51fd\u6570\uff0c\u9700\u8981\u6211\u4eec\u81ea\u5b9a\u4e49 Span \u6765\u8bb0\u5f55

                             \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n    _, span := otel.Tracer(\"GetServiceDetail\").Start(ctx,\n        \"spanMetricDao.GetServiceDetail\",\n        trace.WithSpanKind(trace.SpanKindInternal))\n    defer span.End()\n  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#span_1","title":"\u5411 span \u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\u548c\u4e8b\u4ef6","text":"

                            \u4e5f\u53ef\u4ee5\u5c06\u81ea\u5b9a\u4e49\u5c5e\u6027\u6216\u6807\u7b7e\u8bbe\u7f6e\u4e3a Span\u3002\u8981\u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\u548c\u4e8b\u4ef6\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_6","title":"\u5bfc\u5165\u8ddf\u8e2a\u548c\u5c5e\u6027\u5e93","text":"
                            import (\n    ...\n    \"go.opentelemetry.io/otel/attribute\"\n    \"go.opentelemetry.io/otel/trace\"\n)\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#span_2","title":"\u4ece\u4e0a\u4e0b\u6587\u4e2d\u83b7\u53d6\u5f53\u524d Span","text":"
                            span := trace.SpanFromContext(c.Request.Context())\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#span_3","title":"\u5728\u5f53\u524d Span \u4e2d\u8bbe\u7f6e\u5c5e\u6027","text":"
                            span.SetAttributes(attribute.String(\"controller\", \"books\"))\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#span-event","title":"\u4e3a\u5f53\u524d Span \u6dfb\u52a0 Event","text":"

                            \u6dfb\u52a0 span \u4e8b\u4ef6\u662f\u4f7f\u7528 span \u5bf9\u8c61\u4e0a\u7684 AddEvent \u5b8c\u6210\u7684\u3002

                            span.AddEvent(msg)\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_7","title":"\u8bb0\u5f55\u9519\u8bef\u548c\u5f02\u5e38","text":"
                            import \"go.opentelemetry.io/otel/codes\"\n\n// \u83b7\u53d6\u5f53\u524d span\nspan := trace.SpanFromContext(ctx)\n\n// RecordError \u4f1a\u81ea\u52a8\u5c06\u4e00\u4e2a\u9519\u8bef\u8f6c\u6362\u6210 span even\nspan.RecordError(err)\n\n// \u6807\u8bb0\u8fd9\u4e2a span \u9519\u8bef\nspan.SetStatus(codes.Error, \"internal error\")\n
                            "},{"location":"admin/insight/quickstart/otel/golang/golang.html#_8","title":"\u53c2\u8003","text":"

                            \u6709\u5173 Demo \u6f14\u793a\u8bf7\u53c2\u8003\uff1a - opentelemetry-demo/productcatalogservice - opentelemetry-collector-contrib/demo

                            "},{"location":"admin/insight/quickstart/otel/golang/meter.html","title":"\u4f7f\u7528 OTel SDK \u4e3a\u5e94\u7528\u7a0b\u5e8f\u66b4\u9732\u6307\u6807","text":"

                            \u672c\u6587\u4ec5\u4f9b\u5e0c\u671b\u8bc4\u4f30\u6216\u63a2\u7d22\u6b63\u5728\u5f00\u53d1\u7684 OTLP \u6307\u6807\u7684\u7528\u6237\u53c2\u8003\u3002

                            OpenTelemetry \u9879\u76ee\u8981\u6c42\u4ee5\u5fc5\u987b\u5728 OpenTelemetry \u534f\u8bae (OTLP) \u4e2d\u53d1\u51fa\u6570\u636e\u7684\u8bed\u8a00\u63d0\u4f9b API \u548c SDK\u3002

                            "},{"location":"admin/insight/quickstart/otel/golang/meter.html#golang","title":"\u9488\u5bf9 Golang \u5e94\u7528\u7a0b\u5e8f","text":"

                            Golang \u53ef\u4ee5\u901a\u8fc7 sdk \u66b4\u9732 runtime \u6307\u6807\uff0c\u5177\u4f53\u6765\u8bf4\uff0c\u5728\u5e94\u7528\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u65b9\u6cd5\u5f00\u542f metrics \u66b4\u9732\u5668\uff1a

                            "},{"location":"admin/insight/quickstart/otel/golang/meter.html#_1","title":"\u5b89\u88c5\u76f8\u5173\u4f9d\u8d56","text":"

                            \u5207\u6362/\u8fdb\u5165\u5230\u5e94\u7528\u7a0b\u5e8f\u6e90\u6587\u4ef6\u5939\u540e\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                            go get go.opentelemetry.io/otel \\\n  go.opentelemetry.io/otel/attribute \\\n  go.opentelemetry.io/otel/exporters/prometheus \\\n  go.opentelemetry.io/otel/metric/global \\\n  go.opentelemetry.io/otel/metric/instrument \\\n  go.opentelemetry.io/otel/sdk/metric\n
                            "},{"location":"admin/insight/quickstart/otel/golang/meter.html#otel-sdk_1","title":"\u4f7f\u7528 OTel SDK \u521b\u5efa\u521d\u59cb\u5316\u51fd\u6570","text":"
                            import (\n    .....\n\n    \"go.opentelemetry.io/otel/attribute\"\n    otelPrometheus \"go.opentelemetry.io/otel/exporters/prometheus\"\n    \"go.opentelemetry.io/otel/metric/global\"\n    \"go.opentelemetry.io/otel/metric/instrument\"\n    \"go.opentelemetry.io/otel/sdk/metric/aggregator/histogram\"\n    controller \"go.opentelemetry.io/otel/sdk/metric/controller/basic\"\n    \"go.opentelemetry.io/otel/sdk/metric/export/aggregation\"\n    processor \"go.opentelemetry.io/otel/sdk/metric/processor/basic\"\n    selector \"go.opentelemetry.io/otel/sdk/metric/selector/simple\"\n)\nfunc (s *insightServer) initMeter() *otelPrometheus.Exporter {\n    s.meter = global.Meter(\"xxx\")\n\n    config := otelPrometheus.Config{\n        DefaultHistogramBoundaries: []float64{1, 2, 5, 10, 20, 50},\n        Gatherer:                   prometheus.DefaultGatherer,\n        Registry:                   prometheus.NewRegistry(),\n        Registerer:                 prometheus.DefaultRegisterer,\n    }\n\n    c := controller.New(\n        processor.NewFactory(\n            selector.NewWithHistogramDistribution(\n                histogram.WithExplicitBoundaries(config.DefaultHistogramBoundaries),\n            ),\n            aggregation.CumulativeTemporalitySelector(),\n            processor.WithMemory(true),\n        ),\n    )\n\n    exporter, err := otelPrometheus.New(config, c)\n    if err != nil {\n        zap.S().Panicf(\"failed to initialize prometheus exporter %v\", err)\n    }\n\n    global.SetMeterProvider(exporter.MeterProvider())\n\n    http.HandleFunc(\"/metrics\", exporter.ServeHTTP)\n\n    go func() {\n        _ = http.ListenAndServe(fmt.Sprintf(\":%d\", 8888), nil)\n    }()\n\n    zap.S().Info(\"Prometheus server running on \", fmt.Sprintf(\":%d\", port))\n    return exporter\n}\n

                            \u4ee5\u4e0a\u65b9\u6cd5\u4f1a\u4e3a\u60a8\u7684\u5e94\u7528\u66b4\u9732\u4e00\u4e2a\u6307\u6807\u63a5\u53e3: http://localhost:8888/metrics

                            \u968f\u540e\uff0c\u5728 main.go \u4e2d\u5bf9\u5176\u8fdb\u884c\u521d\u59cb\u5316\uff1a

                            func main() {\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n    tp := initMeter()\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n}\n

                            \u6b64\u5916\uff0c\u5982\u679c\u60f3\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6307\u6807\uff0c\u53ef\u4ee5\u53c2\u8003\uff1a

                            // exposeClusterMetric expose metric like \"insight_logging_count{} 1\"\nfunc (s *insightServer) exposeLoggingMetric(lserver *log.LogService) {\n    s.meter = global.Meter(\"insight.io/basic\")\n\n    var lock sync.Mutex\n    logCounter, err := s.meter.AsyncFloat64().Counter(\"insight_log_total\")\n    if err != nil {\n        zap.S().Panicf(\"failed to initialize instrument: %v\", err)\n    }\n\n    _ = s.meter.RegisterCallback([]instrument.Asynchronous{logCounter}, func(ctx context.Context) {\n        lock.Lock()\n        defer lock.Unlock()\n        count, err := lserver.Count(ctx)\n        if err == nil || count != -1 {\n            logCounter.Observe(ctx, float64(count))\n        }\n    })\n}\n

                            \u968f\u540e\uff0c\u5728 main.go \u8c03\u7528\u8be5\u65b9\u6cd5\uff1a

                            \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\ns.exposeLoggingMetric(lservice)\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n

                            \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

                            "},{"location":"admin/insight/quickstart/otel/golang/meter.html#java","title":"\u9488\u5bf9 Java \u5e94\u7528\u7a0b\u5e8f","text":"

                            Java \u5728\u4f7f\u7528 otel agent \u5728\u5b8c\u6210\u94fe\u8def\u7684\u81ea\u52a8\u63a5\u5165\u7684\u57fa\u7840\u4e0a\uff0c\u901a\u8fc7\u6dfb\u52a0\u73af\u5883\u53d8\u91cf\uff1a

                            OTEL_METRICS_EXPORTER=prometheus\n

                            \u5c31\u53ef\u4ee5\u76f4\u63a5\u66b4\u9732 JVM \u76f8\u5173\u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

                            \u968f\u540e\uff0c\u518d\u914d\u5408 prometheus serviceMonitor \u5373\u53ef\u5b8c\u6210\u6307\u6807\u7684\u63a5\u5165\u3002 \u5982\u679c\u60f3\u66b4\u9732\u81ea\u5b9a\u4e49\u6307\u6807\u8bf7\u53c2\u9605 opentelemetry-java-docs/prometheus\u3002

                            \u4e3b\u8981\u5206\u4ee5\u4e0b\u4e24\u6b65\uff1a

                            • \u521b\u5efa meter provider\uff0c\u5e76\u6307\u5b9a prometheus \u4f5c\u4e3a exporter\u3002

                              /*\n* Copyright The OpenTelemetry Authors\n* SPDX-License-Identifier: Apache-2.0\n*/\n\npackage io.opentelemetry.example.prometheus;\n\nimport io.opentelemetry.api.metrics.MeterProvider;\nimport io.opentelemetry.exporter.prometheus.PrometheusHttpServer;\nimport io.opentelemetry.sdk.metrics.SdkMeterProvider;\nimport io.opentelemetry.sdk.metrics.export.MetricReader;\n\npublic final class ExampleConfiguration {\n\n  /**\n  * Initializes the Meter SDK and configures the prometheus collector with all default settings.\n  *\n  * @param prometheusPort the port to open up for scraping.\n  * @return A MeterProvider for use in instrumentation.\n  */\n  static MeterProvider initializeOpenTelemetry(int prometheusPort) {\n    MetricReader prometheusReader = PrometheusHttpServer.builder().setPort(prometheusPort).build();\n\n    return SdkMeterProvider.builder().registerMetricReader(prometheusReader).build();\n  }\n}\n
                            • \u81ea\u5b9a\u4e49 meter \u5e76\u5f00\u542f http server

                              package io.opentelemetry.example.prometheus;\n\nimport io.opentelemetry.api.common.Attributes;\nimport io.opentelemetry.api.metrics.Meter;\nimport io.opentelemetry.api.metrics.MeterProvider;\nimport java.util.concurrent.ThreadLocalRandom;\n\n/**\n* Example of using the PrometheusHttpServer to convert OTel metrics to Prometheus format and expose\n* these to a Prometheus instance via a HttpServer exporter.\n*\n* <p>A Gauge is used to periodically measure how many incoming messages are awaiting processing.\n* The Gauge callback gets executed every collection interval.\n*/\npublic final class PrometheusExample {\n  private long incomingMessageCount;\n\n  public PrometheusExample(MeterProvider meterProvider) {\n    Meter meter = meterProvider.get(\"PrometheusExample\");\n    meter\n        .gaugeBuilder(\"incoming.messages\")\n        .setDescription(\"No of incoming messages awaiting processing\")\n        .setUnit(\"message\")\n        .buildWithCallback(result -> result.record(incomingMessageCount, Attributes.empty()));\n  }\n\n  void simulate() {\n    for (int i = 500; i > 0; i--) {\n      try {\n        System.out.println(\n            i + \" Iterations to go, current incomingMessageCount is:  \" + incomingMessageCount);\n        incomingMessageCount = ThreadLocalRandom.current().nextLong(100);\n        Thread.sleep(1000);\n      } catch (InterruptedException e) {\n        // ignored here\n      }\n    }\n  }\n\n  public static void main(String[] args) {\n    int prometheusPort = 8888;\n\n    // it is important to initialize the OpenTelemetry SDK as early as possible in your process.\n    MeterProvider meterProvider = ExampleConfiguration.initializeOpenTelemetry(prometheusPort);\n\n    PrometheusExample prometheusExample = new PrometheusExample(meterProvider);\n\n    prometheusExample.simulate();\n\n    System.out.println(\"Exiting\");\n  }\n}\n

                            \u968f\u540e\uff0c\u5f85 java \u5e94\u7528\u7a0b\u5e8f\u8fd0\u884c\u4e4b\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

                            "},{"location":"admin/insight/quickstart/otel/golang/meter.html#insight","title":"Insight \u91c7\u96c6\u6307\u6807","text":"

                            \u6700\u540e\u91cd\u8981\u7684\u662f\uff0c\u60a8\u5df2\u7ecf\u5728\u5e94\u7528\u7a0b\u5e8f\u4e2d\u66b4\u9732\u51fa\u4e86\u6307\u6807\uff0c\u73b0\u5728\u9700\u8981 Insight \u6765\u91c7\u96c6\u6307\u6807\u3002

                            \u63a8\u8350\u7684\u6307\u6807\u66b4\u9732\u65b9\u5f0f\u662f\u901a\u8fc7 servicemonitor \u6216\u8005 podmonitor\u3002

                            "},{"location":"admin/insight/quickstart/otel/golang/meter.html#servicemonitorpodmonitor","title":"\u521b\u5efa servicemonitor/podmonitor","text":"

                            \u6dfb\u52a0\u7684 servicemonitor/podmonitor \u9700\u8981\u6253\u4e0a label\uff1a\"operator.insight.io/managed-by\": \"insight\" \u624d\u4f1a\u88ab Operator \u8bc6\u522b\uff1a

                            apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: example-app\n  labels:\n    operator.insight.io/managed-by: insight\nspec:\n  selector:\n    matchLabels:\n      app: example-app\n  endpoints:\n  - port: web\n  namespaceSelector:\n    any: true\n
                            "},{"location":"admin/insight/quickstart/otel/java/index.html","title":"\u5f00\u59cb\u76d1\u63a7 Java \u5e94\u7528","text":"
                            1. Java \u5e94\u7528\u94fe\u8def\u63a5\u5165\u4e0e\u76d1\u63a7\u8bf7\u53c2\u8003 \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u6587\u6863\uff0c\u901a\u8fc7\u6ce8\u89e3\u5b9e\u73b0\u81ea\u52a8\u63a5\u5165\u94fe\u8def\u3002

                            2. Java \u5e94\u7528\u7684 JVM \u8fdb\u884c\u76d1\u63a7\uff1a\u5df2\u7ecf\u66b4\u9732 JVM \u6307\u6807\u548c\u4ecd\u672a\u66b4\u9732 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5982\u4f55\u4e0e\u53ef\u89c2\u6d4b\u6027 Insight \u5bf9\u63a5\u3002

                            3. \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u672a\u5f00\u59cb\u66b4\u9732 JVM \u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u6587\u6863\uff1a

                              • \u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807
                              • \u4f7f\u7528 OpenTelemetry Java Agent \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807
                            4. \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u5df2\u7ecf\u66b4\u9732 JVM \u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u6587\u6863\uff1a

                              • \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027
                            5. \u5c06 TraceId \u548c SpanId \u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7, \u5b9e\u73b0\u94fe\u8def\u6570\u636e\u4e0e\u65e5\u5fd7\u6570\u636e\u5173\u8054

                            "},{"location":"admin/insight/quickstart/otel/java/mdc.html","title":"\u5c06 TraceId \u548c SpanId \u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 OpenTelemetry \u5c06 TraceId \u548c SpanId \u81ea\u52a8\u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7\u3002 TraceId \u4e0e SpanId \u5199\u5165\u65e5\u5fd7\u540e\uff0c\u60a8\u53ef\u4ee5\u5c06\u5206\u5e03\u5f0f\u94fe\u8def\u6570\u636e\u4e0e\u65e5\u5fd7\u6570\u636e\u5173\u8054\u8d77\u6765\uff0c\u5b9e\u73b0\u66f4\u9ad8\u6548\u7684\u6545\u969c\u8bca\u65ad\u548c\u6027\u80fd\u5206\u6790\u3002

                            "},{"location":"admin/insight/quickstart/otel/java/mdc.html#_1","title":"\u652f\u6301\u7684\u65e5\u5fd7\u5e93","text":"

                            \u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 Logger MDC auto-instrumentation\u3002

                            \u65e5\u5fd7\u6846\u67b6 \u652f\u6301\u81ea\u52a8\u57cb\u70b9\u7684\u7248\u672c \u624b\u52a8\u57cb\u70b9\u9700\u8981\u5f15\u5165\u7684\u4f9d\u8d56 Log4j 1 1.2+ \u65e0 Log4j 2 2.7+ opentelemetry-log4j-context-data-2.17-autoconfigure Logback 1.0+ opentelemetry-logback-mdc-1.0"},{"location":"admin/insight/quickstart/otel/java/mdc.html#logbackspringboot","title":"\u4f7f\u7528 Logback\uff08SpringBoot \u9879\u76ee\uff09","text":"

                            Spring Boot \u9879\u76ee\u5185\u7f6e\u4e86\u65e5\u5fd7\u6846\u67b6\uff0c\u5e76\u4e14\u9ed8\u8ba4\u4f7f\u7528 Logback \u4f5c\u4e3a\u5176\u65e5\u5fd7\u5b9e\u73b0\u3002\u5982\u679c\u60a8\u7684 Java \u9879\u76ee\u4e3a SpringBoot \u9879\u76ee\uff0c\u53ea\u9700\u5c11\u91cf\u914d\u7f6e\u5373\u53ef\u5c06 TraceId \u5199\u5165\u65e5\u5fd7\u3002

                            \u5728 application.properties \u4e2d\u8bbe\u7f6e logging.pattern.level\uff0c\u6dfb\u52a0 %mdc{trace_id} \u4e0e %mdc{span_id} \u5230\u65e5\u5fd7\u4e2d\u3002

                            logging.pattern.level=trace_id=%mdc{trace_id} span_id=%mdc{span_id} %5p ....\u7701\u7565...\n

                            \u4ee5\u4e0b\u4e3a\u65e5\u5fd7\u793a\u4f8b\uff1a

                            2024-06-26 10:56:31.200 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'\n2024-06-26 10:56:31.201 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'\n2024-06-26 10:56:31.209 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 8 ms\n2024-06-26 10:56:31.296 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=5743699405074f4e  INFO 53724 --- [nio-8081-exec-1] com.example.httpserver.ot.OTServer       : hello world\n
                            "},{"location":"admin/insight/quickstart/otel/java/mdc.html#log4j2","title":"\u4f7f\u7528 Log4j2","text":"
                            1. \u5728 pom.xml \u4e2d\u6dfb\u52a0 OpenTelemetry Log4j2 \u4f9d\u8d56:

                              Tip

                              \u8bf7\u5c06 OPENTELEMETRY_VERSION \u66ff\u6362\u4e3a\u6700\u65b0\u7248\u672c

                              <dependencies>\n  <dependency>\n    <groupId>io.opentelemetry.instrumentation</groupId>\n    <artifactId>opentelemetry-log4j-context-data-2.17-autoconfigure</artifactId>\n    <version>OPENTELEMETRY_VERSION</version>\n    <scope>runtime</scope>\n  </dependency>\n</dependencies>\n
                            2. \u4fee\u6539 log4j2.xml \u914d\u7f6e\uff0c\u5728 pattern \u4e2d\u6dfb\u52a0 %X{trace_id} \u4e0e %X{span_id}\uff0c\u53ef\u4ee5\u5c06 TraceId \u4e0e SpanId \u81ea\u52a8\u5199\u5165\u65e5\u5fd7:

                              <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Configuration>\n  <Appenders>\n    <Console name=\"Console\" target=\"SYSTEM_OUT\">\n      <PatternLayout\n          pattern=\"%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} trace_id=%X{trace_id} span_id=%X{span_id} trace_flags=%X{trace_flags} - %msg%n\"/>\n    </Console>\n  </Appenders>\n  <Loggers>\n    <Root>\n      <AppenderRef ref=\"Console\" level=\"All\"/>\n    </Root>\n  </Loggers>\n</Configuration>\n
                            3. \u4f7f\u7528 Logback \u5728 pom.xml \u4e2d\u6dfb\u52a0 OpenTelemetry Logback \u4f9d\u8d56\u3002

                              Tip

                              \u8bf7\u5c06 OPENTELEMETRY_VERSION \u66ff\u6362\u4e3a\u6700\u65b0\u7248\u672c

                              <dependencies>\n  <dependency>\n    <groupId>io.opentelemetry.instrumentation</groupId>\n    <artifactId>opentelemetry-logback-mdc-1.0</artifactId>\n    <version>OPENTELEMETRY_VERSION</version>\n  </dependency>\n</dependencies>\n
                            4. \u4fee\u6539 log4j2.xml \u914d\u7f6e\uff0c\u5728 pattern \u4e2d\u6dfb\u52a0 %X{trace_id} \u4e0e %X{span_id}\uff0c\u53ef\u4ee5\u5c06 TraceId \u4e0e SpanId \u81ea\u52a8\u5199\u5165\u65e5\u5fd7:

                              <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configuration>\n  <appender name=\"CONSOLE\" class=\"ch.qos.logback.core.ConsoleAppender\">\n    <encoder>\n      <pattern>%d{HH:mm:ss.SSS} trace_id=%X{trace_id} span_id=%X{span_id} trace_flags=%X{trace_flags} %msg%n</pattern>\n    </encoder>\n  </appender>\n\n  <!-- Just wrap your logging appender, for example ConsoleAppender, with OpenTelemetryAppender -->\n  <appender name=\"OTEL\" class=\"io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppender\">\n    <appender-ref ref=\"CONSOLE\"/>\n  </appender>\n\n  <!-- Use the wrapped \"OTEL\" appender instead of the original \"CONSOLE\" one -->\n  <root level=\"INFO\">\n    <appender-ref ref=\"OTEL\"/>\n  </root>\n\n</configuration>\n
                            "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html","title":"\u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807","text":"

                            JMX-Exporter \u63d0\u4f9b\u4e86\u4e24\u79cd\u7528\u6cd5:

                            1. \u542f\u52a8\u72ec\u7acb\u8fdb\u7a0b\u3002JVM \u542f\u52a8\u65f6\u6307\u5b9a\u53c2\u6570\uff0c\u66b4\u9732 JMX \u7684 RMI \u63a5\u53e3\uff0cJMX Exporter \u8c03\u7528 RMI \u83b7\u53d6 JVM \u8fd0\u884c\u65f6\u72b6\u6001\u6570\u636e\uff0c \u8f6c\u6362\u4e3a Prometheus metrics \u683c\u5f0f\uff0c\u5e76\u66b4\u9732\u7aef\u53e3\u8ba9 Prometheus \u91c7\u96c6\u3002
                            2. JVM \u8fdb\u7a0b\u5185\u542f\u52a8(in-process)\u3002JVM \u542f\u52a8\u65f6\u6307\u5b9a\u53c2\u6570\uff0c\u901a\u8fc7 javaagent \u7684\u5f62\u5f0f\u8fd0\u884c JMX-Exporter \u7684 jar \u5305\uff0c \u8fdb\u7a0b\u5185\u8bfb\u53d6 JVM \u8fd0\u884c\u65f6\u72b6\u6001\u6570\u636e\uff0c\u8f6c\u6362\u4e3a Prometheus metrics \u683c\u5f0f\uff0c\u5e76\u66b4\u9732\u7aef\u53e3\u8ba9 Prometheus \u91c7\u96c6\u3002

                            Note

                            \u5b98\u65b9\u4e0d\u63a8\u8350\u4f7f\u7528\u7b2c\u4e00\u79cd\u65b9\u5f0f\uff0c\u4e00\u65b9\u9762\u914d\u7f6e\u590d\u6742\uff0c\u53e6\u4e00\u65b9\u9762\u56e0\u4e3a\u5b83\u9700\u8981\u4e00\u4e2a\u5355\u72ec\u7684\u8fdb\u7a0b\uff0c\u800c\u8fd9\u4e2a\u8fdb\u7a0b\u672c\u8eab\u7684\u76d1\u63a7\u53c8\u6210\u4e86\u65b0\u7684\u95ee\u9898\uff0c \u6240\u4ee5\u672c\u6587\u91cd\u70b9\u56f4\u7ed5\u7b2c\u4e8c\u79cd\u7528\u6cd5\u8bb2\u5982\u4f55\u5728 Kubernetes \u73af\u5883\u4e0b\u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807\u3002

                            \u8fd9\u91cc\u4f7f\u7528\u7b2c\u4e8c\u79cd\u7528\u6cd5\uff0c\u542f\u52a8 JVM \u65f6\u9700\u8981\u6307\u5b9a JMX Exporter \u7684 jar \u5305\u6587\u4ef6\u548c\u914d\u7f6e\u6587\u4ef6\u3002 jar \u5305\u662f\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u4e0d\u597d\u901a\u8fc7 configmap \u6302\u8f7d\uff0c\u914d\u7f6e\u6587\u4ef6\u6211\u4eec\u51e0\u4e4e\u4e0d\u9700\u8981\u4fee\u6539\uff0c \u6240\u4ee5\u5efa\u8bae\u662f\u76f4\u63a5\u5c06 JMX Exporter \u7684 jar \u5305\u548c\u914d\u7f6e\u6587\u4ef6\u90fd\u6253\u5305\u5230\u4e1a\u52a1\u5bb9\u5668\u955c\u50cf\u4e2d\u3002

                            \u5176\u4e2d\uff0c\u7b2c\u4e8c\u79cd\u65b9\u5f0f\u6211\u4eec\u53ef\u4ee5\u9009\u62e9\u5c06 JMX Exporter \u7684 jar \u6587\u4ef6\u653e\u5728\u4e1a\u52a1\u5e94\u7528\u955c\u50cf\u4e2d\uff0c \u4e5f\u53ef\u4ee5\u9009\u62e9\u5728\u90e8\u7f72\u7684\u65f6\u5019\u6302\u8f7d\u8fdb\u53bb\u3002\u8fd9\u91cc\u5206\u522b\u5bf9\u4e24\u79cd\u65b9\u5f0f\u505a\u4e00\u4e2a\u4ecb\u7ecd\uff1a

                            "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html#jmx-exporter-jar","title":"\u65b9\u5f0f\u4e00\uff1a\u5c06 JMX Exporter JAR \u6587\u4ef6\u6784\u5efa\u81f3\u4e1a\u52a1\u955c\u50cf\u4e2d","text":"

                            prometheus-jmx-config.yaml \u5185\u5bb9\u5982\u4e0b\uff1a

                            prometheus-jmx-config.yaml
                            ...\nssl: false\nlowercaseOutputName: false\nlowercaseOutputLabelNames: false\nrules:\n- pattern: \".*\"\n

                            Note

                            \u66f4\u591a\u914d\u7f6e\u9879\u8bf7\u53c2\u8003\u5e95\u90e8\u4ecb\u7ecd\u6216Prometheus \u5b98\u65b9\u6587\u6863\u3002

                            \u7136\u540e\u51c6\u5907 jar \u5305\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728 jmx_exporter \u7684 Github \u9875\u9762\u627e\u5230\u6700\u65b0\u7684 jar \u5305\u4e0b\u8f7d\u5730\u5740\u5e76\u53c2\u8003\u5982\u4e0b Dockerfile:

                            FROM openjdk:11.0.15-jre\nWORKDIR /app/\nCOPY target/my-app.jar ./\nCOPY prometheus-jmx-config.yaml ./\nRUN set -ex; \\\n    curl -L -O https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.17.2/jmx_prometheus_javaagent-0.17.2.jar;\nENV JAVA_TOOL_OPTIONS=-javaagent:/app/jmx_prometheus_javaagent-0.17.2.jar=8088:/app/prometheus-jmx-config.yaml\nEXPOSE 8081 8999 8080 8888\nENTRYPOINT java $JAVA_OPTS -jar my-app.jar\n

                            \u6ce8\u610f\uff1a

                            • \u542f\u52a8\u53c2\u6570\u683c\u5f0f\uff1a-javaagent:=:
                            • \u8fd9\u91cc\u4f7f\u7528\u4e86 8088 \u7aef\u53e3\u66b4\u9732 JVM \u7684\u76d1\u63a7\u6307\u6807\uff0c\u5982\u679c\u548c Java \u5e94\u7528\u51b2\u7a81\uff0c\u53ef\u81ea\u884c\u66f4\u6539
                            "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html#init-container","title":"\u65b9\u5f0f\u4e8c\uff1a\u901a\u8fc7 init container \u5bb9\u5668\u6302\u8f7d","text":"

                            \u6211\u4eec\u9700\u8981\u5148\u5c06 JMX exporter \u505a\u6210 Docker \u955c\u50cf, \u4ee5\u4e0b Dockerfile \u4ec5\u4f9b\u53c2\u8003\uff1a

                            FROM alpine/curl:3.14\nWORKDIR /app/\n# \u5c06\u524d\u9762\u521b\u5efa\u7684 config \u6587\u4ef6\u62f7\u8d1d\u81f3\u955c\u50cf\nCOPY prometheus-jmx-config.yaml ./\n# \u5728\u7ebf\u4e0b\u8f7d jmx prometheus javaagent jar\nRUN set -ex; \\\n    curl -L -O https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.17.2/jmx_prometheus_javaagent-0.17.2.jar;\n

                            \u6839\u636e\u4e0a\u9762 Dockerfile \u6784\u5efa\u955c\u50cf\uff1a docker build -t my-jmx-exporter .

                            \u5728 Java \u5e94\u7528\u90e8\u7f72 Yaml \u4e2d\u52a0\u5165\u5982\u4e0b init container\uff1a

                            \u70b9\u51fb\u5c55\u5f00 YAML \u6587\u4ef6
                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-demo-app\n  labels:\n    app: my-demo-app\nspec:\n  selector:\n    matchLabels:\n      app: my-demo-app\n  template:\n    metadata:\n      labels:\n        app: my-demo-app\n    spec:\n      imagePullSecrets:\n      - name: registry-pull\n      initContainers:\n      - name: jmx-sidecar\n        image: my-jmx-exporter\n        command: [\"cp\", \"-r\", \"/app/jmx_prometheus_javaagent-0.17.2.jar\", \"/target/jmx_prometheus_javaagent-0.17.2.jar\"]  \u278a\n        volumeMounts:\n        - name: sidecar\n          mountPath: /target\n      containers:\n      - image: my-demo-app-image\n        name: my-demo-app\n        resources:\n          requests:\n            memory: \"1000Mi\"\n            cpu: \"500m\"\n          limits:\n            memory: \"1000Mi\"\n            cpu: \"500m\"\n        ports:\n        - containerPort: 18083\n        env:\n        - name: JAVA_TOOL_OPTIONS\n          value: \"-javaagent:/app/jmx_prometheus_javaagent-0.17.2.jar=8088:/app/prometheus-jmx-config.yaml\" \u278b\n        volumeMounts:\n        - name: host-time\n          mountPath: /etc/localtime\n          readOnly: true\n        - name: sidecar\n          mountPath: /sidecar\n      volumes:\n      - name: host-time\n        hostPath:\n          path: /etc/localtime\n      - name: sidecar  #\u5171\u4eab agent \u6587\u4ef6\u5939\n        emptyDir: {}\n      restartPolicy: Always\n

                            \u7ecf\u8fc7\u5982\u4e0a\u7684\u6539\u9020\u4e4b\u540e\uff0c\u793a\u4f8b\u5e94\u7528 my-demo-app \u5177\u5907\u4e86\u66b4\u9732 JVM \u6307\u6807\u7684\u80fd\u529b\u3002 \u8fd0\u884c\u670d\u52a1\u4e4b\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 http://lcoalhost:8088 \u8bbf\u95ee\u670d\u52a1\u66b4\u9732\u51fa\u6765\u7684 prometheus \u683c\u5f0f\u7684\u6307\u6807\u3002

                            \u63a5\u7740\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003 \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027\u3002

                            "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/legacy-jvm.html","title":"\u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027","text":"

                            \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u901a\u8fc7\u5176\u4ed6\u65b9\u5f0f\uff08\u6bd4\u5982 Spring Boot Actuator\uff09\u66b4\u9732\u4e86 JVM \u7684\u76d1\u63a7\u6307\u6807\uff0c \u6211\u4eec\u9700\u8981\u8ba9\u76d1\u63a7\u6570\u636e\u88ab\u91c7\u96c6\u5230\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u6dfb\u52a0\u6ce8\u89e3\uff08Kubernetes Annotations\uff09\u7684\u65b9\u5f0f\u8ba9 Insight \u6765\u91c7\u96c6\u5df2\u6709\u7684 JVM \u6307\u6807\uff1a

                            annatation: \n  insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n  insight.opentelemetry.io/metric-path: \"/\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n  insight.opentelemetry.io/metric-port: \"9464\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n

                            \u4f8b\u5982\u4e3a my-deployment-app \u6dfb\u52a0\u6ce8\u89e3\uff1a

                            apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-deployment-app\nspec:\n  selector:\n    matchLabels:\n      app: my-deployment-app\n      app.kubernetes.io/name: my-deployment-app\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app: my-deployment-app\n        app.kubernetes.io/name: my-deployment-app\n      annotations:\n        insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n        insight.opentelemetry.io/metric-path: \"/\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n        insight.opentelemetry.io/metric-port: \"9464\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n

                            \u4ee5\u4e0b\u662f\u5b8c\u6574\u793a\u4f8b\uff1a

                            ---\napiVersion: v1\nkind: Service\nmetadata:\n  name: spring-boot-actuator-prometheus-metrics-demo\nspec:\n  type: NodePort\n  selector:\n    #app: my-deployment-with-aotu-instrumentation-app\n    app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n  ports:\n    - name: http\n      port: 8080\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: spring-boot-actuator-prometheus-metrics-demo\nspec:\n  selector:\n    matchLabels:\n      #app: my-deployment-with-aotu-instrumentation-app\n      app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n      annotations:\n        insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n        insight.opentelemetry.io/metric-path: \"/actuator/prometheus\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n        insight.opentelemetry.io/metric-port: \"8080\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n    spec:\n      containers:\n        - name: myapp\n          image: docker.m.daocloud.io/wutang/spring-boot-actuator-prometheus-metrics-demo\n          ports:\n            - name: http\n              containerPort: 8080\n          resources:\n            limits:\n              cpu: 500m\n              memory: 800Mi\n            requests:\n              cpu: 200m\n              memory: 400Mi\n

                            \u4ee5\u4e0a\u793a\u4f8b\u4e2d\uff0cInsight \u4f1a\u901a\u8fc7 :8080//actuator/prometheus \u6293\u53d6\u901a\u8fc7 Spring Boot Actuator \u66b4\u9732\u51fa\u6765\u7684 Prometheus \u6307\u6807\u3002

                            "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html","title":"\u4f7f\u7528 OpenTelemetry Java Agent \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807","text":"

                            \u5728 Opentelemetry Agent v1.20.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u4e2d\uff0cOpentelemetry Agent \u65b0\u589e\u4e86 JMX Metric Insight \u6a21\u5757\uff0c\u5982\u679c\u4f60\u7684\u5e94\u7528\u5df2\u7ecf\u96c6\u6210\u4e86 Opentelemetry Agent \u53bb\u91c7\u96c6\u5e94\u7528\u94fe\u8def\uff0c\u90a3\u4e48\u4f60\u4e0d\u518d\u9700\u8981\u53e6\u5916\u5f15\u5165\u5176\u4ed6 Agent \u53bb\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u66b4\u9732 JMX \u6307\u6807\u3002Opentelemetry Agent \u4e5f\u662f\u901a\u8fc7\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u672c\u5730\u53ef\u7528\u7684 MBean \u516c\u5f00\u7684\u6307\u6807\uff0c\u5bf9\u5176\u8fdb\u884c\u6536\u96c6\u5e76\u66b4\u9732\u6307\u6807\u3002

                            Opentelemetry Agent \u4e5f\u9488\u5bf9\u5e38\u89c1\u7684 Java Server \u6216\u6846\u67b6\u5185\u7f6e\u4e86\u4e00\u4e9b\u76d1\u63a7\u7684\u6837\u4f8b\uff0c\u8bf7\u53c2\u8003\u9884\u5b9a\u4e49\u7684\u6307\u6807\u3002

                            \u4f7f\u7528 OpenTelemetry Java Agent \u540c\u6837\u9700\u8981\u8003\u8651\u5982\u4f55\u5c06 JAR \u6302\u8f7d\u8fdb\u5bb9\u5668\uff0c\u9664\u4e86\u53ef\u4ee5\u53c2\u8003\u4e0a\u9762 JMX Exporter \u6302\u8f7d JAR \u6587\u4ef6\u7684\u65b9\u5f0f\u5916\uff0c\u6211\u4eec\u8fd8\u53ef\u4ee5\u501f\u52a9 Opentelemetry \u63d0\u4f9b\u7684 Operator \u7684\u80fd\u529b\u6765\u5b9e\u73b0\u81ea\u52a8\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u5f00\u542f JVM \u6307\u6807\u66b4\u9732\uff1a

                            \u5982\u679c\u4f60\u7684\u5e94\u7528\u5df2\u7ecf\u96c6\u6210\u4e86 Opentelemetry Agent \u53bb\u91c7\u96c6\u5e94\u7528\u94fe\u8def\uff0c\u90a3\u4e48\u4f60\u4e0d\u518d\u9700\u8981\u53e6\u5916\u5f15\u5165\u5176\u4ed6 Agent \u53bb\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u66b4\u9732 JMX \u6307\u6807\u3002Opentelemetry Agent \u901a\u8fc7\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u672c\u5730\u53ef\u7528\u7684 MBean \u516c\u5f00\u7684\u6307\u6807\uff0c\u73b0\u5728\u53ef\u4ee5\u672c\u5730\u6536\u96c6\u5e76\u66b4\u9732\u6307\u6807\u63a5\u53e3\u3002

                            \u4f46\u662f\uff0c\u622a\u81f3\u76ee\u524d\u7248\u672c\uff0c\u4f60\u4ecd\u7136\u9700\u8981\u624b\u52a8\u4e3a\u5e94\u7528\u52a0\u4e0a\u76f8\u5e94\u6ce8\u89e3\u4e4b\u540e\uff0cJVM \u6570\u636e\u624d\u4f1a\u88ab Insight \u91c7\u96c6\u5230\uff0c\u5177\u4f53\u6ce8\u89e3\u5185\u5bb9\u8bf7\u53c2\u8003 \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027\u3002

                            "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html#java","title":"\u4e3a Java \u4e2d\u95f4\u4ef6\u66b4\u9732\u6307\u6807","text":"

                            Opentelemetry Agent \u4e5f\u5185\u7f6e\u4e86\u4e00\u4e9b\u4e2d\u95f4\u4ef6\u76d1\u63a7\u7684\u6837\u4f8b\uff0c\u8bf7\u53c2\u8003 \u9884\u5b9a\u4e49\u6307\u6807\u3002

                            \u9ed8\u8ba4\u6ca1\u6709\u6307\u5b9a\u4efb\u4f55\u7c7b\u578b\uff0c\u9700\u8981\u901a\u8fc7 -Dotel.jmx.target.system JVM Options \u6307\u5b9a,\u6bd4\u5982 -Dotel.jmx.target.system=jetty,kafka-broker \u3002

                            "},{"location":"admin/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html#_1","title":"\u53c2\u8003","text":"
                            • Gaining JMX Metric Insights with the OpenTelemetry Java Agent

                            • Otel jmx metrics

                            "},{"location":"admin/insight/quickstart/other/install-agent-on-ocp.html","title":"OpenShift \u5b89\u88c5 Insight Agent","text":"

                            \u867d\u7136 OpenShift \u7cfb\u7edf\u81ea\u5e26\u4e86\u4e00\u5957\u76d1\u63a7\u7cfb\u7edf\uff0c\u56e0\u4e3a\u6570\u636e\u91c7\u96c6\u7ea6\u5b9a\u7684\u4e00\u4e9b\u89c4\u5219\uff0c\u6211\u4eec\u8fd8\u662f\u4f1a\u5b89\u88c5 Insight Agent\u3002

                            \u5176\u4e2d\uff0c\u5b89\u9664\u4e86\u57fa\u7840\u7684\u5b89\u88c5\u914d\u7f6e\u4e4b\u5916\uff0chelm install \u7684\u65f6\u5019\u8fd8\u9700\u8981\u589e\u52a0\u5982\u4e0b\u7684\u53c2\u6570\uff1a

                            ## \u9488\u5bf9 fluentbit \u76f8\u5173\u7684\u53c2\u6570\uff1b\n--set fluent-bit.ocp.enabled=true \\\n--set fluent-bit.serviceAccount.create=false \\\n--set fluent-bit.securityContext.runAsUser=0 \\\n--set fluent-bit.securityContext.seLinuxOptions.type=spc_t \\\n--set fluent-bit.securityContext.readOnlyRootFilesystem=false \\\n--set fluent-bit.securityContext.allowPrivilegeEscalation=false \\\n\n## \u542f\u7528\u9002\u914d OpenShift4.x \u7684 Prometheus(CR)\n--set compatibility.openshift.prometheus.enabled=true \\\n\n## \u5173\u95ed\u9ad8\u7248\u672c\u7684 Prometheus \u5b9e\u4f8b\n--set kube-prometheus-stack.prometheus.enabled=false \\\n--set kube-prometheus-stack.kubeApiServer.enabled=false \\\n--set kube-prometheus-stack.kubelet.enabled=false \\\n--set kube-prometheus-stack.kubeControllerManager.enabled=false \\\n--set kube-prometheus-stack.coreDns.enabled=false \\\n--set kube-prometheus-stack.kubeDns.enabled=false \\\n--set kube-prometheus-stack.kubeEtcd.enabled=false \\\n--set kube-prometheus-stack.kubeEtcd.enabled=false \\\n--set kube-prometheus-stack.kubeScheduler.enabled=false \\\n--set kube-prometheus-stack.kubeStateMetrics.enabled=false \\\n--set kube-prometheus-stack.nodeExporter.enabled=false \\\n\n## \u9650\u5236 PrometheusOperator \u5904\u7406\u7684 namespace\uff0c\u907f\u514d\u4e0e OpenShift \u81ea\u5e26\u7684 PrometheusOperator \u76f8\u4e92\u7ade\u4e89\n--set kube-prometheus-stack.prometheusOperator.kubeletService.namespace=\"insight-system\" \\\n--set kube-prometheus-stack.prometheusOperator.prometheusInstanceNamespaces=\"insight-system\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[0]=\"openshift-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[1]=\"openshift-user-workload-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[2]=\"openshift-customer-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[3]=\"openshift-route-monitor-operator\" \\\n
                            "},{"location":"admin/insight/quickstart/other/install-agent-on-ocp.html#openshift-prometheus","title":"\u901a\u8fc7 OpenShift \u81ea\u8eab\u673a\u5236\uff0c\u5c06\u7cfb\u7edf\u76d1\u63a7\u6570\u636e\u5199\u5165 Prometheus \u4e2d","text":"
                            apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: cluster-monitoring-config\n  namespace: openshift-monitoring\ndata:\n  config.yaml: |\n    prometheusK8s:\n      remoteWrite:\n        - queueConfig:\n            batchSendDeadline: 60s\n            maxBackoff: 5s\n            minBackoff: 30ms\n            minShards: 1\n            capacity: 5000\n            maxSamplesPerSend: 1000\n            maxShards: 100\n          remoteTimeout: 30s\n          url: http://insight-agent-prometheus.insight-system.svc.cluster.local:9090/api/v1/write\n          writeRelabelConfigs:\n            - action: keep\n              regex: etcd|kubelet|node-exporter|apiserver|kube-state-metrics\n              sourceLabels:\n                - job\n
                            "},{"location":"admin/insight/quickstart/other/install-agentindce.html","title":"DCE 4.0 \u4e2d\u5b89\u88c5 Insight Agent","text":"

                            \u5728 AI \u7b97\u529b\u4e2d\u5fc3 \u4e2d\uff0c\u53ef\u4ee5\u5c06\u4ee5\u524d\u7684 DCE 4.0 \u4f5c\u4e3a\u5b50\u96c6\u7fa4\u63a5\u5165\u3002\u672c\u6587\u63d0\u4f9b\u5728 DCE4.0 \u96c6\u7fa4\u4e2d\u5b89\u88c5 insight-agent \u65f6\u53ef\u80fd\u9047\u5230\u7684\u95ee\u9898\u4ee5\u53ca\u89e3\u51b3\u65b9\u6848\u3002

                            "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_1","title":"\u95ee\u9898\u4e00","text":"

                            \u7531\u4e8e\u5927\u591a\u6570 DCE 4.0 \u96c6\u7fa4\u5df2\u5b89\u88c5 dx-insight \u4f5c\u4e3a\u76d1\u63a7\u7cfb\u7edf\uff0c\u82e5\u6b64\u65f6\u5b89\u88c5 insight-agent \u4f1a\u4e0e\u96c6\u7fa4\u4e2d\u5df2\u6709\u7684 Prometheus Operator \u51b2\u7a81\uff0c\u5bfc\u81f4\u65e0\u6cd5\u987a\u5229\u5b89\u88c5\u3002

                            "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_2","title":"\u89e3\u51b3\u65b9\u6848","text":"

                            \u5f00\u542f prometheus operator \u7684\u53c2\u6570\uff0c\u4fdd\u7559 dx-insight \u4e2d\u7684 prometheus operator\uff0c\u5e76\u517c\u5bb9 5.0 \u4e2d insight-agent \u7684 prometheus operator\u3002

                            "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u767b\u5f55 DCE 4.0 \u96c6\u7fa4\uff0c\u8fdb\u5165 \u8bbe\u7f6e -> \u7a7a\u95f4\u7ba1\u7406 -> insight-system -> \u8d85\u5356\u7b56\u7565 \u4e2d\u5220\u9664 insight-system \u4e0b\u7684\u8d85\u5356\u7b56\u7565\u3002

                            2. \u767b\u5f55 DCE 4.0 \u96c6\u7fa4\u7684\u63a7\u5236\u53f0\u3002\u5206\u522b\u5728\u4e24\u4e2a Prometheus Operator \u4e2d\u542f\u7528 --deny-namespaces \u53c2\u6570\u3002 \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff08\u4ee5\u4e0b\u547d\u4ee4\u4ec5\u4f9b\u53c2\u8003\uff0c\u5b9e\u9645\u9700\u66ff\u6362\u547d\u4ee4\u4e2d\u7684 Prometheus Operator \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\uff09\u3002

                              kubectl edit deploy insight-agent-kube-prometh-operator -n insight-system\n

                            Note

                            • \u5982\u4e0a\u56fe dx-insight \u7ec4\u4ef6\u90e8\u7f72\u5728 dx-insight \u79df\u6237\u4e0b\uff0cinsight-agent \u90e8\u7f72\u5728 insight-system \u79df\u6237\u4e0b\u3002 \u5728 dx-insight \u4e2d\u7684 prometheus operator \u4e2d\u6dfb\u52a0 --deny-namespaces=insight-system \uff0c \u5728 insight-agent \u4e2d\u7684 prometheus operator \u4e2d\u6dfb\u52a0 --deny-namespaces=dx-insight \u3002
                            • \u53ea\u6dfb\u52a0 deny namespace\uff0c\u4e24\u4e2a prometheus operator \u90fd\u53ef\u4ee5\u7ee7\u7eed\u626b\u63cf\u9664\u6b64\u4e4b\u5916\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u800c kube-system \u6216\u5ba2\u6237\u4e1a\u52a1\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u76f8\u5173\u91c7\u96c6\u8d44\u6e90\u4e0d\u53d7\u5f71\u54cd\u3002
                            • \u8bf7\u6ce8\u610f node exporter \u7aef\u53e3\u51b2\u7a81\u7684\u95ee\u9898\u3002
                            "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_4","title":"\u8865\u5145\u8bf4\u660e","text":"

                            \u5f00\u6e90 node-exporter \u9ed8\u8ba4\u5f00\u542f hostnetwork \u4e14\u9ed8\u8ba4\u7aef\u53e3\u4e3a 9100\u3002 \u82e5\u96c6\u7fa4\u5df2\u6709\u7684\u76d1\u63a7\u7cfb\u7edf\u5df2\u5b89\u88c5 node-exporter \uff0c\u5219\u5728\u5b89\u88c5 insight-agent \u65f6\u4f1a\u56e0\u4e3a node-exporter \u7aef\u53e3\u51b2\u7a81\u800c\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\u3002

                            Note

                            Insight \u7684 node exporter \u4f1a\u5f00\u542f\u4e00\u4e9b\u7279\u6027\u6765\u91c7\u96c6\u7279\u6b8a\u6307\u6807\uff0c\u6240\u4ee5\u63a8\u8350\u5b89\u88c5\u3002

                            \u76ee\u524d\u4e0d\u652f\u6301\u5728\u5b89\u88c5\u547d\u4ee4\u4e2d\u4fee\u6539\u7aef\u53e3\uff0c\u9700\u8981\u5728 helm install insight-agent \u4e4b\u540e\u624b\u52a8\u4fee\u6539 insight node-exporter daemonset \u548c svc \u7684\u76f8\u5173\u7aef\u53e3\u3002

                            "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_5","title":"\u95ee\u9898\u4e8c","text":"

                            Insight Agent \u90e8\u7f72\u6210\u529f\u540e\uff0cfluentbit \u672a\u91c7\u96c6 DCE 4.0 \u7684\u65e5\u5fd7\u3002

                            Note

                            \u8be5\u95ee\u9898\u5df2\u5728 Insight Agent v0.22.0 \u7248\u672c\u4fee\u590d\uff0c\u5b89\u88c5\u6216\u5347\u7ea7\u540e\u5373\u4e0d\u5b58\u5728\u8be5\u95ee\u9898\u3002

                            "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_6","title":"\u89e3\u51b3\u65b9\u6848","text":"

                            DCE 4.0 \u7684 Docker \u5b58\u50a8\u76ee\u5f55\u662f /var/lib/containers \uff0c\u4e0e insigh-agent \u7684\u914d\u7f6e\u4e2d\u7684\u8def\u5f84\u4e0d\u540c\uff0c\u6545\u672a\u91c7\u96c6\u65e5\u5fd7\u3002

                            "},{"location":"admin/insight/quickstart/other/install-agentindce.html#_7","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u767b\u5f55\u5230\u63a7\u5236\u53f0\u3002
                            2. \u4fee\u6539 insight-agent Chart \u4e2d\u7684\u5982\u4e0b\u53c2\u6570\u3002

                              fluent-bit:\ndaemonSetVolumeMounts:\n    - name: varlog\n    mountPath: /var/log\n    - name: varlibdockercontainers\n-     mountPath: /var/lib/docker/containers\n+     mountPath: /var/lib/containers/docker/containers\n    readOnly: true\n    - name: etcmachineid\n    mountPath: /etc/machine-id\n    readOnly: true\n    - name: dmesg\n    mountPath: /var/log/dmesg\n    readOnly: true\n
                            "},{"location":"admin/insight/quickstart/res-plan/index.html","title":"\u90e8\u7f72\u5bb9\u91cf\u89c4\u5212","text":"

                            \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e3a\u4e86\u907f\u514d\u6d88\u8017\u8fc7\u591a\u8d44\u6e90\uff0c\u5df2\u7ecf\u8bbe\u7f6e\u4e86\u8d44\u6e90\u4e0a\u7ebf\uff08resource limit\uff09\uff0c\u53ef\u89c2\u6d4b\u7cfb\u7edf\u9700\u8981\u5904\u7406\u5927\u91cf\u7684\u6570\u636e\uff0c\u5982\u679c\u5bb9\u91cf\u89c4\u5212\u4e0d\u5408\u7406\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7cfb\u7edf\u8d1f\u8f7d\u8fc7\u9ad8\uff0c\u5f71\u54cd\u7a33\u5b9a\u6027\u548c\u53ef\u9760\u6027\u3002

                            "},{"location":"admin/insight/quickstart/res-plan/index.html#_2","title":"\u89c2\u6d4b\u7ec4\u4ef6\u7684\u8d44\u6e90\u89c4\u5212","text":"

                            \u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u5305\u542b Insight \u548c Insight Agent\u3002\u5176\u4e2d\uff0cInsight \u4e3b\u8981\u8d1f\u8d23\u89c2\u6d4b\u6570\u636e\u7684\u5b58\u50a8\uff0c\u5206\u6790\u4e0e\u5c55\u793a\u3002\u800c Insight Agent \u5305\u542b\u4e86\u6570\u636e\u91c7\u96c6\u3001\u6570\u636e\u5904\u7406\u3001\u6570\u636e\u4e0a\u4f20\u7b49\u529f\u80fd\u3002

                            "},{"location":"admin/insight/quickstart/res-plan/index.html#_3","title":"\u5b58\u50a8\u7ec4\u4ef6\u7684\u5bb9\u91cf\u89c4\u5212","text":"

                            Insight \u7684\u5b58\u50a8\u7ec4\u4ef6\u4e3b\u8981\u5305\u62ec ElasticSearch \u548c VictoriaMetrics. \u5176\u4e2d\uff0cElasticSearch \u4e3b\u8981\u8d1f\u8d23\u5b58\u50a8\u548c\u67e5\u8be2\u65e5\u5fd7\u4e0e\u94fe\u8def\u6570\u636e\uff0cVictoriaMetrics \u4e3b\u8981\u8d1f\u8d23\u5b58\u50a8\u548c\u67e5\u8be2\u6307\u6807\u6570\u636e\u3002

                            • VictoriaMetircs: \u5176\u78c1\u76d8\u7528\u91cf\u4e0e\u5b58\u50a8\u7684\u6307\u6807\u6709\u5173\uff0c\u6839\u636e vmstorage \u7684\u78c1\u76d8\u89c4\u5212 \u9884\u4f30\u5bb9\u91cf\u540e \u8c03\u6574 vmstorage \u78c1\u76d8\u3002
                            "},{"location":"admin/insight/quickstart/res-plan/index.html#_4","title":"\u91c7\u96c6\u5668\u7684\u8d44\u6e90\u89c4\u5212","text":"

                            Insight Agent \u7684\u91c7\u96c6\u5668\u4e2d\u5305\u542b Proemtheus\uff0c\u867d\u7136 Prometheus \u672c\u8eab\u662f\u4e00\u4e2a\u72ec\u7acb\u7684\u7ec4\u4ef6\uff0c\u4f46\u662f\u5728 Insight Agent \u4e2d\uff0cPrometheus \u4f1a\u88ab\u7528\u4e8e\u91c7\u96c6\u6570\u636e\uff0c\u56e0\u6b64\u9700\u8981\u5bf9 Prometheus \u7684\u8d44\u6e90\u8fdb\u884c\u89c4\u5212\u3002

                            • Prometheus\uff1a\u5176\u8d44\u6e90\u7528\u91cf\u4e0e\u91c7\u96c6\u7684\u6307\u6807\u91cf\u6709\u5173\uff0c\u53ef\u4ee5\u53c2\u8003 Prometheus \u8d44\u6e90\u89c4\u5212 \u8fdb\u884c\u8c03\u6574\u3002
                            "},{"location":"admin/insight/quickstart/res-plan/modify-vms-disk.html","title":"vmstorge \u78c1\u76d8\u6269\u5bb9","text":"

                            \u672c\u6587\u63cf\u8ff0\u4e86 vmstorge \u78c1\u76d8\u6269\u5bb9\u7684\u65b9\u6cd5\uff0c vmstorge \u78c1\u76d8\u89c4\u8303\u8bf7\u53c2\u8003 vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212\u3002

                            "},{"location":"admin/insight/quickstart/res-plan/modify-vms-disk.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/insight/quickstart/res-plan/modify-vms-disk.html#_2","title":"\u5f00\u542f\u5b58\u50a8\u6c60\u6269\u5bb9","text":"
                            1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u70b9\u51fb \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb kpanda-global-cluster \u96c6\u7fa4\u3002

                            2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230 vmstorage \u7ed1\u5b9a\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                            3. \u70b9\u51fb\u67d0\u4e2a vmstorage PVC\uff0c\u8fdb\u5165 vmstorage \u7684\u6570\u636e\u5377\u58f0\u660e\u8be6\u60c5\uff0c\u786e\u8ba4\u8be5 PVC \u7ed1\u5b9a\u7684\u5b58\u50a8\u6c60\u3002

                            4. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) \uff0c\u627e\u5230 local-path \uff0c\u70b9\u51fb\u76ee\u6807\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u7f16\u8f91 \u3002

                            5. \u5f00\u542f \u6269\u5bb9 \u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            "},{"location":"admin/insight/quickstart/res-plan/modify-vms-disk.html#vmstorage","title":"\u66f4\u6539 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf","text":"
                            1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\u3002

                            2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u627e\u5230 vmcluster \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                            3. \u70b9\u51fb\u8be5 vmcluster \u81ea\u5b9a\u4e49\u8d44\u6e90\u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u5207\u6362\u5230 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u4ece insight-victoria-metrics-k8s-stack \u53f3\u4fa7\u83dc\u5355\u9009\u62e9 \u7f16\u8f91 YAML \u3002

                            4. \u6839\u636e\u56fe\u4f8b\u4fee\u6539\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                            5. \u518d\u6b21\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230 vmstorage \u7ed1\u5b9a\u7684\u6570\u636e\u5377\u58f0\u660e\u786e\u8ba4\u4fee\u6539\u5df2\u751f\u6548\u3002\u5728\u67d0\u4e2a PVC \u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u5173\u8054\u5b58\u50a8\u6e90 (PV)\u3002

                            6. \u6253\u5f00\u6570\u636e\u5377\u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u66f4\u65b0 \u6309\u94ae\u3002

                            7. \u4fee\u6539 \u5bb9\u91cf \u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u7a0d\u7b49\u7247\u523b\u7b49\u5230\u6269\u5bb9\u6210\u529f\u3002

                            "},{"location":"admin/insight/quickstart/res-plan/modify-vms-disk.html#_3","title":"\u514b\u9686\u5b58\u50a8\u5377","text":"

                            \u82e5\u5b58\u50a8\u5377\u6269\u5bb9\u5931\u8d25\uff0c\u53ef\u53c2\u8003\u4ee5\u4e0b\u65b9\u6cd5\u514b\u9686\u5b58\u50a8\u5377\u3002

                            1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\u3002

                            2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u627e\u5230 vmstorage \u7684\u6709\u72b6\u6001\u8d1f\u8f7d\uff0c\u70b9\u51fb\u76ee\u6807\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u72b6\u6001 -> \u505c\u6b62 -> \u786e\u5b9a \u3002

                            3. \u5728\u547d\u4ee4\u884c\u4e2d\u767b\u5f55 kpanda-global-cluster \u96c6\u7fa4\u7684 master \u8282\u70b9\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u590d\u5236 vmstorage \u5bb9\u5668\u4e2d\u7684 vm-data \u76ee\u5f55\u5c06\u6307\u6807\u4fe1\u606f\u5b58\u50a8\u5728\u672c\u5730\uff1a

                              kubectl cp -n insight-system vmstorage-insight-victoria-metrics-k8s-stack-1:vm-data ./vm-data\n
                            4. \u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u514b\u9686 \uff0c\u5e76\u4fee\u6539\u6570\u636e\u5377\u7684\u5bb9\u91cf\u3002

                            5. \u5220\u9664\u4e4b\u524d vmstorage \u7684\u6570\u636e\u5377\u3002

                            6. \u7a0d\u7b49\u7247\u523b\uff0c\u5f85\u5b58\u50a8\u5377\u58f0\u660e\u8ddf\u514b\u9686\u7684\u6570\u636e\u5377\u7ed1\u5b9a\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u7b2c 3 \u6b65\u4e2d\u5bfc\u51fa\u7684\u6570\u636e\u5bfc\u5165\u5230\u5bf9\u5e94\u7684\u5bb9\u5668\u4e2d\uff0c\u7136\u540e\u5f00\u542f\u4e4b\u524d\u6682\u505c\u7684 vmstorage \u3002

                              kubectl cp -n insight-system ./vm-data vmstorage-insight-victoria-metrics-k8s-stack-1:vm-data\n
                            "},{"location":"admin/insight/quickstart/res-plan/prometheus-res.html","title":"Prometheus \u8d44\u6e90\u89c4\u5212","text":"

                            Prometheus \u5728\u5b9e\u9645\u4f7f\u7528\u8fc7\u7a0b\u4e2d\uff0c\u53d7\u5230\u96c6\u7fa4\u5bb9\u5668\u6570\u91cf\u4ee5\u53ca\u5f00\u542f Istio \u7684\u5f71\u54cd\uff0c\u4f1a\u5bfc\u81f4 Prometheus \u7684 CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u4f7f\u7528\u91cf\u8d85\u51fa\u8bbe\u5b9a\u7684\u8d44\u6e90\u3002

                            \u4e3a\u4e86\u4fdd\u8bc1\u4e0d\u540c\u89c4\u6a21\u96c6\u7fa4\u4e0b Prometheus \u7684\u6b63\u5e38\u8fd0\u884c\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u7684\u5b9e\u9645\u89c4\u6a21\u5bf9 Prometheus \u8fdb\u884c\u8d44\u6e90\u8c03\u6574\u3002

                            "},{"location":"admin/insight/quickstart/res-plan/prometheus-res.html#_1","title":"\u53c2\u8003\u8d44\u6e90\u89c4\u5212","text":"

                            \u5728\u672a\u5f00\u542f\u7f51\u683c\u60c5\u51b5\u4e0b\uff0c\u6d4b\u8bd5\u60c5\u51b5\u7edf\u8ba1\u51fa\u7cfb\u7edf Job \u6307\u6807\u91cf\u4e0e Pod \u7684\u5173\u7cfb\u4e3a Series \u6570\u91cf = 800 * Pod \u6570\u91cf

                            \u5728\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6\uff0c\u5f00\u542f\u529f\u80fd\u540e Pod \u4ea7\u751f\u7684 Istio \u76f8\u5173\u6307\u6807\u6570\u91cf\u7ea7\u4e3a Series \u6570\u91cf = 768 * Pod \u6570\u91cf

                            "},{"location":"admin/insight/quickstart/res-plan/prometheus-res.html#_2","title":"\u5f53\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"

                            \u4ee5\u4e0b\u8d44\u6e90\u89c4\u5212\u4e3a \u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c \u573a\u666f\u4e0b\uff0cPrometheus \u7684\u8d44\u6e90\u89c4\u5212\u63a8\u8350\uff1a

                            \u96c6\u7fa4\u89c4\u6a21(Pod \u6570) \u6307\u6807\u91cf(\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c) CPU(core) \u5185\u5b58(GB) 100 8w Request: 0.5Limit\uff1a1 Request\uff1a2GBLimit\uff1a4GB 200 16w Request\uff1a1Limit\uff1a1.5 Request\uff1a3GBLimit\uff1a6GB 300 24w Request\uff1a1Limit\uff1a2 Request\uff1a3GBLimit\uff1a6GB 400 32w Request\uff1a1Limit\uff1a2 Request\uff1a4GBLimit\uff1a8GB 500 40w Request\uff1a1.5Limit\uff1a3 Request\uff1a5GBLimit\uff1a10GB 800 64w Request\uff1a2Limit\uff1a4 Request\uff1a8GBLimit\uff1a16GB 1000 80w Request\uff1a2.5Limit\uff1a5 Request\uff1a9GBLimit\uff1a18GB 2000 160w Request\uff1a3.5Limit\uff1a7 Request\uff1a20GBLimit\uff1a40GB 3000 240w Request\uff1a4Limit\uff1a8 Request\uff1a33GBLimit\uff1a66GB"},{"location":"admin/insight/quickstart/res-plan/prometheus-res.html#_3","title":"\u5f53\u5f00\u542f\u670d\u52a1\u7f51\u683c\u529f\u80fd\u65f6","text":"

                            \u4ee5\u4e0b\u8d44\u6e90\u89c4\u5212\u4e3a \u5f00\u542f\u670d\u52a1\u7f51\u683c \u573a\u666f\u4e0b\uff0cPrometheus \u7684\u8d44\u6e90\u89c4\u5212\u63a8\u8350\uff1a

                            \u96c6\u7fa4\u89c4\u6a21(Pod \u6570) \u6307\u6807\u91cf(\u5df2\u5f00\u542f\u670d\u52a1\u7f51\u683c) CPU(core) \u5185\u5b58(GB) 100 15w Request: 1Limit\uff1a2 Request\uff1a3GBLimit\uff1a6GB 200 31w Request\uff1a2Limit\uff1a3 Request\uff1a5GBLimit\uff1a10GB 300 46w Request\uff1a2Limit\uff1a4 Request\uff1a6GBLimit\uff1a12GB 400 62w Request\uff1a2Limit\uff1a4 Request\uff1a8GBLimit\uff1a16GB 500 78w Request\uff1a3Limit\uff1a6 Request\uff1a10GBLimit\uff1a20GB 800 125w Request\uff1a4Limit\uff1a8 Request\uff1a15GBLimit\uff1a30GB 1000 156w Request\uff1a5Limit\uff1a10 Request\uff1a18GBLimit\uff1a36GB 2000 312w Request\uff1a7Limit\uff1a14 Request\uff1a40GBLimit\uff1a80GB 3000 468w Request\uff1a8Limit\uff1a16 Request\uff1a65GBLimit\uff1a130GB

                            Note

                            1. \u8868\u683c\u4e2d\u7684 Pod \u6570\u91cf \u6307\u96c6\u7fa4\u4e2d\u57fa\u672c\u7a33\u5b9a\u8fd0\u884c\u7684 Pod \u6570\u91cf\uff0c\u5982\u51fa\u73b0\u5927\u91cf\u7684 Pod \u91cd\u542f\uff0c\u5219\u4f1a\u9020\u6210\u77ed\u65f6\u95f4\u5185\u6307\u6807\u91cf\u7684\u9661\u589e\uff0c\u6b64\u65f6\u8d44\u6e90\u9700\u8981\u8fdb\u884c\u76f8\u5e94\u4e0a\u8c03\u3002
                            2. Prometheus \u5185\u5b58\u4e2d\u9ed8\u8ba4\u4fdd\u5b58\u4e24\u5c0f\u65f6\u6570\u636e\uff0c\u4e14\u96c6\u7fa4\u4e2d\u5f00\u542f\u4e86 Remote Write \u529f\u80fd\u65f6\uff0c\u4f1a\u5360\u7528\u4e00\u5b9a\u5185\u5b58\uff0c\u8d44\u6e90\u8d85\u914d\u6bd4\u5efa\u8bae\u914d\u7f6e\u4e3a 2\u3002
                            3. \u8868\u683c\u4e2d\u6570\u636e\u4e3a\u63a8\u8350\u503c\uff0c\u9002\u7528\u4e8e\u901a\u7528\u60c5\u51b5\u3002\u5982\u73af\u5883\u6709\u7cbe\u786e\u7684\u8d44\u6e90\u8981\u6c42\uff0c\u5efa\u8bae\u5728\u96c6\u7fa4\u8fd0\u884c\u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u67e5\u770b\u5bf9\u5e94 Prometheus \u7684\u8d44\u6e90\u5360\u7528\u91cf\u8fdb\u884c\u7cbe\u786e\u914d\u7f6e\u3002
                            "},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html","title":"vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212","text":"

                            vmstorage \u662f\u8d1f\u8d23\u5b58\u50a8\u53ef\u89c2\u6d4b\u6027\u591a\u96c6\u7fa4\u6307\u6807\u3002 \u4e3a\u4fdd\u8bc1 vmstorage \u7684\u7a33\u5b9a\u6027\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u6570\u91cf\u53ca\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf\u3002 \u66f4\u591a\u8d44\u6599\u8bf7\u53c2\u8003\uff1avmstorage \u4fdd\u7559\u671f\u4e0e\u78c1\u76d8\u7a7a\u95f4\u3002

                            "},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_1","title":"\u6d4b\u8bd5\u7ed3\u679c","text":"

                            \u7ecf\u8fc7 14 \u5929\u5bf9\u4e0d\u540c\u89c4\u6a21\u7684\u96c6\u7fa4\u7684 vmstorage \u7684\u78c1\u76d8\u89c2\u6d4b\uff0c \u6211\u4eec\u53d1\u73b0 vmstorage \u7684\u78c1\u76d8\u7528\u91cf\u4e0e\u5176\u5b58\u50a8\u7684\u6307\u6807\u91cf\u548c\u5355\u4e2a\u6570\u636e\u70b9\u5360\u7528\u78c1\u76d8\u6b63\u76f8\u5173\u3002

                            1. \u77ac\u65f6\u5b58\u50a8\u7684\u6307\u6807\u91cf increase(vm_rows{ type != \"indexdb\"}[30s]) \u4ee5\u83b7\u53d6 30s \u5185\u589e\u52a0\u7684\u6307\u6807\u91cf
                            2. \u5355\u4e2a\u6570\u636e\u70b9 (datapoint) \u7684\u5360\u7528\u78c1\u76d8\uff1a sum(vm_data_size_bytes{type!=\"indexdb\"}) /\u00a0sum(vm_rows{type\u00a0!=\u00a0\"indexdb\"})
                            "},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_2","title":"\u8ba1\u7b97\u65b9\u6cd5","text":"

                            \u78c1\u76d8\u7528\u91cf = \u77ac\u65f6\u6307\u6807\u91cf x 2 x \u5355\u4e2a\u6570\u636e\u70b9\u7684\u5360\u7528\u78c1\u76d8 x 60 x 24 x \u5b58\u50a8\u65f6\u95f4 (\u5929)

                            \u53c2\u6570\u8bf4\u660e\uff1a

                            1. \u78c1\u76d8\u7528\u91cf\u5355\u4f4d\u4e3a Byte \u3002
                            2. \u5b58\u50a8\u65f6\u957f(\u5929) x 60 x 24 \u5c06\u65f6\u95f4(\u5929)\u6362\u7b97\u6210\u5206\u949f\u4ee5\u4fbf\u8ba1\u7b97\u78c1\u76d8\u7528\u91cf\u3002
                            3. Insight Agent \u4e2d Prometheus \u9ed8\u8ba4\u91c7\u96c6\u65f6\u95f4\u4e3a 30s \uff0c\u6545\u5728 1 \u5206\u949f\u5185\u4ea7\u751f\u4e24\u500d\u7684\u6307\u6807\u91cf\u3002
                            4. vmstorage \u4e2d\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 1 \u4e2a\u6708\uff0c\u4fee\u6539\u914d\u7f6e\u8bf7\u53c2\u8003\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\u3002

                            Warning

                            \u8be5\u516c\u5f0f\u4e3a\u901a\u7528\u65b9\u6848\uff0c\u5efa\u8bae\u5728\u8ba1\u7b97\u7ed3\u679c\u4e0a\u9884\u7559\u5197\u4f59\u78c1\u76d8\u5bb9\u91cf\u4ee5\u4fdd\u8bc1 vmstorage \u7684\u6b63\u5e38\u8fd0\u884c\u3002

                            "},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_3","title":"\u53c2\u8003\u5bb9\u91cf","text":"

                            \u8868\u683c\u4e2d\u6570\u636e\u662f\u6839\u636e\u9ed8\u8ba4\u5b58\u50a8\u65f6\u95f4\u4e3a\u4e00\u4e2a\u6708 (30 \u5929)\uff0c\u5355\u4e2a\u6570\u636e\u70b9 (datapoint) \u7684\u5360\u7528\u78c1\u76d8\u53d6 0.9 \u8ba1\u7b97\u6240\u5f97\u7ed3\u679c\u3002 \u591a\u96c6\u7fa4\u573a\u666f\u4e0b\uff0cPod \u6570\u91cf\u8868\u793a\u591a\u96c6\u7fa4 Pod \u6570\u91cf\u7684\u603b\u548c\u3002

                            "},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_4","title":"\u5f53\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"\u96c6\u7fa4\u89c4\u6a21 (Pod \u6570) \u6307\u6807\u91cf \u78c1\u76d8\u5bb9\u91cf 100 8w 6 GiB 200 16w 12 GiB 300 24w 18 GiB 400 32w 24 GiB 500 40w 30 GiB 800 64w 48 GiB 1000 80w 60 GiB 2000 160w 120 GiB 3000 240w 180 GiB"},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_5","title":"\u5f53\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"\u96c6\u7fa4\u89c4\u6a21 (Pod \u6570) \u6307\u6807\u91cf \u78c1\u76d8\u5bb9\u91cf 100 15w 12 GiB 200 31w 24 GiB 300 46w 36 GiB 400 62w 48 GiB 500 78w 60 GiB 800 125w 94 GiB 1000 156w 120 GiB 2000 312w 235 GiB 3000 468w 350 GiB"},{"location":"admin/insight/quickstart/res-plan/vms-res-plan.html#_6","title":"\u4e3e\u4f8b\u8bf4\u660e","text":"

                            AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u4e2d\u6709\u4e24\u4e2a\u96c6\u7fa4\uff0c\u5176\u4e2d\u5168\u5c40\u670d\u52a1\u96c6\u7fa4(\u5f00\u542f\u670d\u52a1\u7f51\u683c)\u4e2d\u8fd0\u884c 500 \u4e2a Pod\uff0c\u5de5\u4f5c\u96c6\u7fa4(\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c)\u8fd0\u884c\u4e86 1000 \u4e2a Pod\uff0c\u9884\u671f\u6307\u6807\u5b58 30 \u5929\u3002

                            • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u6307\u6807\u91cf\u4e3a 800x500 + 768x500 = 784000
                            • \u5de5\u4f5c\u96c6\u7fa4\u6307\u6807\u91cf\u4e3a 800x1000 = 800000

                            \u5219\u5f53\u524d vmstorage \u78c1\u76d8\u7528\u91cf\u5e94\u8bbe\u7f6e\u4e3a (784000+80000)x2x0.9x60x24x31 = 124384896000 byte = 116 GiB

                            Note

                            \u96c6\u7fa4\u4e2d\u6307\u6807\u91cf\u4e0e Pod \u6570\u91cf\u7684\u5173\u7cfb\u53ef\u53c2\u8003Prometheus \u8d44\u6e90\u89c4\u5212\u3002

                            "},{"location":"admin/insight/system-config/modify-config.html","title":"\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e","text":"

                            \u53ef\u89c2\u6d4b\u6027\u4f1a\u9ed8\u8ba4\u6301\u4e45\u5316\u4fdd\u5b58\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u7684\u6570\u636e\uff0c\u60a8\u53ef\u53c2\u9605\u672c\u6587\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\u3002\u8be5\u6587\u6863\u4ec5\u9002\u7528\u4e8e\u5185\u7f6e\u90e8\u7f72\u7684 Elasticsearch\uff0c\u82e5\u4f7f\u7528\u5916\u90e8 Elasticsearch \u53ef\u81ea\u884c\u8c03\u6574\u3002

                            "},{"location":"admin/insight/system-config/modify-config.html#_2","title":"\u5982\u4f55\u4fee\u6539\u6307\u6807\u6570\u636e\u4fdd\u7559\u671f\u9650","text":"

                            \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u6307\u6807\u6570\u636e\u4fdd\u7559\u671f\u9650\u3002

                            1. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                              kubectl edit vmcluster insight-victoria-metrics-k8s-stack -n insight-system\n
                            2. \u5728 Yaml \u6587\u4ef6\u4e2d\uff0c retentionPeriod \u7684\u9ed8\u8ba4\u503c\u4e3a 14 \uff0c\u5355\u4f4d\u4e3a \u5929 \u3002\u60a8\u53ef\u6839\u636e\u9700\u6c42\u4fee\u6539\u53c2\u6570\u3002

                              apiVersion: operator.victoriametrics.com/v1beta1\nkind: VMCluster\nmetadata:\n  annotations:\n    meta.helm.sh/release-name: insight\n    meta.helm.sh/release-namespace: insight-system\n  creationTimestamp: \"2022-08-25T04:31:02Z\"\n  finalizers:\n  - apps.victoriametrics.com/finalizer\n  generation: 2\n  labels:\n    app.kubernetes.io/instance: insight\n    app.kubernetes.io/managed-by: Helm\n    app.kubernetes.io/name: victoria-metrics-k8s-stack\n    app.kubernetes.io/version: 1.77.2\n    helm.sh/chart: victoria-metrics-k8s-stack-0.9.3\n  name: insight-victoria-metrics-k8s-stack\n  namespace: insight-system\n  resourceVersion: \"123007381\"\n  uid: 55cee8d6-c651-404b-b2c9-50603b405b54\nspec:\n  replicationFactor: 1\n  retentionPeriod: \"14\"\n  vminsert:\n    extraArgs:\n      maxLabelsPerTimeseries: \"45\"\n    image:\n      repository: docker.m.daocloud.io/victoriametrics/vminsert\n      tag: v1.80.0-cluster\n      replicaCount: 1\n
                            3. \u4fdd\u5b58\u4fee\u6539\u540e\uff0c\u8d1f\u8d23\u5b58\u50a8\u6307\u6807\u7684\u7ec4\u4ef6\u7684\u5bb9\u5668\u7ec4\u4f1a\u81ea\u52a8\u91cd\u542f\uff0c\u7a0d\u7b49\u7247\u523b\u5373\u53ef\u3002

                            "},{"location":"admin/insight/system-config/modify-config.html#_3","title":"\u5982\u4f55\u4fee\u6539\u65e5\u5fd7\u6570\u636e\u5b58\u50a8\u65f6\u957f","text":"

                            \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u65e5\u5fd7\u6570\u636e\u4fdd\u7559\u671f\u9650\uff1a

                            "},{"location":"admin/insight/system-config/modify-config.html#json","title":"\u65b9\u6cd5\u4e00\uff1a\u4fee\u6539 Json \u6587\u4ef6","text":"
                            1. \u4fee\u6539\u4ee5\u4e0b\u6587\u4ef6\u4e2d rollover \u5b57\u6bb5\u4e2d\u7684 max_age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002\u6ce8\u610f\u9700\u8981\u4fee\u6539\u7b2c\u4e00\u884c\u4e2d\u7684 Elastic \u7528\u6237\u540d\u548c\u5bc6\u7801\u3001IP \u5730\u5740\u548c\u7d22\u5f15\u3002

                              curl  --insecure --location -u\"elastic:amyVt4o826e322TUVi13Ezw6\" -X PUT \"https://172.30.47.112:30468/_ilm/policy/insight-es-k8s-logs-policy?pretty\" -H 'Content-Type: application/json' -d'\n{\n    \"policy\": {\n        \"phases\": {\n            \"hot\": {\n                \"min_age\": \"0ms\",\n                \"actions\": {\n                    \"set_priority\": {\n                        \"priority\": 100\n                    },\n                    \"rollover\": {\n                        \"max_age\": \"8d\",\n                        \"max_size\": \"10gb\"\n                    }\n                }\n            },\n            \"warm\": {\n                \"min_age\": \"10d\",\n                \"actions\": {\n                    \"forcemerge\": {\n                        \"max_num_segments\": 1\n                    }\n                }\n            },\n            \"delete\": {\n                \"min_age\": \"30d\",\n                \"actions\": {\n                    \"delete\": {}\n                }\n            }\n        }\n    }\n}'\n
                            2. \u4fee\u6539\u5b8c\u540e\uff0c\u6267\u884c\u4ee5\u4e0a\u547d\u4ee4\u3002\u5b83\u4f1a\u6253\u5370\u51fa\u5982\u4e0b\u6240\u793a\u5185\u5bb9\uff0c\u5219\u4fee\u6539\u6210\u529f\u3002

                              {\n\"acknowledged\" : true\n}\n
                            "},{"location":"admin/insight/system-config/modify-config.html#ui","title":"\u65b9\u6cd5\u4e8c\uff1a\u4ece UI \u4fee\u6539","text":"
                            1. \u767b\u5f55 kibana \uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f Stack Management \u3002

                            2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a Index Lifecycle Polices \uff0c\u5e76\u627e\u5230\u7d22\u5f15 insight-es-k8s-logs-policy \uff0c\u70b9\u51fb\u8fdb\u5165\u8be6\u60c5\u3002

                            3. \u5c55\u5f00 Hot phase \u914d\u7f6e\u9762\u677f\uff0c\u4fee\u6539 Maximum age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002

                            4. \u4fee\u6539\u5b8c\u540e\uff0c\u70b9\u51fb\u9875\u9762\u5e95\u90e8\u7684 Save policy \u5373\u4fee\u6539\u6210\u529f\u3002

                            "},{"location":"admin/insight/system-config/modify-config.html#_4","title":"\u5982\u4f55\u4fee\u6539\u94fe\u8def\u6570\u636e\u5b58\u50a8\u65f6\u957f","text":"

                            \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u94fe\u8def\u6570\u636e\u4fdd\u7559\u671f\u9650\uff1a

                            "},{"location":"admin/insight/system-config/modify-config.html#json_1","title":"\u65b9\u6cd5\u4e00\uff1a\u4fee\u6539 Json \u6587\u4ef6","text":"
                            1. \u4fee\u6539\u4ee5\u4e0b\u6587\u4ef6\u4e2d rollover \u5b57\u6bb5\u4e2d\u7684 max_age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002\u6ce8\u610f\u9700\u8981\u4fee\u6539\u7b2c\u4e00\u884c\u4e2d\u7684 Elastic \u7528\u6237\u540d\u548c\u5bc6\u7801\u3001IP \u5730\u5740\u548c\u7d22\u5f15\u3002

                              curl --insecure --location -u\"elastic:amyVt4o826e322TUVi13Ezw6\" -X PUT \"https://172.30.47.112:30468/_ilm/policy/jaeger-ilm-policy?pretty\" -H 'Content-Type: application/json' -d'\n{\n    \"policy\": {\n        \"phases\": {\n            \"hot\": {\n                \"min_age\": \"0ms\",\n                \"actions\": {\n                    \"set_priority\": {\n                        \"priority\": 100\n                    },\n                    \"rollover\": {\n                        \"max_age\": \"6d\",\n                        \"max_size\": \"10gb\"\n                    }\n                }\n            },\n            \"warm\": {\n                \"min_age\": \"10d\",\n                \"actions\": {\n                    \"forcemerge\": {\n                        \"max_num_segments\": 1\n                    }\n                }\n            },\n            \"delete\": {\n                \"min_age\": \"30d\",\n                \"actions\": {\n                    \"delete\": {}\n                }\n            }\n        }\n    }\n}'\n
                            2. \u4fee\u6539\u5b8c\u540e\uff0c\u5728\u63a7\u5236\u53f0\u6267\u884c\u4ee5\u4e0a\u547d\u4ee4\u3002\u5b83\u4f1a\u6253\u5370\u51fa\u5982\u4e0b\u6240\u793a\u5185\u5bb9\uff0c\u5219\u4fee\u6539\u6210\u529f\u3002

                              {\n\"acknowledged\" : true\n}\n
                            "},{"location":"admin/insight/system-config/modify-config.html#ui_1","title":"\u65b9\u6cd5\u4e8c\uff1a\u4ece UI \u4fee\u6539","text":"
                            1. \u767b\u5f55 kibana \uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f Stack Management \u3002

                            2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a Index Lifecycle Polices \uff0c\u5e76\u627e\u5230\u7d22\u5f15 jaeger-ilm-policy \uff0c\u70b9\u51fb\u8fdb\u5165\u8be6\u60c5\u3002

                            3. \u5c55\u5f00 Hot phase \u914d\u7f6e\u9762\u677f\uff0c\u4fee\u6539 Maximum age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002

                            4. \u4fee\u6539\u5b8c\u540e\uff0c\u70b9\u51fb\u9875\u9762\u5e95\u90e8\u7684 Save policy \u5373\u4fee\u6539\u6210\u529f\u3002

                            "},{"location":"admin/insight/system-config/system-component.html","title":"\u7cfb\u7edf\u7ec4\u4ef6","text":"

                            \u5728\u7cfb\u7edf\u7ec4\u4ef6\u9875\u9762\u53ef\u5feb\u901f\u7684\u67e5\u770b\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u72b6\u6001\uff0c\u5f53\u7cfb\u7528\u7ec4\u4ef6\u53d1\u751f\u6545\u969c\u65f6\uff0c\u4f1a\u5bfc\u81f4\u53ef\u89c2\u6d4b\u6a21\u5757\u4e2d\u7684\u90e8\u5206\u529f\u80fd\u4e0d\u53ef\u7528\u3002

                            1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff0c
                            2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u7cfb\u7edf\u7ba1\u7406 -> \u7cfb\u7edf\u7ec4\u4ef6 \u3002

                            "},{"location":"admin/insight/system-config/system-component.html#_2","title":"\u7ec4\u4ef6\u8bf4\u660e","text":"\u6a21\u5757 \u7ec4\u4ef6\u540d\u79f0 \u8bf4\u660e \u6307\u6807 vminsert-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5c06\u5404\u96c6\u7fa4\u4e2d Prometheus \u91c7\u96c6\u5230\u7684\u6307\u6807\u6570\u636e\u5199\u5165\u5b58\u50a8\u7ec4\u4ef6\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u5199\u5165\u5de5\u4f5c\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u3002 \u6307\u6807 vmalert-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u751f\u6548 VM Rule \u4e2d\u914d\u7f6e\u7684 recording \u548c Alert \u89c4\u5219\uff0c\u5e76\u5c06\u89e6\u53d1\u7684\u544a\u8b66\u89c4\u5219\u53d1\u9001\u7ed9 alertmanager\u3002 \u6307\u6807 vmalertmanager-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5728\u544a\u8b66\u89e6\u65f6\u53d1\u9001\u6d88\u606f\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u53d1\u9001\u544a\u8b66\u4fe1\u606f\u3002 \u6307\u6807 vmselect-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u67e5\u8be2\u6307\u6807\u6570\u636e\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u67e5\u8be2\u6307\u6807\u3002 \u6307\u6807 vmstorage-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5b58\u50a8\u591a\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u3002 \u4eea\u8868\u76d8 grafana-deployment \u63d0\u4f9b\u76d1\u63a7\u9762\u677f\u80fd\u529b\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u67e5\u770b\u5185\u7f6e\u7684\u4eea\u8868\u76d8\u3002 \u94fe\u8def insight-jaeger-collector \u8d1f\u8d23\u63a5\u6536\u00a0opentelemetry-collector\u00a0\u4e2d\u94fe\u8def\u6570\u636e\u5e76\u5c06\u5176\u8fdb\u884c\u5b58\u50a8\u3002 \u94fe\u8def insight-jaeger-query \u8d1f\u8d23\u67e5\u8be2\u5404\u96c6\u7fa4\u4e2d\u91c7\u96c6\u5230\u7684\u94fe\u8def\u6570\u636e\u3002 \u94fe\u8def insight-opentelemetry-collector \u8d1f\u8d23\u63a5\u6536\u5404\u5b50\u96c6\u7fa4\u8f6c\u53d1\u7684\u94fe\u8def\u6570\u636e \u65e5\u5fd7 elasticsearch \u8d1f\u8d23\u5b58\u50a8\u5404\u96c6\u7fa4\u7684\u65e5\u5fd7\u6570\u636e\u3002

                            Note

                            \u82e5\u4f7f\u7528\u5916\u90e8 Elasticsearch \u53ef\u80fd\u65e0\u6cd5\u83b7\u53d6\u90e8\u5206\u6570\u636e\u4ee5\u81f4\u4e8e Elasticsearch \u7684\u4fe1\u606f\u4e3a\u7a7a\u3002

                            "},{"location":"admin/insight/system-config/system-config.html","title":"\u7cfb\u7edf\u914d\u7f6e","text":"

                            \u7cfb\u7edf\u914d\u7f6e \u5c55\u793a\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u9ed8\u8ba4\u7684\u4fdd\u5b58\u65f6\u957f\u4ee5\u53ca\u9ed8\u8ba4\u7684 Apdex \u9608\u503c\u3002

                            1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\uff0c\u9009\u62e9 \u7cfb\u7edf\u914d\u7f6e\u3002

                            2. \u4fee\u6539\u5386\u53f2\u544a\u8b66\u5b58\u50a8\u65f6\u957f\uff0c\u70b9\u51fb \u7f16\u8f91 \u8f93\u5165\u76ee\u6807\u65f6\u957f\u3002

                              \u5f53\u5b58\u50a8\u65f6\u957f\u8bbe\u7f6e\u4e3a \"0\" \u5c06\u4e0d\u6e05\u9664\u5386\u53f2\u544a\u8b66\u3002

                            3. \u4fee\u6539\u62d3\u6251\u56fe\u6e32\u67d3\u9ed8\u8ba4\u914d\u7f6e\uff0c\u70b9\u51fb \u7f16\u8f91 \u6839\u636e\u9700\u6c42\u5b9a\u4e49\u7cfb\u7edf\u4e2d\u62d3\u6251\u56fe\u9608\u503c\u3002

                              \u9608\u503c\u8bbe\u7f6e\u5fc5\u987b\u5927\u4e8e 0\uff0c\u524d\u9762\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5c0f\u4e8e\u540e\u9762\u586b\u5199\u7684\u3002\u4e14\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5728\u6700\u5927\u548c\u6700\u5c0f\u7684\u8303\u56f4\u4e4b\u95f4\u3002

                            Note

                            \u4fee\u6539\u5176\u4ed6\u914d\u7f6e\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u5982\u4f55\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\uff1f

                            "},{"location":"admin/insight/trace/service.html","title":"\u670d\u52a1\u76d1\u63a7","text":"

                            \u5728 \u53ef\u89c2\u6d4b\u6027 Insight \u4e2d\u670d\u52a1\u662f\u6307\u4f7f\u7528 Opentelemtry SDK \u63a5\u5165\u94fe\u8def\u6570\u636e\uff0c\u670d\u52a1\u76d1\u63a7\u80fd\u591f\u8f85\u52a9\u8fd0\u7ef4\u8fc7\u7a0b\u4e2d\u89c2\u5bdf\u5e94\u7528\u7a0b\u5e8f\u7684\u6027\u80fd\u548c\u72b6\u6001\u3002

                            \u5982\u4f55\u4f7f\u7528 OpenTelemetry \u8bf7\u53c2\u8003\u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027\u3002

                            "},{"location":"admin/insight/trace/service.html#_2","title":"\u540d\u8bcd\u89e3\u91ca","text":"
                            • \u670d\u52a1 \uff1a\u670d\u52a1\u8868\u793a\u4e3a\u4f20\u5165\u8bf7\u6c42\u63d0\u4f9b\u76f8\u540c\u884c\u4e3a\u7684\u4e00\u7ec4\u5de5\u4f5c\u8d1f\u8f7d\u3002\u60a8\u53ef\u4ee5\u5728\u4f7f\u7528 OpenTelemetry SDK \u65f6\u5b9a\u4e49\u670d\u52a1\u540d\u79f0\u6216\u4f7f\u7528 Istio \u4e2d\u5b9a\u4e49\u7684\u540d\u79f0\u3002
                            • \u64cd\u4f5c \uff1a\u64cd\u4f5c\u662f\u6307\u4e00\u4e2a\u670d\u52a1\u5904\u7406\u7684\u7279\u5b9a\u8bf7\u6c42\u6216\u64cd\u4f5c\uff0c\u6bcf\u4e2a Span \u90fd\u6709\u4e00\u4e2a\u64cd\u4f5c\u540d\u79f0\u3002
                            • \u51fa\u53e3\u6d41\u91cf \uff1a\u51fa\u53e3\u6d41\u91cf\u662f\u6307\u5f53\u524d\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u7684\u6240\u6709\u6d41\u91cf\u3002
                            • \u5165\u53e3\u6d41\u91cf \uff1a\u5165\u53e3\u6d41\u91cf\u662f\u6307\u4e0a\u6e38\u670d\u52a1\u5bf9\u5f53\u524d\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u7684\u6240\u6709\u6d41\u91cf\u3002
                            "},{"location":"admin/insight/trace/service.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u670d\u52a1\u5217\u8868\u9875\u9762\u5c55\u793a\u4e86\u96c6\u7fa4\u4e2d\u6240\u6709\u5df2\u63a5\u5165\u94fe\u8def\u6570\u636e\u7684\u670d\u52a1\u7684\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u7b49\u5173\u952e\u6307\u6807\u3002 \u60a8\u53ef\u4ee5\u6839\u636e\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u5bf9\u670d\u52a1\u8fdb\u884c\u8fc7\u6ee4\uff0c\u4e5f\u53ef\u4ee5\u6309\u7167\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u5bf9\u8be5\u5217\u8868\u8fdb\u884c\u6392\u5e8f\u3002\u5217\u8868\u4e2d\u7684\u6307\u6807\u6570\u636e\u9ed8\u8ba4\u65f6\u95f4\u4e3a 1 \u5c0f\u65f6\uff0c\u60a8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002

                            \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u770b\u670d\u52a1\u76d1\u63a7\u6307\u6807\uff1a

                            1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                            2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u670d\u52a1 \u3002

                              Attention

                              1. \u82e5\u5217\u8868\u4e2d\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u4e3a unknown \u65f6\uff0c\u5219\u8868\u793a\u8be5\u670d\u52a1\u672a\u89c4\u8303\u63a5\u5165\uff0c\u5efa\u8bae\u91cd\u65b0\u63a5\u5165\u3002
                              2. \u82e5\u63a5\u5165\u7684\u670d\u52a1\u5b58\u5728\u540c\u540d\u4e14\u5747\u672a\u6b63\u786e\u586b\u5199\u73af\u5883\u53d8\u91cf\u4e2d\u7684 \u547d\u540d\u7a7a\u95f4 \u65f6\uff0c\u5217\u8868\u53ca\u670d\u52a1\u8be6\u60c5\u9875\u4e2d\u5c55\u793a\u7684\u76d1\u63a7\u6570\u636e\u4e3a\u591a\u4e2a\u670d\u52a1\u7684\u6c47\u603b\u6570\u636e\u3002
                            3. \u70b9\u51fb\u670d\u52a1\u540d (\u4ee5 insight-server \u4e3a\u4f8b)\uff0c\u70b9\u51fb\u8fdb\u5165\u670d\u52a1\u8be6\u60c5\u9875\uff0c\u67e5\u770b\u670d\u52a1\u7684\u8be6\u7ec6\u6307\u6807\u548c\u8be5\u670d\u52a1\u7684\u64cd\u4f5c\u6307\u6807\u3002

                              1. \u5728\u670d\u52a1\u62d3\u6251\u6a21\u5757\u4e2d\uff0c\u60a8\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u6240\u9009\u670d\u52a1\u7684\u4e0a\u4e0b\u5404\u4e00\u5c42\u7684\u670d\u52a1\u62d3\u6251\uff0c\u9f20\u6807\u60ac\u6d6e\u5728\u8282\u70b9\u4e0a\u65f6\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u7684\u4fe1\u606f\u3002
                              2. \u5728\u6d41\u91cf\u6307\u6807\u6a21\u5757\uff0c\u60a8\u53ef\u67e5\u770b\u5230\u8be5\u670d\u52a1\u9ed8\u8ba4\u4e00\u5c0f\u65f6\u5185\u5168\u90e8\u8bf7\u6c42\uff08\u5305\u542b\u5165\u53e3\u6d41\u91cf\u548c\u51fa\u53e3\u6d41\u91cf\uff09\u7684\u76d1\u63a7\u6307\u6807\u3002
                              3. \u652f\u6301\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u65f6\u95f4\u9009\u62e9\u5668\u5feb\u901f\u9009\u62e9\u65f6\u95f4\u8303\u56f4\uff0c\u6216\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002
                              4. \u5728 \u5173\u8054\u5bb9\u5668 \u6a21\u5757\u70b9\u51fb\u5bb9\u5668\u7ec4\u540d\u79f0\uff0c\u53ef\u8df3\u8f6c\u81f3\u5bb9\u5668\u7ec4\u8be6\u60c5\u9875\u3002

                            4. \u70b9\u51fb Tab \u5207\u6362\u5230 \u64cd\u4f5c\u6307\u6807 \uff0c\u53ef\u67e5\u8be2\u591a\u9009\u670d\u52a1\u76f8\u540c\u64cd\u4f5c\u7684\u805a\u5408\u8d77\u6765\u7684\u6d41\u91cf\u6307\u6807\u3002

                              1. \u652f\u6301\u5bf9\u64cd\u4f5c\u6307\u6807\u4e2d\u7684\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u7b49\u6307\u6807\u8fdb\u884c\u6392\u5e8f\u3002
                              2. \u70b9\u51fb\u5355\u4e2a\u64cd\u4f5c\u540e\u7684\u56fe\u6807\uff0c\u53ef\u8df3\u8f6c\u81f3 \u8c03\u7528\u94fe \u5feb\u901f\u67e5\u8be2\u76f8\u5173\u94fe\u8def\u3002

                            "},{"location":"admin/insight/trace/service.html#_4","title":"\u670d\u52a1\u6307\u6807\u8bf4\u660e","text":"\u53c2\u6570 \u8bf4\u660e \u541e\u5410\u7387 \u5355\u4f4d\u65f6\u95f4\u5185\u5904\u7406\u8bf7\u6c42\u7684\u6570\u91cf\u3002 \u9519\u8bef\u7387 \u67e5\u8be2\u65f6\u95f4\u8303\u56f4\u5185\u9519\u8bef\u8bf7\u6c42\u4e0e\u8bf7\u6c42\u603b\u6570\u7684\u6bd4\u503c\u3002 P50 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 50% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002 P95 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 95% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002 P99 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 95% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002"},{"location":"admin/insight/trace/topology.html","title":"\u670d\u52a1\u62d3\u6251","text":"

                            \u670d\u52a1\u62d3\u6251\u56fe\u662f\u5bf9\u670d\u52a1\u4e4b\u95f4\u8fde\u63a5\u3001\u901a\u4fe1\u548c\u4f9d\u8d56\u5173\u7cfb\u7684\u53ef\u89c6\u5316\u8868\u793a\u3002\u901a\u8fc7\u53ef\u89c6\u5316\u62d3\u6251\u4e86\u89e3\u670d\u52a1\u95f4\u7684\u8c03\u7528\u5173\u7cfb\uff0c \u67e5\u770b\u670d\u52a1\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u7684\u8c03\u7528\u53ca\u5176\u6027\u80fd\u72b6\u51b5\u3002\u62d3\u6251\u56fe\u7684\u8282\u70b9\u4e4b\u95f4\u7684\u8054\u7cfb\u4ee3\u8868\u4e24\u4e2a\u670d\u52a1\u5728\u67e5\u8be2\u65f6\u95f4\u8303\u56f4\u5185\u670d\u52a1\u4e4b\u95f4\u7684\u5b58\u5728\u8c03\u7528\u5173\u7cfb\u3002

                            "},{"location":"admin/insight/trace/topology.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            1. \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002
                            2. \u670d\u52a1\u5df2\u901a\u8fc7 Operator \u6216 Opentelemetry SDK \u7684\u65b9\u5f0f\u63a5\u5165\u94fe\u8def\u3002
                            "},{"location":"admin/insight/trace/topology.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                            1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u6a21\u5757
                            2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u670d\u52a1\u62d3\u6251
                            3. \u5728\u62d3\u6251\u56fe\u4e2d\uff0c\u60a8\u53ef\u6309\u9700\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                              • \u5355\u51fb \u8282\u70b9\uff0c\u4ece\u53f3\u4fa7\u5212\u51fa\u670d\u52a1\u7684\u8be6\u60c5\uff0c\u53ef\u67e5\u770b\u670d\u52a1\u7684\u8bf7\u6c42\u5ef6\u65f6\u3001\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u7684\u6307\u6807\u3002\u70b9\u51fb\u670d\u52a1\u540d\u79f0\u53ef\u8df3\u8f6c\u81f3\u5bf9\u5e94\u670d\u52a1\u7684\u8be6\u60c5\u9875\u3002
                              • \u9f20\u6807\u60ac\u6d6e\u5728\u8fde\u7ebf\u4e0a\u65f6\uff0c\u53ef\u67e5\u770b\u4e24\u4e2a\u670d\u52a1\u4e4b\u95f4\u8bf7\u6c42\u7684\u6d41\u91cf\u6307\u6807\u3002
                              • \u5728 \u663e\u793a\u8bbe\u7f6e \u6a21\u5757\uff0c\u53ef\u914d\u7f6e\u62d3\u6251\u56fe\u4e2d\u7684\u663e\u793a\u5143\u7d20\u3002

                            4. \u70b9\u51fb\u53f3\u4e0b\u89d2 \u56fe\u4f8b \uff0c\u53ef\u901a\u8fc7 \u4e34\u65f6\u914d\u7f6e \u4fee\u6539\u5f53\u524d\u7684\u62d3\u6251\u56fe\u5b9a\u4e49\u7684\u6e32\u67d3\u9608\u503c\uff0c\u8df3\u51fa\u6216\u5173\u95ed\u8be5\u9875\u9762\u5373\u4f1a\u4e22\u5931\u8be5\u914d\u7f6e\u3002

                              \u9608\u503c\u8bbe\u7f6e\u5fc5\u987b\u5927\u4e8e 0\uff0c\u524d\u9762\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5c0f\u4e8e\u540e\u9762\u586b\u5199\u7684\u3002\u4e14\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5728\u6700\u5927\u548c\u6700\u5c0f\u7684\u8303\u56f4\u4e4b\u95f4\u3002

                            "},{"location":"admin/insight/trace/topology.html#_4","title":"\u5176\u4ed6\u8282\u70b9","text":"

                            \u5728\u670d\u52a1\u62d3\u6251\u4e2d\u4f1a\u5b58\u5728\u6e38\u79bb\u5728\u96c6\u7fa4\u4e4b\u5916\u7684\u8282\u70b9\uff0c\u8fd9\u4e9b\u6e38\u79bb\u5728\u5916\u7684\u8282\u70b9\u53ef\u5206\u6210\u4e09\u7c7b\uff1a

                            • \u6570\u636e\u5e93
                            • \u6d88\u606f\u961f\u5217
                            • \u865a\u62df\u8282\u70b9

                            • \u82e5\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u5230\u6570\u636e\u5e93\u6216\u6d88\u606f\u961f\u5217\u65f6\uff0c\u62d3\u6251\u56fe\u4e2d\u4f1a\u9ed8\u8ba4\u5c55\u793a\u8fd9\u4e24\u7c7b\u8282\u70b9\u3002 \u800c\u865a\u62df\u670d\u52a1\u8868\u793a\u96c6\u7fa4\u5185\u670d\u52a1\u8bf7\u6c42\u4e86\u96c6\u7fa4\u5916\u7684\u8282\u70b9\u6216\u8005\u672a\u63a5\u5165\u94fe\u8def\u7684\u670d\u52a1\uff0c\u62d3\u6251\u56fe\u4e2d\u9ed8\u8ba4\u4e0d\u4f1a\u5c55\u793a \u865a\u62df\u670d\u52a1\u3002

                            • \u5f53\u670d\u52a1\u8bf7\u6c42\u5230 MySQL\u3001PostgreSQL\u3001Oracle Database \u8fd9\u4e09\u79cd\u6570\u636e\u5e93\u65f6\uff0c\u5728\u62d3\u6251\u56fe\u4e2d\u53ef\u4ee5\u770b\u5230\u8bf7\u6c42\u7684\u8be6\u7ec6\u6570\u636e\u5e93\u7c7b\u578b\u3002

                            "},{"location":"admin/insight/trace/topology.html#_5","title":"\u5f00\u542f\u865a\u62df\u8282\u70b9","text":"
                            1. \u66f4\u65b0 insight-server chart \u7684 values\uff0c\u627e\u5230\u4e0b\u56fe\u6240\u793a\u53c2\u6570\uff0c\u5c06 false \u6539\u4e3a true\u3002

                            2. \u5728\u670d\u52a1\u62d3\u6251\u7684\u663e\u793a\u8bbe\u7f6e\u4e2d\u52fe\u9009 \u865a\u62df\u670d\u52a1 \u3002

                            "},{"location":"admin/insight/trace/trace.html","title":"\u94fe\u8def\u67e5\u8be2","text":"

                            \u5728\u94fe\u8def\u67e5\u8be2\u9875\u9762\uff0c\u60a8\u53ef\u4ee5\u8fc7 TraceID \u6216\u7cbe\u786e\u67e5\u8be2\u8c03\u7528\u94fe\u8def\u8be6\u7ec6\u60c5\u51b5\u6216\u7ed3\u5408\u591a\u79cd\u6761\u4ef6\u7b5b\u9009\u67e5\u8be2\u8c03\u7528\u94fe\u8def\u3002

                            "},{"location":"admin/insight/trace/trace.html#_2","title":"\u540d\u8bcd\u89e3\u91ca","text":"
                            • TraceID\uff1a\u7528\u4e8e\u6807\u8bc6\u4e00\u4e2a\u5b8c\u6574\u7684\u8bf7\u6c42\u8c03\u7528\u94fe\u8def\u3002
                            • \u64cd\u4f5c\uff1a\u63cf\u8ff0 Span \u6240\u4ee3\u8868\u7684\u5177\u4f53\u64cd\u4f5c\u6216\u4e8b\u4ef6\u3002
                            • \u5165\u53e3 Span\uff1a\u5165\u53e3 Span \u4ee3\u8868\u4e86\u6574\u4e2a\u8bf7\u6c42\u7684\u7b2c\u4e00\u4e2a\u8bf7\u6c42\u3002
                            • \u5ef6\u65f6\uff1a\u6574\u4e2a\u8c03\u7528\u94fe\u4ece\u5f00\u59cb\u63a5\u6536\u8bf7\u6c42\u5230\u5b8c\u6210\u54cd\u5e94\u7684\u6301\u7eed\u65f6\u95f4\u3002
                            • Span\uff1a\u6574\u4e2a\u94fe\u8def\u4e2d\u5305\u542b\u7684 Span \u4e2a\u6570\u3002
                            • \u53d1\u751f\u65f6\u95f4\uff1a\u5f53\u524d\u94fe\u8def\u5f00\u59cb\u7684\u65f6\u95f4\u3002
                            • Tag\uff1a\u4e00\u7ec4\u952e\u503c\u5bf9\u6784\u6210\u7684 Span \u6807\u7b7e\u96c6\u5408\uff0cTag \u662f\u7528\u6765\u5bf9 Span \u8fdb\u884c\u7b80\u5355\u7684\u6ce8\u89e3\u548c\u8865\u5145\uff0c\u6bcf\u4e2a Span \u53ef\u4ee5\u6709\u591a\u4e2a\u7b80\u76f4\u5bf9\u5f62\u5f0f\u7684 Tag\u3002
                            "},{"location":"admin/insight/trace/trace.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u8be2\u94fe\u8def\uff1a

                            1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff0c
                            2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u8c03\u7528\u94fe\u3002

                              Note

                              \u5217\u8868\u4e2d\u652f\u6301\u5bf9 Span \u6570\u3001\u5ef6\u65f6\u3001\u53d1\u751f\u65f6\u95f4\u8fdb\u884c\u6392\u5e8f\u3002

                            3. \u70b9\u51fb\u7b5b\u9009\u680f\u4e2d\u7684 TraceID \u641c\u7d22 \u5207\u6362\u4f7f\u7528 TraceID \u641c\u7d22\u94fe\u8def\u3002

                            4. \u4f7f\u7528 TraceID \u641c\u7d22\u8bf7\u8f93\u5165\u5b8c\u6574\u7684 TraceID\u3002

                            "},{"location":"admin/insight/trace/trace.html#_4","title":"\u5176\u4ed6\u64cd\u4f5c","text":""},{"location":"admin/insight/trace/trace.html#_5","title":"\u67e5\u770b\u94fe\u8def\u8be6\u60c5","text":"
                            1. \u70b9\u51fb\u94fe\u8def\u5217\u8868\u4e2d\u7684\u67d0\u4e00\u94fe\u8def\u7684 TraceID\uff0c\u53ef\u67e5\u770b\u8be5\u94fe\u8def\u7684\u8be6\u60c5\u8c03\u7528\u60c5\u51b5\u3002

                            "},{"location":"admin/insight/trace/trace.html#_6","title":"\u67e5\u770b\u5173\u8054\u65e5\u5fd7","text":"
                            1. \u70b9\u51fb\u94fe\u8def\u6570\u636e\u53f3\u4fa7\u7684\u56fe\u6807\uff0c\u53ef\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u5173\u8054\u65e5\u5fd7\u3002

                              • \u9ed8\u8ba4\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u6301\u7eed\u65f6\u95f4\u53ca\u5176\u7ed3\u675f\u4e4b\u540e\u4e00\u5206\u949f\u5185\u7684\u65e5\u5fd7\u6570\u636e\u3002
                              • \u67e5\u8be2\u7684\u65e5\u5fd7\u5185\u5bb9\u4e3a\u65e5\u5fd7\u6587\u672c\u4e2d\u5305\u542b\u8be5\u94fe\u8def\u7684 TraceID \u7684\u65e5\u5fd7\u548c\u94fe\u8def\u8c03\u7528\u8fc7\u7a0b\u4e2d\u76f8\u5173\u7684\u5bb9\u5668\u65e5\u5fd7\u3002
                            2. \u70b9\u51fb \u67e5\u770b\u66f4\u591a \u540e\u53ef\u5e26\u6761\u4ef6\u8df3\u8f6c\u5230 \u65e5\u5fd7\u67e5\u8be2 \u7684\u9875\u9762\u3002

                            3. \u9ed8\u8ba4\u641c\u7d22\u5168\u90e8\u65e5\u5fd7\uff0c\u4f46\u53ef\u4e0b\u62c9\u6839\u636e\u94fe\u8def\u7684 TraceID \u6216\u94fe\u8def\u8c03\u7528\u8fc7\u7a0b\u4e2d\u76f8\u5173\u7684\u5bb9\u5668\u65e5\u5fd7\u8fdb\u884c\u8fc7\u6ee4\u3002

                              Note

                              \u7531\u4e8e\u94fe\u8def\u4f1a\u8de8\u96c6\u7fa4\u6216\u8de8\u547d\u540d\u7a7a\u95f4\uff0c\u82e5\u7528\u6237\u6743\u9650\u4e0d\u8db3\uff0c\u5219\u65e0\u6cd5\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u5173\u8054\u65e5\u5fd7\u3002

                            "},{"location":"admin/k8s/add-node.html","title":"\u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9","text":"

                            \u5982\u679c\u8282\u70b9\u4e0d\u591f\u7528\u4e86\uff0c\u53ef\u4ee5\u6dfb\u52a0\u66f4\u591a\u8282\u70b9\u5230\u96c6\u7fa4\u4e2d\u3002

                            "},{"location":"admin/k8s/add-node.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                            • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                            • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u5e10\u53f7
                            • \u5df2\u521b\u5efa\u5e26 GPU \u8282\u70b9\u7684\u96c6\u7fa4
                            • \u51c6\u5907\u4e00\u53f0\u4e91\u4e3b\u673a
                            "},{"location":"admin/k8s/add-node.html#_3","title":"\u6dfb\u52a0\u6b65\u9aa4","text":"
                            1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                            2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0

                            3. \u8fdb\u5165\u96c6\u7fa4\u6982\u89c8\u9875\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u63a5\u5165\u8282\u70b9 \u6309\u94ae

                            4. \u6309\u7167\u5411\u5bfc\uff0c\u586b\u5199\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                              \u57fa\u672c\u4fe1\u606f\u53c2\u6570\u914d\u7f6e

                            5. \u5728\u5f39\u7a97\u4e2d\u70b9\u51fb \u786e\u5b9a

                            6. \u8fd4\u56de\u8282\u70b9\u5217\u8868\uff0c\u65b0\u63a5\u5165\u7684\u8282\u70b9\u72b6\u6001\u4e3a \u63a5\u5165\u4e2d \uff0c\u7b49\u5f85\u51e0\u5206\u949f\u540e\u72b6\u6001\u53d8\u4e3a \u5065\u5eb7 \u5219\u8868\u793a\u63a5\u5165\u6210\u529f\u3002

                            Tip

                            \u5bf9\u4e8e\u521a\u63a5\u5165\u6210\u529f\u7684\u8282\u70b9\uff0c\u53ef\u80fd\u8fd8\u8981\u7b49 2-3 \u5206\u949f\u624d\u80fd\u8bc6\u522b\u51fa GPU\u3002

                            "},{"location":"admin/k8s/create-k8s.html","title":"\u521b\u5efa\u4e91\u4e0a Kubernetes \u96c6\u7fa4","text":"

                            \u90e8\u7f72 Kubernetes \u96c6\u7fa4\u662f\u4e3a\u4e86\u652f\u6301\u9ad8\u6548\u7684 AI \u7b97\u529b\u8c03\u5ea6\u548c\u7ba1\u7406\uff0c\u5b9e\u73b0\u5f39\u6027\u4f38\u7f29\uff0c\u63d0\u4f9b\u9ad8\u53ef\u7528\u6027\uff0c\u4ece\u800c\u4f18\u5316\u6a21\u578b\u8bad\u7ec3\u548c\u63a8\u7406\u8fc7\u7a0b\u3002

                            "},{"location":"admin/k8s/create-k8s.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                            • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0\u5df2
                            • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u6743\u9650\u7684\u8d26\u53f7
                            • \u51c6\u5907\u4e00\u53f0\u5e26 GPU \u7684\u7269\u7406\u673a
                            • \u5206\u914d\u4e24\u6bb5 IP \u5730\u5740\uff08Pod CIDR 18 \u4f4d\u3001SVC CIDR 18 \u4f4d\uff0c\u4e0d\u80fd\u4e0e\u73b0\u6709\u7f51\u6bb5\u51b2\u7a81\uff09
                            "},{"location":"admin/k8s/create-k8s.html#_2","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                            1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                            2. \u521b\u5efa\u5e76\u542f\u52a8 3 \u53f0\u4e0d\u5e26 GPU \u7684\u4e91\u4e3b\u673a\u7528\u4f5c\u96c6\u7fa4\u7684 Master \u8282\u70b9

                              • \u914d\u7f6e\u8d44\u6e90\uff0cCPU 16 \u6838\uff0c\u5185\u5b58 32 GB\uff0c\u7cfb\u7edf\u76d8 200 GB\uff08ReadWriteOnce\uff09
                              • \u7f51\u7edc\u6a21\u5f0f\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09
                              • \u8bbe\u7f6e root \u5bc6\u7801\u6216\u6dfb\u52a0 SSH \u516c\u94a5\uff0c\u65b9\u4fbf\u4ee5 SSH \u8fde\u63a5
                              • \u8bb0\u5f55\u597d 3 \u53f0\u4e3b\u673a\u7684 IP
                            3. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa\u96c6\u7fa4 \u6309\u94ae

                            4. \u6309\u7167\u5411\u5bfc\uff0c\u914d\u7f6e\u96c6\u7fa4\u7684\u5404\u9879\u53c2\u6570

                              \u57fa\u672c\u4fe1\u606f\u8282\u70b9\u914d\u7f6e\u7f51\u7edc\u914d\u7f6eAddon \u914d\u7f6e\u9ad8\u7ea7\u914d\u7f6e

                              \u914d\u7f6e\u5b8c\u8282\u70b9\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u5f00\u59cb\u68c0\u67e5 \uff0c

                              \u6bcf\u4e2a\u8282\u70b9\u9ed8\u8ba4\u53ef\u8fd0\u884c 110 \u4e2a Pod\uff08\u5bb9\u5668\u7ec4\uff09\uff0c\u5982\u679c\u8282\u70b9\u914d\u7f6e\u6bd4\u8f83\u9ad8\uff0c\u53ef\u4ee5\u8c03\u6574\u5230 200 \u6216 300 \u4e2a Pod\u3002

                            5. \u7b49\u5f85\u96c6\u7fa4\u521b\u5efa\u5b8c\u6210\u3002

                            6. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u627e\u5230\u521a\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u5bfc\u822a\u5230 Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u641c\u7d22\u6846\u5185\u641c\u7d22 metax-gpu-extensions\uff0c\u70b9\u51fb\u5361\u7247

                            7. \u70b9\u51fb\u53f3\u4fa7\u7684 \u5b89\u88c5 \u6309\u94ae\uff0c\u5f00\u59cb\u5b89\u88c5 GPU \u63d2\u4ef6

                              \u5e94\u7528\u8bbe\u7f6eKubernetes \u7f16\u6392\u786e\u8ba4

                              \u8f93\u5165\u540d\u79f0\uff0c\u9009\u62e9\u547d\u540d\u7a7a\u95f4\uff0c\u5728 YAMl \u4e2d\u4fee\u6539\u955c\u50cf\u5730\u5740\uff1a

                            8. \u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u7b49\u5f85 metax-gpu-extensions \u72b6\u6001\u53d8\u4e3a \u5df2\u90e8\u7f72

                            9. \u5230\u6b64\u96c6\u7fa4\u521b\u5efa\u6210\u529f\uff0c\u53ef\u4ee5\u53bb\u67e5\u770b\u96c6\u7fa4\u6240\u5305\u542b\u7684\u8282\u70b9\u3002\u4f60\u53ef\u4ee5\u53bb\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d\u5e76\u4f7f\u7528 GPU \u4e86\u3002

                            \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d

                            "},{"location":"admin/k8s/remove-node.html","title":"\u79fb\u9664 GPU \u5de5\u4f5c\u8282\u70b9","text":"

                            GPU \u8d44\u6e90\u7684\u6210\u672c\u76f8\u5bf9\u8f83\u9ad8\uff0c\u5982\u679c\u6682\u65f6\u7528\u4e0d\u5230 GPU\uff0c\u53ef\u4ee5\u5c06\u5e26 GPU \u7684\u5de5\u4f5c\u8282\u70b9\u79fb\u9664\u3002 \u4ee5\u4e0b\u6b65\u9aa4\u4e5f\u540c\u6837\u9002\u7528\u4e8e\u79fb\u9664\u666e\u901a\u5de5\u4f5c\u8282\u70b9\u3002

                            "},{"location":"admin/k8s/remove-node.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                            • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                            • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u5e10\u53f7
                            • \u5df2\u521b\u5efa\u5e26 GPU \u8282\u70b9\u7684\u96c6\u7fa4
                            "},{"location":"admin/k8s/remove-node.html#_2","title":"\u79fb\u9664\u6b65\u9aa4","text":"
                            1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                            2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0

                            3. \u8fdb\u5165\u96c6\u7fa4\u6982\u89c8\u9875\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u8981\u79fb\u9664\u7684\u8282\u70b9\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u79fb\u9664\u8282\u70b9

                            4. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u8282\u70b9\u540d\u79f0\uff0c\u786e\u8ba4\u65e0\u8bef\u540e\u70b9\u51fb \u5220\u9664

                            5. \u81ea\u52a8\u8fd4\u56de\u8282\u70b9\u5217\u8868\uff0c\u72b6\u6001\u4e3a \u79fb\u9664\u4e2d \uff0c\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\uff0c\u8282\u70b9\u4e0d\u5728\u4e86\uff0c\u8bf4\u660e\u8282\u70b9\u88ab\u6210\u529f\u79fb\u9664

                            6. \u4ece UI \u5217\u8868\u79fb\u9664\u8282\u70b9\u540e\uff0c\u901a\u8fc7 SSH \u767b\u5f55\u5230\u5df2\u79fb\u9664\u7684\u8282\u70b9\u4e3b\u673a\uff0c\u6267\u884c\u5173\u673a\u547d\u4ee4\u3002

                            Tip

                            \u5728 UI \u4e0a\u79fb\u9664\u8282\u70b9\u5e76\u5c06\u5176\u5173\u673a\u540e\uff0c\u8282\u70b9\u4e0a\u7684\u6570\u636e\u5e76\u672a\u88ab\u7acb\u5373\u5220\u9664\uff0c\u8282\u70b9\u6570\u636e\u4f1a\u88ab\u4fdd\u7559\u4e00\u6bb5\u65f6\u95f4\u3002

                            "},{"location":"admin/kpanda/backup/index.html","title":"\u5907\u4efd\u6062\u590d","text":"

                            \u5907\u4efd\u6062\u590d\u5206\u4e3a\u5907\u4efd\u548c\u6062\u590d\u4e24\u65b9\u9762\uff0c\u5b9e\u9645\u5e94\u7528\u65f6\u9700\u8981\u5148\u5907\u4efd\u7cfb\u7edf\u5728\u67d0\u4e00\u65f6\u70b9\u7684\u6570\u636e\uff0c\u7136\u540e\u5b89\u5168\u5b58\u50a8\u5730\u5907\u4efd\u6570\u636e\u3002\u540e\u7eed\u5982\u679c\u51fa\u73b0\u6570\u636e\u635f\u574f\u3001\u4e22\u5931\u3001\u8bef\u5220\u7b49\u4e8b\u6545\uff0c\u5c31\u53ef\u4ee5\u57fa\u4e8e\u4e4b\u524d\u7684\u6570\u636e\u5907\u4efd\u5feb\u901f\u8fd8\u539f\u7cfb\u7edf\uff0c\u7f29\u77ed\u6545\u969c\u65f6\u95f4\uff0c\u51cf\u5c11\u635f\u5931\u3002

                            • \u5728\u771f\u5b9e\u7684\u751f\u4ea7\u73af\u5883\u4e2d\uff0c\u670d\u52a1\u53ef\u80fd\u5206\u5e03\u5f0f\u5730\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u4e91\u3001\u4e0d\u540c\u533a\u57df\u6216\u53ef\u7528\u533a\uff0c\u5982\u679c\u67d0\u4e00\u4e2a\u57fa\u7840\u8bbe\u65bd\u81ea\u8eab\u51fa\u73b0\u6545\u969c\uff0c\u4f01\u4e1a\u9700\u8981\u5728\u5176\u4ed6\u53ef\u7528\u73af\u5883\u4e2d\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u8de8\u4e91/\u8de8\u96c6\u7fa4\u7684\u5907\u4efd\u6062\u590d\u663e\u5f97\u975e\u5e38\u91cd\u8981\u3002
                            • \u5728\u5927\u89c4\u6a21\u7cfb\u7edf\u4e2d\u5f80\u5f80\u6709\u5f88\u591a\u89d2\u8272\u548c\u7528\u6237\uff0c\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u590d\u6742\uff0c\u64cd\u4f5c\u8005\u4f17\u591a\uff0c\u96be\u514d\u6709\u4eba\u8bef\u64cd\u4f5c\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4e5f\u9700\u8981\u80fd\u591f\u901a\u8fc7\u4e4b\u524d\u5907\u4efd\u7684\u6570\u636e\u5feb\u901f\u56de\u6eda\u7cfb\u7edf\uff0c\u5426\u5219\u5982\u679c\u4f9d\u8d56\u4eba\u4e3a\u6392\u67e5\u6545\u969c\u3001\u4fee\u590d\u6545\u969c\u3001\u6062\u590d\u7cfb\u7edf\u5c31\u4f1a\u8017\u8d39\u5927\u91cf\u65f6\u95f4\uff0c\u7cfb\u7edf\u4e0d\u53ef\u7528\u65f6\u95f4\u8d8a\u957f\uff0c\u4f01\u4e1a\u7684\u635f\u5931\u8d8a\u5927\u3002
                            • \u6b64\u5916\uff0c\u8fd8\u6709\u7f51\u7edc\u653b\u51fb\u3001\u81ea\u7136\u707e\u5bb3\u3001\u8bbe\u5907\u6545\u969c\u7b49\u5404\u79cd\u56e0\u7d20\u4e5f\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u4e8b\u6545

                            \u56e0\u6b64\uff0c\u5907\u4efd\u6062\u590d\u975e\u5e38\u91cd\u8981\uff0c\u53ef\u4ee5\u89c6\u4e4b\u4e3a\u7ef4\u62a4\u7cfb\u7edf\u7a33\u5b9a\u548c\u6570\u636e\u5b89\u5168\u7684\u6700\u540e\u4e00\u9053\u4fdd\u9669\u3002

                            \u5907\u4efd\u901a\u5e38\u5206\u4e3a\u5168\u91cf\u5907\u4efd\u3001\u589e\u91cf\u5907\u4efd\u3001\u5dee\u5f02\u5907\u4efd\u4e09\u79cd\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u76ee\u524d\u652f\u6301\u5168\u91cf\u5907\u4efd\u548c\u589e\u91cf\u5907\u4efd\u3002

                            \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u7684\u5907\u4efd\u6062\u590d\u53ef\u4ee5\u5206\u4e3a \u5e94\u7528\u5907\u4efd \u548c ETCD \u5907\u4efd \u4e24\u79cd\uff0c\u652f\u6301\u624b\u52a8\u5907\u4efd\uff0c\u6216\u57fa\u4e8e CronJob \u5b9a\u65f6\u81ea\u52a8\u5907\u4efd\u3002

                            • \u5e94\u7528\u5907\u4efd

                              \u5e94\u7528\u5907\u4efd\u6307\uff0c\u5907\u4efd\u96c6\u7fa4\u4e2d\u7684\u67d0\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\uff0c\u7136\u540e\u5c06\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6062\u590d\u5230\u672c\u96c6\u7fa4\u6216\u8005\u5176\u4ed6\u96c6\u7fa4\u3002\u652f\u6301\u5907\u4efd\u6574\u4e2a\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u8d44\u6e90\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u8fc7\u6ee4\uff0c\u4ec5\u5907\u4efd\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8d44\u6e90\u3002

                              \u5e94\u7528\u5907\u4efd\u652f\u6301\u8de8\u96c6\u7fa4\u5907\u4efd\u6709\u72b6\u6001\u5e94\u7528\uff0c\u5177\u4f53\u6b65\u9aa4\u53ef\u53c2\u8003MySQL \u5e94\u7528\u53ca\u6570\u636e\u7684\u8de8\u96c6\u7fa4\u5907\u4efd\u6062\u590d\u3002

                            • ETCD \u5907\u4efd

                              etcd \u662f Kubernetes \u7684\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\uff0cKubernetes \u5c06\u81ea\u8eab\u7684\u7ec4\u4ef6\u6570\u636e\u548c\u5176\u4e2d\u7684\u5e94\u7528\u6570\u636e\u90fd\u5b58\u50a8\u5728 etcd \u4e2d\u3002\u56e0\u6b64\uff0c\u5907\u4efd etcd \u5c31\u76f8\u5f53\u4e8e\u5907\u4efd\u6574\u4e2a\u96c6\u7fa4\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u5728\u6545\u969c\u65f6\u5feb\u901f\u5c06\u96c6\u7fa4\u6062\u590d\u5230\u4e4b\u524d\u67d0\u4e00\u65f6\u70b9\u7684\u72b6\u6001\u3002

                              \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u76ee\u524d\u4ec5\u652f\u6301\u5c06 etcd \u5907\u4efd\u6570\u636e\u6062\u590d\u5230\u540c\u4e00\u96c6\u7fa4\uff08\u539f\u96c6\u7fa4\uff09\u3002

                            "},{"location":"admin/kpanda/backup/deployment.html","title":"\u5e94\u7528\u5907\u4efd","text":"

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u5e94\u7528\u505a\u5907\u4efd\uff0c\u672c\u6559\u7a0b\u4e2d\u4f7f\u7528\u7684\u6f14\u793a\u5e94\u7528\u540d\u4e3a dao-2048 \uff0c\u5c5e\u4e8e\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

                            "},{"location":"admin/kpanda/backup/deployment.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5728\u5bf9\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u5907\u4efd\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u5b89\u88c5 velero \u7ec4\u4ef6\uff0c\u4e14 velero \u7ec4\u4ef6\u8fd0\u884c\u6b63\u5e38\u3002

                            • \u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\uff08\u672c\u6559\u7a0b\u4e2d\u7684\u8d1f\u8f7d\u540d\u4e3a dao-2048 \uff09\uff0c\u5e76\u4e3a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6253\u4e0a app: dao-2048 \u7684\u6807\u7b7e\u3002

                            "},{"location":"admin/kpanda/backup/deployment.html#_3","title":"\u5907\u4efd\u5de5\u4f5c\u8d1f\u8f7d","text":"

                            \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u5907\u4efd\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d dao-2048 \u3002

                            1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c \u70b9\u51fb \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d \u3002

                            2. \u8fdb\u5165 \u5e94\u7528\u5907\u4efd \u5217\u8868\u9875\u9762\uff0c\u4ece\u96c6\u7fa4\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u5df2\u5b89\u88c5\u4e86 velero \u548c dao-2048 \u7684\u96c6\u7fa4\u3002 \u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa\u5907\u4efd\u8ba1\u5212 \u6309\u94ae\u3002

                            3. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u586b\u5199\u5907\u4efd\u914d\u7f6e\u3002

                            4. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u8bbe\u7f6e\u5907\u4efd\u6267\u884c\u9891\u7387\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                              • \u5907\u4efd\u9891\u7387\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49\u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002
                              • \u7559\u5b58\u65f6\u957f\uff08\u5929\uff09\uff1a\u8bbe\u7f6e\u5907\u4efd\u8d44\u6e90\u4fdd\u5b58\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 30 \u5929\uff0c\u8fc7\u671f\u540e\u5c06\u4f1a\u88ab\u5220\u9664\u3002
                              • \u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\uff1a\u662f\u5426\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\uff0c\u652f\u6301\u76f4\u63a5\u590d\u5236\u548c\u4f7f\u7528 CSI \u5feb\u7167\u4e24\u79cd\u65b9\u5f0f\u3002
                                • \u76f4\u63a5\u590d\u5236\uff1a\u76f4\u63a5\u590d\u5236\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\u7528\u4e8e\u5907\u4efd\uff1b
                                • \u4f7f\u7528 CSI \u5feb\u7167\uff1a\u4f7f\u7528 CSI \u5feb\u7167\u6765\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u3002\u9700\u8981\u96c6\u7fa4\u4e2d\u6709\u53ef\u7528\u4e8e\u5907\u4efd\u7684 CSI \u5feb\u7167\u7c7b\u578b\u3002

                            5. \u70b9\u51fb \u786e\u5b9a \uff0c\u9875\u9762\u4f1a\u81ea\u52a8\u8fd4\u56de\u5e94\u7528\u5907\u4efd\u8ba1\u5212\u5217\u8868\u3002\u60a8\u53ef\u4ee5\u627e\u5230\u65b0\u5efa\u7684 dao-2048 \u5907\u4efd\u8ba1\u5212\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u9009\u62e9 \u7acb\u5373\u6267\u884c \u5f00\u59cb\u5907\u4efd\u3002

                            6. \u6b64\u65f6\u96c6\u7fa4\u7684 \u4e0a\u4e00\u6b21\u6267\u884c\u72b6\u6001 \u5c06\u8f6c\u53d8\u4e3a \u5907\u4efd\u4e2d \u3002\u7b49\u5f85\u5907\u4efd\u5b8c\u6210\u540e\u53ef\u4ee5\u70b9\u51fb\u5907\u4efd\u8ba1\u5212\u7684\u540d\u79f0\uff0c\u67e5\u770b\u5907\u4efd\u8ba1\u5212\u8be6\u60c5\u3002

                            Note

                            \u5982\u679c Job \u7c7b\u578b\u7684\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u4e3a \u6267\u884c\u5b8c\u6210 \uff0c\u5219\u4e0d\u652f\u6301\u5907\u4efd\u3002

                            "},{"location":"admin/kpanda/backup/etcd-backup.html","title":"etcd \u5907\u4efd","text":"

                            etcd \u5907\u4efd\u662f\u4ee5\u96c6\u7fa4\u6570\u636e\u4e3a\u6838\u5fc3\u7684\u5907\u4efd\u3002\u5728\u786c\u4ef6\u8bbe\u5907\u635f\u574f\uff0c\u5f00\u53d1\u6d4b\u8bd5\u914d\u7f6e\u9519\u8bef\u7b49\u573a\u666f\u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7 etcd \u5907\u4efd\u6062\u590d\u96c6\u7fa4\u6570\u636e\u3002

                            \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e3a\u96c6\u7fa4\u5236\u4f5c etcd \u5907\u4efd\u3002

                            "},{"location":"admin/kpanda/backup/etcd-backup.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                            • \u63a5\u5165\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            • \u51c6\u5907\u4e00\u4e2a MinIO \u5b9e\u4f8b\u3002

                            "},{"location":"admin/kpanda/backup/etcd-backup.html#etcd_1","title":"\u521b\u5efa etcd \u5907\u4efd","text":"

                            \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa etcd \u5907\u4efd\u3002

                            1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u5907\u4efd\u7b56\u7565 \u3002

                            2. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199 \u57fa\u672c\u4fe1\u606f \u3002\u586b\u5199\u5b8c\u6bd5\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u6821\u9a8c etcd \u7684\u8054\u901a\u6027\uff0c\u6821\u9a8c\u901a\u8fc7\u4e4b\u540e\u53ef\u4ee5\u8fdb\u884c\u4e0b\u4e00\u6b65\u3002

                              • \u5907\u4efd\u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u5907\u4efd\u54ea\u4e2a\u96c6\u7fa4\u7684 etcd \u6570\u636e\uff0c\u5e76\u5728\u7ec8\u7aef\u767b\u5f55
                              • etcd \u5730\u5740\uff1a\u683c\u5f0f\u4e3a https://${\u8282\u70b9IP}:${\u7aef\u53e3\u53f7}

                                • \u5728\u6807\u51c6 Kubernetes \u96c6\u7fa4\u4e2d\uff0cetcd \u7684\u9ed8\u8ba4\u7aef\u53e3\u53f7\u4e3a 2379
                                • \u5728\u516c\u6709\u4e91\u6258\u7ba1\u96c6\u7fa4\u4e2d\uff0c\u9700\u8981\u8054\u7cfb\u76f8\u5173\u5f00\u53d1\u4eba\u5458\u83b7\u53d6 etcd \u7684\u7aef\u53e3\u53f7\u3002 \u8fd9\u662f\u56e0\u4e3a\u516c\u6709\u4e91\u96c6\u7fa4\u7684\u63a7\u5236\u9762\u7ec4\u4ef6\u7531\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u7ef4\u62a4\u548c\u7ba1\u7406\uff0c\u7528\u6237\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee\u6216\u67e5\u770b\u8fd9\u4e9b\u7ec4\u4ef6\uff0c \u4e5f\u65e0\u6cd5\u901a\u8fc7\u5e38\u89c4\u547d\u4ee4\uff08\u5982 kubectl\uff09\u65e0\u6cd5\u83b7\u53d6\u5230\u63a7\u5236\u9762\u7684\u7aef\u53e3\u7b49\u4fe1\u606f\u3002
                                \u83b7\u53d6\u7aef\u53e3\u53f7\u7684\u65b9\u5f0f
                                1. \u5728 kube-system \u547d\u540d\u7a7a\u95f4\u4e0b\u67e5\u627e etcd Pod

                                  kubectl get po -n kube-system | grep etcd\n
                                2. \u83b7\u53d6 etcd Pod \u7684 listen-client-urls \u4e2d\u7684\u7aef\u53e3\u53f7

                                  kubectl get po -n kube-system ${etcd_pod_name} -oyaml | grep listen-client-urls # (1)!\n
                                  1. \u5c06 etcd_pod_name \u66ff\u6362\u4e3a\u5b9e\u9645\u7684 Pod \u540d\u79f0

                                  \u9884\u671f\u8f93\u51fa\u7ed3\u679c\u5982\u4e0b\uff0c\u8282\u70b9 IP \u540e\u7684\u6570\u5b57\u5373\u4e3a\u7aef\u53e3\u53f7:

                                  - --listen-client-urls=https://127.0.0.1:2379,https://10.6.229.191:2379\n
                              • CA \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                                cat /etc/kubernetes/ssl/etcd/ca.crt\n
                              • Cert \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                                cat /etc/kubernetes/ssl/apiserver-etcd-client.crt\n
                              • Key\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                                cat /etc/kubernetes/ssl/apiserver-etcd-client.key\n

                              Note

                              \u70b9\u51fb\u8f93\u5165\u6846\u4e0b\u65b9\u7684 \u5982\u4f55\u83b7\u53d6 \u53ef\u4ee5\u5728 UI \u9875\u9762\u67e5\u770b\u83b7\u53d6\u5bf9\u5e94\u4fe1\u606f\u7684\u65b9\u5f0f\u3002

                            3. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5907\u4efd\u7b56\u7565 \u3002

                              • \u5907\u4efd\u65b9\u5f0f\uff1a\u9009\u62e9\u624b\u52a8\u5907\u4efd\u6216\u5b9a\u65f6\u5907\u4efd

                                • \u624b\u52a8\u5907\u4efd\uff1a\u57fa\u4e8e\u5907\u4efd\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21 etcd \u5168\u91cf\u6570\u636e\u7684\u5907\u4efd\u3002
                                • \u5b9a\u65f6\u5907\u4efd\uff1a\u6309\u7167\u8bbe\u7f6e\u7684\u5907\u4efd\u9891\u7387\u5bf9 etcd \u6570\u636e\u8fdb\u884c\u5468\u671f\u6027\u5168\u91cf\u5907\u4efd\u3002
                              • \u5907\u4efd\u94fe\u957f\u5ea6\uff1a\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5907\u4efd\u6570\u636e\u3002\u9ed8\u8ba4\u4e3a 30 \u6761\u3002

                              • \u5907\u4efd\u9891\u7387\uff1a\u652f\u6301\u5c0f\u65f6\u3001\u65e5\u3001\u5468\u3001\u6708\u7ea7\u522b\u548c\u81ea\u5b9a\u4e49\u65b9\u5f0f\u3002

                            4. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5b58\u50a8\u4f4d\u7f6e \u3002

                              • \u5b58\u50a8\u4f9b\u5e94\u5546\uff1a\u9ed8\u8ba4\u9009\u62e9 S3 \u5b58\u50a8
                              • \u5bf9\u8c61\u5b58\u50a8\u8bbf\u95ee\u5730\u5740\uff1aMinIO \u7684\u8bbf\u95ee\u5730\u5740
                              • \u5b58\u50a8\u6876\uff1a\u5728 MinIO \u4e2d\u521b\u5efa\u4e00\u4e2a Bucket\uff0c\u586b\u5199 Bucket \u7684\u540d\u79f0
                              • \u7528\u6237\u540d\uff1aMinIO \u7684\u767b\u5f55\u7528\u6237\u540d
                              • \u5bc6\u7801\uff1aMinIO \u7684\u767b\u5f55\u5bc6\u7801

                            5. \u70b9\u51fb \u786e\u5b9a \u540e\u9875\u9762\u81ea\u52a8\u8df3\u8f6c\u5230\u5907\u4efd\u7b56\u7565\u5217\u8868\uff0c\u53ef\u4ee5\u67e5\u770b\u76ee\u524d\u521b\u5efa\u597d\u7684\u6240\u6709\u7b56\u7565\u3002

                              • \u5728\u7b56\u7565\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u3001\u67e5\u770b YAML\u3001\u66f4\u65b0\u7b56\u7565\u3001\u505c\u6b62\u7b56\u7565\u3001\u7acb\u5373\u6267\u884c\u7b56\u7565\u7b49\u3002
                              • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u624b\u52a8\u65f6\uff0c\u53ef\u4ee5\u70b9\u51fb \u7acb\u5373\u6267\u884c \u8fdb\u884c\u5907\u4efd\u3002
                              • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u5b9a\u65f6\u5907\u4efd\u65f6\uff0c\u5219\u4f1a\u6839\u636e\u914d\u7f6e\u7684\u65f6\u95f4\u8fdb\u884c\u5907\u4efd\u3002

                            "},{"location":"admin/kpanda/backup/etcd-backup.html#_2","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u65e5\u5fd7","text":"

                            \u70b9\u51fb \u65e5\u5fd7 \u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u5185\u5bb9\uff0c\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u3002\u82e5\u60f3\u67e5\u770b\u66f4\u591a\u65e5\u5fd7\u4fe1\u606f\u6216\u8005\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u53ef\u5728\u65e5\u5fd7\u4e0a\u65b9\u6839\u636e\u63d0\u793a\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u3002

                            "},{"location":"admin/kpanda/backup/etcd-backup.html#_3","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u8be6\u60c5","text":"

                            \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u63a5\u7740\u70b9\u51fb\u7b56\u7565\u540d\u79f0\u53ef\u4ee5\u67e5\u770b\u7b56\u7565\u8be6\u60c5\u3002

                            "},{"location":"admin/kpanda/backup/etcd-backup.html#_4","title":"\u67e5\u770b\u5907\u4efd\u70b9","text":"
                            1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u70b9 \u9875\u7b7e\u3002
                            2. \u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u96c6\u7fa4\u4e0b\u6240\u6709\u5907\u4efd\u4fe1\u606f\u3002

                              \u6bcf\u6267\u884c\u4e00\u6b21\u5907\u4efd\uff0c\u5bf9\u5e94\u751f\u6210\u4e00\u4e2a\u5907\u4efd\u70b9\uff0c\u53ef\u901a\u8fc7\u6210\u529f\u72b6\u6001\u7684\u5907\u4efd\u70b9\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002

                            "},{"location":"admin/kpanda/backup/install-velero.html","title":"\u5b89\u88c5 velero \u63d2\u4ef6","text":"

                            velero \u662f\u4e00\u4e2a\u5907\u4efd\u548c\u6062\u590d Kubernetes \u96c6\u7fa4\u8d44\u6e90\u7684\u5f00\u6e90\u5de5\u5177\u3002\u5b83\u53ef\u4ee5\u5c06 Kubernetes \u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u5907\u4efd\u5230\u4e91\u5b58\u50a8\u670d\u52a1\u3001\u672c\u5730\u5b58\u50a8\u6216\u5176\u4ed6\u4f4d\u7f6e\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728\u9700\u8981\u65f6\u5c06\u8fd9\u4e9b\u8d44\u6e90\u6062\u590d\u5230\u540c\u4e00\u6216\u4e0d\u540c\u7684\u96c6\u7fa4\u4e2d\u3002

                            \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528 Helm \u5e94\u7528 \u90e8\u7f72 velero \u63d2\u4ef6\u3002

                            "},{"location":"admin/kpanda/backup/install-velero.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                            \u5b89\u88c5 velero \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                            • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                            • \u521b\u5efa velero \u547d\u540d\u7a7a\u95f4\u3002

                            • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                            "},{"location":"admin/kpanda/backup/install-velero.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                            \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 velero \u63d2\u4ef6\u3002

                            1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5 velero \u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u641c\u7d22\u680f\u8f93\u5165 velero \u8fdb\u884c\u641c\u7d22\u3002

                            2. \u9605\u8bfb velero \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u5b89\u88c5 4.0.2 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                            3. \u586b\u5199\u548c\u914d\u7f6e\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

                              \u57fa\u672c\u53c2\u6570\u53c2\u6570\u914d\u7f6e

                              • \u540d\u79f0\uff1a\u5fc5\u586b\u53c2\u6570\uff0c\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09,\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
                              • \u547d\u540d\u7a7a\u95f4\uff1a\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a velero \u547d\u540d\u7a7a\u95f4\u3002
                              • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u3002
                              • \u5c31\u7eea\u7b49\u5f85\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                              • \u5931\u8d25\u5220\u9664\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
                              • \u8be6\u60c5\u65e5\u5fd7\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\u5c06\u8f93\u51fa\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                              Note

                              \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                              • S3 Credentials\uff1a

                                • Use secret \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true \u3002
                                • Secret name \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e velero-s3-credential \u3002
                                • SecretContents.aws_access_key_id = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u7528\u6237\u540d\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002
                                • SecretContents.aws_secret_access_key = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u5bc6\u7801\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002

                                  config \"SecretContents \u6837\u4f8b\" [default] aws_access_key_id = minio aws_secret_access_key = minio123

                                • Velero Configuration\uff1a

                                  • Backupstoragelocation \uff1avelero \u5907\u4efd\u6570\u636e\u5b58\u50a8\u7684\u4f4d\u7f6e
                                  • S3 bucket \uff1a\u7528\u4e8e\u4fdd\u5b58\u5907\u4efd\u6570\u636e\u7684\u5b58\u50a8\u6876\u540d\u79f0(\u9700\u4e3a minio \u5df2\u7ecf\u5b58\u5728\u7684\u771f\u5b9e\u5b58\u50a8\u6876)
                                  • Is default BackupStorage \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
                                  • S3 access mode \uff1avelero \u5bf9\u6570\u636e\u7684\u8bbf\u95ee\u6a21\u5f0f\uff0c\u53ef\u4ee5\u9009\u62e9
                                    • ReadWrite \uff1a\u5141\u8bb8 velero \u8bfb\u5199\u5907\u4efd\u6570\u636e
                                    • ReadOnly \uff1a\u5141\u8bb8 velero \u8bfb\u53d6\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u4fee\u6539\u5907\u4efd\u6570\u636e
                                    • WriteOnly \uff1a\u53ea\u5141\u8bb8 velero \u5199\u5165\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u8bfb\u53d6\u5907\u4efd\u6570\u636e
                                  • S3 Configs \uff1aS3 \u5b58\u50a8\uff08minio\uff09\u7684\u8be6\u7ec6\u914d\u7f6e
                                  • S3 region \uff1a\u4e91\u5b58\u50a8\u7684\u5730\u7406\u533a\u57df\u3002\u9ed8\u8ba4\u4f7f\u7528 us-east-1 \u53c2\u6570\uff0c\u7531\u7cfb\u7edf\u7ba1\u7406\u5458\u63d0\u4f9b
                                  • S3 force path style \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
                                  • S3 server URL \uff1a\u5bf9\u8c61\u5b58\u50a8\uff08minio\uff09\u7684\u63a7\u5236\u53f0\u8bbf\u95ee\u5730\u5740\uff0cminio \u4e00\u822c\u63d0\u4f9b\u4e86 UI \u8bbf\u95ee\u548c\u63a7\u5236\u53f0\u8bbf\u95ee\u4e24\u4e2a\u670d\u52a1\uff0c\u6b64\u5904\u8bf7\u4f7f\u7528\u63a7\u5236\u53f0\u8bbf\u95ee\u7684\u5730\u5740

                                  Note

                                  \u8bf7\u786e\u4fdd s3 \u5b58\u50a8\u670d\u52a1\u65f6\u95f4\u8ddf\u5907\u4efd\u8fd8\u539f\u96c6\u7fa4\u65f6\u95f4\u5dee\u572810\u5206\u949f\u4ee5\u5185\uff0c\u6700\u597d\u662f\u65f6\u95f4\u4fdd\u6301\u540c\u6b65\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u6267\u884c\u5907\u4efd\u64cd\u4f5c\u3002

                                • migration plugin configuration\uff1a\u542f\u7528\u4e4b\u540e\uff0c\u5c06\u5728\u4e0b\u4e00\u6b65\u7684 YAML \u4ee3\u7801\u6bb5\u4e2d\u65b0\u589e\uff1a

                                  ...\ninitContainers:\n  - image: 'release.daocloud.io/kcoral/velero-plugin-for-migration:v0.3.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-migration\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-csi:v0.7.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-csi\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-aws:v1.9.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-aws\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n...\n
                                • \u786e\u8ba4 YAML \u65e0\u8bef\u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 velero \u63d2\u4ef6\u7684\u5b89\u88c5\u3002 \u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c\u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                                • "},{"location":"admin/kpanda/clusterops/cluster-oversold.html","title":"\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356","text":"

                                  \u76ee\u524d\uff0c\u8bb8\u591a\u4e1a\u52a1\u5b58\u5728\u5cf0\u503c\u548c\u4f4e\u8c37\u7684\u73b0\u8c61\u3002\u4e3a\u4e86\u786e\u4fdd\u670d\u52a1\u7684\u6027\u80fd\u548c\u7a33\u5b9a\u6027\uff0c\u5728\u90e8\u7f72\u670d\u52a1\u65f6\uff0c\u901a\u5e38\u4f1a\u6839\u636e\u5cf0\u503c\u9700\u6c42\u6765\u7533\u8bf7\u8d44\u6e90\u3002 \u7136\u800c\uff0c\u5cf0\u503c\u671f\u53ef\u80fd\u975e\u5e38\u77ed\u6682\uff0c\u5bfc\u81f4\u5728\u975e\u5cf0\u503c\u671f\u65f6\u8d44\u6e90\u88ab\u6d6a\u8d39\u3002 \u96c6\u7fa4\u8d44\u6e90\u8d85\u5356 \u5c31\u662f\u5c06\u8fd9\u4e9b\u7533\u8bf7\u4e86\u800c\u672a\u4f7f\u7528\u7684\u8d44\u6e90\uff08\u5373\u7533\u8bf7\u91cf\u4e0e\u4f7f\u7528\u91cf\u7684\u5dee\u503c\uff09\u5229\u7528\u8d77\u6765\uff0c\u4ece\u800c\u63d0\u5347\u96c6\u7fa4\u8d44\u6e90\u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u6d6a\u8d39\u3002

                                  \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u529f\u80fd\u3002

                                  "},{"location":"admin/kpanda/clusterops/cluster-oversold.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                  • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 Cluster Admin \uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u6388\u6743\u3002
                                  "},{"location":"admin/kpanda/clusterops/cluster-oversold.html#_3","title":"\u5f00\u542f\u96c6\u7fa4\u8d85\u5356","text":"
                                  1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762

                                  2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e \uff0c\u7136\u540e\u9009\u62e9 \u9ad8\u7ea7\u914d\u7f6e \u9875\u7b7e

                                  3. \u6253\u5f00\u96c6\u7fa4\u8d85\u5356\uff0c\u8bbe\u7f6e\u8d85\u5356\u6bd4

                                    • \u82e5\u672a\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u70b9\u51fb \u7acb\u5373\u5b89\u88c5 \u6309\u94ae\uff0c\u5b89\u88c5\u6d41\u7a0b\u53c2\u8003\u7ba1\u7406 Helm \u5e94\u7528
                                    • \u82e5\u5df2\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u6253\u5f00\u96c6\u7fa4\u8d85\u5356\u5f00\u5173\uff0c\u5219\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356\u529f\u80fd\u3002

                                    Note

                                    \u9700\u8981\u5728\u96c6\u7fa4\u4e0b\u5bf9\u5e94\u7684 namespace \u6253\u4e0a\u5982\u4e0b\u6807\u7b7e\uff0c\u96c6\u7fa4\u8d85\u5356\u7b56\u7565\u624d\u80fd\u751f\u6548\u3002

                                    clusterresourceoverrides.admission.autoscaling.openshift.io/enabled: \"true\"\n

                                  "},{"location":"admin/kpanda/clusterops/cluster-oversold.html#_4","title":"\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356","text":"

                                  \u8bbe\u7f6e\u597d\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u6bd4\u540e\uff0c\u4f1a\u5728\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u65f6\u751f\u6548\u3002\u4e0b\u6587\u4ee5 niginx \u4e3a\u4f8b\uff0c\u9a8c\u8bc1\u4f7f\u7528\u8d44\u6e90\u8d85\u5356\u80fd\u529b\u3002

                                  1. \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d nginx \u5e76\u8bbe\u7f6e\u5bf9\u5e94\u7684\u8d44\u6e90\u9650\u5236\u503c\uff0c\u521b\u5efa\u6d41\u7a0b\u53c2\u8003\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09

                                  2. \u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u8d44\u6e90\u7533\u8bf7\u503c\u4e0e\u9650\u5236\u503c\u7684\u6bd4\u503c\u662f\u5426\u7b26\u5408\u8d85\u552e\u6bd4

                                  "},{"location":"admin/kpanda/clusterops/cluster-settings.html","title":"\u96c6\u7fa4\u8bbe\u7f6e","text":"

                                  \u96c6\u7fa4\u8bbe\u7f6e\u7528\u4e8e\u4e3a\u60a8\u7684\u96c6\u7fa4\u81ea\u5b9a\u4e49\u9ad8\u7ea7\u7279\u6027\u8bbe\u7f6e\uff0c\u5305\u62ec\u662f\u5426\u542f\u7528 GPU\u3001Helm \u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001Helm \u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u7b49\u3002

                                  • \u542f\u7528 GPU\uff1a\u9700\u8981\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU \u5361\u53ca\u5bf9\u5e94\u9a71\u52a8\u63d2\u4ef6\u3002

                                    \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \u3002

                                  • Helm \u64cd\u4f5c\u57fa\u7840\u955c\u50cf\u3001\u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001\u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\u3001\u662f\u5426\u5f00\u542f\u96c6\u7fa4\u5220\u9664\u4fdd\u62a4\uff08\u5f00\u542f\u540e\u96c6\u7fa4\u5c06\u4e0d\u80fd\u76f4\u63a5\u5378\u8f7d\uff09

                                  "},{"location":"admin/kpanda/clusterops/latest-operations.html","title":"\u6700\u8fd1\u64cd\u4f5c","text":"

                                  \u5728\u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u6700\u8fd1\u7684\u96c6\u7fa4\u64cd\u4f5c\u8bb0\u5f55\u548c Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u4ee5\u53ca\u5404\u9879\u64cd\u4f5c\u7684 YAML \u6587\u4ef6\u548c\u65e5\u5fd7\uff0c\u4e5f\u53ef\u4ee5\u5220\u9664\u67d0\u4e00\u6761\u8bb0\u5f55\u3002

                                  \u8bbe\u7f6e Helm \u64cd\u4f5c\u7684\u4fdd\u7559\u6761\u6570\uff1a

                                  \u7cfb\u7edf\u9ed8\u8ba4\u4fdd\u7559\u6700\u8fd1 100 \u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\u3002\u82e5\u4fdd\u7559\u6761\u6570\u592a\u591a\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u6570\u636e\u5197\u4f59\uff0c\u4fdd\u7559\u6761\u6570\u592a\u5c11\u53ef\u80fd\u4f1a\u9020\u6210\u60a8\u6240\u9700\u8981\u7684\u5173\u952e\u64cd\u4f5c\u8bb0\u5f55\u7684\u7f3a\u5931\u3002\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8bbe\u7f6e\u5408\u7406\u7684\u4fdd\u7559\u6570\u91cf\u3002\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a

                                  1. \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> Helm \u64cd\u4f5c -> \u8bbe\u7f6e\u4fdd\u7559\u6761\u6570 \u3002

                                  2. \u8bbe\u7f6e\u9700\u8981\u4fdd\u7559\u591a\u5c11\u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                                  "},{"location":"admin/kpanda/clusters/access-cluster.html","title":"\u8bbf\u95ee\u96c6\u7fa4","text":"

                                  \u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u76f4\u63a5\u8bbf\u95ee\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5176\u4ed6\u4e24\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bbf\u95ee\u63a7\u5236\uff1a

                                  • \u901a\u8fc7 CloudShell \u5728\u7ebf\u8bbf\u95ee
                                  • \u4e0b\u8f7d\u96c6\u7fa4\u8bc1\u4e66\u540e\u901a\u8fc7 kubectl \u8fdb\u884c\u8bbf\u95ee

                                  Note

                                  \u8bbf\u95ee\u96c6\u7fa4\u65f6\uff0c\u7528\u6237\u5e94\u5177\u6709 Cluster Admin \u6743\u9650\u6216\u66f4\u9ad8\u6743\u9650\u3002

                                  "},{"location":"admin/kpanda/clusters/access-cluster.html#cloudshell","title":"\u901a\u8fc7 CloudShell \u8bbf\u95ee","text":"
                                  1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u901a\u8fc7 CloudShell \u8bbf\u95ee\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u63a7\u5236\u53f0 \u3002

                                  2. \u5728 CloudShell \u63a7\u5236\u53f0\u6267\u884c kubectl get node \u547d\u4ee4\uff0c\u9a8c\u8bc1 CloudShell \u4e0e\u96c6\u7fa4\u7684\u8fde\u901a\u6027\u3002\u5982\u56fe\uff0c\u63a7\u5236\u53f0\u5c06\u8fd4\u56de\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u4fe1\u606f\u3002

                                  \u73b0\u5728\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 CloudShell \u6765\u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

                                  "},{"location":"admin/kpanda/clusters/access-cluster.html#kubectl","title":"\u901a\u8fc7 kubectl \u8bbf\u95ee","text":"

                                  \u901a\u8fc7\u672c\u5730\u8282\u70b9\u8bbf\u95ee\u5e76\u7ba1\u7406\u4e91\u7aef\u96c6\u7fa4\u65f6\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\uff1a

                                  • \u672c\u5730\u8282\u70b9\u548c\u4e91\u7aef\u96c6\u7fa4\u7684\u7f51\u7edc\u4e92\u8054\u4e92\u901a\u3002
                                  • \u5df2\u7ecf\u5c06\u96c6\u7fa4\u8bc1\u4e66\u4e0b\u8f7d\u5230\u4e86\u672c\u5730\u8282\u70b9\u3002
                                  • \u672c\u5730\u8282\u70b9\u5df2\u7ecf\u5b89\u88c5\u4e86 kubectl \u5de5\u5177\u3002\u5173\u4e8e\u8be6\u7ec6\u7684\u5b89\u88c5\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605\u5b89\u88c5 kubectl\u3002

                                  \u6ee1\u8db3\u4e0a\u8ff0\u6761\u4ef6\u540e\uff0c\u6309\u7167\u4e0b\u65b9\u6b65\u9aa4\u4ece\u672c\u5730\u8bbf\u95ee\u4e91\u7aef\u96c6\u7fa4\uff1a

                                  1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u4e0b\u8f7d\u8bc1\u4e66\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u5e76\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u8bc1\u4e66\u83b7\u53d6 \u3002

                                  2. \u9009\u62e9\u8bc1\u4e66\u6709\u6548\u671f\u5e76\u70b9\u51fb \u4e0b\u8f7d\u8bc1\u4e66 \u3002

                                  3. \u6253\u5f00\u4e0b\u8f7d\u597d\u7684\u96c6\u7fa4\u8bc1\u4e66\uff0c\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u81f3\u672c\u5730\u8282\u70b9\u7684 config \u6587\u4ef6\u3002

                                    kubectl \u5de5\u5177\u9ed8\u8ba4\u4f1a\u4ece\u672c\u5730\u8282\u70b9\u7684 $HOME/.kube \u76ee\u5f55\u4e0b\u67e5\u627e\u540d\u4e3a config \u7684\u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u5b58\u50a8\u4e86\u76f8\u5173\u96c6\u7fa4\u7684\u8bbf\u95ee\u51ed\u8bc1\uff0ckubectl \u53ef\u4ee5\u51ed\u8be5\u914d\u7f6e\u6587\u4ef6\u8fde\u63a5\u81f3\u96c6\u7fa4\u3002

                                  4. \u5728\u672c\u5730\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u9a8c\u8bc1\u96c6\u7fa4\u7684\u8fde\u901a\u6027\uff1a

                                    kubectl get pod -n default\n

                                    \u9884\u671f\u7684\u8f93\u51fa\u7c7b\u4f3c\u4e8e:

                                    NAME                            READY   STATUS      RESTARTS    AGE\ndao-2048-2048-58c7f7fc5-mq7h4   1/1     Running     0           30h\n

                                  \u73b0\u5728\u60a8\u53ef\u4ee5\u5728\u672c\u5730\u901a\u8fc7 kubectl \u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

                                  "},{"location":"admin/kpanda/clusters/cluster-role.html","title":"\u96c6\u7fa4\u89d2\u8272","text":"

                                  \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u57fa\u4e8e\u96c6\u7fa4\u7684\u4e0d\u540c\u529f\u80fd\u5b9a\u4f4d\u5bf9\u96c6\u7fa4\u8fdb\u884c\u4e86\u89d2\u8272\u5206\u7c7b\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u7ba1\u7406 IT \u57fa\u7840\u8bbe\u65bd\u3002

                                  "},{"location":"admin/kpanda/clusters/cluster-role.html#_2","title":"\u5168\u5c40\u670d\u52a1\u96c6\u7fa4","text":"

                                  \u6b64\u96c6\u7fa4\u7528\u4e8e\u8fd0\u884c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7ec4\u4ef6\uff0c\u4f8b\u5982\u5bb9\u5668\u7ba1\u7406\u3001\u5168\u5c40\u7ba1\u7406\u3001\u53ef\u89c2\u6d4b\u6027\u3001\u955c\u50cf\u4ed3\u5e93\u7b49\u3002 \u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

                                  \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"admin/kpanda/clusters/cluster-role.html#_3","title":"\u7ba1\u7406\u96c6\u7fa4","text":"

                                  \u6b64\u96c6\u7fa4\u7528\u4e8e\u7ba1\u7406\u5de5\u4f5c\u96c6\u7fa4\uff0c\u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

                                  • \u7ecf\u5178\u6a21\u5f0f\u5c06\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u548c\u7ba1\u7406\u96c6\u7fa4\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u96c6\u7fa4\uff0c\u9002\u7528\u4e8e\u4f01\u4e1a\u591a\u6570\u636e\u4e2d\u5fc3\u3001\u591a\u67b6\u6784\u7684\u573a\u666f\u3002
                                  • \u7b80\u7ea6\u6a21\u5f0f\u5c06\u7ba1\u7406\u96c6\u7fa4\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u90e8\u7f72\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u3002
                                  \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"admin/kpanda/clusters/cluster-role.html#_4","title":"\u5de5\u4f5c\u96c6\u7fa4","text":"

                                  \u8fd9\u662f\u4f7f\u7528\u5bb9\u5668\u7ba1\u7406\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e3b\u8981\u7528\u4e8e\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002\u8be5\u96c6\u7fa4\u7531\u7ba1\u7406\u96c6\u7fa4\u8fdb\u884c\u7ba1\u7406\u3002

                                  \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c \u652f\u6301 K8s 1.22 \u53ca\u4ee5\u4e0a\u7248\u672c \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"admin/kpanda/clusters/cluster-role.html#_5","title":"\u63a5\u5165\u96c6\u7fa4","text":"

                                  \u6b64\u96c6\u7fa4\u7528\u4e8e\u63a5\u5165\u5df2\u6709\u7684\u6807\u51c6 K8s \u96c6\u7fa4\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u672c\u5730\u6570\u636e\u4e2d\u5fc3\u81ea\u5efa\u96c6\u7fa4\u3001\u516c\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u79c1\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u8fb9\u7f18\u96c6\u7fa4\u3001\u4fe1\u521b\u96c6\u7fa4\u3001\u5f02\u6784\u96c6\u7fa4\u3002\u4e3b\u8981\u7528\u4e8e\u627f\u62c5\u4e1a\u52a1\u8d1f\u8f7d\u3002

                                  \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.18+ \u652f\u6301\u53cb\u5546 Vmware Tanzu\u3001Amazon EKS\u3001Redhat Openshift\u3001SUSE Rancher\u3001\u963f\u91cc ACK\u3001\u534e\u4e3a CCE\u3001\u817e\u8baf TKE\u3001\u6807\u51c6 K8s \u96c6\u7fa4\u3001\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u4e0d\u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc \u4f9d\u8d56\u4e8e\u63a5\u5165\u96c6\u7fa4\u53d1\u884c\u7248\u7f51\u7edc\u6a21\u5f0f \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565

                                  Note

                                  \u4e00\u4e2a\u96c6\u7fa4\u53ef\u4ee5\u6709\u591a\u4e2a\u96c6\u7fa4\u89d2\u8272\uff0c\u4f8b\u5982\u4e00\u4e2a\u96c6\u7fa4\u65e2\u53ef\u4ee5\u662f\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\uff0c\u4e5f\u53ef\u4ee5\u662f\u7ba1\u7406\u96c6\u7fa4\u6216\u5de5\u4f5c\u96c6\u7fa4\u3002

                                  "},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html","title":"\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u8c03\u5ea6\u5668 scheduler-plugins","text":"

                                  \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u4e2a\u8c03\u5ea6\u5668 scheduler-plugins\u3002

                                  "},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_1","title":"\u4e3a\u4ec0\u4e48\u9700\u8981 scheduler-plugins\uff1f","text":"

                                  \u901a\u8fc7\u5e73\u53f0\u521b\u5efa\u7684\u96c6\u7fa4\u4e2d\u4f1a\u5b89\u88c5 K8s \u539f\u751f\u7684\u8c03\u5ea6\u5668\uff0c\u4f46\u662f\u539f\u751f\u7684\u8c03\u5ea6\u5668\u5b58\u5728\u5f88\u591a\u7684\u5c40\u9650\u6027\uff1a

                                  • \u539f\u751f\u7684\u8c03\u5ea6\u5668\u65e0\u6cd5\u6ee1\u8db3\u8c03\u5ea6\u9700\u6c42\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528 CoScheduling\u3001 CapacityScheduling \u7b49 scheduler-plugins \u63d2\u4ef6\u3002
                                  • \u5728\u7279\u6b8a\u7684\u573a\u666f\uff0c\u9700\u8981\u65b0\u7684\u8c03\u5ea6\u5668\u6765\u5b8c\u6210\u8c03\u5ea6\u4efb\u52a1\u800c\u4e0d\u5f71\u54cd\u539f\u751f\u8c03\u5ea6\u5668\u7684\u6d41\u7a0b\u3002
                                  • \u533a\u5206\u4e0d\u540c\u529f\u80fd\u7684\u8c03\u5ea6\u5668\uff0c\u901a\u8fc7\u5207\u6362\u8c03\u5ea6\u5668\u540d\u79f0\u6765\u5b9e\u73b0\u4e0d\u540c\u7684\u8c03\u5ea6\u573a\u666f\u3002

                                  \u672c\u6587\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u7684\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u5e76\u4f7f\u7528 scheduler-plugins\u3002

                                  "},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_2","title":"\u5b89\u88c5 scheduler-plugins","text":""},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                  • kubean \u662f\u5728 v0.13.0 \u7248\u672c\u63a8\u51fa\u7684\u65b0\u529f\u80fd\uff0c\u9009\u62e9\u7ba1\u7406\u96c6\u7fa4\u65f6\u8bf7\u786e\u4fdd\u7248\u672c\u4e0d\u4f4e\u4e8e\u6b64\u7248\u672c\u3002
                                  • \u5b89\u88c5 scheduler-plugins \u7248\u672c\u4e3a v0.27.8\uff0c\u8bf7\u786e\u4fdd\u96c6\u7fa4\u7248\u672c\u662f\u5426\u4e0e\u5b83\u517c\u5bb9\u3002 \u53c2\u8003\u6587\u6863 Compatibility Matrix\u3002
                                  "},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html#_2","title":"\u5b89\u88c5\u6d41\u7a0b","text":"
                                  1. \u5728 \u521b\u5efa\u96c6\u7fa4 -> \u9ad8\u7ea7\u914d\u7f6e -> \u81ea\u5b9a\u4e49\u53c2\u6570 \u4e2d\u6dfb\u52a0 scheduler-plugins \u53c2\u6570

                                    scheduler_plugins_enabled:true\nscheduler_plugins_plugin_config:\n  - name: Coscheduling\n    args:\n      permitWaitingTimeSeconds: 10 # default is 60\n

                                    \u53c2\u6570\u8bf4\u660e\uff1a

                                    • scheduler_plugins_enabled \u8bbe\u7f6e\u4e3a true \u65f6\uff0c\u5f00\u542f scheduler-plugins \u63d2\u4ef6\u80fd\u529b\u3002
                                    • \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e scheduler_plugins_enabled_plugins \u6216 scheduler_plugins_disabled_plugins \u9009\u9879\u6765\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u63d2\u4ef6\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u540d\u79f0\u3002
                                    • \u5982\u679c\u9700\u8981\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u63d2\u4ef6\u7684\u53c2\u6570\u8bf7\u914d\u7f6e scheduler_plugins_plugin_config\uff0c\u4f8b\u5982\uff1a\u8bbe\u7f6e coscheduling \u7684 permitWaitingTimeoutSeconds \u53c2\u6570\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u914d\u7f6e\u9879
                                  2. \u96c6\u7fa4\u521b\u5efa\u6210\u529f\u540e\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5b89\u88c5 scheduler-plugins \u548c controller \u7ec4\u4ef6\u8d1f\u8f7d\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u96c6\u7fa4\u7684\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e2d\u67e5\u770b\u8d1f\u8f7d\u72b6\u6001\u3002

                                  "},{"location":"admin/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_3","title":"\u4f7f\u7528 scheduler-plugins","text":"

                                  \u4ee5\u4e0b\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 scheduler-plugins\u3002

                                  1. \u5728 Helm \u6a21\u677f\u4e2d\u5b89\u88c5 vgpu\uff0c\u8bbe\u7f6e values.yaml \u53c2\u6570\u3002

                                    • schedulerName: scheduler-plugins-scheduler\uff0c\u8fd9\u662f kubean \u9ed8\u8ba4\u5b89\u88c5\u7684 scheduler-plugins \u7684 scheduler \u540d\u79f0\uff0c\u76ee\u524d\u4e0d\u80fd\u4fee\u6539\u3002
                                    • scheduler.kubeScheduler.enabled: false\uff0c\u4e0d\u5b89\u88c5 kube-scheduler\uff0c\u5c06 vgpu-scheduler \u4f5c\u4e3a\u5355\u72ec\u7684 extender\u3002
                                  2. \u5728 scheduler-plugins \u4e0a\u6269\u5c55 vgpu-scheduler\u3002

                                    [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
                                    apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\n

                                    \u4fee\u6539 scheduler-plugins \u7684 scheduler-config \u7684 configmap \u53c2\u6570\uff0c\u5982\u4e0b\uff1a

                                    [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
                                    apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\nextenders:\n  - urlPrefix: \"${urlPrefix}\"\n    filterVerb: filter\n    bindVerb: bind\n    nodeCacheCapable: true\n    ignorable: true\n    httpTimeout: 30s\n    weight: 1\n    enableHTTPS: true\n    tlsConfig:\n      insecure: true\n    managedResources:\n      - name: nvidia.com/vgpu\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem\n        ignoredByScheduler: true\n      - name: nvidia.com/gpucores\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem-percentage\n        ignoredByScheduler: true\n      - name: nvidia.com/priority\n        ignoredByScheduler: true\n      - name: cambricon.com/mlunum\n        ignoredByScheduler: true\n
                                  3. \u5b89\u88c5\u5b8c vgpu-scheduler \u540e\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa svc\uff0curlPrefix \u6307\u5b9a svc \u7684 URL\u3002

                                    Note

                                    • svc \u6307 pod \u670d\u52a1\u8d1f\u8f7d\uff0c\u60a8\u53ef\u4ee5\u5230\u5b89\u88c5\u4e86 nvidia-vgpu \u63d2\u4ef6\u7684\u547d\u540d\u7a7a\u95f4\u4e0b\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u62ff\u5230 443 \u7aef\u53e3\u5bf9\u5e94\u7684\u5916\u90e8\u8bbf\u95ee\u4fe1\u606f\u3002

                                      kubectl get svc -n ${namespace} \n
                                    • urlprifix \u683c\u5f0f\u4e3a https://${ip \u5730\u5740}:${\u7aef\u53e3}

                                  4. \u5c06 scheduler-plugins \u7684 scheduler Pod \u91cd\u542f\uff0c\u52a0\u8f7d\u65b0\u7684\u914d\u7f6e\u6587\u4ef6\u3002

                                    Note

                                    \u5728\u521b\u5efa vgpu \u5e94\u7528\u65f6\u4e0d\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u540d\u79f0\uff0cvgpu-scheduler \u7684 Webhook \u4f1a\u81ea\u52a8\u5c06 Scheduler \u7684\u540d\u79f0\u4fee\u6539\u4e3a scheduler-plugins-scheduler\uff0c\u4e0d\u7528\u624b\u52a8\u6307\u5b9a\u3002

                                  "},{"location":"admin/kpanda/clusters/cluster-status.html","title":"\u96c6\u7fa4\u72b6\u6001","text":"

                                  \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u7eb3\u7ba1\u4e24\u79cd\u7c7b\u578b\u7684\u96c6\u7fa4\uff1a\u63a5\u5165\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u3002 \u5173\u4e8e\u96c6\u7fa4\u7eb3\u7ba1\u7c7b\u578b\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1\u96c6\u7fa4\u89d2\u8272\u3002

                                  \u8fd9\u4e24\u79cd\u96c6\u7fa4\u7684\u72b6\u6001\u5982\u4e0b\u6240\u8ff0\u3002

                                  "},{"location":"admin/kpanda/clusters/cluster-status.html#_2","title":"\u63a5\u5165\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u63a5\u5165\u4e2d\uff08Joining\uff09 \u96c6\u7fa4\u6b63\u5728\u63a5\u5165 \u89e3\u9664\u63a5\u5165\u4e2d\uff08Removing\uff09 \u96c6\u7fa4\u6b63\u5728\u89e3\u9664\u63a5\u5165 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002"},{"location":"admin/kpanda/clusters/cluster-status.html#_3","title":"\u81ea\u5efa\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u521b\u5efa\u4e2d\uff08Creating\uff09 \u96c6\u7fa4\u6b63\u5728\u521b\u5efa \u66f4\u65b0\u4e2d\uff08Updating\uff09 \u66f4\u65b0\u96c6\u7fa4 Kubernetes \u7248\u672c \u5220\u9664\u4e2d\uff08Deleting\uff09 \u96c6\u7fa4\u6b63\u5728\u5220\u9664 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002 \u521b\u5efa\u5931\u8d25\uff08Failed\uff09 \u96c6\u7fa4\u521b\u5efa\u5931\u8d25\uff0c\u8bf7\u67e5\u770b\u65e5\u5fd7\u4ee5\u83b7\u53d6\u8be6\u7ec6\u5931\u8d25\u539f\u56e0"},{"location":"admin/kpanda/clusters/cluster-version.html","title":"\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4","text":"

                                  \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c\u63a5\u5165\u578b\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u91c7\u53d6\u4e0d\u540c\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

                                  \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u81ea\u5efa\u96c6\u7fa4\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

                                  Kubernetes \u793e\u533a\u652f\u6301 3 \u4e2a\u7248\u672c\u8303\u56f4\uff0c\u5982 1.26\u30011.27\u30011.28\u3002\u5f53\u793e\u533a\u65b0\u7248\u672c\u53d1\u5e03\u4e4b\u540e\uff0c\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u5c06\u4f1a\u8fdb\u884c\u9012\u589e\u3002 \u5982\u793e\u533a\u6700\u65b0\u7684 1.29 \u7248\u672c\u5df2\u7ecf\u53d1\u5e03\uff0c\u6b64\u65f6\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.27\u30011.28\u30011.29\u3002

                                  \u4f8b\u5982\uff0c\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.25\u30011.26\u30011.27\uff0c\u5219\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u662f 1.24\u30011.25\u30011.26\uff0c\u5e76\u4e14\u4f1a\u4e3a\u7528\u6237\u63a8\u8350\u4e00\u4e2a\u7a33\u5b9a\u7684\u7248\u672c\uff0c\u5982 1.24.7\u3002

                                  \u9664\u6b64\u4e4b\u5916\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e0e\u793e\u533a\u4fdd\u6301\u9ad8\u5ea6\u540c\u6b65\uff0c\u5f53\u793e\u533a\u7248\u672c\u8fdb\u884c\u9012\u589e\u540e\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e5f\u4f1a\u540c\u6b65\u9012\u589e\u4e00\u4e2a\u7248\u672c\u3002

                                  "},{"location":"admin/kpanda/clusters/cluster-version.html#kubernetes","title":"Kubernetes \u7248\u672c\u652f\u6301\u8303\u56f4","text":"Kubernetes \u793e\u533a\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u63a8\u8350\u7248\u672c \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5b89\u88c5\u5668 \u53d1\u5e03\u65f6\u95f4
                                  • 1.26
                                  • 1.27
                                  • 1.28
                                  • 1.25
                                  • 1.26
                                  • 1.27
                                  1.27.5 v0.13.0 2023.11.30"},{"location":"admin/kpanda/clusters/create-cluster.html","title":"\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4","text":"

                                  \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u96c6\u7fa4\u89d2\u8272\u5206\u56db\u7c7b\uff1a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3001\u7ba1\u7406\u96c6\u7fa4\u3001\u5de5\u4f5c\u96c6\u7fa4\u3001\u63a5\u5165\u96c6\u7fa4\u3002 \u5176\u4e2d\uff0c\u63a5\u5165\u96c6\u7fa4\u53ea\u80fd\u4ece\u7b2c\u4e09\u65b9\u5382\u5546\u63a5\u5165\uff0c\u53c2\u89c1\u63a5\u5165\u96c6\u7fa4\u3002

                                  \u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u65b0\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u9700\u8981\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4fdd\u6301\u4e00\u81f4\u3002 \u5982\u9700\u4f7f\u7528\u533a\u522b\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 OS \u6216\u67b6\u6784\u7684\u8282\u70b9\u521b\u5efa\u96c6\u7fa4\uff0c\u53c2\u9605\u5728 centos \u7ba1\u7406\u5e73\u53f0\u4e0a\u521b\u5efa ubuntu \u5de5\u4f5c\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

                                  \u63a8\u8350\u4f7f\u7528 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684\u64cd\u4f5c\u7cfb\u7edf\u6765\u521b\u5efa\u96c6\u7fa4\u3002 \u5982\u60a8\u672c\u5730\u8282\u70b9\u4e0d\u5728\u4e0a\u8ff0\u652f\u6301\u8303\u56f4\uff0c\u53ef\u53c2\u8003\u5728\u975e\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u521b\u5efa\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

                                  "},{"location":"admin/kpanda/clusters/create-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                  \u521b\u5efa\u96c6\u7fa4\u4e4b\u524d\u9700\u8981\u6ee1\u8db3\u4e00\u5b9a\u7684\u524d\u63d0\u6761\u4ef6\uff1a

                                  • \u6839\u636e\u4e1a\u52a1\u9700\u6c42\u51c6\u5907\u4e00\u5b9a\u6570\u91cf\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u4e00\u81f4\u3002
                                  • \u63a8\u8350 Kubernetes \u7248\u672c 1.29.5\uff0c\u5177\u4f53\u7248\u672c\u8303\u56f4\uff0c\u53c2\u9605 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u96c6\u7fa4\u7248\u672c\u652f\u6301\u4f53\u7cfb\uff0c \u76ee\u524d\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4\u5728 v1.28.0-v1.30.2\u3002\u5982\u9700\u521b\u5efa\u4f4e\u7248\u672c\u7684\u96c6\u7fa4\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4\u3001\u90e8\u7f72\u4e0e\u5347\u7ea7 Kubean \u5411\u4e0b\u517c\u5bb9\u7248\u672c\u3002
                                  • \u76ee\u6807\u4e3b\u673a\u9700\u8981\u5141\u8bb8 IPv4 \u8f6c\u53d1\u3002\u5982\u679c Pod \u548c Service \u4f7f\u7528\u7684\u662f IPv6\uff0c\u5219\u76ee\u6807\u670d\u52a1\u5668\u9700\u8981\u5141\u8bb8 IPv6 \u8f6c\u53d1\u3002
                                  • \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u6682\u4e0d\u63d0\u4f9b\u5bf9\u9632\u706b\u5899\u7684\u7ba1\u7406\u529f\u80fd\uff0c\u60a8\u9700\u8981\u9884\u5148\u81ea\u884c\u5b9a\u4e49\u76ee\u6807\u4e3b\u673a\u9632\u706b\u5899\u89c4\u5219\u3002\u4e3a\u4e86\u907f\u514d\u521b\u5efa\u96c6\u7fa4\u7684\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u95ee\u9898\uff0c\u5efa\u8bae\u7981\u7528\u76ee\u6807\u4e3b\u673a\u7684\u9632\u706b\u5899\u3002
                                  • \u53c2\u9605\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5\u3002
                                  "},{"location":"admin/kpanda/clusters/create-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                  1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u4e2d\uff0c\u70b9\u51fb \u521b\u5efa\u96c6\u7fa4 \u6309\u94ae\u3002

                                  2. \u53c2\u8003\u4e0b\u5217\u8981\u6c42\u586b\u5199\u96c6\u7fa4\u57fa\u672c\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                    • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u53ea\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08\"-\"\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u8005\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002
                                    • \u88ab\u7eb3\u7ba1\uff1a\u9009\u62e9\u7531\u54ea\u4e2a\u96c6\u7fa4\u6765\u7ba1\u7406\u6b64\u96c6\u7fa4\uff0c\u4f8b\u5982\u5728\u96c6\u7fa4\u751f\u547d\u5468\u671f\u4e2d\u521b\u5efa\u3001\u5347\u7ea7\u3001\u8282\u70b9\u6269\u7f29\u5bb9\u3001\u5220\u9664\u96c6\u7fa4\u7b49\u3002
                                    • \u8fd0\u884c\u65f6\uff1a\u9009\u62e9\u96c6\u7fa4\u7684\u8fd0\u884c\u65f6\u73af\u5883\uff0c\u76ee\u524d\u652f\u6301 containerd \u548c docker\uff0c\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6\u3002
                                    • Kubernetes \u7248\u672c\uff1a\u652f\u6301 3 \u4e2a\u7248\u672c\u8de8\u5ea6\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u88ab\u7eb3\u7ba1\u96c6\u7fa4\u6240\u652f\u6301\u7684\u7248\u672c\u3002

                                  3. \u586b\u5199\u8282\u70b9\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                    • \u9ad8\u53ef\u7528\uff1a\u5f00\u542f\u540e\u9700\u8981\u63d0\u4f9b\u81f3\u5c11 3 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u3002\u5173\u95ed\u540e\uff0c\u53ea\u63d0\u4f9b 1 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u5373\u53ef\u3002

                                      \u751f\u4ea7\u73af\u5883\u4e2d\u5efa\u8bae\u4f7f\u7528\u9ad8\u53ef\u7528\u6a21\u5f0f\u3002

                                    • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u9009\u62e9\u901a\u8fc7\u7528\u6237\u540d/\u5bc6\u7801\u8fd8\u662f\u516c\u79c1\u94a5\u8bbf\u95ee\u8282\u70b9\u3002

                                      \u5982\u679c\u4f7f\u7528\u516c\u79c1\u94a5\u65b9\u5f0f\u8bbf\u95ee\u8282\u70b9\uff0c\u9700\u8981\u9884\u5148\u914d\u7f6e\u8282\u70b9\u7684 SSH \u5bc6\u94a5\u3002\u53c2\u9605\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9\u3002

                                    • \u4f7f\u7528\u7edf\u4e00\u7684\u5bc6\u7801\uff1a\u5f00\u542f\u540e\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u7684\u8bbf\u95ee\u5bc6\u7801\u90fd\u76f8\u540c\uff0c\u9700\u8981\u5728\u4e0b\u65b9\u8f93\u5165\u8bbf\u95ee\u6240\u6709\u8282\u70b9\u7684\u7edf\u4e00\u5bc6\u7801\u3002\u5982\u679c\u5173\u95ed\uff0c\u5219\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u8282\u70b9\u8bbe\u7f6e\u5355\u72ec\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002

                                    • \u8282\u70b9\u4fe1\u606f\uff1a\u586b\u5199\u8282\u70b9\u540d\u79f0\u548c IP \u5730\u5740\u3002

                                    • \u81ea\u5b9a\u4e49\u53c2\u6570\uff1a\u8bbe\u7f6e\u53d8\u91cf\u63a7\u5236 Ansible \u4e0e\u8fdc\u7a0b\u4e3b\u673a\u4ea4\u4e92\u3002\u53ef\u8bbe\u7f6e\u53d8\u91cf\u53c2\u8003\u8fde\u63a5\u5230\u4e3b\u673a\uff1a\u884c\u4e3a\u6e05\u5355\u53c2\u6570
                                    • NTP \u65f6\u95f4\u540c\u6b65\uff1a\u5f00\u542f\u540e\u4f1a\u81ea\u52a8\u540c\u6b65\u5404\u4e2a\u8282\u70b9\u4e0a\u7684\u65f6\u95f4\uff0c\u9700\u8981\u63d0\u4f9b NTP \u670d\u52a1\u5668\u5730\u5740\u3002

                                  4. \u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb\u8282\u70b9\u68c0\u67e5\u3002\u5982\u679c\u68c0\u67e5\u901a\u8fc7\u5219\u7ee7\u7eed\u4e0b\u4e00\u6b65\u64cd\u4f5c\u3002\u5982\u679c\u68c0\u67e5\u672a\u901a\u8fc7\uff0c\u5219\u66f4\u65b0 \u8282\u70b9\u4fe1\u606f \u5e76\u518d\u6b21\u6267\u884c\u68c0\u67e5\u3002

                                  5. \u586b\u5199\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                    • \u7f51\u7edc\u63d2\u4ef6\uff1a\u8d1f\u8d23\u4e3a\u96c6\u7fa4\u5185\u7684 Pod \u63d0\u4f9b\u7f51\u7edc\u670d\u52a1\uff0c\u521b\u5efa\u96c6\u7fa4\u540e\u4e0d\u53ef\u66f4\u6539\u7f51\u7edc\u63d2\u4ef6\u3002\u652f\u6301 cilium \u548c calico\u3002\u9009\u62e9 none \u8868\u793a\u6682\u4e0d\u5b89\u88c5\u7f51\u7edc\u63d2\u4ef6\u3002

                                    • \u5bb9\u5668\u7f51\u6bb5\uff1a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4f7f\u7528\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u7684\u6570\u91cf\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

                                    • \u670d\u52a1\u7f51\u6bb5\uff1a\u540c\u4e00\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4e92\u76f8\u8bbf\u95ee\u65f6\u4f7f\u7528\u7684 Service \u8d44\u6e90\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a Service \u8d44\u6e90\u7684\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

                                  6. \u586b\u5199\u63d2\u4ef6\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                  7. \u586b\u5199\u9ad8\u7ea7\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                                    • kubelet_max_pods \uff1a\u8bbe\u7f6e\u6bcf\u4e2a\u8282\u70b9\u7684\u6700\u5927 Pod \u6570\u91cf\uff0c\u9ed8\u8ba4\u4e3a 110 \u4e2a\u3002
                                    • hostname_overide \uff1a\u91cd\u7f6e\u4e3b\u673a\u540d\uff0c\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u503c\uff0c\u91c7\u7528\u7cfb\u7edf\u9ed8\u8ba4\u751f\u6210\u7684\u540d\u79f0\u4f5c\u4e3a\u4e3b\u673a\u540d\u79f0\u3002
                                    • kubernetes_audit \uff1aKubernetes \u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                                    • auto_renew_certificate \uff1a\u5728\u6bcf\u6708\u7b2c\u4e00\u4e2a\u661f\u671f\u4e00\u81ea\u52a8\u66f4\u65b0 Kubernetes \u63a7\u5236\u5e73\u9762\u8bc1\u4e66\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                                    • disable_firewalld&ufw \uff1a\u7981\u7528\u9632\u706b\u5899\uff0c\u907f\u514d\u8282\u70b9\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u8bbf\u95ee\u3002
                                    • Insecure_registries \uff1a\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u914d\u7f6e\u3002\u4f7f\u7528\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u521b\u5efa\u96c6\u7fa4\u65f6\uff0c\u4e3a\u4e86\u907f\u514d\u8bc1\u4e66\u95ee\u9898\u5bfc\u81f4\u5bb9\u5668\u5f15\u64ce\u62d2\u7edd\u8bbf\u95ee\uff0c\u9700\u8981\u5728\u8fd9\u91cc\u586b\u5199\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u5730\u5740\uff0c\u4ee5\u7ed5\u8fc7\u5bb9\u5668\u5f15\u64ce\u7684\u8bc1\u4e66\u8ba4\u8bc1\u800c\u83b7\u53d6\u955c\u50cf\u3002
                                    • yum_repos \uff1a\u586b\u5199 Yum \u6e90\u4ed3\u5e93\u5730\u5740\u3002\u79bb\u7ebf\u73af\u5883\u4e0b\uff0c\u9ed8\u8ba4\u7ed9\u51fa\u7684\u5730\u5740\u9009\u9879\u4ec5\u4f9b\u53c2\u8003\uff0c\u8bf7\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u586b\u5199\u3002

                                  Success

                                  • \u586b\u5199\u6b63\u786e\u4fe1\u606f\u5e76\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u9875\u9762\u4f1a\u63d0\u793a\u96c6\u7fa4\u6b63\u5728\u521b\u5efa\u4e2d\u3002
                                  • \u521b\u5efa\u96c6\u7fa4\u8017\u65f6\u8f83\u957f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u5f85\u3002\u5176\u95f4\uff0c\u53ef\u4ee5\u70b9\u51fb \u8fd4\u56de\u96c6\u7fa4\u5217\u8868 \u6309\u94ae\u8ba9\u5b89\u88c5\u8fc7\u7a0b\u540e\u53f0\u8fd0\u884c\u3002
                                  • \u5982\u9700\u67e5\u770b\u5f53\u524d\u72b6\u6001\uff0c\u53ef\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u3002

                                  Note

                                  • \u5f53\u96c6\u7fa4\u51fa\u73b0\u672a\u77e5\u72b6\u6001\u65f6\uff0c\u8868\u793a\u5f53\u524d\u96c6\u7fa4\u5df2\u5931\u8054\u3002
                                  • \u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\u3002
                                  • \u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002

                                  "},{"location":"admin/kpanda/clusters/delete-cluster.html","title":"\u5378\u8f7d/\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

                                  \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0 \u521b\u5efa\u7684\u96c6\u7fa4 \u652f\u6301 \u5378\u8f7d\u96c6\u7fa4 \u6216 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\uff0c\u4ece\u5176\u4ed6\u73af\u5883\u76f4\u63a5 \u63a5\u5165\u7684\u96c6\u7fa4 \u4ec5\u652f\u6301 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u3002

                                  Info

                                  \u5982\u679c\u60f3\u5f7b\u5e95\u5220\u9664\u4e00\u4e2a\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u9700\u8981\u524d\u5f80\u521b\u5efa\u8be5\u96c6\u7fa4\u7684\u539f\u59cb\u5e73\u53f0\u64cd\u4f5c\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0d\u652f\u6301\u5220\u9664\u63a5\u5165\u7684\u96c6\u7fa4\u3002

                                  \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c \u5378\u8f7d\u96c6\u7fa4 \u548c \u89e3\u9664\u63a5\u5165 \u7684\u533a\u522b\u5728\u4e8e\uff1a

                                  • \u5378\u8f7d\u96c6\u7fa4 \u64cd\u4f5c\u4f1a\u9500\u6bc1\u8be5\u96c6\u7fa4\uff0c\u5e76\u91cd\u7f6e\u96c6\u7fa4\u4e0b\u6240\u6709\u8282\u70b9\u7684\u6570\u636e\u3002\u6240\u6709\u6570\u636e\u90fd\u5c06\u88ab\u9500\u6bc1\uff0c\u5efa\u8bae\u505a\u597d\u5907\u4efd\u3002\u540e\u671f\u9700\u8981\u65f6\u5fc5\u987b\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u96c6\u7fa4\u3002
                                  • \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u4f1a\u5c06\u5f53\u524d\u96c6\u7fa4\u4ece\u5e73\u53f0\u4e2d\u79fb\u9664\uff0c\u4e0d\u4f1a\u6467\u6bc1\u96c6\u7fa4\uff0c\u4e5f\u4e0d\u4f1a\u9500\u6bc1\u6570\u636e\u3002
                                  "},{"location":"admin/kpanda/clusters/delete-cluster.html#_2","title":"\u5378\u8f7d\u96c6\u7fa4","text":"

                                  Note

                                  • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u5378\u8f7d\u96c6\u7fa4\u7684\u64cd\u4f5c\u3002
                                  • \u5378\u8f7d\u96c6\u7fa4\u4e4b\u524d\uff0c\u5e94\u8be5\u5148\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u5728 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \u4e2d\u5173\u95ed \u96c6\u7fa4\u5220\u9664\u4fdd\u62a4 \uff0c \u5426\u5219\u4e0d\u663e\u793a \u5378\u8f7d\u96c6\u7fa4 \u7684\u9009\u9879\u3002
                                  • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u5378\u8f7d\u6216\u79fb\u9664\u64cd\u4f5c\u3002
                                  1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u5378\u8f7d\u96c6\u7fa4 \u3002

                                  2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u3002

                                    \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u6267\u884c\u5378\u8f7d\u64cd\u4f5c\u3002

                                  3. \u8fd4\u56de \u96c6\u7fa4\u5217\u8868 \u9875\u53ef\u4ee5\u770b\u5230\u8be5\u96c6\u7fa4\u7684\u72b6\u6001\u5df2\u7ecf\u53d8\u6210 \u5220\u9664\u4e2d \u3002\u5378\u8f7d\u96c6\u7fa4\u53ef\u80fd\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5019\u3002

                                  "},{"location":"admin/kpanda/clusters/delete-cluster.html#_3","title":"\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

                                  Note

                                  • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u89e3\u9664\u63a5\u5165\u7684\u64cd\u4f5c\u3002
                                  • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u89e3\u9664\u63a5\u5165\u3002
                                  1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

                                  2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

                                    \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u89e3\u9664\u63a5\u5165\u3002

                                  "},{"location":"admin/kpanda/clusters/delete-cluster.html#_4","title":"\u6e05\u7406\u89e3\u9664\u63a5\u5165\u96c6\u7fa4\u914d\u7f6e\u6570\u636e","text":"

                                  \u96c6\u7fa4\u88ab\u79fb\u9664\u540e\uff0c\u96c6\u7fa4\u4e2d\u539f\u6709\u7684\u7ba1\u7406\u5e73\u53f0\u6570\u636e\u4e0d\u4f1a\u88ab\u81ea\u52a8\u6e05\u9664\uff0c\u5982\u9700\u5c06\u96c6\u7fa4\u63a5\u5165\u81f3\u65b0\u7ba1\u7406\u5e73\u53f0\u5219\u9700\u8981\u624b\u52a8\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

                                  \u5220\u9664 kpanda-system\u3001insight-system \u547d\u540d\u7a7a\u95f4

                                  kubectl delete ns kpanda-system insight-system\n
                                  "},{"location":"admin/kpanda/clusters/integrate-cluster.html","title":"\u63a5\u5165\u96c6\u7fa4","text":"

                                  \u901a\u8fc7\u63a5\u5165\u96c6\u7fa4\u64cd\u4f5c\uff0c\u80fd\u591f\u5bf9\u4f17\u591a\u4e91\u670d\u52a1\u5e73\u53f0\u96c6\u7fa4\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u8fdb\u884c\u7edf\u4e00\u7eb3\u7ba1\uff0c\u5f62\u6210\u7edf\u4e00\u6cbb\u7406\u5e73\u53f0\uff0c\u6709\u6548\u907f\u514d\u4e86\u88ab\u5382\u5546\u9501\u5b9a\u98ce\u9669\uff0c\u52a9\u529b\u4f01\u4e1a\u4e1a\u52a1\u5b89\u5168\u4e0a\u4e91\u3002

                                  \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u63a5\u5165\u591a\u79cd\u4e3b\u6d41\u7684\u5bb9\u5668\u96c6\u7fa4\uff0c\u4f8b\u5982 Redhat Openshift, SUSE Rancher, VMware Tanzu, Amazon EKS, Aliyun ACK, Huawei CCE, Tencent TKE, \u6807\u51c6 Kubernetes \u96c6\u7fa4\u3002

                                  "},{"location":"admin/kpanda/clusters/integrate-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  • \u51c6\u5907\u4e00\u4e2a\u5f85\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\uff0c\u5e76\u4e14\u96c6\u7fa4\u7684 Kubernetes \u7248\u672c 1.22+\u3002
                                  • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
                                  "},{"location":"admin/kpanda/clusters/integrate-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                  1. \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u63a5\u5165\u96c6\u7fa4 \u6309\u94ae\u3002

                                  2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                                    • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u5e94\u5177\u6709\u552f\u4e00\u6027\uff0c\u8bbe\u7f6e\u540e\u4e0d\u53ef\u66f4\u6539\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26(\"-\")\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002
                                    • \u96c6\u7fa4\u522b\u540d\uff1a\u53ef\u8f93\u5165\u4efb\u610f\u5b57\u7b26\uff0c\u4e0d\u8d85\u8fc7 60 \u4e2a\u5b57\u7b26\u3002
                                    • \u53d1\u884c\u7248\uff1a\u96c6\u7fa4\u7684\u53d1\u884c\u5382\u5546\uff0c\u5305\u62ec\u5e02\u573a\u4e3b\u6d41\u4e91\u5382\u5546\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u3002
                                  3. \u586b\u5199\u76ee\u6807\u96c6\u7fa4\u7684 KubeConfig\uff0c\u70b9\u51fb \u9a8c\u8bc1 Config \uff0c\u9a8c\u8bc1\u901a\u8fc7\u540e\u624d\u80fd\u6210\u529f\u63a5\u5165\u96c6\u7fa4\u3002

                                    \u5982\u679c\u4e0d\u77e5\u9053\u5982\u4f55\u83b7\u53d6\u96c6\u7fa4\u7684 KubeConfig \u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u53f3\u4e0a\u89d2\u70b9\u51fb \u5982\u4f55\u83b7\u53d6 kubeConfig \u67e5\u770b\u5bf9\u5e94\u6b65\u9aa4\u3002

                                  4. \u786e\u8ba4\u6240\u6709\u53c2\u6570\u586b\u5199\u6b63\u786e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

                                  Note

                                  • \u65b0\u63a5\u5165\u7684\u96c6\u7fa4\u72b6\u6001\u4e3a \u63a5\u5165\u4e2d \uff0c\u63a5\u5165\u6210\u529f\u540e\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002
                                  • \u5982\u679c\u96c6\u7fa4\u72b6\u6001\u4e00\u76f4\u5904\u4e8e \u63a5\u5165\u4e2d \uff0c\u8bf7\u786e\u8ba4\u63a5\u5165\u811a\u672c\u662f\u5426\u5728\u5bf9\u5e94\u96c6\u7fa4\u4e0a\u6267\u884c\u6210\u529f\u3002\u6709\u5173\u96c6\u7fa4\u72b6\u6001\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u72b6\u6001\u3002
                                  "},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html","title":"\u63a5\u5165 rancher \u96c6\u7fa4","text":"

                                  \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u63a5\u5165 rancher \u96c6\u7fa4\u3002

                                  "},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  • \u51c6\u5907\u4e00\u4e2a\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u5f85\u63a5\u5165 ranhcer \u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\u3002
                                  • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
                                  "},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html#rancher-serviceaccount","title":"\u6b65\u9aa4\u4e00\uff1a\u5728 rancher \u96c6\u7fa4\u521b\u5efa\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684 ServiceAccount \u7528\u6237","text":"
                                  1. \u4f7f\u7528\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u89d2\u8272\u8fdb\u5165 rancher \u96c6\u7fa4\uff0c\u5e76\u4f7f\u7528\u7ec8\u7aef\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a sa.yaml \u7684\u6587\u4ef6\u3002

                                    vi sa.yaml\n

                                    \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

                                    sa.yaml
                                    apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: rancher-rke\nrules:\n  - apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n  - nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n  name: rancher-rke\nroleRef:\n    apiGroup: rbac.authorization.k8s.io\n    kind: ClusterRole\n    name: rancher-rke\n  subjects:\n  - kind: ServiceAccount\n    name: rancher-rke\n    namespace: kube-system\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  name: rancher-rke\n  namespace: kube-system\n

                                    \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

                                  2. \u5728\u5f53\u524d\u8def\u5f84\u4e0b\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u65b0\u5efa\u540d\u4e3a rancher-rke \u7684 ServiceAccount\uff08\u4ee5\u4e0b\u7b80\u79f0\u4e3a SA \uff09\uff1a

                                    kubectl apply -f sa.yaml\n

                                    \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                    clusterrole.rbac.authorization.k8s.io/rancher-rke created\nclusterrolebinding.rbac.authorization.k8s.io/rancher-rke created\nserviceaccount/rancher-rke created\n
                                  3. \u521b\u5efa\u540d\u4e3a rancher-rke-secret \u7684\u5bc6\u94a5\uff0c\u5e76\u5c06\u5bc6\u94a5\u548c rancher-rke SA \u7ed1\u5b9a\u3002

                                    kubectl apply -f - <<EOF\napiVersion: v1\nkind: Secret\nmetadata:\n  name: rancher-rke-secret\n  namespace: kube-system\n  annotations:\n    kubernetes.io/service-account.name: rancher-rke\n  type: kubernetes.io/service-account-token\nEOF\n

                                    \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                    secret/rancher-rke-secret created\n

                                    Note

                                    \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u7248\u672c\u4f4e\u4e8e 1.24\uff0c\u8bf7\u5ffd\u7565\u6b64\u6b65\u9aa4\uff0c\u76f4\u63a5\u524d\u5f80\u4e0b\u4e00\u6b65\u3002

                                  4. \u67e5\u627e rancher-rke SA \u7684\u5bc6\u94a5\uff1a

                                    kubectl -n kube-system get secret | grep rancher-rke | awk '{print $1}'\n

                                    \u9884\u671f\u8f93\u51fa\uff1a

                                    rancher-rke-secret\n

                                    \u67e5\u770b\u5bc6\u94a5 rancher-rke-secret \u7684\u8be6\u60c5\uff1a

                                    kubectl -n kube-system describe secret rancher-rke-secret\n

                                    \u9884\u671f\u8f93\u51fa\uff1a

                                    Name:         rancher-rke-secret\nNamespace:    kube-system\nLabels:       <none>\nAnnotations:  kubernetes.io/service-account.name: rancher-rke\n            kubernetes.io/service-account.uid: d83df5d9-bd7d-488d-a046-b740618a0174\n\nType:  kubernetes.io/service-account-token\n\nData\n====\nca.crt:     570 bytes\nnamespace:  11 bytes\ntoken:      eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
                                  "},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html#rancher-rke-sa-kubeconfig","title":"\u6b65\u9aa4\u4e8c\uff1a\u5728\u672c\u5730\u4f7f\u7528 rancher-rke SA \u7684\u8ba4\u8bc1\u4fe1\u606f\u66f4\u65b0 kubeconfig \u6587\u4ef6","text":"

                                  \u5728\u4efb\u610f\u4e00\u53f0\u5b89\u88c5\u4e86 kubelet \u7684\u672c\u5730\u8282\u70b9\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

                                  1. \u914d\u7f6e kubelet token\uff1a

                                    kubectl config set-credentials rancher-rke --token=`rancher-rke-secret` \u91cc\u9762\u7684 token \u4fe1\u606f\n

                                    \u4f8b\u5982\uff1a

                                    kubectl config set-credentials eks-admin --token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
                                  2. \u914d\u7f6e kubelet APIServer \u4fe1\u606f\uff1a

                                    kubectl config set-cluster {\u96c6\u7fa4\u540d} --insecure-skip-tls-verify=true --server={APIServer}\n
                                    • {\u96c6\u7fa4\u540d} \uff1a\u6307 rancher \u96c6\u7fa4\u7684\u540d\u79f0\u3002
                                    • {APIServer} \uff1a\u6307\u96c6\u7fa4\u7684\u8bbf\u95ee\u5730\u5740\uff0c\u4e00\u822c\u4e3a\u96c6\u7fa4\u63a7\u5236\u8282\u70b9 IP + 6443 \u7aef\u53e3\uff0c\u5982 https://10.X.X.X:6443

                                    \u4f8b\u5982\uff1a

                                    kubectl config set-cluster rancher-rke --insecure-skip-tls-verify=true --server=https://10.X.X.X:6443\n
                                  3. \u914d\u7f6e kubelet \u4e0a\u4e0b\u6587\u4fe1\u606f\uff1a

                                    kubectl config set-context {\u4e0a\u4e0b\u6587\u540d\u79f0} --cluster={\u96c6\u7fa4\u540d} --user={SA \u7528\u6237\u540d}\n

                                    \u4f8b\u5982\uff1a

                                    kubectl config set-context rancher-rke-context --cluster=rancher-rke --user=rancher-rke\n
                                  4. \u5728 kubelet \u4e2d\u6307\u5b9a\u6211\u4eec\u521a\u521a\u65b0\u5efa\u7684\u4e0a\u4e0b\u6587 rancher-rke-context \uff1a

                                    kubectl config use-context rancher-rke-context\n
                                  5. \u83b7\u53d6\u4e0a\u4e0b\u6587 rancher-rke-context \u4e2d\u7684 kubeconfig \u4fe1\u606f\u3002

                                    kubectl config view --minify --flatten --raw\n

                                    \u9884\u671f\u8f93\u51fa\uff1a

                                    apiVersion: v1\n  clusters:\n  - cluster:\n    insecure-skip-tls-verify: true\n    server: https://77C321BCF072682C70C8665ED4BFA10D.gr7.ap-southeast-1.eks.amazonaws.com\n  name: joincluster\n  contexts:\n  - context:\n    cluster: joincluster\n    user: eks-admin\n  name: ekscontext\n  current-context: ekscontext\n  kind: Config\n  preferences: {}\n  users:\n  - name: eks-admin\n  user:\n    token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImcxTjJwNkktWm5IbmRJU1RFRExvdWY1TGFWVUtGQ3VIejFtNlFQcUNFalEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2V\n
                                  "},{"location":"admin/kpanda/clusters/integrate-rancher-cluster.html#ai","title":"\u6b65\u9aa4\u4e09\uff1a\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u754c\u9762\u63a5\u5165\u96c6\u7fa4","text":"

                                  \u4f7f\u7528\u521a\u521a\u83b7\u53d6\u7684 kubeconfig \u6587\u4ef6\uff0c\u53c2\u8003\u63a5\u5165\u96c6\u7fa4\u6587\u6863\uff0c\u5c06 rancher \u96c6\u7fa4\u63a5\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3002

                                  "},{"location":"admin/kpanda/clusters/k8s-cert.html","title":"Kubernetes \u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0","text":"

                                  \u4e3a\u4fdd\u8bc1 Kubernetes \u5404\u7ec4\u4ef6\u4e4b\u95f4\u7684\u901a\u4fe1\u5b89\u5168\uff0c\u7ec4\u4ef6\u4e4b\u95f4\u7684\u8c03\u7528\u4f1a\u8fdb\u884c TLS \u8eab\u4efd\u9a8c\u8bc1\uff0c\u6267\u884c\u9a8c\u8bc1\u64cd\u4f5c\u9700\u8981\u914d\u7f6e\u96c6\u7fa4 PKI \u8bc1\u4e66\u3002

                                  \u96c6\u7fa4\u8bc1\u4e66\u6709\u6548\u671f\u4e3a1\u5e74\uff0c\u4e3a\u907f\u514d\u8bc1\u4e66\u8fc7\u671f\u5bfc\u81f4\u4e1a\u52a1\u65e0\u6cd5\u4f7f\u7528\uff0c\u8bf7\u53ca\u65f6\u66f4\u65b0\u8bc1\u4e66\u3002

                                  \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u8fdb\u884c\u8bc1\u4e66\u66f4\u65b0\u3002

                                  "},{"location":"admin/kpanda/clusters/k8s-cert.html#_1","title":"\u68c0\u67e5\u8bc1\u4e66\u662f\u5426\u8fc7\u671f","text":"

                                  \u60a8\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\u662f\u5426\u8fc7\u671f\uff1a

                                  kubeadm certs check-expiration\n

                                  \u8f93\u51fa\u7c7b\u4f3c\u4e8e\u4ee5\u4e0b\u5185\u5bb9\uff1a

                                  CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED\nadmin.conf                 Dec 14, 2024 07:26 UTC   204d                                    no      \napiserver                  Dec 14, 2024 07:26 UTC   204d            ca                      no      \napiserver-etcd-client      Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \napiserver-kubelet-client   Dec 14, 2024 07:26 UTC   204d            ca                      no      \ncontroller-manager.conf    Dec 14, 2024 07:26 UTC   204d                                    no      \netcd-healthcheck-client    Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-peer                  Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-server                Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \nfront-proxy-client         Dec 14, 2024 07:26 UTC   204d            front-proxy-ca          no      \nscheduler.conf             Dec 14, 2024 07:26 UTC   204d                                    no      \n\nCERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED\nca                      Dec 12, 2033 07:26 UTC   9y              no      \netcd-ca                 Dec 12, 2033 07:26 UTC   9y              no      \nfront-proxy-ca          Dec 12, 2033 07:26 UTC   9y              no      \n
                                  "},{"location":"admin/kpanda/clusters/k8s-cert.html#_2","title":"\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

                                  \u60a8\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66\uff0c\u53ea\u9700\u5e26\u4e0a\u5408\u9002\u7684\u547d\u4ee4\u884c\u9009\u9879\u3002\u66f4\u65b0\u8bc1\u4e66\u524d\u8bf7\u5148\u5907\u4efd\u5f53\u524d\u8bc1\u4e66\u3002

                                  \u66f4\u65b0\u6307\u5b9a\u8bc1\u4e66\uff1a

                                  kubeadm certs renew\n

                                  \u66f4\u65b0\u5168\u90e8\u8bc1\u4e66\uff1a

                                  kubeadm certs renew all\n

                                  \u66f4\u65b0\u540e\u7684\u8bc1\u4e66\u53ef\u4ee5\u5728 /etc/kubernetes/pki \u76ee\u5f55\u4e0b\u67e5\u770b\uff0c\u6709\u6548\u671f\u5ef6\u7eed 1 \u5e74\u3002 \u4ee5\u4e0b\u5bf9\u5e94\u7684\u51e0\u4e2a\u914d\u7f6e\u6587\u4ef6\u4e5f\u4f1a\u540c\u6b65\u66f4\u65b0\uff1a

                                  • /etc/kubernetes/admin.conf
                                  • /etc/kubernetes/controller-manager.conf
                                  • /etc/kubernetes/scheduler.conf

                                  Note

                                  • \u5982\u679c\u60a8\u90e8\u7f72\u7684\u662f\u4e00\u4e2a\u9ad8\u53ef\u7528\u96c6\u7fa4\uff0c\u8fd9\u4e2a\u547d\u4ee4\u9700\u8981\u5728\u6240\u6709\u63a7\u5236\u8282\u70b9\u4e0a\u6267\u884c\u3002
                                  • \u6b64\u547d\u4ee4\u7528 CA\uff08\u6216\u8005 front-proxy-CA \uff09\u8bc1\u4e66\u548c\u5b58\u50a8\u5728 /etc/kubernetes/pki \u4e2d\u7684\u5bc6\u94a5\u6267\u884c\u66f4\u65b0\u3002
                                  "},{"location":"admin/kpanda/clusters/k8s-cert.html#_3","title":"\u91cd\u542f\u670d\u52a1","text":"

                                  \u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u4e4b\u540e\uff0c\u4f60\u9700\u8981\u91cd\u542f\u63a7\u5236\u9762 Pod\u3002\u56e0\u4e3a\u52a8\u6001\u8bc1\u4e66\u91cd\u8f7d\u76ee\u524d\u8fd8\u4e0d\u88ab\u6240\u6709\u7ec4\u4ef6\u548c\u8bc1\u4e66\u652f\u6301\uff0c\u6240\u6709\u8fd9\u9879\u64cd\u4f5c\u662f\u5fc5\u987b\u7684\u3002

                                  \u9759\u6001 Pod \u662f\u88ab\u672c\u5730 kubelet \u800c\u4e0d\u662f API \u670d\u52a1\u5668\u7ba1\u7406\uff0c\u6240\u4ee5 kubectl \u4e0d\u80fd\u7528\u6765\u5220\u9664\u6216\u91cd\u542f\u4ed6\u4eec\u3002

                                  \u8981\u91cd\u542f\u9759\u6001 Pod\uff0c\u4f60\u53ef\u4ee5\u4e34\u65f6\u5c06\u6e05\u5355\u6587\u4ef6\u4ece /etc/kubernetes/manifests/ \u79fb\u9664\u5e76\u7b49\u5f85 20 \u79d2\u3002 \u53c2\u8003 KubeletConfiguration \u7ed3\u6784\u4e2d\u7684 fileCheckFrequency \u503c\u3002

                                  \u5982\u679c Pod \u4e0d\u5728\u6e05\u5355\u76ee\u5f55\u91cc\uff0ckubelet \u5c06\u4f1a\u7ec8\u6b62\u5b83\u3002 \u5728\u53e6\u4e00\u4e2a fileCheckFrequency \u5468\u671f\u4e4b\u540e\u4f60\u53ef\u4ee5\u5c06\u6587\u4ef6\u79fb\u56de\u53bb\uff0ckubelet \u53ef\u4ee5\u5b8c\u6210 Pod \u7684\u91cd\u5efa\uff0c\u800c\u7ec4\u4ef6\u7684\u8bc1\u4e66\u66f4\u65b0\u64cd\u4f5c\u4e5f\u5f97\u4ee5\u5b8c\u6210\u3002

                                  mv ./manifests/* ./temp/\nmv ./temp/* ./manifests/\n

                                  Note

                                  \u5982\u679c\u5bb9\u5668\u670d\u52a1\u4f7f\u7528\u7684\u662f Docker\uff0c\u4e3a\u4e86\u8ba9\u8bc1\u4e66\u751f\u6548\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bf9\u6d89\u53ca\u5230\u8bc1\u4e66\u4f7f\u7528\u7684\u51e0\u4e2a\u670d\u52a1\u8fdb\u884c\u91cd\u542f\uff1a

                                  docker ps | grep -E 'k8s_kube-apiserver|k8s_kube-controller-manager|k8s_kube-scheduler|k8s_etcd_etcd' | awk -F ' ' '{print $1}' | xargs docker restart\n
                                  "},{"location":"admin/kpanda/clusters/k8s-cert.html#kubeconfig","title":"\u66f4\u65b0 KubeConfig","text":"

                                  \u6784\u5efa\u96c6\u7fa4\u65f6\u901a\u5e38\u4f1a\u5c06 admin.conf \u8bc1\u4e66\u590d\u5236\u5230 $HOME/.kube/config \u4e2d\uff0c\u4e3a\u4e86\u5728\u66f4\u65b0 admin.conf \u540e\u66f4\u65b0 $HOME/.kube/config \u7684\u5185\u5bb9\uff0c \u5fc5\u987b\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n
                                  "},{"location":"admin/kpanda/clusters/k8s-cert.html#kubelet","title":"\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362","text":"

                                  \u5b8c\u6210\u4ee5\u4e0a\u64cd\u4f5c\u540e\uff0c\u57fa\u672c\u5b8c\u6210\u4e86\u96c6\u7fa4\u6240\u6709\u8bc1\u4e66\u7684\u66f4\u65b0\uff0c\u4f46\u4e0d\u5305\u62ec kubelet\u3002

                                  \u56e0\u4e3a kubernetes \u5305\u542b\u7279\u6027 kubelet \u8bc1\u4e66\u8f6e\u6362\uff0c \u5728\u5f53\u524d\u8bc1\u4e66\u5373\u5c06\u8fc7\u671f\u65f6\uff0c \u5c06\u81ea\u52a8\u751f\u6210\u65b0\u7684\u79d8\u94a5\uff0c\u5e76\u4ece Kubernetes API \u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002 \u4e00\u65e6\u65b0\u7684\u8bc1\u4e66\u53ef\u7528\uff0c\u5b83\u5c06\u88ab\u7528\u4e8e\u4e0e Kubernetes API \u95f4\u7684\u8fde\u63a5\u8ba4\u8bc1\u3002

                                  Note

                                  \u6b64\u7279\u6027\u9002\u7528\u4e8e Kubernetes 1.8.0 \u6216\u66f4\u9ad8\u7684\u7248\u672c\u3002

                                  \u542f\u7528\u5ba2\u6237\u7aef\u8bc1\u4e66\u8f6e\u6362\uff0c\u914d\u7f6e\u53c2\u6570\u5982\u4e0b\uff1a

                                  • kubelet \u8fdb\u7a0b\u63a5\u6536 --rotate-certificates \u53c2\u6570\uff0c\u8be5\u53c2\u6570\u51b3\u5b9a kubelet \u5728\u5f53\u524d\u4f7f\u7528\u7684 \u8bc1\u4e66\u5373\u5c06\u5230\u671f\u65f6\uff0c\u662f\u5426\u4f1a\u81ea\u52a8\u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002

                                  • kube-controller-manager \u8fdb\u7a0b\u63a5\u6536 --cluster-signing-duration \u53c2\u6570 \uff08\u5728 1.19 \u7248\u672c\u4e4b\u524d\u4e3a --experimental-cluster-signing-duration\uff09\uff0c\u7528\u6765\u63a7\u5236\u7b7e\u53d1\u8bc1\u4e66\u7684\u6709\u6548\u671f\u9650\u3002

                                  \u66f4\u591a\u8be6\u60c5\u53c2\u8003\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362\u3002

                                  "},{"location":"admin/kpanda/clusters/k8s-cert.html#_4","title":"\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

                                  \u4e3a\u4e86\u66f4\u9ad8\u6548\u4fbf\u6377\u5904\u7406\u5df2\u8fc7\u671f\u6216\u8005\u5373\u5c06\u8fc7\u671f\u7684 kubernetes \u96c6\u7fa4\u8bc1\u4e66\uff0c\u53ef\u53c2\u8003 k8s \u7248\u672c\u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0\u3002

                                  "},{"location":"admin/kpanda/clusters/runtime.html","title":"\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6","text":"

                                  \u5bb9\u5668\u8fd0\u884c\u65f6\u662f kubernetes \u4e2d\u5bf9\u5bb9\u5668\u548c\u5bb9\u5668\u955c\u50cf\u751f\u547d\u5468\u671f\u8fdb\u884c\u7ba1\u7406\u7684\u91cd\u8981\u7ec4\u4ef6\u3002 kubernetes \u5728 1.19 \u7248\u672c\u4e2d\u5c06 containerd \u8bbe\u4e3a\u9ed8\u8ba4\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u5e76\u5728 1.24 \u7248\u672c\u4e2d\u79fb\u9664\u4e86 Dockershim \u7ec4\u4ef6\u7684\u652f\u6301\u3002

                                  \u56e0\u6b64\u76f8\u8f83\u4e8e Docker \u8fd0\u884c\u65f6\uff0c\u6211\u4eec\u66f4\u52a0 \u63a8\u8350\u60a8\u4f7f\u7528\u8f7b\u91cf\u7684 containerd \u4f5c\u4e3a\u60a8\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u56e0\u4e3a\u8fd9\u5df2\u7ecf\u6210\u4e3a\u5f53\u524d\u4e3b\u6d41\u7684\u8fd0\u884c\u65f6\u9009\u62e9\u3002

                                  \u9664\u6b64\u4e4b\u5916\uff0c\u4e00\u4e9b\u64cd\u4f5c\u7cfb\u7edf\u53d1\u884c\u5382\u5546\u5bf9 Docker \u8fd0\u884c\u65f6\u7684\u517c\u5bb9\u4e5f\u4e0d\u591f\u53cb\u597d\uff0c\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u8fd0\u884c\u65f6\u7684\u652f\u6301\u5982\u4e0b\u8868\uff1a

                                  "},{"location":"admin/kpanda/clusters/runtime.html#_2","title":"\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u548c\u63a8\u8350\u7684\u8fd0\u884c\u65f6\u7248\u672c\u5bf9\u5e94\u5173\u7cfb","text":"\u64cd\u4f5c\u7cfb\u7edf \u63a8\u8350\u7684 containerd \u7248\u672c \u63a8\u8350\u7684 Docker \u7248\u672c CentOS 1.7.5 20.10 RedHatOS 1.7.5 20.10 KylinOS 1.7.5 19.03\uff08\u4ec5 ARM \u67b6\u6784\u652f\u6301 \uff0c\u5728 x86 \u67b6\u6784\u4e0b\u4e0d\u652f\u6301\u4f7f\u7528 Docker \u4f5c\u4e3a\u8fd0\u884c\u65f6\uff09

                                  \u66f4\u591a\u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 RedHatOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c \u548c KylinOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c

                                  Note

                                  \u5728\u79bb\u7ebf\u5b89\u88c5\u6a21\u5f0f\u4e0b\uff0c\u9700\u8981\u63d0\u524d\u51c6\u5907\u76f8\u5173\u64cd\u4f5c\u7cfb\u7edf\u7684\u8fd0\u884c\u65f6\u79bb\u7ebf\u5305\u3002

                                  "},{"location":"admin/kpanda/clusters/upgrade-cluster.html","title":"\u96c6\u7fa4\u5347\u7ea7","text":"

                                  Kubernetes \u793e\u533a\u6bcf\u4e2a\u5b63\u5ea6\u90fd\u4f1a\u53d1\u5e03\u4e00\u6b21\u5c0f\u7248\u672c\uff0c\u6bcf\u4e2a\u7248\u672c\u7684\u7ef4\u62a4\u5468\u671f\u5927\u6982\u53ea\u6709 9 \u4e2a\u6708\u3002 \u7248\u672c\u505c\u6b62\u7ef4\u62a4\u540e\u5c31\u4e0d\u4f1a\u518d\u66f4\u65b0\u4e00\u4e9b\u91cd\u5927\u6f0f\u6d1e\u6216\u5b89\u5168\u6f0f\u6d1e\u3002\u624b\u52a8\u5347\u7ea7\u96c6\u7fa4\u64cd\u4f5c\u8f83\u4e3a\u7e41\u7410\uff0c\u7ed9\u7ba1\u7406\u4eba\u5458\u5e26\u6765\u4e86\u6781\u5927\u7684\u5de5\u4f5c\u8d1f\u62c5\u3002

                                  \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u901a\u8fc7 Web UI \u754c\u9762\u4e00\u952e\u5f0f\u5728\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4 Kubernetes \u7248\u672c\uff0c \u5982\u9700\u79bb\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u7684 kubernetes \u7248\u672c\uff0c\u8bf7\u53c2\u9605\u5de5\u4f5c\u96c6\u7fa4\u79bb\u7ebf\u5347\u7ea7\u6307\u5357\u8fdb\u884c\u5347\u7ea7\u3002

                                  Danger

                                  \u7248\u672c\u5347\u7ea7\u540e\u5c06\u65e0\u6cd5\u56de\u9000\u5230\u4e4b\u524d\u7684\u7248\u672c\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                                  Note

                                  • Kubernetes \u7248\u672c\u4ee5 x.y.z \u8868\u793a\uff0c\u5176\u4e2d x \u662f\u4e3b\u8981\u7248\u672c\uff0c y \u662f\u6b21\u8981\u7248\u672c\uff0c z \u662f\u8865\u4e01\u7248\u672c\u3002
                                  • \u4e0d\u5141\u8bb8\u8de8\u6b21\u8981\u7248\u672c\u5bf9\u96c6\u7fa4\u8fdb\u884c\u5347\u7ea7\uff0c\u4f8b\u5982\u4e0d\u80fd\u4ece 1.23 \u76f4\u63a5\u5347\u7ea7\u5230 1.25\u3002
                                  • \u63a5\u5165\u96c6\u7fa4 \u4e0d\u652f\u6301\u7248\u672c\u5347\u7ea7\u3002\u5982\u679c\u5de6\u4fa7\u5bfc\u822a\u680f\u6ca1\u6709 \u96c6\u7fa4\u5347\u7ea7 \uff0c\u8bf7\u68c0\u67e5\u8be5\u96c6\u7fa4\u662f\u5426\u4e3a \u63a5\u5165\u96c6\u7fa4 \u3002
                                  • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u53ea\u80fd\u901a\u8fc7\u7ec8\u7aef\u8fdb\u884c\u5347\u7ea7\u3002
                                  • \u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u65f6\uff0c\u8be5\u5de5\u4f5c\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u5e94\u8be5\u5df2\u7ecf\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u5e76\u4e14\u5904\u4e8e\u6b63\u5e38\u8fd0\u884c\u4e2d\u3002
                                  • \u5982\u679c\u9700\u8981\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u5347\u7ea7\u76f8\u540c\u7248\u672c\u7684\u65b9\u5f0f\u5b9e\u73b0\uff0c\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u3002
                                  1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                  2. \u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u5347\u7ea7 \uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u7248\u672c\u5347\u7ea7 \u3002

                                  3. \u9009\u62e9\u53ef\u5347\u7ea7\u7684\u7248\u672c\uff0c\u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\u3002

                                    Note

                                    \u5982\u679c\u60a8\u662f\u60f3\u901a\u8fc7\u5347\u7ea7\u65b9\u5f0f\u6765\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff1a

                                    1. \u627e\u5230\u96c6\u7fa4\u5bf9\u5e94\u7684 ConfigMap\uff0c\u60a8\u53ef\u4ee5\u767b\u5f55\u63a7\u5236\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u627e\u5230 varsConfRef \u4e2d\u7684 ConfigMap \u540d\u79f0\u3002

                                      kubectl get cluster.kubean.io <clustername> -o yaml\n
                                    2. \u6839\u636e\u9700\u8981\uff0c\u4fee\u6539 ConfigMap \u4e2d\u7684\u53c2\u6570\u4fe1\u606f\u3002

                                    3. \u5728\u6b64\u5904\u9009\u62e9\u76f8\u540c\u7248\u672c\u8fdb\u884c\u5347\u7ea7\u64cd\u4f5c\uff0c\u5347\u7ea7\u5b8c\u6210\u5373\u53ef\u6210\u529f\u66f4\u65b0\u5bf9\u5e94\u7684\u96c6\u7fa4\u53c2\u6570\u3002

                                  4. \u70b9\u51fb \u786e\u5b9a \u540e\uff0c\u53ef\u4ee5\u770b\u5230\u96c6\u7fa4\u7684\u5347\u7ea7\u8fdb\u5ea6\u3002

                                  5. \u96c6\u7fa4\u5347\u7ea7\u9884\u8ba1\u9700\u8981 30 \u5206\u949f\uff0c\u53ef\u4ee5\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u6309\u94ae\u67e5\u770b\u96c6\u7fa4\u5347\u7ea7\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/configmap-hot-loading.html","title":"configmap/secret \u70ed\u52a0\u8f7d","text":"

                                  configmap/secret \u70ed\u52a0\u8f7d\u662f\u6307\u5c06 configmap/secret \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u5728\u5bb9\u5668\u4e2d\u6302\u8f7d\u65f6\uff0c\u5f53\u914d\u7f6e\u53d1\u751f\u6539\u53d8\u65f6\uff0c\u5bb9\u5668\u5c06\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u800c\u65e0\u9700\u91cd\u542f Pod\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/configmap-hot-loading.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                  1. \u53c2\u8003\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d - \u5bb9\u5668\u914d\u7f6e\uff0c\u914d\u7f6e\u5bb9\u5668\u6570\u636e\u5b58\u50a8\uff0c\u9009\u62e9 Configmap \u3001 Configmap Key \u3001 Secret \u3001 Secret Key \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u81f3\u5bb9\u5668\u3002

                                    Note

                                    \u4f7f\u7528\u5b50\u8def\u5f84\uff08SubPath\uff09\u65b9\u5f0f\u6302\u8f7d\u7684\u914d\u7f6e\u6587\u4ef6\u4e0d\u652f\u6301\u70ed\u52a0\u8f7d\u3002

                                  2. \u8fdb\u5165\u3010\u914d\u7f6e\u4e0e\u5bc6\u94a5\u3011\u9875\u9762\uff0c\u8fdb\u5165\u914d\u7f6e\u9879\u8be6\u60c5\u9875\u9762\uff0c\u5728\u3010\u5173\u8054\u8d44\u6e90\u3011\u4e2d\u627e\u5230\u5bf9\u5e94\u7684 container \u8d44\u6e90\uff0c\u70b9\u51fb \u7acb\u5373\u52a0\u8f7d \u6309\u94ae\uff0c\u8fdb\u5165\u914d\u7f6e\u70ed\u52a0\u8f7d\u9875\u9762\u3002

                                    Note

                                    \u5982\u679c\u60a8\u7684\u5e94\u7528\u652f\u6301\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u5219\u65e0\u9700\u624b\u52a8\u6267\u884c\u70ed\u52a0\u8f7d\u64cd\u4f5c\u3002

                                  3. \u5728\u70ed\u52a0\u8f7d\u914d\u7f6e\u5f39\u7a97\u4e2d\uff0c\u8f93\u5165\u8fdb\u5165\u5bb9\u5668\u5185\u7684 \u6267\u884c\u547d\u4ee4 \u5e76\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u4ee5\u91cd\u8f7d\u914d\u7f6e\u3002\u4f8b\u5982\uff0c\u5728 nginx \u5bb9\u5668\u4e2d\uff0c\u4ee5 root \u7528\u6237\u6743\u9650\uff0c\u6267\u884c nginx -s reload \u547d\u4ee4\u6765\u91cd\u8f7d\u914d\u7f6e\u3002

                                  4. \u5728\u754c\u9762\u5f39\u51fa\u7684 web \u7ec8\u7aef\u4e2d\u67e5\u770b\u5e94\u7528\u91cd\u8f7d\u60c5\u51b5\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/create-configmap.html","title":"\u521b\u5efa\u914d\u7f6e\u9879","text":"

                                  \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u4ee5\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u5b58\u50a8\u975e\u673a\u5bc6\u6027\u6570\u636e\uff0c\u5b9e\u73b0\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u4ee3\u7801\u76f8\u4e92\u89e3\u8026\u7684\u6548\u679c\u3002\u914d\u7f6e\u9879\u53ef\u7528\u4f5c\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002

                                  Note

                                  • \u5728\u914d\u7f6e\u9879\u4e2d\u4fdd\u5b58\u7684\u6570\u636e\u4e0d\u53ef\u8d85\u8fc7 1 MiB\u3002\u5982\u679c\u9700\u8981\u5b58\u50a8\u4f53\u79ef\u66f4\u5927\u7684\u6570\u636e\uff0c\u5efa\u8bae\u6302\u8f7d\u5b58\u50a8\u5377\u6216\u8005\u4f7f\u7528\u72ec\u7acb\u7684\u6570\u636e\u5e93\u6216\u8005\u6587\u4ef6\u670d\u52a1\u3002

                                  • \u914d\u7f6e\u9879\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u52a0\u5bc6\u6570\u636e\uff0c\u5efa\u8bae\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\u3002

                                  \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

                                  • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
                                  • YAML \u521b\u5efa
                                  "},{"location":"admin/kpanda/configmaps-secrets/create-configmap.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                                  • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/create-configmap.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
                                  1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                  2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u914d\u7f6e\u9879 \u6309\u94ae\u3002

                                  3. \u5728 \u521b\u5efa\u914d\u7f6e\u9879 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                    Note

                                    \u70b9\u51fb \u4e0a\u4f20\u6587\u4ef6 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002

                                  4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/create-configmap.html#yaml","title":"YAML \u521b\u5efa","text":"
                                  1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                  2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                                  3. \u586b\u5199\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

                                    Note

                                    • \u70b9\u51fb \u5bfc\u5165 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002
                                    • \u586b\u5199\u6570\u636e\u4e4b\u540e\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u914d\u7f6e\u6587\u4ef6\u4fdd\u5b58\u5728\u672c\u5730\u3002

                                  4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/create-configmap.html#yaml_1","title":"\u914d\u7f6e\u9879 YAML \u793a\u4f8b","text":"
                                  ```yaml\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: kube-root-ca.crt\n  namespace: default\n  annotations:\ndata:\n  version: '1.0'\n```\n

                                  \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u914d\u7f6e\u9879

                                  "},{"location":"admin/kpanda/configmaps-secrets/create-secret.html","title":"\u521b\u5efa\u5bc6\u94a5","text":"

                                  \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

                                  \u5bc6\u94a5\u4f7f\u7528\u573a\u666f\uff1a

                                  • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
                                  • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
                                  • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

                                  \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

                                  • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
                                  • YAML \u521b\u5efa
                                  "},{"location":"admin/kpanda/configmaps-secrets/create-secret.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                                  • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/create-secret.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
                                  1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                  2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u5bc6\u94a5 \u6309\u94ae\u3002

                                  3. \u5728 \u521b\u5efa\u5bc6\u94a5 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                    \u586b\u5199\u914d\u7f6e\u65f6\u9700\u8981\u6ce8\u610f\uff1a

                                    • \u5bc6\u94a5\u7684\u540d\u79f0\u5728\u540c\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u5fc5\u987b\u5177\u6709\u552f\u4e00\u6027
                                    • \u5bc6\u94a5\u7c7b\u578b\uff1a
                                      • \u9ed8\u8ba4\uff08Opaque\uff09\uff1aKubernetes \u9ed8\u8ba4\u7684\u5bc6\u94a5\u7c7b\u578b\uff0c\u652f\u6301\u7528\u6237\u5b9a\u4e49\u7684\u4efb\u610f\u6570\u636e\u3002
                                      • TLS (kubernetes.io/tls)\uff1a\u7528\u4e8e TLS \u5ba2\u6237\u7aef\u6216\u8005\u670d\u52a1\u5668\u7aef\u6570\u636e\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
                                      • \u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u7528\u4e8e\u955c\u50cf\u4ed3\u5e93\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
                                      • \u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u7528\u4e8e\u57fa\u672c\u8eab\u4efd\u8ba4\u8bc1\u7684\u51ed\u8bc1\u3002
                                      • \u81ea\u5b9a\u4e49\uff1a\u7528\u6237\u6839\u636e\u4e1a\u52a1\u9700\u8981\u81ea\u5b9a\u4e49\u7684\u7c7b\u578b\u3002
                                    • \u5bc6\u94a5\u6570\u636e\uff1a\u5bc6\u94a5\u6240\u5b58\u50a8\u7684\u6570\u636e\uff0c\u4e0d\u540c\u6570\u636e\u9700\u8981\u586b\u5199\u7684\u53c2\u6570\u6709\u6240\u4e0d\u540c
                                      • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u9ed8\u8ba4\uff08Opaque\uff09/\u81ea\u5b9a\u4e49\uff1a\u53ef\u4ee5\u586b\u5165\u591a\u4e2a\u952e\u503c\u5bf9\u6570\u636e\u3002
                                      • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a TLS (kubernetes.io/tls)\uff1a\u9700\u8981\u586b\u5165\u8bc1\u4e66\u51ed\u8bc1\u548c\u79c1\u94a5\u6570\u636e\u3002\u8bc1\u4e66\u662f\u81ea\u7b7e\u540d\u6216 CA \u7b7e\u540d\u8fc7\u7684\u51ed\u636e\uff0c\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u3002\u8bc1\u4e66\u8bf7\u6c42\u662f\u5bf9\u7b7e\u540d\u7684\u8bf7\u6c42\uff0c\u9700\u8981\u4f7f\u7528\u79c1\u94a5\u8fdb\u884c\u7b7e\u540d\u3002
                                      • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u9700\u8981\u586b\u5165\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u7684\u8d26\u53f7\u548c\u5bc6\u7801\u3002
                                      • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u9700\u8981\u6307\u5b9a\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
                                  "},{"location":"admin/kpanda/configmaps-secrets/create-secret.html#yaml","title":"YAML \u521b\u5efa","text":"
                                  1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                  2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                                  3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\u586b\u5199 YAML \u914d\u7f6e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                    \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/create-secret.html#yaml_1","title":"\u5bc6\u94a5 YAML \u793a\u4f8b","text":"
                                  ```yaml\napiVersion: v1\nkind: Secret\nmetadata:\n  name: secretdemo\ntype: Opaque\ndata:\n  username: ******\n  password: ******\n```\n

                                  \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u5bc6\u94a5

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html","title":"\u4f7f\u7528\u914d\u7f6e\u9879","text":"

                                  \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u662f Kubernetes \u7684\u4e00\u79cd API \u5bf9\u8c61\uff0c\u7528\u6765\u5c06\u975e\u673a\u5bc6\u6027\u7684\u6570\u636e\u4fdd\u5b58\u5230\u952e\u503c\u5bf9\u4e2d\uff0c\u53ef\u4ee5\u5b58\u50a8\u5176\u4ed6\u5bf9\u8c61\u6240\u9700\u8981\u4f7f\u7528\u7684\u914d\u7f6e\u3002 \u4f7f\u7528\u65f6\uff0c \u5bb9\u5668\u53ef\u4ee5\u5c06\u5176\u7528\u4f5c\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002\u901a\u8fc7\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u80fd\u591f\u5c06\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u5206\u5f00\uff0c\u4e3a\u5e94\u7528\u914d\u7f6e\u7684\u4fee\u6539\u63d0\u4f9b\u66f4\u52a0\u7075\u6d3b\u7684\u9014\u5f84\u3002

                                  Note

                                  \u914d\u7f6e\u9879\u5e76\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u7684\u6570\u636e\u662f\u673a\u5bc6\u7684\uff0c\u8bf7\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u4f7f\u7528\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\uff0c\u800c\u4e0d\u662f\u7528\u914d\u7f6e\u9879\u3002 \u6b64\u5916\u5728\u5bb9\u5668\u91cc\u4f7f\u7528\u914d\u7f6e\u9879\u65f6\uff0c\u5bb9\u5668\u548c\u914d\u7f6e\u9879\u5fc5\u987b\u5904\u4e8e\u540c\u4e00\u96c6\u7fa4\u7684\u547d\u540d\u7a7a\u95f4\u4e2d\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

                                  \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

                                  • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf

                                  • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570

                                  • \u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_3","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

                                  \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                                  Note

                                  \u914d\u7f6e\u9879\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_4","title":"\u56fe\u5f62\u5316\u754c\u9762\u64cd\u4f5c","text":"

                                  \u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                                  1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

                                  2. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u3002

                                    • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u540d\u79f0\u3001 \u914d\u7f6e\u9879 \u7684\u540d\u79f0\u3002

                                    • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u914d\u7f6e\u9879 \u540d\u79f0\u3001 \u952e \u7684\u540d\u79f0\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                                  \u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u914d\u7f6e\u9879\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 ConfigMap \u4e2d\u7684 Key/Value\u3002

                                  apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-1\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"env\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:                  # (1)!\n            configMapKeyRef:\n              name: kpanda-configmap  # (2)!\n              key: SPECIAL_LEVEL      # (3)!\n  restartPolicy: Never\n
                                  1. \u4f7f\u7528 valueFrom \u6765\u6307\u5b9a env \u5f15\u7528\u914d\u7f6e\u9879\u7684 value \u503c
                                  2. \u5f15\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u540d\u79f0
                                  3. \u5f15\u7528\u7684\u914d\u7f6e\u9879 key
                                  "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_6","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570","text":"

                                  \u60a8\u53ef\u4ee5\u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u4e2d\u7684\u547d\u4ee4\u6216\u8005\u53c2\u6570\u503c\uff0c\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u66ff\u6362\u8bed\u6cd5 $(VAR_NAME) \u6765\u8fdb\u884c\u3002\u5982\u4e0b\u6240\u793a\u3002

                                  apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-3\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_LEVEL\n        - name: SPECIAL_TYPE_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_TYPE\n  restartPolicy: Never\n

                                  \u8fd9\u4e2a Pod \u8fd0\u884c\u540e\uff0c\u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\u3002

                                  Hello Kpanda\n
                                  "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_7","title":"\u7528\u4f5c\u5bb9\u5668\u6570\u636e\u5377","text":"

                                  \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

                                  \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u914d\u7f6e\u9879 \uff0c\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                                  1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

                                  2. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-configmap.html#_9","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                                  \u8981\u5728\u4e00\u4e2a Pod \u7684\u5b58\u50a8\u5377\u4e2d\u4f7f\u7528 ConfigMap\u3002

                                  \u4e0b\u9762\u662f\u4e00\u4e2a\u5c06 ConfigMap \u4ee5\u5377\u7684\u5f62\u5f0f\u8fdb\u884c\u6302\u8f7d\u7684 Pod \u793a\u4f8b\uff1a

                                  apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    configMap:\n      name: myconfigmap\n

                                  \u5982\u679c Pod \u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u90fd\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4f46\u9488\u5bf9\u6bcf\u4e2a ConfigMap\uff0c\u60a8\u53ea\u9700\u8981\u8bbe\u7f6e\u4e00\u4e2a spec.volumes \u5757\u3002

                                  Note

                                  \u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u6302\u8f7d\u7684\u6570\u636e\u5377\u65f6\uff0c\u914d\u7f6e\u9879\u53ea\u80fd\u4f5c\u4e3a\u53ea\u8bfb\u6587\u4ef6\u8fdb\u884c\u8bfb\u53d6\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html","title":"\u4f7f\u7528\u5bc6\u94a5","text":"

                                  \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

                                  \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u5bc6\u94a5\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

                                  • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
                                  • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
                                  • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u4f7f\u7528\u3002
                                  "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_3","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

                                  \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                                  Note

                                  \u5bc6\u94a5\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u5bc6\u94a5\u952e\u503c\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_4","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

                                  \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                                  1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                                  2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

                                  3. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u3002

                                    • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u3001 \u5bc6\u94a5 \u7684\u540d\u79f0\u3002

                                    • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u5bc6\u94a5 \u3001 \u952e \u7684\u540d\u79f0\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                                  \u5982\u4e0b\u4f8b\u6240\u793a\uff0c\u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u5bc6\u94a5\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 Secret \u4e2d\u7684 Key/Value\u3002

                                  apiVersion: v1\nkind: Pod\nmetadata:\n  name: secret-env-pod\nspec:\n  containers:\n  - name: mycontainer\n    image: redis\n    env:\n      - name: SECRET_USERNAME\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: username\n            optional: false # (1)!\n      - name: SECRET_PASSWORD\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: password\n            optional: false # (2)!\n
                                  1. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"username\" \u7684\u4e3b\u952e
                                  2. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"password\" \u7684\u4e3b\u952e
                                  "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#pod","title":"\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377","text":""},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_6","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

                                  \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                                  1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                                  2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

                                  3. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_7","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                                  \u4e0b\u9762\u662f\u4e00\u4e2a\u901a\u8fc7\u6570\u636e\u5377\u6765\u6302\u8f7d\u540d\u4e3a mysecret \u7684 Secret \u7684 Pod \u793a\u4f8b\uff1a

                                  apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    secret:\n      secretName: mysecret\n      optional: false # (1)!\n
                                  1. \u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u610f\u5473\u7740 \"mysecret\" \u5fc5\u987b\u5df2\u7ecf\u5b58\u5728

                                  \u5982\u679c Pod \u4e2d\u5305\u542b\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4e0d\u8fc7\u9488\u5bf9\u6bcf\u4e2a Secret \u800c\u8a00\uff0c\u53ea\u9700\u8981\u4e00\u4efd .spec.volumes \u8bbe\u7f6e\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#kubelet","title":"\u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1","text":"

                                  \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

                                  "},{"location":"admin/kpanda/configmaps-secrets/use-secret.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

                                  \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                                  1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                                  2. \u5728\u7b2c\u4e8c\u6b65 \u5bb9\u5668\u914d\u7f6e \u65f6\u9009\u62e9 \u57fa\u672c\u4fe1\u606f \u914d\u7f6e\uff0c\u70b9\u51fb \u9009\u62e9\u955c\u50cf \u6309\u94ae\u3002

                                  3. \u5728\u5f39\u6846\u7684 \u955c\u50cf\u4ed3\u5e93 \u4e0b\u62c9\u9009\u62e9\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u540d\u79f0\u3002\u5173\u4e8e\u79c1\u6709\u955c\u50cf\u5bc6\u94a5\u521b\u5efa\u8bf7\u67e5\u770b\u521b\u5efa\u5bc6\u94a5\u4e86\u89e3\u8be6\u60c5\u3002

                                  4. \u8f93\u5165\u79c1\u6709\u4ed3\u5e93\u5185\u7684\u955c\u50cf\u540d\u79f0\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u955c\u50cf\u9009\u62e9\u3002

                                  Note

                                  \u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u9700\u8981\u786e\u4fdd\u8f93\u5165\u6b63\u786e\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3001\u7528\u6237\u540d\u79f0\u3001\u5bc6\u7801\u5e76\u9009\u62e9\u6b63\u786e\u7684\u955c\u50cf\u540d\u79f0\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u83b7\u53d6\u955c\u50cf\u4ed3\u5e93\u4e2d\u7684\u955c\u50cf\u3002

                                  "},{"location":"admin/kpanda/custom-resources/create.html","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90 (CRD)","text":"

                                  \u5728 Kubernetes \u4e2d\u4e00\u5207\u5bf9\u8c61\u90fd\u88ab\u62bd\u8c61\u4e3a\u8d44\u6e90\uff0c\u5982 Pod\u3001Deployment\u3001Service\u3001Volume \u7b49\u662f Kubernetes \u63d0\u4f9b\u7684\u9ed8\u8ba4\u8d44\u6e90\uff0c \u8fd9\u4e3a\u6211\u4eec\u7684\u65e5\u5e38\u8fd0\u7ef4\u548c\u7ba1\u7406\u5de5\u4f5c\u63d0\u4f9b\u4e86\u91cd\u8981\u652f\u6491\uff0c\u4f46\u662f\u5728\u4e00\u4e9b\u7279\u6b8a\u7684\u573a\u666f\u4e2d\uff0c\u73b0\u6709\u7684\u9884\u7f6e\u8d44\u6e90\u5e76\u4e0d\u80fd\u6ee1\u8db3\u4e1a\u52a1\u7684\u9700\u8981\uff0c \u56e0\u6b64\u6211\u4eec\u5e0c\u671b\u53bb\u6269\u5c55 Kubernetes API \u7684\u80fd\u529b\uff0c\u81ea\u5b9a\u4e49\u8d44\u6e90\uff08CustomResourceDefinition, CRD\uff09\u6b63\u662f\u57fa\u4e8e\u8fd9\u6837\u7684\u9700\u6c42\u5e94\u8fd0\u800c\u751f\u3002

                                  \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9\u81ea\u5b9a\u4e49\u8d44\u6e90\u7684\u754c\u9762\u5316\u7ba1\u7406\uff0c\u4e3b\u8981\u529f\u80fd\u5982\u4e0b\uff1a

                                  • \u83b7\u53d6\u96c6\u7fa4\u4e0b\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u548c\u8be6\u7ec6\u4fe1\u606f
                                  • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u8d44\u6e90
                                  • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b CR\uff08Custom Resource\uff09
                                  • \u5220\u9664\u81ea\u5b9a\u4e49\u8d44\u6e90
                                  "},{"location":"admin/kpanda/custom-resources/create.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                                  • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a Cluster Admin \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743

                                  "},{"location":"admin/kpanda/custom-resources/create.html#yaml","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90","text":"
                                  1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                  2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                                  3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                  4. \u8fd4\u56de\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                                  \u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b\uff1a

                                  CRD example
                                  apiVersion: apiextensions.k8s.io/v1\nkind: CustomResourceDefinition\nmetadata:\n  name: crontabs.stable.example.com\nspec:\n  group: stable.example.com\n  versions:\n    - name: v1\n      served: true\n      storage: true\n      schema:\n        openAPIV3Schema:\n          type: object\n          properties:\n            spec:\n              type: object\n              properties:\n                cronSpec:\n                  type: string\n                image:\n                  type: string\n                replicas:\n                  type: integer\n  scope: Namespaced\n  names:\n    plural: crontabs\n    singular: crontab\n    kind: CronTab\n    shortNames:\n    - ct\n
                                  "},{"location":"admin/kpanda/custom-resources/create.html#yaml_1","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b","text":"
                                  1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                  2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u8fdb\u5165\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\u9762\u3002

                                  3. \u70b9\u51fb\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u8fdb\u5165\u8be6\u60c5\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                                  4. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                  5. \u8fd4\u56de crontabs.stable.example.com \u7684\u8be6\u60c5\u9875\u9762\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a my-new-cron-object \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                                  CR \u793a\u4f8b\uff1a

                                  CR example
                                  apiVersion: \"stable.example.com/v1\"\nkind: CronTab\nmetadata:\n  name: my-new-cron-object\nspec:\n  cronSpec: \"* * * * */5\"\n  image: my-awesome-cron-image\n
                                  "},{"location":"admin/kpanda/gpu/index.html","title":"GPU \u7ba1\u7406\u6982\u8ff0","text":"

                                  \u672c\u6587\u4ecb\u7ecd \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5bf9 GPU\u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8d44\u6e90\u7edf\u4e00\u8fd0\u7ef4\u7ba1\u7406\u80fd\u529b\u3002

                                  "},{"location":"admin/kpanda/gpu/index.html#_1","title":"\u80cc\u666f","text":"

                                  \u968f\u7740 AI \u5e94\u7528\u3001\u5927\u6a21\u578b\u3001\u4eba\u5de5\u667a\u80fd\u3001\u81ea\u52a8\u9a7e\u9a76\u7b49\u65b0\u5174\u6280\u672f\u7684\u5feb\u901f\u53d1\u5c55\uff0c\u4f01\u4e1a\u9762\u4e34\u7740\u8d8a\u6765\u8d8a\u591a\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4efb\u52a1\u548c\u6570\u636e\u5904\u7406\u9700\u6c42\u3002 \u4ee5 CPU \u4e3a\u4ee3\u8868\u7684\u4f20\u7edf\u8ba1\u7b97\u67b6\u6784\u5df2\u65e0\u6cd5\u6ee1\u8db3\u4f01\u4e1a\u65e5\u76ca\u589e\u957f\u7684\u8ba1\u7b97\u9700\u6c42\u3002\u6b64\u65f6\uff0c\u4ee5 GPU \u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8ba1\u7b97\u56e0\u5728\u5904\u7406\u5927\u89c4\u6a21\u6570\u636e\u3001\u8fdb\u884c\u590d\u6742\u8ba1\u7b97\u548c\u5b9e\u65f6\u56fe\u5f62\u6e32\u67d3\u65b9\u9762\u5177\u6709\u72ec\u7279\u7684\u4f18\u52bf\u88ab\u5e7f\u6cdb\u5e94\u7528\u3002

                                  \u4e0e\u6b64\u540c\u65f6\uff0c\u7531\u4e8e\u7f3a\u4e4f\u5f02\u6784\u8d44\u6e90\u8c03\u5ea6\u7ba1\u7406\u7b49\u65b9\u9762\u7684\u7ecf\u9a8c\u548c\u4e13\u4e1a\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u5bfc\u81f4\u4e86 GPU \u8bbe\u5907\u7684\u8d44\u6e90\u5229\u7528\u7387\u6781\u4f4e\uff0c\u7ed9\u4f01\u4e1a\u5e26\u6765\u4e86\u9ad8\u6602\u7684 AI \u751f\u4ea7\u6210\u672c\u3002 \u5982\u4f55\u964d\u672c\u589e\u6548\uff0c\u63d0\u9ad8 GPU \u7b49\u5f02\u6784\u8d44\u6e90\u7684\u5229\u7528\u6548\u7387\uff0c\u6210\u4e3a\u4e86\u5f53\u524d\u4f17\u591a\u4f01\u4e1a\u4e9f\u9700\u8de8\u8d8a\u7684\u4e00\u9053\u96be\u9898\u3002

                                  "},{"location":"admin/kpanda/gpu/index.html#gpu_1","title":"GPU \u80fd\u529b\u4ecb\u7ecd","text":"

                                  \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u652f\u6301\u5bf9 GPU\u3001NPU \u7b49\u5f02\u6784\u8d44\u6e90\u8fdb\u884c\u7edf\u4e00\u8c03\u5ea6\u548c\u8fd0\u7ef4\u7ba1\u7406\uff0c\u5145\u5206\u91ca\u653e GPU \u8d44\u6e90\u7b97\u529b\uff0c\u52a0\u901f\u4f01\u4e1a AI \u7b49\u65b0\u5174\u5e94\u7528\u53d1\u5c55\u3002GPU \u7ba1\u7406\u80fd\u529b\u5982\u4e0b\uff1a

                                  • \u652f\u6301\u7edf\u4e00\u7eb3\u7ba1 NVIDIA\u3001\u534e\u4e3a\u6607\u817e\u3001\u5929\u6570\u7b49\u56fd\u5185\u5916\u5382\u5546\u7684\u5f02\u6784\u8ba1\u7b97\u8d44\u6e90\u3002
                                  • \u652f\u6301\u540c\u4e00\u96c6\u7fa4\u591a\u5361\u5f02\u6784\u8c03\u5ea6\uff0c\u5e76\u652f\u6301\u96c6\u7fa4 GPU \u5361\u81ea\u52a8\u8bc6\u522b\u3002
                                  • \u652f\u6301 NVIDIA GPU\u3001vGPU\u3001MIG \u7b49 GPU \u539f\u751f\u7ba1\u7406\u65b9\u6848\uff0c\u5e76\u63d0\u4f9b\u4e91\u539f\u751f\u80fd\u529b\u3002
                                  • \u652f\u6301\u5355\u5757\u7269\u7406\u5361\u5207\u5206\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u4f7f\u7528\uff0c\u5e76\u652f\u6301\u5bf9\u79df\u6237\u548c\u5bb9\u5668\u4f7f\u7528 GPU \u8d44\u6e90\u6309\u7167\u7b97\u529b\u3001\u663e\u5b58\u8fdb\u884c GPU \u8d44\u6e90\u914d\u989d\u3002
                                  • \u652f\u6301\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5e94\u7528\u7b49\u591a\u7ef4\u5ea6 GPU \u8d44\u6e90\u76d1\u63a7\uff0c\u5e2e\u52a9\u8fd0\u7ef4\u4eba\u5458\u7ba1\u7406 GPU \u8d44\u6e90\u3002
                                  • \u517c\u5bb9 TensorFlow\u3001pytorch \u7b49\u591a\u79cd\u8bad\u7ec3\u6846\u67b6\u3002
                                  "},{"location":"admin/kpanda/gpu/index.html#gpu-operator","title":"GPU Operator \u4ecb\u7ecd","text":"

                                  \u540c\u666e\u901a\u8ba1\u7b97\u673a\u786c\u4ef6\u4e00\u6837\uff0cNVIDIA GPU \u5361\u4f5c\u4e3a\u7269\u7406\u786c\u4ef6\uff0c\u5fc5\u987b\u5b89\u88c5 NVIDIA GPU \u9a71\u52a8\u540e\u624d\u80fd\u4f7f\u7528\u3002 \u4e3a\u4e86\u964d\u4f4e\u7528\u6237\u5728 kuberneets \u4e0a\u4f7f\u7528 GPU \u7684\u6210\u672c\uff0cNVIDIA \u5b98\u65b9\u63d0\u4f9b\u4e86 NVIDIA GPU Operator \u7ec4\u4ef6\u6765\u7ba1\u7406\u4f7f\u7528 NVIDIA GPU \u6240\u4f9d\u8d56\u7684\u5404\u79cd\u7ec4\u4ef6\u3002 \u8fd9\u4e9b\u7ec4\u4ef6\u5305\u62ec NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff08\u7528\u4e8e\u542f\u7528 CUDA\uff09\u3001NVIDIA \u5bb9\u5668\u8fd0\u884c\u65f6\u3001GPU \u8282\u70b9\u6807\u8bb0\u3001\u57fa\u4e8e DCGM \u7684\u76d1\u63a7\u7b49\u3002 \u7406\u8bba\u4e0a\u6765\u8bf4\u7528\u6237\u53ea\u9700\u8981\u5c06 GPU \u5361\u63d2\u5728\u5df2\u7ecf\u88ab kubernetes \u6240\u7eb3\u7ba1\u7684\u8ba1\u7b97\u8bbe\u5907\u4e0a\uff0c\u7136\u540e\u901a\u8fc7 GPU Operator \u5c31\u80fd\u4f7f\u7528 NVIDIA GPU \u7684\u6240\u6709\u80fd\u529b\u4e86\u3002 \u4e86\u89e3\u66f4\u591a NVIDIA GPU Operator \u76f8\u5173\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 NVIDIA \u5b98\u65b9\u6587\u6863\u3002 \u5982\u4f55\u90e8\u7f72\u8bf7\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5

                                  NVIDIA GPU Operator \u67b6\u6784\u56fe\uff1a

                                  "},{"location":"admin/kpanda/gpu/FAQ.html","title":"GPU \u76f8\u5173 FAQ","text":""},{"location":"admin/kpanda/gpu/FAQ.html#pod-nvidia-smi-gpu","title":"Pod \u5185 nvidia-smi \u770b\u4e0d\u5230 GPU \u8fdb\u7a0b","text":"

                                  Q: \u5728\u4f7f\u7528 GPU \u7684 Pod \u5185\u6267\u884c nvidia-smi \u547d\u4ee4\u770b\u4e0d\u5230\u4f7f\u7528 GPU \u7684\u8fdb\u7a0b\u4fe1\u606f\uff0c\u5305\u62ec\u6574\u5361\u6a21\u5f0f\u3001vGPU \u6a21\u5f0f\u7b49\u3002

                                  A: \u56e0\u4e3a\u6709 PID namespace \u9694\u79bb\uff0c\u5bfc\u81f4\u5728 Pod \u5185\u67e5\u770b\u4e0d\u5230 GPU \u8fdb\u7a0b\uff0c\u5982\u679c\u8981\u67e5\u770b GPU \u8fdb\u7a0b\u6709\u5982\u4e0b\u51e0\u79cd\u65b9\u6cd5\uff1a

                                  • \u5728\u4f7f\u7528 GPU \u7684\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e hostPID: true\uff0c\u4f7f\u5176\u53ef\u4ee5\u67e5\u770b\u5230\u5bbf\u4e3b\u673a\u4e0a\u7684 PID
                                  • \u5728 gpu-operator \u7684 driver Pod \u4e2d\u6267\u884c nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
                                  • \u5728\u5bbf\u4e3b\u673a\u4e0a\u6267\u884c chroot /run/nvidia/driver nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
                                  "},{"location":"admin/kpanda/gpu/Iluvatar_usage.html","title":"App \u4f7f\u7528\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"

                                  \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u5929\u6570\u667a\u82af\u865a\u62df GPU\u3002

                                  "},{"location":"admin/kpanda/gpu/Iluvatar_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                                  • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                  • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5929\u6570\u667a\u82af GPU \u9a71\u52a8\uff0c\u9a71\u52a8\u5b89\u88c5\u8bf7\u53c2\u8003\u5929\u6570\u667a\u82af\u5b98\u65b9\u6587\u6863\u3002
                                  • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u4e14\u672a\u88ab\u5176\u5b83 App \u5360\u7528\u3002
                                  "},{"location":"admin/kpanda/gpu/Iluvatar_usage.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/gpu/Iluvatar_usage.html#_3","title":"\u4f7f\u7528\u754c\u9762\u914d\u7f6e","text":"
                                  1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Iluvatar \u3002

                                  2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Iluvatar\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

                                    • \u7269\u7406\u5361\u6570\u91cf\uff08iluvatar.ai/vcuda-core\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                                    • \u663e\u5b58\u4f7f\u7528\u6570\u91cf\uff08iluvatar.ai/vcuda-memory\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                                    \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                                  "},{"location":"admin/kpanda/gpu/Iluvatar_usage.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                                  \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0iluvatar.ai/vcuda-core: 1\u3001iluvatar.ai/vcuda-memory: 200 \u53c2\u6570\uff0c\u914d\u7f6e App \u4f7f\u7528\u7269\u7406\u5361\u7684\u8d44\u6e90\u3002

                                  apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-iluvatar-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-iluvatar-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-iluvatar-gpu-demo\n    spec:\n      containers:\n      - image: nginx:perl\n        name: container-0\n        resources:\n          limits:\n            cpu: 250m\n            iluvatar.ai/vcuda-core: '1'\n            iluvatar.ai/vcuda-memory: '200'\n            memory: 512Mi\n          requests:\n            cpu: 250m\n            memory: 512Mi\n      imagePullSecrets:\n      - name: default-secret\n
                                  "},{"location":"admin/kpanda/gpu/dynamic-regulation.html","title":"GPU \u8d44\u6e90\u52a8\u6001\u8c03\u8282","text":"

                                  \u63d0\u4f9b GPU \u8d44\u6e90\u52a8\u6001\u8c03\u6574\u529f\u80fd\uff0c\u5141\u8bb8\u60a8\u5728\u65e0\u9700\u91cd\u65b0\u52a0\u8f7d\u3001\u91cd\u7f6e\u6216\u91cd\u542f\u6574\u4e2a\u8fd0\u884c\u73af\u5883\u7684\u60c5\u51b5\u4e0b\uff0c\u5bf9\u5df2\u7ecf\u5206\u914d\u7684 vGPU \u8d44\u6e90\u8fdb\u884c\u5b9e\u65f6\u3001\u52a8\u6001\u7684\u8c03\u6574\u3002 \u8fd9\u4e00\u529f\u80fd\u65e8\u5728\u6700\u5927\u7a0b\u5ea6\u5730\u51cf\u5c11\u5bf9\u4e1a\u52a1\u8fd0\u884c\u7684\u5f71\u54cd\uff0c\u786e\u4fdd\u60a8\u7684\u4e1a\u52a1\u80fd\u591f\u6301\u7eed\u7a33\u5b9a\u5730\u8fd0\u884c\uff0c\u540c\u65f6\u6839\u636e\u5b9e\u9645\u9700\u6c42\u7075\u6d3b\u8c03\u6574 GPU \u8d44\u6e90\u3002

                                  "},{"location":"admin/kpanda/gpu/dynamic-regulation.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"
                                  • \u5f39\u6027\u8d44\u6e90\u5206\u914d \uff1a\u5f53\u4e1a\u52a1\u9700\u6c42\u6216\u5de5\u4f5c\u8d1f\u8f7d\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u5feb\u901f\u8c03\u6574 GPU \u8d44\u6e90\u4ee5\u6ee1\u8db3\u65b0\u7684\u6027\u80fd\u8981\u6c42\u3002
                                  • \u5373\u65f6\u54cd\u5e94 \uff1a\u5728\u9762\u5bf9\u7a81\u53d1\u7684\u9ad8\u8d1f\u8f7d\u6216\u4e1a\u52a1\u9700\u6c42\u65f6\uff0c\u53ef\u4ee5\u8fc5\u901f\u589e\u52a0 GPU \u8d44\u6e90\u800c\u65e0\u9700\u4e2d\u65ad\u4e1a\u52a1\u8fd0\u884c\uff0c\u4ee5\u786e\u4fdd\u670d\u52a1\u7684\u7a33\u5b9a\u6027\u548c\u6027\u80fd\u3002
                                  "},{"location":"admin/kpanda/gpu/dynamic-regulation.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                  \u4ee5\u4e0b\u662f\u4e00\u4e2a\u5177\u4f53\u7684\u64cd\u4f5c\u793a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u8c03\u6574 vGPU \u7684\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff1a

                                  "},{"location":"admin/kpanda/gpu/dynamic-regulation.html#vgpu-pod","title":"\u521b\u5efa\u4e00\u4e2a vGPU Pod","text":"

                                  \u9996\u5148\uff0c\u6211\u4eec\u4f7f\u7528\u4ee5\u4e0b YAML \u521b\u5efa\u4e00\u4e2a vGPU Pod\uff0c\u5176\u7b97\u529b\u521d\u59cb\u4e0d\u9650\u5236\uff0c\u663e\u5b58\u9650\u5236\u4e3a 200Mb\u3002

                                  kind: Deployment\napiVersion: apps/v1\nmetadata:\n  name: gpu-burn-test\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: gpu-burn-test\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: gpu-burn-test\n    spec:\n      containers:\n        - name: container-1\n          image: docker.io/chrstnhntschl/gpu_burn:latest\n          command:\n            - sleep\n            - '100000'\n          resources:\n            limits:\n              cpu: 1m\n              memory: 1Gi\n              nvidia.com/gpucores: '0'\n              nvidia.com/gpumem: '200'\n              nvidia.com/vgpu: '1'\n

                                  \u8c03\u6574\u524d\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

                                  "},{"location":"admin/kpanda/gpu/dynamic-regulation.html#_3","title":"\u52a8\u6001\u8c03\u6574\u7b97\u529b","text":"

                                  \u5982\u679c\u9700\u8981\u4fee\u6539\u7b97\u529b\u4e3a 10%\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                                  1. \u8fdb\u5165\u5bb9\u5668\uff1a

                                    kubectl exec -it <pod-name> -- /bin/bash\n
                                  2. \u6267\u884c\uff1a

                                    export CUDA_DEVICE_SM_LIMIT=10\n
                                  3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

                                    ./gpu_burn 60\n

                                    \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u6ce8\u610f\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

                                  "},{"location":"admin/kpanda/gpu/dynamic-regulation.html#_4","title":"\u52a8\u6001\u8c03\u6574\u663e\u5b58","text":"

                                  \u5982\u679c\u9700\u8981\u4fee\u6539\u663e\u5b58\u4e3a 300 MB\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                                  1. \u8fdb\u5165\u5bb9\u5668\uff1a

                                    kubectl exec -it <pod-name> -- /bin/bash\n
                                  2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u8bbe\u7f6e\u663e\u5b58\u9650\u5236\uff1a

                                    export CUDA_DEVICE_MEMORY_LIMIT_0=300m\nexport CUDA_DEVICE_MEMORY_SHARED_CACHE=/usr/local/vgpu/d.cache\n

                                    Note

                                    \u6bcf\u6b21\u4fee\u6539\u663e\u5b58\u5927\u5c0f\u65f6\uff0cd.cache \u8fd9\u4e2a\u6587\u4ef6\u540d\u5b57\u90fd\u9700\u8981\u4fee\u6539\uff0c\u6bd4\u5982\u6539\u4e3a a.cache\u30011.cache \u7b49\uff0c\u4ee5\u907f\u514d\u7f13\u5b58\u51b2\u7a81\u3002

                                  3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

                                    ./gpu_burn 60\n

                                    \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u540c\u6837\u5730\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

                                  \u8c03\u6574\u540e\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

                                  \u901a\u8fc7\u4e0a\u8ff0\u6b65\u9aa4\uff0c\u60a8\u53ef\u4ee5\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u5730\u8c03\u6574\u5176\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff0c\u4ece\u800c\u66f4\u7075\u6d3b\u5730\u6ee1\u8db3\u4e1a\u52a1\u9700\u6c42\u5e76\u4f18\u5316\u8d44\u6e90\u5229\u7528\u3002

                                  "},{"location":"admin/kpanda/gpu/gpu_matrix.html","title":"GPU \u652f\u6301\u77e9\u9635","text":"

                                  \u672c\u9875\u8bf4\u660e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684 GPU \u53ca\u64cd\u4f5c\u7cfb\u7edf\u6240\u5bf9\u5e94\u7684\u77e9\u9635\u3002

                                  "},{"location":"admin/kpanda/gpu/gpu_matrix.html#nvidia-gpu","title":"NVIDIA GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 NVIDIA GPU\uff08\u6574\u5361/vGPU\uff09 NVIDIA Fermi (2.1) \u67b6\u6784 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160\u5185\u6838\u53c2\u8003\u6587\u6863\u5efa\u8bae\u4f7f\u7528\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94 Kernel \u7248\u672c \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 NVIDIA GeForce 400 \u7cfb\u5217 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA Quadro 4000 \u7cfb\u5217 Ubuntu 20.04 Kernel 5.4 NVIDIA Tesla 20 \u7cfb\u5217 Ubuntu 22.04 Kernel 5.19 NVIDIA Ampere \u67b6\u6784\u7cfb\u5217(A100;A800;H100) RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA MIG NVIDIA Ampere \u67b6\u6784\u7cfb\u5217\uff08A100\u3001A800\u3001H100\uff09 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 Ubuntu 20.04 Kernel 5.4 Ubuntu 22.04 Kernel 5.19 RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348"},{"location":"admin/kpanda/gpu/gpu_matrix.html#ascendnpu","title":"\u6607\u817e\uff08Ascend\uff09NPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 NPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6607\u817e\uff08Ascend 310\uff09 Ascend 310 Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\uff1a\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 300 \u548c 310P \u9a71\u52a8\u6587\u6863 Ascend 310P\uff1b CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf \u6607\u817e\uff08Ascend 910\uff09 Ascend 910B Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 910 \u9a71\u52a8\u6587\u6863 CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf"},{"location":"admin/kpanda/gpu/gpu_matrix.html#iluvatargpu","title":"\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u5929\u6570\u667a\u82af(Iluvatar vGPU) BI100 CentOS 7 Kernel 3.10.0-957.el7.x86_64 ~ 3.10.0-1160.42.2.el7.x86_64 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 \u8865\u5145\u4e2d MR100\uff1b CentOS 8 Kernel 4.18.0-80.el8.x86_64 ~ 4.18.0-305.19.1.el8_4.x86_64 Ubuntu 20.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic Ubuntu 21.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic openEuler 22.03 LTS Kernel \u7248\u672c\u5927\u4e8e\u7b49\u4e8e 5.1 \u4e14\u5c0f\u4e8e\u7b49\u4e8e 5.10"},{"location":"admin/kpanda/gpu/gpu_matrix.html#metaxgpu","title":"\u6c90\u66e6\uff08Metax\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6c90\u66e6Metax\uff08\u6574\u5361/vGPU\uff09 \u66e6\u4e91 C500 \u6c90\u66e6 GPU \u5b89\u88c5\u4f7f\u7528"},{"location":"admin/kpanda/gpu/gpu_scheduler_config.html","title":"GPU \u8c03\u5ea6\u914d\u7f6e\uff08Binpack \u548c Spread \uff09","text":"

                                  \u672c\u6587\u4ecb\u7ecd\u4f7f\u7528 NVIDIA vGPU \u65f6\uff0c\u5982\u4f55\u901a\u8fc7 Binpack \u548c Spread \u7684 GPU \u8c03\u5ea6\u914d\u7f6e\u51cf\u5c11 GPU \u8d44\u6e90\u788e\u7247\u3001\u9632\u6b62\u5355\u70b9\u6545\u969c\u7b49\uff0c\u5b9e\u73b0 vGPU \u7684\u9ad8\u7ea7\u8c03\u5ea6\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86\u96c6\u7fa4\u548c\u5de5\u4f5c\u8d1f\u8f7d\u4e24\u79cd\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5206\u522b\u6ee1\u8db3\u4e0d\u540c\u573a\u666f\u4e0b\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                  "},{"location":"admin/kpanda/gpu/gpu_scheduler_config.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                  • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907\u3002
                                  • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6 \u548c Nvidia-vgpu \u7ec4\u4ef6\u3002
                                  • \u96c6\u7fa4\u8282\u70b9\u5217\u8868\u4e2d\uff0cGPU \u6a21\u5f0f\u4e0b\u5b58\u5728 NVIDIA-vGPU \u7c7b\u578b\u3002
                                  "},{"location":"admin/kpanda/gpu/gpu_scheduler_config.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"
                                  • \u57fa\u4e8e GPU \u5361\u7ef4\u5ea6\u8c03\u5ea6\u7b56\u7565

                                    • Binpack\uff1a\u4f18\u5148\u9009\u62e9\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
                                    • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u5361\u6545\u969c\u3002
                                  • \u57fa\u4e8e\u8282\u70b9\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565

                                    • Binpack\uff1a \u591a\u4e2a Pod \u4f1a\u4f18\u5148\u9009\u62e9\u540c\u4e00\u4e2a\u8282\u70b9\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
                                    • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u4e0d\u540c\u8282\u70b9\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u8282\u70b9\u6545\u969c\u3002
                                  "},{"location":"admin/kpanda/gpu/gpu_scheduler_config.html#binpack-spread","title":"\u96c6\u7fa4\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

                                  Note

                                  \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u4f1a\u9075\u5faa\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e\u3002 \u82e5\u5de5\u4f5c\u8d1f\u8f7d\u5355\u72ec\u8bbe\u7f6e\u4e86\u4e0e\u96c6\u7fa4\u4e0d\u4e00\u81f4\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5219\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u4f18\u5148\u9075\u5faa\u5176\u672c\u8eab\u7684\u8c03\u5ea6\u7b56\u7565\u3002

                                  1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u8c03\u6574 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb GPU \u8c03\u5ea6\u914d\u7f6e \u3002

                                  2. \u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u540e\u4fdd\u5b58\u3002

                                  "},{"location":"admin/kpanda/gpu/gpu_scheduler_config.html#binpack-spread_1","title":"\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

                                  Note

                                  \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684\u914d\u7f6e\u51b2\u7a81\u65f6\uff0c\u4f18\u5148\u9075\u5faa\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684\u914d\u7f6e\u3002

                                  \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\uff0c\u5e76\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565 \u3002

                                  1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                  2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                  3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\uff0c\u5e76\u5728 \u5bb9\u5668\u914d\u7f6e \u4e2d\u542f\u7528 GPU \u914d\u7f6e\uff0c\u9009\u62e9 GPU \u7c7b\u578b\u4e3a NVIDIA vGPU\uff0c \u70b9\u51fb \u9ad8\u7ea7\u8bbe\u7f6e \uff0c\u542f\u7528 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\u3002\u914d\u7f6e\u5b8c\u6210\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c \u8fdb\u5165 \u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                  "},{"location":"admin/kpanda/gpu/vgpu_quota.html","title":"GPU \u914d\u989d\u7ba1\u7406","text":"

                                  \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

                                  "},{"location":"admin/kpanda/gpu/vgpu_quota.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                  \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u6216\u624b\u52a8\u65b9\u5f0f\u90e8\u7f72\u5bf9\u5e94\u7c7b\u578b GPU \u9a71\u52a8\uff08NVIDIA GPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\uff09

                                  "},{"location":"admin/kpanda/gpu/vgpu_quota.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                  1. \u8fdb\u5165 Namespaces \u4e2d\uff0c\u70b9\u51fb \u914d\u989d\u7ba1\u7406 \u53ef\u4ee5\u914d\u7f6e\u5f53\u524d Namespace \u53ef\u4ee5\u4f7f\u7528\u7684 GPU \u8d44\u6e90\u3002

                                  2. \u5f53\u524d\u547d\u540d\u7a7a\u95f4\u914d\u989d\u7ba1\u7406\u8986\u76d6\u7684\u5361\u7c7b\u578b\u4e3a\uff1aNVIDIA vGPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\u3002

                                    NVIDIA vGPU \u914d\u989d\u7ba1\u7406 \uff1a\u914d\u7f6e\u5177\u4f53\u53ef\u4ee5\u4f7f\u7528\u7684\u914d\u989d\uff0c\u4f1a\u521b\u5efa ResourcesQuota CR\uff1a

                                    • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d POD \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u5e76\u4e14\u8981 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                                    • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b\u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c\u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a 100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
                                    • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html","title":"\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5","text":"

                                  \u672c\u7ae0\u8282\u63d0\u4f9b\u6607\u817e NPU \u9a71\u52a8\u3001Device Plugin\u3001NPU-Exporter \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u3002

                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u652f\u6301\u7684 NPU \u578b\u53f7\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
                                  2. \u8bf7\u786e\u8ba4 \u5bf9\u5e94 NPU \u578b\u53f7\u6240\u8981\u6c42\u7684\u5185\u6838\u7248\u672c\u662f\u5426\u5339\u914d\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
                                  3. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#_2","title":"\u5b89\u88c5\u6b65\u9aa4","text":"

                                  \u4f7f\u7528 NPU \u8d44\u6e90\u4e4b\u524d\uff0c\u9700\u8981\u5b8c\u6210\u56fa\u4ef6\u5b89\u88c5\u3001NPU \u9a71\u52a8\u5b89\u88c5\u3001 Docker Runtime \u5b89\u88c5\u3001\u7528\u6237\u521b\u5efa\u3001\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa\u4ee5\u53ca NPU Device Plugin \u5b89\u88c5\uff0c\u8be6\u60c5\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u3002

                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#_3","title":"\u5b89\u88c5\u56fa\u4ef6","text":"
                                  1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u5185\u6838\u7248\u672c\u5728\u201c\u4e8c\u8fdb\u5236\u5b89\u88c5\u201d\u5b89\u88c5\u65b9\u5f0f\u5bf9\u5e94\u7684\u7248\u672c\u8303\u56f4\u5185\uff0c\u5219\u53ef\u4ee5\u76f4\u63a5\u5b89\u88c5NPU\u9a71\u52a8\u56fa\u4ef6\u3002
                                  2. \u56fa\u4ef6\u4e0e\u9a71\u52a8\u4e0b\u8f7d\u8bf7\u53c2\u8003\u56fa\u4ef6\u4e0b\u8f7d\u5730\u5740
                                  3. \u56fa\u4ef6\u5b89\u88c5\u8bf7\u53c2\u8003\u5b89\u88c5 NPU \u9a71\u52a8\u56fa\u4ef6
                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#npu_1","title":"\u5b89\u88c5 NPU \u9a71\u52a8","text":"
                                  1. \u5982\u9a71\u52a8\u672a\u5b89\u88c5\uff0c\u8bf7\u53c2\u8003\u6607\u817e\u5b98\u65b9\u6587\u6863\u8fdb\u884c\u5b89\u88c5\u3002\u4f8b\u5982 Ascend910\uff0c\u53c2\u8003 910 \u9a71\u52a8\u5b89\u88c5\u6587\u6863\u3002
                                  2. \u8fd0\u884c npu-smi info \u547d\u4ee4\uff0c\u5e76\u4e14\u80fd\u591f\u6b63\u5e38\u8fd4\u56de NPU \u4fe1\u606f\uff0c\u8868\u793a NPU \u9a71\u52a8\u4e0e\u56fa\u4ef6\u5df2\u5c31\u7eea\u3002
                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#docker-runtime","title":"\u5b89\u88c5 Docker Runtime","text":"
                                  1. \u4e0b\u8f7d Ascend Docker Runtime

                                    \u793e\u533a\u7248\u4e0b\u8f7d\u5730\u5740\uff1ahttps://www.hiascend.com/zh/software/mindx-dl/community

                                    wget -c https://mindx.obs.cn-south-1.myhuaweicloud.com/OpenSource/MindX/MindX%205.0.RC2/MindX%20DL%205.0.RC2/Ascend-docker-runtime_5.0.RC2_linux-x86_64.run\n

                                    \u5b89\u88c5\u5230\u6307\u5b9a\u8def\u5f84\u4e0b\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b\u4e24\u6761\u547d\u4ee4\uff0c\u53c2\u6570\u4e3a\u6307\u5b9a\u7684\u5b89\u88c5\u8def\u5f84:

                                    chmod u+x Ascend-docker-runtime_5.0.RC2_linux-x86_64.run \n./Ascend-docker-runtime_{version}_linux-{arch}.run --install --install-path=<path>\n
                                  2. \u4fee\u6539 containerd \u914d\u7f6e\u6587\u4ef6

                                    containerd \u65e0\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u65f6\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b3\u6761\u547d\u4ee4\uff0c\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\uff1a

                                    mkdir /etc/containerd \ncontainerd config default > /etc/containerd/config.toml \nvim /etc/containerd/config.toml\n

                                    containerd \u6709\u914d\u7f6e\u6587\u4ef6\u65f6\uff1a

                                    vim /etc/containerd/config.toml\n

                                    \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u4fee\u6539 runtime \u7684\u5b89\u88c5\u8def\u5f84\uff0c\u4e3b\u8981\u4fee\u6539 runtime \u5b57\u6bb5\uff1a

                                    ... \n[plugins.\"io.containerd.monitor.v1.cgroups\"]\n   no_prometheus = false  \n[plugins.\"io.containerd.runtime.v1.linux\"]\n   shim = \"containerd-shim\"\n   runtime = \"/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime\"\n   runtime_root = \"\"\n   no_shim = false\n   shim_debug = false\n [plugins.\"io.containerd.runtime.v2.task\"]\n   platforms = [\"linux/amd64\"]\n...\n

                                    \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u91cd\u542f containerd\uff1a

                                    systemctl restart containerd\n
                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#_4","title":"\u7528\u6237\u521b\u5efa","text":"

                                  \u5728\u5bf9\u5e94\u7ec4\u4ef6\u5b89\u88c5\u7684\u8282\u70b9\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u521b\u5efa\u7528\u6237\u3002

                                  # Ubuntu \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /usr/sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n# Centos \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n
                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#_5","title":"\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa","text":"

                                  \u5728\u5bf9\u5e94\u8282\u70b9\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u548c\u5404\u7ec4\u4ef6\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5e76\u8bbe\u7f6e\u76ee\u5f55\u5bf9\u5e94\u5c5e\u4e3b\u548c\u6743\u9650\u3002\u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u3002

                                  mkdir -m 755 /var/log/mindx-dl\nchown root:root /var/log/mindx-dl\n

                                  \u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa Device Plugin \u7ec4\u4ef6\u65e5\u5fd7\u76ee\u5f55\u3002

                                  mkdir -m 750 /var/log/mindx-dl/devicePlugin\nchown root:root /var/log/mindx-dl/devicePlugin\n

                                  Note

                                  \u8bf7\u5206\u522b\u4e3a\u6240\u9700\u7ec4\u4ef6\u521b\u5efa\u5bf9\u5e94\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5f53\u524d\u6848\u4f8b\u4e2d\u53ea\u9700\u8981 Device Plugin \u7ec4\u4ef6\u3002 \u5982\u679c\u6709\u5176\u4ed6\u7ec4\u4ef6\u9700\u6c42\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863

                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#label","title":"\u521b\u5efa\u8282\u70b9 Label","text":"

                                  \u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\u5728\u5bf9\u5e94\u8282\u70b9\u4e0a\u521b\u5efa Label\uff1a

                                  # \u5728\u5b89\u88c5\u4e86\u9a71\u52a8\u7684\u8ba1\u7b97\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} huawei.com.ascend/Driver=installed\nkubectl label node {nodename} node-role.kubernetes.io/worker=worker\nkubectl label node {nodename} workerselector=dls-worker-node\nkubectl label node {nodename} host-arch=huawei-arm //\u6216\u8005host-arch=huawei-x86 \uff0c\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\nkubectl label node {nodename} accelerator=huawei-Ascend910 //\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u9009\u62e9\n# \u5728\u63a7\u5236\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} masterselector=dls-master-node\n
                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_driver_install.html#device-plugin-npuexporter","title":"\u5b89\u88c5 Device Plugin \u548c NpuExporter","text":"

                                  \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 ascend-mindxdl \u3002

                                  • DevicePlugin \uff1a\u901a\u8fc7\u63d0\u4f9b\u901a\u7528\u8bbe\u5907\u63d2\u4ef6\u673a\u5236\u548c\u6807\u51c6\u7684\u8bbe\u5907API\u63a5\u53e3\uff0c\u4f9bKubernetes\u4f7f\u7528\u8bbe\u5907\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
                                  • NpuExporter \uff1a\u57fa\u4e8ePrometheus/Telegraf\u751f\u6001\uff0c\u8be5\u7ec4\u4ef6\u63d0\u4f9b\u63a5\u53e3\uff0c\u5e2e\u52a9\u7528\u6237\u80fd\u591f\u5173\u6ce8\u5230\u6607\u817e\u7cfb\u5217AI\u5904\u7406\u5668\u4ee5\u53ca\u5bb9\u5668\u7ea7\u5206\u914d\u72b6\u6001\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
                                  • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b NPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 ascend-mindxdl \u5b89\u88c5\u5931\u8d25\u3002
                                  • isVirtualMachine \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5982\u679c NPU \u8282\u70b9\u4e3a\u4e91\u4e3b\u673a\u573a\u666f\uff0c\u8bf7\u5f00\u542f\u00a0isVirtualMachine \u53c2\u6570\u3002

                                  \u5b89\u88c5\u6210\u529f\u540e\uff0c\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u4f1a\u51fa\u73b0\u4e24\u4e2a\u7ec4\u4ef6\uff0c\u5982\u4e0b\u56fe\uff1a

                                  \u540c\u65f6\u8282\u70b9\u4fe1\u606f\u4e0a\u4e5f\u4f1a\u51fa\u73b0\u5bf9\u5e94 NPU \u7684\u4fe1\u606f\uff1a

                                  \u4e00\u5207\u5c31\u7eea\u540e\uff0c\u6211\u4eec\u901a\u8fc7\u9875\u9762\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5c31\u80fd\u591f\u9009\u62e9\u5230\u5bf9\u5e94\u7684 NPU \u8bbe\u5907\uff0c\u5982\u4e0b\u56fe\uff1a

                                  Note

                                  \u6709\u5173\u8be6\u7ec6\u4f7f\u7528\u6b65\u9aa4\uff0c\u8bf7\u53c2\u7167\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU\u3002

                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_usage.html","title":"\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU","text":"

                                  \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u6607\u817e GPU\u3002

                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
                                  • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
                                  • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
                                  • \u5f53\u524d\u96c6\u7fa4\u5185 NPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002

                                  \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_usage.html#_2","title":"\u5feb\u901f\u4f7f\u7528","text":"

                                  \u672c\u6587\u4f7f\u7528\u6607\u817e\u793a\u4f8b\u5e93\u4e2d\u7684 AscentCL \u56fe\u7247\u5206\u7c7b\u5e94\u7528\u793a\u4f8b\u3002

                                  1. \u4e0b\u8f7d\u6607\u817e\u4ee3\u7801\u5e93

                                    \u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u4e0b\u8f7d\u6607\u817e Demo \u793a\u4f8b\u4ee3\u7801\u5e93\uff0c\u5e76\u4e14\u8bf7\u8bb0\u4f4f\u4ee3\u7801\u5b58\u653e\u7684\u4f4d\u7f6e\uff0c\u540e\u7eed\u9700\u8981\u4f7f\u7528\u3002

                                    git clone https://gitee.com/ascend/samples.git\n
                                  2. \u51c6\u5907\u57fa\u7840\u955c\u50cf

                                    \u6b64\u4f8b\u4f7f\u7528 Ascent-pytorch \u57fa\u7840\u955c\u50cf\uff0c\u53ef\u8bbf\u95ee\u6607\u817e\u955c\u50cf\u4ed3\u5e93\u83b7\u53d6\u3002

                                  3. \u51c6\u5907 YAML

                                    ascend-demo.yaml
                                    apiVersion: batch/v1\nkind: Job\nmetadata:\n  name: resnetinfer1-1-1usoc\nspec:\n  template:\n    spec:\n      containers:\n        - image: ascendhub.huawei.com/public-ascendhub/ascend-pytorch:23.0.RC2-ubuntu18.04 # Inference image name\n          imagePullPolicy: IfNotPresent\n          name: resnet50infer\n          securityContext:\n            runAsUser: 0\n          command:\n            - \"/bin/bash\"\n            - \"-c\"\n            - |\n              source /usr/local/Ascend/ascend-toolkit/set_env.sh &&\n              TEMP_DIR=/root/samples_copy_$(date '+%Y%m%d_%H%M%S_%N') &&\n              cp -r /root/samples \"$TEMP_DIR\" &&\n              cd \"$TEMP_DIR\"/inference/modelInference/sampleResnetQuickStart/python/model &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/resnet50/resnet50.onnx &&\n              atc --model=resnet50.onnx --framework=5 --output=resnet50 --input_shape=\"actual_input_1:1,3,224,224\"  --soc_version=Ascend910 &&\n              cd ../data &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg &&\n              cd ../scripts &&\n              bash sample_run.sh\n          resources:\n            requests:\n              huawei.com/Ascend910: 1 # Number of the Ascend 910 Processors\n            limits:\n              huawei.com/Ascend910: 1 # The value should be the same as that of requests\n          volumeMounts:\n            - name: hiai-driver\n              mountPath: /usr/local/Ascend/driver\n              readOnly: true\n            - name: slog\n              mountPath: /var/log/npu/conf/slog/slog.conf\n            - name: localtime # The container time must be the same as the host time\n              mountPath: /etc/localtime\n            - name: dmp\n              mountPath: /var/dmp_daemon\n            - name: slogd\n              mountPath: /var/slogd\n            - name: hbasic\n              mountPath: /etc/hdcBasic.cfg\n            - name: sys-version\n              mountPath: /etc/sys_version.conf\n            - name: aicpu\n              mountPath: /usr/lib64/aicpu_kernels\n            - name: tfso\n              mountPath: /usr/lib64/libtensorflow.so\n            - name: sample-path\n              mountPath: /root/samples\n      volumes:\n        - name: hiai-driver\n          hostPath:\n            path: /usr/local/Ascend/driver\n        - name: slog\n          hostPath:\n            path: /var/log/npu/conf/slog/slog.conf\n        - name: localtime\n          hostPath:\n            path: /etc/localtime\n        - name: dmp\n          hostPath:\n            path: /var/dmp_daemon\n        - name: slogd\n          hostPath:\n            path: /var/slogd\n        - name: hbasic\n          hostPath:\n            path: /etc/hdcBasic.cfg\n        - name: sys-version\n          hostPath:\n            path: /etc/sys_version.conf\n        - name: aicpu\n          hostPath:\n            path: /usr/lib64/aicpu_kernels\n        - name: tfso\n          hostPath:\n            path: /usr/lib64/libtensorflow.so\n        - name: sample-path\n          hostPath:\n            path: /root/samples\n      restartPolicy: OnFailure\n

                                    \u4ee5\u4e0a YAML \u4e2d\u6709\u4e00\u4e9b\u5b57\u6bb5\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u4fee\u6539\uff1a

                                    1. atc ... --soc_version=Ascend910 \u4f7f\u7528\u7684\u662f Ascend910 \uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u4e3b \u60a8\u53ef\u4ee5\u4f7f\u7528 npu-smi info \u547d\u4ee4\u67e5\u770b\u663e\u5361\u578b\u53f7\u7136\u540e\u52a0\u4e0a Ascend \u524d\u7f00\u5373\u53ef
                                    2. samples-path \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
                                    3. resources \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
                                  4. \u90e8\u7f72 Job \u5e76\u67e5\u770b\u7ed3\u679c

                                    \u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u521b\u5efa Job\uff1a

                                    kubectl apply -f ascend-demo.yaml\n

                                    \u67e5\u770b Pod \u8fd0\u884c\u72b6\u6001\uff1a

                                    Pod \u6210\u529f\u8fd0\u884c\u540e\uff0c\u67e5\u770b\u65e5\u5fd7\u7ed3\u679c\u3002\u5728\u5c4f\u5e55\u4e0a\u7684\u5173\u952e\u63d0\u793a\u4fe1\u606f\u793a\u4f8b\u5982\u4e0b\u56fe\uff0c\u63d0\u793a\u4fe1\u606f\u4e2d\u7684 Label \u8868\u793a\u7c7b\u522b\u6807\u8bc6\uff0c Conf \u8868\u793a\u8be5\u5206\u7c7b\u7684\u6700\u5927\u7f6e\u4fe1\u5ea6\uff0cClass \u8868\u793a\u6240\u5c5e\u7c7b\u522b\u3002\u8fd9\u4e9b\u503c\u53ef\u80fd\u4f1a\u6839\u636e\u7248\u672c\u3001\u73af\u5883\u6709\u6240\u4e0d\u540c\uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6\uff1a

                                    \u7ed3\u679c\u56fe\u7247\u5c55\u793a\uff1a

                                  "},{"location":"admin/kpanda/gpu/ascend/ascend_usage.html#_3","title":"\u754c\u9762\u4f7f\u7528","text":"
                                  1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Ascend \u3002

                                  2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Ascend\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

                                    \u7269\u7406\u5361\u6570\u91cf\uff08huawei.com/Ascend910\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14**\u5c0f\u4e8e\u7b49\u4e8e**\u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

                                    \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                                  "},{"location":"admin/kpanda/gpu/ascend/vnpu.html","title":"\u542f\u7528\u6607\u817e\u865a\u62df\u5316","text":"

                                  \u6607\u817e\u865a\u62df\u5316\u5206\u4e3a\u52a8\u6001\u865a\u62df\u5316\u548c\u9759\u6001\u865a\u62df\u5316\uff0c\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f\u5e76\u4f7f\u7528\u6607\u817e\u9759\u6001\u865a\u62df\u5316\u80fd\u529b\u3002

                                  "},{"location":"admin/kpanda/gpu/ascend/vnpu.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  • Kubernetes \u96c6\u7fa4\u73af\u5883\u642d\u5efa\u3002
                                  • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
                                  • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
                                  • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
                                  • \u652f\u6301\u7684 NPU \u5361\u578b\u53f7\uff1a

                                    • Ascend 310P\uff0c\u5df2\u9a8c\u8bc1
                                    • Ascend 910b\uff0820 \u6838\uff09\uff0c\u5df2\u9a8c\u8bc1
                                    • Ascend 910\uff0832 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1
                                    • Ascend 910\uff0830 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1

                                    \u66f4\u591a\u7ec6\u8282\u53c2\u9605\u5b98\u65b9\u865a\u62df\u5316\u786c\u4ef6\u8bf4\u660e\u3002

                                  \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

                                  "},{"location":"admin/kpanda/gpu/ascend/vnpu.html#_3","title":"\u5f00\u542f\u865a\u62df\u5316\u80fd\u529b","text":"

                                  \u5f00\u542f\u865a\u62df\u5316\u80fd\u529b\u9700\u8981\u624b\u52a8\u4fee\u6539\u00a0ascend-device-plugin-daemonset \u7ec4\u4ef6\u7684\u542f\u52a8\u53c2\u6570\uff0c\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

                                  - device-plugin -useAscendDocker=true -volcanoType=false -presetVirtualDevice=true\n- logFile=/var/log/mindx-dl/devicePlugin/devicePlugin.log -logLevel=0\n
                                  "},{"location":"admin/kpanda/gpu/ascend/vnpu.html#vnpu","title":"\u5207\u5206 VNPU \u5b9e\u4f8b","text":"

                                  \u9759\u6001\u865a\u62df\u5316\u9700\u8981\u624b\u52a8\u5bf9 VNPU \u5b9e\u4f8b\u7684\u5207\u5206\uff0c\u8bf7\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

                                  npu-smi set -t create-vnpu -i 13 -c 0 -f vir02\n
                                  • i \u6307\u7684\u662f card id
                                  • c \u6307\u7684\u662f chip id
                                  • vir02 \u6307\u7684\u662f\u5207\u5206\u89c4\u683c\u6a21\u677f

                                  \u5173\u4e8e card id \u548c chip id\uff0c\u53ef\u4ee5\u901a\u8fc7 npu-smi info \u67e5\u8be2\uff0c\u5207\u5206\u89c4\u683c\u53ef\u901a\u8fc7 ascend \u5b98\u65b9\u6a21\u677f\u8fdb\u884c\u67e5\u8be2\u3002

                                  \u5207\u5206\u5b9e\u4f8b\u8fc7\u540e\u53ef\u901a\u8fc7\u4e0b\u8ff0\u547d\u4ee4\u67e5\u8be2\u5207\u5206\u7ed3\u679c\uff1a

                                  npu-smi info -t info-vnpu -i 13 -c 0\n

                                  \u67e5\u8be2\u7ed3\u679c\u5982\u4e0b\uff1a

                                  "},{"location":"admin/kpanda/gpu/ascend/vnpu.html#ascend-device-plugin-daemonset","title":"\u91cd\u542f\u00a0ascend-device-plugin-daemonset","text":"

                                  \u5207\u5206\u5b9e\u4f8b\u540e\u624b\u52a8\u91cd\u542f device-plugin pod\uff0c\u7136\u540e\u4f7f\u7528 kubectl describe \u547d\u4ee4\u67e5\u770b\u5df2\u6ce8\u518c node \u7684\u8d44\u6e90\uff1a

                                  kubectl describe node {{nodename}}\n

                                  "},{"location":"admin/kpanda/gpu/ascend/vnpu.html#_4","title":"\u5982\u4f55\u4f7f\u7528\u8bbe\u5907","text":"

                                  \u5728\u521b\u5efa\u5e94\u7528\u65f6\uff0c\u6307\u5b9a\u8d44\u6e90 key\uff0c\u53c2\u8003\u4e0b\u8ff0 YAML\uff1a

                                  ......\nresources:\n  requests:\n    huawei.com/Ascend310P-2c: 1\n  limits:\n    huawei.com/Ascend310P-2c: 1\n......\n
                                  "},{"location":"admin/kpanda/gpu/metax/usemetax.html","title":"\u6c90\u66e6 GPU \u7ec4\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528","text":"

                                  \u672c\u7ae0\u8282\u63d0\u4f9b\u6c90\u66e6 gpu-extensions\u3001gpu-operator \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u548c\u6c90\u66e6 GPU \u6574\u5361\u548c vGPU \u4e24\u79cd\u6a21\u5f0f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002

                                  "},{"location":"admin/kpanda/gpu/metax/usemetax.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                  1. \u5df2\u5728\u6c90\u66e6\u8f6f\u4ef6\u4e2d\u5fc3\u4e0b\u8f7d\u5e76\u5b89\u88c5\u6240\u9700\u7684 tar \u5305\uff0c \u672c\u6587\u4ee5 metax-gpu-k8s-package.0.7.10.tar.gz \u4e3a\u4f8b\u3002
                                  2. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
                                  "},{"location":"admin/kpanda/gpu/metax/usemetax.html#_2","title":"\u7ec4\u4ef6\u4ecb\u7ecd","text":"

                                  Metax \u63d0\u4f9b\u4e86\u4e24\u4e2a helm-chart \u5305\uff0c\u4e00\u4e2a\u662f metax-extensions\uff0c\u4e00\u4e2a\u662f gpu-operator\uff0c\u6839\u636e\u4f7f\u7528\u573a\u666f\u53ef\u9009\u62e9\u5b89\u88c5\u4e0d\u540c\u7684\u7ec4\u4ef6\u3002

                                  1. Metax-extensions\uff1a\u5305\u542b gpu-device \u548c gpu-label \u4e24\u4e2a\u7ec4\u4ef6\u3002\u5728\u4f7f\u7528 Metax-extensions \u65b9\u6848\u65f6\uff0c\u7528\u6237\u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u9700\u8981\u57fa\u4e8e MXMACA\u00ae \u57fa\u7840\u955c\u50cf\u6784\u5efa\u3002\u4e14 Metax-extensions \u4ec5\u9002\u7528\u4e8e GPU \u6574\u5361\u4f7f\u7528\u573a\u666f\u3002
                                  2. gpu-operator\uff1a\u5305\u542b gpu-device\u3001gpu-label\u3001driver-manager\u3001container-runtime\u3001operator-controller \u8fd9\u4e9b\u7ec4\u4ef6\u3002 \u4f7f\u7528 gpu-operator \u65b9\u6848\u65f6\uff0c\u7528\u6237\u53ef\u9009\u62e9\u5236\u4f5c\u4e0d\u5305\u542b MXMACA\u00ae SDK \u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u3002gpu-operator \u9002\u7528\u4e8e GPU \u6574\u5361\u548c vGPU \u573a\u666f\u3002
                                  "},{"location":"admin/kpanda/gpu/metax/usemetax.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                  1. \u4ece /home/metax/metax-docs/k8s/metax-gpu-k8s-package.0.7.10.tar.gz \u6587\u4ef6\u4e2d\u89e3\u538b\u51fa

                                    • deploy-gpu-extensions.yaml # \u90e8\u7f72yaml
                                    • metax-gpu-extensions-0.7.10.tgz\u3001metax-operator-0.7.10.tgz # helm chart\u6587\u4ef6
                                    • metax-k8s-images.0.7.10.run # \u79bb\u7ebf\u955c\u50cf
                                  2. \u67e5\u770b\u7cfb\u7edf\u662f\u5426\u5b89\u88c5\u9a71\u52a8

                                    $ lsmod | grep metax \nmetax 1605632 0 \nttm 86016 3 drm_vram_helper,metax,drm_ttm_helper \ndrm 618496 7 drm_kms_helper,drm_vram_helper,ast,metax,drm_ttm_helper,ttm\n
                                    • \u5982\u6ca1\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5c31\u8868\u793a\u6ca1\u6709\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002\u5982\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5219\u8868\u793a\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002
                                    • \u4f7f\u7528 metax-opeartor \u65f6\uff0c\u4e0d\u63a8\u8350\u5728\u5de5\u4f5c\u8282\u70b9\u9884\u5b89\u88c5 MXMACA \u5185\u6838\u6001\u9a71\u52a8\uff0c\u82e5\u5df2\u5b89\u88c5\u4e5f\u65e0\u9700\u5378\u8f7d\u3002
                                  3. \u5b89\u88c5\u9a71\u52a8

                                  "},{"location":"admin/kpanda/gpu/metax/usemetax.html#gpu-extensions","title":"gpu-extensions","text":"
                                  1. \u63a8\u9001\u955c\u50cf

                                    tar -xf metax-gpu-k8s-package.0.7.10.tar.gz\n./metax-k8s-images.0.7.10.run push {registry}/metax\n
                                  2. \u63a8\u9001 Helm Chart

                                    helm plugin install https://github.com/chartmuseum/helm-push\nhelm repo add  --username rootuser --password rootpass123  metax http://172.16.16.5:8081\nhelm cm-push metax-operator-0.7.10.tgz metax\nhelm cm-push metax-gpu-extensions-0.7.10.tgz metax\n
                                  3. \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u5b89\u88c5 metax-gpu-extensions

                                    \u90e8\u7f72\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u67e5\u770b\u5230\u8d44\u6e90\u3002

                                  4. \u4fee\u6539\u6210\u529f\u4e4b\u540e\u5c31\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u770b\u5230\u5e26\u6709 Metax GPU \u7684\u6807\u7b7e

                                  "},{"location":"admin/kpanda/gpu/metax/usemetax.html#gpu-operator","title":"gpu-operator","text":"

                                  \u5b89\u88c5 gpu-opeartor \u65f6\u7684\u5df2\u77e5\u95ee\u9898\uff1a

                                  1. metax-operator\u3001gpu-label\u3001gpu-device \u3001container-runtime \u8fd9\u51e0\u4e2a\u7ec4\u4ef6\u955c\u50cf\u8981\u5e26\u6709 amd64 \u540e\u7f00\u3002

                                  2. metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u4e0d\u5728 metax-k8s-images.0.7.13.run \u5305\u91cc\u9762\uff0c\u9700\u8981\u5355\u72ec\u4e0b\u8f7d maca-mxc500-2.23.0.23-ubuntu20.04-x86_64.tar.xz \u8fd9\u7c7b\u955c\u50cf\uff0cload \u4e4b\u540e\u91cd\u65b0\u4fee\u6539 metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u3002

                                  3. metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u9700\u8981\u4ece https://pub-docstore.metax-tech.com:7001 \u8fd9\u4e2a\u7f51\u7ad9\u4e0b\u8f7d k8s-driver-image.2.23.0.25.run \u6587\u4ef6\uff0c\u7136\u540e\u6267\u884c k8s-driver-image.2.23.0.25.run push {registry}/metax \u547d\u4ee4\u628a\u955c\u50cf\u63a8\u9001\u5230\u955c\u50cf\u4ed3\u5e93\u3002\u63a8\u9001\u4e4b\u540e\u4fee\u6539 metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u5730\u5740\u3002

                                  "},{"location":"admin/kpanda/gpu/metax/usemetax.html#gpu_1","title":"\u4f7f\u7528 GPU","text":"

                                  \u5b89\u88c5\u540e\u53ef\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u4f7f\u7528\u6c90\u66e6 GPU\u3002\u6ce8\u610f\u542f\u7528 GPU \u540e\uff0c\u9700\u9009\u62e9GPU\u7c7b\u578b\u4e3a Metax GPU

                                  \u8fdb\u5165\u5bb9\u5668\uff0c\u6267\u884c mx-smi \u53ef\u67e5\u770b GPU \u7684\u4f7f\u7528\u60c5\u51b5.

                                  "},{"location":"admin/kpanda/gpu/mlu/use-mlu.html","title":"\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU","text":"

                                  \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU\u3002

                                  "},{"location":"admin/kpanda/gpu/mlu/use-mlu.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                  • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                                  • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                  • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5bd2\u6b66\u7eaa\u56fa\u4ef6\u3001\u9a71\u52a8\u4ee5\u53caDevicePlugin\u7ec4\u4ef6\uff0c\u5b89\u88c5\u8be6\u60c5\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\uff1a
                                    • \u9a71\u52a8\u56fa\u4ef6\u5b89\u88c5
                                    • DevicePlugin \u5b89\u88c5

                                  \u5728\u5b89\u88c5 DevicePlugin \u65f6\u8bf7\u5173\u95ed --enable-device-type \u53c2\u6570\uff0c\u5426\u5219\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06\u65e0\u6cd5\u6b63\u786e\u8bc6\u522b\u5bd2\u6b66\u7eaa GPU\u3002

                                  "},{"location":"admin/kpanda/gpu/mlu/use-mlu.html#gpu_1","title":"\u5bd2\u6b66\u7eaa GPU \u6a21\u5f0f\u4ecb\u7ecd","text":"

                                  \u5bd2\u6b66\u7eaa GPU \u6709\u4ee5\u4e0b\u51e0\u79cd\u6a21\u5f0f\uff1a

                                  • \u6574\u5361\u6a21\u5f0f\uff1a\u5c06\u5bd2\u6b66\u7eaaGPU\u4ee5\u6574\u5361\u7684\u65b9\u5f0f\u6ce8\u518c\u5230\u96c6\u7fa4\u5f53\u4e2d\u8fdb\u884c\u4f7f\u7528\u3002
                                  • Share \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u4e00\u5f20\u5bd2\u6b66\u7eaaGPU\u5171\u4eab\u7ed9\u591a\u4e2a Pod \u8fdb\u884c\u4f7f\u7528\uff0c\u53ef\u4ee5\u901a\u8fc7 virtualization-num \u53c2\u6570\u8fdb\u884c\u8bbe\u7f6e\u53ef\u5171\u4eab\u5bb9\u5668\u7684\u6570\u91cf\u3002
                                  • Dynamic smlu \u6a21\u5f0f\uff1a\u8fdb\u4e00\u6b65\u5bf9\u8d44\u6e90\u8fdb\u884c\u4e86\u7ec6\u5316\uff0c\u53ef\u4ee5\u63a7\u5236\u5206\u914d\u7ed9\u5bb9\u5668\u7684\u663e\u5b58\u3001\u7b97\u529b\u7684\u5927\u5c0f\u3002
                                  • Mim \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u5bd2\u6b66\u7eaa GPU \u6309\u7167\u56fa\u5b9a\u7684\u89c4\u683c\u5207\u5206\u6210\u591a\u5f20 GPU \u8fdb\u884c\u4f7f\u7528\u3002
                                  "},{"location":"admin/kpanda/gpu/mlu/use-mlu.html#ai","title":"\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u5bd2\u6b66\u7eaa","text":"

                                  \u8fd9\u91cc\u4ee5 Dynamic smlu \u6a21\u5f0f\u4e3a\u4f8b\uff1a

                                  1. \u5728\u6b63\u786e\u5b89\u88c5 DevicePlugin \u7b49\u7ec4\u4ef6\u540e\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8fd0\u7ef4-> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002

                                  2. \u70b9\u51fb\u8282\u70b9\u7ba1\u7406\u9875\u9762\uff0c\u67e5\u770b\u8282\u70b9\u662f\u5426\u5df2\u7ecf\u6b63\u786e\u8bc6\u522b\u5230\u5bf9\u5e94\u7684GPU\u7c7b\u578b\u3002

                                  3. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08MLU VGPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

                                    • GPU \u7b97\u529b\uff08cambricon.com/mlu.smlu.vcore\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u4f7f\u7528\u6838\u5fc3\u7684\u767e\u5206\u6bd4\u6570\u91cf\u3002
                                    • GPU \u663e\u5b58\uff08cambricon.com/mlu.smlu.vmemory\uff09\uff1a\u8868\u793a\u5f53\u524dPod\u9700\u8981\u4f7f\u7528\u663e\u5b58\u7684\u5927\u5c0f\uff0c\u5355\u4f4d\u662fMB\u3002

                                  "},{"location":"admin/kpanda/gpu/mlu/use-mlu.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                                  \u53c2\u8003 YAML \u6587\u4ef6\u5982\u4e0b\uff1a

                                  apiVersion: v1  \nkind: Pod  \nmetadata:  \n  name: pod1  \nspec:  \n  restartPolicy: OnFailure  \n  containers:  \n    - image: ubuntu:16.04  \n      name: pod1-ctr  \n      command: [\"sleep\"]  \n      args: [\"100000\"]  \n      resources:  \n        limits:  \n          cambricon.com/mlu: \"1\" # use this when device type is not enabled, else delete this line.  \n          #cambricon.com/mlu: \"1\" #uncomment to use when device type is enabled  \n          #cambricon.com/mlu.share: \"1\" #uncomment to use device with env-share mode  \n          #cambricon.com/mlu.mim-2m.8gb: \"1\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vcore: \"100\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vmemory: \"1024\" #uncomment to use device with mim mode\n
                                  "},{"location":"admin/kpanda/gpu/nvidia/index.html","title":"NVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f","text":"

                                  NVIDIA \u4f5c\u4e3a\u4e1a\u5185\u77e5\u540d\u7684\u56fe\u5f62\u8ba1\u7b97\u4f9b\u5e94\u5546\uff0c\u4e3a\u7b97\u529b\u7684\u63d0\u5347\u63d0\u4f9b\u4e86\u8bf8\u591a\u8f6f\u786c\u4ef6\u89e3\u51b3\u65b9\u6848\uff0c\u5176\u4e2d NVIDIA \u5728 GPU \u7684\u4f7f\u7528\u65b9\u5f0f\u4e0a\u63d0\u4f9b\u4e86\u5982\u4e0b\u4e09\u79cd\u89e3\u51b3\u65b9\u6848\uff1a

                                  "},{"location":"admin/kpanda/gpu/nvidia/index.html#full-gpu","title":"\u6574\u5361\uff08Full GPU\uff09","text":"

                                  \u6574\u5361\u662f\u6307\u5c06\u6574\u4e2a NVIDIA GPU \u5206\u914d\u7ed9\u5355\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u3002\u5728\u8fd9\u79cd\u914d\u7f6e\u4e0b\uff0c\u5e94\u7528\u53ef\u4ee5\u5b8c\u5168\u5360\u7528 GPU \u7684\u6240\u6709\u8d44\u6e90\uff0c \u5e76\u83b7\u5f97\u6700\u5927\u7684\u8ba1\u7b97\u6027\u80fd\u3002\u6574\u5361\u9002\u7528\u4e8e\u9700\u8981\u5927\u91cf\u8ba1\u7b97\u8d44\u6e90\u548c\u5185\u5b58\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5982\u6df1\u5ea6\u5b66\u4e60\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

                                  "},{"location":"admin/kpanda/gpu/nvidia/index.html#vgpuvirtual-gpu","title":"vGPU\uff08Virtual GPU\uff09","text":"

                                  vGPU \u662f\u4e00\u79cd\u865a\u62df\u5316\u6280\u672f\uff0c\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u865a\u62df GPU\uff0c\u6bcf\u4e2a\u865a\u62df GPU \u5206\u914d\u7ed9\u4e0d\u540c\u7684\u4e91\u4e3b\u673a\u6216\u7528\u6237\u3002 vGPU \u4f7f\u591a\u4e2a\u7528\u6237\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u53f0\u7269\u7406 GPU\uff0c\u5e76\u5728\u5404\u81ea\u7684\u865a\u62df\u73af\u5883\u4e2d\u72ec\u7acb\u4f7f\u7528 GPU \u8d44\u6e90\u3002 \u6bcf\u4e2a\u865a\u62df GPU \u53ef\u4ee5\u83b7\u5f97\u4e00\u5b9a\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002vGPU \u9002\u7528\u4e8e\u865a\u62df\u5316\u73af\u5883\u548c\u4e91\u8ba1\u7b97\u573a\u666f\uff0c\u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8d44\u6e90\u5229\u7528\u7387\u548c\u7075\u6d3b\u6027\u3002

                                  "},{"location":"admin/kpanda/gpu/nvidia/index.html#migmulti-instance-gpu","title":"MIG\uff08Multi-Instance GPU\uff09","text":"

                                  MIG \u662f NVIDIA Ampere \u67b6\u6784\u5f15\u5165\u7684\u4e00\u9879\u529f\u80fd\uff0c\u5b83\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u7269\u7406 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u7528\u6237\u6216\u5de5\u4f5c\u8d1f\u8f7d\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u5177\u6709\u81ea\u5df1\u7684\u8ba1\u7b97\u8d44\u6e90\u3001\u663e\u5b58\u548c PCIe \u5e26\u5bbd\uff0c\u5c31\u50cf\u4e00\u4e2a\u72ec\u7acb\u7684\u865a\u62df GPU\u3002 MIG \u63d0\u4f9b\u4e86\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u52a8\u6001\u8c03\u6574\u5b9e\u4f8b\u7684\u6570\u91cf\u548c\u5927\u5c0f\u3002 MIG \u9002\u7528\u4e8e\u591a\u79df\u6237\u73af\u5883\u3001\u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f\u548c\u6279\u5904\u7406\u4f5c\u4e1a\u7b49\u573a\u666f\u3002

                                  \u65e0\u8bba\u662f\u5728\u865a\u62df\u5316\u73af\u5883\u4e2d\u4f7f\u7528 vGPU\uff0c\u8fd8\u662f\u5728\u7269\u7406 GPU \u4e0a\u4f7f\u7528 MIG\uff0cNVIDIA \u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u9009\u62e9\u548c\u4f18\u5316 GPU \u8d44\u6e90\u7684\u65b9\u5f0f\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5168\u9762\u517c\u5bb9\u4e86\u4e0a\u8ff0 NVIDIA \u7684\u80fd\u529b\u7279\u6027\uff0c\u7528\u6237\u53ea\u9700\u901a\u8fc7\u7b80\u5355\u7684\u754c\u9762\u64cd\u4f5c\uff0c\u5c31\u80fd\u591f\u83b7\u5f97\u5168\u90e8 NVIDIA GPU \u7684\u8ba1\u7b97\u80fd\u529b\uff0c\u4ece\u800c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387\u5e76\u964d\u4f4e\u6210\u672c\u3002

                                  • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\uff0c\u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a
                                    • \u5c5e\u4e8e\u540c\u4e00\u4e2a\u578b\u53f7\uff08\u4f8b\u5982 A100-SXM-40GB\uff09\uff0c\u53ea\u6709\u540c\u4e00\u578b\u53f7 GPU \u7684 MIG Profile \u624d\u662f\u4e00\u6837\u7684
                                    • \u542f\u7528 MIG \u914d\u7f6e\uff0c\u9700\u8981\u91cd\u542f\u673a\u5668\u624d\u80fd\u751f\u6548
                                    • \u4e3a\u5728\u6240\u6709\u4ea7\u54c1\u4e2d\u516c\u5f00\u201c\u5b8c\u5168\u76f8\u540c\u201d\u7684 MIG \u8bbe\u5907\u7c7b\u578b\uff0c\u521b\u5efa\u76f8\u540c\u7684GI \u548c CI
                                  • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002\u8bf7\u6c42\u7279\u5b9a\u7684 MIG \u8bbe\u5907\u7c7b\u578b\u9700\u8981\u8bbe\u5907\u7c7b\u578b\u63d0\u4f9b\u7684\u8ba1\u7b97\u5207\u7247\u6570\u91cf\u548c\u5185\u5b58\u603b\u91cf\u3002
                                    • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
                                    • \u6bcf\u4e2a GPU \u53ef\u542f\u7528\u6216\u4e0d\u542f\u7528 MIG\uff0c\u5e76\u4e14\u53ef\u4ee5\u81ea\u7531\u914d\u7f6e\u4efb\u4f55\u53ef\u7528 MIG \u8bbe\u5907\u7c7b\u578b\u7684\u6df7\u5408\u642d\u914d\u3002
                                    • \u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 k8s-device-plugin \u5c06\uff1a
                                      • \u4f7f\u7528\u4f20\u7edf\u7684 nvidia.com/gpu \u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u4efb\u4f55\u4e0d\u5904\u4e8e MIG \u6a21\u5f0f\u7684 GPU
                                      • \u4f7f\u7528\u9075\u5faa\u67b6\u6784 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                                        \u5f00\u542f\u914d\u7f6e\u8be6\u60c5\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/index.html#_1","title":"\u5982\u4f55\u4f7f\u7528","text":"

                                        \u60a8\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u94fe\u63a5\uff0c\u5feb\u901f\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5173\u4e8e NVIDIA GPU \u5361\u7684\u7ba1\u7406\u80fd\u529b\u3002

                                        • NVIDIA GPU \u6574\u5361\u4f7f\u7528
                                        • NVIDIA vGPU \u4f7f\u7528
                                        • NVIDIA MIG \u4f7f\u7528
                                        "},{"location":"admin/kpanda/gpu/nvidia/full_gpu_userguide.html","title":"\u5e94\u7528\u4f7f\u7528 GPU \u6574\u5361","text":"

                                        \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06\u6574\u4e2a NVIDIA GPU \u5361\u5206\u914d\u7ed9\u5355\u4e2a\u5e94\u7528\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/full_gpu_userguide.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                                        • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                        • \u5f53\u524d\u96c6\u7fa4\u5df2\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u5e76\u5df2\u542f\u7528 NVIDIA DevicePlugin \uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                                        • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002
                                        "},{"location":"admin/kpanda/gpu/nvidia/full_gpu_userguide.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/gpu/nvidia/full_gpu_userguide.html#ui","title":"\u4f7f\u7528 UI \u754c\u9762\u914d\u7f6e","text":"
                                        1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia GPU \u3002

                                        2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia GPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

                                          \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/gpu\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

                                          \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/full_gpu_userguide.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                                        \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/gpu: 1 \u53c2\u6570\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                                        apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-gpu-demo\n    spec:\n      containers:\n      - image: chrstnhntschl/gpu_burn\n        name: container-0\n        resources:\n          requests:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # \u7533\u8bf7 GPU \u7684\u6570\u91cf\n          limits:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # GPU \u6570\u91cf\u7684\u4f7f\u7528\u4e0a\u9650\n      imagePullSecrets:\n      - name: default-secret\n

                                        Note

                                        \u4f7f\u7528 nvidia.com/gpu \u53c2\u6570\u6307\u5b9a GPU \u6570\u91cf\u65f6\uff0crequests \u548c limits \u503c\u9700\u8981\u4fdd\u6301\u4e00\u81f4\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html","title":"GPU Operator \u79bb\u7ebf\u5b89\u88c5","text":"

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 Ubuntu22.04\u3001Ubuntu20.04\u3001CentOS 7.9 \u8fd9\u4e09\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\uff0c\u9a71\u52a8\u7248\u672c\u662f 535.104.12\uff1b \u5e76\u4e14\u5185\u7f6e\u4e86\u5404\u64cd\u4f5c\u7cfb\u7edf\u6240\u9700\u7684 Toolkit \u955c\u50cf\uff0c\u7528\u6237\u4e0d\u518d\u9700\u8981\u624b\u52a8\u79bb\u7ebf Toolkit \u955c\u50cf\u3002

                                        \u672c\u6587\u4f7f\u7528 AMD \u67b6\u6784\u7684 CentOS 7.9\uff083.10.0-1160\uff09\u8fdb\u884c\u6f14\u793a\u3002\u5982\u9700\u4f7f\u7528 Red Hat 8.4 \u90e8\u7f72\uff0c \u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u548c\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5f85\u90e8\u7f72 gpu-operator \u7684\u96c6\u7fa4\u8282\u70b9\u5185\u6838\u7248\u672c\u5fc5\u987b\u5b8c\u5168\u4e00\u81f4\u3002\u8282\u70b9\u6240\u5728\u7684\u53d1\u884c\u7248\u548c GPU \u5361\u578b\u53f7\u5728 GPU \u652f\u6301\u77e9\u9635\u7684\u8303\u56f4\u5185\u3002
                                        • \u5b89\u88c5 gpu-operator \u65f6\u9009\u62e9 v23.9.0+2 \u53ca\u4ee5\u4e0a\u7248\u672c
                                        "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 gpu-operator \u63d2\u4ef6\u3002

                                        1. \u767b\u5f55\u5e73\u53f0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5f85\u5b89\u88c5 gpu-operator \u7684\u96c6\u7fa4 -> \u8fdb\u5165\u96c6\u7fa4\u8be6\u60c5\u3002

                                        2. \u5728 Helm \u6a21\u677f \u9875\u9762\uff0c\u9009\u62e9 \u5168\u90e8\u4ed3\u5e93 \uff0c\u641c\u7d22 gpu-operator \u3002

                                        3. \u9009\u62e9 gpu-operator \uff0c\u70b9\u51fb \u5b89\u88c5 \u3002

                                        4. \u53c2\u8003\u4e0b\u6587\u53c2\u6570\u914d\u7f6e\uff0c\u914d\u7f6e gpu-operator \u5b89\u88c5\u53c2\u6570\uff0c\u5b8c\u6210 gpu-operator \u7684\u5b89\u88c5\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_3","title":"\u53c2\u6570\u914d\u7f6e","text":"
                                        • systemOS \uff1a\u9009\u62e9\u673a\u5668\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5f53\u524d\u5185\u7f6e\u4e86 Ubuntu 22.04\u3001Ubuntu20.04\u3001Centos7.9 \u3001other \u56db\u4e2a\u9009\u9879\uff0c\u8bf7\u6b63\u786e\u7684\u9009\u62e9\u64cd\u4f5c\u7cfb\u7edf\u3002
                                        "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_4","title":"\u57fa\u672c\u53c2\u6570\u914d\u7f6e","text":"
                                        • \u540d\u79f0 \uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\u3002
                                        • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                        • \u7248\u672c \uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 v23.9.0+2 \u7248\u672c\u4e3a\u4f8b\u3002
                                        • \u5931\u8d25\u5220\u9664 \uff1a\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                                        • \u5c31\u7eea\u7b49\u5f85 \uff1a\u542f\u7528\u540e\uff0c\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                                        • \u8be6\u60c5\u65e5\u5fd7 \uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002
                                        "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_5","title":"\u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e","text":""},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#operator","title":"Operator \u53c2\u6570\u914d\u7f6e","text":"
                                        • InitContainer.image \uff1a\u914d\u7f6e CUDA \u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/cuda
                                        • InitContainer.repository \uff1aCUDA \u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvcr.m.daocloud.io \u4ed3\u5e93
                                        • InitContainer.version : CUDA \u955c\u50cf\u7684\u7248\u672c\uff0c\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570
                                        "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#driver","title":"Driver \u53c2\u6570\u914d\u7f6e","text":"
                                        • Driver.enable \uff1a\u914d\u7f6e\u662f\u5426\u5728\u8282\u70b9\u4e0a\u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u9ed8\u8ba4\u5f00\u542f\uff0c\u5982\u679c\u60a8\u5728\u4f7f\u7528 GPU Operator \u90e8\u7f72\u524d\uff0c\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u90e8\u7f72\u4e86 NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff0c\u8bf7\u5173\u95ed\u3002\uff08\u82e5\u624b\u52a8\u90e8\u7f72\u9a71\u52a8\u7a0b\u5e8f\u9700\u8981\u5173\u6ce8 CUDA Toolkit \u4e0e Toolkit Driver Version \u7684\u9002\u914d\u5173\u7cfb\uff0c\u901a\u8fc7 GPU operator \u5b89\u88c5\u5219\u65e0\u9700\u5173\u6ce8\uff09\u3002
                                        • Driver.usePrecompiled \uff1a\u542f\u7528\u9884\u7f16\u8bd1\u7684GPU\u9a71\u52a8
                                        • Driver.image \uff1a\u914d\u7f6e GPU \u9a71\u52a8\u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/driver \u3002
                                        • Driver.repository \uff1aGPU \u9a71\u52a8\u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvidia \u7684 nvcr.io \u4ed3\u5e93\u3002
                                        • Driver.usePrecompiled \uff1a\u5f00\u542f\u9884\u7f16\u8bd1\u6a21\u5f0f\u5b89\u88c5\u9a71\u52a8\u3002
                                        • Driver.version \uff1aGPU \u9a71\u52a8\u955c\u50cf\u7684\u7248\u672c\uff0c\u79bb\u7ebf\u90e8\u7f72\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570\uff0c\u4ec5\u5728\u7ebf\u5b89\u88c5\u65f6\u9700\u914d\u7f6e\u3002\u4e0d\u540c\u7c7b\u578b\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\u7684\u7248\u672c\u5b58\u5728\u5982\u4e0b\u5dee\u5f02\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\uff1aNvidia GPU Driver \u7248\u672c\u3002 \u5982\u4e0b\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver Version \u793a\u4f8b\uff1a

                                          Note

                                          \u4f7f\u7528\u5185\u7f6e\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u65e0\u9700\u4fee\u6539\u955c\u50cf\u7248\u672c\uff0c\u5176\u4ed6\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u955c\u50cf\u3002 \u6ce8\u610f\u7248\u672c\u53f7\u540e\u65e0\u9700\u586b\u5199 Ubuntu\u3001CentOS\u3001Red Hat \u7b49\u64cd\u4f5c\u7cfb\u7edf\u540d\u79f0\uff0c\u82e5\u5b98\u65b9\u955c\u50cf\u542b\u6709\u64cd\u4f5c\u7cfb\u7edf\u540e\u7f00\uff0c\u8bf7\u624b\u52a8\u79fb\u9664\u3002

                                          • Red Hat \u7cfb\u7edf\uff0c\u4f8b\u5982 525.105.17
                                          • Ubuntu \u7cfb\u7edf\uff0c\u4f8b\u5982 535-5.15.0-1043-nvidia
                                          • CentOS \u7cfb\u7edf\uff0c\u4f8b\u5982 525.147.05
                                        • Driver.RepoConfig.ConfigMapName \uff1a\u7528\u6765\u8bb0\u5f55 GPU Operator \u7684\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\uff0c \u5f53\u4f7f\u7528\u9884\u7f6e\u7684\u79bb\u7ebf\u5305\u65f6\uff0c\u5404\u7c7b\u578b\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bf7\u53c2\u8003\u5982\u4e0b\u7684\u6587\u6863\u3002

                                          • \u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90
                                          • \u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90
                                        "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#toolkit","title":"Toolkit \u914d\u7f6e\u53c2\u6570","text":"

                                        Toolkit.enable \uff1a\u9ed8\u8ba4\u5f00\u542f\uff0c\u8be5\u7ec4\u4ef6\u8ba9 conatainerd/docker \u652f\u6301\u8fd0\u884c\u9700\u8981 GPU \u7684\u5bb9\u5668\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#mig","title":"MIG \u914d\u7f6e\u53c2\u6570","text":"

                                        \u8be6\u7ec6\u914d\u7f6e\u65b9\u5f0f\u8bf7\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd

                                        MigManager.Config.name \uff1aMIG \u7684\u5207\u5206\u914d\u7f6e\u6587\u4ef6\u540d\uff0c\u7528\u4e8e\u5b9a\u4e49 MIG \u7684\uff08GI, CI\uff09\u5207\u5206\u7b56\u7565\u3002 \u9ed8\u8ba4\u4e3a default-mig-parted-config \u3002\u81ea\u5b9a\u4e49\u53c2\u6570\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_6","title":"\u4e0b\u4e00\u6b65\u64cd\u4f5c","text":"

                                        \u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff1a

                                        • \u5982\u679c\u4f7f\u7528 \u6574\u5361\u6a21\u5f0f\uff0c\u5e94\u7528\u521b\u5efa\u65f6\u53ef\u4f7f\u7528 GPU \u8d44\u6e90

                                        • \u5982\u679c\u4f7f\u7528 vGPU \u6a21\u5f0f \uff0c\u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff0c\u4e0b\u4e00\u6b65\u8bf7\u5b8c\u6210 vGPU Addon \u5b89\u88c5

                                        • \u5982\u679c\u4f7f\u7528 MIG \u6a21\u5f0f\uff0c\u5e76\u4e14\u9700\u8981\u7ed9\u4e2a\u522b GPU \u8282\u70b9\u6309\u7167\u67d0\u79cd\u5207\u5206\u89c4\u683c\u8fdb\u884c\u4f7f\u7528\uff0c \u5426\u5219\u6309\u7167 MigManager.Config \u4e2d\u7684 default \u503c\u8fdb\u884c\u5207\u5206\u3002

                                          • single \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                                            kubectl label nodes {node} nvidia.com/mig.config=\"all-1g.10gb\" --overwrite\n
                                          • mixed \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                                            kubectl label nodes {node} nvidia.com/mig.config=\"custom-config\" --overwrite\n

                                        \u200b \u5207\u5206\u540e\uff0c\u5e94\u7528\u53ef\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html","title":"\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                                        \u672c\u6587\u4ee5 Red Hat 8.4 \u7684 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u79bb\u7ebf\u955c\u50cf\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        1. \u706b\u79cd\u8282\u70b9\u53ca\u5176\u7ec4\u4ef6\u72b6\u6001\u8fd0\u884c\u6b63\u5e38\u3002
                                        2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u706b\u79cd\u8282\u70b9\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                                        "},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html#_3","title":"\u5728\u8054\u7f51\u8282\u70b9\u83b7\u53d6\u79bb\u7ebf\u955c\u50cf","text":"

                                        \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                                        1. \u5728\u8054\u7f51\u673a\u5668\u4e0a\u62c9\u53d6 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\uff1a

                                          docker pull nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                                        2. \u955c\u50cf\u62c9\u53d6\u5b8c\u6210\u540e\uff0c\u6253\u5305\u955c\u50cf\u4e3a nvidia-driver.tar \u538b\u7f29\u5305\uff1a

                                          docker save nvcr.io/nvidia/driver:525.105.17-rhel8.4 > nvidia-driver.tar\n
                                        3. \u62f7\u8d1d nvidia-driver.tar \u955c\u50cf\u538b\u7f29\u5305\u5230\u706b\u79cd\u8282\u70b9\uff1a

                                          scp  nvidia-driver.tar user@ip:/root\n

                                          \u4f8b\u5982\uff1a

                                          scp  nvidia-driver.tar root@10.6.175.10:/root\n
                                        "},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html#_4","title":"\u63a8\u9001\u955c\u50cf\u5230\u706b\u79cd\u8282\u70b9\u4ed3\u5e93","text":"

                                        \u4ee5\u4e0b\u64cd\u4f5c\u5728\u706b\u79cd\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                                        1. \u767b\u5f55\u706b\u79cd\u8282\u70b9\uff0c\u5c06\u8054\u7f51\u8282\u70b9\u62f7\u8d1d\u7684\u955c\u50cf\u538b\u7f29\u5305 nvidia-driver.tar \u5bfc\u5165\u672c\u5730\uff1a

                                          docker load -i nvidia-driver.tar\n
                                        2. \u67e5\u770b\u521a\u521a\u5bfc\u5165\u7684\u955c\u50cf\uff1a

                                          docker images -a |grep nvidia\n

                                          \u9884\u671f\u8f93\u51fa\uff1a

                                          nvcr.io/nvidia/driver                 e3ed7dee73e9   1 days ago   1.02GB\n
                                        3. \u91cd\u65b0\u6807\u8bb0\u955c\u50cf\uff0c\u4f7f\u5176\u4e0e\u8fdc\u7a0b Registry \u4ed3\u5e93\u4e2d\u7684\u76ee\u6807\u4ed3\u5e93\u5bf9\u5e94\uff1a

                                          docker tag <image-name> <registry-url>/<repository-name>:<tag>\n
                                          • <image-name> \u662f\u4e0a\u4e00\u6b65 nvidia \u955c\u50cf\u7684\u540d\u79f0\uff0c
                                          • <registry-url> \u662f\u706b\u79cd\u8282\u70b9\u4e0a Registry \u670d\u52a1\u7684\u5730\u5740\uff0c
                                          • <repository-name> \u662f\u60a8\u8981\u63a8\u9001\u5230\u7684\u4ed3\u5e93\u540d\u79f0\uff0c
                                          • <tag> \u662f\u60a8\u4e3a\u955c\u50cf\u6307\u5b9a\u7684\u6807\u7b7e\u3002

                                          \u4f8b\u5982\uff1a

                                          registry\uff1adocker tag nvcr.io/nvidia/driver 10.6.10.5/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                                        4. \u5c06\u955c\u50cf\u63a8\u9001\u5230\u706b\u79cd\u8282\u70b9\u955c\u50cf\u4ed3\u5e93\uff1a

                                          docker push {ip}/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                                        "},{"location":"admin/kpanda/gpu/nvidia/push_image_to_repo.html#_5","title":"\u63a5\u4e0b\u6765","text":"

                                        \u53c2\u8003\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u548c GPU Operator \u79bb\u7ebf\u5b89\u88c5\u6765\u4e3a\u96c6\u7fa4\u90e8\u7f72 GPU Operator\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html","title":"RHEL 9.2 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                                        \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                                        RHEL 9.2 \u9a71\u52a8\u955c\u50cf\u4e0d\u80fd\u76f4\u63a5\u5b89\u88c5\uff0c\u5b98\u65b9\u7684\u9a71\u52a8\u811a\u672c\u5b58\u5728\u4e00\u70b9\u95ee\u9898\uff0c\u5728\u5b98\u65b9\u4fee\u590d\u4e4b\u524d\uff0c\u63d0\u4f9b\u5982\u4e0b\u7684\u6b65\u9aa4\u6765\u5b9e\u73b0\u79bb\u7ebf\u5b89\u88c5\u9a71\u52a8\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#nouveau","title":"\u7981\u7528nouveau\u9a71\u52a8","text":"

                                        \u5728 RHEL 9.2 \u4e2d\u5b58\u5728 nouveau \u975e\u5b98\u65b9\u7684 Nvidia \u9a71\u52a8\uff0c\u56e0\u6b64\u9700\u8981\u5148\u7981\u7528\u3002

                                        # \u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6\nsudo vi /etc/modprobe.d/blacklist-nouveau.conf\n# \u6dfb\u52a0\u4ee5\u4e0b\u4e24\u884c\u5185\u5bb9:\nblacklist nouveau\noptions nouveau modeset=0\n# \u7981\u7528Nouveau\nsudo dracut --force\n# \u91cd\u542fvm\nsudo reboot\n# \u68c0\u67e5\u662f\u5426\u5df2\u7ecf\u6210\u529f\u7981\u7528\nlsmod | grep nouveau\n
                                        "},{"location":"admin/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#_1","title":"\u81ea\u5b9a\u4e49\u9a71\u52a8\u955c\u50cf","text":"

                                        \u5148\u5728\u672c\u5730\u521b\u5efa nvidia-driver \u6587\u4ef6\uff1a

                                        \u70b9\u51fb\u67e5\u770b\u5b8c\u6574\u7684 nvidia-driver \u6587\u4ef6\u5185\u5bb9
                                        #! /bin/bash -x\n# Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.\n\nset -eu\n\nRUN_DIR=/run/nvidia\nPID_FILE=${RUN_DIR}/${0##*/}.pid\nDRIVER_VERSION=${DRIVER_VERSION:?\"Missing DRIVER_VERSION env\"}\nKERNEL_UPDATE_HOOK=/run/kernel/postinst.d/update-nvidia-driver\nNUM_VGPU_DEVICES=0\nNVIDIA_MODULE_PARAMS=()\nNVIDIA_UVM_MODULE_PARAMS=()\nNVIDIA_MODESET_MODULE_PARAMS=()\nNVIDIA_PEERMEM_MODULE_PARAMS=()\nTARGETARCH=${TARGETARCH:?\"Missing TARGETARCH env\"}\nUSE_HOST_MOFED=\"${USE_HOST_MOFED:-false}\"\nDNF_RELEASEVER=${DNF_RELEASEVER:-\"\"}\nRHEL_VERSION=${RHEL_VERSION:-\"\"}\nRHEL_MAJOR_VERSION=9\n\nOPEN_KERNEL_MODULES_ENABLED=${OPEN_KERNEL_MODULES_ENABLED:-false}\n[[ \"${OPEN_KERNEL_MODULES_ENABLED}\" == \"true\" ]] && KERNEL_TYPE=kernel-open || KERNEL_TYPE=kernel\n\nDRIVER_ARCH=${TARGETARCH/amd64/x86_64} && DRIVER_ARCH=${DRIVER_ARCH/arm64/aarch64}\necho \"DRIVER_ARCH is $DRIVER_ARCH\"\n\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\nsource $SCRIPT_DIR/common.sh\n\n_update_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Updating the package cache...\"\n        if ! yum -q makecache; then\n            echo \"FATAL: failed to reach RHEL package repositories. \"\\\n                 \"Ensure that the cluster can access the proper networks.\"\n            exit 1\n        fi\n    fi\n}\n\n_cleanup_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Cleaning up the package cache...\"\n        rm -rf /var/cache/yum/*\n    fi\n}\n\n_get_rhel_version_from_kernel() {\n    local rhel_version_underscore rhel_version_arr\n    rhel_version_underscore=$(echo \"${KERNEL_VERSION}\" | sed 's/.*el\\([0-9]\\+_[0-9]\\+\\).*/\\1/g')\n    # For e.g. :- from the kernel version 4.18.0-513.9.1.el8_9, we expect to extract the string \"8_9\"\n    if [[ ! ${rhel_version_underscore} =~ ^[0-9]+_[0-9]+$ ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    IFS='_' read -r -a rhel_version_arr <<< \"$rhel_version_underscore\"\n    if [[ ${#rhel_version_arr[@]} -ne 2 ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    RHEL_VERSION=\"${rhel_version_arr[0]}.${rhel_version_arr[1]}\"\n    echo \"RHEL VERSION successfully resolved from kernel: ${RHEL_VERSION}\"\n    return 0\n}\n\n_resolve_rhel_version() {\n    _get_rhel_version_from_kernel || RHEL_VERSION=\"${RHEL_MAJOR_VERSION}\"\n    # set dnf release version as rhel version by default\n    if [[ -z \"${DNF_RELEASEVER}\" ]]; then\n        DNF_RELEASEVER=\"${RHEL_VERSION}\"\n    fi\n    return 0\n}\n\n# Resolve the kernel version to the form major.minor.patch-revision.\n_resolve_kernel_version() {\n    echo \"Resolving Linux kernel version...\"\n    local version=$(yum -q list available --showduplicates kernel-headers |\n      awk -v arch=$(uname -m) 'NR>1 {print $2\".\"arch}' | tac | grep -E -m1 \"^${KERNEL_VERSION/latest/.*}\")\n\n    if [ -z \"${version}\" ]; then\n        echo \"Could not resolve Linux kernel version\" >&2\n        return 1\n    fi\n    KERNEL_VERSION=\"${version}\"\n    echo \"Proceeding with Linux kernel version ${KERNEL_VERSION}\"\n    return 0\n}\n\n# Install the kernel modules header/builtin/order files and generate the kernel version string.\n_install_prerequisites() (\n    local tmp_dir=$(mktemp -d)\n\n    trap \"rm -rf ${tmp_dir}\" EXIT\n    cd ${tmp_dir}\n\n    echo \"Installing elfutils...\"\n    if ! dnf install -q -y elfutils-libelf.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi\n    if ! dnf install -q -y elfutils-libelf-devel.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi    \n\n    rm -rf /lib/modules/${KERNEL_VERSION}\n    mkdir -p /lib/modules/${KERNEL_VERSION}/proc\n\n    echo \"Enabling RHOCP and EUS RPM repos...\"\n    if [ -n \"${OPENSHIFT_VERSION:-}\" ]; then\n        dnf config-manager --set-enabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        fi\n    fi\n\n    dnf config-manager --set-enabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms  || true\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms || true\n    fi\n\n    # try with EUS disabled, if it does not work, then try just major version\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n      # If pointing to DNF_RELEASEVER does not work, we point to the RHEL_MAJOR_VERSION as a last resort\n      if ! dnf makecache --releasever=${RHEL_MAJOR_VERSION}; then\n        echo \"FATAL: failed to update the dnf metadata cache after multiple attempts with releasevers ${DNF_RELEASEVER}, ${RHEL_MAJOR_VERSION}\"\n        exit 1\n      else\n        DNF_RELEASEVER=${RHEL_MAJOR_VERSION}\n      fi\n    fi\n\n    echo \"Installing Linux kernel headers...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} --allowerasing > /dev/null\n    ln -s /usr/src/kernels/${KERNEL_VERSION} /lib/modules/${KERNEL_VERSION}/build\n\n    echo \"Installing Linux kernel module files...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-core-${KERNEL_VERSION} > /dev/null\n\n    # Prevent depmod from giving a WARNING about missing files\n    touch /lib/modules/${KERNEL_VERSION}/modules.order\n    touch /lib/modules/${KERNEL_VERSION}/modules.builtin\n\n    depmod ${KERNEL_VERSION}\n\n    echo \"Generating Linux kernel version string...\"\n    if [ \"$TARGETARCH\" = \"arm64\" ]; then\n        gunzip -c /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    else\n        extract-vmlinux /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    fi\n    if [ -z \"$(<version)\" ]; then\n        echo \"Could not locate Linux kernel version string\" >&2\n        return 1\n    fi\n    mv version /lib/modules/${KERNEL_VERSION}/proc\n\n    # Parse gcc version\n    # gcc_version is expected to match x.y.z\n    # current_gcc is expected to match 'gcc-x.y.z-rel.el8.x86_64\n    local gcc_version=$(cat /lib/modules/${KERNEL_VERSION}/proc/version | grep -Eo \"gcc \\(GCC\\) ([0-9\\.]+)\" | grep -Eo \"([0-9\\.]+)\")\n    local current_gcc=$(rpm -qa gcc)\n    echo \"kernel requires gcc version: 'gcc-${gcc_version}', current gcc version is '${current_gcc}'\"\n\n    if ! [[ \"${current_gcc}\" =~ \"gcc-${gcc_version}\"-.* ]]; then\n        dnf install -q -y --releasever=${DNF_RELEASEVER} \"gcc-${gcc_version}\"\n    fi\n)\n\n# Cleanup the prerequisites installed above.\n_remove_prerequisites() {\n    true\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        dnf -q -y remove kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} > /dev/null\n        # TODO remove module files not matching an existing driver package.\n    fi\n}\n\n# Check if the kernel version requires a new precompiled driver packages.\n_kernel_requires_package() {\n    local proc_mount_arg=\"\"\n\n    echo \"Checking NVIDIA driver packages...\"\n\n    [[ ! -d /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE} ]] && return 0\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    proc_mount_arg=\"--proc-mount-point /lib/modules/${KERNEL_VERSION}/proc\"\n    for pkg_name in $(ls -d -1 precompiled/** 2> /dev/null); do\n        is_match=$(../mkprecompiled --match ${pkg_name} ${proc_mount_arg})\n        if [ \"${is_match}\" == \"kernel interface matches.\" ]; then\n            echo \"Found NVIDIA driver package ${pkg_name##*/}\"\n            return 1\n        fi\n    done\n    return 0\n}\n\n# Compile the kernel modules, optionally sign them, and generate a precompiled package for use by the nvidia-installer.\n_create_driver_package() (\n    local pkg_name=\"nvidia-modules-${KERNEL_VERSION%%-*}${PACKAGE_TAG:+-${PACKAGE_TAG}}\"\n    local nvidia_sign_args=\"\"\n    local nvidia_modeset_sign_args=\"\"\n    local nvidia_uvm_sign_args=\"\"\n\n    trap \"make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build clean > /dev/null\" EXIT\n\n    echo \"Compiling NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    if _gpu_direct_rdma_enabled; then\n        ln -s /run/mellanox/drivers/usr/src/ofa_kernel /usr/src/\n        # if arch directory exists(MOFED >=5.5) then create a symlink as expected by GPU driver installer\n        # This is required as currently GPU driver installer doesn't expect headers in x86_64 folder, but only in either default or kernel-version folder.\n        # ls -ltr /usr/src/ofa_kernel/\n        # lrwxrwxrwx 1 root root   36 Dec  8 20:10 default -> /etc/alternatives/ofa_kernel_headers\n        # drwxr-xr-x 4 root root 4096 Dec  8 20:14 x86_64\n        # lrwxrwxrwx 1 root root   44 Dec  9 19:05 5.4.0-90-generic -> /usr/src/ofa_kernel/x86_64/5.4.0-90-generic/\n        if [[ -d \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" ]]; then\n            if [[ ! -e \"/usr/src/ofa_kernel/$(uname -r)\" ]]; then\n                ln -s \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" /usr/src/ofa_kernel/\n            fi\n        fi\n    fi\n\n    make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build nv-linux.o nv-modeset-linux.o > /dev/null\n\n    echo \"Relinking NVIDIA driver kernel modules...\"\n    rm -f nvidia.ko nvidia-modeset.ko\n    ld -d -r -o nvidia.ko ./nv-linux.o ./nvidia/nv-kernel.o_binary\n    ld -d -r -o nvidia-modeset.ko ./nv-modeset-linux.o ./nvidia-modeset/nv-modeset-kernel.o_binary\n\n    if [ -n \"${PRIVATE_KEY}\" ]; then\n        echo \"Signing NVIDIA driver kernel modules...\"\n        donkey get ${PRIVATE_KEY} sh -c \"PATH=${PATH}:/usr/src/linux-headers-${KERNEL_VERSION}/scripts && \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia.ko nvidia.ko.sign &&                          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-modeset.ko nvidia-modeset.ko.sign &&          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-uvm.ko\"\n        nvidia_sign_args=\"--linked-module nvidia.ko --signed-module nvidia.ko.sign\"\n        nvidia_modeset_sign_args=\"--linked-module nvidia-modeset.ko --signed-module nvidia-modeset.ko.sign\"\n        nvidia_uvm_sign_args=\"--signed\"\n    fi\n\n    echo \"Building NVIDIA driver package ${pkg_name}...\"\n    ../mkprecompiled --pack ${pkg_name} --description ${KERNEL_VERSION}                              \\\n                                        --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc       \\\n                                        --driver-version ${DRIVER_VERSION}                           \\\n                                        --kernel-interface nv-linux.o                                \\\n                                        --linked-module-name nvidia.ko                               \\\n                                        --core-object-name nvidia/nv-kernel.o_binary                 \\\n                                        ${nvidia_sign_args}                                          \\\n                                        --target-directory .                                         \\\n                                        --kernel-interface nv-modeset-linux.o                        \\\n                                        --linked-module-name nvidia-modeset.ko                       \\\n                                        --core-object-name nvidia-modeset/nv-modeset-kernel.o_binary \\\n                                        ${nvidia_modeset_sign_args}                                  \\\n                                        --target-directory .                                         \\\n                                        --kernel-module nvidia-uvm.ko                                \\\n                                        ${nvidia_uvm_sign_args}                                      \\\n                                        --target-directory .\n    mkdir -p precompiled\n    mv ${pkg_name} precompiled\n)\n\n_assert_nvswitch_system() {\n    [ -d /proc/driver/nvidia-nvswitch ] || return 1\n    entries=$(ls -1 /proc/driver/nvidia-nvswitch/devices/*)\n    if [ -z \"${entries}\" ]; then\n        return 1\n    fi\n    return 0\n}\n\n# For each kernel module configuration file mounted into the container,\n# parse the file contents and extract the custom module parameters that\n# are to be passed as input to 'modprobe'.\n#\n# Assumptions:\n# - Configuration files are named <module-name>.conf (i.e. nvidia.conf, nvidia-uvm.conf).\n# - Configuration files are mounted inside the container at /drivers.\n# - Each line in the file contains at least one parameter, where parameters on the same line\n#   are space delimited. It is up to the user to properly format the file to ensure\n#   the correct set of parameters are passed to 'modprobe'.\n_get_module_params() {\n    local base_path=\"/drivers\"\n    # nvidia\n    if [ -f \"${base_path}/nvidia.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia.conf\"\n       echo \"Module parameters provided for nvidia: ${NVIDIA_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-uvm\n    if [ -f \"${base_path}/nvidia-uvm.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_UVM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-uvm.conf\"\n       echo \"Module parameters provided for nvidia-uvm: ${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-modeset\n    if [ -f \"${base_path}/nvidia-modeset.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODESET_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-modeset.conf\"\n       echo \"Module parameters provided for nvidia-modeset: ${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-peermem\n    if [ -f \"${base_path}/nvidia-peermem.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_PEERMEM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-peermem.conf\"\n       echo \"Module parameters provided for nvidia-peermem: ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n    fi\n}\n\n# Load the kernel modules and start persistenced.\n_load_driver() {\n    echo \"Parsing kernel module parameters...\"\n    _get_module_params\n\n    local nv_fw_search_path=\"$RUN_DIR/driver/lib/firmware\"\n    local set_fw_path=\"true\"\n    local fw_path_config_file=\"/sys/module/firmware_class/parameters/path\"\n    for param in \"${NVIDIA_MODULE_PARAMS[@]}\"; do\n        if [[ \"$param\" == \"NVreg_EnableGpuFirmware=0\" ]]; then\n          set_fw_path=\"false\"\n        fi\n    done\n\n    if [[ \"$set_fw_path\" == \"true\" ]]; then\n        echo \"Configuring the following firmware search path in '$fw_path_config_file': $nv_fw_search_path\"\n        if [[ ! -z $(grep '[^[:space:]]' $fw_path_config_file) ]]; then\n            echo \"WARNING: A search path is already configured in $fw_path_config_file\"\n            echo \"         Retaining the current configuration\"\n        else\n            echo -n \"$nv_fw_search_path\" > $fw_path_config_file || echo \"WARNING: Failed to configure the firmware search path\"\n        fi\n    fi\n\n    echo \"Loading ipmi and i2c_core kernel modules...\"\n    modprobe -a i2c_core ipmi_msghandler ipmi_devintf\n\n    echo \"Loading NVIDIA driver kernel modules...\"\n    set -o xtrace +o nounset\n    modprobe nvidia \"${NVIDIA_MODULE_PARAMS[@]}\"\n    modprobe nvidia-uvm \"${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    modprobe nvidia-modeset \"${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    set +o xtrace -o nounset\n\n    if _gpu_direct_rdma_enabled; then\n        echo \"Loading NVIDIA Peer Memory kernel module...\"\n        set -o xtrace +o nounset\n        modprobe -a nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n        set +o xtrace -o nounset\n    fi\n\n    echo \"Starting NVIDIA persistence daemon...\"\n    nvidia-persistenced --persistence-mode\n\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        echo \"Copying gridd.conf...\"\n        cp /drivers/gridd.conf /etc/nvidia/gridd.conf\n        if [ \"${VGPU_LICENSE_SERVER_TYPE}\" = \"NLS\" ]; then\n            echo \"Copying ClientConfigToken...\"\n            mkdir -p  /etc/nvidia/ClientConfigToken/\n            cp /drivers/ClientConfigToken/* /etc/nvidia/ClientConfigToken/\n        fi\n\n        echo \"Starting nvidia-gridd..\"\n        LD_LIBRARY_PATH=/usr/lib64/nvidia/gridd nvidia-gridd\n\n        # Start virtual topology daemon\n        _start_vgpu_topology_daemon\n    fi\n\n    if _assert_nvswitch_system; then\n        echo \"Starting NVIDIA fabric manager daemon...\"\n        nv-fabricmanager -c /usr/share/nvidia/nvswitch/fabricmanager.cfg\n    fi\n}\n\n# Stop persistenced and unload the kernel modules if they are currently loaded.\n_unload_driver() {\n    local rmmod_args=()\n    local nvidia_deps=0\n    local nvidia_refs=0\n    local nvidia_uvm_refs=0\n    local nvidia_modeset_refs=0\n    local nvidia_peermem_refs=0\n\n    echo \"Stopping NVIDIA persistence daemon...\"\n    if [ -f /var/run/nvidia-persistenced/nvidia-persistenced.pid ]; then\n        local pid=$(< /var/run/nvidia-persistenced/nvidia-persistenced.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA persistence daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-gridd/nvidia-gridd.pid ]; then\n        echo \"Stopping NVIDIA grid daemon...\"\n        local pid=$(< /var/run/nvidia-gridd/nvidia-gridd.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 10); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 10 ]; then\n            echo \"Could not stop NVIDIA Grid daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-fabricmanager/nv-fabricmanager.pid ]; then\n        echo \"Stopping NVIDIA fabric manager daemon...\"\n        local pid=$(< /var/run/nvidia-fabricmanager/nv-fabricmanager.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA fabric manager daemon\" >&2\n            return 1\n        fi\n    fi\n\n    echo \"Unloading NVIDIA driver kernel modules...\"\n    if [ -f /sys/module/nvidia_modeset/refcnt ]; then\n        nvidia_modeset_refs=$(< /sys/module/nvidia_modeset/refcnt)\n        rmmod_args+=(\"nvidia-modeset\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia_uvm/refcnt ]; then\n        nvidia_uvm_refs=$(< /sys/module/nvidia_uvm/refcnt)\n        rmmod_args+=(\"nvidia-uvm\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia/refcnt ]; then\n        nvidia_refs=$(< /sys/module/nvidia/refcnt)\n        rmmod_args+=(\"nvidia\")\n    fi\n    if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n        nvidia_peermem_refs=$(< /sys/module/nvidia_peermem/refcnt)\n        rmmod_args+=(\"nvidia-peermem\")\n        ((++nvidia_deps))\n    fi\n    if [ ${nvidia_refs} -gt ${nvidia_deps} ] || [ ${nvidia_uvm_refs} -gt 0 ] || [ ${nvidia_modeset_refs} -gt 0 ] || [ ${nvidia_peermem_refs} -gt 0 ]; then\n        echo \"Could not unload NVIDIA driver kernel modules, driver is in use\" >&2\n        return 1\n    fi\n\n    if [ ${#rmmod_args[@]} -gt 0 ]; then\n        rmmod ${rmmod_args[@]}\n    fi\n    return 0\n}\n\n# Link and install the kernel modules from a precompiled package using the nvidia-installer.\n_install_driver() {\n    local install_args=()\n\n    echo \"Installing NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}\n    rm -rf /lib/modules/${KERNEL_VERSION}/video\n\n    if [ \"${ACCEPT_LICENSE}\" = \"yes\" ]; then\n        install_args+=(\"--accept-license\")\n    fi\n    IGNORE_CC_MISMATCH=1 nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check -m=${KERNEL_TYPE} ${install_args[@]+\"${install_args[@]}\"}\n    # May need to add no-cc-check for Rhel, otherwise it complains about cc missing in path\n    # /proc/version and lib/modules/KERNEL_VERSION/proc are different, by default installer looks at /proc/ so, added the proc-mount-point\n    # TODO: remove the -a flag. its not needed. in the new driver version, license-acceptance is implicit\n    #nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check --no-cc-version-check --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc ${install_args[@]+\"${install_args[@]}\"}\n}\n\n# Mount the driver rootfs into the run directory with the exception of sysfs.\n_mount_rootfs() {\n    echo \"Mounting NVIDIA driver rootfs...\"\n    mount --make-runbindable /sys\n    mount --make-private /sys\n    mkdir -p ${RUN_DIR}/driver\n    mount --rbind / ${RUN_DIR}/driver\n\n    echo \"Check SELinux status\"\n    if [ -e /sys/fs/selinux ]; then\n        echo \"SELinux is enabled\"\n        echo \"Change device files security context for selinux compatibility\"\n        chcon -R -t container_file_t ${RUN_DIR}/driver/dev\n    else\n        echo \"SELinux is disabled, skipping...\"\n    fi\n}\n\n# Unmount the driver rootfs from the run directory.\n_unmount_rootfs() {\n    echo \"Unmounting NVIDIA driver rootfs...\"\n    if findmnt -r -o TARGET | grep \"${RUN_DIR}/driver\" > /dev/null; then\n        umount -l -R ${RUN_DIR}/driver\n    fi\n}\n\n# Write a kernel postinst.d script to automatically precompile packages on kernel update (similar to DKMS).\n_write_kernel_update_hook() {\n    if [ ! -d ${KERNEL_UPDATE_HOOK%/*} ]; then\n        return\n    fi\n\n    echo \"Writing kernel update hook...\"\n    cat > ${KERNEL_UPDATE_HOOK} <<'EOF'\n#!/bin/bash\n\nset -eu\ntrap 'echo \"ERROR: Failed to update the NVIDIA driver\" >&2; exit 0' ERR\n\nNVIDIA_DRIVER_PID=$(< /run/nvidia/nvidia-driver.pid)\n\nexport \"$(grep -z DRIVER_VERSION /proc/${NVIDIA_DRIVER_PID}/environ)\"\nnsenter -t \"${NVIDIA_DRIVER_PID}\" -m -- nvidia-driver update --kernel \"$1\"\nEOF\n    chmod +x ${KERNEL_UPDATE_HOOK}\n}\n\n_shutdown() {\n    if _unload_driver; then\n        _unmount_rootfs\n        rm -f ${PID_FILE} ${KERNEL_UPDATE_HOOK}\n        return 0\n    fi\n    return 1\n}\n\n_find_vgpu_driver_version() {\n    local count=\"\"\n    local version=\"\"\n    local drivers_path=\"/drivers\"\n\n    if [ \"${DISABLE_VGPU_VERSION_CHECK}\" = \"true\" ]; then\n        echo \"vgpu version compatibility check is disabled\"\n        return 0\n    fi\n    # check if vgpu devices are present\n    count=$(vgpu-util count)\n    if [ $? -ne 0 ]; then\n         echo \"cannot find vgpu devices on host, pleae check /var/log/vgpu-util.log for more details...\"\n         return 0\n    fi\n    NUM_VGPU_DEVICES=$(echo \"$count\" | awk -F= '{print $2}')\n    if [ $NUM_VGPU_DEVICES -eq 0 ]; then\n        # no vgpu devices found, treat as passthrough\n        return 0\n    fi\n    echo \"found $NUM_VGPU_DEVICES vgpu devices on host\"\n\n    # find compatible guest driver using driver catalog\n    if [ -d \"/mnt/shared-nvidia-driver-toolkit/drivers\" ]; then\n        drivers_path=\"/mnt/shared-nvidia-driver-toolkit/drivers\"\n    fi\n    version=$(vgpu-util match -i \"${drivers_path}\" -c \"${drivers_path}/vgpuDriverCatalog.yaml\")\n    if [ $? -ne 0 ]; then\n        echo \"cannot find match for compatible vgpu driver from available list, please check /var/log/vgpu-util.log for more details...\"\n        return 1\n    fi\n    DRIVER_VERSION=$(echo \"$version\" | awk -F= '{print $2}')\n    echo \"vgpu driver version selected: ${DRIVER_VERSION}\"\n    return 0\n}\n\n_start_vgpu_topology_daemon() {\n    type nvidia-topologyd > /dev/null 2>&1 || return 0\n    echo \"Starting nvidia-topologyd..\"\n    nvidia-topologyd\n}\n\n_prepare() {\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        _find_vgpu_driver_version || exit 1\n    fi\n\n    # Install the userspace components and copy the kernel module sources.\n    sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n        cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n        sh /tmp/install.sh nvinstall && \\\n        mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n        mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n        sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n\n    echo -e \"\\n========== NVIDIA Software Installer ==========\\n\"\n    echo -e \"Starting installation of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n}\n\n_prepare_exclusive() {\n    _prepare\n\n    exec 3> ${PID_FILE}\n    if ! flock -n 3; then\n        echo \"An instance of the NVIDIA driver is already running, aborting\"\n        exit 1\n    fi\n    echo $$ >&3\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n    trap \"_shutdown\" EXIT\n\n    _unload_driver || exit 1\n    _unmount_rootfs\n}\n\n_build() {\n    # Install dependencies\n    if _kernel_requires_package; then\n        _update_package_cache\n        _install_prerequisites\n        _create_driver_package\n        #_remove_prerequisites\n        _cleanup_package_cache\n    fi\n\n    # Build the driver\n    _install_driver\n}\n\n_load() {\n    _load_driver\n    _mount_rootfs\n    _write_kernel_update_hook\n\n    echo \"Done, now waiting for signal\"\n    sleep infinity &\n    trap \"echo 'Caught signal'; _shutdown && { kill $!; exit 0; }\" HUP INT QUIT PIPE TERM\n    trap - EXIT\n    while true; do wait $! || continue; done\n    exit 0\n}\n\ninit() {\n    _prepare_exclusive\n\n    _build\n\n    _load\n}\n\nbuild() {\n    _prepare\n\n    _build\n}\n\nload() {\n    _prepare_exclusive\n\n    _load\n}\n\nupdate() {\n    exec 3>&2\n    if exec 2> /dev/null 4< ${PID_FILE}; then\n        if ! flock -n 4 && read pid <&4 && kill -0 \"${pid}\"; then\n            exec > >(tee -a \"/proc/${pid}/fd/1\")\n            exec 2> >(tee -a \"/proc/${pid}/fd/2\" >&3)\n        else\n            exec 2>&3\n        fi\n        exec 4>&-\n    fi\n    exec 3>&-\n\n    # vgpu driver version is chosen dynamically during runtime, so pre-compile modules for\n    # only non-vgpu driver types\n    if [ \"${DRIVER_TYPE}\" != \"vgpu\" ]; then\n        # Install the userspace components and copy the kernel module sources.\n        if [ ! -e /usr/src/nvidia-${DRIVER_VERSION}/mkprecompiled ]; then\n            sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n                cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n                sh /tmp/install.sh nvinstall && \\\n                mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n                mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n                sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n        fi\n    fi\n\n    echo -e \"\\n========== NVIDIA Software Updater ==========\\n\"\n    echo -e \"Starting update of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n\n    _update_package_cache\n    _resolve_kernel_version || exit 1\n    _install_prerequisites\n    if _kernel_requires_package; then\n        _create_driver_package\n    fi\n    _remove_prerequisites\n    _cleanup_package_cache\n\n    echo \"Done\"\n    exit 0\n}\n\n# Wait for MOFED drivers to be loaded and load nvidia-peermem whenever it gets unloaded during MOFED driver updates\nreload_nvidia_peermem() {\n    if [ \"$USE_HOST_MOFED\" = \"true\" ]; then\n        until  lsmod | grep mlx5_core > /dev/null 2>&1 && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    else\n        # use driver readiness flag created by MOFED container\n        until  [ -f /run/mellanox/drivers/.driver-ready ] && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    fi\n    # get any parameters provided for nvidia-peermem\n    _get_module_params && set +o nounset\n    if chroot /run/nvidia/driver modprobe nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"; then\n        if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"successfully loaded nvidia-peermem module, now waiting for signal\"\n            sleep inf\n            trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n        fi\n    fi\n    echo \"failed to load nvidia-peermem module\"\n    exit 1\n}\n\n# probe by gpu-operator for liveness/startup checks for nvidia-peermem module to be loaded when MOFED drivers are ready\nprobe_nvidia_peermem() {\n    if lsmod | grep mlx5_core > /dev/null 2>&1; then\n        if [ ! -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"nvidia-peermem module is not loaded\"\n            return 1\n        fi\n    else\n        echo \"MOFED drivers are not ready, skipping probe to avoid container restarts...\"\n    fi\n    return 0\n}\n\nusage() {\n    cat >&2 <<EOF\nUsage: $0 COMMAND [ARG...]\n\nCommands:\n  init   [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  build  [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  load\n  update [-k | --kernel VERSION] [-s | --sign KEYID] [-t | --tag TAG] [-m | --max-threads MAX_THREADS]\nEOF\n    exit 1\n}\n\nif [ $# -eq 0 ]; then\n    usage\nfi\ncommand=$1; shift\ncase \"${command}\" in\n    init) options=$(getopt -l accept-license,max-threads: -o am: -- \"$@\") ;;\n    build) options=$(getopt -l accept-license,tag:,max-threads: -o a:t:m: -- \"$@\") ;;\n    load) options=\"\" ;;\n    update) options=$(getopt -l kernel:,sign:,tag:,max-threads: -o k:s:t:m: -- \"$@\") ;;\n    reload_nvidia_peermem) options=\"\" ;;\n    probe_nvidia_peermem) options=\"\" ;;\n    *) usage ;;\nesac\nif [ $? -ne 0 ]; then\n    usage\nfi\neval set -- \"${options}\"\n\nACCEPT_LICENSE=\"\"\nMAX_THREADS=\"\"\nKERNEL_VERSION=$(uname -r)\nPRIVATE_KEY=\"\"\nPACKAGE_TAG=\"\"\n\nfor opt in ${options}; do\n    case \"$opt\" in\n    -a | --accept-license) ACCEPT_LICENSE=\"yes\"; shift 1 ;;\n    -k | --kernel) KERNEL_VERSION=$2; shift 2 ;;\n    -m | --max-threads) MAX_THREADS=$2; shift 2 ;;\n    -s | --sign) PRIVATE_KEY=$2; shift 2 ;;\n    -t | --tag) PACKAGE_TAG=$2; shift 2 ;;\n    --) shift; break ;;\n    esac\ndone\nif [ $# -ne 0 ]; then\n    usage\nfi\n\n_resolve_rhel_version || exit 1\n\n$command\n

                                        \u4f7f\u7528\u5b98\u65b9\u7684\u955c\u50cf\u6765\u4e8c\u6b21\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\uff0c\u5982\u4e0b\u662f\u4e00\u4e2a Dockerfile \u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                                        FROM nvcr.io/nvidia/driver:535.183.06-rhel9.2\nCOPY nvidia-driver /usr/local/bin\nRUN chmod +x /usr/local/bin/nvidia-driver\nCMD [\"/bin/bash\", \"-c\"]\n

                                        \u6784\u5efa\u547d\u4ee4\u5e76\u63a8\u9001\u5230\u706b\u79cd\u96c6\u7fa4\uff1a

                                        docker build -t {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2 -f Dockerfile .\ndocker push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2\n
                                        "},{"location":"admin/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                                        1. \u5b89\u88c5 gpu-operator addon
                                        2. \u8bbe\u7f6e driver.version=535.183.06-01
                                        "},{"location":"admin/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html","title":"Ubuntu22.04 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                                        \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                                        "},{"location":"admin/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_1","title":"\u51c6\u5907\u79bb\u7ebf\u955c\u50cf","text":"
                                        1. \u67e5\u770b\u5185\u6838\u7248\u672c

                                          $ uname -r\n5.15.0-78-generic\n
                                        2. \u67e5\u770b\u5185\u6838\u5bf9\u5e94\u7684 GPU Driver \u955c\u50cf\u7248\u672c\uff0c https://catalog.ngc.nvidia.com/orgs/nvidia/containers/driver/tags\u3002 \u4f7f\u7528\u5185\u6838\u67e5\u8be2\u955c\u50cf\u7248\u672c\uff0c\u901a\u8fc7 ctr export \u4fdd\u5b58\u955c\u50cf\u3002

                                          ctr i pull nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i export --all-platforms driver.tar.gz nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 \n
                                        3. \u628a\u955c\u50cf\u5bfc\u5165\u5230\u706b\u79cd\u96c6\u7fa4\u7684\u955c\u50cf\u4ed3\u5e93\u4e2d

                                          ctr i import driver.tar.gz\nctr i tag nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 --skip-verify=true\n
                                        "},{"location":"admin/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                                        1. \u5b89\u88c5 gpu-operator addon
                                        2. \u82e5\u4f7f\u7528\u9884\u7f16\u8bd1\u6a21\u5f0f\uff0c\u5219\u8bbe\u7f6e driver.usePrecompiled=true,\u5e76\u8bbe\u7f6e driver.version=535\uff0c\u8fd9\u91cc\u8981\u6ce8\u610f\uff0c\u5199\u7684\u662f 535\uff0c\u4e0d\u662f 535.104.12\u3002\uff08\u975e\u9884\u7f16\u8bd1\u6a21\u5f0f\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u5b89\u88c5\u5373\u53ef\uff09
                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html","title":"\u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                                        \u5f53\u5de5\u4f5c\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u5185\u6838\u7248\u672c\u6216 OS \u7c7b\u578b\u4e0d\u4e00\u81f4\u65f6\uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa\u79bb\u7ebf yum \u6e90\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                                        2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                                        3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u672c\u6587\u4ee5\u5185\u6838\u7248\u672c\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684 CentOS 7.9 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa GPU operator \u79bb\u7ebf\u5305\u7684 yum \u6e90\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#os","title":"\u68c0\u67e5\u96c6\u7fa4\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c","text":"

                                        \u5206\u522b\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c\u4e00\u81f4\u5219\u65e0\u9700\u6784\u5efa yum \u6e90\uff0c \u53ef\u53c2\u8003\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u6587\u6863\u76f4\u63a5\u5b89\u88c5\uff1b\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u6216\u5185\u6838\u7248\u672c\u4e0d\u4e00\u81f4\uff0c\u8bf7\u6267\u884c\u4e0b\u4e00\u6b65\u3002

                                        1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u53d1\u884c\u7248\u540d\u79f0\u548c\u7248\u672c\u53f7\u3002

                                          cat /etc/redhat-release\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          CentOS Linux release 7.9 (Core)\n

                                          \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c CentOS 7.9 \u3002

                                        2. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u3002

                                          uname -a\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          Linux localhost.localdomain 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux\n

                                          \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c 3.10.0-1160.el7.x86_64\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum","title":"\u5236\u4f5c\u79bb\u7ebf yum \u6e90","text":"

                                        \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                                        1. \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a yum.sh \u7684\u811a\u672c\u6587\u4ef6\u3002

                                          vi yum.sh\n

                                          \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

                                          export TARGET_KERNEL_VERSION=$1\n\ncat >> run.sh << \\EOF\n#! /bin/bash\necho \"start install kernel repo\"\necho ${KERNEL_VERSION}\nmkdir centos-base\n\nif [ \"$OS\" -eq 7 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el7.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelif [ \"$OS\" -eq 8 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el8.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelse\n    echo \"Error os version\"\nfi\n\ncreaterepo centos-base/\nls -lh centos-base/\ntar -zcf centos-base.tar.gz centos-base/\necho \"end install kernel repo\"\nEOF\n\ncat >> Dockerfile << EOF\nFROM centos:7\nENV KERNEL_VERSION=\"\"\nENV OS=7\nRUN yum install -y createrepo\nCOPY run.sh .\nENTRYPOINT [\"/bin/bash\",\"run.sh\"]\nEOF\n\ndocker build -t test:v1 -f Dockerfile .\ndocker run -e KERNEL_VERSION=$TARGET_KERNEL_VERSION --name centos7.9 test:v1\ndocker cp centos7.9:/centos-base.tar.gz .\ntar -xzf centos-base.tar.gz\n

                                          \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

                                        2. \u8fd0\u884c yum.sh \u6587\u4ef6\uff1a

                                          bash -x yum.sh TARGET_KERNEL_VERSION\n

                                          TARGET_KERNEL_VERSION \u53c2\u6570\u7528\u4e8e\u6307\u5b9a\u96c6\u7fa4\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\uff0c\u6ce8\u610f\uff1a\u53d1\u884c\u7248\u6807\u8bc6\u7b26\uff08\u5982 __ .el7.x86_64 __ \uff09\u65e0\u9700\u8f93\u5165\u3002 \u4f8b\u5982\uff1a

                                          bash -x yum.sh 3.10.0-1160.95.1\n

                                        \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a centos-base \u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_1","title":"\u4e0a\u4f20\u79bb\u7ebf yum \u6e90\u5230\u6587\u4ef6\u670d\u52a1\u5668","text":"

                                        \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002\u4e3b\u8981\u7528\u4e8e\u5c06\u4e0a\u4e00\u6b65\u4e2d\u751f\u6210\u7684 yum \u6e90\u4e0a\u4f20\u5230\u53ef\u4ee5\u88ab\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8fdb\u884c\u8bbf\u95ee\u7684\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\u3002 \u6587\u4ef6\u670d\u52a1\u5668\u53ef\u4ee5\u4e3a Nginx \u3001 Minio \u6216\u5176\u5b83\u652f\u6301 Http \u534f\u8bae\u7684\u6587\u4ef6\u670d\u52a1\u5668\u3002

                                        \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0cMinio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                                        • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                                        • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                                        • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                                        • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                                          mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          Added `minio` successfully.\n

                                          mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                                        • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a centos-base \u7684\u5b58\u50a8\u6876\uff08bucket\uff09\u3002

                                          mc mb -p minio/centos-base\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          Bucket created successfully __minio/centos-base__ .\n
                                        • \u5c06\u5b58\u50a8\u6876 centos-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                                          mc anonymous set download minio/centos-base\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          Access permission for `minio/centos-base` is set to `download` \n
                                        • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 centos-base \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/centos-base \u5b58\u50a8\u6876\u4e2d\u3002

                                          mc cp centos-base minio/centos-base --recursive\n
                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_2","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                                        \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                                        1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                                          # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                                        2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                                          kubectl create configmap local-repo-config  -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          configmap/local-repo-config created\n

                                          local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                                        3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                                          kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          apiVersion: v1\ndata:\nCentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base#\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n    = http://10.6.232.5:32618/centos-base #\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname\n    = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\ncreationTimestamp: \"2023-10-18T01:59:02Z\"\nname: local-repo-config\nnamespace: gpu-operator\nresourceVersion: \"59445080\"\nuid: c5f0ebab-046f-442c-b932-f9003e014387\n

                                        \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html","title":"\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90","text":"

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                                        2. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 8.4\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4\u3002
                                        3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                                        4. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                                        5. \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 8.4 4.18.0-305.el8.x86_64\u3002
                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u672c\u6587\u4ee5 Red Hat 8.4 4.18.0-305.el8.x86_64 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum","title":"\u4e0b\u8f7d\u706b\u79cd\u8282\u70b9\u4e2d\u7684 yum \u6e90","text":"

                                        \u4ee5\u4e0b\u64cd\u4f5c\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                                        1. \u4f7f\u7528 ssh \u6216\u5176\u5b83\u65b9\u5f0f\u8fdb\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5185\u4efb\u4e00\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                                          cat /etc/yum.repos.d/extension.repo #\u67e5\u770b extension.repo \u4e2d\u7684\u5185\u5bb9\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          [extension-0]\nbaseurl = http://10.5.14.200:9000/kubean/redhat/$releasever/os/$basearch\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/AppStream\ngpgcheck = 0\nname = kubean extension 1\n\n[extension-2]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/BaseOS\ngpgcheck = 0\nname = kubean extension 2\n
                                        2. \u5728 root \u8def\u5f84\u4e0b\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base-repo \u7684\u6587\u4ef6\u5939

                                          mkdir redhat-base-repo\n
                                        3. \u4e0b\u8f7d yum \u6e90\u4e2d\u7684 rpm \u5305\u5230\u672c\u5730\uff1a

                                          yum install yum-utils\n
                                        4. \u4e0b\u8f7d extension-1 \u4e2d\u7684 rpm \u5305\uff1a

                                          reposync  -p redhat-base-repo  -n --repoid=extension-1\n
                                        5. \u4e0b\u8f7d extension-2 \u4e2d\u7684 rpm \u5305\uff1a

                                          reposync  -p redhat-base-repo  -n --repoid=extension-2\n
                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#elfutils-libelf-devel-0187-4el8x86_64rpm","title":"\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305","text":"

                                        \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u64cd\u4f5c\uff0c\u5728\u64cd\u4f5c\u524d\uff0c\u60a8\u9700\u8981\u4fdd\u8bc1\u8054\u7f51\u8282\u70b9\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 master \u8282\u70b9\u95f4\u7684\u7f51\u7edc\u8054\u901a\u6027\u3002

                                        1. \u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\uff1a

                                          wget https://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/elfutils-libelf-devel-0.187-4.el8.x86_64.rpm\n
                                        2. \u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u5c06 elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\u4f20\u8f93\u81f3\u6b65\u9aa4\u4e00\u4e2d\u7684\u8282\u70b9\u4e0a\uff1a

                                          scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm user@ip:~/redhat-base-repo/extension-2/Packages/\n

                                          \u4f8b\u5982\uff1a

                                          scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm root@10.6.175.10:~/redhat-base-repo/extension-2/Packages/\n
                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo","title":"\u751f\u6210\u672c\u5730 yum repo","text":"

                                        \u4ee5\u4e0b\u64cd\u4f5c\u5728\u6b65\u9aa4\u4e00\u4e2d\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                                        1. \u8fdb\u5165 yum repo \u76ee\u5f55\uff1a

                                          cd ~/redhat-base-repo/extension-1/Packages\ncd ~/redhat-base-repo/extension-2/Packages\n
                                        2. \u751f\u6210\u76ee\u5f55 repo \u7d22\u5f15\uff1a

                                          yum install createrepo -y  # \u82e5\u5df2\u5b89\u88c5 createrepo \u53ef\u7701\u7565\u6b64\u6b65\u9aa4\ncreaterepo_c ./\n

                                        \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 4.18.0-305.el8.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a redhat-base-repo \u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo_1","title":"\u5c06\u672c\u5730\u751f\u6210\u7684 yum repo \u4e0a\u4f20\u81f3\u6587\u4ef6\u670d\u52a1\u5668","text":"

                                        \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u7528\u6237\u53ef\u57fa\u4e8e\u81ea\u8eab\u60c5\u51b5\u9009\u62e9\u6587\u4ef6\u670d\u52a1\u5668\u3002Minio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                                        • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                                        • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                                        • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                                        • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                                          mc config host add minio \u6587\u4ef6\u670d\u52a1\u5668\u8bbf\u95ee\u5730\u5740 \u7528\u6237\u540d \u5bc6\u7801\n

                                          \u4f8b\u5982\uff1a

                                          mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          Added `minio` successfully.\n

                                          mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                                        • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base \u7684\u5b58\u50a8\u6876(bucket)\u3002

                                          mc mb -p minio/redhat-base\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          Bucket created successfully `minio/redhat-base`.\n
                                        • \u5c06\u5b58\u50a8\u6876 redhat-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                                          mc anonymous set download minio/redhat-base\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          Access permission for `minio/redhat-base` is set to `download` \n
                                        • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 redhat-base-repo \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/redhat-base \u5b58\u50a8\u6876\u4e2d\u3002

                                          mc cp redhat-base-repo minio/redhat-base --recursive\n
                                        "},{"location":"admin/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum_1","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                                        \u672c\u6b65\u9aa4\u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                                        1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a redhat.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                                          # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a redhat.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > redhat.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                                        2. \u57fa\u4e8e\u521b\u5efa\u7684 redhat.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                                          kubectl create configmap local-repo-config  -n gpu-operator --from-file=./redhat.repo \n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          configmap/local-repo-config created\n

                                          local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                                        3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                                          kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                                        \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html","title":"\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU Operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\u4f7f\u7528 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        1. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 7.9\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4
                                        2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u4e0e\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio
                                        3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5
                                        4. \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 7.9
                                        "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#1-yum","title":"1. \u6784\u5efa\u76f8\u5173\u5185\u6838\u7248\u672c\u7684\u79bb\u7ebf Yum \u6e90","text":"
                                        1. \u4e0b\u8f7d rhel7.9 ISO

                                        2. \u4e0b\u8f7d\u4e0e Kubean \u7248\u672c\u5bf9\u5e94\u7684\u7684 rhel7.9 ospackage

                                          \u5728 \u5bb9\u5668\u7ba1\u7406 \u7684\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u627e\u5230 Helm \u5e94\u7528 \uff0c\u641c\u7d22 kubean\uff0c\u53ef\u67e5\u770b kubean \u7684\u7248\u672c\u53f7\u3002

                                          \u5728 kubean\u7684\u4ee3\u7801\u4ed3\u5e93 \u4e2d\u4e0b\u8f7d\u8be5\u7248\u672c\u7684 rhel7.9 ospackage\u3002

                                        3. \u901a\u8fc7\u5b89\u88c5\u5668\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90

                                          \u53c2\u8003\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90\u6587\u6863\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#2-red-hat-79-os","title":"2. \u4e0b\u8f7d Red Hat 7.9 OS \u7684\u79bb\u7ebf\u9a71\u52a8\u955c\u50cf","text":"

                                        \u70b9\u51fb\u67e5\u770b\u4e0b\u8f7d\u5730\u5740\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#3-red-hat-gpu-opreator","title":"3. \u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                                        \u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u3002

                                        Note

                                        \u6b64\u53c2\u8003\u4ee5 rhel8.4 \u4e3a\u4f8b\uff0c\u8bf7\u6ce8\u610f\u4fee\u6539\u6210 rhel7.9\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/yum_source_redhat7_9.html#4-yum","title":"4. \u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 Yum \u6e90\u4fe1\u606f","text":"

                                        \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002

                                        1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                                          # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo <<  EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                                        2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                                          kubectl create configmap local-repo-config -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          configmap/local-repo-config created\n

                                          local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                                        3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                                          kubectl get configmap local-repo-config -n gpu-operator -oyaml\n

                                          \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                          local-repo-config.yaml
                                          apiVersion: v1\ndata:\n  CentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n  = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname\n  = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\n  creationTimestamp: \"2023-10-18T01:59:02Z\"\n  name: local-repo-config\n  namespace: gpu-operator\n  resourceVersion: \"59445080\"\n  uid: c5f0ebab-046f-442c-b932-f9003e014387\n

                                        \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u5176\u4e2d\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u4f7f\u7528\u4e86 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html","title":"GPU \u544a\u8b66\u89c4\u5219","text":"

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8bbe\u7f6e GPU \u76f8\u5173\u7684\u544a\u8b66\u89c4\u5219\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907
                                        • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6
                                        • \u5982\u679c\u7528\u5230\u4e86 vGPU \u8fd8\u9700\u8981\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5 Nvidia-vgpu \u7ec4\u4ef6\uff0c\u5e76\u4e14\u5f00\u542f servicemonitor
                                        • \u96c6\u7fa4\u6b63\u786e\u5b89\u88c5\u4e86 insight-agent \u7ec4\u4ef6
                                        "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_1","title":"\u544a\u8b66\u5e38\u7528 GPU \u6307\u6807","text":"

                                        \u672c\u8282\u4ecb\u7ecd GPU \u544a\u8b66\u5e38\u7528\u7684\u6307\u6807\uff0c\u5206\u4e3a\u4e24\u4e2a\u90e8\u5206\uff1a

                                        • GPU \u5361\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94\u5355\u4e2a GPU \u8bbe\u5907\u7684\u8fd0\u884c\u72b6\u6001\u3002
                                        • \u5e94\u7528\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94 Pod \u5728 GPU \u4e0a\u7684\u8fd0\u884c\u72b6\u6001\u3002
                                        "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_2","title":"GPU \u5361\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e DCGM_FI_DEV_GPU_UTIL % GPU \u5229\u7528\u7387 DCGM_FI_DEV_MEM_COPY_UTIL % \u663e\u5b58\u5229\u7528\u7387 DCGM_FI_DEV_ENC_UTIL % \u7f16\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_DEC_UTIL % \u89e3\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_FB_FREE MB \u8868\u793a\u663e\u5b58\u5269\u4f59\u91cf DCGM_FI_DEV_FB_USED MB \u8868\u793a\u663e\u5b58\u4f7f\u7528\u91cf DCGM_FI_DEV_GPU_TEMP \u6444\u6c0f\u5ea6 \u8868\u793a\u5f53\u524d GPU \u7684\u6e29\u5ea6\u5ea6\u6570 DCGM_FI_DEV_POWER_USAGE W \u8bbe\u5907\u7535\u6e90\u4f7f\u7528\u60c5\u51b5 DCGM_FI_DEV_XID_ERRORS - \u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\uff0c\u6700\u540e\u53d1\u751f\u7684 XID \u9519\u8bef\u53f7\u3002XID \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\uff0c\u66f4\u591a XID \u4fe1\u606f"},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_2","title":"\u5e94\u7528\u7ef4\u5ea6\u7684\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e kpanda_gpu_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u7684\u4f7f\u7528\u7387 kpanda_gpu_mem_pod_usage MB \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u91cf kpanda_gpu_mem_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u7387"},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_3","title":"\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219","text":"

                                        \u8fd9\u91cc\u4f1a\u4ecb\u7ecd\u5982\u4f55\u8bbe\u7f6e GPU \u544a\u8b66\u89c4\u5219\uff0c\u4f7f\u7528 GPU \u5361\u5229\u7528\u7387\u6307\u6807\u4f5c\u4e3a\u6848\u4f8b\uff0c\u8bf7\u7528\u6237\u6839\u636e\u5b9e\u9645\u7684\u4e1a\u52a1\u573a\u666f\u9009\u62e9\u6307\u6807\u4ee5\u53ca\u7f16\u5199 promql\u3002

                                        \u76ee\u6807\uff1a\u5f53GPU\u5361\u5229\u7528\u7387\u5728\u4e94\u79d2\u949f\u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\u65f6\u53d1\u51fa\u544a\u8b66

                                        1. \u5728\u53ef\u89c2\u6d4b\u9875\u9762\uff0c\u70b9\u51fb \u544a\u8b66 -> \u544a\u8b66\u7b56\u7565 -> \u521b\u5efa\u544a\u8b66\u7b56\u7565

                                        2. \u586b\u5199\u57fa\u672c\u4fe1\u606f

                                        3. \u6dfb\u52a0\u89c4\u5219

                                        4. \u9009\u62e9\u901a\u77e5\u65b9\u5f0f

                                        5. \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5f53\u4e00\u4e2a GPU \u5728 5s \u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\uff0c\u4f1a\u6536\u5230\u5982\u4e0b\u7684\u544a\u8b66\u4fe1\u606f\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html","title":"GPU \u76d1\u63a7\u6307\u6807","text":"

                                        \u672c\u9875\u5217\u51fa\u4e00\u4e9b\u5e38\u7528\u7684 GPU \u76d1\u63a7\u6307\u6807\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_1","title":"\u96c6\u7fa4\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u5361\u6570 \u96c6\u7fa4\u4e0b\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u5e73\u5747\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u7b97\u529b\u4f7f\u7528\u7387 GPU \u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u5e26\u5bbd\u4f7f\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u3002\u4ee5 Nvidia GPU V100 \u4e3a\u4f8b\uff0c\u5176\u6700\u5927\u5185\u5b58\u5e26\u5bbd\u4e3a 900 GB/sec\uff0c\u5982\u679c\u5f53\u524d\u7684\u5185\u5b58\u5e26\u5bbd\u4e3a 450 GB/sec\uff0c\u5219\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u4e3a 50%"},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_2","title":"\u8282\u70b9\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u6a21\u5f0f \u8282\u70b9\u4e0a GPU \u5361\u7684\u4f7f\u7528\u6a21\u5f0f\uff0c\u5305\u542b\u6574\u5361\u6a21\u5f0f\u3001MIG \u6a21\u5f0f\u3001vGPU \u6a21\u5f0f GPU \u7269\u7406\u5361\u6570 \u8282\u70b9\u4e0a\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u865a\u62df\u5361\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 vGPU \u8bbe\u5907\u6570\u91cf GPU MIG \u5b9e\u4f8b\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 MIG \u5b9e\u4f8b\u6570 GPU \u663e\u5b58\u5206\u914d\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u7387 GPU \u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 GPU \u663e\u5b58\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u9a71\u52a8\u7248\u672c \u8282\u70b9\u4e0a GPU \u5361\u9a71\u52a8\u7684\u7248\u672c\u4fe1\u606f GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09

                                        \u6839\u636e XID \u72b6\u6001\u6392\u67e5 GPU \u76f8\u5173\u95ee\u9898

                                        XID \u6d88\u606f\u662f NVIDIA \u9a71\u52a8\u7a0b\u5e8f\u5411\u64cd\u4f5c\u7cfb\u7edf\u7684\u5185\u6838\u65e5\u5fd7\u6216\u4e8b\u4ef6\u65e5\u5fd7\u6253\u5370\u7684\u9519\u8bef\u62a5\u544a\u3002XID \u6d88\u606f\u7528\u4e8e\u6807\u8bc6 GPU \u9519\u8bef\u4e8b\u4ef6\uff0c \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\u3002 \u5982\u68c0\u67e5\u9879 GPU \u8282\u70b9\u4e0a\u7684 XID \u5f02\u5e38\u4e3a\u7a7a\uff0c\u8868\u660e\u65e0 XID \u6d88\u606f\uff1b\u5982\u6709\uff0c\u60a8\u53ef\u6309\u7167\u4e0b\u8868\u81ea\u52a9\u6392\u67e5\u5e76\u89e3\u51b3\u95ee\u9898\uff0c \u6216\u67e5\u770b\u66f4\u591a XID \u6d88\u606f\u3002

                                        XID \u6d88\u606f \u8bf4\u660e 13 Graphics Engine Exception. \u901a\u5e38\u662f\u6570\u7ec4\u8d8a\u754c\u3001\u6307\u4ee4\u9519\u8bef\uff0c\u5c0f\u6982\u7387\u662f\u786c\u4ef6\u95ee\u9898\u3002 31 GPU memory page fault. \u901a\u5e38\u662f\u5e94\u7528\u7a0b\u5e8f\u7684\u975e\u6cd5\u5730\u5740\u8bbf\u95ee\uff0c\u6781\u5c0f\u6982\u7387\u662f\u9a71\u52a8\u6216\u8005\u786c\u4ef6\u95ee\u9898\u3002 32 Invalid or corrupted push buffer stream. \u4e8b\u4ef6\u7531 PCIE \u603b\u7ebf\u4e0a\u7ba1\u7406 NVIDIA \u9a71\u52a8\u548c GPU \u4e4b\u95f4\u901a\u4fe1\u7684 DMA \u63a7\u5236\u5668\u4e0a\u62a5\uff0c\u901a\u5e38\u662f PCI \u8d28\u91cf\u95ee\u9898\u5bfc\u81f4\uff0c\u800c\u975e\u60a8\u7684\u7a0b\u5e8f\u4ea7\u751f\u3002 38 Driver firmware error. \u901a\u5e38\u662f\u9a71\u52a8\u56fa\u4ef6\u9519\u8bef\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 43 GPU stopped processing. \u901a\u5e38\u662f\u60a8\u5e94\u7528\u81ea\u8eab\u9519\u8bef\uff0c\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 45 Preemptive cleanup, due to previous errors -- Most likely to see when running multiple cuda applications and hitting a DBE. \u901a\u5e38\u662f\u60a8\u624b\u52a8\u9000\u51fa\u6216\u8005\u5176\u4ed6\u6545\u969c\uff08\u786c\u4ef6\u3001\u8d44\u6e90\u9650\u5236\u7b49\uff09\u5bfc\u81f4\u7684 GPU \u5e94\u7528\u9000\u51fa\uff0cXID 45 \u53ea\u63d0\u4f9b\u4e00\u4e2a\u7ed3\u679c\uff0c\u5177\u4f53\u539f\u56e0\u901a\u5e38\u9700\u8981\u8fdb\u4e00\u6b65\u5206\u6790\u65e5\u5fd7\u3002 48 Double Bit ECC Error (DBE). \u5f53 GPU \u53d1\u751f\u4e0d\u53ef\u7ea0\u6b63\u7684\u9519\u8bef\u65f6\uff0c\u4f1a\u4e0a\u62a5\u6b64\u4e8b\u4ef6\uff0c\u8be5\u9519\u8bef\u4e5f\u4f1a\u540c\u65f6\u53cd\u9988\u7ed9\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u901a\u5e38\u9700\u8981\u91cd\u7f6e GPU \u6216\u91cd\u542f\u8282\u70b9\u6765\u6e05\u9664\u8fd9\u4e2a\u9519\u8bef\u3002 61 Internal micro-controller breakpoint/warning. GPU \u5185\u90e8\u5f15\u64ce\u505c\u6b62\u5de5\u4f5c\uff0c\u60a8\u7684\u4e1a\u52a1\u5df2\u7ecf\u53d7\u5230\u5f71\u54cd\u3002 62 Internal micro-controller halt. \u4e0e XID 61 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002 63 ECC page retirement or row remapping recording event. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u663e\u5b58\u786c\u4ef6\u9519\u8bef\u65f6\uff0cNVIDIA \u81ea\u7ea0\u9519\u673a\u5236\u4f1a\u5c06\u9519\u8bef\u7684\u5185\u5b58\u533a\u57df retire \u6216\u8005 remap\uff0cretirement \u548c remapped \u4fe1\u606f\u9700\u8bb0\u5f55\u5230 infoROM \u4e2d\u624d\u80fd\u6c38\u4e45\u751f\u6548\u3002Volt \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 ECC page retirement \u4e8b\u4ef6\u5230 infoROM\u3002Ampere \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 row remapping \u4e8b\u4ef6\u5230 infoROM\u3002 64 ECC page retirement or row remapper recording failure. \u4e0e XID 63 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 63 \u4ee3\u8868 retirement \u548c remapped \u4fe1\u606f\u6210\u529f\u8bb0\u5f55\u5230\u4e86 infoROM\uff0cXID 64 \u4ee3\u8868\u8be5\u8bb0\u5f55\u64cd\u4f5c\u5931\u8d25\u3002 68 NVDEC0 Exception. \u901a\u5e38\u662f\u786c\u4ef6\u6216\u9a71\u52a8\u95ee\u9898\u3002 74 NVLINK Error. NVLink \u786c\u4ef6\u9519\u8bef\u4ea7\u751f\u7684 XID\uff0c\u8868\u660e GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 79 GPU has fallen off the bus. GPU \u786c\u4ef6\u68c0\u6d4b\u5230\u6389\u5361\uff0c\u603b\u7ebf\u4e0a\u65e0\u6cd5\u68c0\u6d4b\u8be5 GPU\uff0c\u8868\u660e\u8be5 GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 92 High single-bit ECC error rate. \u786c\u4ef6\u6216\u9a71\u52a8\u6545\u969c\u3002 94 Contained ECC error. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u4e0d\u53ef\u7ea0\u6b63\u7684\u663e\u5b58 ECC \u9519\u8bef\u65f6\uff0cNVIDIA \u9519\u8bef\u6291\u5236\u673a\u5236\u4f1a\u5c1d\u8bd5\u5c06\u9519\u8bef\u6291\u5236\u5728\u53d1\u751f\u786c\u4ef6\u6545\u969c\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u907f\u514d\u8be5\u9519\u8bef\u5f71\u54cd GPU \u8282\u70b9\u4e0a\u8fd0\u884c\u7684\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002\u5f53\u6291\u5236\u673a\u5236\u6210\u529f\u6291\u5236\u9519\u8bef\u65f6\uff0c\u4f1a\u4ea7\u751f\u8be5\u4e8b\u4ef6\uff0c\u4ec5\u51fa\u73b0\u4e0d\u53ef\u7ea0\u6b63 ECC \u9519\u8bef\u7684\u5e94\u7528\u7a0b\u5e8f\u53d7\u5230\u5f71\u54cd\u3002 95 Uncontained ECC error. \u4e0e XID 94 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 94 \u4ee3\u8868\u6291\u5236\u6210\u529f\uff0c\u800c XID 95 \u4ee3\u8868\u6291\u5236\u5931\u8d25\uff0c\u8868\u660e\u8fd0\u884c\u5728\u8be5 GPU \u4e0a\u7684\u6240\u6709\u5e94\u7528\u7a0b\u5e8f\u90fd\u5df2\u53d7\u5230\u5f71\u54cd\u3002"},{"location":"admin/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#pod","title":"Pod \u7ef4\u5ea6","text":"\u5206\u7c7b \u6307\u6807\u540d\u79f0 \u63cf\u8ff0 \u5e94\u7528\u6982\u89c8 GPU \u5361 - \u7b97\u529b & \u663e\u5b58 Pod GPU \u7b97\u529b\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387 Pod GPU \u663e\u5b58\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u7387 Pod \u663e\u5b58\u4f7f\u7528\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf \u663e\u5b58\u5206\u914d\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u91cf Pod GPU \u663e\u5b58\u590d\u5236\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u663e\u5b58\u590d\u5236\u6bd4\u7387 GPU \u5361 - \u5f15\u64ce\u6982\u89c8 GPU \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8\u767e\u5206\u6bd4 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cGraphics \u6216 Compute \u5f15\u64ce\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\uff08Memory BW Utilization\uff09\u5c06\u6570\u636e\u53d1\u9001\u5230\u8bbe\u5907\u5185\u5b58\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8f83\u9ad8\u7684\u503c\u8868\u793a\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8f83\u9ad8\u3002\u8be5\u503c\u4e3a 1\uff08100%\uff09\u8868\u793a\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u5047\u8bbe\u8be5\u503c\u4e3a 0.2\uff0820%\uff09\uff0c\u8868\u793a 20% \u7684\u5468\u671f\u5728\u65f6\u95f4\u95f4\u9694\u5185\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 Tensor \u6838\u5fc3\u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cTensor Core \u7ba1\u9053\uff08Pipe\uff09\u5904\u4e8e Active \u65f6\u95f4\u5360\u603b\u65f6\u95f4\u7684\u6bd4\u4f8b FP16 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP16 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP32 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP32 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP64 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP64 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u89e3\u7801\u4f7f\u7528\u7387 GPU \u5361\u89e3\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u7f16\u7801\u4f7f\u7528\u7387 GPU \u5361\u7f16\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u5361 - \u6e29\u5ea6 & \u529f\u8017 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361 - \u603b\u8017\u80fd GPU \u5361\u603b\u5171\u6d88\u8017\u7684\u80fd\u91cf GPU \u5361 - Clock GPU \u5361\u5185\u5b58\u9891\u7387 \u5185\u5b58\u9891\u7387 GPU \u5361\u5e94\u7528SM \u65f6\u949f\u9891\u7387 \u5e94\u7528\u7684 SM \u65f6\u949f\u9891\u7387 GPU \u5361\u5e94\u7528\u5185\u5b58\u9891\u7387 \u5e94\u7528\u5185\u5b58\u9891\u7387 GPU \u5361\u89c6\u9891\u5f15\u64ce\u9891\u7387 \u89c6\u9891\u5f15\u64ce\u9891\u7387 GPU \u5361\u964d\u9891\u539f\u56e0 \u964d\u9891\u539f\u56e0 GPU \u5361 - \u5176\u4ed6\u7ec6\u8282 \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8 \u56fe\u5f62\u6216\u8ba1\u7b97\u5f15\u64ce\u7684\u4efb\u4f55\u90e8\u5206\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\u3002\u5982\u679c\u56fe\u5f62/\u8ba1\u7b97\u4e0a\u4e0b\u6587\u5df2\u7ed1\u5b9a\u4e14\u56fe\u5f62/\u8ba1\u7b97\u7ba1\u9053\u7e41\u5fd9\uff0c\u5219\u56fe\u5f62\u5f15\u64ce\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002 SM\u6d3b\u52a8 \u591a\u5904\u7406\u5668\u4e0a\u81f3\u5c11\u4e00\u4e2a Warp \u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\uff0c\u6240\u6709\u591a\u5904\u7406\u5668\u7684\u5e73\u5747\u503c\u3002\u8bf7\u6ce8\u610f\uff0c\u201c\u6d3b\u52a8\u201d\u5e76\u4e0d\u4e00\u5b9a\u610f\u5473\u7740 Warp \u6b63\u5728\u79ef\u6781\u8ba1\u7b97\u3002\u4f8b\u5982\uff0c\u7b49\u5f85\u5185\u5b58\u8bf7\u6c42\u7684 Warp \u88ab\u89c6\u4e3a\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u30020.8 \u6216\u66f4\u5927\u7684\u503c\u662f\u6709\u6548\u4f7f\u7528 GPU \u7684\u5fc5\u8981\u6761\u4ef6\uff0c\u4f46\u8fd8\u4e0d\u591f\u3002\u5c0f\u4e8e 0.5 \u7684\u503c\u53ef\u80fd\u8868\u793a GPU \u4f7f\u7528\u6548\u7387\u4f4e\u4e0b\u3002\u7ed9\u51fa\u4e00\u4e2a\u7b80\u5316\u7684 GPU \u67b6\u6784\u89c6\u56fe\uff0c\u5982\u679c GPU \u6709 N \u4e2a SM\uff0c\u5219\u4f7f\u7528 N \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 1\uff08100%\uff09\u3002\u4f7f\u7528 N/5 \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 0.2\uff0820%\uff09\u3002\u4f7f\u7528 N \u4e2a\u5757\u5e76\u8fd0\u884c\u4e94\u5206\u4e4b\u4e00\u65f6\u95f4\u95f4\u9694\u7684\u5185\u6838\uff0c\u5982\u679c SM \u5904\u4e8e\u7a7a\u95f2\u72b6\u6001\uff0c\u5219\u6d3b\u52a8\u4e5f\u5c06\u4e3a 0.2\uff0820%\uff09\u3002\u8be5\u503c\u4e0e\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u65e0\u5173\uff08\u53c2\u89c1DCGM_FI_PROF_SM_OCCUPANCY\uff09\u3002 SM \u5165\u4f4f\u7387 \u591a\u5904\u7406\u5668\u4e0a\u9a7b\u7559 Warp \u7684\u6bd4\u4f8b\uff0c\u76f8\u5bf9\u4e8e\u591a\u5904\u7406\u5668\u4e0a\u652f\u6301\u7684\u6700\u5927\u5e76\u53d1 Warp \u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u8868\u793a GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u5bf9\u4e8e GPU \u5185\u5b58\u5e26\u5bbd\u53d7\u9650\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff08\u53c2\u89c1DCGM_FI_PROF_DRAM_ACTIVE\uff09\uff0c\u5360\u7528\u7387\u8d8a\u9ad8\u8868\u660e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u4f46\u662f\uff0c\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u662f\u8ba1\u7b97\u53d7\u9650\u7684\uff08\u5373\u4e0d\u53d7 GPU \u5185\u5b58\u5e26\u5bbd\u6216\u5ef6\u8fdf\u9650\u5236\uff09\uff0c\u5219\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u4e0e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u76f8\u5173\u3002\u8ba1\u7b97\u5360\u7528\u7387\u5e76\u4e0d\u7b80\u5355\uff0c\u5b83\u53d6\u51b3\u4e8e GPU \u5c5e\u6027\u3001\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u3001\u6bcf\u4e2a\u7ebf\u7a0b\u7684\u5bc4\u5b58\u5668\u4ee5\u53ca\u6bcf\u4e2a\u5757\u7684\u5171\u4eab\u5185\u5b58\u7b49\u56e0\u7d20\u3002\u4f7f\u7528CUDA \u5360\u7528\u7387\u8ba1\u7b97\u5668 \u63a2\u7d22\u5404\u79cd\u5360\u7528\u7387\u573a\u666f\u3002 \u5f20\u91cf\u6d3b\u52a8 \u5f20\u91cf (HMMA / IMMA) \u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u5f20\u91cf\u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8 1 (100%) \u76f8\u5f53\u4e8e\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u53d1\u51fa\u4e00\u4e2a\u5f20\u91cf\u6307\u4ee4\u3002\u6d3b\u52a8 0.2 (20%) \u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP64 \u5f15\u64ce\u6d3b\u52a8 FP64\uff08\u53cc\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP64 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185 Volta \u4e0a\u6bcf\u56db\u4e2a\u5468\u671f\u7684\u6bcf\u4e2a SM\u4e0a\u6267\u884c\u4e00\u6761 FP64 \u6307\u4ee4 \u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605 DCGM_FI_PROF_SM_ACTIVE \u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP32 \u5f15\u64ce\u6d3b\u52a8 FMA\uff08FP32\uff08\u5355\u7cbe\u5ea6\uff09\u548c\u6574\u6570\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP32 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP32 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP16 \u5f15\u64ce\u6d3b\u52a8 FP16\uff08\u534a\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP16 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP16 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u5411\u8bbe\u5907\u5185\u5b58\u53d1\u9001\u6570\u636e\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u6bd4\u4f8b\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u7387\u4e3a 1 (100%) \u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u6d3b\u52a8\u7387\u4e3a 0.2 (20%) \u8868\u793a\u5728\u65f6\u95f4\u95f4\u9694\u5185\u6709 20% \u7684\u5468\u671f\u6b63\u5728\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 NVLink \u5e26\u5bbd \u901a\u8fc7 NVLink \u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff08\u4e0d\u5305\u62ec\u534f\u8bae\u6807\u5934\uff09\uff0c\u4ee5\u6bcf\u79d2\u5b57\u8282\u6570\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\uff0c\u6bcf\u4e2a\u94fe\u8def\u6bcf\u4e2a\u65b9\u5411\u7684\u6700\u5927 NVLink Gen2 \u5e26\u5bbd\u4e3a 25 GB/s\u3002 PCIe \u5e26\u5bbd \u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff0c\u5305\u62ec\u534f\u8bae\u6807\u5934\u548c\u6570\u636e\u6709\u6548\u8d1f\u8f7d\uff0c\u4ee5\u5b57\u8282/\u79d2\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8be5\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\u6700\u5927 PCIe Gen3 \u5e26\u5bbd\u4e3a\u6bcf\u901a\u9053 985 MB/s\u3002 PCIe \u4f20\u8f93\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93\u7684\u6570\u636e\u901f\u7387 PCIe \u63a5\u6536\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u63a5\u6536\u7684\u6570\u636e\u901f\u7387"},{"location":"admin/kpanda/gpu/nvidia/mig/index.html","title":"NVIDIA \u591a\u5b9e\u4f8b GPU(MIG) \u6982\u8ff0","text":""},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#mig","title":"MIG \u573a\u666f","text":"
                                        • \u591a\u79df\u6237\u4e91\u73af\u5883

                                          MIG \u5141\u8bb8\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u5c06\u4e00\u5757\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u72ec\u7acb\u7684 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u3002\u8fd9\u6837\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u548c\u72ec\u7acb\u6027\uff0c\u6ee1\u8db3\u591a\u4e2a\u79df\u6237\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                                        • \u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f

                                          MIG \u53ef\u4ee5\u5728\u5bb9\u5668\u5316\u73af\u5883\u4e2d\u5b9e\u73b0\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u7ba1\u7406\u3002\u901a\u8fc7\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5bb9\u5668\u5206\u914d\u72ec\u7acb\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff0c\u63d0\u4f9b\u66f4\u597d\u7684\u6027\u80fd\u9694\u79bb\u548c\u8d44\u6e90\u5229\u7528\u3002

                                        • \u6279\u5904\u7406\u4f5c\u4e1a

                                          \u5bf9\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u8ba1\u7b97\u7684\u6279\u5904\u7406\u4f5c\u4e1a\uff0cMIG \u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8ba1\u7b97\u6027\u80fd\u548c\u66f4\u5927\u7684\u663e\u5b58\u5bb9\u91cf\u3002\u6bcf\u4e2a MIG \u5b9e\u4f8b\u53ef\u4ee5\u5229\u7528\u7269\u7406 GPU \u7684\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u52a0\u901f\u5927\u89c4\u6a21\u8ba1\u7b97\u4efb\u52a1\u7684\u5904\u7406\u3002

                                        • AI/\u673a\u5668\u5b66\u4e60\u8bad\u7ec3

                                          MIG \u53ef\u4ee5\u5728\u8bad\u7ec3\u5927\u89c4\u6a21\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u65f6\u63d0\u4f9b\u66f4\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u548c\u541e\u5410\u91cf\u3002

                                        \u603b\u4f53\u800c\u8a00\uff0cNVIDIA MIG \u9002\u7528\u4e8e\u9700\u8981\u66f4\u7ec6\u7c92\u5ea6\u7684GPU\u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\u7684\u573a\u666f\uff0c\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u3001\u63d0\u9ad8\u6027\u80fd\u5229\u7528\u7387\uff0c\u5e76\u4e14\u6ee1\u8db3\u591a\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#mig_1","title":"MIG \u6982\u8ff0","text":"

                                        NVIDIA \u591a\u5b9e\u4f8b GPU\uff08Multi-Instance GPU\uff0c\u7b80\u79f0 MIG\uff09\u662f NVIDIA \u5728 H100\uff0cA100\uff0cA30 \u7cfb\u5217 GPU \u5361\u4e0a\u63a8\u51fa\u7684\u4e00\u9879\u65b0\u7279\u6027\uff0c \u65e8\u5728\u5c06\u4e00\u5757\u7269\u7406 GPU \u5206\u5272\u4e3a\u591a\u4e2a GPU \u5b9e\u4f8b\uff0c\u4ee5\u63d0\u4f9b\u66f4\u7ec6\u7c92\u5ea6\u7684\u8d44\u6e90\u5171\u4eab\u548c\u9694\u79bb\u3002MIG \u6700\u591a\u53ef\u5c06\u4e00\u5757 GPU \u5212\u5206\u6210\u4e03\u4e2a GPU \u5b9e\u4f8b\uff0c \u4f7f\u5f97\u4e00\u4e2a \u7269\u7406 GPU \u5361\u53ef\u4e3a\u591a\u4e2a\u7528\u6237\u63d0\u4f9b\u5355\u72ec\u7684 GPU \u8d44\u6e90\uff0c\u4ee5\u5b9e\u73b0\u6700\u4f73 GPU \u5229\u7528\u7387\u3002

                                        \u8fd9\u4e2a\u529f\u80fd\u4f7f\u5f97\u591a\u4e2a\u5e94\u7528\u7a0b\u5e8f\u6216\u7528\u6237\u53ef\u4ee5\u540c\u65f6\u5171\u4eabGPU\u8d44\u6e90\uff0c\u63d0\u9ad8\u4e86\u8ba1\u7b97\u8d44\u6e90\u7684\u5229\u7528\u7387\uff0c\u5e76\u589e\u52a0\u4e86\u7cfb\u7edf\u7684\u53ef\u6269\u5c55\u6027\u3002

                                        \u901a\u8fc7 MIG\uff0c\u6bcf\u4e2a GPU \u5b9e\u4f8b\u7684\u5904\u7406\u5668\u5728\u6574\u4e2a\u5185\u5b58\u7cfb\u7edf\u4e2d\u5177\u6709\u72ec\u7acb\u4e14\u9694\u79bb\u7684\u8def\u5f84\u2014\u2014\u82af\u7247\u4e0a\u7684\u4ea4\u53c9\u5f00\u5173\u7aef\u53e3\u3001L2 \u9ad8\u901f\u7f13\u5b58\u7ec4\u3001\u5185\u5b58\u63a7\u5236\u5668\u548c DRAM \u5730\u5740\u603b\u7ebf\u90fd\u552f\u4e00\u5206\u914d\u7ed9\u5355\u4e2a\u5b9e\u4f8b\u3002

                                        \u8fd9\u786e\u4fdd\u4e86\u5355\u4e2a\u7528\u6237\u7684\u5de5\u4f5c\u8d1f\u8f7d\u80fd\u591f\u4ee5\u53ef\u9884\u6d4b\u7684\u541e\u5410\u91cf\u548c\u5ef6\u8fdf\u8fd0\u884c\uff0c\u5e76\u5177\u6709\u76f8\u540c\u7684\u4e8c\u7ea7\u7f13\u5b58\u5206\u914d\u548c DRAM \u5e26\u5bbd\u3002 MIG \u53ef\u4ee5\u5212\u5206\u53ef\u7528\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff08\u5305\u62ec\u6d41\u591a\u5904\u7406\u5668\u6216 SM \u548c GPU \u5f15\u64ce\uff0c\u5982\u590d\u5236\u5f15\u64ce\u6216\u89e3\u7801\u5668\uff09\u8fdb\u884c\u5206\u533a\uff0c \u4ee5\u4fbf\u4e3a\u4e0d\u540c\u7684\u5ba2\u6237\u7aef\uff08\u5982\u4e91\u4e3b\u673a\u3001\u5bb9\u5668\u6216\u8fdb\u7a0b\uff09\u63d0\u4f9b\u5b9a\u4e49\u7684\u670d\u52a1\u8d28\u91cf\uff08QoS\uff09\u548c\u6545\u969c\u9694\u79bb\uff09\u3002 MIG \u4f7f\u591a\u4e2a GPU \u5b9e\u4f8b\u80fd\u591f\u5728\u5355\u4e2a\u7269\u7406 GPU \u4e0a\u5e76\u884c\u8fd0\u884c\u3002

                                        MIG \u5141\u8bb8\u591a\u4e2a vGPU\uff08\u4ee5\u53ca\u4e91\u4e3b\u673a\uff09\u5728\u5355\u4e2a GPU \u5b9e\u4f8b\u4e0a\u5e76\u884c\u8fd0\u884c\uff0c\u540c\u65f6\u4fdd\u7559 vGPU \u63d0\u4f9b\u7684\u9694\u79bb\u4fdd\u8bc1\u3002 \u6709\u5173\u4f7f\u7528 vGPU \u548c MIG \u8fdb\u884c GPU \u5206\u533a\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 NVIDIA Multi-Instance GPU and NVIDIA Virtual Compute Server\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#mig_2","title":"MIG \u67b6\u6784","text":"

                                        \u5982\u4e0b\u662f\u4e00\u4e2a MIG \u7684\u6982\u8ff0\u56fe\uff0c\u53ef\u4ee5\u770b\u51fa MIG \u5c06\u4e00\u5f20\u7269\u7406 GPU \u5361\u865a\u62df\u5316\u6210\u4e86 7 \u4e2a GPU \u5b9e\u4f8b\uff0c\u8fd9\u4e9b GPU \u5b9e\u4f8b\u80fd\u591f\u53ef\u4ee5\u88ab\u591a\u4e2a User \u4f7f\u7528\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#_1","title":"\u91cd\u8981\u6982\u5ff5","text":"
                                        • SM \uff1a\u6d41\u5f0f\u591a\u5904\u7406\u5668\uff08Streaming Multiprocessor\uff09\uff0cGPU \u7684\u6838\u5fc3\u8ba1\u7b97\u5355\u5143\uff0c\u8d1f\u8d23\u6267\u884c\u56fe\u5f62\u6e32\u67d3\u548c\u901a\u7528\u8ba1\u7b97\u4efb\u52a1\u3002 \u6bcf\u4e2a SM \u5305\u542b\u4e00\u7ec4 CUDA \u6838\u5fc3\uff0c\u4ee5\u53ca\u5171\u4eab\u5185\u5b58\u3001\u5bc4\u5b58\u5668\u6587\u4ef6\u548c\u5176\u4ed6\u8d44\u6e90\uff0c\u53ef\u4ee5\u540c\u65f6\u6267\u884c\u591a\u4e2a\u7ebf\u7a0b\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u90fd\u62e5\u6709\u4e00\u5b9a\u6570\u91cf\u7684 SM \u548c\u5176\u4ed6\u76f8\u5173\u8d44\u6e90\uff0c\u4ee5\u53ca\u88ab\u5212\u5206\u51fa\u6765\u7684\u663e\u5b58\u3002
                                        • GPU Memory Slice \uff1aGPU \u5185\u5b58\u5207\u7247\uff0cGPU \u5185\u5b58\u5207\u7247\u662f GPU \u5185\u5b58\u7684\u6700\u5c0f\u90e8\u5206\uff0c\u5305\u62ec\u76f8\u5e94\u7684\u5185\u5b58\u63a7\u5236\u5668\u548c\u7f13\u5b58\u3002 GPU \u5185\u5b58\u5207\u7247\u5927\u7ea6\u662f GPU \u5185\u5b58\u8d44\u6e90\u603b\u91cf\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u5305\u62ec\u5bb9\u91cf\u548c\u5e26\u5bbd\u3002
                                        • GPU SM Slice \uff1aGPU SM \u5207\u7247\u662f GPU \u4e0a SM \u7684\u6700\u5c0f\u8ba1\u7b97\u5355\u4f4d\u3002\u5728 MIG \u6a21\u5f0f\u4e0b\u914d\u7f6e\u65f6\uff0c GPU SM \u5207\u7247\u5927\u7ea6\u662f GPU \u4e2d\u53ef\u7528 SMS \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                                        • GPU Slice \uff1aGPU \u5207\u7247\u662f GPU \u4e2d\u7531\u5355\u4e2a GPU \u5185\u5b58\u5207\u7247\u548c\u5355\u4e2a GPU SM \u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u7684\u6700\u5c0f\u90e8\u5206\u3002
                                        • GPU Instance \uff1aGPU \u5b9e\u4f8b \uff08GI\uff09 \u662f GPU \u5207\u7247\u548c GPU \u5f15\u64ce\uff08DMA\u3001NVDEC \u7b49\uff09\u7684\u7ec4\u5408\u3002 GPU \u5b9e\u4f8b\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\u59cb\u7ec8\u5171\u4eab\u6240\u6709 GPU \u5185\u5b58\u5207\u7247\u548c\u5176\u4ed6 GPU \u5f15\u64ce\uff0c\u4f46\u5b83\u7684 SM \u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\u3002 GPU \u5b9e\u4f8b\u63d0\u4f9b\u5185\u5b58 QoS\u3002\u6bcf\u4e2a GPU \u5207\u7247\u90fd\u5305\u542b\u4e13\u7528\u7684 GPU \u5185\u5b58\u8d44\u6e90\uff0c\u8fd9\u4e9b\u8d44\u6e90\u4f1a\u9650\u5236\u53ef\u7528\u5bb9\u91cf\u548c\u5e26\u5bbd\uff0c\u5e76\u63d0\u4f9b\u5185\u5b58 QoS\u3002 \u6bcf\u4e2a GPU \u5185\u5b58\u5207\u7247\u83b7\u5f97\u603b GPU \u5185\u5b58\u8d44\u6e90\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u6bcf\u4e2a GPU SM \u5207\u7247\u83b7\u5f97 SM \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                                        • Compute Instance \uff1aGPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b \uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c\u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002
                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#gpu-gi","title":"GPU \u5b9e\u4f8b\uff08GI\uff09","text":"

                                        \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 GPU \u4e0a\u521b\u5efa\u5404\u79cd\u5206\u533a\u3002\u5c06\u4f7f\u7528 A100-40GB \u4f5c\u4e3a\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u5bf9\u5355\u4e2a GPU \u7269\u7406\u5361\u4e0a\u8fdb\u884c\u5206\u533a\u3002

                                        GPU \u7684\u5206\u533a\u662f\u4f7f\u7528\u5185\u5b58\u5207\u7247\u8fdb\u884c\u7684\uff0c\u56e0\u6b64\u53ef\u4ee5\u8ba4\u4e3a A100-40GB GPU \u5177\u6709 8x5GB \u5185\u5b58\u5207\u7247\u548c 7 \u4e2a GPU SM \u5207\u7247\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5c55\u793a\u4e86 A100 \u4e0a\u53ef\u7528\u7684\u5185\u5b58\u5207\u7247\u3002

                                        \u5982\u4e0a\u6240\u8ff0\uff0c\u521b\u5efa GPU \u5b9e\u4f8b \uff08GI\uff09 \u9700\u8981\u5c06\u4e00\u5b9a\u6570\u91cf\u7684\u5185\u5b58\u5207\u7247\u4e0e\u4e00\u5b9a\u6570\u91cf\u7684\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\u3002 \u5728\u4e0b\u56fe\u4e2d\uff0c\u4e00\u4e2a 5GB \u5185\u5b58\u5207\u7247\u4e0e 1 \u4e2a\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\uff0c\u4ee5\u521b\u5efa 1g.5gb GI \u914d\u7f6e\u6587\u4ef6\uff1a

                                        \u540c\u6837\uff0c4x5GB \u5185\u5b58\u5207\u7247\u53ef\u4ee5\u4e0e 4x1 \u8ba1\u7b97\u5207\u7247\u7ed3\u5408\u4f7f\u7528\u4ee5\u521b\u5efa 4g.20gb \u7684 GI \u914d\u7f6e\u6587\u4ef6\uff1a

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/index.html#ci","title":"\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09","text":"

                                        GPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247(GI)\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c \u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002\u4f7f\u7528\u4e0a\u9762\u7684\u76f8\u540c 4g.20gb \u793a\u4f8b\uff0c\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a CI \u4ee5\u4ec5\u4f7f\u7528\u7b2c\u4e00\u4e2a\u8ba1\u7b97\u5207\u7247\u7684 1c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\uff0c\u5982\u4e0b\u56fe\u84dd\u8272\u90e8\u5206\u6240\u793a\uff1a

                                        \u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u901a\u8fc7\u9009\u62e9\u4efb\u4f55\u8ba1\u7b97\u5207\u7247\u6765\u521b\u5efa 4 \u4e2a\u4e0d\u540c\u7684 CI\u3002\u8fd8\u53ef\u4ee5\u5c06\u4e24\u4e2a\u8ba1\u7b97\u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u4ee5\u521b\u5efa 2c.4g.20gb \u7684\u8ba1\u7b97\u914d\u7f6e\uff09\uff1a

                                        \u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u53ef\u4ee5\u7ec4\u5408 3 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa\u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\uff0c\u6216\u8005\u53ef\u4ee5\u7ec4\u5408\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa 3c.4g.20gb \u3001 4c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\u3002 \u5408\u5e76\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u65f6\uff0c\u914d\u7f6e\u6587\u4ef6\u7b80\u79f0\u4e3a 4g.20gb \u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html","title":"\u5f00\u542f MIG \u529f\u80fd","text":"

                                        \u672c\u7ae0\u8282\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f NVIDIA MIG \u529f\u80fd\u65b9\u5f0f\uff0cNVIDIA \u5f53\u524d\u63d0\u4f9b\u4e24\u79cd\u5728 Kubernetes \u8282\u70b9\u4e0a\u516c\u5f00 MIG \u8bbe\u5907\u7684\u7b56\u7565\uff1a

                                        • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\u3002
                                        • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002

                                        \u8be6\u60c5\u53c2\u8003 NVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5f85\u5b89\u88c5 GPU \u9a71\u52a8\u8282\u70b9\u7cfb\u7edf\u8981\u6c42\u8bf7\u53c2\u8003\uff1aGPU \u652f\u6301\u77e9\u9635
                                        • \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\uff08NVIDIA H100\u3001 A100 \u548c A30 Tensor Core GPU\uff09\uff0c \u8be6\u60c5\u53c2\u8003 GPU \u652f\u6301\u77e9\u9635\u3002
                                        • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html#gpu-operator-addon","title":"\u5b89\u88c5 gpu-operator Addon","text":""},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html#_2","title":"\u53c2\u6570\u914d\u7f6e","text":"

                                        \u5b89\u88c5 Operator \u65f6\u9700\u8981\u5bf9\u5e94\u8bbe\u7f6e MigManager Config \u53c2\u6570\uff0c \u9ed8\u8ba4\u4e3a default-mig-parted-config \uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565\u914d\u7f6e\u6587\u4ef6\uff1a

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html#_3","title":"\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565","text":"
                                          ## \u81ea\u5b9a\u4e49\u5207\u5206 GI \u5b9e\u4f8b\u914d\u7f6e\n  all-disabled:\n    - devices: all\n      mig-enabled: false\n  all-enabled:\n    - devices: all\n      mig-enabled: true\n      mig-devices: {}\n  all-1g.10gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.5gb: 7\n  all-1g.10gb.me:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb+me: 1\n  all-1g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.20gb: 4\n  all-2g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        2g.20gb: 3\n  all-3g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n  all-4g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        4g.40gb: 1\n  all-7g.80gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        7g.80gb: 1\n  all-balanced:\n    - device-filter: [\"0x233110DE\", \"0x232210DE\", \"0x20B210DE\", \"0x20B510DE\", \"0x20F310DE\", \"0x20F510DE\"]\n      devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb: 2\n        2g.20gb: 1\n        3g.40gb: 1\n  # \u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u8bbe\u7f6e\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\n  custom-config:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n

                                        \u5728\u4e0a\u8ff0\u7684 YAML \u4e2d\u8bbe\u7f6e custom-config \uff0c\u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\u3002

                                        custom-config:\n  - devices: all\n    mig-enabled: true\n    mig-devices:\n      1c.3g.40gb: 6\n

                                        \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5728\u786e\u8ba4\u90e8\u7f72\u5e94\u7528\u65f6\u5373\u53ef\u4f7f\u7528 GPU MIG \u8d44\u6e90\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/create_mig.html#gpu","title":"\u5207\u6362\u8282\u70b9 GPU \u6a21\u5f0f","text":"

                                        Note

                                        \u5207\u6362 GPU \u6a21\u5f0f\u6216\u8005\u4fee\u6539\u5207\u5206\u89c4\u683c\u540e\u9700\u8981\u91cd\u542f nvidia-mig-manager\u3002

                                        \u5f53\u6211\u4eec\u6210\u529f\u5b89\u88c5 gpu-operator \u4e4b\u540e\uff0c\u8282\u70b9\u9ed8\u8ba4\u662f\u6574\u5361\u6a21\u5f0f\uff0c\u5728\u8282\u70b9\u7ba1\u7406\u9875\u9762\u4f1a\u6709\u6807\u8bc6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                                        \u70b9\u51fb\u8282\u70b9\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 GPU \u6a21\u5f0f\u5207\u6362 \uff0c\u7136\u540e\u9009\u62e9\u5bf9\u5e94\u7684 MIG \u6a21\u5f0f\u4ee5\u53ca\u5207\u5206\u7684\u7b56\u7565\uff0c\u8fd9\u91cc\u4ee5 MIXED \u6a21\u5f0f\u4e3a\u4f8b\uff1a

                                        \u8fd9\u91cc\u4e00\u5171\u6709\u4e24\u4e2a\u914d\u7f6e\uff1a

                                        1. MIg \u7b56\u7565\uff1aMixed \u4ee5\u53ca Single \u3002
                                        2. \u5207\u5206\u7b56\u7565\uff1a\u8fd9\u91cc\u7684\u7b56\u7565\u9700\u8981\u4e0e default-mig-parted-config \uff08\u6216\u8005\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u5207\u5206\u7b56\u7565\uff09\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684 key \u4fdd\u6301\u4e00\u81f4\u3002

                                        \u70b9\u51fb \u786e\u5b9a \u6309\u94ae\u540e\uff0c\u7b49\u5f85\u7ea6\u4e00\u5206\u949f\u5de6\u53f3\u5237\u65b0\u9875\u9762\uff0cMIG \u6a21\u5f0f\u5207\u6362\u6210\uff1a

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/mig_command.html","title":"MIG \u76f8\u5173\u547d\u4ee4","text":"

                                        GI \u76f8\u5173\u547d\u540d\uff1a

                                        \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lgi \u67e5\u770b\u521b\u5efa GI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -dgi -gi \u5220\u9664\u6307\u5b9a\u7684 GI \u5b9e\u4f8b nvidia-smi mig -lgip \u67e5\u770b GI \u7684 profile nvidia-smi mig -cgi \u901a\u8fc7\u6307\u5b9a profile \u7684 ID \u521b\u5efa GI

                                        CI \u76f8\u5173\u547d\u4ee4\uff1a

                                        \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lcip { -gi {gi Instance ID}} \u67e5\u770b CI \u7684 profile \uff0c\u6307\u5b9a -gi \u53ef\u4ee5\u67e5\u770b\u7279\u5b9a GI \u5b9e\u4f8b\u53ef\u4ee5\u521b\u5efa\u7684 CI nvidia-smi mig -lci \u67e5\u770b\u521b\u5efa\u7684 CI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -cci {profile id} -gi {gi instance id} \u6307\u5b9a\u7684 GI \u521b\u5efa CI \u5b9e\u4f8b nvidia-smi mig -dci -ci \u5220\u9664\u6307\u5b9a CI \u5b9e\u4f8b

                                        GI+CI \u76f8\u5173\u547d\u4ee4\uff1a

                                        \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -i 0 -cgi {gi profile id} -C {ci profile id} \u76f4\u63a5\u521b\u5efa GI + CI \u5b9e\u4f8b"},{"location":"admin/kpanda/gpu/nvidia/mig/mig_usage.html","title":"\u4f7f\u7528 MIG GPU \u8d44\u6e90","text":"

                                        \u672c\u8282\u4ecb\u7ecd\u5e94\u7528\u5982\u4f55\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/mig_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                                        • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                        • \u5df2\u5b89\u88c5 GPU Operator\u3002
                                        • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/mig_usage.html#ui-mig-gpu","title":"UI \u754c\u9762\u4f7f\u7528 MIG GPU","text":"
                                        1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u8bc6\u522b GPU \u5361\u7c7b\u578b

                                          \u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 -> \u8282\u70b9\u7ba1\u7406 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u6b63\u786e\u8bc6\u522b\u4e3a MIG \u6a21\u5f0f\u3002

                                        2. \u901a\u8fc7\u955c\u50cf\u90e8\u7f72\u5e94\u7528\uff0c\u53ef\u9009\u62e9\u5e76\u4f7f\u7528 NVIDIA MIG \u8d44\u6e90\u3002

                                          • MIG Single \u6a21\u5f0f\u793a\u4f8b\uff08\u4e0e\u6574\u5361\u4f7f\u7528\u65b9\u5f0f\u76f8\u540c\uff09\uff1a

                                            Note

                                            MIG single \u7b56\u7565\u5141\u8bb8\u7528\u6237\u4ee5\u4e0e GPU \u6574\u5361\u76f8\u540c\u7684\u65b9\u5f0f\uff08nvidia.com/gpu\uff09\u8bf7\u6c42\u548c\u4f7f\u7528GPU\u8d44\u6e90\uff0c\u4e0d\u540c\u7684\u662f\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u662f GPU \u7684\u4e00\u90e8\u5206\uff08MIG\u8bbe\u5907\uff09\uff0c\u800c\u4e0d\u662f\u6574\u4e2aGPU\u3002\u4e86\u89e3\u66f4\u591a GPU MIG \u6a21\u5f0f\u8bbe\u8ba1

                                          • MIG Mixed \u6a21\u5f0f\u793a\u4f8b\uff1a

                                        "},{"location":"admin/kpanda/gpu/nvidia/mig/mig_usage.html#yaml-mig","title":"YAML \u914d\u7f6e\u4f7f\u7528 MIG","text":"

                                        MIG Single \u6a21\u5f0f\uff1a

                                        apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpu: 2 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                                        1. \u7533\u8bf7 MIG GPU \u7684\u6570\u91cf

                                        MIG Mixed \u6a21\u5f0f\uff1a

                                        apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/mig-4g.20gb: 1 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                                        1. \u901a\u8fc7 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                                        \u8fdb\u5165\u5bb9\u5668\u540e\u53ef\u4ee5\u67e5\u770b\u53ea\u4f7f\u7528\u4e86\u4e00\u4e2a MIG \u8bbe\u5907\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/vgpu/hami.html","title":"\u6784\u5efa vGPU \u663e\u5b58\u8d85\u914d\u955c\u50cf","text":"

                                        Hami \u9879\u76ee\u4e2d vGPU \u663e\u5b58\u8d85\u914d\u7684\u529f\u80fd\u5df2\u7ecf\u4e0d\u5b58\u5728\uff0c\u76ee\u524d\u4f7f\u7528\u6709\u663e\u5b58\u8d85\u914d\u7684 libvgpu.so \u6587\u4ef6\u91cd\u65b0\u6784\u5efa\u3002

                                        Dockerfile
                                        FROM docker.m.daocloud.io/projecthami/hami:v2.3.11\nCOPY libvgpu.so /k8s-vgpu/lib/nvidia/\n

                                        \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6784\u5efa\u955c\u50cf\uff1a

                                        docker build -t release.daocloud.io/projecthami/hami:v2.3.11 -f Dockerfile .\n

                                        \u7136\u540e\u628a\u955c\u50cf push \u5230 release.daocloud.io \u4e2d\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_addon.html","title":"\u5b89\u88c5 NVIDIA vGPU Addon","text":"

                                        \u5982\u9700\u5c06\u4e00\u5f20 NVIDIA \u865a\u62df\u5316\u6210\u591a\u4e2a\u865a\u62df GPU\uff0c\u5e76\u5c06\u5176\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u4e91\u4e3b\u673a\u6216\u7528\u6237\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 NVIDIA \u7684 vGPU \u80fd\u529b\u3002 \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u5b89\u88c5 vGPU \u63d2\u4ef6\uff0c\u8fd9\u662f\u4f7f\u7528 NVIDIA vGPU \u80fd\u529b\u7684\u524d\u63d0\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_addon.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u53c2\u8003 GPU \u652f\u6301\u77e9\u9635 \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\u3002
                                        • \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u5177\u4f53\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                                        "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_addon.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 nvidia-vgpu \u3002

                                        2. \u5728\u5b89\u88c5 vGPU \u7684\u8fc7\u7a0b\u4e2d\u63d0\u4f9b\u4e86\u51e0\u4e2a\u57fa\u672c\u4fee\u6539\u7684\u53c2\u6570\uff0c\u5982\u679c\u9700\u8981\u4fee\u6539\u9ad8\u7ea7\u53c2\u6570\u70b9\u51fb YAML \u5217\u8fdb\u884c\u4fee\u6539\uff1a

                                          • deviceCoreScaling \uff1aNVIDIA \u88c5\u7f6e\u7b97\u529b\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u7b97\u529b\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceCoreScaling \u53c2\u6570\u4e3a S\uff0c\u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * 100% \u7b97\u529b\u3002

                                          • deviceMemoryScaling \uff1aNVIDIA \u88c5\u7f6e\u663e\u5b58\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u663e\u5b58\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002 \u5bf9\u4e8e\u6709 M \u663e\u5b58\u5927\u5c0f\u7684 NVIDIA GPU\uff0c\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceMemoryScaling \u53c2\u6570\u4e3a S\uff0c \u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * M \u663e\u5b58\u3002

                                          • deviceSplitCount \uff1a\u6574\u6570\u7c7b\u578b\uff0c\u9884\u8bbe\u503c\u662f 10\u3002GPU \u7684\u5206\u5272\u6570\uff0c\u6bcf\u4e00\u5f20 GPU \u90fd\u4e0d\u80fd\u5206\u914d\u8d85\u8fc7\u5176\u914d\u7f6e\u6570\u76ee\u7684\u4efb\u52a1\u3002 \u82e5\u5176\u914d\u7f6e\u4e3a N \u7684\u8bdd\uff0c\u6bcf\u4e2a GPU \u4e0a\u6700\u591a\u53ef\u4ee5\u540c\u65f6\u5b58\u5728 N \u4e2a\u4efb\u52a1\u3002

                                          • Resources \uff1a\u5c31\u662f\u5bf9\u5e94 vgpu-device-plugin \u548c vgpu-schedule pod \u7684\u8d44\u6e90\u4f7f\u7528\u91cf\u3002

                                          • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b vGPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 NVIDIA vGPU Addon \u5b89\u88c5\u5931\u8d25\u3002

                                        3. \u5b89\u88c5\u6210\u529f\u4e4b\u540e\u4f1a\u5728\u6307\u5b9a Namespace \u4e0b\u51fa\u73b0\u5982\u4e0b\u4e24\u4e2a\u7c7b\u578b\u7684 Pod\uff0c\u5373\u8868\u793a NVIDIA vGPU \u63d2\u4ef6\u5df2\u5b89\u88c5\u6210\u529f\uff1a

                                        \u5b89\u88c5\u6210\u529f\u540e\uff0c\u90e8\u7f72\u5e94\u7528\u53ef\u4f7f\u7528 vGPU \u8d44\u6e90\u3002

                                        Note

                                        NVIDIA vGPU Addon \u4e0d\u652f\u6301\u4ece\u8001\u7248\u672c v2.0.0 \u76f4\u63a5\u5347\u7ea7\u4e3a\u6700\u65b0\u7248 v2.0.0+1\uff1b \u5982\u9700\u5347\u7ea7\uff0c\u8bf7\u5378\u8f7d\u8001\u7248\u672c\u540e\u91cd\u65b0\u5b89\u88c5\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_user.html","title":"\u5e94\u7528\u4f7f\u7528 Nvidia vGPU","text":"

                                        \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_user.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                                        • \u5df2\u6210\u529f\u5b89\u88c5 vGPU Addon\uff0c\u8be6\u60c5\u53c2\u8003 GPU Addon \u5b89\u88c5
                                        • \u5df2\u5b89\u88c5 GPU Operator\uff0c\u5e76\u5df2 \u5173\u95ed Nvidia.DevicePlugin \u80fd\u529b\uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5
                                        "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_user.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_user.html#vgpu","title":"\u754c\u9762\u4f7f\u7528 vGPU","text":"
                                        1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia vGPU \u3002

                                        2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia vGPU\uff09\u4e4b\u540e\uff0c\u4f1a\u81ea\u52a8\u51fa\u73b0\u5982\u4e0b\u51e0\u4e2a\u53c2\u6570\u9700\u8981\u586b\u5199\uff1a

                                          • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                                          • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b \u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c \u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
                                          • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                                          \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                                        "},{"location":"admin/kpanda/gpu/nvidia/vgpu/vgpu_user.html#yaml-vgpu","title":"YAML \u914d\u7f6e\u4f7f\u7528 vGPU","text":"

                                        \u53c2\u8003\u5982\u4e0b\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/vgpu: '1' \u53c2\u6570\u6765\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                                        apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-vgpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-vgpu-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: full-vgpu-demo\n    spec:\n      containers:\n        - name: full-vgpu-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpucores: '20'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 20% \u7684 GPU \u7b97\u529b\n              nvidia.com/gpumem: '200'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 200MB \u7684\u663e\u5b58\n              nvidia.com/vgpu: '1'   # \u7533\u8bf7GPU\u7684\u6570\u91cf\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                                        "},{"location":"admin/kpanda/gpu/volcano/drf.html","title":"DRF\uff08Dominant Resource Fairness\uff09 \u8c03\u5ea6\u7b56\u7565","text":"

                                        DRF \u8c03\u5ea6\u7b56\u7565\u8ba4\u4e3a\u5360\u7528\u8d44\u6e90\u8f83\u5c11\u7684\u4efb\u52a1\u5177\u6709\u66f4\u9ad8\u7684\u4f18\u5148\u7ea7\u3002\u8fd9\u6837\u80fd\u591f\u6ee1\u8db3\u66f4\u591a\u7684\u4f5c\u4e1a\uff0c\u4e0d\u4f1a\u56e0\u4e3a\u4e00\u4e2a\u80d6\u4e1a\u52a1\uff0c \u997f\u6b7b\u5927\u6279\u5c0f\u4e1a\u52a1\u3002DRF \u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u786e\u4fdd\u5728\u591a\u79cd\u7c7b\u578b\u8d44\u6e90\u5171\u5b58\u7684\u73af\u5883\u4e0b\uff0c\u5c3d\u53ef\u80fd\u6ee1\u8db3\u5206\u914d\u7684\u516c\u5e73\u539f\u5219\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/drf.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                                        DRF \u8c03\u5ea6\u7b56\u7565\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4efb\u4f55\u914d\u7f6e\u3002

                                        kubectl -n volcano-system view configmaps volcano-scheduler-configmap\n
                                        "},{"location":"admin/kpanda/gpu/volcano/drf.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                                        \u5728 AI \u8bad\u7ec3\uff0c\u6216\u5927\u6570\u636e\u8ba1\u7b97\u4e2d\uff0c\u901a\u8fc7\u6709\u9650\u8fd0\u884c\u4f7f\u7528\u8d44\u6e90\u5c11\u7684\u4efb\u52a1\uff0c\u8fd9\u6837\u53ef\u4ee5\u8ba9\u96c6\u7fa4\u8d44\u6e90\u4f7f\u7528\u7387\u66f4\u9ad8\uff0c\u800c\u4e14\u8fd8\u80fd\u907f\u514d\u5c0f\u4efb\u52a1\u88ab\u997f\u6b7b\u3002 \u5982\u4e0b\u521b\u5efa\u4e24\u4e2a Job\uff0c\u4e00\u4e2a\u662f\u5c0f\u8d44\u6e90\u9700\u6c42\uff0c\u4e00\u4e2a\u662f\u5927\u8d44\u6e90\u9700\u6c42\uff0c\u53ef\u4ee5\u770b\u51fa\u6765\u5c0f\u8d44\u6e90\u9700\u6c42\u7684 Job \u4f18\u5148\u8fd0\u884c\u8d77\u6765\u3002

                                        cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: small-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: small-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"1\"  \n          restartPolicy: OnFailure  \n---  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: large-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: large-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"2\"  \n          restartPolicy: OnFailure  \nEOF\n
                                        "},{"location":"admin/kpanda/gpu/volcano/numa.html","title":"NUMA \u4eb2\u548c\u6027\u8c03\u5ea6","text":"

                                        NUMA \u8282\u70b9\u662f Non-Uniform Memory Access\uff08\u975e\u7edf\u4e00\u5185\u5b58\u8bbf\u95ee\uff09\u67b6\u6784\u4e2d\u7684\u4e00\u4e2a\u57fa\u672c\u7ec4\u6210\u5355\u5143\uff0c\u4e00\u4e2a Node \u8282\u70b9\u662f\u591a\u4e2a NUMA \u8282\u70b9\u7684\u96c6\u5408\uff0c \u5728\u591a\u4e2a NUMA \u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u5185\u5b58\u8bbf\u95ee\u65f6\u4f1a\u4ea7\u751f\u5ef6\u8fdf\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u4f18\u5316\u4efb\u52a1\u8c03\u5ea6\u548c\u5185\u5b58\u5206\u914d\u7b56\u7565\uff0c\u6765\u63d0\u9ad8\u5185\u5b58\u8bbf\u95ee\u6548\u7387\u548c\u6574\u4f53\u6027\u80fd\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/numa.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                                        Numa \u4eb2\u548c\u6027\u8c03\u5ea6\u7684\u5e38\u89c1\u573a\u666f\u662f\u90a3\u4e9b\u5bf9 CPU \u53c2\u6570\u654f\u611f/\u8c03\u5ea6\u5ef6\u8fdf\u654f\u611f\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4f5c\u4e1a\u3002\u5982\u79d1\u5b66\u8ba1\u7b97\u3001\u89c6\u9891\u89e3\u7801\u3001\u52a8\u6f2b\u52a8\u753b\u6e32\u67d3\u3001\u5927\u6570\u636e\u79bb\u7ebf\u5904\u7406\u7b49\u5177\u4f53\u573a\u666f\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/numa.html#_2","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                                        Pod \u8c03\u5ea6\u65f6\u53ef\u4ee5\u91c7\u7528\u7684 NUMA \u653e\u7f6e\u7b56\u7565\uff0c\u5177\u4f53\u7b56\u7565\u5bf9\u5e94\u7684\u8c03\u5ea6\u884c\u4e3a\u8bf7\u53c2\u89c1 Pod \u8c03\u5ea6\u884c\u4e3a\u8bf4\u660e\u3002

                                        • single-numa-node\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a single-numa-node \u7684\u8282\u70b9\u6c60\u4e2d\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                                        • restricted\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a restricted \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c\u7684 NUMA \u96c6\u5408\u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                                        • best-effort\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a best-effort \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14\u5c3d\u91cf\u5c06 CPU \u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u6ca1\u6709\u8282\u70b9\u6ee1\u8db3\u8fd9\u4e00\u6761\u4ef6\uff0c\u5219\u9009\u62e9\u6700\u4f18\u8282\u70b9\u8fdb\u884c\u653e\u7f6e\u3002
                                        "},{"location":"admin/kpanda/gpu/volcano/numa.html#_3","title":"\u8c03\u5ea6\u539f\u7406","text":"

                                        \u5f53Pod\u8bbe\u7f6e\u4e86\u62d3\u6251\u7b56\u7565\u65f6\uff0cVolcano \u4f1a\u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\u9884\u6d4b\u5339\u914d\u7684\u8282\u70b9\u5217\u8868\u3002 \u8c03\u5ea6\u8fc7\u7a0b\u5982\u4e0b\uff1a

                                        1. \u6839\u636e Pod \u8bbe\u7f6e\u7684 Volcano \u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u5177\u6709\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u3002

                                        2. \u5728\u8bbe\u7f6e\u4e86\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u4e2d\uff0c\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u8be5\u7b56\u7565\u8981\u6c42\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6\u3002

                                        Pod \u53ef\u914d\u7f6e\u7684\u62d3\u6251\u7b56\u7565 1. \u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u53ef\u8c03\u5ea6\u7684\u8282\u70b9 2. \u8fdb\u4e00\u6b65\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u7b56\u7565\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6 none \u9488\u5bf9\u914d\u7f6e\u4e86\u4ee5\u4e0b\u51e0\u79cd\u62d3\u6251\u7b56\u7565\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u65f6\u5747\u65e0\u7b5b\u9009\u884c\u4e3a\u3002none\uff1a\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 - best-effort \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201cbest-effort\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u5c3d\u53ef\u80fd\u6ee1\u8db3\u7b56\u7565\u8981\u6c42\u8fdb\u884c\u8c03\u5ea6\uff1a\u4f18\u5148\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\uff0c\u5982\u679c\u5355 NUMA \u8282\u70b9\u65e0\u6cd5\u6ee1\u8db3 CPU \u7533\u8bf7\u503c\uff0c\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 restricted \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201crestricted\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u4e25\u683c\u9650\u5236\u7684\u8c03\u5ea6\u7b56\u7565\uff1a\u5355 NUMA \u8282\u70b9\u7684CPU\u5bb9\u91cf\u4e0a\u9650\u5927\u4e8e\u7b49\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002\u6b64\u65f6\u5982\u679c\u5355 NUMA \u8282\u70b9\u5269\u4f59\u7684 CPU \u53ef\u4f7f\u7528\u91cf\u4e0d\u8db3\uff0c\u5219 Pod \u65e0\u6cd5\u8c03\u5ea6\u3002\u5355 NUMA \u8282\u70b9\u7684 CPU \u5bb9\u91cf\u4e0a\u9650\u5c0f\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u53ef\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 single-numa-node \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201csingle-numa-node\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 \u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002"},{"location":"admin/kpanda/gpu/volcano/numa.html#numa_1","title":"\u914d\u7f6e NUMA \u4eb2\u548c\u8c03\u5ea6\u7b56\u7565","text":"
                                        1. \u5728 Job \u4e2d\u914d\u7f6e policies

                                          task: \n  - replicas: 1 \n    name: \"test-1\" \n    topologyPolicy: single-numa-node \n  - replicas: 1 \n    name: \"test-2\" \n    topologyPolicy: best-effort \n
                                        2. \u4fee\u6539 kubelet \u7684\u8c03\u5ea6\u7b56\u7565\uff0c\u8bbe\u7f6e --topology-manager-policy \u53c2\u6570\uff0c\u652f\u6301\u7684\u7b56\u7565\u6709\u56db\u79cd\uff1a

                                          • none\uff08\u9ed8\u8ba4\uff09
                                          • best-effort
                                          • restricted
                                          • single-numa-node
                                        "},{"location":"admin/kpanda/gpu/volcano/numa.html#_4","title":"\u4f7f\u7528\u6848\u4f8b","text":"
                                        1. \u793a\u4f8b\u4e00\uff1a\u5728\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e NUMA \u4eb2\u548c\u6027\u3002

                                          kind: Deployment  \napiVersion: apps/v1  \nmetadata:  \n  name: numa-tset  \nspec:  \n  replicas: 1  \n  selector:  \n    matchLabels:  \n      app: numa-tset  \n  template:  \n    metadata:  \n      labels:  \n        app: numa-tset  \n      annotations:  \n        volcano.sh/numa-topology-policy: single-numa-node    # set the topology policy  \n    spec:  \n      containers:  \n        - name: container-1  \n          image: nginx:alpine  \n          resources:  \n            requests:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0elimits\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n            limits:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0erequests\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n      imagePullSecrets:  \n      - name: default-secret\n
                                        2. \u793a\u4f8b\u4e8c\uff1a\u521b\u5efa\u4e00\u4e2a Volcano Job\uff0c\u5e76\u4f7f\u7528 NUMA \u4eb2\u548c\u6027\u3002

                                          apiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: vj-test  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 1  \n  tasks:  \n    - replicas: 1  \n      name: \"test\"  \n      topologyPolicy: best-effort   # set the topology policy for task  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                limits:  \n                  cpu: 20  \n                  memory: \"100Mi\"  \n          restartPolicy: OnFailure\n
                                        "},{"location":"admin/kpanda/gpu/volcano/numa.html#numa_2","title":"NUMA \u8c03\u5ea6\u5206\u6790","text":"

                                        \u5047\u8bbe NUMA \u8282\u70b9\u60c5\u51b5\u5982\u4e0b\uff1a

                                        \u5de5\u4f5c\u8282\u70b9 \u8282\u70b9\u7b56\u7565\u62d3\u6251\u7ba1\u7406\u5668\u7b56\u7565 NUMA \u8282\u70b9 0 \u4e0a\u7684\u53ef\u5206\u914d CPU NUMA \u8282\u70b9 1 \u4e0a\u7684\u53ef\u5206\u914d CPU node-1 single-numa-node 16U 16U node-2 best-effort 16U 16U node-3 best-effort 20U 20U
                                        • \u793a\u4f8b\u4e00\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a 2U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201csingle-numa-node\u201d\uff0c\u56e0\u6b64\u4f1a\u88ab\u8c03\u5ea6\u5230\u76f8\u540c\u7b56\u7565\u7684 node-1\u3002
                                        • \u793a\u4f8b\u4e8c\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a20U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201cbest-effort\u201d\uff0c\u5b83\u5c06\u88ab\u8c03\u5ea6\u5230 node-3\uff0c \u56e0\u4e3a node-3 \u53ef\u4ee5\u5728\u5355\u4e2a NUMA \u8282\u70b9\u4e0a\u5206\u914d Pod \u7684 CPU \u8bf7\u6c42\uff0c\u800c node-2 \u9700\u8981\u5728\u4e24\u4e2a NUMA \u8282\u70b9\u4e0a\u6267\u884c\u6b64\u64cd\u4f5c\u3002
                                        "},{"location":"admin/kpanda/gpu/volcano/numa.html#cpu","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5","text":"

                                        \u60a8\u53ef\u4ee5\u901a\u8fc7 lscpu \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5\uff1a

                                        lscpu \n... \nCPU(s): 32 \nNUMA node(s): 2 \nNUMA node0 CPU(s): 0-15 \nNUMA node1 CPU(s): 16-31\n
                                        "},{"location":"admin/kpanda/gpu/volcano/numa.html#cpu_1","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d","text":"

                                        \u7136\u540e\u67e5\u770b NUMA \u8282\u70b9\u4f7f\u7528\u60c5\u51b5\uff1a

                                        # \u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d\ncat /var/lib/kubelet/cpu_manager_state\n{\"policyName\":\"static\",\"defaultCpuSet\":\"0,10-15,25-31\",\"entries\":{\"777870b5-c64f-42f5-9296-688b9dc212ba\":{\"container-1\":\"16-24\"},\"fb15e10a-b6a5-4aaa-8fcd-76c1aa64e6fd\":{\"container-1\":\"1-9\"}},\"checksum\":318470969}\n

                                        \u4ee5\u4e0a\u793a\u4f8b\u4e2d\u8868\u793a\uff0c\u8282\u70b9\u4e0a\u8fd0\u884c\u4e86\u4e24\u4e2a\u5bb9\u5668\uff0c\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node0 \u76841-9 \u6838\uff0c\u53e6\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node1 \u7684 16-24 \u6838\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano-gang-scheduler.html","title":"\u4f7f\u7528 Volcano \u7684 Gang Scheduler","text":"

                                        Gang \u8c03\u5ea6\u7b56\u7565\u662f volcano-scheduler \u7684\u6838\u5fc3\u8c03\u5ea6\u7b97\u6cd5\u4e4b\u4e00\uff0c\u5b83\u6ee1\u8db3\u4e86\u8c03\u5ea6\u8fc7\u7a0b\u4e2d\u7684 \u201cAll or nothing\u201d \u7684\u8c03\u5ea6\u9700\u6c42\uff0c \u907f\u514d Pod \u7684\u4efb\u610f\u8c03\u5ea6\u5bfc\u81f4\u96c6\u7fa4\u8d44\u6e90\u7684\u6d6a\u8d39\u3002\u5177\u4f53\u7b97\u6cd5\u662f\uff0c\u89c2\u5bdf Job \u4e0b\u7684 Pod \u5df2\u8c03\u5ea6\u6570\u91cf\u662f\u5426\u6ee1\u8db3\u4e86\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\uff0c \u5f53 Job \u7684\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\u5f97\u5230\u6ee1\u8db3\u65f6\uff0c\u4e3a Job \u4e0b\u7684\u6240\u6709 Pod \u6267\u884c\u8c03\u5ea6\u52a8\u4f5c\uff0c\u5426\u5219\uff0c\u4e0d\u6267\u884c\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano-gang-scheduler.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                                        \u57fa\u4e8e\u5bb9\u5668\u7ec4\u6982\u5ff5\u7684 Gang \u8c03\u5ea6\u7b97\u6cd5\u5341\u5206\u9002\u5408\u9700\u8981\u591a\u8fdb\u7a0b\u534f\u4f5c\u7684\u573a\u666f\u3002AI \u573a\u666f\u5f80\u5f80\u5305\u542b\u590d\u6742\u7684\u6d41\u7a0b\uff0c Data Ingestion\u3001Data Analysts\u3001Data Splitting\u3001Trainer\u3001Serving\u3001Logging \u7b49\uff0c \u9700\u8981\u4e00\u7ec4\u5bb9\u5668\u8fdb\u884c\u534f\u540c\u5de5\u4f5c\uff0c\u5c31\u5f88\u9002\u5408\u57fa\u4e8e\u5bb9\u5668\u7ec4\u7684 Gang \u8c03\u5ea6\u7b56\u7565\u3002 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\uff0c\u7531\u4e8e\u9700\u8981\u4e3b\u4ece\u8fdb\u7a0b\u534f\u540c\u5de5\u4f5c\uff0c\u4e5f\u975e\u5e38\u9002\u5408\u4f7f\u7528 Gang \u8c03\u5ea6\u7b56\u7565\u3002 \u5bb9\u5668\u7ec4\u4e0b\u7684\u5bb9\u5668\u9ad8\u5ea6\u76f8\u5173\u4e5f\u53ef\u80fd\u5b58\u5728\u8d44\u6e90\u4e89\u62a2\uff0c\u6574\u4f53\u8c03\u5ea6\u5206\u914d\uff0c\u80fd\u591f\u6709\u6548\u89e3\u51b3\u6b7b\u9501\u3002

                                        \u5728\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\u7684\u573a\u666f\u4e0b\uff0cGang \u7684\u8c03\u5ea6\u7b56\u7565\u5bf9\u4e8e\u96c6\u7fa4\u8d44\u6e90\u7684\u5229\u7528\u7387\u7684\u63d0\u5347\u662f\u975e\u5e38\u660e\u663e\u7684\u3002 \u6bd4\u5982\u96c6\u7fa4\u73b0\u5728\u53ea\u80fd\u5bb9\u7eb3 2 \u4e2a Pod\uff0c\u73b0\u5728\u8981\u6c42\u6700\u5c0f\u8c03\u5ea6\u7684 Pod \u6570\u4e3a 3\u3002 \u90a3\u73b0\u5728\u8fd9\u4e2a Job \u7684\u6240\u6709\u7684 Pod \u90fd\u4f1a pending\uff0c\u76f4\u5230\u96c6\u7fa4\u80fd\u591f\u5bb9\u7eb3 3 \u4e2a Pod\uff0cPod \u624d\u4f1a\u88ab\u8c03\u5ea6\u3002 \u6709\u6548\u9632\u6b62\u8c03\u5ea6\u90e8\u5206 Pod\uff0c\u4e0d\u6ee1\u8db3\u8981\u6c42\u53c8\u5360\u7528\u4e86\u8d44\u6e90\uff0c\u4f7f\u5176\u4ed6 Job \u65e0\u6cd5\u8fd0\u884c\u7684\u60c5\u51b5\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano-gang-scheduler.html#_2","title":"\u6982\u5ff5\u8bf4\u660e","text":"

                                        Gang Scheduler \u662f Volcano \u7684\u6838\u5fc3\u7684\u8c03\u5ea6\u63d2\u4ef6\uff0c\u5b89\u88c5 Volcano \u540e\u9ed8\u8ba4\u5c31\u5f00\u542f\u4e86\u3002 \u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u53ea\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u7684\u540d\u79f0\u4e3a Volcano \u5373\u53ef\u3002

                                        Volcano \u662f\u4ee5 PodGroup \u4e3a\u5355\u4f4d\u8fdb\u884c\u8c03\u5ea6\u7684\uff0c\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5e76\u4e0d\u9700\u8981\u624b\u52a8\u521b\u5efa PodGroup \u8d44\u6e90\uff0c Volcano \u4f1a\u6839\u636e\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4fe1\u606f\u81ea\u52a8\u521b\u5efa\u3002\u4e0b\u9762\u662f\u4e00\u4e2a PodGroup \u7684\u793a\u4f8b\uff1a

                                        apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  name: test\n  namespace: default\nspec:\n  minMember: 1  # (1)!\n  minResources:  # (2)!\n    cpu: \"3\"\n    memory: \"2048Mi\"\n  priorityClassName: high-prority # (3)!\n  queue: default # (4)!\n
                                        1. \u8868\u793a\u8be5 PodGroup \u4e0b \u6700\u5c11 \u9700\u8981\u8fd0\u884c\u7684 Pod \u6216\u4efb\u52a1\u6570\u91cf\u3002 \u5982\u679c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u6ee1\u8db3 miniMember \u6570\u91cf\u4efb\u52a1\u7684\u8fd0\u884c\u9700\u6c42\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                                        2. \u8868\u793a\u8fd0\u884c\u8be5 PodGroup \u6240\u9700\u8981\u7684\u6700\u5c11\u8d44\u6e90\u3002\u5f53\u96c6\u7fa4\u53ef\u5206\u914d\u8d44\u6e90\u4e0d\u6ee1\u8db3 minResources \u65f6\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                                        3. \u8868\u793a\u8be5 PodGroup \u7684\u4f18\u5148\u7ea7\uff0c\u7528\u4e8e\u8c03\u5ea6\u5668\u4e3a\u8be5 queue \u4e2d\u6240\u6709 PodGroup \u8fdb\u884c\u8c03\u5ea6\u65f6\u8fdb\u884c\u6392\u5e8f\u3002 system-node-critical \u548c system-cluster-critical \u662f 2 \u4e2a\u9884\u7559\u7684\u503c\uff0c\u8868\u793a\u6700\u9ad8\u4f18\u5148\u7ea7\u3002\u4e0d\u7279\u522b\u6307\u5b9a\u65f6\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u4f18\u5148\u7ea7\u6216 zero \u4f18\u5148\u7ea7\u3002
                                        4. \u8868\u793a\u8be5 PodGroup \u6240\u5c5e\u7684 queue\u3002queue \u5fc5\u987b\u63d0\u524d\u5df2\u521b\u5efa\u4e14\u72b6\u6001\u4e3a open\u3002
                                        "},{"location":"admin/kpanda/gpu/volcano/volcano-gang-scheduler.html#_3","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                                        \u5728 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\u4e2d\uff0c\u6211\u4eec\u8981\u786e\u4fdd\u6240\u6709\u7684 Pod \u90fd\u80fd\u8c03\u5ea6\u6210\u529f\u624d\u80fd\u4fdd\u8bc1\u4efb\u52a1\u6b63\u5e38\u5b8c\u6210\u3002 \u8bbe\u7f6e minAvailable \u4e3a 4\uff0c\u8868\u793a\u8981\u6c42 1 \u4e2a mpimaster \u548c 3 \u4e2a mpiworker \u80fd\u8fd0\u884c\u3002

                                        apiVersion: batch.volcano.sh/v1alpha1\nkind: Job\nmetadata:\n  name: lm-mpi-job\n  labels:\n    \"volcano.sh/job-type\": \"MPI\"\nspec:\n  minAvailable: 4\n  schedulerName: volcano\n  plugins:\n    ssh: []\n    svc: []\n  policies:\n    - event: PodEvicted\n      action: RestartJob\n  tasks:\n    - replicas: 1\n      name: mpimaster\n      policies:\n        - event: TaskCompleted\n          action: CompleteJob\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  MPI_HOST=`cat /etc/volcano/mpiworker.host | tr \"\\n\" \",\"`;\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd;\n                  mpiexec --allow-run-as-root --host ${MPI_HOST} -np 3 mpi_hello_world;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpimaster\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"500m\"\n                limits:\n                  cpu: \"500m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n    - replicas: 3\n      name: mpiworker\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd -D;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpiworker\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"1000m\"\n                limits:\n                  cpu: \"1000m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n

                                        \u751f\u6210 PodGroup \u7684\u8d44\u6e90\uff1a

                                        apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  annotations:\n  creationTimestamp: \"2024-05-28T09:18:50Z\"\n  generation: 5\n  labels:\n    volcano.sh/job-type: MPI\n  name: lm-mpi-job-9c571015-37c7-4a1a-9604-eaa2248613f2\n  namespace: default\n  ownerReferences:\n  - apiVersion: batch.volcano.sh/v1alpha1\n    blockOwnerDeletion: true\n    controller: true\n    kind: Job\n    name: lm-mpi-job\n    uid: 9c571015-37c7-4a1a-9604-eaa2248613f2\n  resourceVersion: \"25173454\"\n  uid: 7b04632e-7cff-4884-8e9a-035b7649d33b\nspec:\n  minMember: 4\n  minResources:\n    count/pods: \"4\"\n    cpu: 3500m\n    limits.cpu: 3500m\n    pods: \"4\"\n    requests.cpu: 3500m\n  minTaskMember:\n    mpimaster: 1\n    mpiworker: 3\n  queue: default\nstatus:\n  conditions:\n  - lastTransitionTime: \"2024-05-28T09:19:01Z\"\n    message: '3/4 tasks in gang unschedulable: pod group is not ready, 1 Succeeded,\n      3 Releasing, 4 minAvailable'\n    reason: NotEnoughResources\n    status: \"True\"\n    transitionID: f875efa5-0358-4363-9300-06cebc0e7466\n    type: Unschedulable\n  - lastTransitionTime: \"2024-05-28T09:18:53Z\"\n    reason: tasks in gang are ready to be scheduled\n    status: \"True\"\n    transitionID: 5a7708c8-7d42-4c33-9d97-0581f7c06dab\n    type: Scheduled\n  phase: Pending\n  succeeded: 1\n

                                        \u4ece PodGroup \u53ef\u4ee5\u770b\u51fa\uff0c\u901a\u8fc7 ownerReferences \u5173\u8054\u5230\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u8bbe\u7f6e\u6700\u5c0f\u8fd0\u884c\u7684 Pod \u6570\u4e3a 4\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano_binpack.html","title":"\u4f7f\u7528 Volcano Binpack \u8c03\u5ea6\u7b56\u7565","text":"

                                        Binpack \u8c03\u5ea6\u7b97\u6cd5\u7684\u76ee\u6807\u662f\u5c3d\u91cf\u628a\u5df2\u88ab\u5360\u7528\u7684\u8282\u70b9\u586b\u6ee1\uff08\u5c3d\u91cf\u4e0d\u5f80\u7a7a\u767d\u8282\u70b9\u5206\u914d\uff09\u3002\u5177\u4f53\u5b9e\u73b0\u4e0a\uff0cBinpack \u8c03\u5ea6\u7b97\u6cd5\u4f1a\u7ed9\u6295\u9012\u7684\u8282\u70b9\u6253\u5206\uff0c \u5206\u6570\u8d8a\u9ad8\u8868\u793a\u8282\u70b9\u7684\u8d44\u6e90\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u901a\u8fc7\u5c3d\u53ef\u80fd\u586b\u6ee1\u8282\u70b9\uff0c\u5c06\u5e94\u7528\u8d1f\u8f7d\u9760\u62e2\u5728\u90e8\u5206\u8282\u70b9\uff0c\u8fd9\u79cd\u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u5c3d\u53ef\u80fd\u51cf\u5c0f\u8282\u70b9\u5185\u7684\u788e\u7247\uff0c \u5728\u7a7a\u95f2\u7684\u673a\u5668\u4e0a\u4e3a\u7533\u8bf7\u4e86\u66f4\u5927\u8d44\u6e90\u8bf7\u6c42\u7684 Pod \u9884\u7559\u8db3\u591f\u7684\u8d44\u6e90\u7a7a\u95f4\uff0c\u4f7f\u96c6\u7fa4\u4e0b\u7a7a\u95f2\u8d44\u6e90\u5f97\u5230\u6700\u5927\u5316\u7684\u5229\u7528\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano_binpack.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"

                                        \u9884\u5148\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u5b89\u88c5 Volcano \u7ec4\u4ef6\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano_binpack.html#binpack","title":"Binpack \u7b97\u6cd5\u539f\u7406","text":"

                                        Binpack \u5728\u5bf9\u4e00\u4e2a\u8282\u70b9\u6253\u5206\u65f6\uff0c\u4f1a\u6839\u636e Binpack \u63d2\u4ef6\u81ea\u8eab\u6743\u91cd\u548c\u5404\u8d44\u6e90\u8bbe\u7f6e\u7684\u6743\u91cd\u503c\u7efc\u5408\u6253\u5206\u3002 \u9996\u5148\uff0c\u5bf9 Pod \u8bf7\u6c42\u8d44\u6e90\u4e2d\u7684\u6bcf\u7c7b\u8d44\u6e90\u4f9d\u6b21\u6253\u5206\uff0c\u4ee5 CPU \u4e3a\u4f8b\uff0cCPU \u8d44\u6e90\u5728\u5f85\u8c03\u5ea6\u8282\u70b9\u7684\u5f97\u5206\u4fe1\u606f\u5982\u4e0b\uff1a

                                        CPU.weight * (request + used) / allocatable\n

                                        \u5373 CPU \u6743\u91cd\u503c\u8d8a\u9ad8\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u91cf\u8d8a\u6ee1\uff0c\u5f97\u5206\u8d8a\u9ad8\u3002Memory\u3001GPU \u7b49\u8d44\u6e90\u539f\u7406\u7c7b\u4f3c\u3002\u5176\u4e2d\uff1a

                                        • CPU.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684 CPU \u6743\u91cd
                                        • request \u4e3a\u5f53\u524d Pod \u8bf7\u6c42\u7684 CPU \u8d44\u6e90\u91cf
                                        • used \u4e3a\u5f53\u524d\u8282\u70b9\u5df2\u7ecf\u5206\u914d\u4f7f\u7528\u7684 CPU \u91cf
                                        • allocatable \u4e3a\u5f53\u524d\u8282\u70b9 CPU \u53ef\u7528\u603b\u91cf

                                        \u901a\u8fc7 Binpack \u7b56\u7565\u7684\u8282\u70b9\u603b\u5f97\u5206\u5982\u4e0b\uff1a

                                        binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                                        \u5373 Binpack \u63d2\u4ef6\u7684\u6743\u91cd\u503c\u8d8a\u5927\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u67d0\u7c7b\u8d44\u6e90\u7684\u6743\u91cd\u8d8a\u5927\uff0c\u8be5\u8d44\u6e90\u5728\u6253\u5206\u65f6\u7684\u5360\u6bd4\u8d8a\u5927\u3002\u5176\u4e2d\uff1a

                                        • binpack.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684\u88c5\u7bb1\u8c03\u5ea6\u7b56\u7565\u6743\u91cd
                                        • CPU.score \u4e3a CPU \u8d44\u6e90\u5f97\u5206\uff0cCPU.weight \u4e3a CPU \u6743\u91cd
                                        • Memory.score \u4e3a Memory \u8d44\u6e90\u5f97\u5206\uff0cMemory.weight \u4e3a Memory \u6743\u91cd
                                        • GPU.score \u4e3a GPU \u8d44\u6e90\u5f97\u5206\uff0cGPU.weight \u4e3a GPU \u6743\u91cd

                                        \u5982\u56fe\u6240\u793a\uff0c\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u8282\u70b9\uff0c\u5206\u522b\u4e3a Node1 \u548c Node 2\uff0c\u5728\u8c03\u5ea6 Pod \u65f6\uff0cBinpack \u7b56\u7565\u5bf9\u4e24\u4e2a\u8282\u70b9\u5206\u522b\u6253\u5206\u3002 \u5047\u8bbe\u96c6\u7fa4\u4e2d CPU.weight \u914d\u7f6e\u4e3a 1\uff0cMemory.weight \u914d\u7f6e\u4e3a 1\uff0cGPU.weight \u914d\u7f6e\u4e3a 2\uff0cbinpack.weight \u914d\u7f6e\u4e3a 5\u3002

                                        1. Binpack \u5bf9 Node 1 \u7684\u8d44\u6e90\u6253\u5206\uff0c\u5404\u8d44\u6e90\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                                          • CPU Score\uff1a

                                            CPU.weight - (request + used) / allocatable = 1 - (2 + 4) / 8 = 0.75

                                          • Memory Score\uff1a

                                            Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                                          • GPU Score\uff1a

                                            GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                                        2. \u8282\u70b9\u603b\u5f97\u5206\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                                          binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                                          \u5047\u8bbe binpack.weight \u914d\u7f6e\u4e3a 5\uff0cNode 1 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                                          5 - (0.75 + 0.75 + 2) / (1 + 1 + 2) - 100 = 437.5\n
                                        3. Binpack \u5bf9 Node 2 \u7684\u8d44\u6e90\u6253\u5206\uff1a

                                          • CPU Score\uff1a

                                            CPU.weight - (request + used) / allocatable = 1 - (2 + 6) / 8 = 1

                                          • Memory Score\uff1a

                                            Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                                          • GPU Score\uff1a

                                            GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                                        4. Node 2 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                                          5 - (1 + 0.75 + 2) / (1 + 1 + 2) - 100 = 468.75\n

                                        \u7efc\u4e0a\uff0cNode 2 \u5f97\u5206\u5927\u4e8e Node 1\uff0c\u6309\u7167 Binpack \u7b56\u7565\uff0cPod \u5c06\u4f1a\u4f18\u5148\u8c03\u5ea6\u81f3 Node 2\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano_binpack.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                                        Binpack \u8c03\u5ea6\u63d2\u4ef6\u5728\u5b89\u88c5 Volcano \u7684\u65f6\u5019\u9ed8\u8ba4\u5c31\u4f1a\u5f00\u542f\uff1b\u5982\u679c\u7528\u6237\u6ca1\u6709\u914d\u7f6e\u6743\u91cd\uff0c\u5219\u4f7f\u7528\u5982\u4e0b\u9ed8\u8ba4\u7684\u914d\u7f6e\u6743\u91cd\u3002

                                        - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 1\n        binpack.cpu: 1\n        binpack.memory: 1\n

                                        \u9ed8\u8ba4\u6743\u91cd\u4e0d\u80fd\u4f53\u73b0\u5806\u53e0\u7279\u6027\uff0c\u56e0\u6b64\u9700\u8981\u4fee\u6539\u4e3a binpack.weight: 10\u3002

                                        kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                                        - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 10\n        binpack.cpu: 1\n        binpack.memory: 1\n        binpack.resources: nvidia.com/gpu, example.com/foo\n        binpack.resources.nvidia.com/gpu: 2\n        binpack.resources.example.com/foo: 3\n

                                        \u6539\u597d\u4e4b\u540e\u91cd\u542f volcano-scheduler Pod \u4f7f\u5176\u751f\u6548\u3002

                                        \u521b\u5efa\u5982\u4e0b\u7684 Deployment\u3002

                                        apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: binpack-test\n  labels:\n    app: binpack-test\nspec:\n  replicas: 2\n  selector:\n    matchLabels:\n      app: test\n  template:\n    metadata:\n      labels:\n        app: test\n    spec:\n      schedulerName: volcano\n      containers:\n        - name: test\n          image: busybox\n          imagePullPolicy: IfNotPresent\n          command: [\"sh\", \"-c\", 'echo \"Hello, Kubernetes!\" && sleep 3600']\n          resources:\n            requests:\n              cpu: 500m\n            limits:\n              cpu: 500m\n

                                        \u5728\u4e24\u4e2a Node \u7684\u96c6\u7fa4\u4e0a\u53ef\u4ee5\u770b\u5230 Pod \u88ab\u8c03\u5ea6\u5230\u4e00\u4e2a Node \u4e0a\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano_priority.html","title":"\u4f18\u5148\u7ea7\u62a2\u5360\uff08Preemption scheduling\uff09\u7b56\u7565","text":"

                                        Volcano \u901a\u8fc7 Priority \u63d2\u4ef6\u5b9e\u73b0\u4e86\u4f18\u5148\u7ea7\u62a2\u5360\u7b56\u7565\uff0c\u5373 Preemption scheduling \u7b56\u7565\u3002\u5728\u96c6\u7fa4\u8d44\u6e90\u6709\u9650\u4e14\u591a\u4e2a Job \u7b49\u5f85\u8c03\u5ea6\u65f6\uff0c \u5982\u679c\u4f7f\u7528 Kubernetes \u9ed8\u8ba4\u8c03\u5ea6\u5668\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u5177\u6709\u66f4\u591a Pod \u6570\u91cf\u7684 Job \u5206\u5f97\u66f4\u591a\u8d44\u6e90\u3002\u800c Volcano-scheduler \u63d0\u4f9b\u4e86\u7b97\u6cd5\uff0c\u652f\u6301\u4e0d\u540c\u7684 Job \u4ee5 fair-share \u7684\u5f62\u5f0f\u5171\u4eab\u96c6\u7fa4\u8d44\u6e90\u3002

                                        Priority \u63d2\u4ef6\u5141\u8bb8\u7528\u6237\u81ea\u5b9a\u4e49 Job \u548c Task \u7684\u4f18\u5148\u7ea7\uff0c\u5e76\u6839\u636e\u9700\u6c42\u5728\u4e0d\u540c\u5c42\u6b21\u4e0a\u5b9a\u5236\u8c03\u5ea6\u7b56\u7565\u3002 \u4f8b\u5982\uff0c\u5bf9\u4e8e\u91d1\u878d\u573a\u666f\u3001\u7269\u8054\u7f51\u76d1\u63a7\u573a\u666f\u7b49\u9700\u8981\u8f83\u9ad8\u5b9e\u65f6\u6027\u7684\u5e94\u7528\uff0cPriority \u63d2\u4ef6\u80fd\u591f\u786e\u4fdd\u5176\u4f18\u5148\u5f97\u5230\u8c03\u5ea6\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano_priority.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                                        \u4f18\u5148\u7ea7\u7684\u51b3\u5b9a\u57fa\u4e8e\u914d\u7f6e\u7684 PriorityClass \u4e2d\u7684 Value \u503c\uff0c\u503c\u8d8a\u5927\u4f18\u5148\u7ea7\u8d8a\u9ad8\u3002\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4fee\u6539\u3002\u53ef\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u6216\u4fee\u6539\u3002

                                        kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                                        "},{"location":"admin/kpanda/gpu/volcano/volcano_priority.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                                        \u5047\u8bbe\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u7a7a\u95f2\u8282\u70b9\uff0c\u5e76\u6709\u4e09\u4e2a\u4f18\u5148\u7ea7\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff1ahigh-priority\u3001med-priority \u548c low-priority\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u5e76\u5360\u6ee1\u96c6\u7fa4\u8d44\u6e90\u540e\uff0c\u518d\u63d0\u4ea4 med-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u3002 \u7531\u4e8e\u96c6\u7fa4\u8d44\u6e90\u5168\u90e8\u88ab\u66f4\u9ad8\u4f18\u5148\u7ea7\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5360\u7528\uff0cmed-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u5904\u4e8e pending \u72b6\u6001\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u7ed3\u675f\u540e\uff0c\u6839\u636e\u4f18\u5148\u7ea7\u8c03\u5ea6\u539f\u5219\uff0cmed-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u4f18\u5148\u88ab\u8c03\u5ea6\u3002

                                        1. \u901a\u8fc7 priority.yaml \u521b\u5efa 3 \u4e2a\u4f18\u5148\u7ea7\u5b9a\u4e49\uff0c\u5206\u522b\u4e3a\uff1ahigh-priority\uff0cmed-priority\uff0clow-priority\u3002

                                          \u67e5\u770b priority.yaml

                                          cat <<EOF | kubectl apply -f - \napiVersion: scheduling.k8s.io/v1 \nkind: PriorityClass \nitems: \n  - metadata: \n      name: high-priority \n    value: 100 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: med-priority \n    value: 50 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: low-priority \n    value: 10 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \nEOF\n
                                          2. \u67e5\u770b\u4f18\u5148\u7ea7\u5b9a\u4e49\u4fe1\u606f\u3002

                                          kubectl get PriorityClass\n
                                          NAME                      VALUE        GLOBAL-DEFAULT   AGE  \nhigh-priority             100          false            97s  \nlow-priority              10           false            97s  \nmed-priority              50           false            97s  \nsystem-cluster-critical   2000000000   false            6d6h  \nsystem-node-critical      2000001000   false            6d6h\n

                                        2. \u521b\u5efa\u9ad8\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d high-priority-job\uff0c\u5360\u7528\u96c6\u7fa4\u7684\u5168\u90e8\u8d44\u6e90\u3002

                                          \u67e5\u770b high-priority-job
                                          cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-high  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: high-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                                          \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod\u8fd0\u884c \u4fe1\u606f\uff1a

                                          kubectl get pods\n
                                          NAME                   READY   STATUS    RESTARTS   AGE  \npriority-high-test-0   1/1     Running   0          3s  \npriority-high-test-1   1/1     Running   0          3s  \npriority-high-test-2   1/1     Running   0          3s  \npriority-high-test-3   1/1     Running   0          3s\n

                                          \u6b64\u65f6\uff0c\u96c6\u7fa4\u8282\u70b9\u8d44\u6e90\u5df2\u5168\u90e8\u88ab\u5360\u7528\u3002

                                        3. \u521b\u5efa\u4e2d\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d med-priority-job \u548c\u4f4e\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d low-priority-job\u3002

                                          med-priority-job
                                          cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-medium  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: med-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n
                                          low-priority-job
                                          cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-low  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: low-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                                          \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod \u8fd0\u884c\u4fe1\u606f\uff0c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\uff0cPod \u5904\u4e8e Pending \u72b6\u6001\uff1a

                                          kubectl get pods\n
                                          NAME                     READY   STATUS    RESTARTS   AGE  \npriority-high-test-0     1/1     Running   0          3m29s  \npriority-high-test-1     1/1     Running   0          3m29s  \npriority-high-test-2     1/1     Running   0          3m29s  \npriority-high-test-3     1/1     Running   0          3m29s  \npriority-low-test-0      0/1     Pending   0          2m26s  \npriority-low-test-1      0/1     Pending   0          2m26s  \npriority-low-test-2      0/1     Pending   0          2m26s  \npriority-low-test-3      0/1     Pending   0          2m26s  \npriority-medium-test-0   0/1     Pending   0          2m36s  \npriority-medium-test-1   0/1     Pending   0          2m36s  \npriority-medium-test-2   0/1     Pending   0          2m36s  \npriority-medium-test-3   0/1     Pending   0          2m36s\n

                                        4. \u5220\u9664 high_priority_job \u5de5\u4f5c\u8d1f\u8f7d\uff0c\u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0cmed_priority_job \u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002 \u6267\u884c kubectl delete -f high_priority_job.yaml \u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0c\u67e5\u770b Pod \u7684\u8c03\u5ea6\u4fe1\u606f\uff1a

                                          kubectl get pods\n
                                          NAME                     READY   STATUS    RESTARTS   AGE  \npriority-low-test-0      0/1     Pending   0          5m18s  \npriority-low-test-1      0/1     Pending   0          5m18s  \npriority-low-test-2      0/1     Pending   0          5m18s  \npriority-low-test-3      0/1     Pending   0          5m18s  \npriority-medium-test-0   1/1     Running   0          5m28s  \npriority-medium-test-1   1/1     Running   0          5m28s  \npriority-medium-test-2   1/1     Running   0          5m28s  \npriority-medium-test-3   1/1     Running   0          5m28s\n

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano_user_guide.html","title":"\u5b89\u88c5 Volcano","text":"

                                        \u968f\u7740 Kubernetes\uff08K8s\uff09\u6210\u4e3a\u4e91\u539f\u751f\u5e94\u7528\u7f16\u6392\u4e0e\u7ba1\u7406\u7684\u9996\u9009\u5e73\u53f0\uff0c\u4f17\u591a\u5e94\u7528\u6b63\u79ef\u6781\u5411 K8s \u8fc1\u79fb\u3002 \u5728\u4eba\u5de5\u667a\u80fd\u4e0e\u673a\u5668\u5b66\u4e60\u9886\u57df\uff0c\u7531\u4e8e\u8fd9\u4e9b\u4efb\u52a1\u901a\u5e38\u6d89\u53ca\u5927\u91cf\u8ba1\u7b97\uff0c\u5f00\u53d1\u8005\u503e\u5411\u4e8e\u5728 Kubernetes \u4e0a\u6784\u5efa AI \u5e73\u53f0\uff0c \u4ee5\u5145\u5206\u5229\u7528\u5176\u5728\u8d44\u6e90\u7ba1\u7406\u3001\u5e94\u7528\u7f16\u6392\u53ca\u8fd0\u7ef4\u76d1\u63a7\u65b9\u9762\u7684\u4f18\u52bf\u3002

                                        \u7136\u800c\uff0cKubernetes \u7684\u9ed8\u8ba4\u8c03\u5ea6\u5668\u4e3b\u8981\u9488\u5bf9\u957f\u671f\u8fd0\u884c\u7684\u670d\u52a1\u8bbe\u8ba1\uff0c\u5bf9\u4e8e AI\u3001\u5927\u6570\u636e\u7b49\u9700\u8981\u6279\u91cf\u548c\u5f39\u6027\u8c03\u5ea6\u7684\u4efb\u52a1\u5b58\u5728\u8bf8\u591a\u4e0d\u8db3\u3002 \u4f8b\u5982\uff0c\u5728\u8d44\u6e90\u7ade\u4e89\u6fc0\u70c8\u7684\u60c5\u51b5\u4e0b\uff0c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u53ef\u80fd\u5bfc\u81f4\u8d44\u6e90\u5206\u914d\u4e0d\u5747\uff0c\u8fdb\u800c\u5f71\u54cd\u4efb\u52a1\u7684\u6b63\u5e38\u6267\u884c\u3002

                                        \u4ee5 TensorFlow \u4f5c\u4e1a\u4e3a\u4f8b\uff0c\u5176\u5305\u542b PS\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\u548c Worker \u4e24\u79cd\u89d2\u8272\uff0c\u4e24\u8005\u9700\u534f\u540c\u5de5\u4f5c\u624d\u80fd\u5b8c\u6210\u4efb\u52a1\u3002 \u82e5\u4ec5\u90e8\u7f72\u5355\u4e00\u89d2\u8272\uff0c\u4f5c\u4e1a\u5c06\u65e0\u6cd5\u8fd0\u884c\u3002\u800c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u5bf9 Pod \u7684\u8c03\u5ea6\u662f\u9010\u4e2a\u8fdb\u884c\u7684\uff0c\u65e0\u6cd5\u611f\u77e5 TFJob \u4e2d PS \u548c Worker \u7684\u4f9d\u8d56\u5173\u7cfb\u3002 \u5728\u9ad8\u8d1f\u8f7d\u60c5\u51b5\u4e0b\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u591a\u4e2a\u4f5c\u4e1a\u5404\u81ea\u5206\u914d\u5230\u90e8\u5206\u8d44\u6e90\uff0c\u4f46\u5747\u65e0\u6cd5\u5b8c\u6210\uff0c\u4ece\u800c\u9020\u6210\u8d44\u6e90\u6d6a\u8d39\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano_user_guide.html#volcano_1","title":"Volcano \u7684\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf","text":"

                                        Volcano \u63d0\u4f9b\u4e86\u591a\u79cd\u8c03\u5ea6\u7b56\u7565\uff0c\u4ee5\u5e94\u5bf9\u4e0a\u8ff0\u6311\u6218\u3002\u5176\u4e2d\uff0cGang-scheduling \u7b56\u7565\u80fd\u786e\u4fdd\u5206\u5e03\u5f0f\u673a\u5668\u5b66\u4e60\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u591a\u4e2a\u4efb\u52a1\uff08Pod\uff09\u540c\u65f6\u542f\u52a8\uff0c \u907f\u514d\u6b7b\u9501\uff1bPreemption scheduling \u7b56\u7565\u5219\u5141\u8bb8\u9ad8\u4f18\u5148\u7ea7\u4f5c\u4e1a\u5728\u8d44\u6e90\u4e0d\u8db3\u65f6\u62a2\u5360\u4f4e\u4f18\u5148\u7ea7\u4f5c\u4e1a\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u5173\u952e\u4efb\u52a1\u4f18\u5148\u5b8c\u6210\u3002

                                        \u6b64\u5916\uff0cVolcano \u4e0e Spark\u3001TensorFlow\u3001PyTorch \u7b49\u4e3b\u6d41\u8ba1\u7b97\u6846\u67b6\u65e0\u7f1d\u5bf9\u63a5\uff0c\u5e76\u652f\u6301 CPU \u548c GPU \u7b49\u5f02\u6784\u8bbe\u5907\u7684\u6df7\u5408\u8c03\u5ea6\uff0c\u4e3a AI \u8ba1\u7b97\u4efb\u52a1\u63d0\u4f9b\u4e86\u5168\u9762\u7684\u4f18\u5316\u652f\u6301\u3002

                                        \u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u548c\u4f7f\u7528 Volcano\uff0c\u4ee5\u4fbf\u60a8\u80fd\u591f\u5145\u5206\u5229\u7528\u5176\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf\uff0c\u4f18\u5316 AI \u8ba1\u7b97\u4efb\u52a1\u3002

                                        "},{"location":"admin/kpanda/gpu/volcano/volcano_user_guide.html#volcano_2","title":"\u5b89\u88c5 Volcano","text":"
                                        1. \u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 -> Helm \u6a21\u677f \u4e2d\u627e\u5230 Volcano \u5e76\u5b89\u88c5\u3002

                                        2. \u68c0\u67e5\u5e76\u786e\u8ba4 Volcano \u662f\u5426\u5b89\u88c5\u5b8c\u6210\uff0c\u5373 volcano-admission\u3001volcano-controllers\u3001volcano-scheduler \u7ec4\u4ef6\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

                                        \u901a\u5e38 Volcano \u4f1a\u548c AI Lab \u5e73\u53f0\u914d\u5408\u4f7f\u7528\uff0c\u4ee5\u5b9e\u73b0\u6570\u636e\u96c6\u3001Notebook\u3001\u4efb\u52a1\u8bad\u7ec3\u7684\u6574\u4e2a\u5f00\u53d1\u3001\u8bad\u7ec3\u6d41\u7a0b\u7684\u6709\u6548\u95ed\u73af\u3002

                                        "},{"location":"admin/kpanda/helm/index.html","title":"Helm \u6a21\u677f","text":"

                                        Helm \u662f Kubernetes \u7684\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u65b9\u4fbf\u7528\u6237\u5feb\u901f\u53d1\u73b0\u3001\u5171\u4eab\u548c\u4f7f\u7528 Kubernetes \u6784\u5efa\u7684\u5e94\u7528\u3002\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u4e86\u4e0a\u767e\u4e2a Helm \u6a21\u677f\uff0c\u6db5\u76d6\u5b58\u50a8\u3001\u7f51\u7edc\u3001\u76d1\u63a7\u3001\u6570\u636e\u5e93\u7b49\u4e3b\u8981\u573a\u666f\u3002\u501f\u52a9\u8fd9\u4e9b\u6a21\u677f\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u5feb\u901f\u90e8\u7f72\u3001\u4fbf\u6377\u7ba1\u7406 Helm \u5e94\u7528\u3002\u6b64\u5916\uff0c\u652f\u6301\u901a\u8fc7\u6dfb\u52a0 Helm \u4ed3\u5e93 \u6dfb\u52a0\u66f4\u591a\u7684\u4e2a\u6027\u5316\u6a21\u677f\uff0c\u6ee1\u8db3\u591a\u6837\u9700\u6c42\u3002

                                        \u5173\u952e\u6982\u5ff5\uff1a

                                        \u4f7f\u7528 Helm \u65f6\u9700\u8981\u4e86\u89e3\u4ee5\u4e0b\u51e0\u4e2a\u5173\u952e\u6982\u5ff5\uff1a

                                        • Chart\uff1a\u4e00\u4e2a Helm \u5b89\u88c5\u5305\uff0c\u5176\u4e2d\u5305\u542b\u4e86\u8fd0\u884c\u4e00\u4e2a\u5e94\u7528\u6240\u9700\u8981\u7684\u955c\u50cf\u3001\u4f9d\u8d56\u548c\u8d44\u6e90\u5b9a\u4e49\u7b49\uff0c\u8fd8\u53ef\u80fd\u5305\u542b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u670d\u52a1\u5b9a\u4e49\uff0c\u7c7b\u4f3c Homebrew \u4e2d\u7684 formula\u3001APT \u7684 dpkg \u6216\u8005 Yum \u7684 rpm \u6587\u4ef6\u3002Chart \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u6a21\u677f \u3002

                                        • Release\uff1a\u5728 Kubernetes \u96c6\u7fa4\u4e0a\u8fd0\u884c\u7684\u4e00\u4e2a Chart \u5b9e\u4f8b\u3002\u4e00\u4e2a Chart \u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u591a\u6b21\u5b89\u88c5\uff0c\u6bcf\u6b21\u5b89\u88c5\u90fd\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Release\u3002Release \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u5e94\u7528 \u3002

                                        • Repository\uff1a\u7528\u4e8e\u53d1\u5e03\u548c\u5b58\u50a8 Chart \u7684\u5b58\u50a8\u5e93\u3002Repository \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u4ed3\u5e93\u3002

                                        \u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u524d\u5f80 Helm \u5b98\u7f51\u67e5\u770b\u3002

                                        \u76f8\u5173\u64cd\u4f5c\uff1a

                                        • \u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u4ecb\u7ecd\u4e0a\u4f20 Helm \u6a21\u677f\u64cd\u4f5c\u3002
                                        • \u7ba1\u7406 Helm \u5e94\u7528\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5378\u8f7d Helm \u5e94\u7528\uff0c\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002
                                        • \u7ba1\u7406 Helm \u4ed3\u5e93\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664 Helm \u4ed3\u5e93\u7b49\u3002
                                        "},{"location":"admin/kpanda/helm/Import-addon.html","title":"\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon","text":"

                                        \u672c\u6587\u4ece\u79bb\u7ebf\u548c\u5728\u7ebf\u4e24\u79cd\u73af\u5883\u8bf4\u660e\u5982\u4f55\u5c06 Helm \u5e94\u7528\u5bfc\u5165\u5230\u7cfb\u7edf\u5185\u7f6e\u7684 Addon \u4e2d\u3002

                                        "},{"location":"admin/kpanda/helm/Import-addon.html#_1","title":"\u79bb\u7ebf\u73af\u5883","text":"

                                        \u79bb\u7ebf\u73af\u5883\u6307\u7684\u662f\u65e0\u6cd5\u8fde\u901a\u4e92\u8054\u7f51\u6216\u5c01\u95ed\u7684\u79c1\u6709\u7f51\u7edc\u73af\u5883\u3002

                                        "},{"location":"admin/kpanda/helm/Import-addon.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5b58\u5728\u53ef\u4ee5\u8fd0\u884c\u7684\u00a0charts-syncer\u3002 \u82e5\u6ca1\u6709\uff0c\u53ef\u70b9\u51fb\u4e0b\u8f7d\u3002
                                        • Helm Chart \u5df2\u7ecf\u5b8c\u6210\u9002\u914d charts-syncer\u3002 \u5373\u5728 Helm Chart \u5185\u6dfb\u52a0\u4e86 .relok8s-images.yaml \u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u9700\u8981\u5305\u542b Chart \u4e2d\u6240\u6709\u4f7f\u7528\u5230\u955c\u50cf\uff0c \u4e5f\u53ef\u4ee5\u5305\u542b Chart \u4e2d\u672a\u76f4\u63a5\u4f7f\u7528\u7684\u955c\u50cf\uff0c\u7c7b\u4f3c Operator \u4e2d\u4f7f\u7528\u7684\u955c\u50cf\u3002

                                        Note

                                        • \u5982\u4f55\u7f16\u5199 Chart \u53ef\u53c2\u8003\u00a0image-hints-file\u3002 \u8981\u6c42\u955c\u50cf\u7684\u00a0registry \u548c repository \u5fc5\u987b\u5206\u5f00\uff0c\u56e0\u4e3a load \u955c\u50cf\u65f6\u9700\u66ff\u6362\u6216\u4fee\u6539 registry/repository\u3002
                                        • \u5b89\u88c5\u5668\u6240\u5728\u7684\u706b\u79cd\u96c6\u7fa4\u5df2\u5b89\u88c5 charts-syncer\u3002 \u82e5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u5b89\u88c5\u5668\u6240\u5728\u706b\u79cd\u96c6\u7fa4\uff0c\u53ef\u8df3\u8fc7\u4e0b\u8f7d\u76f4\u63a5\u9002\u914d\uff1b \u82e5\u672a\u5b89\u88c5\u00a0charts-syncer\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c \u53ef\u7acb\u5373\u4e0b\u8f7d\u3002
                                        "},{"location":"admin/kpanda/helm/Import-addon.html#helm-chart","title":"\u540c\u6b65 Helm Chart","text":"
                                        1. \u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u641c\u7d22 addon\uff0c\u83b7\u53d6\u5185\u7f6e\u4ed3\u5e93\u5730\u5740\u548c\u7528\u6237\u540d/\u5bc6\u7801\uff08\u7cfb\u7edf\u5185\u7f6e\u4ed3\u5e93\u9ed8\u8ba4\u7528\u6237\u540d/\u5bc6\u7801\u4e3a rootuser/rootpass123\uff09\u3002
                                        1. \u540c\u6b65 Helm Chart \u5230\u5bb9\u5668\u7ba1\u7406\u5185\u7f6e\u4ed3\u5e93 Addon

                                          • \u7f16\u5199\u5982\u4e0b\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u914d\u7f6e\u4fee\u6539\uff0c\u5e76\u4fdd\u5b58\u4e3a sync-dao-2048.yaml\u3002

                                            source:  # helm charts \u6e90\u4fe1\u606f\n  repo:\n    kind: HARBOR # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 CHARTMUSEUM\n    url: https://release-ci.daocloud.io/chartrepo/community #  \u9700\u66f4\u6539\u4e3a chart repo url\n    #auth: # \u7528\u6237\u540d/\u5bc6\u7801,\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      #username: \"admin\"\n      #password: \"Harbor12345\"\ncharts:  # \u9700\u8981\u540c\u6b65\n  - name: dao-2048 # helm charts \u4fe1\u606f\uff0c\u82e5\u4e0d\u586b\u5199\u5219\u540c\u6b65\u6e90 helm repo \u5185\u6240\u6709 charts\n    versions:\n      - 1.4.1\ntarget:  # helm charts \u76ee\u6807\u4fe1\u606f\n  containerRegistry: 10.5.14.40 # \u955c\u50cf\u4ed3\u5e93 url\n  repo:\n    kind: CHARTMUSEUM # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 HARBOR\n    url: http://10.5.14.40:8081 #  \u9700\u66f4\u6539\u4e3a\u6b63\u786e chart repo url\uff0c\u53ef\u4ee5\u901a\u8fc7 helm repo add $HELM-REPO \u9a8c\u8bc1\u5730\u5740\u662f\u5426\u6b63\u786e\n    auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      username: \"rootuser\"\n      password: \"rootpass123\"\n  containers:\n    # kind: HARBOR # \u82e5\u955c\u50cf\u4ed3\u5e93\u4e3a HARBOR \u4e14\u5e0c\u671b charts-syncer \u81ea\u52a8\u521b\u5efa\u955c\u50cf Repository \u5219\u586b\u5199\u8be5\u5b57\u6bb5  \n    # auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199 \n      # username: \"admin\"\n      # password: \"Harbor12345\"\n\n# leverage .relok8s-images.yaml file inside the Charts to move the container images too\nrelocateContainerImages: true\n
                                          • \u6267\u884c charts-syncer \u547d\u4ee4\u540c\u6b65 Chart \u53ca\u5176\u5305\u542b\u7684\u955c\u50cf

                                            charts-syncer sync --config sync-dao-2048.yaml --insecure --auto-create-repository\n

                                            \u9884\u671f\u8f93\u51fa\u4e3a\uff1a

                                            I1222 15:01:47.119777    8743 sync.go:45] Using config file: \"examples/sync-dao-2048.yaml\"\nW1222 15:01:47.234238    8743 syncer.go:263] Ignoring skipDependencies option as dependency sync is not supported if container image relocation is true or syncing from/to intermediate directory\nI1222 15:01:47.234685    8743 sync.go:58] There is 1 chart out of sync!\nI1222 15:01:47.234706    8743 sync.go:66] Syncing \"dao-2048_1.4.1\" chart...\n.relok8s-images.yaml hints file found\nComputing relocation...\n\nRelocating dao-2048@1.4.1...\nPushing 10.5.14.40/daocloud/dao-2048:v1.4.1...\nDone\nDone moving /var/folders/vm/08vw0t3j68z9z_4lcqyhg8nm0000gn/T/charts-syncer869598676/dao-2048-1.4.1.tgz\n
                                        2. \u5f85\u4e0a\u4e00\u6b65\u6267\u884c\u5b8c\u6210\u540e\uff0c\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u627e\u5230\u5bf9\u5e94 Addon\uff0c \u5728\u64cd\u4f5c\u680f\u70b9\u51fb\u540c\u6b65\u4ed3\u5e93\uff0c\u56de\u5230 Helm \u6a21\u677f\u5c31\u53ef\u4ee5\u770b\u5230\u4e0a\u4f20\u7684 Helm \u5e94\u7528

                                        3. \u540e\u7eed\u53ef\u6b63\u5e38\u8fdb\u884c\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d

                                        "},{"location":"admin/kpanda/helm/Import-addon.html#_3","title":"\u5728\u7ebf\u73af\u5883","text":"

                                        \u5728\u7ebf\u73af\u5883\u7684 Helm Repo \u5730\u5740\u4e3a release.daocloud.io\u3002 \u5982\u679c\u7528\u6237\u65e0\u6743\u9650\u6dfb\u52a0 Helm Repo\uff0c\u5219\u65e0\u6cd5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon\u3002 \u60a8\u53ef\u4ee5\u6dfb\u52a0\u81ea\u5df1\u642d\u5efa\u7684 Helm \u4ed3\u5e93\uff0c\u7136\u540e\u6309\u7167\u79bb\u7ebf\u73af\u5883\u4e2d\u540c\u6b65 Helm Chart \u7684\u6b65\u9aa4\u5c06\u60a8\u7684 Helm \u4ed3\u5e93\u96c6\u6210\u5230\u5e73\u53f0\u4f7f\u7528\u3002

                                        "},{"location":"admin/kpanda/helm/helm-app.html","title":"\u7ba1\u7406 Helm \u5e94\u7528","text":"

                                        \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9 Helm \u8fdb\u884c\u754c\u9762\u5316\u7ba1\u7406\uff0c\u5305\u62ec\u4f7f\u7528 Helm \u6a21\u677f\u521b\u5efa Helm \u5b9e\u4f8b\u3001\u81ea\u5b9a\u4e49 Helm \u5b9e\u4f8b\u53c2\u6570\u3001\u5bf9 Helm \u5b9e\u4f8b\u8fdb\u884c\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u7b49\u529f\u80fd\u3002

                                        \u672c\u8282\u5c06\u4ee5 cert-manager \u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u521b\u5efa\u5e76\u7ba1\u7406 Helm \u5e94\u7528\u3002

                                        "},{"location":"admin/kpanda/helm/helm-app.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        "},{"location":"admin/kpanda/helm/helm-app.html#helm_1","title":"\u5b89\u88c5 Helm \u5e94\u7528","text":"

                                        \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Helm \u5e94\u7528\u3002

                                        1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u8fdb\u5165 Helm \u6a21\u677f\u9875\u9762\u3002

                                          \u5728 Helm \u6a21\u677f\u9875\u9762\u9009\u62e9\u540d\u4e3a addon \u7684 Helm \u4ed3\u5e93\uff0c\u6b64\u65f6\u754c\u9762\u4e0a\u5c06\u5448\u73b0 addon \u4ed3\u5e93\u4e0b\u6240\u6709\u7684 Helm chart \u6a21\u677f\u3002 \u70b9\u51fb\u540d\u79f0\u4e3a cert-manager \u7684 Chart\u3002

                                        3. \u5728\u5b89\u88c5\u9875\u9762\uff0c\u80fd\u591f\u770b\u5230 Chart \u7684\u76f8\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u5728\u754c\u9762\u53f3\u4e0a\u89d2\u9009\u62e9\u9700\u8981\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u6b64\u5904\u9009\u62e9 v1.9.1 \u7248\u672c\u8fdb\u884c\u5b89\u88c5\u3002

                                        4. \u914d\u7f6e \u540d\u79f0 \u3001 \u547d\u540d\u7a7a\u95f4 \u53ca \u7248\u672c\u4fe1\u606f \uff0c\u4e5f\u53ef\u4ee5\u5728\u4e0b\u65b9\u7684 \u53c2\u6570\u914d\u7f6e \u533a\u57df\u901a\u8fc7\u4fee\u6539 YAML \u6765\u81ea\u5b9a\u4e49\u53c2\u6570\u3002\u70b9\u51fb \u786e\u5b9a \u3002

                                        5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u65b0\u521b\u5efa\u7684 Helm \u5e94\u7528\u72b6\u6001\u4e3a \u5b89\u88c5\u4e2d \uff0c\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002

                                        "},{"location":"admin/kpanda/helm/helm-app.html#helm_2","title":"\u66f4\u65b0 Helm \u5e94\u7528","text":"

                                        \u5f53\u6211\u4eec\u901a\u8fc7\u754c\u9762\u5b8c\u6210\u4e00\u4e2a Helm \u5e94\u7528\u7684\u5b89\u88c5\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u5bf9 Helm \u5e94\u7528\u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u3002\u6ce8\u610f\uff1a\u53ea\u6709\u901a\u8fc7\u754c\u9762\u5b89\u88c5\u7684 Helm \u5e94\u7528\u624d\u652f\u6301\u4f7f\u7528\u754c\u9762\u8fdb\u884c\u66f4\u65b0\u64cd\u4f5c\u3002

                                        \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u66f4\u65b0 Helm \u5e94\u7528\u3002

                                        1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                                          \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u9700\u8981\u66f4\u65b0\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u66f4\u65b0 \u64cd\u4f5c\u3002

                                        3. \u70b9\u51fb \u66f4\u65b0 \u6309\u94ae\u540e\uff0c\u7cfb\u7edf\u5c06\u8df3\u8f6c\u81f3\u66f4\u65b0\u754c\u9762\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u8981\u5bf9 Helm \u5e94\u7528\u8fdb\u884c\u66f4\u65b0\uff0c\u6b64\u5904\u6211\u4eec\u4ee5\u66f4\u65b0 dao-2048 \u8fd9\u4e2a\u5e94\u7528\u7684 http \u7aef\u53e3\u4e3a\u4f8b\u3002

                                        4. \u4fee\u6539\u5b8c\u76f8\u5e94\u53c2\u6570\u540e\u3002\u60a8\u53ef\u4ee5\u5728\u53c2\u6570\u914d\u7f6e\u4e0b\u70b9\u51fb \u53d8\u5316 \u6309\u94ae\uff0c\u5bf9\u6bd4\u4fee\u6539\u524d\u540e\u7684\u6587\u4ef6\uff0c\u786e\u5b9a\u65e0\u8bef\u540e\uff0c\u70b9\u51fb\u5e95\u90e8 \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 Helm \u5e94\u7528\u7684\u66f4\u65b0\u3002

                                        5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u53f3\u4e0a\u89d2\u5f39\u7a97\u63d0\u793a \u66f4\u65b0\u6210\u529f \u3002

                                        "},{"location":"admin/kpanda/helm/helm-app.html#helm_3","title":"\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55","text":"

                                        Helm \u5e94\u7528\u7684\u6bcf\u6b21\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664\u90fd\u6709\u8be6\u7ec6\u7684\u64cd\u4f5c\u8bb0\u5f55\u548c\u65e5\u5fd7\u53ef\u4f9b\u67e5\u770b\u3002

                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u6700\u8fd1\u64cd\u4f5c \uff0c\u7136\u540e\u5728\u9875\u9762\u4e0a\u65b9\u9009\u62e9 Helm \u64cd\u4f5c \u6807\u7b7e\u9875\u3002\u6bcf\u4e00\u6761\u8bb0\u5f55\u5bf9\u5e94\u4e00\u6b21\u5b89\u88c5/\u66f4\u65b0/\u5220\u9664\u64cd\u4f5c\u3002

                                        2. \u5982\u9700\u67e5\u770b\u6bcf\u4e00\u6b21\u64cd\u4f5c\u7684\u8be6\u7ec6\u65e5\u5fd7\uff1a\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u65e5\u5fd7 \u3002

                                        3. \u6b64\u65f6\u9875\u9762\u4e0b\u65b9\u5c06\u4ee5\u63a7\u5236\u53f0\u7684\u5f62\u5f0f\u5c55\u793a\u8be6\u7ec6\u7684\u8fd0\u884c\u65e5\u5fd7\u3002

                                        "},{"location":"admin/kpanda/helm/helm-app.html#helm_4","title":"\u5220\u9664 Helm \u5e94\u7528","text":"

                                        \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5220\u9664 Helm \u5e94\u7528\u3002

                                        1. \u627e\u5230\u5f85\u5220\u9664\u7684 Helm \u5e94\u7528\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                                          \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u60a8\u9700\u8981\u5220\u9664\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                                        3. \u5728\u5f39\u7a97\u5185\u8f93\u5165 Helm \u5e94\u7528\u7684\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u6309\u94ae\u3002

                                        "},{"location":"admin/kpanda/helm/helm-repo.html","title":"\u7ba1\u7406 Helm \u4ed3\u5e93","text":"

                                        Helm \u4ed3\u5e93\u662f\u7528\u6765\u5b58\u50a8\u548c\u53d1\u5e03 Chart \u7684\u5b58\u50a8\u5e93\u3002Helm \u5e94\u7528\u6a21\u5757\u652f\u6301\u901a\u8fc7 HTTP(s) \u534f\u8bae\u6765\u8bbf\u95ee\u5b58\u50a8\u5e93\u4e2d\u7684 Chart \u5305\u3002\u7cfb\u7edf\u9ed8\u8ba4\u5185\u7f6e\u4e86\u4e0b\u8868\u6240\u793a\u7684 4 \u4e2a Helm \u4ed3\u5e93\u4ee5\u6ee1\u8db3\u4f01\u4e1a\u751f\u4ea7\u8fc7\u7a0b\u4e2d\u7684\u5e38\u89c1\u9700\u6c42\u3002

                                        \u4ed3\u5e93 \u63cf\u8ff0 \u793a\u4f8b partner \u7531\u751f\u6001\u5408\u4f5c\u4f19\u4f34\u6240\u63d0\u4f9b\u7684\u5404\u7c7b\u4f18\u8d28\u7279\u8272 Chart tidb system \u7cfb\u7edf\u6838\u5fc3\u529f\u80fd\u7ec4\u4ef6\u53ca\u90e8\u5206\u9ad8\u7ea7\u529f\u80fd\u6240\u5fc5\u9700\u4f9d\u8d56\u7684 Chart\uff0c\u5982\u5fc5\u9700\u5b89\u88c5 insight-agent \u624d\u80fd\u591f\u83b7\u53d6\u96c6\u7fa4\u7684\u76d1\u63a7\u4fe1\u606f Insight addon \u4e1a\u52a1\u573a\u666f\u4e2d\u5e38\u89c1\u7684 Chart cert-manager community Kubernetes \u793e\u533a\u8f83\u4e3a\u70ed\u95e8\u7684\u5f00\u6e90\u7ec4\u4ef6 Chart Istio

                                        \u9664\u4e0a\u8ff0\u9884\u7f6e\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u81ea\u884c\u6dfb\u52a0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6dfb\u52a0\u3001\u66f4\u65b0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                                        "},{"location":"admin/kpanda/helm/helm-repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                                        • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u5982\u679c\u4f7f\u7528\u79c1\u6709\u4ed3\u5e93\uff0c\u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u62e5\u6709\u5bf9\u8be5\u79c1\u6709\u4ed3\u5e93\u7684\u8bfb\u5199\u6743\u9650\u3002

                                        "},{"location":"admin/kpanda/helm/helm-repo.html#helm_1","title":"\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93","text":"

                                        \u4e0b\u9762\u4ee5 Kubevela \u516c\u5f00\u7684\u955c\u50cf\u4ed3\u5e93\u4e3a\u4f8b\uff0c\u5f15\u5165 Helm \u4ed3\u5e93\u5e76\u7ba1\u7406\u3002

                                        1. \u627e\u5230\u9700\u8981\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u9875\u9762\u3002

                                        3. \u5728 Helm \u4ed3\u5e93\u9875\u9762\u70b9\u51fb \u521b\u5efa\u4ed3\u5e93 \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u4ed3\u5e93\u9875\u9762\uff0c\u6309\u7167\u4e0b\u8868\u914d\u7f6e\u76f8\u5173\u53c2\u6570\u3002

                                          • \u4ed3\u5e93\u540d\u79f0\uff1a\u8bbe\u7f6e\u4ed3\u5e93\u540d\u79f0\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26 - \uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u5e76\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubevela
                                          • \u4ed3\u5e93\u5730\u5740\uff1a\u7528\u6765\u6307\u5411\u76ee\u6807 Helm \u4ed3\u5e93\u7684 http\uff08s\uff09\u5730\u5740\u3002\u4f8b\u5982 https://charts.kubevela.net/core
                                          • \u8df3\u8fc7 TLS \u9a8c\u8bc1: \u5982\u679c\u6dfb\u52a0\u7684 Helm \u4ed3\u5e93\u4e3a https \u5730\u5740\u4e14\u9700\u8df3\u8fc7 TLS \u9a8c\u8bc1\uff0c\u53ef\u4ee5\u52fe\u9009\u6b64\u9009\u9879\uff0c\u9ed8\u8ba4\u4e3a\u4e0d\u52fe\u9009
                                          • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u8fde\u63a5\u4ed3\u5e93\u5730\u5740\u540e\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c\u7684\u65b9\u5f0f\u3002\u5bf9\u4e8e\u516c\u5f00\u4ed3\u5e93\uff0c\u53ef\u4ee5\u9009\u62e9 None \uff0c\u79c1\u6709\u7684\u4ed3\u5e93\u9700\u8981\u8f93\u5165\u7528\u6237\u540d/\u5bc6\u7801\u4ee5\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c
                                          • \u6807\u7b7e\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6807\u7b7e\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                                          • \u6ce8\u89e3\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6ce8\u89e3\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                                          • \u63cf\u8ff0\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u63cf\u8ff0\u3002\u4f8b\u5982\uff1a\u8fd9\u662f\u4e00\u4e2a Kubevela \u516c\u5f00 Helm \u4ed3\u5e93

                                        4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 Helm \u4ed3\u5e93\u7684\u521b\u5efa\u3002\u9875\u9762\u4f1a\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u4ed3\u5e93\u5217\u8868\u3002

                                        "},{"location":"admin/kpanda/helm/helm-repo.html#helm_2","title":"\u66f4\u65b0 Helm \u4ed3\u5e93","text":"

                                        \u5f53 Helm \u4ed3\u5e93\u7684\u5730\u5740\u4fe1\u606f\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u66f4\u65b0 Helm \u4ed3\u5e93\u7684\u5730\u5740\u3001\u8ba4\u8bc1\u65b9\u5f0f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u53ca\u63cf\u8ff0\u4fe1\u606f\u3002

                                        1. \u627e\u5230\u5f85\u66f4\u65b0\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                                        3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u66f4\u65b0 \u3002

                                        4. \u5728 \u7f16\u8f91 Helm \u4ed3\u5e93 \u9875\u9762\u8fdb\u884c\u66f4\u65b0\uff0c\u5b8c\u6210\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                        5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u66f4\u65b0\u6210\u529f\u3002

                                        "},{"location":"admin/kpanda/helm/helm-repo.html#helm_3","title":"\u5220\u9664 Helm \u4ed3\u5e93","text":"

                                        \u9664\u4e86\u5f15\u5165\u3001\u66f4\u65b0\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u5c06\u4e0d\u9700\u8981\u7684\u4ed3\u5e93\u5220\u9664\uff0c\u5305\u62ec\u7cfb\u7edf\u9884\u7f6e\u4ed3\u5e93\u548c\u7b2c\u4e09\u65b9\u4ed3\u5e93\u3002

                                        1. \u627e\u5230\u5f85\u5220\u9664\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                                        3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u5220\u9664 \u3002

                                        4. \u8f93\u5165\u4ed3\u5e93\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u70b9\u51fb \u5220\u9664 \u3002

                                        5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\u3002

                                        "},{"location":"admin/kpanda/helm/multi-archi-helm.html","title":"Helm \u5e94\u7528\u591a\u67b6\u6784\u548c\u5347\u7ea7\u5bfc\u5165\u6b65\u9aa4","text":"

                                        \u901a\u5e38\u5728\u591a\u67b6\u6784\u96c6\u7fa4\u4e2d\uff0c\u4e5f\u4f1a\u4f7f\u7528\u591a\u67b6\u6784\u7684 Helm \u5305\u6765\u90e8\u7f72\u5e94\u7528\uff0c\u4ee5\u89e3\u51b3\u67b6\u6784\u5dee\u5f02\u5e26\u6765\u7684\u90e8\u7f72\u95ee\u9898\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5c06\u5355\u67b6\u6784 Helm \u5e94\u7528\u878d\u5408\u4e3a\u591a\u67b6\u6784\uff0c\u4ee5\u53ca\u591a\u67b6\u6784\u4e0e\u591a\u67b6\u6784 Helm \u5e94\u7528\u7684\u76f8\u4e92\u878d\u5408\u3002

                                        "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_1","title":"\u5bfc\u5165","text":""},{"location":"admin/kpanda/helm/multi-archi-helm.html#_2","title":"\u5355\u67b6\u6784\u5bfc\u5165","text":"

                                        \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \u3002 \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                                        addonPackage:\n  path: \"/home/addon-offline-full-package-v0.9.0-amd64.tar.gz\"\n

                                        \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                                        ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                                        "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_3","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                                        \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                                        \u4ee5 addon-offline-full-package-v0.9.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                                        ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.9.0-arm64.tar.gz\n
                                        "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_4","title":"\u5347\u7ea7","text":""},{"location":"admin/kpanda/helm/multi-archi-helm.html#_5","title":"\u5355\u67b6\u6784\u5347\u7ea7","text":"

                                        \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                                        \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                                        addonPackage:\n  path: \"/home/addon-offline-full-package-v0.11.0-amd64.tar.gz\"\n

                                        \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                                        ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                                        "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_6","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                                        \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                                        \u4ee5 addon-offline-full-package-v0.11.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                                        ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.11.0-arm64.tar.gz\n
                                        "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_7","title":"\u6ce8\u610f\u4e8b\u9879","text":""},{"location":"admin/kpanda/helm/multi-archi-helm.html#_8","title":"\u78c1\u76d8\u7a7a\u95f4","text":"

                                        \u79bb\u7ebf\u5305\u6bd4\u8f83\u5927\uff0c\u4e14\u8fc7\u7a0b\u4e2d\u9700\u8981\u89e3\u538b\u548c load \u955c\u50cf\uff0c\u9700\u8981\u9884\u7559\u5145\u8db3\u7684\u7a7a\u95f4\uff0c\u5426\u5219\u53ef\u80fd\u5728\u8fc7\u7a0b\u4e2d\u62a5 \u201cno space left\u201d \u800c\u4e2d\u65ad\u3002

                                        "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_9","title":"\u5931\u8d25\u540e\u91cd\u8bd5","text":"

                                        \u5982\u679c\u5728\u591a\u67b6\u6784\u878d\u5408\u6b65\u9aa4\u6267\u884c\u5931\u8d25\uff0c\u91cd\u8bd5\u524d\u9700\u8981\u6e05\u7406\u4e00\u4e0b\u6b8b\u7559\uff1a

                                        rm -rf addon-offline-target-package\n
                                        "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_10","title":"\u955c\u50cf\u7a7a\u95f4","text":"

                                        \u5982\u679c\u878d\u5408\u7684\u79bb\u7ebf\u5305\u4e2d\u5305\u542b\u4e86\u4e0e\u5bfc\u5165\u7684\u79bb\u7ebf\u5305\u4e0d\u4e00\u81f4\u7684\u955c\u50cf\u7a7a\u95f4\uff0c\u53ef\u80fd\u4f1a\u5728\u878d\u5408\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u955c\u50cf\u7a7a\u95f4\u4e0d\u5b58\u5728\u800c\u62a5\u9519\uff1a

                                        \u89e3\u51b3\u529e\u6cd5\uff1a\u53ea\u9700\u8981\u5728\u878d\u5408\u4e4b\u524d\u521b\u5efa\u597d\u8be5\u955c\u50cf\u7a7a\u95f4\u5373\u53ef\uff0c\u4f8b\u5982\u4e0a\u56fe\u62a5\u9519\u53ef\u901a\u8fc7\u521b\u5efa\u955c\u50cf\u7a7a\u95f4 localhost \u63d0\u524d\u907f\u514d\u3002

                                        "},{"location":"admin/kpanda/helm/multi-archi-helm.html#_11","title":"\u67b6\u6784\u51b2\u7a81","text":"

                                        \u5347\u7ea7\u81f3\u4f4e\u4e8e 0.12.0 \u7248\u672c\u7684 addon \u65f6\uff0c\u7531\u4e8e\u76ee\u6807\u79bb\u7ebf\u5305\u91cc\u7684 charts-syncer \u6ca1\u6709\u68c0\u67e5\u955c\u50cf\u5b58\u5728\u5219\u4e0d\u63a8\u9001\u529f\u80fd\uff0c\u56e0\u6b64\u4f1a\u5728\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\u4f1a\u91cd\u65b0\u628a\u591a\u67b6\u6784\u51b2\u6210\u5355\u67b6\u6784\u3002 \u4f8b\u5982\uff1a\u5728 v0.10 \u7248\u672c\u5c06 addon \u5b9e\u73b0\u4e3a\u591a\u67b6\u6784\uff0c\u6b64\u65f6\u82e5\u5347\u7ea7\u4e3a v0.11 \u7248\u672c\uff0c\u5219\u591a\u67b6\u6784 addon \u4f1a\u88ab\u8986\u76d6\u4e3a\u5355\u67b6\u6784\uff1b\u82e5\u5347\u7ea7\u4e3a 0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u5219\u4ecd\u80fd\u591f\u4fdd\u6301\u591a\u67b6\u6784\u3002

                                        "},{"location":"admin/kpanda/helm/upload-helm.html","title":"\u4e0a\u4f20 Helm \u6a21\u677f","text":"

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u64cd\u4f5c\u6b65\u9aa4\u89c1\u4e0b\u6587\u3002

                                        1. \u5f15\u5165 Helm \u4ed3\u5e93\uff0c\u64cd\u4f5c\u6b65\u9aa4\u53c2\u8003\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                                        2. \u4e0a\u4f20 Helm Chart \u5230 Helm \u4ed3\u5e93\u3002

                                          \u5ba2\u6237\u7aef\u4e0a\u4f20\u9875\u9762\u4e0a\u4f20

                                          Note

                                          \u6b64\u65b9\u5f0f\u9002\u7528\u4e8e Harbor\u3001ChartMuseum\u3001JFrog \u7c7b\u578b\u4ed3\u5e93\u3002

                                          1. \u767b\u5f55\u4e00\u4e2a\u53ef\u4ee5\u8bbf\u95ee\u5230 Helm \u4ed3\u5e93\u7684\u8282\u70b9\uff0c\u5c06 Helm \u4e8c\u8fdb\u5236\u6587\u4ef6\u4e0a\u4f20\u5230\u8282\u70b9\uff0c\u5e76\u5b89\u88c5 cm-push \u63d2\u4ef6\uff08\u9700\u8981\u8fde\u901a\u5916\u7f51\u5e76\u63d0\u524d\u5b89\u88c5 Git\uff09\u3002

                                            \u5b89\u88c5\u63d2\u4ef6\u6d41\u7a0b\u53c2\u8003\u5b89\u88c5 cm-push \u63d2\u4ef6\u3002

                                          2. \u63a8\u9001 Helm Chart \u5230 Helm \u4ed3\u5e93\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1b

                                            helm cm-push ${charts-dir} ${HELM_REPO_URL} --username ${username} --password ${password}\n

                                            \u5b57\u6bb5\u8bf4\u660e\uff1a

                                            • charts-dir\uff1aHelm Chart \u7684\u76ee\u5f55\uff0c\u6216\u8005\u662f\u6253\u5305\u597d\u7684 Chart\uff08\u5373 .tgz \u6587\u4ef6\uff09\u3002
                                            • HELM_REPO_URL\uff1aHelm \u4ed3\u5e93\u7684 URL\u3002
                                            • username/password\uff1a\u6709\u63a8\u9001\u6743\u9650\u7684 Helm \u4ed3\u5e93\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
                                            • \u5982\u679c\u91c7\u7528 https \u8bbf\u95ee\u4e14\u9700\u8981\u8df3\u8fc7\u8bc1\u4e66\u9a8c\u8bc1\uff0c\u53ef\u6dfb\u52a0\u53c2\u6570 --insecure

                                          Note

                                          \u6b64\u65b9\u5f0f\u4ec5\u9002\u7528\u4e8e Harbor \u7c7b\u578b\u4ed3\u5e93\u3002

                                          1. \u767b\u5f55\u7f51\u9875 Harbor \u4ed3\u5e93\uff0c\u8bf7\u786e\u4fdd\u767b\u5f55\u7528\u6237\u6709\u63a8\u9001\u6743\u9650\uff1b

                                          2. \u8fdb\u5165\u5230\u5bf9\u5e94\u9879\u76ee\uff0c\u9009\u62e9 Helm Charts \u9875\u7b7e\uff0c\u70b9\u51fb\u9875\u9762 \u4e0a\u4f20 \u6309\u94ae\uff0c\u5b8c\u6210 Helm Chart \u4e0a\u4f20\u3002

                                        3. \u540c\u6b65\u8fdc\u7aef\u4ed3\u5e93\u6570\u636e

                                          \u624b\u52a8\u540c\u6b65\u81ea\u52a8\u540c\u6b65

                                          \u9ed8\u8ba4\u96c6\u7fa4\u672a\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0 \uff0c\u9700\u8981\u6267\u884c\u624b\u52a8\u540c\u6b65\u64cd\u4f5c\uff0c\u5927\u81f4\u6b65\u9aa4\u4e3a\uff1a

                                          \u8fdb\u5165 Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u70b9\u51fb\u4ed3\u5e93\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u6309\u94ae\uff0c\u9009\u62e9 \u540c\u6b65\u4ed3\u5e93 \uff0c\u5b8c\u6210\u4ed3\u5e93\u6570\u636e\u540c\u6b65\u3002

                                          \u5982\u9700\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u540c\u6b65\u529f\u80fd\uff0c\u53ef\u8fdb\u5165 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \uff0c\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0\u5f00\u5173\u3002

                                        "},{"location":"admin/kpanda/inspect/index.html","title":"\u96c6\u7fa4\u5de1\u68c0","text":"

                                        \u96c6\u7fa4\u5de1\u68c0\u53ef\u4ee5\u901a\u8fc7\u81ea\u52a8\u6216\u624b\u52a8\u65b9\u5f0f\uff0c\u5b9a\u671f\u6216\u968f\u65f6\u68c0\u67e5\u96c6\u7fa4\u7684\u6574\u4f53\u5065\u5eb7\u72b6\u6001\uff0c\u8ba9\u7ba1\u7406\u5458\u83b7\u5f97\u4fdd\u969c\u96c6\u7fa4\u5b89\u5168\u7684\u4e3b\u52a8\u6743\u3002 \u57fa\u4e8e\u5408\u7406\u7684\u5de1\u68c0\u8ba1\u5212\uff0c\u8fd9\u79cd\u4e3b\u52a8\u81ea\u53d1\u7684\u96c6\u7fa4\u68c0\u67e5\u53ef\u4ee5\u8ba9\u7ba1\u7406\u5458\u968f\u65f6\u638c\u63e1\u96c6\u7fa4\u72b6\u6001\uff0c\u6446\u8131\u4e4b\u524d\u51fa\u73b0\u6545\u969c\u65f6\u53ea\u80fd\u88ab\u52a8\u6392\u67e5\u95ee\u9898\u7684\u56f0\u5883\uff0c\u505a\u5230\u4e8b\u5148\u76d1\u63a7\u3001\u63d0\u524d\u9632\u8303\u3002

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u7684\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u4e09\u4e2a\u7ef4\u5ea6\u8fdb\u884c\u81ea\u5b9a\u4e49\u5de1\u68c0\u9879\uff0c\u5de1\u68c0\u7ed3\u675f\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u53ef\u89c6\u5316\u7684\u5de1\u68c0\u62a5\u544a\u3002

                                        • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                                        • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                                        • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                                        \u5982\u9700\u4e86\u89e3\u6216\u6267\u884c\u5b89\u5168\u65b9\u9762\u7684\u5de1\u68c0\uff0c\u53ef\u53c2\u8003\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684\u5b89\u5168\u626b\u63cf\u7c7b\u578b\u3002

                                        "},{"location":"admin/kpanda/inspect/config.html","title":"\u521b\u5efa\u5de1\u68c0\u914d\u7f6e","text":"

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u8fdb\u884c\u5de1\u68c0\u3002

                                        • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                                        • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                                        • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                                        \u4e0b\u9762\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de1\u68c0\u914d\u7f6e\u3002

                                        "},{"location":"admin/kpanda/inspect/config.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                                        • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                                        "},{"location":"admin/kpanda/inspect/config.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \u3002

                                        2. \u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u3002

                                        3. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199\u5de1\u68c0\u914d\u7f6e\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                                          • \u96c6\u7fa4\uff1a\u4e0b\u62c9\u9009\u62e9\u8981\u5bf9\u54ea\u4e9b\u96c6\u7fa4\u8fdb\u884c\u5de1\u68c0\u3002\u5982\u679c\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\uff0c\u5219\u81ea\u52a8\u751f\u6210\u591a\u4e2a\u5de1\u68c0\u914d\u7f6e\uff08\u4ec5\u5de1\u68c0\u7684\u96c6\u7fa4\u4e0d\u4e00\u81f4\uff0c\u5176\u4ed6\u914d\u7f6e\u90fd\u5b8c\u5168\u4e00\u81f4\uff09
                                          • \u5b9a\u65f6\u5de1\u68c0\uff1a\u542f\u7528\u540e\u53ef\u6839\u636e\u4e8b\u5148\u8bbe\u7f6e\u7684\u5de1\u68c0\u9891\u7387\u5b9a\u671f\u81ea\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0
                                          • \u5de1\u68c0\u9891\u7387\uff1a\u8bbe\u7f6e\u81ea\u52a8\u5de1\u68c0\u7684\u5468\u671f\uff0c\u4f8b\u5982\u6bcf\u5468\u4e8c\u4e0a\u5348\u5341\u70b9\u3002\u652f\u6301\u81ea\u5b9a\u4e49 CronExpression\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5
                                          • \u5de1\u68c0\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\uff1a\u7d2f\u8ba1\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5de1\u68c0\u8bb0\u5f55\uff0c\u5305\u62ec\u6240\u6709\u96c6\u7fa4\u7684\u5de1\u68c0\u8bb0\u5f55
                                          • \u53c2\u6570\u914d\u7f6e\uff1a\u53c2\u6570\u914d\u7f6e\u5206\u4e3a\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u4e09\u90e8\u5206\uff0c\u53ef\u4ee5\u6839\u636e\u573a\u666f\u9700\u6c42\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u5de1\u68c0\u9879\u3002

                                        \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4f1a\u81ea\u52a8\u663e\u793a\u5728\u5de1\u68c0\u914d\u7f6e\u5217\u8868\u4e2d\u3002\u5728\u914d\u7f6e\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u7acb\u5373\u6267\u884c\u5de1\u68c0\u3001\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3001\u5220\u9664\u5de1\u68c0\u914d\u7f6e\u548c\u5de1\u68c0\u8bb0\u5f55\u3002

                                        • \u70b9\u51fb \u5de1\u68c0 \u53ef\u4ee5\u6839\u636e\u8be5\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u5de1\u68c0\u3002
                                        • \u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u53ef\u4ee5\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3002
                                        • \u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u5de1\u68c0\u914d\u7f6e\u548c\u5386\u53f2\u7684\u5de1\u68c0\u8bb0\u5f55

                                        Note

                                        • \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002
                                        • \u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002
                                        "},{"location":"admin/kpanda/inspect/inspect.html","title":"\u6267\u884c\u96c6\u7fa4\u5de1\u68c0","text":"

                                        \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002\u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002

                                        \u6b64\u9875\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0\u3002

                                        "},{"location":"admin/kpanda/inspect/inspect.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                                        • \u5df2\u521b\u5efa\u5de1\u68c0\u914d\u7f6e
                                        • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                                        "},{"location":"admin/kpanda/inspect/inspect.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u6267\u884c\u5de1\u68c0\u65f6\uff0c\u652f\u6301\u52fe\u9009\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u6279\u91cf\u5de1\u68c0\uff0c\u6216\u8005\u4ec5\u5bf9\u67d0\u4e00\u4e2a\u96c6\u7fa4\u8fdb\u884c\u5355\u72ec\u5de1\u68c0\u3002

                                        \u6279\u91cf\u5de1\u68c0\u5355\u72ec\u5de1\u68c0
                                        1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u4e00\u7ea7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0 \u3002

                                        2. \u52fe\u9009\u9700\u8981\u5de1\u68c0\u7684\u96c6\u7fa4\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                                          • \u82e5\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u540c\u65f6\u5de1\u68c0\uff0c\u7cfb\u7edf\u5c06\u6839\u636e\u4e0d\u540c\u96c6\u7fa4\u7684\u5de1\u68c0\u914d\u7f6e\u8fdb\u884c\u5de1\u68c0\u3002
                                          • \u5982\u672a\u8bbe\u7f6e\u96c6\u7fa4\u5de1\u68c0\u914d\u7f6e\uff0c\u5c06\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u914d\u7f6e\u3002

                                        1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\u3002
                                        2. \u5728\u5bf9\u5e94\u5de1\u68c0\u914d\u7f6e\u7684\u53f3\u4fa7\u70b9\u51fb \u2507 \u66f4\u591a\u64cd\u4f5c\u6309\u94ae\uff0c\u7136\u540e\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\u9009\u62e9 \u5de1\u68c0 \u5373\u53ef\u3002

                                        "},{"location":"admin/kpanda/inspect/report.html","title":"\u67e5\u770b\u5de1\u68c0\u62a5\u544a","text":"

                                        \u5de1\u68c0\u6267\u884c\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u5de1\u68c0\u8bb0\u5f55\u548c\u8be6\u7ec6\u7684\u5de1\u68c0\u62a5\u544a\u3002

                                        "},{"location":"admin/kpanda/inspect/report.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5df2\u7ecf\u521b\u5efa\u4e86\u5de1\u68c0\u914d\u7f6e
                                        • \u5df2\u7ecf\u6267\u884c\u8fc7\u81f3\u5c11\u4e00\u6b21\u5de1\u68c0
                                        "},{"location":"admin/kpanda/inspect/report.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\uff0c\u70b9\u51fb\u76ee\u6807\u5de1\u68c0\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                        2. \u70b9\u51fb\u60f3\u8981\u67e5\u770b\u7684\u5de1\u68c0\u8bb0\u5f55\u540d\u79f0\u3002

                                          • \u6bcf\u6267\u884c\u4e00\u6b21\u5de1\u68c0\uff0c\u5c31\u4f1a\u751f\u6210\u4e00\u6761\u5de1\u68c0\u8bb0\u5f55\u3002
                                          • \u5f53\u5de1\u68c0\u8bb0\u5f55\u8d85\u8fc7\u5de1\u68c0\u914d\u7f6e\u4e2d\u8bbe\u7f6e\u7684\u6700\u5927\u4fdd\u7559\u6761\u6570\u65f6\uff0c\u4ece\u6267\u884c\u65f6\u95f4\u6700\u65e9\u7684\u8bb0\u5f55\u5f00\u59cb\u5220\u9664\u3002

                                        3. \u67e5\u770b\u5de1\u68c0\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u6839\u636e\u5de1\u68c0\u914d\u7f6e\u53ef\u80fd\u5305\u62ec\u96c6\u7fa4\u8d44\u6e90\u6982\u89c8\u3001\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\u7b49\u3002

                                          \u5728\u9875\u9762\u53f3\u4e0a\u89d2\u53ef\u4ee5\u4e0b\u8f7d\u5de1\u68c0\u62a5\u544a\u6216\u5220\u9664\u8be5\u9879\u5de1\u68c0\u62a5\u544a\u3002

                                        "},{"location":"admin/kpanda/namespaces/createns.html","title":"\u547d\u540d\u7a7a\u95f4","text":"

                                        \u547d\u540d\u7a7a\u95f4\u662f Kubernetes \u4e2d\u7528\u6765\u8fdb\u884c\u8d44\u6e90\u9694\u79bb\u7684\u4e00\u79cd\u62bd\u8c61\u3002\u4e00\u4e2a\u96c6\u7fa4\u4e0b\u53ef\u4ee5\u5305\u542b\u591a\u4e2a\u4e0d\u91cd\u540d\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u76f8\u4e92\u9694\u79bb\u3002\u6709\u5173\u547d\u540d\u7a7a\u95f4\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u3002

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u547d\u540d\u7a7a\u95f4\u7684\u76f8\u5173\u64cd\u4f5c\u3002

                                        "},{"location":"admin/kpanda/namespaces/createns.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

                                        \u652f\u6301\u901a\u8fc7\u8868\u5355\u8f7b\u677e\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u7f16\u5199\u6216\u5bfc\u5165 YAML \u6587\u4ef6\u5feb\u901f\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u3002

                                        Note

                                        • \u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u4e4b\u524d\uff0c\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\u3002
                                        • \u96c6\u7fa4\u521d\u59cb\u5316\u540e\u901a\u5e38\u4f1a\u81ea\u52a8\u751f\u6210\u9ed8\u8ba4\u7684\u547d\u540d\u7a7a\u95f4 default \u3002\u4f46\u5bf9\u4e8e\u751f\u4ea7\u96c6\u7fa4\u800c\u8a00\uff0c\u4e3a\u4fbf\u4e8e\u7ba1\u7406\uff0c\u5efa\u8bae\u521b\u5efa\u5176\u4ed6\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u800c\u975e\u76f4\u63a5\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002
                                        "},{"location":"admin/kpanda/namespaces/createns.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                                        3. \u586b\u5199\u547d\u540d\u7a7a\u95f4\u7684\u540d\u79f0\uff0c\u914d\u7f6e\u5de5\u4f5c\u7a7a\u95f4\u548c\u6807\u7b7e\uff08\u53ef\u9009\u8bbe\u7f6e\uff09\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                          Info

                                          • \u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\u4e4b\u540e\uff0c\u8be5\u547d\u540d\u7a7a\u95f4\u7684\u8d44\u6e90\u5c31\u4f1a\u5171\u4eab\u7ed9\u6240\u7ed1\u5b9a\u7684\u5de5\u4f5c\u7a7a\u95f4\u3002\u6709\u5173\u5de5\u4f5c\u7a7a\u95f4\u7684\u8be6\u7ec6\u8bf4\u660e\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u3002

                                          • \u547d\u540d\u7a7a\u95f4\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4ecd\u7136\u53ef\u4ee5\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3002

                                        4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002\u5728\u547d\u540d\u7a7a\u95f4\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4ece\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9\u67e5\u770b YAML\u3001\u4fee\u6539\u6807\u7b7e\u3001\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3001\u914d\u989d\u7ba1\u7406\u3001\u5220\u9664\u7b49\u66f4\u591a\u64cd\u4f5c\u3002

                                        "},{"location":"admin/kpanda/namespaces/createns.html#yaml","title":"YAML \u521b\u5efa","text":"
                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                        3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u5185\u5bb9\uff0c\u6216\u8005\u4ece\u672c\u5730\u76f4\u63a5\u5bfc\u5165\u5df2\u6709\u7684 YAML \u6587\u4ef6\u3002

                                          \u8f93\u5165 YAML \u5185\u5bb9\u540e\uff0c\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u8be5 YAML \u6587\u4ef6\u4fdd\u5b58\u5230\u672c\u5730\u3002

                                        4. \u6700\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                                        "},{"location":"admin/kpanda/namespaces/exclusive.html","title":"\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                                        \u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u6c61\u70b9\u548c\u6c61\u70b9\u5bb9\u5fcd\u7684\u65b9\u5f0f\u5b9e\u73b0\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u5bf9\u4e00\u4e2a\u6216\u591a\u4e2a\u8282\u70b9 CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u7684\u72ec\u4eab\u3002\u4e3a\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u72ec\u4eab\u8282\u70b9\u540e\uff0c\u5176\u5b83\u975e\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5e94\u7528\u548c\u670d\u52a1\u5747\u4e0d\u80fd\u8fd0\u884c\u5728\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\u3002\u4f7f\u7528\u72ec\u4eab\u8282\u70b9\u53ef\u4ee5\u8ba9\u91cd\u8981\u5e94\u7528\u72ec\u4eab\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u548c\u5176\u4ed6\u5e94\u7528\u5b9e\u73b0\u7269\u7406\u9694\u79bb\u3002

                                        Note

                                        \u5728\u8282\u70b9\u88ab\u8bbe\u7f6e\u4e3a\u72ec\u4eab\u8282\u70b9\u524d\u5df2\u7ecf\u8fd0\u884c\u5728\u6b64\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u548c\u670d\u52a1\u5c06\u4e0d\u4f1a\u53d7\u5f71\u54cd\uff0c\u4f9d\u7136\u4f1a\u6b63\u5e38\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\uff0c\u4ec5\u5f53\u8fd9\u4e9b Pod \u88ab\u5220\u9664\u6216\u91cd\u5efa\u65f6\uff0c\u624d\u4f1a\u8c03\u5ea6\u5230\u5176\u5b83\u975e\u72ec\u4eab\u8282\u70b9\u4e0a\u3002

                                        "},{"location":"admin/kpanda/namespaces/exclusive.html#_2","title":"\u51c6\u5907\u5de5\u4f5c","text":"

                                        \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u662f\u5426\u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002

                                        \u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u529f\u80fd\u9700\u8981\u7528\u6237\u542f\u7528 kube-apiserver \u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\uff08Admission Controllers\uff09\uff0c\u5173\u4e8e\u51c6\u5165\u63a7\u5236\u5668\u66f4\u591a\u8bf4\u660e\u8bf7\u53c2\u9605 kubernetes Admission Controllers Reference\u3002

                                        \u60a8\u53ef\u4ee5\u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u68c0\u67e5 kube-apiserver.yaml \u6587\u4ef6\u5185\u662f\u5426\u542f\u7528\u4e86\u8fd9\u4e24\u4e2a\u7279\u6027\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u5feb\u901f\u68c0\u67e5\uff1a

                                        ```bash\n[root@g-master1 ~]# cat /etc/kubernetes/manifests/kube-apiserver.yaml | grep  enable-admission-plugins\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction\n```\n
                                        "},{"location":"admin/kpanda/namespaces/exclusive.html#_3","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                                        \u7531\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u8fd0\u884c\u7740 kpanda\u3001ghippo\u3001insight \u7b49\u5e73\u53f0\u57fa\u7840\u7ec4\u4ef6\uff0c\u5728 Global \u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u5c06\u53ef\u80fd\u5bfc\u81f4\u5f53\u7cfb\u7edf\u7ec4\u4ef6\u91cd\u542f\u540e\uff0c\u7cfb\u7edf\u7ec4\u4ef6\u65e0\u6cd5\u8c03\u5ea6\u5230\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\uff0c\u5f71\u54cd\u7cfb\u7edf\u7684\u6574\u4f53\u9ad8\u53ef\u7528\u80fd\u529b\u3002\u56e0\u6b64\uff0c\u901a\u5e38\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u4e0d\u63a8\u8350\u7528\u6237\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u7279\u6027\u3002

                                        \u5982\u679c\u60a8\u786e\u5b9e\u9700\u8981\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                                        1. \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                                          Note

                                          \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u914d\u7f6e\u7cfb\u7edf\u7ec4\u4ef6\u5bb9\u5fcd\u3002

                                          \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                                          [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                                          \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                                          # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                                        2. \u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3

                                          \u5b8c\u6210\u51c6\u5165\u63a7\u5236\u5668\u7684\u5f00\u542f\u540e\uff0c\u60a8\u9700\u8981\u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff0c\u4ee5\u4fdd\u8bc1\u5e73\u53f0\u7ec4\u4ef6\u7684\u9ad8\u53ef\u7528\u3002

                                          \u76ee\u524d\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u7cfb\u7edf\u7ec4\u4ef6\u547d\u540d\u7a7a\u95f4\u5982\u4e0b\u8868\uff1a

                                          \u547d\u540d\u7a7a\u95f4 \u6240\u5305\u542b\u7684\u7cfb\u7edf\u7ec4\u4ef6 kpanda-system kpanda hwameiStor-system hwameiStor istio-system istio metallb-system metallb cert-manager-system cert-manager contour-system contour kubean-system kubean ghippo-system ghippo kcoral-system kcoral kcollie-system kcollie insight-system insight\u3001insight-agent: ipavo-system ipavo kairship-system kairship karmada-system karmada amamba-system amamba\u3001jenkins skoala-system skoala mspider-system mspider mcamel-system mcamel-rabbitmq\u3001mcamel-elasticsearch\u3001mcamel-mysql\u3001mcamel-redis\u3001mcamel-kafka\u3001mcamel-minio\u3001mcamel-postgresql spidernet-system spidernet kangaroo-system kangaroo gmagpie-system gmagpie dowl-system dowl

                                          \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u4e2d\u6240\u6709\u547d\u540d\u7a7a\u95f4\u662f\u5426\u5b58\u5728\u4e0a\u8ff0\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u4e3a\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1a scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]' \u3002

                                          kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n
                                          \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                                        3. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                                          \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                                          1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                                          2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                                          3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                          4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                                            \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                                        "},{"location":"admin/kpanda/namespaces/exclusive.html#_4","title":"\u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                                        \u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                                        1. \u4e3a\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                                          Note

                                          \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                                          \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                                          [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                                          \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                                          # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                                        2. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                                          \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                                          1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                                          2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                                          3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                          4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                                            \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                                        3. \u4e3a\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff08\u53ef\u9009\uff09

                                          \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1ascheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\u3002

                                          kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n

                                          \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                                        "},{"location":"admin/kpanda/namespaces/podsecurity.html","title":"\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"

                                        \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u4e3a\u6307\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u4e0d\u540c\u7684\u7b49\u7ea7\u548c\u6a21\u5f0f\uff0c\u5b9e\u73b0\u5728\u5b89\u5168\u7684\u5404\u4e2a\u65b9\u9762\u63a7\u5236 Pod \u7684\u884c\u4e3a\uff0c\u53ea\u6709\u6ee1\u8db3\u4e00\u5b9a\u7684\u6761\u4ef6\u7684 Pod \u624d\u4f1a\u88ab\u7cfb\u7edf\u63a5\u53d7\u3002\u5b83\u8bbe\u7f6e\u4e09\u4e2a\u7b49\u7ea7\u548c\u4e09\u79cd\u6a21\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u66f4\u52a0\u5408\u9002\u7684\u65b9\u6848\u6765\u8bbe\u7f6e\u9650\u5236\u7b56\u7565\u3002

                                        Note

                                        \u4e00\u6761\u5b89\u5168\u6a21\u5f0f\u4ec5\u80fd\u914d\u7f6e\u4e00\u6761\u5b89\u5168\u7b56\u7565\u3002\u540c\u65f6\u8bf7\u8c28\u614e\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e enforce \u7684\u5b89\u5168\u6a21\u5f0f\uff0c\u8fdd\u53cd\u540e\u5c06\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                                        \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u3002

                                        "},{"location":"admin/kpanda/namespaces/podsecurity.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u96c6\u7fa4\u7684\u7248\u672c\u9700\u8981\u5728 v1.22 \u4ee5\u4e0a\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        "},{"location":"admin/kpanda/namespaces/podsecurity.html#_3","title":"\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"
                                        1. \u9009\u62e9\u9700\u8981\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u8fdb\u5165\u8be6\u60c5\u9875\u3002\u5728 \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565 \u9875\u9762\u70b9\u51fb \u914d\u7f6e\u7b56\u7565 \uff0c\u8fdb\u5165\u914d\u7f6e\u9875\u3002

                                        2. \u5728\u914d\u7f6e\u9875\u70b9\u51fb \u6dfb\u52a0\u7b56\u7565 \uff0c\u5219\u4f1a\u51fa\u73b0\u4e00\u6761\u7b56\u7565\uff0c\u5305\u62ec\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u6a21\u5f0f\uff0c\u4ee5\u4e0b\u662f\u5bf9\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u7b56\u7565\u7684\u8be6\u7ec6\u4ecb\u7ecd\u3002

                                          \u5b89\u5168\u7ea7\u522b \u63cf\u8ff0 Privileged \u4e0d\u53d7\u9650\u5236\u7684\u7b56\u7565\uff0c\u63d0\u4f9b\u6700\u5927\u53ef\u80fd\u8303\u56f4\u7684\u6743\u9650\u8bb8\u53ef\u3002\u6b64\u7b56\u7565\u5141\u8bb8\u5df2\u77e5\u7684\u7279\u6743\u63d0\u5347\u3002 Baseline \u9650\u5236\u6027\u6700\u5f31\u7684\u7b56\u7565\uff0c\u7981\u6b62\u5df2\u77e5\u7684\u7b56\u7565\u63d0\u5347\u3002\u5141\u8bb8\u4f7f\u7528\u9ed8\u8ba4\u7684\uff08\u89c4\u5b9a\u6700\u5c11\uff09Pod \u914d\u7f6e\u3002 Restricted \u9650\u5236\u6027\u975e\u5e38\u5f3a\u7684\u7b56\u7565\uff0c\u9075\u5faa\u5f53\u524d\u7684\u4fdd\u62a4 Pod \u7684\u6700\u4f73\u5b9e\u8df5\u3002 \u5b89\u5168\u6a21\u5f0f \u63cf\u8ff0 Audit \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5728\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u6dfb\u52a0\u65b0\u7684\u5ba1\u8ba1\u4e8b\u4ef6\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Warn \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u8fd4\u56de\u7528\u6237\u53ef\u89c1\u7684\u544a\u8b66\u4fe1\u606f\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Enforce \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                                        3. \u4e0d\u540c\u7684\u5b89\u5168\u7ea7\u522b\u5bf9\u5e94\u4e0d\u540c\u7684\u68c0\u67e5\u9879\uff0c\u82e5\u60a8\u4e0d\u77e5\u9053\u8be5\u5982\u4f55\u4e3a\u60a8\u7684\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\uff0c\u53ef\u4ee5\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u7b56\u7565\u914d\u7f6e\u9879\u8bf4\u660e \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                                        4. \u70b9\u51fb\u786e\u5b9a\uff0c\u82e5\u521b\u5efa\u6210\u529f\uff0c\u5219\u9875\u9762\u4e0a\u5c06\u51fa\u73b0\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                                        5. \u70b9\u51fb \u2507 \u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u8005\u5220\u9664\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                                        "},{"location":"admin/kpanda/network/create-ingress.html","title":"\u521b\u5efa\u8def\u7531\uff08Ingress\uff09","text":"

                                        \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0cIngress \u516c\u5f00\u4ece\u96c6\u7fa4\u5916\u90e8\u5230\u96c6\u7fa4\u5185\u670d\u52a1\u7684 HTTP \u548c HTTPS \u8def\u7531\u3002 \u6d41\u91cf\u8def\u7531\u7531 Ingress \u8d44\u6e90\u4e0a\u5b9a\u4e49\u7684\u89c4\u5219\u63a7\u5236\u3002\u4e0b\u9762\u662f\u4e00\u4e2a\u5c06\u6240\u6709\u6d41\u91cf\u90fd\u53d1\u9001\u5230\u540c\u4e00 Service \u7684\u7b80\u5355 Ingress \u793a\u4f8b\uff1a

                                        Ingress \u662f\u5bf9\u96c6\u7fa4\u4e2d\u670d\u52a1\u7684\u5916\u90e8\u8bbf\u95ee\u8fdb\u884c\u7ba1\u7406\u7684 API \u5bf9\u8c61\uff0c\u5178\u578b\u7684\u8bbf\u95ee\u65b9\u5f0f\u662f HTTP\u3002Ingress \u53ef\u4ee5\u63d0\u4f9b\u8d1f\u8f7d\u5747\u8861\u3001SSL \u7ec8\u7ed3\u548c\u57fa\u4e8e\u540d\u79f0\u7684\u865a\u62df\u6258\u7ba1\u3002

                                        "},{"location":"admin/kpanda/network/create-ingress.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                        • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002
                                        • \u5df2\u7ecf\u5b8c\u6210 Ingress \u5b9e\u4f8b\u7684\u521b\u5efa\uff0c\u5df2\u90e8\u7f72\u5e94\u7528\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u4e14\u5df2\u521b\u5efa\u5bf9\u5e94 Service
                                        • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002
                                        "},{"location":"admin/kpanda/network/create-ingress.html#_2","title":"\u521b\u5efa\u8def\u7531","text":"
                                        1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u8def\u7531 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u8def\u7531 \u6309\u94ae\u3002

                                          Note

                                          \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u8def\u7531\u3002

                                        3. \u6253\u5f00 \u521b\u5efa\u8def\u7531 \u9875\u9762\uff0c\u8fdb\u884c\u914d\u7f6e\u3002\u53ef\u9009\u62e9\u4e24\u79cd\u534f\u8bae\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u4e24\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                                        "},{"location":"admin/kpanda/network/create-ingress.html#http","title":"\u521b\u5efa HTTP \u534f\u8bae\u8def\u7531","text":"

                                        \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                                        • \u8def\u7531\u540d\u79f0 \uff1a\u5fc5\u586b\uff0c\u8f93\u5165\u65b0\u5efa\u8def\u7531\u7684\u540d\u79f0\u3002
                                        • \u547d\u540d\u7a7a\u95f4 \uff1a\u5fc5\u586b\uff0c\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002
                                        • \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \uff1a
                                          • \u57df\u540d \uff1a\u5fc5\u586b\uff0c\u4f7f\u7528\u57df\u540d\u5bf9\u5916\u63d0\u4f9b\u8bbf\u95ee\u670d\u52a1\u3002\u9ed8\u8ba4\u4e3a\u96c6\u7fa4\u7684\u57df\u540d\u3002
                                          • \u534f\u8bae \uff1a\u5fc5\u586b\uff0c\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002 \u8fd9\u91cc\u9009\u62e9 HTTP \u534f\u8bae\u7684\u8def\u7531\u3002
                                          • \u8f6c\u53d1\u7b56\u7565 \uff1a\u9009\u586b\uff0c\u6307\u5b9a Ingress \u7684\u8bbf\u95ee\u7b56\u7565
                                          • \u8def\u5f84 \uff1a\u6307\u5b9a\u670d\u52a1\u8bbf\u95ee\u7684URL\u8def\u5f84\uff0c\u9ed8\u8ba4\u4e3a\u6839\u8def\u5f84
                                          • \u76ee\u6807\u670d\u52a1 \uff1a\u8fdb\u884c\u8def\u7531\u7684\u670d\u52a1\u540d\u79f0
                                          • \u76ee\u6807\u670d\u52a1\u7aef\u53e3 \uff1a\u670d\u52a1\u5bf9\u5916\u66b4\u9732\u7684\u7aef\u53e3
                                        • \u8d1f\u8f7d\u5747\u8861\u5668\u7c7b\u578b \uff1a\u5fc5\u586b\uff0cIngress \u5b9e\u4f8b\u7684\u4f7f\u7528\u8303\u56f4
                                          • \u5e73\u53f0\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\uff0c\u5171\u4eab\u540c\u4e00\u4e2a Ingress \u5b9e\u4f8b\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                                          • \u79df\u6237\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u79df\u6237\u8d1f\u8f7d\u5747\u8861\u5668\uff0cIngress \u5b9e\u4f8b\u72ec\u5c5e\u4e8e\u5f53\u524d\u547d\u540d\u7a7a\uff0c\u6216\u8005\u72ec\u5c5e\u4e8e\u67d0\u4e00\u5de5\u4f5c\u7a7a\u95f4\uff0c \u5e76\u4e14\u8bbe\u7f6e\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5305\u542b\u5f53\u524d\u547d\u540d\u7a7a\u95f4\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                                        • Ingress Class \uff1a\u9009\u586b\uff0c\u9009\u62e9\u5bf9\u5e94\u7684 Ingress \u5b9e\u4f8b\uff0c\u9009\u62e9\u540e\u5c06\u6d41\u91cf\u5bfc\u5165\u5230\u6307\u5b9a\u7684 Ingress \u5b9e\u4f8b\u3002
                                          • \u4e3a None \u65f6\u4f7f\u7528\u9ed8\u8ba4\u7684 DefaultClass\uff0c\u8bf7\u5728\u521b\u5efa Ingress \u5b9e\u4f8b\u65f6\u8bbe\u7f6e DefaultClass\uff0c \u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003 Ingress Class
                                          • \u82e5\u9009\u62e9\u5176\u4ed6\u5b9e\u4f8b\uff08\u5982 ngnix \uff09\uff0c\u5219\u4f1a\u51fa\u73b0\u9ad8\u7ea7\u914d\u7f6e\uff0c\u53ef\u8bbe\u7f6e \u4f1a\u8bdd\u4fdd\u6301 \u3001 \u8def\u5f84\u91cd\u5199 \u3001 \u91cd\u5b9a\u5411 \u548c \u6d41\u91cf\u5206\u53d1 \u3002
                                        • \u4f1a\u8bdd\u4fdd\u6301 \uff1a\u9009\u586b\uff0c\u4f1a\u8bdd\u4fdd\u6301\u5206\u4e3a \u4e09\u79cd\u7c7b\u578b\uff1a L4 \u6e90\u5730\u5740\u54c8\u5e0c \u3001 Cookie Key \u3001 L7 Header Name \uff0c\u5f00\u542f\u540e\u6839\u636e\u5bf9\u5e94\u89c4\u5219\u8fdb\u884c\u4f1a\u8bdd\u4fdd\u6301\u3002
                                          • L4 \u6e90\u5730\u5740\u54c8\u5e0c \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$binary_remote_addr\"
                                          • Cookie Key \uff1a\u5f00\u542f\u540e\u6765\u81ea\u7279\u5b9a\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\u5c06\u4f20\u9012\u81f3\u76f8\u540c Pod\uff0c\u5f00\u542f\u540e \u9ed8\u8ba4\u5728 Annotation \u4e2d\u589e\u52a0\u5982\u4e0b\u53c2\u6570\uff1a nginx.ingress.kubernetes.io/affinity: \"cookie\"\u3002nginx.ingress.kubernetes.io/affinity-mode: persistent
                                          • L7 Header Name \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$http_x_forwarded_for\"
                                        • \u8def\u5f84\u91cd\u5199 \uff1a\u9009\u586b\uff0c rewrite-target \uff0c\u67d0\u4e9b\u573a\u666f\u4e2d\u540e\u7aef\u670d\u52a1\u66b4\u9732\u7684URL\u4e0eIngress\u89c4\u5219\u4e2d\u6307\u5b9a\u7684\u8def\u5f84\u4e0d\u540c\uff0c\u5982\u679c\u4e0d\u8fdb\u884cURL\u91cd\u5199\u914d\u7f6e\uff0c\u8bbf\u95ee\u4f1a\u51fa\u73b0\u9519\u8bef\u3002
                                        • \u91cd\u5b9a\u5411 \uff1a\u9009\u586b\uff0c permanent-redirect \uff0c\u6c38\u4e45\u91cd\u5b9a\u5411\uff0c\u8f93\u5165\u91cd\u5199\u8def\u5f84\u540e\uff0c\u8bbf\u95ee\u8def\u5f84\u91cd\u5b9a\u5411\u81f3\u8bbe\u7f6e\u7684\u5730\u5740\u3002
                                        • \u6d41\u91cf\u5206\u53d1 \uff1a\u9009\u586b\uff0c\u5f00\u542f\u540e\u5e76\u8bbe\u7f6e\u540e\uff0c\u6839\u636e\u8bbe\u5b9a\u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1\u3002
                                          • \u57fa\u4e8e\u6743\u91cd \uff1a\u8bbe\u5b9a\u6743\u91cd\u540e\uff0c\u5728\u521b\u5efa\u7684 Ingress \u6dfb\u52a0\u5982\u4e0b Annotation\uff1a nginx.ingress.kubernetes.io/canary-weight: \"10\"
                                          • \u57fa\u4e8e Cookie \uff1a\u8bbe\u5b9a Cookie \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Cookie \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                                          • \u57fa\u4e8e Header \uff1a \u8bbe\u5b9a Header \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Header \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                                        • \u6807\u7b7e \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6807\u7b7e
                                        • \u6ce8\u89e3 \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6ce8\u89e3
                                        "},{"location":"admin/kpanda/network/create-ingress.html#https","title":"\u521b\u5efa HTTPS \u534f\u8bae\u8def\u7531","text":"

                                        \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                                        Note

                                        \u6ce8\u610f\uff1a\u4e0e HTTP \u534f\u8bae \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \u4e0d\u540c\uff0c\u589e\u52a0\u5bc6\u94a5\u9009\u62e9\u8bc1\u4e66\uff0c\u5176\u4ed6\u57fa\u672c\u4e00\u81f4\u3002

                                        • \u534f\u8bae \uff1a\u5fc5\u586b\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002\u8fd9\u91cc\u9009\u62e9 HTTPS \u534f\u8bae\u7684\u8def\u7531\u3002
                                        • \u5bc6\u94a5 \uff1a\u5fc5\u586b\uff0cHttps TLS \u8bc1\u4e66\uff0c\u521b\u5efa\u79d8\u94a5\u3002
                                        "},{"location":"admin/kpanda/network/create-ingress.html#_3","title":"\u5b8c\u6210\u8def\u7531\u521b\u5efa","text":"

                                        \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u8def\u7531\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u8def\u7531\u3002

                                        "},{"location":"admin/kpanda/network/create-services.html","title":"\u521b\u5efa\u670d\u52a1\uff08Service\uff09","text":"

                                        \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u6bcf\u4e2a Pod \u90fd\u6709\u4e00\u4e2a\u5185\u90e8\u72ec\u7acb\u7684 IP \u5730\u5740\uff0c\u4f46\u662f\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u7684 Pod \u53ef\u80fd\u4f1a\u88ab\u968f\u65f6\u521b\u5efa\u548c\u5220\u9664\uff0c\u76f4\u63a5\u4f7f\u7528 Pod IP \u5730\u5740\u5e76\u4e0d\u80fd\u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u3002

                                        \u8fd9\u5c31\u9700\u8981\u521b\u5efa\u670d\u52a1\uff0c\u901a\u8fc7\u670d\u52a1\u60a8\u4f1a\u83b7\u5f97\u4e00\u4e2a\u56fa\u5b9a\u7684 IP \u5730\u5740\uff0c\u4ece\u800c\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u524d\u7aef\u548c\u540e\u7aef\u7684\u89e3\u8026\uff0c\u8ba9\u5916\u90e8\u7528\u6237\u80fd\u591f\u8bbf\u95ee\u670d\u52a1\u3002\u540c\u65f6\uff0c\u670d\u52a1\u8fd8\u63d0\u4f9b\u4e86\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u529f\u80fd\uff0c\u4f7f\u7528\u6237\u80fd\u4ece\u516c\u7f51\u8bbf\u95ee\u5230\u5de5\u4f5c\u8d1f\u8f7d\u3002

                                        "},{"location":"admin/kpanda/network/create-services.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                        "},{"location":"admin/kpanda/network/create-services.html#_2","title":"\u521b\u5efa\u670d\u52a1","text":"
                                        1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u670d\u52a1 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                                          Tip

                                          \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u670d\u52a1\u3002

                                        3. \u6253\u5f00 \u521b\u5efa\u670d\u52a1 \u9875\u9762\uff0c\u9009\u62e9\u4e00\u79cd\u8bbf\u95ee\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u51e0\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                                        "},{"location":"admin/kpanda/network/create-services.html#clusterip","title":"\u521b\u5efa ClusterIP \u670d\u52a1","text":"

                                        \u70b9\u9009 \u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u96c6\u7fa4\u7684\u5185\u90e8 IP \u66b4\u9732\u670d\u52a1\uff0c\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u53ea\u80fd\u5728\u96c6\u7fa4\u5185\u90e8\u8bbf\u95ee\u3002\u8fd9\u662f\u9ed8\u8ba4\u7684\u670d\u52a1\u7c7b\u578b\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                                        \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09\u3002 ClusterIP \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 app:job01 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\uff0c\u7528\u6765\u5bf9\u96c6\u7fa4\u5185\u66b4\u9732\u670d\u52a1\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"admin/kpanda/network/create-services.html#nodeport","title":"\u521b\u5efa NodePort \u670d\u52a1","text":"

                                        \u70b9\u9009 \u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u6bcf\u4e2a\u8282\u70b9\u4e0a\u7684 IP \u548c\u9759\u6001\u7aef\u53e3\uff08 NodePort \uff09\u66b4\u9732\u670d\u52a1\u3002 NodePort \u670d\u52a1\u4f1a\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 ClusterIP \u670d\u52a1\u3002\u901a\u8fc7\u8bf7\u6c42 <\u8282\u70b9 IP>:<\u8282\u70b9\u7aef\u53e3> \uff0c\u60a8\u53ef\u4ee5\u4ece\u96c6\u7fa4\u7684\u5916\u90e8\u8bbf\u95ee\u4e00\u4e2a NodePort \u670d\u52a1\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                                        \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09\u3002 NodePort \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod\u5f00\u542f\u540e Service \u7684 .spec.sessionAffinity \u4e3a ClientIP \uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1aService \u7684\u4f1a\u8bdd\u4eb2\u548c\u6027 \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u8d85\u65f6\u65f6\u957f\u4e3a 30 \u79d2.spec.sessionAffinityConfig.clientIP.timeoutSeconds \u9ed8\u8ba4\u8bbe\u7f6e\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"admin/kpanda/network/create-services.html#loadbalancer","title":"\u521b\u5efa LoadBalancer \u670d\u52a1","text":"

                                        \u70b9\u9009 \u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09 \uff0c\u8fd9\u662f\u6307\u4f7f\u7528\u4e91\u63d0\u4f9b\u5546\u7684\u8d1f\u8f7d\u5747\u8861\u5668\u5411\u5916\u90e8\u66b4\u9732\u670d\u52a1\u3002 \u5916\u90e8\u8d1f\u8f7d\u5747\u8861\u5668\u53ef\u4ee5\u5c06\u6d41\u91cf\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 NodePort \u670d\u52a1\u548c ClusterIP \u670d\u52a1\u4e0a\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                                        \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u3002 LoadBalancer \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u5916\u90e8\u6d41\u91cf\u7b56\u7565 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bbe\u7f6e\u5916\u90e8\u6d41\u91cf\u7b56\u7565\u3002Cluster\uff1a\u6d41\u91cf\u53ef\u4ee5\u8f6c\u53d1\u5230\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u4e0a\u7684 Pod\u3002Local\uff1a\u6d41\u91cf\u53ea\u53d1\u7ed9\u672c\u8282\u70b9\u4e0a\u7684 Pod\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4f7f\u7528\u7684\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301 MetalLB \u548c\u5176\u4ed6\u3002 MetalLB IP \u6c60 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u7684 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u4e3a MetalLB \u65f6\uff0cLoadBalancer Service\u9ed8\u8ba4\u4f1a\u4ece\u8fd9\u4e2a\u6c60\u4e2d\u5206\u914d IP \u5730\u5740, \u5e76\u4e14\u901a\u8fc7 APR \u5ba3\u544a\u8fd9\u4e2a\u6c60\u4e2d\u7684\u6240\u6709 IP \u5730\u5740 \u8d1f\u8f7d\u5747\u8861\u5730\u5740 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u30111.\u5982\u4f7f\u7528\u7684\u662f\u516c\u6709\u4e91 CloudProvider\uff0c\u6b64\u5904\u586b\u5199\u7684\u4e3a\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u8d1f\u8f7d\u5747\u8861\u5730\u5740\uff1b2.\u5982\u679c\u4e0a\u8ff0\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u9009\u62e9\u4e3a MetalLB \uff0c\u9ed8\u8ba4\u4ece\u4e0a\u8ff0 IP \u6c60\u4e2d\u83b7\u53d6 IP \uff0c\u5982\u679c\u4e0d\u586b\u5219\u81ea\u52a8\u83b7\u53d6\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"admin/kpanda/network/create-services.html#externalname","title":"\u521b\u5efa ExternalName \u670d\u52a1","text":"

                                        \u70b9\u9009 \u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u5c06\u670d\u52a1\u6620\u5c04\u5230\u5916\u90e8\u57df\u540d\u6765\u66b4\u9732\u670d\u52a1\u3002\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u4e0d\u4f1a\u521b\u5efa\u5178\u578b\u7684 ClusterIP \u6216 NodePort\uff0c\u800c\u662f\u901a\u8fc7 DNS \u540d\u79f0\u89e3\u6790\u5c06\u8bf7\u6c42\u91cd\u5b9a\u5411\u5230\u5916\u90e8\u7684\u670d\u52a1\u5730\u5740\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                                        \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09\u3002 ExternalName \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u57df\u540d \u3010\u7c7b\u578b\u3011\u5fc5\u586b"},{"location":"admin/kpanda/network/create-services.html#_3","title":"\u5b8c\u6210\u670d\u52a1\u521b\u5efa","text":"

                                        \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u670d\u52a1\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u670d\u52a1\u3002

                                        "},{"location":"admin/kpanda/network/network-policy.html","title":"\u7f51\u7edc\u7b56\u7565","text":"

                                        \u7f51\u7edc\u7b56\u7565\uff08NetworkPolicy\uff09\u53ef\u4ee5\u5728 IP \u5730\u5740\u6216\u7aef\u53e3\u5c42\u9762\uff08OSI \u7b2c 3 \u5c42\u6216\u7b2c 4 \u5c42\uff09\u63a7\u5236\u7f51\u7edc\u6d41\u91cf\u3002\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u76ee\u524d\u652f\u6301\u521b\u5efa\u57fa\u4e8e Pod \u6216\u547d\u540d\u7a7a\u95f4\u7684\u7f51\u7edc\u7b56\u7565\uff0c\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u6765\u8bbe\u5b9a\u54ea\u4e9b\u6d41\u91cf\u53ef\u4ee5\u8fdb\u5165\u6216\u79bb\u5f00\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684 Pod\u3002

                                        \u6709\u5173\u7f51\u7edc\u7b56\u7565\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u7f51\u7edc\u7b56\u7565\u3002

                                        "},{"location":"admin/kpanda/network/network-policy.html#_2","title":"\u521b\u5efa\u7f51\u7edc\u7b56\u7565","text":"

                                        \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u7f51\u7edc\u7b56\u7565\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                        \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u7f51\u7edc\u7b56\u7565\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                                        \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                                        "},{"location":"admin/kpanda/network/network-policy.html#yaml","title":"YAML \u521b\u5efa","text":"
                                        1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> YAML \u521b\u5efa \u3002

                                        2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                        "},{"location":"admin/kpanda/network/network-policy.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                                        1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> \u521b\u5efa\u7b56\u7565 \u3002

                                        2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                                          \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002

                                        3. \u586b\u5199\u7b56\u7565\u914d\u7f6e\u3002

                                          \u7b56\u7565\u914d\u7f6e\u5206\u4e3a\u5165\u6d41\u91cf\u7b56\u7565\u548c\u51fa\u6d41\u91cf\u7b56\u7565\u3002\u5982\u679c\u6e90 Pod \u60f3\u8981\u6210\u529f\u8fde\u63a5\u5230\u76ee\u6807 Pod\uff0c\u6e90 Pod \u7684\u51fa\u6d41\u91cf\u7b56\u7565\u548c\u76ee\u6807 Pod \u7684\u5165\u6d41\u91cf\u7b56\u7565\u90fd\u9700\u8981\u5141\u8bb8\u8fde\u63a5\u3002\u5982\u679c\u4efb\u4f55\u4e00\u65b9\u4e0d\u5141\u8bb8\u8fde\u63a5\uff0c\u90fd\u4f1a\u5bfc\u81f4\u8fde\u63a5\u5931\u8d25\u3002

                                          • \u5165\u6d41\u91cf\u7b56\u7565\uff1a\u70b9\u51fb \u2795 \u5f00\u59cb\u914d\u7f6e\u7b56\u7565\uff0c\u652f\u6301\u914d\u7f6e\u591a\u6761\u7b56\u7565\u3002\u591a\u6761\u7f51\u7edc\u7b56\u7565\u7684\u6548\u679c\u76f8\u4e92\u53e0\u52a0\uff0c\u53ea\u6709\u540c\u65f6\u6ee1\u8db3\u6240\u6709\u7f51\u7edc\u7b56\u7565\uff0c\u624d\u80fd\u6210\u529f\u5efa\u7acb\u8fde\u63a5\u3002

                                          • \u51fa\u6d41\u91cf\u7b56\u7565

                                        "},{"location":"admin/kpanda/network/network-policy.html#_4","title":"\u67e5\u770b\u7f51\u7edc\u7b56\u7565","text":"
                                        1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 \uff0c\u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\u3002

                                        2. \u67e5\u770b\u8be5\u7b56\u7565\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5173\u8054\u5b9e\u4f8b\u4fe1\u606f\u3001\u5165\u6d41\u91cf\u7b56\u7565\u3001\u51fa\u6d41\u91cf\u7b56\u7565\u3002

                                        Info

                                        \u5728\u5173\u8054\u5b9e\u4f8b\u9875\u7b7e\u4e0b\uff0c\u652f\u6301\u67e5\u770b\u5b9e\u4f8b\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5bb9\u5668\u5217\u8868\u3001YAML \u6587\u4ef6\u3001\u4e8b\u4ef6\u7b49\u3002

                                        "},{"location":"admin/kpanda/network/network-policy.html#_5","title":"\u66f4\u65b0\u7f51\u7edc\u7b56\u7565","text":"

                                        \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                                        • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                        • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                        "},{"location":"admin/kpanda/network/network-policy.html#_6","title":"\u5220\u9664\u7f51\u7edc\u7b56\u7565","text":"

                                        \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u5220\u9664\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                                        • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                                        • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                                        "},{"location":"admin/kpanda/nodes/add-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u6269\u5bb9","text":"

                                        \u968f\u7740\u4e1a\u52a1\u5e94\u7528\u4e0d\u65ad\u589e\u957f\uff0c\u96c6\u7fa4\u8d44\u6e90\u65e5\u8d8b\u7d27\u5f20\uff0c\u8fd9\u65f6\u53ef\u4ee5\u57fa\u4e8e kubean \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u6269\u5bb9\u3002\u6269\u5bb9\u540e\uff0c\u5e94\u7528\u53ef\u4ee5\u8fd0\u884c\u5728\u65b0\u589e\u7684\u8282\u70b9\u4e0a\uff0c\u7f13\u89e3\u8d44\u6e90\u538b\u529b\u3002

                                        \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002\u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u540c\u79cd\u67b6\u6784\u4e0b\u5de5\u4f5c\u96c6\u7fa4\u7684 \u5de5\u4f5c\u8282\u70b9 \u6269\u5bb9\u3002

                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                          \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u63a5\u5165\u8282\u70b9 \u3002

                                        3. \u8f93\u5165\u4e3b\u673a\u540d\u79f0\u548c\u8282\u70b9 IP \u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                                          \u70b9\u51fb \u2795 \u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9 \u53ef\u4ee5\u7ee7\u7eed\u63a5\u5165\u66f4\u591a\u8282\u70b9\u3002

                                        Note

                                        \u63a5\u5165\u8282\u70b9\u5927\u7ea6\u9700\u8981 20 \u5206\u949f\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5f85\u3002

                                        "},{"location":"admin/kpanda/nodes/add-node.html#_2","title":"\u53c2\u8003\u6587\u6863","text":"
                                        • \u5bf9\u5de5\u4f5c\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u6269\u5bb9
                                        • \u4e3a\u5de5\u4f5c\u96c6\u7fa4\u6dfb\u52a0\u5f02\u6784\u8282\u70b9
                                        • \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u6269\u5bb9
                                        • \u66ff\u6362\u5de5\u4f5c\u96c6\u7fa4\u7684\u9996\u4e2a\u63a7\u5236\u8282\u70b9
                                        "},{"location":"admin/kpanda/nodes/delete-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9","text":"

                                        \u5f53\u4e1a\u52a1\u9ad8\u5cf0\u671f\u7ed3\u675f\u4e4b\u540e\uff0c\u4e3a\u4e86\u8282\u7701\u8d44\u6e90\u6210\u672c\uff0c\u53ef\u4ee5\u7f29\u5c0f\u96c6\u7fa4\u89c4\u6a21\uff0c\u5378\u8f7d\u5197\u4f59\u7684\u8282\u70b9\uff0c\u5373\u8282\u70b9\u7f29\u5bb9\u3002\u8282\u70b9\u5378\u8f7d\u540e\uff0c\u5e94\u7528\u65e0\u6cd5\u7ee7\u7eed\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\u3002

                                        "},{"location":"admin/kpanda/nodes/delete-node.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5177\u6709 Cluster Admin \u89d2\u8272\u6388\u6743 \u3002
                                        • \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002
                                        • \u5378\u8f7d\u8282\u70b9\u4e4b\u524d\uff0c\u9700\u8981\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\uff0c\u5e76\u4e14\u5c06\u8be5\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u90fd\u9a71\u9010\u81f3\u5176\u4ed6\u8282\u70b9\u3002
                                        • \u9a71\u9010\u65b9\u5f0f\uff1a\u767b\u5f55\u63a7\u5236\u5668\u8282\u70b9\uff0c\u901a\u8fc7 kubectl drain \u547d\u4ee4\u9a71\u9010\u8282\u70b9\u4e0a\u6240\u6709 Pod\u3002\u5b89\u5168\u9a71\u9010\u7684\u65b9\u5f0f\u53ef\u4ee5\u5141\u8bb8\u5bb9\u5668\u7ec4\u91cc\u9762\u7684\u5bb9\u5668\u4f18\u96c5\u5730\u4e2d\u6b62\u3002
                                        "},{"location":"admin/kpanda/nodes/delete-node.html#_3","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                                        1. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\uff0c\u53ea\u80fd\u9010\u4e2a\u8fdb\u884c\u5378\u8f7d\uff0c\u65e0\u6cd5\u6279\u91cf\u5378\u8f7d\u3002

                                        2. \u5982\u9700\u5378\u8f7d\u96c6\u7fa4\u63a7\u5236\u5668\u8282\u70b9\uff0c\u9700\u8981\u786e\u4fdd\u6700\u7ec8\u63a7\u5236\u5668\u8282\u70b9\u6570\u4e3a \u5947\u6570\u3002

                                        3. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\u4e0d\u53ef\u4e0b\u7ebf \u7b2c\u4e00\u4e2a\u63a7\u5236\u5668 \u8282\u70b9\u3002\u5982\u679c\u5fc5\u987b\u6267\u884c\u6b64\u64cd\u4f5c\uff0c\u8bf7\u8054\u7cfb\u552e\u540e\u5de5\u7a0b\u5e08\u3002

                                        "},{"location":"admin/kpanda/nodes/delete-node.html#_4","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                          \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u5378\u8f7d\u7684\u8282\u70b9\uff0c\u70b9\u51fb \u2507 \u9009\u62e9 \u79fb\u9664\u8282\u70b9 \u3002

                                        3. \u8f93\u5165\u8282\u70b9\u540d\u79f0\uff0c\u5e76\u70b9\u51fb \u5220\u9664 \u8fdb\u884c\u786e\u8ba4\u3002

                                        "},{"location":"admin/kpanda/nodes/labels-annotations.html","title":"\u6807\u7b7e\u4e0e\u6ce8\u89e3","text":"

                                        \u6807\u7b7e\uff08Labels\uff09\u662f\u4e3a Pod\u3001\u8282\u70b9\u3001\u96c6\u7fa4\u7b49 Kubernetes \u5bf9\u8c61\u6dfb\u52a0\u7684\u6807\u8bc6\u6027\u952e\u503c\u5bf9\uff0c\u53ef\u7ed3\u5408\u6807\u7b7e\u9009\u62e9\u5668\u67e5\u627e\u5e76\u7b5b\u9009\u6ee1\u8db3\u67d0\u4e9b\u6761\u4ef6\u7684 Kubernetes \u5bf9\u8c61\u3002\u6bcf\u4e2a\u952e\u5bf9\u4e8e\u7ed9\u5b9a\u5bf9\u8c61\u5fc5\u987b\u662f\u552f\u4e00\u7684\u3002

                                        \u6ce8\u89e3\uff08Annotations\uff09\u548c\u6807\u7b7e\u4e00\u6837\uff0c\u4e5f\u662f\u952e/\u503c\u5bf9\uff0c\u4f46\u4e0d\u5177\u5907\u6807\u8bc6\u6216\u7b5b\u9009\u529f\u80fd\u3002 \u4f7f\u7528\u6ce8\u89e3\u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u4efb\u610f\u7684\u5143\u6570\u636e\u3002 \u6ce8\u89e3\u7684\u952e\u901a\u5e38\u4f7f\u7528\u7684\u683c\u5f0f\u4e3a \u524d\u7f00\uff08\u53ef\u9009\uff09/\u540d\u79f0\uff08\u5fc5\u586b\uff09 \uff0c\u4f8b\u5982 nfd.node.kubernetes.io/extended-resources \u3002 \u5982\u679c\u7701\u7565\u524d\u7f00\uff0c\u8868\u793a\u8be5\u6ce8\u89e3\u952e\u662f\u7528\u6237\u79c1\u6709\u7684\u3002

                                        \u6709\u5173\u6807\u7b7e\u548c\u6ce8\u89e3\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u53c2\u8003 Kubernetes \u7684\u5b98\u65b9\u6587\u6863\u6807\u7b7e\u548c\u9009\u62e9\u7b97\u7b26\u6216\u6ce8\u89e3\u3002

                                        \u6dfb\u52a0/\u5220\u9664\u6807\u7b7e\u4e0e\u6ce8\u89e3\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u4fee\u6539\u6807\u7b7e \u6216 \u4fee\u6539\u6ce8\u89e3 \u3002

                                        3. \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u6dfb\u52a0\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u70b9\u51fb X \u53ef\u4ee5\u5220\u9664\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                        "},{"location":"admin/kpanda/nodes/node-authentication.html","title":"\u8282\u70b9\u8ba4\u8bc1","text":""},{"location":"admin/kpanda/nodes/node-authentication.html#ssh","title":"\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9","text":"

                                        \u5982\u679c\u60a8\u9009\u62e9\u4f7f\u7528 SSH \u5bc6\u94a5\u4f5c\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u60a8\u9700\u8981\u6309\u7167\u5982\u4e0b\u8bf4\u660e\u914d\u7f6e\u516c\u79c1\u94a5\u3002

                                        1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5728 \u5f85\u5efa\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u4e2d\u7684\u4efb\u610f\u8282\u70b9 \u4e0a\u751f\u6210\u516c\u79c1\u94a5\u3002

                                          cd /root/.ssh\nssh-keygen -t rsa\n
                                        2. \u6267\u884c ls \u547d\u4ee4\u67e5\u770b\u7ba1\u7406\u96c6\u7fa4\u4e0a\u7684\u5bc6\u94a5\u662f\u5426\u521b\u5efa\u6210\u529f\uff0c\u6b63\u786e\u53cd\u9988\u5982\u4e0b\uff1a

                                          ls\nid_rsa  id_rsa.pub  known_hosts\n

                                          \u5176\u4e2d\u540d\u4e3a id_rsa \u7684\u6587\u4ef6\u662f\u79c1\u94a5\uff0c\u540d\u4e3a id_rsa.pub \u7684\u6587\u4ef6\u662f\u516c\u94a5\u3002

                                        3. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u5c06\u516c\u94a5\u6587\u4ef6 id_rsa.pub \u52a0\u8f7d\u5230\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6240\u6709\u8282\u70b9\u4e0a\u3002

                                          ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.0.0.0\n

                                          \u5c06\u4e0a\u9762\u547d\u4ee4\u4e2d\u7684 root@10.0.0.0 \u7528\u6237\u8d26\u53f7\u548c\u8282\u70b9 IP \u66ff\u6362\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u7528\u6237\u540d\u548c IP\u3002** \u9700\u8981\u5728\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6bcf\u53f0\u8282\u70b9\u90fd\u6267\u884c\u76f8\u540c\u7684\u64cd\u4f5c **\u3002

                                        4. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u6b65\u9aa4 1 \u6240\u521b\u5efa\u7684\u79c1\u94a5\u6587\u4ef6 id_rsa \u3002

                                          cat /root/.ssh/id_rsa\n

                                          \u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\uff1a

                                          -----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3UvyKINzY5BFuemQ+uJ6q+GqgfvnWwNC8HzZhpcMSjJy26MM\nUtBEBJxy8fMi57XcjYxPibXW/wnd+32ICCycqCwByUmuXeCC1cjlCQDqjcAvXae7\nY54IXGF7wm2IsMNwf0kjFEXjuS48FLDA0mGRaN3BG+Up5geXcHckg3K5LD8kXFFx\ndEmSIjdyw55NaUitmEdHzN7cIdfi6Z56jcV8dcFBgWKUx+ebiyPmZBkXToz6GnMF\nrswzzZCl+G6Jb2xTGy7g7ozb4BoZd1IpSD5EhDanRrESVE0C5YuJ5zUAC0CvVd1l\nv67AK8Ko6MXToHp01/bcsvlM6cqgwUFXZKVeOwIDAQABAoIBAQCO36GQlo3BEjxy\nM2HvGJmqrx+unDxafliRe4nVY2AD515Qf4xNSzke4QM1QoyenMOwf446krQkJPK0\nk+9nl6Xszby5gGCbK4BNFk8I6RaGPjZWeRx6zGUJf8avWJiPxx6yjz2esSC9RiR0\nF0nmiiefVMyAfgv2/5++dK2WUFNNRKLgSRRpP5bRaD5wMzzxtSSXrUon6217HO8p\n3RoWsI51MbVzhdVgpHUNABcoa0rpr9svT6XLKZxY8mxpKFYjM0Wv2JIDABg3kBvh\nQbJ7kStCO3naZjKMU9UuSqVJs06cflGYw7Or8/tABR3LErNQKPjkhAQqt0DXw7Iw\n3tKdTAJBAoGBAP687U7JAOqQkcphek2E/A/sbO/d37ix7Z3vNOy065STrA+ZWMZn\npZ6Ui1B/oJpoZssnfvIoz9sn559X0j67TljFALFd2ZGS0Fqh9KVCqDvfk+Vst1dq\n+3r/yZdTOyswoccxkJiC/GDwZGK0amJWqvob39JCZhDAKIGLbGMmjdAHAoGBAN5k\nm1WGnni1nZ+3dryIwgB6z1hWcnLTamzSET6KhSuo946ET0IRG9xtlheCx6dqICbr\nVk1Y4NtRZjK/p/YGx59rDWf7E3I8ZMgR7mjieOcUZ4lUlA4l7ZIlW/2WZHW+nUXO\nTi20fqJ8qSp4BUvOvuth1pz2GLUHe2/Fxjf7HIstAoGBAPHpPr9r+TfIlPsJeRj2\n6lzA3G8qWFRQfGRYjv0fjv0pA+RIb1rzgP/I90g5+63G6Z+R4WdcxI/OJJNY1iuG\nuw9n/pFxm7U4JC990BPE6nj5iLz+clpNGYckNDBF9VG9vFSrSDLdaYkxoVNvG/xJ\na9Na90H4lm7f3VewrPy310KvAoGAZr+mwNoEh5Kpc6xo8Gxi7aPP/mlaUVD6X7Ki\ngvmu02AqmC7rC4QqEiqTaONkaSXwGusqIWxJ3yp5hELmUBYLzszAEeV/s4zRp1oZ\ng133LBRSTbHFAdBmNdqK6Nu+KGRb92980UMOKvZbliKDl+W6cbfvVu+gtKrzTc3b\naevb4TUCgYEAnJAxyVYDP1nJf7bjBSHXQu1E/DMwbtrqw7dylRJ8cAzI7IxfSCez\n7BYWq41PqVd9/zrb3Pbh2phiVzKe783igAIMqummcjo/kZyCwFsYBzK77max1jF5\naPQsLbRS2aDz8kIH6jHPZ/R+15EROmdtLmA7vIJZGerWWQR0dUU+XXA=\n

                                          \u5c06\u79c1\u94a5\u5185\u5bb9\u590d\u5236\u540e\u586b\u81f3\u754c\u9762\u5bc6\u94a5\u8f93\u5165\u6846\u3002

                                        "},{"location":"admin/kpanda/nodes/node-check.html","title":"\u521b\u5efa\u96c6\u7fa4\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5","text":"

                                        \u5728\u521b\u5efa\u96c6\u7fa4\u6216\u4e3a\u5df2\u6709\u96c6\u7fa4\u6dfb\u52a0\u8282\u70b9\u65f6\uff0c\u8bf7\u53c2\u9605\u4e0b\u8868\uff0c\u68c0\u67e5\u8282\u70b9\u914d\u7f6e\uff0c\u4ee5\u907f\u514d\u56e0\u8282\u70b9\u914d\u7f6e\u9519\u8bef\u5bfc\u81f4\u96c6\u7fa4\u521b\u5efa\u6216\u6269\u5bb9\u5931\u8d25\u3002

                                        \u68c0\u67e5\u9879 \u63cf\u8ff0 \u64cd\u4f5c\u7cfb\u7edf \u53c2\u8003\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf SELinux \u5173\u95ed \u9632\u706b\u5899 \u5173\u95ed \u67b6\u6784\u4e00\u81f4\u6027 \u8282\u70b9\u95f4 CPU \u67b6\u6784\u4e00\u81f4\uff08\u5982\u5747\u4e3a ARM \u6216 x86\uff09 \u4e3b\u673a\u65f6\u95f4 \u6240\u6709\u4e3b\u673a\u95f4\u540c\u6b65\u8bef\u5dee\u5c0f\u4e8e 10 \u79d2\u3002 \u7f51\u7edc\u8054\u901a\u6027 \u8282\u70b9\u53ca\u5176 SSH \u7aef\u53e3\u80fd\u591f\u6b63\u5e38\u88ab\u5e73\u53f0\u8bbf\u95ee\u3002 CPU \u53ef\u7528 CPU \u8d44\u6e90\u5927\u4e8e 4 Core \u5185\u5b58 \u53ef\u7528\u5185\u5b58\u8d44\u6e90\u5927\u4e8e 8 GB"},{"location":"admin/kpanda/nodes/node-check.html#_2","title":"\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf","text":"\u67b6\u6784 \u64cd\u4f5c\u7cfb\u7edf \u5907\u6ce8 ARM Kylin Linux Advanced Server release V10 (Sword) SP2 \u63a8\u8350 ARM UOS Linux ARM openEuler x86 CentOS 7.x \u63a8\u8350 x86 Redhat 7.x \u63a8\u8350 x86 Redhat 8.x \u63a8\u8350 x86 Flatcar Container Linux by Kinvolk x86 Debian Bullseye, Buster, Jessie, Stretch x86 Ubuntu 16.04, 18.04, 20.04, 22.04 x86 Fedora 35, 36 x86 Fedora CoreOS x86 openSUSE Leap 15.x/Tumbleweed x86 Oracle Linux 7, 8, 9 x86 Alma Linux 8, 9 x86 Rocky Linux 8, 9 x86 Amazon Linux 2 x86 Kylin Linux Advanced Server release V10 (Sword) - SP2 \u6d77\u5149 x86 UOS Linux x86 openEuler"},{"location":"admin/kpanda/nodes/node-details.html","title":"\u8282\u70b9\u8be6\u60c5","text":"

                                        \u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u96c6\u7fa4\u4e2d\u5404\u4e2a\u8282\u70b9\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u8282\u70b9\u72b6\u6001\u3001\u6807\u7b7e\u3001\u8d44\u6e90\u7528\u91cf\u3001Pod\u3001\u76d1\u63a7\u4fe1\u606f\u7b49\u3002

                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u72b6\u6001\u3001\u89d2\u8272\u3001\u6807\u7b7e\u3001CPU/\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001IP \u5730\u5740\u3001\u521b\u5efa\u65f6\u95f4\u3002

                                        3. \u70b9\u51fb\u8282\u70b9\u540d\u79f0\uff0c\u53ef\u4ee5\u8fdb\u5165\u8282\u70b9\u8be6\u60c5\u9875\u9762\u67e5\u770b\u66f4\u591a\u4fe1\u606f\uff0c\u5305\u62ec\u6982\u89c8\u4fe1\u606f\u3001\u5bb9\u5668\u7ec4\u4fe1\u606f\u3001\u6807\u7b7e\u6ce8\u89e3\u4fe1\u606f\u3001\u4e8b\u4ef6\u5217\u8868\u3001\u72b6\u6001\u7b49\u3002

                                          \u6b64\u5916\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u7684 YAML \u6587\u4ef6\u3001\u76d1\u63a7\u4fe1\u606f\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u7b49\u3002

                                        "},{"location":"admin/kpanda/nodes/schedule.html","title":"\u8282\u70b9\u8c03\u5ea6","text":"

                                        \u652f\u6301\u5c06\u8282\u70b9\u6682\u505c\u8c03\u5ea6\u6216\u6062\u590d\u8c03\u5ea6\u3002\u6682\u505c\u8c03\u5ea6\u6307\uff0c\u505c\u6b62\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002\u6062\u590d\u8c03\u5ea6\u6307\uff0c\u53ef\u4ee5\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6682\u505c\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                                        3. \u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6062\u590d\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6062\u590d\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                                        \u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u53ef\u80fd\u56e0\u7f51\u7edc\u60c5\u51b5\u6709\u6240\u5ef6\u8fdf\uff0c\u70b9\u51fb\u641c\u7d22\u6846\u53f3\u4fa7\u7684\u5237\u65b0\u56fe\u6807\u53ef\u4ee5\u5237\u65b0\u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u3002

                                        "},{"location":"admin/kpanda/nodes/taints.html","title":"\u8282\u70b9\u6c61\u70b9\u7ba1\u7406","text":"

                                        \u6c61\u70b9 (Taint) \u80fd\u591f\u4f7f\u8282\u70b9\u6392\u65a5\u67d0\u4e00\u7c7b Pod\uff0c\u907f\u514d Pod \u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002 \u6bcf\u4e2a\u8282\u70b9\u4e0a\u53ef\u4ee5\u5e94\u7528\u4e00\u4e2a\u6216\u591a\u4e2a\u6c61\u70b9\uff0c\u4e0d\u80fd\u5bb9\u5fcd\u8fd9\u4e9b\u6c61\u70b9\u7684 Pod \u5219\u4e0d\u4f1a\u88ab\u8c03\u5ea6\u8be5\u8282\u70b9\u4e0a\u3002

                                        "},{"location":"admin/kpanda/nodes/taints.html#_2","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                                        1. \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 NS Editor \u89d2\u8272\u6388\u6743\u6216\u5176\u4ed6\u66f4\u9ad8\u6743\u9650\u3002
                                        2. \u4e3a\u8282\u70b9\u6dfb\u52a0\u6c61\u70b9\u4e4b\u540e\uff0c\u53ea\u6709\u80fd\u5bb9\u5fcd\u8be5\u6c61\u70b9\u7684 Pod \u624d\u80fd\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002
                                        "},{"location":"admin/kpanda/nodes/taints.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u6982\u89c8 \u9875\u9762\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u4fee\u6539\u6c61\u70b9\u7684\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u70b9\u51fb \u4fee\u6539\u6c61\u70b9 \u6309\u94ae\u3002

                                        3. \u5728\u5f39\u6846\u5185\u8f93\u5165\u6c61\u70b9\u7684\u952e\u503c\u4fe1\u606f\uff0c\u9009\u62e9\u6c61\u70b9\u6548\u679c\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                          \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u591a\u4e2a\u6c61\u70b9\uff0c\u70b9\u51fb\u6c61\u70b9\u6548\u679c\u53f3\u4fa7\u7684 X \u53ef\u4ee5\u5220\u9664\u6c61\u70b9\u3002

                                          \u76ee\u524d\u652f\u6301\u4e09\u79cd\u6c61\u70b9\u6548\u679c\uff1a

                                          • NoSchedule\uff1a\u65b0\u7684 Pod \u4e0d\u4f1a\u88ab\u8c03\u5ea6\u5230\u5e26\u6709\u6b64\u6c61\u70b9\u7684\u8282\u70b9\u4e0a\uff0c\u9664\u975e\u65b0\u7684 Pod \u5177\u6709\u76f8\u5339\u914d\u7684\u5bb9\u5fcd\u5ea6\u3002\u5f53\u524d\u6b63\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u4e0d\u4f1a \u88ab\u9a71\u9010\u3002
                                          • NoExecute\uff1a\u8fd9\u4f1a\u5f71\u54cd\u5df2\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod\uff1a
                                            • \u5982\u679c Pod \u4e0d\u80fd\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f1a\u9a6c\u4e0a\u88ab\u9a71\u9010\u3002
                                            • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f46\u662f\u5728\u5bb9\u5fcd\u5ea6\u5b9a\u4e49\u4e2d\u6ca1\u6709\u6307\u5b9a tolerationSeconds\uff0c\u5219 Pod \u8fd8\u4f1a\u4e00\u76f4\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002
                                            • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\u800c\u4e14\u6307\u5b9a\u4e86 tolerationSeconds\uff0c\u5219 Pod \u8fd8\u80fd\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u7ee7\u7eed\u8fd0\u884c\u6307\u5b9a\u7684\u65f6\u957f\u3002\u8fd9\u6bb5\u65f6\u95f4\u8fc7\u53bb\u540e\uff0c\u518d\u4ece\u8282\u70b9\u4e0a\u9a71\u9664\u8fd9\u4e9b Pod\u3002
                                          • PreferNoSchedule\uff1a\u8fd9\u662f\u201c\u8f6f\u6027\u201d\u7684 NoSchedule\u3002\u63a7\u5236\u5e73\u9762\u5c06**\u5c1d\u8bd5**\u907f\u514d\u5c06\u4e0d\u5bb9\u5fcd\u6b64\u6c61\u70b9\u7684 Pod \u8c03\u5ea6\u5230\u8282\u70b9\u4e0a\uff0c\u4f46\u4e0d\u80fd\u4fdd\u8bc1\u5b8c\u5168\u907f\u514d\u3002\u6240\u4ee5\u8981\u5c3d\u91cf\u907f\u514d\u4f7f\u7528\u6b64\u6c61\u70b9\u3002

                                        \u6709\u5173\u6c61\u70b9\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605 Kubernetes \u5b98\u65b9\u6587\u6863\uff1a\u6c61\u70b9\u548c\u5bb9\u5fcd\u5ea6\u3002

                                        "},{"location":"admin/kpanda/olm/import-miniooperator.html","title":"\u5bfc\u5165\u79bb\u7ebf MinIo Operator","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u5982\u4f55\u5bfc\u5165 MinIo Operator\u3002

                                        "},{"location":"admin/kpanda/olm/import-miniooperator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5f53\u524d\u96c6\u7fa4\u5df2\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u4e14\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 kolm \u7ec4\u4ef6\uff08helm \u6a21\u677f\u641c\u7d22 kolm\uff09
                                        • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 olm \u7ec4\u4ef6\u4e14\u7248\u672c >= 0.2.4 (helm \u6a21\u677f\u641c\u7d22 olm)
                                        • \u652f\u6301\u6267\u884c Docker \u547d\u4ee4
                                        • \u51c6\u5907\u4e00\u4e2a\u955c\u50cf\u4ed3\u5e93
                                        "},{"location":"admin/kpanda/olm/import-miniooperator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u5728\u6267\u884c\u73af\u5883\u4e2d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u5e76\u5728\u540e\u7eed\u6b65\u9aa4\u4f7f\u7528\uff0c\u6267\u884c\u547d\u4ee4\uff1a

                                          export OPM_IMG=10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0 \nexport BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3 \n

                                          \u5982\u4f55\u83b7\u53d6\u4e0a\u8ff0\u955c\u50cf\u5730\u5740\uff1a

                                          \u524d\u5f80 \u5bb9\u5668\u7ba1\u7406 -> \u9009\u62e9\u5f53\u524d\u96c6\u7fa4 -> helm \u5e94\u7528 -> \u67e5\u770b olm \u7ec4\u4ef6 -> \u63d2\u4ef6\u8bbe\u7f6e \uff0c\u627e\u5230\u540e\u7eed\u6b65\u9aa4\u6240\u9700 opm\uff0cminio\uff0cminio bundle\uff0cminio operator \u7684\u955c\u50cf\u3002

                                          \u4ee5\u4e0a\u8bc9\u622a\u56fe\u4e3a\u4f8b\uff0c\u5219\u56db\u4e2a\u955c\u50cf\u5730\u5740\u5982\u4e0b\n\n# opm \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0\n\n# minio \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/minio/minio:RELEASE.2023-03-24T21-41-23Z\n\n# minio bundle \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3\n\n# minio operator \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/minio/operator:v5.0.3\n
                                        2. \u6267\u884c opm \u547d\u4ee4\u83b7\u53d6\u79bb\u7ebf bundle \u955c\u50cf\u5305\u542b\u7684 operator\u3002

                                          # \u521b\u5efa operator \u5b58\u653e\u76ee\u5f55\n$ mkdir minio-operator && cd minio-operator \n\n# \u83b7\u53d6 operator yaml \n$ docker run --user root  -v $PWD/minio-operator:/minio-operator ${OPM_IMG} alpha bundle unpack --skip-tls-verify -v -d ${BUNDLE_IMG} -o ./minio-operator\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 9 files\n
                                        3. \u66ff\u6362\u00a0 minio-operator/manifests/minio-operator.clusterserviceversion.yaml\u00a0 \u6587\u4ef6\u4e2d\u7684\u6240\u6709\u955c\u50cf\u5730\u5740\u4e3a\u79bb\u7ebf\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u955c\u50cf\u3002

                                          \u66ff\u6362\u524d\uff1a

                                          \u66ff\u6362\u540e\uff1a

                                        4. \u751f\u6210\u6784\u5efa bundle \u955c\u50cf\u7684 Dockerfile

                                          $ docker run --user root  -v $PWD:/minio-operator -w /minio-operator ${OPM_IMG} alpha bundle generate --channels stable,beta -d /minio-operator/minio-operator/manifests -e stable -p minio-operator \u00a0\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 10 files\n
                                        5. \u6267\u884c\u6784\u5efa\u547d\u4ee4\uff0c\u6784\u5efa bundle \u955c\u50cf\u4e14\u63a8\u9001\u5230\u79bb\u7ebf registry\u3002

                                          # \u8bbe\u7f6e\u65b0\u7684 bundle image \nexport OFFLINE_BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3-offline \n\n$ docker build . -f bundle.Dockerfile -t ${OFFLINE_BUNDLE_IMG} \u00a0\n\n$ docker push ${OFFLINE_BUNDLE_IMG}\n
                                        6. \u751f\u6210\u6784\u5efa catalog \u955c\u50cf\u7684 Dockerfile\u3002

                                          $ docker run --user root  -v $PWD:/minio-operator  -w /minio-operator ${OPM_IMG} index add  --bundles ${OFFLINE_BUNDLE_IMG} --generate --binary-image ${OPM_IMG} --skip-tls-verify\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u251c\u2500\u2500 database\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 index.db\n\u251c\u2500\u2500 index.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n4 directories, 12 files\n
                                        7. \u6784\u5efa catalog \u955c\u50cf

                                          # \u8bbe\u7f6e\u65b0\u7684 catalog image  \nexport OFFLINE_CATALOG_IMG=10.5.14.200/release.daocloud.io/operator-framework/system-operator-index:v0.1.0-offline\n\n$ docker build . -f index.Dockerfile -t ${OFFLINE_CATALOG_IMG}  \n\n$ docker push ${OFFLINE_CATALOG_IMG}\n
                                        8. \u524d\u5f80\u5bb9\u5668\u7ba1\u7406\uff0c\u66f4\u65b0 helm \u5e94\u7528 olm \u7684\u5185\u7f6e catsrc \u955c\u50cf\uff08\u586b\u5199\u6784\u5efa catalog \u955c\u50cf\u6307\u5b9a\u7684 ${catalog-image} \u5373\u53ef\uff09

                                        9. \u66f4\u65b0\u6210\u529f\u540e\uff0cOperator Hub \u4e2d\u4f1a\u51fa\u73b0 minio-operator \u7ec4\u4ef6

                                        "},{"location":"admin/kpanda/permissions/cluster-ns-auth.html","title":"\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"

                                        \u5bb9\u5668\u7ba1\u7406\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u53ca\u5168\u5c40\u7528\u6237/\u7528\u6237\u7ec4\u7ba1\u7406\u5b9e\u73b0\u6388\u6743\uff0c\u5982\u9700\u4e3a\u7528\u6237\u6388\u4e88\u5bb9\u5668\u7ba1\u7406\u7684\u6700\u9ad8\u6743\u9650\uff08\u53ef\u4ee5\u521b\u5efa\u3001\u7ba1\u7406\u3001\u5220\u9664\u6240\u6709\u96c6\u7fa4\uff09\uff0c\u8bf7\u53c2\u89c1\u4ec0\u4e48\u662f\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u3002

                                        "},{"location":"admin/kpanda/permissions/cluster-ns-auth.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u4e4b\u524d\uff0c\u8bf7\u5b8c\u6210\u5982\u4e0b\u51c6\u5907\uff1a

                                        • \u5df2\u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u521b\u5efa\u4e86\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\uff0c\u8bf7\u53c2\u8003\u7528\u6237\u3002

                                        • \u4ec5 Kpanda Owner \u53ca\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin \u5177\u5907\u96c6\u7fa4\u6388\u6743\u80fd\u529b\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002

                                        • \u4ec5 Kpanda Owner\u3001\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin\uff0c\u5f53\u524d\u547d\u540d\u7a7a\u95f4\u7684 NS Admin \u5177\u5907\u547d\u540d\u7a7a\u95f4\u6388\u6743\u80fd\u529b\u3002

                                        "},{"location":"admin/kpanda/permissions/cluster-ns-auth.html#_3","title":"\u96c6\u7fa4\u6388\u6743","text":"
                                        1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u9ed8\u8ba4\u4f4d\u4e8e \u96c6\u7fa4\u6743\u9650 \u9875\u7b7e\u3002

                                        2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002

                                        3. \u5728 \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                          \u76ee\u524d\u4ec5\u652f\u6301\u7684\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u8981\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c \u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002

                                        4. \u8fd4\u56de\u96c6\u7fa4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                                        "},{"location":"admin/kpanda/permissions/cluster-ns-auth.html#_4","title":"\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"
                                        1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u70b9\u51fb \u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u7b7e\u3002

                                        2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002\u5728 \u6dfb\u52a0\u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u76ee\u6807\u547d\u540d\u7a7a\u95f4\uff0c\u4ee5\u53ca\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                          \u76ee\u524d\u652f\u6301\u7684\u547d\u540d\u7a7a\u95f4\u89d2\u8272\u4e3a NS Admin\u3001NS Editor\u3001NS Viewer\uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c\u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u6743\u9650\u6388\u6743\u3002

                                        3. \u8fd4\u56de\u547d\u540d\u7a7a\u95f4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                                          Tip

                                          \u540e\u7eed\u5982\u9700\u5220\u9664\u6216\u7f16\u8f91\u6743\u9650\uff0c\u53ef\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u7f16\u8f91 \u6216 \u5220\u9664 \u3002

                                        "},{"location":"admin/kpanda/permissions/custom-kpanda-role.html","title":"\u589e\u52a0 Kpanda \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9","text":"

                                        \u8fc7\u53bb Kpanda \u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\uff08rbac rules\uff09\u90fd\u662f\u63d0\u524d\u9884\u5b9a\u4e49\u597d\u7684\u4e14\u7528\u6237\u65e0\u6cd5\u4fee\u6539\uff0c\u56e0\u4e3a\u4ee5\u524d\u4fee\u6539\u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\u4e4b\u540e\u4e5f\u4f1a\u88ab Kpanda \u63a7\u5236\u5668\u8fd8\u539f\u6210\u9884\u5b9a\u4e49\u7684\u6743\u9650\u70b9\u3002 \u4e3a\u4e86\u652f\u6301\u66f4\u52a0\u7075\u6d3b\u7684\u6743\u9650\u914d\u7f6e\uff0c\u6ee1\u8db3\u5bf9\u7cfb\u7edf\u89d2\u8272\u7684\u81ea\u5b9a\u4e49\u9700\u6c42\uff0c\u76ee\u524d Kpanda \u652f\u6301\u4e3a\u5185\u7f6e\u7cfb\u7edf\u89d2\u8272\uff08cluster admin\u3001ns admin\u3001ns editor\u3001ns viewer\uff09\u4fee\u6539\u6743\u9650\u70b9\u3002 \u4ee5\u4e0b\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u65b0\u589e ns-viewer \u6743\u9650\u70b9\uff0c\u5c1d\u8bd5\u589e\u52a0\u53ef\u4ee5\u5220\u9664 Deployment \u7684\u6743\u9650\u3002\u5176\u4ed6\u6743\u9650\u70b9\u64cd\u4f5c\u7c7b\u4f3c\u3002

                                        "},{"location":"admin/kpanda/permissions/custom-kpanda-role.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u9002\u7528\u4e8e\u5bb9\u5668\u7ba1\u7406 v0.27.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u3002
                                        • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                        • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Viewer \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        Note

                                        • \u53ea\u9700\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0cKpanda \u63a7\u5236\u5668\u4f1a\u628a Global Cluster \u589e\u52a0\u7684\u6743\u9650\u70b9\u540c\u6b65\u5230\u6240\u6709\u63a5\u5165\u5b50\u96c6\u7fa4\u4e2d\uff0c\u540c\u6b65\u9700\u4e00\u6bb5\u65f6\u95f4\u624d\u80fd\u5b8c\u6210
                                        • \u53ea\u80fd\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0c\u5728\u5b50\u96c6\u7fa4\u65b0\u589e\u7684\u6743\u9650\u70b9\u4f1a\u88ab Global Cluster \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9\u8986\u76d6
                                        • \u53ea\u652f\u6301\u4f7f\u7528\u56fa\u5b9a Label \u7684 ClusterRole \u8ffd\u52a0\u6743\u9650\uff0c\u4e0d\u652f\u6301\u66ff\u6362\u6216\u8005\u5220\u9664\u6743\u9650\uff0c\u4e5f\u4e0d\u80fd\u4f7f\u7528 role \u8ffd\u52a0\u6743\u9650\uff0c\u5185\u7f6e\u89d2\u8272\u8ddf\u7528\u6237\u521b\u5efa\u7684 ClusterRole Label \u5bf9\u5e94\u5173\u7cfb\u5982\u4e0b

                                          cluster-admin: rbac.kpanda.io/role-template-cluster-admin: \"true\"\ncluster-edit: rbac.kpanda.io/role-template-cluster-edit: \"true\"\ncluster-view: rbac.kpanda.io/role-template-cluster-view: \"true\"\nns-admin: rbac.kpanda.io/role-template-ns-admin: \"true\"\nns-edit: rbac.kpanda.io/role-template-ns-edit: \"true\"\nns-view: rbac.kpanda.io/role-template-ns-view: \"true\"\n
                                        "},{"location":"admin/kpanda/permissions/custom-kpanda-role.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u4f7f\u7528 admin \u6216\u8005 cluster admin \u6743\u9650\u7684\u7528\u6237\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d

                                        2. \u6388\u6743 ns-viewer\uff0c\u7528\u6237\u6709\u8be5 namespace ns-view \u6743\u9650

                                        3. \u5207\u6362\u767b\u5f55\u7528\u6237\u4e3a ns-viewer\uff0c\u6253\u5f00\u63a7\u5236\u53f0\u83b7\u53d6 ns-viewer \u7528\u6237\u5bf9\u5e94\u7684 token\uff0c\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u53d1\u73b0\u65e0\u5220\u9664\u6743\u9650

                                          [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n{\"code\":7,\"message\":\"[RBAC] delete resources(deployments: nginx) is forbidden for user(ns-viewer) in cluster(cluster-member)\",\"details\":[]}[root@master-01 ~]#\n[root@master-01 ~]#\n
                                        4. \u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u521b\u5efa\u5982\u4e0b ClusterRole\uff1a

                                          apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: append-ns-view # (1)!\n  labels:\n    rbac.kpanda.io/role-template-ns-view: \"true\" # (2)!\nrules:\n  - apiGroups: [ \"apps\" ]\n    resources: [ \"deployments\" ]\n    verbs: [ \"delete\" ]\n
                                          1. \u6b64\u5b57\u6bb5\u503c\u53ef\u4efb\u610f\u6307\u5b9a\uff0c\u53ea\u9700\u4e0d\u91cd\u590d\u4e14\u7b26\u5408 Kubernetes \u8d44\u6e90\u540d\u79f0\u89c4\u5219\u8981\u6c42
                                          2. \u6ce8\u610f\u7ed9\u4e0d\u540c\u7684\u89d2\u8272\u6dfb\u52a0\u6743\u9650\u65f6\u5e94\u6253\u4e0a\u4e0d\u540c\u7684 label
                                        5. \u7b49\u5f85 Kpanda \u63a7\u5236\u5668\u6dfb\u52a0\u7528\u6237\u521b\u5efa\u6743\u9650\u5230\u5185\u7f6e\u89d2\u8272 ns-viewer \u4e2d\uff0c\u53ef\u67e5\u770b\u5bf9\u5e94\u5185\u7f6e\u89d2\u8272\u5982\u662f\u5426\u6709\u4e0a\u4e00\u6b65\u65b0\u589e\u7684\u6743\u9650\u70b9

                                          [root@master-01 ~]# kubectl get clusterrole role-template-ns-view -oyaml|grep deployments -C 10|tail -n 6\n
                                          - apiGroups:\n  - apps\n  resources:\n  - deployments\n  verbs:\n  - delete\n

                                        6. \u518d\u6b21\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u8fd9\u6b21\u6210\u529f\u5220\u9664\u4e86\u3002\u4e5f\u5c31\u662f\u8bf4\uff0cns-viewer \u6210\u529f\u65b0\u589e\u4e86\u5220\u9664 Deployment \u7684\u6743\u9650\u3002

                                          [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n
                                        "},{"location":"admin/kpanda/permissions/permission-brief.html","title":"\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e","text":"

                                        \u5bb9\u5668\u7ba1\u7406\u6743\u9650\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u4ee5\u53ca Kubernetes RBAC \u6743\u9650\u7ba1\u7406\u6253\u9020\u7684\u591a\u7ef4\u5ea6\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u3002 \u652f\u6301\u96c6\u7fa4\u7ea7\u3001\u547d\u540d\u7a7a\u95f4\u7ea7\u7684\u6743\u9650\u63a7\u5236\uff0c\u5e2e\u52a9\u7528\u6237\u4fbf\u6377\u7075\u6d3b\u5730\u5bf9\u79df\u6237\u4e0b\u7684 IAM \u7528\u6237\u3001\u7528\u6237\u7ec4\uff08\u7528\u6237\u7684\u96c6\u5408\uff09\u8bbe\u5b9a\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650\u3002

                                        "},{"location":"admin/kpanda/permissions/permission-brief.html#_2","title":"\u96c6\u7fa4\u6743\u9650","text":"

                                        \u96c6\u7fa4\u6743\u9650\u57fa\u4e8e Kubernetes RBAC \u7684 ClusterRolebinding \u6388\u6743\uff0c\u96c6\u7fa4\u6743\u9650\u8bbe\u7f6e\u53ef\u8ba9\u7528\u6237/\u7528\u6237\u7ec4\u5177\u5907\u96c6\u7fa4\u76f8\u5173\u6743\u9650\u3002 \u76ee\u524d\u7684\u9ed8\u8ba4\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff08\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u5220\u9664\u6743\u9650\uff09\u3002

                                        "},{"location":"admin/kpanda/permissions/permission-brief.html#cluster-admin","title":"Cluster Admin","text":"

                                        Cluster Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                                        • \u53ef\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b\u5bf9\u5e94\u96c6\u7fa4

                                        • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\u53ca\u96c6\u7fa4\u5185\u6240\u6709\u8d44\u6e90

                                        • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u96c6\u7fa4\u5185\u89d2\u8272 (Cluster Admin\u3001NS Admin\u3001NS Editor\u3001NS Viewer)

                                        \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                                        apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-cluster-admin\n  resourceVersion: \"15168\"\n  uid: f8f86d42-d5ef-47aa-b284-097615795076\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n
                                        "},{"location":"admin/kpanda/permissions/permission-brief.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u6743\u9650","text":"

                                        \u547d\u540d\u7a7a\u95f4\u6743\u9650\u662f\u57fa\u4e8e Kubernetes RBAC \u80fd\u529b\u7684\u6388\u6743\uff0c\u53ef\u4ee5\u5b9e\u73b0\u4e0d\u540c\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5bf9\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u5177\u6709\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650(\u5305\u62ec Kubernetes API \u6743\u9650)\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\uff1aKubernetes RBAC\u3002\u76ee\u524d\u5bb9\u5668\u7ba1\u7406\u7684\u9ed8\u8ba4\u89d2\u8272\u4e3a\uff1aNS Admin\u3001NS Editor\u3001NS Viewer\u3002

                                        "},{"location":"admin/kpanda/permissions/permission-brief.html#ns-admin","title":"NS Admin","text":"

                                        NS Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                                        • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                                        • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                                        • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u89d2\u8272 (NS Editor\u3001NS Viewer)

                                        \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                                        apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-admin\n  resourceVersion: \"15173\"\n  uid: 69f64c7e-70e7-4c7c-a3e0-053f507f2bc3\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'    \n
                                        "},{"location":"admin/kpanda/permissions/permission-brief.html#ns-editor","title":"NS Editor","text":"

                                        NS Editor \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                                        • \u53ef\u67e5\u770b\u5bf9\u5e94\u6709\u6743\u9650\u7684\u547d\u540d\u7a7a\u95f4
                                        • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d
                                        \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                                        apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-edit\n  resourceVersion: \"15175\"\n  uid: ca9e690e-96c0-4978-8915-6e4c00c748fe\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - '*'\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - '*'\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - '*'\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - '*'\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - '*'      \n
                                        "},{"location":"admin/kpanda/permissions/permission-brief.html#ns-viewer","title":"NS Viewer","text":"

                                        NS Viewer \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                                        • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                                        • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                                        \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                                        apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-view\n  resourceVersion: \"15183\"\n  uid: 853888fd-6ee8-42ac-b91e-63923918baf8\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - get\n  - list\n  - watch \n
                                        "},{"location":"admin/kpanda/permissions/permission-brief.html#faq","title":"\u6743\u9650 FAQ","text":"
                                        1. \u5168\u5c40\u6743\u9650\u548c\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u7ba1\u7406\u7684\u5173\u7cfb\uff1f

                                          \u7b54\uff1a\u5168\u5c40\u6743\u9650\u4ec5\u6388\u6743\u4e3a\u7c97\u7c92\u5ea6\u6743\u9650\uff0c\u53ef\u7ba1\u7406\u6240\u6709\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u7f16\u8f91\u3001\u5220\u9664\uff1b\u800c\u5bf9\u4e8e\u7ec6\u7c92\u5ea6\u7684\u6743\u9650\uff0c\u5982\u5355\u4e2a\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\uff0c\u5355\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u5220\u9664\u6743\u9650\uff0c\u9700\u8981\u57fa\u4e8e Kubernetes RBAC \u7684\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8fdb\u884c\u5b9e\u73b0\u3002 \u4e00\u822c\u6743\u9650\u7684\u7528\u6237\u4ec5\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u8fdb\u884c\u6388\u6743\u5373\u53ef\u3002

                                        2. \u76ee\u524d\u4ec5\u652f\u6301\u56db\u4e2a\u9ed8\u8ba4\u89d2\u8272\uff0c\u540e\u53f0\u81ea\u5b9a\u4e49\u89d2\u8272\u7684 RoleBinding \u4ee5\u53ca ClusterRoleBinding \uff08Kubernetes \u7ec6\u7c92\u5ea6\u7684 RBAC\uff09\u662f\u5426\u4e5f\u80fd\u751f\u6548\uff1f

                                          \u7b54\uff1a\u76ee\u524d\u81ea\u5b9a\u4e49\u6743\u9650\u6682\u65f6\u65e0\u6cd5\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u8fdb\u884c\u7ba1\u7406\uff0c\u4f46\u662f\u901a\u8fc7 kubectl \u521b\u5efa\u7684\u6743\u9650\u89c4\u5219\u540c\u6837\u80fd\u751f\u6548\u3002

                                        "},{"location":"admin/kpanda/scale/create-hpa.html","title":"\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u521b\u5efa HPA","text":"

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301 Pod \u8d44\u6e90\u57fa\u4e8e\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\uff08Horizontal Pod Autoscaling, HPA\uff09\u3002 \u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e CPU \u5229\u7528\u7387\u3001\u5185\u5b58\u7528\u91cf\u53ca\u81ea\u5b9a\u4e49\u6307\u6807\u6307\u6807\u6765\u52a8\u6001\u8c03\u6574 Pod \u8d44\u6e90\u7684\u526f\u672c\u6570\u91cf\u3002 \u4f8b\u5982\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u57fa\u4e8e CPU \u5229\u7528\u7387\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u540e\uff0c\u5f53 Pod \u7684 CPU \u5229\u7528\u7387\u8d85\u8fc7/\u4f4e\u4e8e\u60a8\u8bbe\u7f6e\u7684\u6307\u6807\u9600\u503c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u63a7\u5236\u5668\u5c06\u4f1a\u81ea\u52a8\u589e\u52a0/\u8f83\u5c11 Pod \u526f\u672c\u6570\u3002

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u7684\u5f39\u6027\u4f38\u7f29\u3002

                                        Note

                                        1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                                        2. \u5982\u679c\u57fa\u4e8e CPU \u5229\u7528\u7387\u521b\u5efa HPA \u7b56\u7565\uff0c\u5fc5\u987b\u9884\u5148\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u914d\u7f6e\u9650\u5236\uff08Limit\uff09\uff0c\u5426\u5219\u65e0\u6cd5\u8ba1\u7b97 CPU \u5229\u7528\u7387\u3002
                                        3. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                                        "},{"location":"admin/kpanda/scale/create-hpa.html#_1","title":"\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565","text":"

                                        \u7cfb\u7edf\u5185\u7f6e\u4e86 CPU \u548c\u5185\u5b58\u4e24\u79cd\u5f39\u6027\u4f38\u7f29\u6307\u6807\u4ee5\u6ee1\u8db3\u7528\u6237\u7684\u57fa\u7840\u4e1a\u52a1\u4f7f\u7528\u573a\u666f\u3002

                                        "},{"location":"admin/kpanda/scale/create-hpa.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u5df2\u5b8c\u6210 metrics-server \u63d2\u4ef6\u5b89\u88c5 \u3002

                                        "},{"location":"admin/kpanda/scale/create-hpa.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                                        3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                                        4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u63d2\u4ef6\uff0c\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                                        5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                                          • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                                          • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                          • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                                          • \u76ee\u6807 CPU \u5229\u7528\u7387\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b Pod \u7684 CPU \u4f7f\u7528\u7387\u3002\u8ba1\u7b97\u65b9\u5f0f\u4e3a\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u7684 Pod \u8d44\u6e90 / \u5de5\u4f5c\u8d1f\u8f7d\u7684\u8bf7\u6c42\uff08request\uff09\u503c\u3002\u5f53\u5b9e\u9645 CPU \u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                                          • \u76ee\u6807\u5185\u5b58\u7528\u91cf\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b\u7684 Pod \u7684\u5185\u5b58\u7528\u91cf\u3002\u5f53\u5b9e\u9645\u5185\u5b58\u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                                          • \u526f\u672c\u8303\u56f4\uff1aPod \u526f\u672c\u6570\u7684\u5f39\u6027\u4f38\u7f29\u8303\u56f4\u3002\u9ed8\u8ba4\u533a\u95f4\u4e3a\u4e3a 1 - 10\u3002
                                        6. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u76f8\u5173\u4e8b\u4ef6\u3002

                                        "},{"location":"admin/kpanda/scale/create-vpa.html","title":"\u521b\u5efa VPA","text":"

                                        \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u901a\u8fc7\u76d1\u63a7 Pod \u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u8d44\u6e90\u7533\u8bf7\u548c\u7528\u91cf\uff0c \u8ba1\u7b97\u51fa\u5bf9\u8be5 Pod \u800c\u8a00\u6700\u9002\u5408\u7684 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u3002\u4f7f\u7528 VPA \u53ef\u4ee5\u66f4\u52a0\u5408\u7406\u5730\u4e3a\u96c6\u7fa4\u4e0b\u6bcf\u4e2a Pod \u5206\u914d\u8d44\u6e90\uff0c\u63d0\u9ad8\u96c6\u7fa4\u7684\u6574\u4f53\u8d44\u6e90\u5229\u7528\u7387\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u901a\u8fc7\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\uff0c\u57fa\u4e8e\u6b64\u529f\u80fd\u53ef\u4ee5\u6839\u636e\u5bb9\u5668\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u52a8\u6001\u8c03\u6574 Pod \u8bf7\u6c42\u503c\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u901a\u8fc7\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u65b9\u5f0f\u6765\u4fee\u6539\u8d44\u6e90\u8bf7\u6c42\u503c\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u8981\u8fdb\u884c\u914d\u7f6e\u3002

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e Pod \u5782\u76f4\u4f38\u7f29\u3002

                                        Warning

                                        \u4f7f\u7528 VPA \u4fee\u6539 Pod \u8d44\u6e90\u8bf7\u6c42\u4f1a\u89e6\u53d1 Pod \u91cd\u542f\u3002\u7531\u4e8e Kubernetes \u672c\u8eab\u7684\u9650\u5236\uff0c Pod \u91cd\u542f\u540e\u53ef\u80fd\u4f1a\u88ab\u8c03\u5ea6\u5230\u5176\u5b83\u8282\u70b9\u4e0a\u3002

                                        "},{"location":"admin/kpanda/scale/create-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3001\u7528\u6237\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 metrics-server \u548c VPA \u63d2\u4ef6\u3002

                                        "},{"location":"admin/kpanda/scale/create-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u4e2d\u627e\u5230\u76ee\u524d\u96c6\u7fa4\uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u627e\u5230\u9700\u8981\u521b\u5efa VPA \u7684\u8d1f\u8f7d\uff0c\u70b9\u51fb\u8be5\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                                          3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\uff0c\u786e\u8ba4\u5df2\u7ecf\u5b89\u88c5\u4e86\u76f8\u5173\u63d2\u4ef6\u5e76\u4e14\u63d2\u4ef6\u662f\u5426\u8fd0\u884c\u6b63\u5e38\u3002

                                        3. \u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\uff0c\u5e76\u914d\u7f6e VPA \u5782\u76f4\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                                          • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 vpa-my-dep\u3002
                                          • \u4f38\u7f29\u6a21\u5f0f\uff1a\u6267\u884c\u4fee\u6539 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u7684\u65b9\u5f0f\uff0c\u76ee\u524d\u5782\u76f4\u4f38\u7f29\u652f\u6301\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u4f38\u7f29\u6a21\u5f0f\u3002
                                            • \u624b\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u8ba1\u7b97\u51fa\u63a8\u8350\u7684\u8d44\u6e90\u914d\u7f6e\u503c\u540e\uff0c\u9700\u7528\u6237\u624b\u52a8\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                                            • \u81ea\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u81ea\u52a8\u8ba1\u7b97\u548c\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                                          • \u76ee\u6807\u5bb9\u5668\uff1a\u9009\u62e9\u9700\u8981\u8fdb\u884c\u5782\u76f4\u4f38\u7f29\u7684\u5bb9\u5668\u3002
                                        4. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\u3002

                                        Note

                                        \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c--min-replicas \u7684\u503c\u4e3a 2\u3002\u8868\u793a\u5f53\u526f\u672c\u6570\u5927\u4e8e 1 \u65f6\uff0cVPA \u624d\u4f1a\u751f\u6548\uff0c \u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 updater \u7684 --min-replicas \u53c2\u6570\u503c\u6765\u6539\u53d8\u8fd9\u4e00\u9ed8\u8ba4\u884c\u4e3a\u3002

                                        spec: \n  containers: \n  - name: updater \n  args: \n  - \"--min-replicas=2\"\n
                                        "},{"location":"admin/kpanda/scale/custom-hpa.html","title":"\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa HPA","text":"

                                        \u5f53\u7cfb\u7edf\u5185\u7f6e\u7684 CPU \u548c\u5185\u5b58\u4e24\u79cd\u6307\u6807\u4e0d\u80fd\u6ee1\u8db3\u60a8\u4e1a\u52a1\u7684\u5b9e\u9645\u9700\u6c42\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e ServiceMonitoring \u6765\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6307\u6807\uff0c \u5e76\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u5b9e\u73b0\u5f39\u6027\u4f38\u7f29\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002

                                        Note

                                        1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                                        2. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                                        "},{"location":"admin/kpanda/scale/custom-hpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c \u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762
                                        • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa
                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743
                                        • \u5df2\u5b89\u88c5 metrics-server \u63d2\u4ef6
                                        • \u5df2\u5b89\u88c5 insight-agent \u63d2\u4ef6
                                        • \u5df2\u5b89\u88c5 Prometheus-adapter \u63d2\u4ef6
                                        "},{"location":"admin/kpanda/scale/custom-hpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                                        3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                                        4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u3001Insight\u3001Prometheus-adapter \u63d2\u4ef6\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                                          Note

                                          \u5982\u679c\u76f8\u5173\u63d2\u4ef6\u672a\u5b89\u88c5\u6216\u63d2\u4ef6\u5904\u4e8e\u5f02\u5e38\u72b6\u6001\uff0c\u60a8\u5728\u9875\u9762\u4e0a\u5c06\u65e0\u6cd5\u770b\u89c1\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u5165\u53e3\u3002

                                        5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                                          • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                                          • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                          • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                                          • \u8d44\u6e90\u7c7b\u578b\uff1a\u8fdb\u884c\u76d1\u63a7\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u7c7b\u578b\uff0c\u5305\u542b Pod \u548c Service \u4e24\u79cd\u7c7b\u578b\u3002
                                          • \u6307\u6807\uff1a\u4f7f\u7528 ServiceMonitoring \u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u6216\u7cfb\u7edf\u5185\u7f6e\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u3002
                                          • \u6570\u636e\u7c7b\u578b\uff1a\u7528\u4e8e\u8ba1\u7b97\u6307\u6807\u503c\u7684\u65b9\u6cd5\uff0c\u5305\u542b\u76ee\u6807\u503c\u548c\u76ee\u6807\u5e73\u5747\u503c\u4e24\u79cd\u7c7b\u578b\uff0c\u5f53\u8d44\u6e90\u7c7b\u578b\u4e3a Pod \u65f6\uff0c\u53ea\u652f\u6301\u4f7f\u7528\u76ee\u6807\u5e73\u5747\u503c\u3002
                                        "},{"location":"admin/kpanda/scale/custom-hpa.html#_3","title":"\u64cd\u4f5c\u793a\u4f8b","text":"

                                        \u672c\u6848\u4f8b\u4ee5 Golang \u4e1a\u52a1\u7a0b\u5e8f\u4e3a\u4f8b\uff0c\u8be5\u793a\u4f8b\u7a0b\u5e8f\u66b4\u9732\u4e86 httpserver_requests_total \u6307\u6807\uff0c\u5e76\u8bb0\u5f55 HTTP \u7684\u8bf7\u6c42\uff0c\u901a\u8fc7\u8be5\u6307\u6807\u53ef\u4ee5\u8ba1\u7b97\u51fa\u4e1a\u52a1\u7a0b\u5e8f\u7684 QPS \u503c\u3002

                                        "},{"location":"admin/kpanda/scale/custom-hpa.html#_4","title":"\u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f","text":"

                                        \u4f7f\u7528 Deployment \u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f\uff1a

                                        apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: httpserver\n  namespace: httpserver\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: httpserver\n  template:\n    metadata:\n      labels:\n        app: httpserver\n    spec:\n      containers:\n      - name: httpserver\n        image: registry.imroc.cc/test/httpserver:custom-metrics\n        imagePullPolicy: Always\n---\n\napiVersion: v1\nkind: Service\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    app: httpserver\n  annotations:\n    prometheus.io/scrape: \"true\"\n    prometheus.io/path: \"/metrics\"\n    prometheus.io/port: \"http\"\nspec:\n  type: ClusterIP\n  ports:\n  - port: 80\n    protocol: TCP\n    name: http\n  selector:\n    app: httpserver\n
                                        "},{"location":"admin/kpanda/scale/custom-hpa.html#prometheus","title":"Prometheus \u91c7\u96c6\u4e1a\u52a1\u76d1\u63a7","text":"

                                        \u82e5\u5df2\u5b89\u88c5 insight-agent\uff0c\u53ef\u4ee5\u901a\u8fc7\u521b\u5efa ServiceMonitor \u7684 CRD \u5bf9\u8c61\u914d\u7f6e Prometheus\u3002

                                        \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> \u81ea\u5b9a\u4e49\u8d44\u6e90 \u641c\u7d22\u201cservicemonitors.monitoring.coreos.com\"\uff0c\u70b9\u51fb\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\u3002 \u901a\u8fc7\u521b\u5efa YAML\uff0c\u5728\u547d\u540d\u7a7a\u95f4 httpserver \u4e0b\u521b\u5efa\u5982\u4e0b\u793a\u4f8b\u7684 CRD\uff1a

                                        apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    operator.insight.io/managed-by: insight\nspec:\n  endpoints:\n  - port: http\n    interval: 5s\n  namespaceSelector:\n    matchNames:\n    - httpserver\n  selector:\n    matchLabels:\n      app: httpserver\n

                                        Note

                                        \u82e5\u901a\u8fc7 insight \u5b89\u88c5 Prometheus\uff0c\u5219 serviceMonitor \u4e0a\u5fc5\u987b\u6253\u4e0a operator.insight.io/managed-by: insight \u8fd9\u4e2a label\uff0c\u901a\u8fc7\u5176\u4ed6\u65b9\u5f0f\u5b89\u88c5\u5219\u65e0\u9700\u6b64 label\u3002

                                        "},{"location":"admin/kpanda/scale/custom-hpa.html#prometheus-adapter","title":"\u5728 prometheus-adapter \u4e2d\u914d\u7f6e\u6307\u6807\u89c4\u5219","text":"

                                        \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 \u641c\u7d22 \u201cprometheus-adapter\"\uff0c\u901a\u8fc7\u64cd\u4f5c\u680f\u8fdb\u5165\u66f4\u65b0\u9875\u9762\uff0c\u5728 YAML \u4e2d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a

                                        rules:\n  custom:\n    - metricsQuery: sum(rate(<<.Series>>{<<.LabelMatchers>>}[1m])) by (<<.GroupBy>>)\n      name:\n        as: httpserver_requests_qps\n        matches: httpserver_requests_total\n      resources:\n        template: <<.Resource>>\n      seriesQuery: httpserver_requests_total\n

                                        "},{"location":"admin/kpanda/scale/custom-hpa.html#_5","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570","text":"

                                        \u6309\u7167\u4e0a\u8ff0\u6b65\u9aa4\u5728 Deployment \u4e2d\u627e\u5230\u5e94\u7528\u7a0b\u5e8f httpserver \u5e76\u901a\u8fc7\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa\u5f39\u6027\u4f38\u7f29\u3002

                                        "},{"location":"admin/kpanda/scale/hpa-cronhpa-compatibility-rules.html","title":"HPA \u548c CronHPA \u517c\u5bb9\u89c4\u5219","text":"

                                        HPA \u5168\u79f0\u4e3a HorizontalPodAutoscaler\uff0c\u5373 Pod \u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                                        CronHPA \u5168\u79f0\u4e3a Cron HorizontalPodAutoscaler\uff0c\u5373 Pod \u5b9a\u65f6\u7684\u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                                        "},{"location":"admin/kpanda/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa","title":"CronHPA \u548c HPA \u517c\u5bb9\u51b2\u7a81","text":"

                                        \u5b9a\u65f6\u4f38\u7f29 CronHPA \u901a\u8fc7\u8bbe\u7f6e\u5b9a\u65f6\u7684\u65b9\u5f0f\u89e6\u53d1\u5bb9\u5668\u7684\u6c34\u5e73\u526f\u672c\u4f38\u7f29\u3002\u4e3a\u4e86\u9632\u6b62\u7a81\u53d1\u7684\u6d41\u91cf\u51b2\u51fb\u7b49\u72b6\u51b5\uff0c \u60a8\u53ef\u80fd\u5df2\u7ecf\u914d\u7f6e HPA \u4fdd\u969c\u5e94\u7528\u7684\u6b63\u5e38\u8fd0\u884c\u3002\u5982\u679c\u540c\u65f6\u68c0\u6d4b\u5230\u4e86 HPA \u548c CronHPA \u7684\u5b58\u5728\uff0c \u7531\u4e8e CronHPA \u548c HPA \u76f8\u4e92\u72ec\u7acb\u65e0\u6cd5\u611f\u77e5\uff0c\u5c31\u4f1a\u51fa\u73b0\u4e24\u4e2a\u63a7\u5236\u5668\u5404\u81ea\u5de5\u4f5c\uff0c\u540e\u6267\u884c\u7684\u64cd\u4f5c\u4f1a\u8986\u76d6\u5148\u6267\u884c\u7684\u64cd\u4f5c\u3002

                                        \u5bf9\u6bd4 CronHPA \u548c HPA \u7684\u5b9a\u4e49\u6a21\u677f\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230\u4ee5\u4e0b\u51e0\u70b9\uff1a

                                        • CronHPA \u548c HPA \u90fd\u662f\u901a\u8fc7 scaleTargetRef \u5b57\u6bb5\u6765\u83b7\u53d6\u4f38\u7f29\u5bf9\u8c61\u3002
                                        • CronHPA \u901a\u8fc7 jobs \u7684 crontab \u89c4\u5219\u5b9a\u65f6\u4f38\u7f29\u526f\u672c\u6570\u3002
                                        • HPA \u901a\u8fc7\u8d44\u6e90\u5229\u7528\u7387\u5224\u65ad\u4f38\u7f29\u60c5\u51b5\u3002

                                        Note

                                        \u5982\u679c\u540c\u65f6\u8bbe\u7f6e CronHPA \u548c HPA\uff0c\u4f1a\u51fa\u73b0 CronHPA \u548c HPA \u540c\u65f6\u64cd\u4f5c\u4e00\u4e2a scaleTargetRef \u7684\u573a\u666f\u3002

                                        "},{"location":"admin/kpanda/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa_1","title":"CronHPA \u548c HPA \u517c\u5bb9\u65b9\u6848","text":"

                                        \u4ece\u4e0a\u6587\u53ef\u77e5\uff0cCronHPA \u548c HPA \u540c\u65f6\u4f7f\u7528\u4f1a\u5bfc\u81f4\u540e\u6267\u884c\u7684\u64cd\u4f5c\u8986\u76d6\u5148\u6267\u884c\u64cd\u4f5c\u7684\u672c\u8d28\u539f\u56e0\u662f\u4e24\u4e2a\u63a7\u5236\u5668\u65e0\u6cd5\u76f8\u4e92\u611f\u77e5\uff0c \u90a3\u4e48\u53ea\u9700\u8981\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u5c31\u80fd\u89e3\u51b3\u51b2\u7a81\u95ee\u9898\u3002

                                        \u7cfb\u7edf\u4f1a\u5c06 HPA \u4f5c\u4e3a\u5b9a\u65f6\u4f38\u7f29 CronHPA \u7684\u6269\u7f29\u5bb9\u5bf9\u8c61\uff0c\u4ece\u800c\u5b9e\u73b0\u5bf9\u8be5 HPA \u5b9a\u4e49\u7684 Deployment \u5bf9\u8c61\u7684\u5b9a\u65f6\u6269\u7f29\u5bb9\u3002

                                        HPA \u7684\u5b9a\u4e49\u5c06 Deployment \u914d\u7f6e\u5728 scaleTargetRef \u5b57\u6bb5\u4e0b\uff0c\u7136\u540e Deployment \u901a\u8fc7\u81ea\u8eab\u5b9a\u4e49\u67e5\u627e ReplicaSet\uff0c\u6700\u540e\u901a\u8fc7 ReplicaSet \u8c03\u6574\u771f\u5b9e\u7684\u526f\u672c\u6570\u76ee\u3002

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06 CronHPA \u4e2d\u7684 scaleTargetRef \u8bbe\u7f6e\u4e3a HPA \u5bf9\u8c61\uff0c\u7136\u540e\u901a\u8fc7 HPA \u5bf9\u8c61\u6765\u5bfb\u627e\u771f\u5b9e\u7684 scaleTargetRef\uff0c\u4ece\u800c\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u3002

                                        CronHPA \u4f1a\u901a\u8fc7\u8c03\u6574 HPA \u7684\u65b9\u5f0f\u611f\u77e5 HPA\u3002CronHPA \u901a\u8fc7\u8bc6\u522b\u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e\u5f53\u524d\u526f\u672c\u6570\u4e24\u8005\u95f4\u7684\u8f83\u5927\u503c\uff0c \u5224\u65ad\u662f\u5426\u9700\u8981\u6269\u7f29\u5bb9\u53ca\u4fee\u6539 HPA \u7684\u4e0a\u9650\uff1bCronHPA \u901a\u8fc7\u8bc6\u522b CronHPA \u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e HPA \u7684\u914d\u7f6e\u95f4\u7684\u8f83\u5c0f\u503c\uff0c\u5224\u65ad\u662f\u5426\u9700\u8981\u4fee\u6539 HPA \u7684\u4e0b\u9650\u3002

                                        "},{"location":"admin/kpanda/scale/install-cronhpa.html","title":"\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6","text":"

                                        \u5bb9\u5668\u526f\u672c\u5b9a\u65f6\u6c34\u5e73\u6269\u7f29\u5bb9\u7b56\u7565\uff08CronHPA\uff09\u80fd\u591f\u4e3a\u5468\u671f\u6027\u9ad8\u5e76\u53d1\u5e94\u7528\u63d0\u4f9b\u7a33\u5b9a\u7684\u8ba1\u7b97\u8d44\u6e90\u4fdd\u969c\uff0c kubernetes-cronhpa-controller \u5219\u662f\u5b9e\u73b0 CronHPA \u7684\u5173\u952e\u7ec4\u4ef6\u3002

                                        \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                                        Note

                                        \u4e3a\u4e86\u4f7f\u7528 CornHPA\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u8fd8\u8981\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                                        "},{"location":"admin/kpanda/scale/install-cronhpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        "},{"location":"admin/kpanda/scale/install-cronhpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                                        2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 CronHPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                                        3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.3.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                                        4. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                                          • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002
                                          • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                                          • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 1.3.0 \u7248\u672c\u4e3a\u4f8b\u3002
                                          • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                                          • \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                                          • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                                          Note

                                          \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                                        5. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                                          Warning

                                          \u5982\u9700\u5220\u9664 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                                          \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                                        6. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa CronHPA \u7b56\u7565\u4e86\u3002

                                        "},{"location":"admin/kpanda/scale/install-metrics-server.html","title":"\u5b89\u88c5 metrics-server \u63d2\u4ef6","text":"

                                        metrics-server \u662f Kubernetes \u5185\u7f6e\u7684\u8d44\u6e90\u4f7f\u7528\u6307\u6807\u91c7\u96c6\u7ec4\u4ef6\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e\u5f39\u6027\u4f38\u7f29\uff08HPA\uff09\u7b56\u7565\u6765\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u81ea\u52a8\u6c34\u5e73\u4f38\u7f29 Pod \u526f\u672c\u3002

                                        \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 metrics-server \u3002

                                        "},{"location":"admin/kpanda/scale/install-metrics-server.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5b89\u88c5 metrics-server \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        "},{"location":"admin/kpanda/scale/install-metrics-server.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                                        1. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u4e0b\u7684\u5f39\u6027\u4f38\u7f29\u9875\u9762\uff0c\u70b9\u51fb \u53bb\u5b89\u88c5 \uff0c\u8fdb\u5165 metrics-server \u63d2\u4ef6\u5b89\u88c5\u754c\u9762\u3002

                                        2. \u9605\u8bfb metrics-server \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u60a8\u5b89\u88c5 3.8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u3002

                                        3. \u5728\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u914d\u7f6e\u57fa\u672c\u53c2\u6570\u3002

                                          • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
                                          • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                                          • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u3002
                                          • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                                          • \u5931\u8d25\u5220\u9664\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
                                          • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u5b89\u88c5\u8fc7\u7a0b\u65e5\u5fd7\u7684\u8be6\u7ec6\u8f93\u51fa\u3002

                                          Note

                                          \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                                        4. \u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e

                                          • \u5982\u679c\u96c6\u7fa4\u7f51\u7edc\u65e0\u6cd5\u8bbf\u95ee k8s.gcr.io \u4ed3\u5e93\uff0c\u8bf7\u5c1d\u8bd5\u4fee\u6539 repositort \u53c2\u6570\u4e3a repository: k8s.m.daocloud.io/metrics-server/metrics-server

                                          • \u5b89\u88c5 metrics-server \u63d2\u4ef6\u8fd8\u9700\u63d0\u4f9b SSL \u8bc1\u4e66\u3002\u5982\u9700\u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\uff0c\u9700\u8981\u5728 defaultArgs: \u5904\u6dfb\u52a0 - --kubelet-insecure-tls \u53c2\u6570\u3002

                                          \u70b9\u51fb\u67e5\u770b\u63a8\u8350\u7684 YAML \u53c2\u6570
                                          image:\n  repository: k8s.m.daocloud.io/metrics-server/metrics-server # \u5c06\u4ed3\u5e93\u6e90\u5730\u5740\u4fee\u6539\u4e3a k8s.m.daocloud.io\n  tag: ''\n  pullPolicy: IfNotPresent\nimagePullSecrets: []\nnameOverride: ''\nfullnameOverride: ''\nserviceAccount:\n  create: true\n  annotations: {}\n  name: ''\nrbac:\n  create: true\n  pspEnabled: false\napiService:\n  create: true\npodLabels: {}\npodAnnotations: {}\npodSecurityContext: {}\nsecurityContext:\n  allowPrivilegeEscalation: false\n  readOnlyRootFilesystem: true\n  runAsNonRoot: true\n  runAsUser: 1000\npriorityClassName: system-cluster-critical\ncontainerPort: 4443\nhostNetwork:\n  enabled: false\nreplicas: 1\nupdateStrategy: {}\npodDisruptionBudget:\n  enabled: false\n  minAvailable: null\n  maxUnavailable: null\ndefaultArgs:\n  - '--cert-dir=/tmp'\n  - '--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname'\n  - '--kubelet-use-node-status-port'\n  - '--metric-resolution=15s'\n  - --kubelet-insecure-tls # \u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\nargs: []\nlivenessProbe:\n  httpGet:\n    path: /livez\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 0\n  periodSeconds: 10\n  failureThreshold: 3\nreadinessProbe:\n  httpGet:\n    path: /readyz\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 20\n  periodSeconds: 10\n  failureThreshold: 3\nservice:\n  type: ClusterIP\n  port: 443\n  annotations: {}\n  labels: {}\nmetrics:\n  enabled: false\nserviceMonitor:\n  enabled: false\n  additionalLabels: {}\n  interval: 1m\n  scrapeTimeout: 10s\nresources: {}\nextraVolumeMounts: []\nextraVolumes: []\nnodeSelector: {}\ntolerations: []\naffinity: {}\n
                                        5. \u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 metrics-server \u63d2\u4ef6\u7684\u5b89\u88c5\uff0c\u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c \u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                                        Note

                                        \u5220\u9664 metrics-server \u63d2\u4ef6\u65f6\uff0c\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5f7b\u5e95\u5220\u9664\u8be5\u63d2\u4ef6\u3002\u5982\u679c\u4ec5\u5728\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u5220\u9664 metrics-server \uff0c \u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u5e94\u7528\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u5e94\u7528\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                                        "},{"location":"admin/kpanda/scale/install-vpa.html","title":"\u5b89\u88c5 vpa \u63d2\u4ef6","text":"

                                        \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u80fd\u591f\u8ba9\u96c6\u7fa4\u7684\u8d44\u6e90\u914d\u7f6e\u66f4\u52a0\u5408\u7406\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002 vpa \u5219\u662f\u5b9e\u73b0\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7684\u5173\u952e\u7ec4\u4ef6\u3002

                                        \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                                        \u4e3a\u4e86\u4f7f\u7528 VPA \u7b56\u7565\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 __vpa__ \u63d2\u4ef6\uff0c\u8fd8\u8981[\u5b89\u88c5 __metrics-server__ \u63d2\u4ef6](install-metrics-server.md)\u3002\n
                                        "},{"location":"admin/kpanda/scale/install-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5b89\u88c5 vpa \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        "},{"location":"admin/kpanda/scale/install-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                                        1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                                        2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 VPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                                          3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.5.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                                          4. \u67e5\u770b\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                                          - \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002 - \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002 - \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.5.0 \u7248\u672c\u4e3a\u4f8b\u3002 - \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002 - \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002 - \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                                          Note

                                          \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                                        3. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                                          Warning

                                          \u5982\u9700\u5220\u9664 vpa \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                                          \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                                        4. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa VPA \u7b56\u7565\u4e86\u3002

                                        "},{"location":"admin/kpanda/scale/knative/install.html","title":"\u5b89\u88c5","text":"

                                        Knative \u662f\u4e00\u4e2a\u9762\u5411\u65e0\u670d\u52a1\u5668\u90e8\u7f72\u7684\u8de8\u5e73\u53f0\u89e3\u51b3\u65b9\u6848\u3002

                                        1. \u767b\u5f55\u96c6\u7fa4\uff0c\u70b9\u51fb\u4fa7\u8fb9\u680f Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u53f3\u4fa7\u4e0a\u65b9\u641c\u7d22\u6846\u8f93\u5165 knative \uff0c\u7136\u540e\u6309\u56de\u8f66\u952e\u641c\u7d22\u3002

                                        2. \u70b9\u51fb\u641c\u7d22\u51fa\u7684 knative-operator \uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002\u4f60\u53ef\u4ee5\u5728\u8be5\u754c\u9762\u67e5\u770b\u53ef\u7528\u7248\u672c\u4ee5\u53ca Helm values \u7684 Parameters \u53ef\u9009\u9879\u3002

                                        3. \u70b9\u51fb\u5b89\u88c5\u6309\u94ae\u540e\uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002

                                        4. \u8f93\u5165\u540d\u79f0\uff0c\u5b89\u88c5\u79df\u6237\uff0c\u5efa\u8bae\u52fe\u9009 \u5c31\u7eea\u7b49\u5f85 \u548c \u8be6\u7ec6\u65e5\u5fd7 \u3002

                                        5. \u5728\u4e0b\u65b9\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u52fe\u9009 Serving \uff0c\u5e76\u8f93\u5165 Knative Serving \u7ec4\u4ef6\u7684\u5b89\u88c5\u79df\u6237\uff0c\u4f1a\u5728\u5b89\u88c5\u540e\u90e8\u7f72 Knative Serving \u7ec4\u4ef6\uff0c\u8be5\u7ec4\u4ef6\u7531 Knative Operator \u7ba1\u7406\u3002

                                        "},{"location":"admin/kpanda/scale/knative/knative.html","title":"Kantive \u4ecb\u7ecd","text":"

                                        Knative \u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u9ad8\u5c42\u6b21\u7684\u62bd\u8c61\uff0c\u7b80\u5316\u5e76\u52a0\u901f\u4e86\u5728 Kubernetes \u4e0a\u6784\u5efa\u3001\u90e8\u7f72\u548c\u7ba1\u7406\u5e94\u7528\u7684\u8fc7\u7a0b\u3002\u5b83\u4f7f\u5f97\u5f00\u53d1\u4eba\u5458\u80fd\u591f\u66f4\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u5b9e\u73b0\uff0c\u800c\u5c06\u5927\u90e8\u5206\u57fa\u7840\u8bbe\u65bd\u548c\u8fd0\u7ef4\u5de5\u4f5c\u4ea4\u7ed9 Knative \u53bb\u5904\u7406\uff0c\u4ece\u800c\u663e\u8457\u63d0\u9ad8\u751f\u4ea7\u529b\u3002

                                        "},{"location":"admin/kpanda/scale/knative/knative.html#_1","title":"\u7ec4\u4ef6","text":"

                                        knative-operator \u8fd0\u884c\u7ec4\u4ef6\u5982\u4e0b\u3002

                                        knative-operator   knative-operator-58f7d7db5c-7f6r5      1/1     Running     0     6m55s\nknative-operator   operator-webhook-667dc67bc-qvrv4       1/1     Running     0     6m55s\n

                                        knative-serving \u7ec4\u4ef6\u5982\u4e0b\u3002

                                        knative-serving        3scale-kourier-gateway-d69fbfbd-bd8d8   1/1     Running     0                 7m13s\nknative-serving        activator-7c6fddd698-wdlng              1/1     Running     0                 7m3s\nknative-serving        autoscaler-8f4b876bb-kd25p              1/1     Running     0                 7m17s\nknative-serving        autoscaler-hpa-5f7f74679c-vkc7p         1/1     Running     0                 7m15s\nknative-serving        controller-789c896c46-tfvsv             1/1     Running     0                 7m17s\nknative-serving        net-kourier-controller-7db578c889-7gd5l 1/1     Running     0                 7m14s\nknative-serving        webhook-5c88b94c5-78x7m                 1/1     Running     0                 7m1s\nknative-serving        storage-version-migration-serving-serving-1.12.2-t7zvd   0/1  Completed   0   7m15s\n
                                        \u7ec4\u4ef6 \u4f5c\u7528 Activator \u5bf9\u8bf7\u6c42\u6392\u961f\uff08\u5982\u679c\u4e00\u4e2a Knative Service \u5df2\u7ecf\u7f29\u51cf\u5230\u96f6\uff09\u3002\u8c03\u7528 autoscaler\uff0c\u5c06\u7f29\u51cf\u5230 0 \u7684\u670d\u52a1\u6062\u590d\u5e76\u8f6c\u53d1\u6392\u961f\u7684\u8bf7\u6c42\u3002Activator \u8fd8\u53ef\u4ee5\u5145\u5f53\u8bf7\u6c42\u7f13\u51b2\u5668\uff0c\u5904\u7406\u7a81\u53d1\u6d41\u91cf\u3002 Autoscaler Autoscaler \u8d1f\u8d23\u6839\u636e\u914d\u7f6e\u3001\u6307\u6807\u548c\u8fdb\u5165\u7684\u8bf7\u6c42\u6765\u7f29\u653e Knative \u670d\u52a1\u3002 Controller \u7ba1\u7406 Knative CR \u7684\u72b6\u6001\u3002\u5b83\u4f1a\u76d1\u89c6\u591a\u4e2a\u5bf9\u8c61\uff0c\u7ba1\u7406\u4f9d\u8d56\u8d44\u6e90\u7684\u751f\u547d\u5468\u671f\uff0c\u5e76\u66f4\u65b0\u8d44\u6e90\u72b6\u6001\u3002 Queue-Proxy Sidecar \u5bb9\u5668\uff0c\u6bcf\u4e2a Knative Service \u90fd\u4f1a\u6ce8\u5165\u4e00\u4e2a\u3002\u8d1f\u8d23\u6536\u96c6\u6d41\u91cf\u6570\u636e\u5e76\u62a5\u544a\u7ed9 Autoscaler\uff0cAutoscaler \u6839\u636e\u8fd9\u4e9b\u6570\u636e\u548c\u9884\u8bbe\u7684\u89c4\u5219\u6765\u53d1\u8d77\u6269\u5bb9\u6216\u7f29\u5bb9\u8bf7\u6c42\u3002 Webhooks Knative Serving \u6709\u51e0\u4e2a Webhooks \u8d1f\u8d23\u9a8c\u8bc1\u548c\u53d8\u66f4 Knative \u8d44\u6e90\u3002"},{"location":"admin/kpanda/scale/knative/knative.html#ingress","title":"Ingress \u6d41\u91cf\u5165\u53e3\u65b9\u6848","text":"\u65b9\u6848 \u9002\u7528\u573a\u666f Istio \u5982\u679c\u5df2\u7ecf\u7528\u4e86 Istio\uff0c\u53ef\u4ee5\u9009\u62e9 Istio \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Contour \u5982\u679c\u96c6\u7fa4\u4e2d\u5df2\u7ecf\u542f\u7528\u4e86 Contour\uff0c\u53ef\u4ee5\u9009\u62e9 Contour \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Kourier \u5982\u679c\u5728\u6ca1\u6709\u4e0a\u8ff0 2 \u79cd Ingress \u7ec4\u4ef6\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 Knative \u57fa\u4e8e Envoy \u5b9e\u73b0\u7684 Kourier Ingress \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u3002"},{"location":"admin/kpanda/scale/knative/knative.html#autoscaler","title":"Autoscaler \u65b9\u6848\u5bf9\u6bd4","text":"Autoscaler \u7c7b\u578b \u662f\u5426\u4e3a Knative Serving \u6838\u5fc3\u90e8\u5206 \u9ed8\u8ba4\u542f\u7528 Scale to Zero \u652f\u6301 \u57fa\u4e8e CPU \u7684 Autoscaling \u652f\u6301 Knative Pod Autoscaler (KPA) \u662f \u662f \u662f \u5426 Horizontal Pod Autoscaler (HPA) \u5426 \u9700\u5b89\u88c5 Knative Serving \u540e\u542f\u7528 \u5426 \u662f"},{"location":"admin/kpanda/scale/knative/knative.html#crd","title":"CRD","text":"\u8d44\u6e90\u7c7b\u578b API \u540d\u79f0 \u63cf\u8ff0 Services service.serving.knative.dev \u81ea\u52a8\u7ba1\u7406 Workload \u7684\u6574\u4e2a\u751f\u547d\u5468\u671f\uff0c\u63a7\u5236\u5176\u4ed6\u5bf9\u8c61\u7684\u521b\u5efa\uff0c\u786e\u4fdd\u5e94\u7528\u5177\u6709 Routes\u3001Configurations \u4ee5\u53ca\u6bcf\u6b21\u66f4\u65b0\u65f6\u7684\u65b0 revision\u3002 Routes route.serving.knative.dev \u5c06\u7f51\u7edc\u7aef\u70b9\u6620\u5c04\u5230\u4e00\u4e2a\u6216\u591a\u4e2a\u4fee\u8ba2\u7248\u672c\uff0c\u652f\u6301\u6d41\u91cf\u5206\u914d\u548c\u7248\u672c\u8def\u7531\u3002 Configurations configuration.serving.knative.dev \u7ef4\u62a4\u90e8\u7f72\u7684\u671f\u671b\u72b6\u6001\uff0c\u63d0\u4f9b\u4ee3\u7801\u548c\u914d\u7f6e\u4e4b\u95f4\u7684\u5206\u79bb\uff0c\u9075\u5faa Twelve-Factor \u5e94\u7528\u7a0b\u5e8f\u65b9\u6cd5\u8bba\uff0c\u4fee\u6539\u914d\u7f6e\u4f1a\u521b\u5efa\u65b0\u7684 revision\u3002 Revisions revision.serving.knative.dev \u6bcf\u6b21\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u4fee\u6539\u7684\u65f6\u95f4\u70b9\u5feb\u7167\uff0c\u662f\u4e0d\u53ef\u53d8\u5bf9\u8c61\uff0c\u53ef\u6839\u636e\u6d41\u91cf\u81ea\u52a8\u6269\u5bb9\u548c\u7f29\u5bb9\u3002"},{"location":"admin/kpanda/scale/knative/playground.html","title":"Knative \u4f7f\u7528\u5b9e\u8df5","text":"

                                        \u5728\u672c\u8282\u4e2d\uff0c\u6211\u4eec\u5c06\u901a\u8fc7\u51e0\u4e2a\u5b9e\u8df5\u6765\u6df1\u5165\u4e86\u89e3\u5b66\u4e60 Knative\u3002

                                        "},{"location":"admin/kpanda/scale/knative/playground.html#case-1-hello-world","title":"case 1 - Hello World","text":"
                                        apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                                        \u53ef\u4ee5\u4f7f\u7528 kubectl \u5df2\u90e8\u7f72\u7684\u5e94\u7528\u7684\u72b6\u6001\uff0c\u8fd9\u4e2a\u5e94\u7528\u7531 knative \u81ea\u52a8\u914d\u7f6e\u4e86 ingress \u548c\u4f38\u7f29\u5668\u3002

                                        ~ kubectl get service.serving.knative.dev/hello\nNAME    URL                                              LATESTCREATED   LATESTREADY   READY   REASON\nhello   http://hello.knative-serving.knative.loulan.me   hello-00001     hello-00001   True\n

                                        \u90e8\u7f72\u51fa\u7684 Pod YAML \u5982\u4e0b\uff0c\u7531 2 \u4e2a Pod \u7ec4\u6210\uff1auser-container \u548c queue-proxy\u3002

                                        apiVersion: v1\nkind: Pod\nmetadata:\n  name: hello-00003-deployment-5fcb8ccbf-7qjfk\nspec:\n  containers:\n  - name: user-container\n  - name: queue-proxy\n

                                        \u8bf7\u6c42\u6d41\uff1a

                                        1. case1 \u5728\u4f4e\u6d41\u91cf\u6216\u96f6\u6d41\u91cf\u65f6\uff0c\u6d41\u91cf\u5c06\u8def\u7531\u5230 activator
                                        2. case2 \u6d41\u91cf\u5927\u65f6\uff0c\u6d41\u91cf\u5927\u4e8e target-burst-capacity \u65f6\u624d\u76f4\u63a5\u8def\u7531\u5230 Pod
                                          1. \u914d\u7f6e\u4e3a 0\uff0c\u53ea\u6709\u4ece 0 \u6269\u5bb9\u5b58\u5728
                                          2. \u914d\u7f6e\u4e3a -1\uff0cactivator \u4f1a\u4e00\u76f4\u5b58\u5728\u8bf7\u6c42\u8def\u5f84
                                          3. \u914d\u7f6e\u4e3a >0\uff0c\u89e6\u53d1\u6269\u7f29\u5bb9\u4e4b\u524d\uff0c\u7cfb\u7edf\u80fd\u591f\u989d\u5916\u5904\u7406\u7684\u5e76\u53d1\u8bf7\u6c42\u6570\u91cf\u3002
                                        3. case3 \u6d41\u91cf\u518d\u53d8\u5c0f\u65f6\uff0c\u6d41\u91cf\u4f4e\u4e8e current_demand + target-burst-capacity > (pods * concurrency-target) \u65f6\u5c06\u518d\u6b21\u8def\u7531\u5230 activator

                                          \u5f85\u5904\u7406\u7684\u8bf7\u6c42\u603b\u6570 + \u80fd\u63a5\u53d7\u7684\u8d85\u8fc7\u76ee\u6807\u5e76\u53d1\u6570\u7684\u8bf7\u6c42\u6570\u91cf > \u6bcf\u4e2a Pod \u7684\u76ee\u6807\u5e76\u53d1\u6570 * Pod \u6570\u91cf

                                        "},{"location":"admin/kpanda/scale/knative/playground.html#case-2-","title":"case 2 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29","text":"

                                        \u6211\u4eec\u9996\u5148\u5728\u96c6\u7fa4\u5e94\u7528\u4e0b\u9762 YAML \u5b9a\u4e49\u3002

                                        apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                                        \u6267\u884c\u4e0b\u9762\u547d\u4ee4\u6d4b\u8bd5\uff0c\u5e76\u53ef\u4ee5\u901a\u8fc7 kubectl get pods -A -w \u6765\u89c2\u5bdf\u6269\u5bb9\u7684 Pod\u3002

                                        wrk -t2 -c4 -d6s http://hello.knative-serving.knative.daocloud.io/\n
                                        "},{"location":"admin/kpanda/scale/knative/playground.html#case-3-","title":"case 3 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29\uff0c\u8fbe\u5230\u7279\u5b9a\u6bd4\u4f8b\u63d0\u524d\u6269\u5bb9","text":"

                                        \u6211\u4eec\u53ef\u4ee5\u5f88\u8f7b\u677e\u7684\u5b9e\u73b0\uff0c\u4f8b\u5982\u9650\u5236\u6bcf\u4e2a\u5bb9\u5668\u5e76\u53d1\u4e3a 10\uff0c\u53ef\u4ee5\u901a\u8fc7 autoscaling.knative.dev/target-utilization-percentage: 70 \u6765\u5b9e\u73b0\uff0c\u8fbe\u5230 70% \u5c31\u5f00\u59cb\u6269\u5bb9 Pod\u3002

                                        apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"10\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/target-utilization-percentage: \"70\" \n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/metric: \"concurrency\"\n \u00a0 \u00a0 spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n
                                        "},{"location":"admin/kpanda/scale/knative/playground.html#case-4-","title":"case 4 - \u7070\u5ea6\u53d1\u5e03/\u6d41\u91cf\u767e\u5206\u6bd4","text":"

                                        \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 spec.traffic \u5b9e\u73b0\u5230\u6bcf\u4e2a\u7248\u672c\u6d41\u91cf\u7684\u63a7\u5236\u3002

                                        apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"  \n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"         \n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n  traffic:\n  - latestRevision: true\n    percent: 50\n  - latestRevision: false\n    percent: 50\n    revisionName: hello-00001\n
                                        "},{"location":"admin/kpanda/scale/knative/scene.html","title":"\u4f7f\u7528\u573a\u666f","text":""},{"location":"admin/kpanda/scale/knative/scene.html#_2","title":"\u9002\u5408\u7684\u573a\u666f","text":"
                                        • \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1
                                        • \u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1
                                        • \u5927\u91cf\u5e94\u7528\u9700\u8981\u7f29\u5bb9\u5230 0 \u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387
                                        • AI Serving \u670d\u52a1\uff0c\u57fa\u4e8e\u7279\u5b9a\u6307\u6807\u8fdb\u884c\u6269\u5bb9

                                        Tip

                                        \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1\u4ee5\u53ca\u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1\uff0c\u63a8\u8350\u4f7f\u7528 HPA \u548c VPA \u80fd\u529b\u3002

                                        "},{"location":"admin/kpanda/scale/knative/scene.html#_3","title":"\u4e0d\u9002\u5408\u7684\u573a\u666f","text":"
                                        • \u957f\u8fde\u63a5\u4e1a\u52a1
                                        • \u5ef6\u65f6\u654f\u611f\u4e1a\u52a1
                                        • \u57fa\u4e8e cookie \u7684\u6d41\u91cf\u5206\u6d41
                                        • \u57fa\u4e8e header \u7684\u6d41\u91cf\u5206\u6d41
                                        "},{"location":"admin/kpanda/security/index.html","title":"\u5b89\u5168\u626b\u63cf\u7c7b\u578b","text":"

                                        \u5728Kubernetes\uff08\u7b80\u79f0K8s\uff09\u73af\u5883\u4e2d\uff0c\u5b89\u5168\u626b\u63cf\u662f\u786e\u4fdd\u96c6\u7fa4\u5b89\u5168\u6027\u7684\u5173\u952e\u63aa\u65bd\u4e4b\u4e00\u3002\u5176\u4e2d\uff0c\u5408\u89c4\u6027\u626b\u63cf\uff08\u57fa\u4e8eCIS Benchmark\uff09\u3001\u6743\u9650\u626b\u63cf\uff08\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\uff09\u3001\u6f0f\u6d1e\u626b\u63cf\uff08\u57fa\u4e8e kube-hunter\uff09\u662f\u4e09\u79cd\u5e38\u89c1\u4e14\u91cd\u8981\u7684\u5b89\u5168\u626b\u63cf\u624b\u6bb5\uff1a

                                        • \u5408\u89c4\u6027\u626b\u63cf\uff1a\u57fa\u4e8e CIS Benchmark \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u5b89\u5168\u626b\u63cf\u3002CIS Benchmark \u662f\u4e00\u5957\u5168\u7403\u516c\u8ba4\u7684\u6700\u4f73\u5b9e\u8df5\u6807\u51c6\uff0c\u4e3a Kubernetes \u96c6\u7fa4\u63d0\u4f9b\u4e86\u8be6\u7ec6\u7684\u5b89\u5168\u914d\u7f6e\u6307\u5357\u548c\u81ea\u52a8\u5316\u68c0\u67e5\u5de5\u5177\uff08\u5982Kube-Bench\uff09\uff0c\u5e2e\u52a9\u7ec4\u7ec7\u786e\u4fdd\u5176K8s\u96c6\u7fa4\u7b26\u5408\u5b89\u5168\u57fa\u7ebf\u8981\u6c42\uff0c\u4fdd\u62a4\u7cfb\u7edf\u548c\u6570\u636e\u514d\u53d7\u5a01\u80c1\u3002

                                        • \u6743\u9650\u626b\u63cf\uff1a\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\u3002\u6743\u9650\u626b\u63cf\u4e3b\u8981\u89e3\u51b3\u96c6\u7fa4\u8bbf\u95ee\u63a7\u5236\u548c\u64cd\u4f5c\u900f\u660e\u5ea6\u7684\u95ee\u9898\u3002\u901a\u8fc7\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u96c6\u7fa4\u7ba1\u7406\u5458\u80fd\u591f\u8ffd\u6eaf\u96c6\u7fa4\u8d44\u6e90\u7684\u8bbf\u95ee\u5386\u53f2\uff0c\u8bc6\u522b\u5f02\u5e38\u884c\u4e3a\uff0c\u5982\u672a\u7ecf\u6388\u6743\u7684\u8bbf\u95ee\u3001\u654f\u611f\u6570\u636e\u7684\u6cc4\u9732\u3001\u6709\u5b89\u5168\u6f0f\u6d1e\u7684\u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002\u8fd9\u5bf9\u4e8e\u6545\u969c\u6392\u67e5\u3001\u5b89\u5168\u4e8b\u4ef6\u54cd\u5e94\u4ee5\u53ca\u6ee1\u8db3\u5408\u89c4\u6027\u8981\u6c42\u81f3\u5173\u91cd\u8981\u3002\u6b64\u5916\uff0c\u6743\u9650\u626b\u63cf\u8fd8\u53ef\u4ee5\u5e2e\u52a9\u7ec4\u7ec7\u53d1\u73b0\u6f5c\u5728\u7684\u6743\u9650\u6ee5\u7528\u95ee\u9898\uff0c\u53ca\u65f6\u91c7\u53d6\u63aa\u65bd\u9632\u6b62\u5b89\u5168\u4e8b\u4ef6\u7684\u53d1\u751f\u3002

                                        • \u6f0f\u6d1e\u626b\u63cf\uff1a\u57fa\u4e8e kube-hunter\uff0c\u4e3b\u8981\u89e3\u51b3 Kubernetes \u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5df2\u77e5\u6f0f\u6d1e\u548c\u914d\u7f6e\u9519\u8bef\u95ee\u9898\u3002kube-hunter \u901a\u8fc7\u6a21\u62df\u653b\u51fb\u884c\u4e3a\uff0c\u80fd\u591f\u8bc6\u522b\u96c6\u7fa4\u4e2d\u53ef\u88ab\u6076\u610f\u5229\u7528\u7684\u6f0f\u6d1e\uff0c\u5982\u672a\u6388\u6743\u8bbf\u95ee\u3001\u66b4\u9732\u7684\u670d\u52a1\u548cAPI\u7aef\u70b9\u3001\u914d\u7f6e\u9519\u8bef\u7684\u89d2\u8272\u548c\u7ed1\u5b9a\u7b56\u7565\u7b49\u3002\u7279\u522b\u5730\uff0ckube-hunter\u80fd\u591f\u8bc6\u522b\u5e76\u62a5\u544a CVE \u6f0f\u6d1e\uff0c\u8fd9\u4e9b\u6f0f\u6d1e\u5982\u679c\u88ab\u6076\u610f\u5229\u7528\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u6cc4\u9732\u3001\u670d\u52a1\u4e2d\u65ad\u7b49\u4e25\u91cd\u540e\u679c\u3002CVE \u6f0f\u6d1e\u662f\u7531\u56fd\u9645\u77e5\u540d\u7684\u5b89\u5168\u7ec4\u7ec7\u5982MITRE\u6240\u5b9a\u4e49\u548c\u7ef4\u62a4\u7684\uff0cCVE\u6570\u636e\u5e93\u4e3a\u8f6f\u4ef6\u548c\u56fa\u4ef6\u4e2d\u7684\u5df2\u77e5\u6f0f\u6d1e\u63d0\u4f9b\u4e86\u552f\u4e00\u6807\u8bc6\u7b26\uff0c\u6210\u4e3a\u5168\u7403\u5b89\u5168\u793e\u533a\u5171\u540c\u9075\u5faa\u7684\u6807\u51c6\u3002kube-hunter \u901a\u8fc7\u5229\u7528 CVE \u6570\u636e\u5e93\u4e2d\u7684\u4fe1\u606f\uff0c\u80fd\u591f\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u8bc6\u522b\u5e76\u54cd\u5e94Kubernetes\u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\u3002

                                        "},{"location":"admin/kpanda/security/index.html#_2","title":"\u5408\u89c4\u6027\u626b\u63cf","text":"

                                        \u5408\u89c4\u6027\u626b\u63cf\u7684\u5bf9\u8c61\u662f\u96c6\u7fa4\u8282\u70b9\u3002\u626b\u63cf\u7ed3\u679c\u4e2d\u4f1a\u5217\u51fa\u626b\u63cf\u9879\u4ee5\u53ca\u626b\u63cf\u7ed3\u679c\uff0c\u5e76\u9488\u5bf9\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u4fee\u590d\u5efa\u8bae\u3002\u6709\u5173\u626b\u63cf\u65f6\u7528\u5230\u7684\u5177\u4f53\u5b89\u5168\u89c4\u5219\uff0c\u53ef\u53c2\u8003 CIS Kubernetes Benchmark

                                        \u68c0\u67e5\u4e0d\u540c\u7c7b\u578b\u7684\u8282\u70b9\u65f6\uff0c\u626b\u63cf\u7684\u4fa7\u91cd\u70b9\u6709\u6240\u4e0d\u540c\u3002

                                        • \u626b\u63cf\u63a7\u5236\u5e73\u9762\u8282\u70b9\uff08Controller\uff09

                                          • \u5173\u6ce8 API Server \u3001 controller-manager \u3001 scheduler \u3001 kubelet \u7b49\u7cfb\u7edf\u7ec4\u4ef6\u7684\u5b89\u5168\u6027
                                          • \u68c0\u67e5 Etcd \u6570\u636e\u5e93\u7684\u5b89\u5168\u914d\u7f6e
                                          • \u68c0\u67e5\u96c6\u7fa4\u8eab\u4efd\u9a8c\u8bc1\u673a\u5236\u3001\u6388\u6743\u7b56\u7565\u548c\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u662f\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                                        • \u626b\u63cf\u5de5\u4f5c\u8282\u70b9\uff08Worker\uff09

                                          • \u68c0\u67e5 kubelet\u3001Docker\u7b49\u5bb9\u5668\u8fd0\u884c\u65f6\u7684\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                                          • \u68c0\u67e5\u5bb9\u5668\u955c\u50cf\u662f\u5426\u7ecf\u8fc7\u4fe1\u4efb\u9a8c\u8bc1
                                          • \u68c0\u67e5\u8282\u70b9\u7684\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6

                                        Tip

                                        \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\uff0c\u7136\u540e\u57fa\u4e8e\u8be5\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002

                                        "},{"location":"admin/kpanda/security/index.html#_3","title":"\u6743\u9650\u626b\u63cf","text":"

                                        \u6743\u9650\u626b\u63cf\u4fa7\u91cd\u4e8e\u6743\u9650\u95ee\u9898\u5f15\u53d1\u7684\u5b89\u5168\u6f0f\u6d1e\u3002\u6743\u9650\u626b\u63cf\u53ef\u4ee5\u5e2e\u52a9\u7528\u6237\u8bc6\u522b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\uff0c\u6807\u8bc6\u54ea\u4e9b\u8d44\u6e90\u9700\u8981\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u5ba1\u67e5\u548c\u4fdd\u62a4\u63aa\u65bd\u3002\u901a\u8fc7\u6267\u884c\u8fd9\u4e9b\u68c0\u67e5\u9879\uff0c\u7528\u6237\u53ef\u4ee5\u66f4\u6e05\u695a\u3001\u66f4\u5168\u9762\u5730\u4e86\u89e3\u81ea\u5df1\u7684 Kubernetes \u73af\u5883\uff0c\u786e\u4fdd\u96c6\u7fa4\u73af\u5883\u7b26\u5408 Kubernetes \u7684\u6700\u4f73\u5b9e\u8df5\u548c\u5b89\u5168\u6807\u51c6\u3002

                                        \u5177\u4f53\u800c\u8a00\uff0c\u6743\u9650\u626b\u63cf\u652f\u6301\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                                        • \u626b\u63cf\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u8282\u70b9\u7684\u5065\u5eb7\u72b6\u6001\u3002

                                        • \u626b\u63cf\u96c6\u7fa4\u7ec4\u4ef6\u7684\u8fd0\u884c\u72b6\u51b5\uff0c\u5982 kube-apiserver \u3001 kube-controller-manager \u3001 kube-scheduler \u7b49\u3002

                                        • \u626b\u63cf\u5b89\u5168\u914d\u7f6e\uff1a\u68c0\u67e5 Kubernetes \u7684\u5b89\u5168\u914d\u7f6e

                                          • API \u5b89\u5168\uff1a\u542f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 API \u7248\u672c\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u9002\u5f53\u7684 RBAC \u89d2\u8272\u548c\u6743\u9650\u9650\u5236\u7b49
                                          • \u5bb9\u5668\u5b89\u5168\uff1a\u662f\u5426\u4f7f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 Image\u3001\u662f\u5426\u5f00\u653e\u4e86\u7279\u6743\u6a21\u5f0f\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u5408\u9002\u7684\u5b89\u5168\u4e0a\u4e0b\u6587\u7b49
                                          • \u7f51\u7edc\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u5408\u9002\u7684\u7f51\u7edc\u7b56\u7565\u6765\u9650\u5236\u6d41\u91cf\uff0c\u662f\u5426\u4f7f\u7528\u4e86 TLS \u52a0\u5bc6\u7b49
                                          • \u5b58\u50a8\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u9002\u5f53\u7684\u52a0\u5bc6\u3001\u8bbf\u95ee\u63a7\u5236\u7b49\u3002
                                          • \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\uff1a\u662f\u5426\u8bbe\u7f6e\u4e86\u5fc5\u8981\u7684\u5b89\u5168\u63aa\u65bd\uff0c\u4f8b\u5982\u5bc6\u7801\u7ba1\u7406\u3001\u8de8\u7ad9\u811a\u672c\u653b\u51fb\u9632\u5fa1\u7b49\u3002
                                        • \u63d0\u4f9b\u8b66\u544a\u548c\u5efa\u8bae\uff1a\u5efa\u8bae\u96c6\u7fa4\u7ba1\u7406\u5458\u6267\u884c\u7684\u5b89\u5168\u6700\u4f73\u5b9e\u8df5\uff0c\u4f8b\u5982\u5b9a\u671f\u8f6e\u6362\u8bc1\u4e66\u3001\u4f7f\u7528\u5f3a\u5bc6\u7801\u3001\u9650\u5236\u7f51\u7edc\u8bbf\u95ee\u7b49\u3002

                                        Tip

                                        \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5b89\u5168\u626b\u63cf\u3002

                                        "},{"location":"admin/kpanda/security/index.html#_4","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                                        \u6f0f\u6d1e\u626b\u63cf\u4fa7\u91cd\u4e8e\u626b\u63cf\u6f5c\u5728\u7684\u6076\u610f\u653b\u51fb\u548c\u5b89\u5168\u6f0f\u6d1e\uff0c\u4f8b\u5982\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\u3001SQL \u6ce8\u5165\u3001XSS \u653b\u51fb\u7b49\uff0c\u4ee5\u53ca\u4e00\u4e9b\u9488\u5bf9 Kubernetes \u7279\u5b9a\u7684\u653b\u51fb\u3002\u6700\u7ec8\u7684\u626b\u63cf\u62a5\u544a\u4f1a\u5217\u51fa\u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u6f0f\u6d1e\uff0c\u5e76\u63d0\u51fa\u4fee\u590d\u5efa\u8bae\u3002

                                        Tip

                                        \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6f0f\u6d1e\u626b\u63cf\u3002

                                        "},{"location":"admin/kpanda/security/audit.html","title":"\u6743\u9650\u626b\u63cf","text":"

                                        \u4e3a\u4e86\u4f7f\u7528\u6743\u9650\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                                        "},{"location":"admin/kpanda/security/audit.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                                        1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6743\u9650\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                                        3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                                          • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                                          • \u626b\u63cf\u7c7b\u578b\uff1a

                                            • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                            • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                                          • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                                        "},{"location":"admin/kpanda/security/audit.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                                        \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                                        \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                                        • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                                          • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                                          • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                                          • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                                          • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                                        • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                                        "},{"location":"admin/kpanda/security/audit.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                                        1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                                          \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                                        2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                                          • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                                          • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                                          • \u626b\u63cf\u9879\u603b\u6570\u3001\u8b66\u544a\u6570\u3001\u9519\u8bef\u6570
                                          • \u5728\u5468\u671f\u6027\u626b\u63cf\u7b56\u7565\u751f\u6210\u7684\u626b\u63cf\u62a5\u544a\u4e2d\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u9891\u7387
                                          • \u626b\u63cf\u5f00\u59cb\u7684\u65f6\u95f4
                                          • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u88ab\u68c0\u67e5\u7684\u8d44\u6e90\u3001\u8d44\u6e90\u7c7b\u578b\u3001\u626b\u63cf\u7ed3\u679c\u3001\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u8be6\u60c5

                                        "},{"location":"admin/kpanda/security/hunter.html","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                                        \u4e3a\u4e86\u4f7f\u7528\u6f0f\u6d1e\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                                        "},{"location":"admin/kpanda/security/hunter.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                                        1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6f0f\u6d1e\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                                        3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                                          • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                                          • \u626b\u63cf\u7c7b\u578b\uff1a

                                            • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                            • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                                          • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                                        "},{"location":"admin/kpanda/security/hunter.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                                        \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                                        \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                                        • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                                          • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                                          • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                                          • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                                          • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                                        • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                                        "},{"location":"admin/kpanda/security/hunter.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                                        1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                                          \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                                        2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                                          • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                                          • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                                          • \u626b\u63cf\u9891\u7387
                                          • \u98ce\u9669\u603b\u6570\u3001\u9ad8\u98ce\u9669\u6570\u3001\u4e2d\u98ce\u9669\u6570\u3001\u4f4e\u98ce\u9669\u6570
                                          • \u626b\u63cf\u65f6\u95f4
                                          • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u6f0f\u6d1e ID\u3001\u6f0f\u6d1e\u7c7b\u578b\u3001\u6f0f\u6d1e\u540d\u79f0\u3001\u6f0f\u6d1e\u63cf\u8ff0\u7b49

                                        "},{"location":"admin/kpanda/security/cis/config.html","title":"\u626b\u63cf\u914d\u7f6e","text":"

                                        \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u7684\u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\u3002\u57fa\u4e8e\u626b\u63cf\u914d\u7f6e\u518d\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3001\u6267\u884c\u626b\u63cf\u7b56\u7565\uff0c\u6700\u540e\u67e5\u770b\u626b\u63cf\u7ed3\u679c\u3002

                                        "},{"location":"admin/kpanda/security/cis/config.html#_2","title":"\u521b\u5efa\u626b\u63cf\u914d\u7f6e","text":"

                                        \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                                        1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                                        2. \u9ed8\u8ba4\u8fdb\u5165 \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\uff0c\u70b9\u51fb \u626b\u63cf\u914d\u7f6e \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u914d\u7f6e \u3002

                                        3. \u586b\u5199\u914d\u7f6e\u540d\u79f0\u3001\u9009\u62e9\u914d\u7f6e\u6a21\u677f\u3001\u6309\u9700\u52fe\u9009\u626b\u63cf\u9879\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                          \u626b\u63cf\u6a21\u677f\uff1a\u76ee\u524d\u63d0\u4f9b\u4e86\u4e24\u4e2a\u6a21\u677f\u3002 kubeadm \u6a21\u677f\u9002\u7528\u4e8e\u4e00\u822c\u60c5\u51b5\u4e0b\u7684 Kubernetes \u96c6\u7fa4\u3002 daocloud \u6a21\u677f\u5728 kubeadm \u6a21\u677f\u57fa\u7840\u4e0a\uff0c\u7ed3\u5408\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5e73\u53f0\u8bbe\u8ba1\u5ffd\u7565\u4e86\u4e0d\u9002\u7528\u4e8e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u626b\u63cf\u9879\u3002

                                        "},{"location":"admin/kpanda/security/cis/config.html#_3","title":"\u67e5\u770b\u626b\u63cf\u914d\u7f6e","text":"

                                        \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u626b\u63cf\u914d\u7f6e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u914d\u7f6e\u7684\u7c7b\u578b\u3001\u626b\u63cf\u9879\u6570\u91cf\u3001\u521b\u5efa\u65f6\u95f4\u3001\u914d\u7f6e\u6a21\u677f\uff0c\u4ee5\u53ca\u8be5\u914d\u7f6e\u542f\u7528\u7684\u5177\u4f53\u626b\u63cf\u9879\u3002

                                        "},{"location":"admin/kpanda/security/cis/config.html#_4","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u914d\u7f6e","text":"

                                        \u626b\u63cf\u914d\u7f6e\u521b\u5efa\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u66f4\u65b0\u914d\u7f6e\u6216\u5220\u9664\u8be5\u914d\u7f6e\u3002

                                        \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                                        • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u63cf\u8ff0\u3001\u6a21\u677f\u548c\u626b\u63cf\u9879\u3002\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u3002
                                        • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e\u3002

                                        "},{"location":"admin/kpanda/security/cis/policy.html","title":"\u626b\u63cf\u7b56\u7565","text":""},{"location":"admin/kpanda/security/cis/policy.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"

                                        \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u4e4b\u540e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                                        1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                                        2. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                          • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                                          • \u626b\u63cf\u914d\u7f6e\uff1a\u9009\u62e9\u4e8b\u5148\u521b\u5efa\u597d\u7684\u626b\u63cf\u914d\u7f6e\u3002\u626b\u63cf\u914d\u7f6e\u89c4\u5b9a\u4e86\u9700\u8981\u6267\u884c\u54ea\u4e9b\u5177\u4f53\u7684\u626b\u63cf\u9879\u3002
                                          • \u626b\u63cf\u7c7b\u578b\uff1a

                                            • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                            • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                                          • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                                        "},{"location":"admin/kpanda/security/cis/policy.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                                        \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                                        \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                                        • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                                          • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                                          • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                                          • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                                          • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                                        • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                                        "},{"location":"admin/kpanda/security/cis/report.html","title":"\u626b\u63cf\u62a5\u544a","text":"

                                        hide\uff1a - toc

                                        "},{"location":"admin/kpanda/security/cis/report.html#_1","title":"\u626b\u63cf\u62a5\u544a","text":"

                                        \u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u3002\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a\u6216\u5c06\u5176\u4e0b\u8f7d\u5230\u672c\u5730\u67e5\u770b\u3002

                                        • \u4e0b\u8f7d\u67e5\u770b\u626b\u63cf\u62a5\u544a

                                          \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u70b9\u51fb\u62a5\u544a\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u4e0b\u8f7d \u3002

                                        • \u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a

                                          \u70b9\u51fb\u67d0\u4e2a\u62a5\u544a\u7684\u540d\u79f0\uff0c\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b CIS \u5408\u89c4\u6027\u626b\u63cf\u7684\u62a5\u544a\u5185\u5bb9\u3002\u5177\u4f53\u5305\u62ec\uff1a

                                          • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                                          • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565\u548c\u626b\u63cf\u914d\u7f6e
                                          • \u626b\u63cf\u5f00\u59cb\u65f6\u95f4
                                          • \u626b\u63cf\u9879\u603b\u6570\u3001\u901a\u8fc7\u6570\u4e0e\u672a\u901a\u8fc7\u6570
                                          • \u5bf9\u4e8e\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u5bf9\u5e94\u7684\u4fee\u590d\u5efa\u8bae
                                          • \u5bf9\u4e8e\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u66f4\u5b89\u5168\u7684\u64cd\u4f5c\u5efa\u8bae

                                        "},{"location":"admin/kpanda/storage/pv.html","title":"\u6570\u636e\u5377(PV)","text":"

                                        \u6570\u636e\u5377\uff08PersistentVolume\uff0cPV\uff09\u662f\u96c6\u7fa4\u4e2d\u7684\u4e00\u5757\u5b58\u50a8\uff0c\u53ef\u7531\u7ba1\u7406\u5458\u4e8b\u5148\u5236\u5907\uff0c\u6216\u4f7f\u7528\u5b58\u50a8\u7c7b\uff08Storage Class\uff09\u6765\u52a8\u6001\u5236\u5907\u3002PV \u662f\u96c6\u7fa4\u8d44\u6e90\uff0c\u4f46\u62e5\u6709\u72ec\u7acb\u7684\u751f\u547d\u5468\u671f\uff0c\u4e0d\u4f1a\u968f\u7740 Pod \u8fdb\u7a0b\u7ed3\u675f\u800c\u88ab\u5220\u9664\u3002\u5c06 PV \u6302\u8f7d\u5230\u5de5\u4f5c\u8d1f\u8f7d\u53ef\u4ee5\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6301\u4e45\u5316\u3002PV \u4e2d\u4fdd\u5b58\u4e86\u53ef\u88ab Pod \u4e2d\u5bb9\u5668\u8bbf\u95ee\u7684\u6570\u636e\u76ee\u5f55\u3002

                                        "},{"location":"admin/kpanda/storage/pv.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377","text":"

                                        \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                        • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                                        • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                                        "},{"location":"admin/kpanda/storage/pv.html#yaml","title":"YAML \u521b\u5efa","text":"
                                        1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> YAML \u521b\u5efa \u3002

                                        2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                          \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                                        "},{"location":"admin/kpanda/storage/pv.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                                        1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> \u521b\u5efa\u6570\u636e\u5377(PV) \u3002

                                        2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                                          • \u6570\u636e\u5377\u540d\u79f0\u3001\u6570\u636e\u5377\u7c7b\u578b\u3001\u6302\u8f7d\u8def\u5f84\u3001\u5377\u6a21\u5f0f\u3001\u8282\u70b9\u4eb2\u548c\u6027\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                          • \u6570\u636e\u5377\u7c7b\u578b\uff1a\u6709\u5173\u5377\u7c7b\u578b\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5377\u3002

                                          • Local\uff1a\u5c06 Node \u8282\u70b9\u7684\u672c\u5730\u5b58\u50a8\u5305\u88c5\u6210 PVC \u63a5\u53e3\uff0c\u5bb9\u5668\u76f4\u63a5\u4f7f\u7528 PVC \u800c\u65e0\u9700\u5173\u6ce8\u5e95\u5c42\u7684\u5b58\u50a8\u7c7b\u578b\u3002Local \u5377\u4e0d\u652f\u6301\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\uff0c\u4f46\u652f\u6301\u914d\u7f6e\u8282\u70b9\u4eb2\u548c\u6027\uff0c\u53ef\u4ee5\u9650\u5236\u80fd\u4ece\u54ea\u4e9b\u8282\u70b9\u4e0a\u8bbf\u95ee\u8be5\u6570\u636e\u5377\u3002

                                          • HostPath\uff1a\u4f7f\u7528 Node \u8282\u70b9\u7684\u6587\u4ef6\u7cfb\u7edf\u4e0a\u7684\u6587\u4ef6\u6216\u76ee\u5f55\u4f5c\u4e3a\u6570\u636e\u5377\uff0c\u4e0d\u652f\u6301\u57fa\u4e8e\u8282\u70b9\u4eb2\u548c\u6027\u7684 Pod \u8c03\u5ea6\u3002

                                          • \u6302\u8f7d\u8def\u5f84\uff1a\u5c06\u6570\u636e\u5377\u6302\u8f7d\u5230\u5bb9\u5668\u4e2d\u7684\u67d0\u4e2a\u5177\u4f53\u76ee\u5f55\u4e0b\u3002

                                          • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                                            • ReadWriteOnce\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                            • ReadWriteMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                            • ReadOnlyMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                                            • ReadWriteOncePod\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                          • \u56de\u6536\u7b56\u7565\uff1a

                                            • Retain\uff1a\u4e0d\u5220\u9664 PV\uff0c\u4ec5\u5c06\u5176\u72b6\u6001\u53d8\u4e3a released \uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u56de\u6536\u3002\u6709\u5173\u5982\u4f55\u624b\u52a8\u56de\u6536\uff0c\u53ef\u53c2\u8003\u6301\u4e45\u5377\u3002
                                            • Recycle\uff1a\u4fdd\u7559 PV \u4f46\u6e05\u7a7a\u5176\u4e2d\u7684\u6570\u636e\uff0c\u6267\u884c\u57fa\u672c\u7684\u64e6\u9664\u64cd\u4f5c\uff08 rm -rf /thevolume/* \uff09\u3002
                                            • Delete\uff1a\u5220\u9664 PV \u65f6\u53ca\u5176\u4e2d\u7684\u6570\u636e\u3002
                                          • \u5377\u6a21\u5f0f\uff1a

                                            • \u6587\u4ef6\u7cfb\u7edf\uff1a\u6570\u636e\u5377\u5c06\u88ab Pod \u6302\u8f7d\u5230\u67d0\u4e2a\u76ee\u5f55\u3002\u5982\u679c\u6570\u636e\u5377\u7684\u5b58\u50a8\u6765\u81ea\u67d0\u5757\u8bbe\u5907\u800c\u8be5\u8bbe\u5907\u76ee\u524d\u4e3a\u7a7a\uff0c\u7b2c\u4e00\u6b21\u6302\u8f7d\u5377\u4e4b\u524d\u4f1a\u5728\u8bbe\u5907\u4e0a\u521b\u5efa\u6587\u4ef6\u7cfb\u7edf\u3002
                                            • \u5757\uff1a\u5c06\u6570\u636e\u5377\u4f5c\u4e3a\u539f\u59cb\u5757\u8bbe\u5907\u6765\u4f7f\u7528\u3002\u8fd9\u7c7b\u5377\u4ee5\u5757\u8bbe\u5907\u7684\u65b9\u5f0f\u4ea4\u7ed9 Pod \u4f7f\u7528\uff0c\u5176\u4e0a\u6ca1\u6709\u4efb\u4f55\u6587\u4ef6\u7cfb\u7edf\uff0c\u53ef\u4ee5\u8ba9 Pod \u66f4\u5feb\u5730\u8bbf\u95ee\u6570\u636e\u5377\u3002
                                          • \u8282\u70b9\u4eb2\u548c\u6027\uff1a

                                        "},{"location":"admin/kpanda/storage/pv.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377","text":"

                                        \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) \u3002

                                        • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                                        • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                                        • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                                        "},{"location":"admin/kpanda/storage/pv.html#_4","title":"\u514b\u9686\u6570\u636e\u5377","text":"

                                        \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u3002

                                        1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                                          • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                                            \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                                        2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                        "},{"location":"admin/kpanda/storage/pv.html#_5","title":"\u66f4\u65b0\u6570\u636e\u5377","text":"

                                        \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u3002

                                        Note

                                        \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u7684\u522b\u540d\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u3001\u56de\u6536\u7b56\u7565\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                        • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                        • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                        "},{"location":"admin/kpanda/storage/pv.html#_6","title":"\u5220\u9664\u6570\u636e\u5377","text":"

                                        \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                                        \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                                        "},{"location":"admin/kpanda/storage/pvc.html","title":"\u6570\u636e\u5377\u58f0\u660e(PVC)","text":"

                                        \u6301\u4e45\u5377\u58f0\u660e\uff08PersistentVolumeClaim\uff0cPVC\uff09\u8868\u8fbe\u7684\u662f\u7528\u6237\u5bf9\u5b58\u50a8\u7684\u8bf7\u6c42\u3002PVC \u6d88\u8017 PV \u8d44\u6e90\uff0c\u7533\u9886\u4f7f\u7528\u7279\u5b9a\u5927\u5c0f\u3001\u7279\u5b9a\u8bbf\u95ee\u6a21\u5f0f\u7684\u6570\u636e\u5377\uff0c\u4f8b\u5982\u8981\u6c42 PV \u5377\u4ee5 ReadWriteOnce\u3001ReadOnlyMany \u6216 ReadWriteMany \u7b49\u6a21\u5f0f\u6765\u6302\u8f7d\u3002

                                        "},{"location":"admin/kpanda/storage/pvc.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e","text":"

                                        \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                        • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u58f0\u660e\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                                        • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                                        "},{"location":"admin/kpanda/storage/pvc.html#yaml","title":"YAML \u521b\u5efa","text":"
                                        1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> YAML \u521b\u5efa \u3002

                                        2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                          \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                                        "},{"location":"admin/kpanda/storage/pvc.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                                        1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> \u521b\u5efa\u6570\u636e\u5377\u58f0\u660e (PVC) \u3002

                                        2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                                          • \u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65b9\u5f0f\u3001\u6570\u636e\u5377\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                          • \u521b\u5efa\u65b9\u5f0f\uff1a\u5728\u5df2\u6709\u7684\u5b58\u50a8\u6c60\u6216\u8005\u6570\u636e\u5377\u4e2d\u52a8\u6001\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u6216\u8005\u57fa\u4e8e\u6570\u636e\u5377\u58f0\u660e\u7684\u5feb\u7167\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                                            \u57fa\u4e8e\u5feb\u7167\u521b\u5efa\u65f6\u65e0\u6cd5\u4fee\u6539\u6570\u636e\u5377\u58f0\u660e\u7684\u5bb9\u91cf\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5b8c\u6210\u540e\u518d\u8fdb\u884c\u4fee\u6539\u3002

                                          • \u9009\u62e9\u521b\u5efa\u65b9\u5f0f\u4e4b\u540e\uff0c\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u60f3\u8981\u4f7f\u7528\u7684\u5b58\u50a8\u6c60/\u6570\u636e\u5377/\u5feb\u7167\u3002

                                          • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                                          • ReadWriteOnce\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                                          • ReadWriteMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                          • ReadOnlyMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                                          • ReadWriteOncePod\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                                        "},{"location":"admin/kpanda/storage/pvc.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377\u58f0\u660e","text":"

                                        \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \u3002

                                        • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\u58f0\u660e\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u58f0\u660e\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                                        • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                                        • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u58f0\u660e\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                                        "},{"location":"admin/kpanda/storage/pvc.html#_4","title":"\u6269\u5bb9\u6570\u636e\u5377\u58f0\u660e","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230\u60f3\u8981\u8c03\u6574\u5bb9\u91cf\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                                        2. \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u6269\u5bb9 \u3002

                                        3. \u8f93\u5165\u76ee\u6807\u5bb9\u91cf\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                        "},{"location":"admin/kpanda/storage/pvc.html#_5","title":"\u514b\u9686\u6570\u636e\u5377\u58f0\u660e","text":"

                                        \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                                        1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                                          • \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                                            \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                                        2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                        "},{"location":"admin/kpanda/storage/pvc.html#_6","title":"\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e","text":"

                                        \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002

                                        Note

                                        \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u7684\u522b\u540d\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                        • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                        • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                        "},{"location":"admin/kpanda/storage/pvc.html#_7","title":"\u5220\u9664\u6570\u636e\u5377\u58f0\u660e","text":"

                                        \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                                        \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                                        "},{"location":"admin/kpanda/storage/pvc.html#_8","title":"\u5e38\u89c1\u95ee\u9898","text":"
                                        1. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5b58\u50a8\u6c60\u6216\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u521b\u5efa\u5b58\u50a8\u6c60\u6216\u521b\u5efa\u6570\u636e\u5377\u3002

                                        2. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5feb\u7167\uff0c\u53ef\u4ee5\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\uff0c\u5728\u53f3\u4e0a\u89d2\u5236\u4f5c\u5feb\u7167\u3002

                                        3. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u542f\u7528\u5feb\u7167\uff0c\u5219\u65e0\u6cd5\u5236\u4f5c\u5feb\u7167\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u201c\u5236\u4f5c\u5feb\u7167\u201d\u9009\u9879\u3002

                                        4. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u5f00\u542f\u6269\u5bb9\u529f\u80fd\uff0c\u5219\u8be5\u6570\u636e\u5377\u4e0d\u652f\u6301\u6269\u5bb9\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u6269\u5bb9\u9009\u9879\u3002

                                        "},{"location":"admin/kpanda/storage/sc-share.html","title":"\u5171\u4eab\u5b58\u50a8\u6c60","text":"

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5c06\u4e00\u4e2a\u5b58\u50a8\u6c60\u5171\u4eab\u7ed9\u591a\u4e2a\u547d\u540d\u7a7a\u95f4\u4f7f\u7528\uff0c\u4ee5\u4fbf\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                                        1. \u5728\u5b58\u50a8\u6c60\u5217\u8868\u4e2d\u627e\u5230\u9700\u8981\u5171\u4eab\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u64cd\u4f5c\u680f\u4e0b\u70b9\u51fb \u6388\u6743\u547d\u540d\u7a7a\u95f4 \u3002

                                        2. \u70b9\u51fb \u81ea\u5b9a\u4e49\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u9010\u4e00\u9009\u62e9\u9700\u8981\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u54ea\u4e9b\u547d\u540d\u7a7a\u95f4\u3002

                                          • \u70b9\u51fb \u6388\u6743\u6240\u6709\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u4e00\u6b21\u6027\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u5f53\u524d\u96c6\u7fa4\u4e0b\u7684\u6240\u6709\u547d\u540d\u7a7a\u95f4\u3002
                                          • \u5728\u5217\u8868\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u65b9\u70b9\u51fb \u79fb\u9664\u6388\u6743 \uff0c\u53ef\u4ee5\u89e3\u9664\u6388\u6743\uff0c\u505c\u6b62\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u8be5\u547d\u540d\u7a7a\u95f4\u3002

                                        "},{"location":"admin/kpanda/storage/sc.html","title":"\u5b58\u50a8\u6c60(SC)","text":"

                                        \u5b58\u50a8\u6c60\u6307\u5c06\u8bb8\u591a\u7269\u7406\u78c1\u76d8\u7ec4\u6210\u4e00\u4e2a\u5927\u578b\u5b58\u50a8\u8d44\u6e90\u6c60\uff0c\u672c\u5e73\u53f0\u652f\u6301\u63a5\u5165\u5404\u7c7b\u5b58\u50a8\u5382\u5546\u540e\u521b\u5efa\u5757\u5b58\u50a8\u6c60\u3001\u672c\u5730\u5b58\u50a8\u6c60\u3001\u81ea\u5b9a\u4e49\u5b58\u50a8\u6c60\uff0c\u7136\u540e\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\u3002

                                        "},{"location":"admin/kpanda/storage/sc.html#sc_1","title":"\u521b\u5efa\u5b58\u50a8\u6c60(SC)","text":"

                                        \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b58\u50a8\u6c60\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                        • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                                        • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                                        "},{"location":"admin/kpanda/storage/sc.html#yaml","title":"YAML \u521b\u5efa","text":"
                                        1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> YAML \u521b\u5efa \u3002

                                        2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                          \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                                        "},{"location":"admin/kpanda/storage/sc.html#_1","title":"\u8868\u5355\u521b\u5efa","text":"
                                        1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> \u521b\u5efa\u5b58\u50a8\u6c60(SC) \u3002

                                        2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\uff0c\u7136\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                          \u81ea\u5b9a\u4e49\u5b58\u50a8\u7cfb\u7edf

                                          • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                                          • CSI \u5b58\u50a8\u9a71\u52a8\uff1a\u57fa\u4e8e\u6807\u51c6 Kubernetes \u7684\u5bb9\u5668\u5b58\u50a8\u63a5\u53e3\u63d2\u4ef6\uff0c\u9700\u9075\u5b88\u5b58\u50a8\u5382\u5546\u89c4\u5b9a\u7684\u683c\u5f0f\uff0c\u4f8b\u5982 rancher.io/local-path \u3002

                                            • \u6709\u5173\u5982\u4f55\u586b\u5199\u4e0d\u540c\u5382\u5546\u63d0\u4f9b\u7684 CSI \u9a71\u52a8\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5b58\u50a8\u7c7b\u3002
                                              • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                                              • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                                          HwameiStor \u5b58\u50a8\u7cfb\u7edf

                                          • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                                          • \u5b58\u50a8\u7cfb\u7edf\uff1aHwameiStor \u5b58\u50a8\u7cfb\u7edf\u3002
                                          • \u5b58\u50a8\u7c7b\u578b\uff1a\u652f\u6301 LVM\uff0c\u88f8\u78c1\u76d8\u7c7b\u578b
                                            • LVM \u7c7b\u578b \uff1aHwameiStor \u63a8\u8350\u4f7f\u7528\u6b64\u65b9\u5f0f\uff0c\u53ef\u4f7f\u7528\u9ad8\u53ef\u7528\u6570\u636e\u5377\uff0c\u5bf9\u5e94\u7684\u7684 CSI \u5b58\u50a8\u9a71\u52a8\u4e3a lvm.hwameistor.io\u3002
                                            • \u88f8\u78c1\u76d8\u6570\u636e\u5377 \uff1a \u9002\u7528\u4e8e\u975e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u65e0\u9ad8\u53ef\u7528\u80fd\u529b\uff0c\u5bf9\u5e94\u7684 CSI \u9a71\u52a8\u4e3a hdd.hwameistor.io
                                          • \u9ad8\u53ef\u7528\u6a21\u5f0f\uff1a\u4f7f\u7528\u9ad8\u53ef\u7528\u80fd\u529b\u4e4b\u524d\u8bf7\u786e\u8ba4 DRBD \u7ec4\u4ef6 \u5df2\u5b89\u88c5\u3002\u5f00\u542f\u9ad8\u53ef\u7528\u6a21\u5f0f\u540e\uff0c\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u6570\u8bbe\u7f6e\u4e3a 1 \u548c 2\u3002 \u5982\u9700\u8981\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u4ece 1 Convert \u6210 1
                                          • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                                          • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                                          Note

                                          \u76ee\u524d HwameiStor xfs\u3001ext4 \u4e24\u79cd\u6587\u4ef6\u7cfb\u7edf\uff0c\u5176\u4e2d\u9ed8\u8ba4\u4f7f\u7528\u7684\u662f xfs \u6587\u4ef6\u7cfb\u7edf\uff0c\u5982\u679c\u60f3\u8981\u66ff\u6362\u4e3a ext4\uff0c\u53ef\u4ee5\u5728\u81ea\u5b9a\u4e49\u53c2\u6570\u6dfb\u52a0 csi.storage.k8s.io/fstype: ext4

                                        "},{"location":"admin/kpanda/storage/sc.html#sc_2","title":"\u66f4\u65b0\u5b58\u50a8\u6c60(SC)","text":"

                                        \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u7f16\u8f91 \u5373\u53ef\u901a\u8fc7\u66f4\u65b0\u5b58\u50a8\u6c60\u3002

                                        Info

                                        \u9009\u62e9 \u67e5\u770b YAML \u53ef\u4ee5\u67e5\u770b\u8be5\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\uff0c\u4f46\u4e0d\u652f\u6301\u7f16\u8f91\u3002

                                        "},{"location":"admin/kpanda/storage/sc.html#sc_3","title":"\u5220\u9664\u5b58\u50a8\u6c60(SC)","text":"

                                        \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                                        "},{"location":"admin/kpanda/workloads/create-cronjob.html","title":"\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09","text":"

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u3002

                                        \u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u9002\u7528\u4e8e\u4e8e\u6267\u884c\u5468\u671f\u6027\u7684\u64cd\u4f5c\uff0c\u4f8b\u5982\u5907\u4efd\u3001\u62a5\u544a\u751f\u6210\u7b49\u3002\u8fd9\u4e9b\u4efb\u52a1\u53ef\u4ee5\u914d\u7f6e\u4e3a\u5468\u671f\u6027\u91cd\u590d\u7684\uff08\u4f8b\u5982\uff1a\u6bcf\u5929/\u6bcf\u5468/\u6bcf\u6708\u4e00\u6b21\uff09\uff0c\u53ef\u4ee5\u5b9a\u4e49\u4efb\u52a1\u5f00\u59cb\u6267\u884c\u7684\u65f6\u95f4\u95f4\u9694\u3002

                                        "},{"location":"admin/kpanda/workloads/create-cronjob.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                        "},{"location":"admin/kpanda/workloads/create-cronjob.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b9a\u65f6\u4efb\u52a1\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                        3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                          \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b9a\u65f6\u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                                        "},{"location":"admin/kpanda/workloads/create-cronjob.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                                        \u5728 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                        • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b9a\u65f6\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                        • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                                        "},{"location":"admin/kpanda/workloads/create-cronjob.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                                        \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                        \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                                        \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                                        \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                                        • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                                        • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                                        • \u955c\u50cf\uff1a
                                          • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                                          • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                                          • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                                          • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                                        • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                                        • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                                        • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                                          • \u6574\u5361\u6a21\u5f0f\uff1a
                                            • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                          • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                            • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                            • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                            • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                            • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                            • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                            • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                                          • Mig \u6a21\u5f0f
                                            • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                            • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                                        \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                                        \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                                        \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                                        \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                                        \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                                        \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                                        "},{"location":"admin/kpanda/workloads/create-cronjob.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e","text":"
                                        • \u5e76\u53d1\u7b56\u7565\uff1a\u662f\u5426\u5141\u8bb8\u591a\u4e2a Job \u4efb\u52a1\u5e76\u884c\u6267\u884c\u3002

                                          • Allow \uff1a\u53ef\u4ee5\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u672a\u5b8c\u6210\u65f6\u5c31\u521b\u5efa\u65b0\u7684\u5b9a\u65f6\u4efb\u52a1\uff0c\u800c\u4e14\u591a\u4e2a\u4efb\u52a1\u53ef\u4ee5\u5e76\u884c\u3002\u4efb\u52a1\u592a\u591a\u53ef\u80fd\u62a2\u5360\u96c6\u7fa4\u8d44\u6e90\u3002
                                          • Forbid \uff1a\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u5b8c\u6210\u4e4b\u524d\uff0c\u4e0d\u80fd\u521b\u5efa\u65b0\u4efb\u52a1\uff0c\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\u800c\u4e4b\u524d\u7684\u4efb\u52a1\u4ecd\u672a\u6267\u884c\u5b8c\uff0cCronJob \u4f1a\u5ffd\u7565\u65b0\u4efb\u52a1\u7684\u6267\u884c\u3002
                                          • Replace \uff1a\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\uff0c\u4f46\u524d\u4e00\u4e2a\u4efb\u52a1\u8fd8\u672a\u5b8c\u6210\uff0c\u65b0\u7684\u4efb\u52a1\u4f1a\u53d6\u4ee3\u524d\u4e00\u4e2a\u4efb\u52a1\u3002

                                          \u4e0a\u8ff0\u89c4\u5219\u4ec5\u9002\u7528\u4e8e\u540c\u4e00\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u3002\u591a\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u603b\u662f\u5141\u8bb8\u5e76\u53d1\u6267\u884c\u3002

                                        • \u5b9a\u65f6\u89c4\u5219\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49\u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002

                                        • \u4efb\u52a1\u8bb0\u5f55\uff1a\u8bbe\u5b9a\u4fdd\u7559\u591a\u5c11\u6761\u4efb\u52a1\u6267\u884c\u6210\u529f\u6216\u5931\u8d25\u7684\u8bb0\u5f55\u3002 0 \u8868\u793a\u4e0d\u4fdd\u7559\u3002
                                        • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u5c31\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002\u9ed8\u8ba4\u503c\u4e3a 360 s\u3002
                                        • \u91cd\u8bd5\u6b21\u6570\uff1a\u4efb\u52a1\u53ef\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba4\u503c\u4e3a 6\u3002
                                        • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u4efb\u52a1\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002
                                        "},{"location":"admin/kpanda/workloads/create-cronjob.html#_6","title":"\u670d\u52a1\u914d\u7f6e","text":"

                                        \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                                        1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                                        2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                                        3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        "},{"location":"admin/kpanda/workloads/create-cronjob.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                                        \u5b9a\u65f6\u4efb\u52a1\u7684\u9ad8\u7ea7\u914d\u7f6e\u4e3b\u8981\u6d89\u53ca\u6807\u7b7e\u4e0e\u6ce8\u89e3\u3002

                                        \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                        "},{"location":"admin/kpanda/workloads/create-cronjob.html#yaml","title":"YAML \u521b\u5efa","text":"

                                        \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                        3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                        \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                                        apiVersion: batch/v1\nkind: CronJob\nmetadata:\n  creationTimestamp: '2022-12-26T09:45:47Z'\n  generation: 1\n  name: demo\n  namespace: default\n  resourceVersion: '92726617'\n  uid: d030d8d7-a405-4dcd-b09a-176942ef36c9\nspec:\n  concurrencyPolicy: Allow\n  failedJobsHistoryLimit: 1\n  jobTemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      activeDeadlineSeconds: 360\n      backoffLimit: 6\n      template:\n        metadata:\n          creationTimestamp: null\n        spec:\n          containers:\n            - image: nginx\n              imagePullPolicy: IfNotPresent\n              lifecycle: {}\n              name: container-3\n              resources:\n                limits:\n                  cpu: 250m\n                  memory: 512Mi\n                requests:\n                  cpu: 250m\n                  memory: 512Mi\n              securityContext:\n                privileged: false\n              terminationMessagePath: /dev/termination-log\n              terminationMessagePolicy: File\n          dnsPolicy: ClusterFirst\n          restartPolicy: Never\n          schedulerName: default-scheduler\n          securityContext: {}\n          terminationGracePeriodSeconds: 30\n  schedule: 0 0 13 * 5\n  successfulJobsHistoryLimit: 3\n  suspend: false\nstatus: {}\n
                                        "},{"location":"admin/kpanda/workloads/create-daemonset.html","title":"\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b(DaemonSet)","text":"

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u3002

                                        \u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u901a\u8fc7\u8282\u70b9\u4eb2\u548c\u6027\u4e0e\u6c61\u70b9\u529f\u80fd\u786e\u4fdd\u5728\u5168\u90e8\u6216\u90e8\u5206\u8282\u70b9\u4e0a\u8fd0\u884c\u4e00\u4e2a Pod \u7684\u526f\u672c\u3002\u5bf9\u4e8e\u65b0\u52a0\u5165\u96c6\u7fa4\u7684\u8282\u70b9\uff0cDaemonSet \u81ea\u52a8\u5728\u65b0\u8282\u70b9\u4e0a\u90e8\u7f72\u76f8\u5e94\u7684 Pod\uff0c\u5e76\u8ddf\u8e2a Pod \u7684\u8fd0\u884c\u72b6\u6001\u3002\u5f53\u8282\u70b9\u88ab\u79fb\u9664\u65f6\uff0cDaemonSet \u5219\u5220\u9664\u5176\u521b\u5efa\u7684\u6240\u6709 Pod\u3002

                                        \u5b88\u62a4\u8fdb\u7a0b\u7684\u5e38\u89c1\u7528\u4f8b\u5305\u62ec\uff1a

                                        • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u96c6\u7fa4\u5b88\u62a4\u8fdb\u7a0b\u3002

                                        • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u65e5\u5fd7\u6536\u96c6\u5b88\u62a4\u8fdb\u7a0b\u3002

                                        • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u76d1\u63a7\u5b88\u62a4\u8fdb\u7a0b\u3002

                                        \u7b80\u5355\u8d77\u89c1\uff0c\u53ef\u4ee5\u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u4e3a\u6bcf\u79cd\u7c7b\u578b\u7684\u5b88\u62a4\u8fdb\u7a0b\u90fd\u542f\u52a8\u4e00\u4e2a DaemonSet\u3002\u5982\u9700\u66f4\u7cbe\u7ec6\u3001\u66f4\u9ad8\u7ea7\u5730\u7ba1\u7406\u5b88\u62a4\u8fdb\u7a0b\uff0c\u4e5f\u53ef\u4ee5\u4e3a\u540c\u4e00\u79cd\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u591a\u4e2a DaemonSet\u3002\u6bcf\u4e2a DaemonSet \u5177\u6709\u4e0d\u540c\u7684\u6807\u5fd7\uff0c\u5e76\u4e14\u5bf9\u4e0d\u540c\u786c\u4ef6\u7c7b\u578b\u5177\u6709\u4e0d\u540c\u7684\u5185\u5b58\u3001CPU \u8981\u6c42\u3002

                                        "},{"location":"admin/kpanda/workloads/create-daemonset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u521b\u5efa DaemonSet \u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                        "},{"location":"admin/kpanda/workloads/create-daemonset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b88\u62a4\u8fdb\u7a0b\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                        3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                          \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b88\u62a4\u8fdb\u7a0b \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b88\u62a4\u8fdb\u7a0b\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                                        "},{"location":"admin/kpanda/workloads/create-daemonset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                                        \u5728 \u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                        • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                        • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                                        "},{"location":"admin/kpanda/workloads/create-daemonset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                                        \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                        \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                                        \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                                        \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                                        • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                                        • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                                        • \u955c\u50cf\uff1a
                                          • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                                          • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                                          • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                                          • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                                        • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                                        • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                                        • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                                          • \u6574\u5361\u6a21\u5f0f\uff1a
                                            • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                          • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                            • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                            • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                            • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                            • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                            • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                            • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                                          • Mig \u6a21\u5f0f
                                            • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                            • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                                        \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                                        \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                                        \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                                        \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                                        \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                                        \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                                        "},{"location":"admin/kpanda/workloads/create-daemonset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                                        \u4e3a\u5b88\u62a4\u8fdb\u7a0b\u521b\u5efa\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u5b88\u62a4\u8fdb\u7a0b\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                                        1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                                        2. \u914d\u7f6e\u670d\u52a1\u53c2\u6570\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u521b\u5efa\u670d\u52a1\u3002

                                        3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        "},{"location":"admin/kpanda/workloads/create-daemonset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                                        \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                        \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3

                                        \u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                                        • DNS \u7b56\u7565

                                          • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                                          • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                                          • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                                          • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                                        • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                                        • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                                        • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                                        • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                                        • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                                        • \u6700\u5927\u65e0\u6548 Pod \u6570\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                                        • \u6700\u5927\u6d6a\u6d8c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                                        • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                                        • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                                        • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                                        • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                                        • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                                        • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                                        • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                                        • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                                        • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                                        \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                                        \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                        "},{"location":"admin/kpanda/workloads/create-daemonset.html#yaml","title":"YAML \u521b\u5efa","text":"

                                        \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                        3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                        \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u7684 YAML \u793a\u4f8b
                                        kind: DaemonSet\napiVersion: apps/v1\nmetadata:\n  name: hwameistor-local-disk-manager\n  namespace: hwameistor\n  uid: ccbdc098-7de3-4a8a-96dd-d1cee159c92b\n  resourceVersion: '90999552'\n  generation: 1\n  creationTimestamp: '2022-12-15T09:03:44Z'\n  labels:\n    app.kubernetes.io/managed-by: Helm\n  annotations:\n    deprecated.daemonset.template.generation: '1'\n    meta.helm.sh/release-name: hwameistor\n    meta.helm.sh/release-namespace: hwameistor\nspec:\n  selector:\n    matchLabels:\n      app: hwameistor-local-disk-manager\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: hwameistor-local-disk-manager\n    spec:\n      volumes:\n        - name: udev\n          hostPath:\n            path: /run/udev\n            type: Directory\n        - name: procmount\n          hostPath:\n            path: /proc\n            type: Directory\n        - name: devmount\n          hostPath:\n            path: /dev\n            type: Directory\n        - name: socket-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins/disk.hwameistor.io\n            type: DirectoryOrCreate\n        - name: registration-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins_registry/\n            type: Directory\n        - name: plugin-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins\n            type: DirectoryOrCreate\n        - name: pods-mount-dir\n          hostPath:\n            path: /var/lib/kubelet/pods\n            type: DirectoryOrCreate\n      containers:\n        - name: registrar\n          image: k8s-gcr.m.daocloud.io/sig-storage/csi-node-driver-registrar:v2.5.0\n          args:\n            - '--v=5'\n            - '--csi-address=/csi/csi.sock'\n            - >-\n              --kubelet-registration-path=/var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n          env:\n            - name: KUBE_NODE_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n          resources: {}\n          volumeMounts:\n            - name: socket-dir\n              mountPath: /csi\n            - name: registration-dir\n              mountPath: /registration\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - /bin/sh\n                  - '-c'\n                  - >-\n                    rm -rf /registration/disk.hwameistor.io \n                    /registration/disk.hwameistor.io-reg.sock\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: manager\n          image: ghcr.m.daocloud.io/hwameistor/local-disk-manager:v0.6.1\n          command:\n            - /local-disk-manager\n          args:\n            - '--endpoint=$(CSI_ENDPOINT)'\n            - '--nodeid=$(NODENAME)'\n            - '--csi-enable=true'\n          env:\n            - name: CSI_ENDPOINT\n              value: unix://var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n            - name: NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: WATCH_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: NODENAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n            - name: OPERATOR_NAME\n              value: local-disk-manager\n          resources: {}\n          volumeMounts:\n            - name: udev\n              mountPath: /run/udev\n            - name: procmount\n              readOnly: true\n              mountPath: /host/proc\n            - name: devmount\n              mountPath: /dev\n            - name: registration-dir\n              mountPath: /var/lib/kubelet/plugins_registry\n            - name: plugin-dir\n              mountPath: /var/lib/kubelet/plugins\n              mountPropagation: Bidirectional\n            - name: pods-mount-dir\n              mountPath: /var/lib/kubelet/pods\n              mountPropagation: Bidirectional\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: true\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      serviceAccountName: hwameistor-admin\n      serviceAccount: hwameistor-admin\n      hostNetwork: true\n      hostPID: true\n      securityContext: {}\n      schedulerName: default-scheduler\n      tolerations:\n        - key: CriticalAddonsOnly\n          operator: Exists\n        - key: node.kubernetes.io/not-ready\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/master\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/control-plane\n          operator: Exists\n          effect: NoSchedule\n        - key: node.cloudprovider.kubernetes.io/uninitialized\n          operator: Exists\n          effect: NoSchedule\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      maxUnavailable: 1\n      maxSurge: 0\n  revisionHistoryLimit: 10\nstatus:\n  currentNumberScheduled: 4\n  numberMisscheduled: 0\n  desiredNumberScheduled: 4\n  numberReady: 4\n  observedGeneration: 1\n  updatedNumberScheduled: 4\n  numberAvailable: 4\n
                                        "},{"location":"admin/kpanda/workloads/create-deployment.html","title":"\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09","text":"

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                                        \u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u4e3b\u8981\u4e3a Pod \u548c ReplicaSet \u63d0\u4f9b\u58f0\u660e\u5f0f\u66f4\u65b0\uff0c\u652f\u6301\u5f39\u6027\u4f38\u7f29\u3001\u6eda\u52a8\u5347\u7ea7\u3001\u7248\u672c\u56de\u9000\u7b49\u529f\u80fd\u3002\u5728 Deployment \u4e2d\u58f0\u660e\u671f\u671b\u7684 Pod \u72b6\u6001\uff0cDeployment Controller \u4f1a\u901a\u8fc7 ReplicaSet \u4fee\u6539\u5f53\u524d\u72b6\u6001\uff0c\u4f7f\u5176\u8fbe\u5230\u9884\u5148\u58f0\u660e\u7684\u671f\u671b\u72b6\u6001\u3002Deployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u652f\u6301\u6570\u636e\u6301\u4e45\u5316\uff0c\u9002\u7528\u4e8e\u90e8\u7f72\u65e0\u72b6\u6001\u7684\u3001\u4e0d\u9700\u8981\u4fdd\u5b58\u6570\u636e\u3001\u968f\u65f6\u53ef\u4ee5\u91cd\u542f\u56de\u6eda\u7684\u5e94\u7528\u3002

                                        \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                                        "},{"location":"admin/kpanda/workloads/create-deployment.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                        "},{"location":"admin/kpanda/workloads/create-deployment.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                        3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                          \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u65e0\u72b6\u6001\u8d1f\u8f7d \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002\u5982\u679c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                                        "},{"location":"admin/kpanda/workloads/create-deployment.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                                        • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                        • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                        • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                                        • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                                        "},{"location":"admin/kpanda/workloads/create-deployment.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                                        \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                        \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                                        \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                                        \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                                        • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                                        • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                                        • \u955c\u50cf\uff1a
                                          • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u5b89\u88c5\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                                          • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                                          • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                                          • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                                        • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                                        • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                                        • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                                          • \u6574\u5361\u6a21\u5f0f\uff1a
                                            • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                          • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                            • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                            • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                            • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                            • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                            • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                            • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                                          • Mig \u6a21\u5f0f
                                            • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                            • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                                        \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                                        \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                                        \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                                        \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                                        \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                                        \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                                        "},{"location":"admin/kpanda/workloads/create-deployment.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                                        \u4e3a\u65e0\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u65e0\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                                        1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                                        2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                                        3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        "},{"location":"admin/kpanda/workloads/create-deployment.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                                        \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                        \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                                        • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002

                                        • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                                        • DNS \u7b56\u7565

                                          • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                                          • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                                          • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                                          • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                                        • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                                        • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                                        • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                                        • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                                        • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                                        • \u6700\u5927\u4e0d\u53ef\u7528\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                                        • \u6700\u5927\u5cf0\u503c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                                        • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                                        • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                                        • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                                        • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                                        • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                                        • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                                        • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                                        • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002

                                        \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                                        \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                        "},{"location":"admin/kpanda/workloads/create-deployment.html#yaml","title":"YAML \u521b\u5efa","text":"

                                        \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                        3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                        \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                                        apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\nspec:\n  selector:\n    matchLabels:\n      app: nginx\n  replicas: 2 # \u544a\u77e5 Deployment \u8fd0\u884c 2 \u4e2a\u4e0e\u8be5\u6a21\u677f\u5339\u914d\u7684 Pod\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.14.2\n        ports:\n        - containerPort: 80\n
                                        "},{"location":"admin/kpanda/workloads/create-job.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u4efb\u52a1\uff08Job\uff09\u3002

                                        \u4efb\u52a1\uff08Job\uff09\u9002\u7528\u4e8e\u6267\u884c\u4e00\u6b21\u6027\u4efb\u52a1\u3002Job \u4f1a\u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod\uff0cJob \u4f1a\u4e00\u76f4\u91cd\u65b0\u5c1d\u8bd5\u6267\u884c Pod\uff0c\u76f4\u5230\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u4e00\u5b9a\u6570\u91cf\u3002\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u6307\u5b9a\u7684\u6570\u91cf\u540e\uff0cJob \u4e5f\u968f\u4e4b\u7ed3\u675f\u3002\u5220\u9664 Job \u65f6\u4f1a\u4e00\u540c\u6e05\u9664\u8be5 Job \u521b\u5efa\u7684\u6240\u6709 Pod\u3002\u6682\u505c Job \u65f6\u5220\u9664\u8be5 Job \u4e2d\u7684\u6240\u6709\u6d3b\u8dc3 Pod\uff0c\u76f4\u5230 Job \u88ab\u7ee7\u7eed\u6267\u884c\u3002\u6709\u5173\u4efb\u52a1\uff08Job\uff09\u7684\u66f4\u591a\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003Job\u3002

                                        "},{"location":"admin/kpanda/workloads/create-job.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                        "},{"location":"admin/kpanda/workloads/create-job.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u4efb\u52a1\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                        3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                          \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                                        "},{"location":"admin/kpanda/workloads/create-job.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                                        \u5728 \u521b\u5efa\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u57fa\u672c\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                        • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                        • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\u3002\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                                        • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                                        "},{"location":"admin/kpanda/workloads/create-job.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                                        \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                        \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                                        \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                                        \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                                        • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                                        • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                                        • \u955c\u50cf\uff1a
                                          • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                                          • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                                          • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                                          • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                                        • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                                        • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                                        • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                                          • \u6574\u5361\u6a21\u5f0f\uff1a
                                            • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                          • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                            • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                            • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                            • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                            • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                            • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                            • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                                          • Mig \u6a21\u5f0f
                                            • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                            • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                                        \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                                        \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                                        \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                                        \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                                        \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                                        \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                                        "},{"location":"admin/kpanda/workloads/create-job.html#_5","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                                        \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u4efb\u52a1\u8bbe\u7f6e\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4e24\u90e8\u5206\u3002

                                        \u4efb\u52a1\u8bbe\u7f6e\u6807\u7b7e\u4e0e\u6ce8\u89e3

                                        • \u5e76\u884c\u6570\uff1a\u4efb\u52a1\u6267\u884c\u8fc7\u7a0b\u4e2d\u5141\u8bb8\u540c\u65f6\u521b\u5efa\u7684\u6700\u5927 Pod \u6570\uff0c\u5e76\u884c\u6570\u5e94\u4e0d\u5927\u4e8e Pod \u603b\u6570\u3002\u9ed8\u8ba4\u4e3a 1\u3002
                                        • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002
                                        • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002

                                        \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                        "},{"location":"admin/kpanda/workloads/create-job.html#yaml","title":"YAML \u521b\u5efa","text":"

                                        \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u4efb\u52a1\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                        3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                        \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                                        kind: Job\napiVersion: batch/v1\nmetadata:\n  name: demo\n  namespace: default\n  uid: a9708239-0358-4aa1-87d3-a092c080836e\n  resourceVersion: '92751876'\n  generation: 1\n  creationTimestamp: '2022-12-26T10:52:22Z'\n  labels:\n    app: demo\n    controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n    job-name: demo\n  annotations:\n    revisions: >-\n      {\"1\":{\"status\":\"running\",\"uid\":\"a9708239-0358-4aa1-87d3-a092c080836e\",\"start-time\":\"2022-12-26T10:52:22Z\",\"completion-time\":\"0001-01-01T00:00:00Z\"}}\nspec:\n  parallelism: 1\n  backoffLimit: 6\n  selector:\n    matchLabels:\n      controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: demo\n        controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n        job-name: demo\n    spec:\n      containers:\n        - name: container-4\n          image: nginx\n          resources:\n            limits:\n              cpu: 250m\n              memory: 512Mi\n            requests:\n              cpu: 250m\n              memory: 512Mi\n          lifecycle: {}\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: false\n      restartPolicy: Never\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext: {}\n      schedulerName: default-scheduler\n  completionMode: NonIndexed\n  suspend: false\nstatus:\n  startTime: '2022-12-26T10:52:22Z'\n  active: 1\n
                                        "},{"location":"admin/kpanda/workloads/create-statefulset.html","title":"\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09","text":"

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u3002

                                        \u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u548c\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u7c7b\u4f3c\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406 Pod \u96c6\u5408\u7684\u90e8\u7f72\u548c\u4f38\u7f29\u3002\u4e8c\u8005\u7684\u4e3b\u8981\u533a\u522b\u5728\u4e8e\uff0cDeployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u4fdd\u5b58\u6570\u636e\uff0c\u800c StatefulSet \u662f\u6709\u72b6\u6001\u7684\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406\u6709\u72b6\u6001\u5e94\u7528\u3002\u6b64\u5916\uff0cStatefulSet \u4e2d\u7684 Pod \u5177\u6709\u6c38\u4e45\u4e0d\u53d8\u7684 ID\uff0c\u4fbf\u4e8e\u5728\u5339\u914d\u5b58\u50a8\u5377\u65f6\u8bc6\u522b\u5bf9\u5e94\u7684 Pod\u3002

                                        \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                                        "},{"location":"admin/kpanda/workloads/create-statefulset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                        "},{"location":"admin/kpanda/workloads/create-statefulset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                        2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u53f3\u4e0a\u89d2 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                        3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                          \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \u5217\u8868\uff0c\u7b49\u5f85\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                                          \u70b9\u51fb\u65b0\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u5217\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002

                                        "},{"location":"admin/kpanda/workloads/create-statefulset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                                        • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                        • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                        • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                                        • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                                        "},{"location":"admin/kpanda/workloads/create-statefulset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                                        \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                        \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                                        \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                                        \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                                        • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                                        • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                                        • \u955c\u50cf\uff1a
                                          • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                                          • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                                          • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                                          • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                                        • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                                        • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                                        • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                                          • \u6574\u5361\u6a21\u5f0f\uff1a
                                            • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                          • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                            • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                            • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                            • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                            • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                            • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                            • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                                          • Mig \u6a21\u5f0f
                                            • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                            • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                                        \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                                        \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                                        \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\u3002\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                                        \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                                        \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                                        \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                                        "},{"location":"admin/kpanda/workloads/create-statefulset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                                        \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                                        1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                                        2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                                        3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        "},{"location":"admin/kpanda/workloads/create-statefulset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                                        \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                        \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u5bb9\u5668\u7ba1\u7406\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                                        • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002

                                        • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                                        • DNS \u7b56\u7565

                                          • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                                          • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                                          • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                                          • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                                        • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                                        • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                                        • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                                        • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                                        • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                                        • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                                        • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                                        Kubernetes v1.7 \u53ca\u5176\u4e4b\u540e\u7684\u7248\u672c\u53ef\u4ee5\u901a\u8fc7 .spec.podManagementPolicy \u8bbe\u7f6e Pod \u7684\u7ba1\u7406\u7b56\u7565\uff0c\u652f\u6301\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\uff1a

                                        • \u6309\u5e8f\u7b56\u7565\uff08OrderedReady\uff09 \uff1a\u9ed8\u8ba4\u7684 Pod \u7ba1\u7406\u7b56\u7565\uff0c\u8868\u793a\u6309\u987a\u5e8f\u90e8\u7f72 Pod\uff0c\u53ea\u6709\u524d\u4e00\u4e2a Pod \u90e8\u7f72 \u6210\u529f\u5b8c\u6210\u540e\uff0c\u6709\u72b6\u6001\u8d1f\u8f7d\u624d\u4f1a\u5f00\u59cb\u90e8\u7f72\u4e0b\u4e00\u4e2a Pod\u3002\u5220\u9664 Pod \u65f6\u5219\u91c7\u7528\u9006\u5e8f\uff0c\u6700\u540e\u521b\u5efa\u7684\u6700\u5148\u88ab\u5220\u9664\u3002

                                        • \u5e76\u884c\u7b56\u7565\uff08Parallel\uff09 \uff1a\u5e76\u884c\u521b\u5efa\u6216\u5220\u9664\u5bb9\u5668\uff0c\u548c Deployment \u7c7b\u578b\u7684 Pod \u4e00\u6837\u3002StatefulSet \u63a7\u5236\u5668\u5e76\u884c\u5730\u542f\u52a8\u6216\u7ec8\u6b62\u6240\u6709\u7684\u5bb9\u5668\u3002\u542f\u52a8\u6216\u8005\u7ec8\u6b62\u5176\u4ed6 Pod \u524d\uff0c\u65e0\u9700\u7b49\u5f85 Pod \u8fdb\u5165 Running \u548c ready \u6216\u8005\u5b8c\u5168\u505c\u6b62\u72b6\u6001\u3002 \u8fd9\u4e2a\u9009\u9879\u53ea\u4f1a\u5f71\u54cd\u6269\u7f29\u64cd\u4f5c\u7684\u884c\u4e3a\uff0c\u4e0d\u5f71\u54cd\u66f4\u65b0\u65f6\u7684\u987a\u5e8f\u3002

                                        • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                                        • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                                        • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                                        • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                                        • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                                        \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                                        ![\u8c03\u5ea6\u7b56\u7565](../../../images/deploy15_1.png)\n

                                        \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                        "},{"location":"admin/kpanda/workloads/create-statefulset.html#yaml","title":"YAML \u521b\u5efa","text":"

                                        \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                        2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                        3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                        \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                                        kind: StatefulSet\napiVersion: apps/v1\nmetadata:\n  name: test-mysql-123-mysql\n  namespace: default\n  uid: d3f45527-a0ab-4b22-9013-5842a06f4e0e\n  resourceVersion: '20504385'\n  generation: 1\n  creationTimestamp: '2022-09-22T09:34:10Z'\n  ownerReferences:\n    - apiVersion: mysql.presslabs.org/v1alpha1\n      kind: MysqlCluster\n      name: test-mysql-123\n      uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app.kubernetes.io/managed-by: mysql.presslabs.org\n      app.kubernetes.io/name: mysql\n      mysql.presslabs.org/cluster: test-mysql-123\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app.kubernetes.io/component: database\n        app.kubernetes.io/instance: test-mysql-123\n        app.kubernetes.io/managed-by: mysql.presslabs.org\n        app.kubernetes.io/name: mysql\n        app.kubernetes.io/version: 5.7.31\n        mysql.presslabs.org/cluster: test-mysql-123\n      annotations:\n        config_rev: '13941099'\n        prometheus.io/port: '9125'\n        prometheus.io/scrape: 'true'\n        secret_rev: '13941101'\n    spec:\n      volumes:\n        - name: conf\n          emptyDir: {}\n        - name: init-scripts\n          emptyDir: {}\n        - name: config-map\n          configMap:\n            name: test-mysql-123-mysql\n            defaultMode: 420\n        - name: data\n          persistentVolumeClaim:\n            claimName: data\n      initContainers:\n        - name: init\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - clone-and-init\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: BACKUP_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_USER\n                  optional: true\n            - name: BACKUP_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_PASSWORD\n                  optional: true\n          resources: {}\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: config-map\n              mountPath: /mnt/conf\n            - name: data\n              mountPath: /var/lib/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      containers:\n        - name: mysql\n          image: docker.m.daocloud.io/mysql:5.7.31\n          ports:\n            - name: mysql\n              containerPort: 3306\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: ORCH_CLUSTER_ALIAS\n              value: test-mysql-123.default\n            - name: ORCH_HTTP_API\n              value: http://mysql-operator.mcamel-system/api\n            - name: MYSQL_ROOT_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: ROOT_PASSWORD\n                  optional: false\n            - name: MYSQL_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: USER\n                  optional: true\n            - name: MYSQL_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: PASSWORD\n                  optional: true\n            - name: MYSQL_DATABASE\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: DATABASE\n                  optional: true\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 100m\n              memory: 512Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          livenessProbe:\n            exec:\n              command:\n                - mysqladmin\n                - '--defaults-file=/etc/mysql/client.conf'\n                - ping\n            initialDelaySeconds: 60\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          readinessProbe:\n            exec:\n              command:\n                - /bin/sh\n                - '-c'\n                - >-\n                  test $(mysql --defaults-file=/etc/mysql/client.conf -NB -e\n                  'SELECT COUNT(*) FROM sys_operator.status WHERE\n                  name=\"configured\" AND value=\"1\"') -eq 1\n            initialDelaySeconds: 5\n            timeoutSeconds: 5\n            periodSeconds: 2\n            successThreshold: 1\n            failureThreshold: 3\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - bash\n                  - /etc/mysql/pre-shutdown-ha.sh\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: sidecar\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - config-and-serve\n          ports:\n            - name: sidecar-http\n              containerPort: 8080\n              protocol: TCP\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: XTRABACKUP_TARGET_DIR\n              value: /tmp/xtrabackup_backupfiles/\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 10m\n              memory: 64Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          readinessProbe:\n            httpGet:\n              path: /health\n              port: 8080\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: metrics-exporter\n          image: prom/mysqld-exporter:v0.13.0\n          args:\n            - '--web.listen-address=0.0.0.0:9125'\n            - '--web.telemetry-path=/metrics'\n            - '--collect.heartbeat'\n            - '--collect.heartbeat.database=sys_operator'\n          ports:\n            - name: prometheus\n              containerPort: 9125\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_USER\n                  optional: false\n            - name: PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_PASSWORD\n                  optional: false\n            - name: DATA_SOURCE_NAME\n              value: $(USER):$(PASSWORD)@(127.0.0.1:3306)/\n          resources:\n            limits:\n              cpu: 100m\n              memory: 128Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          livenessProbe:\n            httpGet:\n              path: /metrics\n              port: 9125\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 30\n            periodSeconds: 30\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: pt-heartbeat\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - pt-heartbeat\n            - '--update'\n            - '--replace'\n            - '--check-read-only'\n            - '--create-table'\n            - '--database'\n            - sys_operator\n            - '--table'\n            - heartbeat\n            - '--utc'\n            - '--defaults-file'\n            - /etc/mysql/heartbeat.conf\n            - '--fail-successive-errors=20'\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n          resources:\n            limits:\n              cpu: 100m\n              memory: 64Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext:\n        runAsUser: 999\n        fsGroup: 999\n      affinity:\n        podAntiAffinity:\n          preferredDuringSchedulingIgnoredDuringExecution:\n            - weight: 100\n              podAffinityTerm:\n                labelSelector:\n                  matchLabels:\n                    app.kubernetes.io/component: database\n                    app.kubernetes.io/instance: test-mysql-123\n                    app.kubernetes.io/managed-by: mysql.presslabs.org\n                    app.kubernetes.io/name: mysql\n                    app.kubernetes.io/version: 5.7.31\n                    mysql.presslabs.org/cluster: test-mysql-123\n                topologyKey: kubernetes.io/hostname\n      schedulerName: default-scheduler\n  volumeClaimTemplates:\n    - kind: PersistentVolumeClaim\n      apiVersion: v1\n      metadata:\n        name: data\n        creationTimestamp: null\n        ownerReferences:\n          - apiVersion: mysql.presslabs.org/v1alpha1\n            kind: MysqlCluster\n            name: test-mysql-123\n            uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n            controller: true\n      spec:\n        accessModes:\n          - ReadWriteOnce\n        resources:\n          limits:\n            storage: 1Gi\n          requests:\n            storage: 1Gi\n        storageClassName: local-path\n        volumeMode: Filesystem\n      status:\n        phase: Pending\n  serviceName: mysql\n  podManagementPolicy: OrderedReady\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      partition: 0\n  revisionHistoryLimit: 10\nstatus:\n  observedGeneration: 1\n  replicas: 1\n  readyReplicas: 1\n  currentReplicas: 1\n  updatedReplicas: 1\n  currentRevision: test-mysql-123-mysql-6b8f5577c7\n  updateRevision: test-mysql-123-mysql-6b8f5577c7\n  collisionCount: 0\n  availableReplicas: 1\n
                                        "},{"location":"admin/kpanda/workloads/pod-config/env-variables.html","title":"\u914d\u7f6e\u73af\u5883\u53d8\u91cf","text":"

                                        \u73af\u5883\u53d8\u91cf\u662f\u6307\u5bb9\u5668\u8fd0\u884c\u73af\u5883\u4e2d\u8bbe\u5b9a\u7684\u4e00\u4e2a\u53d8\u91cf\uff0c\u7528\u4e8e\u7ed9 Pod \u6dfb\u52a0\u73af\u5883\u6807\u5fd7\u6216\u4f20\u9012\u914d\u7f6e\u7b49\uff0c\u652f\u6301\u901a\u8fc7\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5728\u539f\u751f Kubernetes \u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u56fe\u5f62\u5316\u754c\u9762\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u914d\u7f6e\u65b9\u5f0f\uff1a

                                        • \u952e\u503c\u5bf9\uff08Key/Value Pair\uff09\uff1a\u5c06\u81ea\u5b9a\u4e49\u7684\u952e\u503c\u5bf9\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf
                                        • \u8d44\u6e90\u5f15\u7528\uff08Resource\uff09\uff1a\u5c06 Container \u5b9a\u4e49\u7684\u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982\u5bb9\u5668\u7684\u5185\u5b58\u9650\u5236\u3001\u526f\u672c\u6570\u7b49
                                        • \u53d8\u91cf/\u53d8\u91cf\u5f15\u7528\uff08Pod Field\uff09\uff1a\u5c06 Pod \u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982 Pod \u7684\u540d\u79f0
                                        • \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\uff08ConfigMap key\uff09\uff1a\u5bfc\u5165\u914d\u7f6e\u9879\u4e2d\u67d0\u4e2a\u952e\u7684\u503c\u4f5c\u4e3a\u67d0\u4e2a\u73af\u5883\u53d8\u91cf\u7684\u503c
                                        • \u5bc6\u94a5\u952e\u503c\u5bfc\u5165\uff08Secret Key\uff09\uff1a\u4f7f\u7528\u6765\u81ea Secret \u4e2d\u7684\u6570\u636e\u5b9a\u4e49\u73af\u5883\u53d8\u91cf\u7684\u503c
                                        • \u5bc6\u94a5\u5bfc\u5165\uff08Secret\uff09\uff1a\u5c06 Secret \u4e2d\u7684\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf
                                        • \u914d\u7f6e\u9879\u5bfc\u5165\uff08ConfigMap\uff09\uff1a\u5c06\u914d\u7f6e\u9879\u4e2d\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf
                                        "},{"location":"admin/kpanda/workloads/pod-config/health-check.html","title":"\u5bb9\u5668\u7684\u5065\u5eb7\u68c0\u67e5","text":"

                                        \u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u6839\u636e\u7528\u6237\u9700\u6c42\uff0c\u68c0\u67e5\u5bb9\u5668\u7684\u5065\u5eb7\u72b6\u51b5\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5185\u7684\u5e94\u7528\u7a0b\u5e8f\u5165\u5982\u679c\u5f02\u5e38\uff0c\u5bb9\u5668\u4f1a\u81ea\u52a8\u8fdb\u884c\u91cd\u542f\u6062\u590d\u3002Kubernetes \u63d0\u4f9b\u4e86\u5b58\u6d3b\uff08Liveness\uff09\u68c0\u67e5\u3001\u5c31\u7eea\uff08Readiness\uff09\u68c0\u67e5\u548c\u542f\u52a8\uff08Startup\uff09\u68c0\u67e5\u3002

                                        • \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09 \u53ef\u63a2\u6d4b\u5230\u5e94\u7528\u6b7b\u9501\uff08\u5e94\u7528\u7a0b\u5e8f\u5728\u8fd0\u884c\uff0c\u4f46\u662f\u65e0\u6cd5\u7ee7\u7eed\u6267\u884c\u540e\u9762\u7684\u6b65\u9aa4\uff09\u60c5\u51b5\u3002 \u91cd\u542f\u8fd9\u79cd\u72b6\u6001\u4e0b\u7684\u5bb9\u5668\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\uff0c\u5373\u4f7f\u5176\u4e2d\u5b58\u5728\u7f3a\u9677\u3002

                                        • \u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09 \u53ef\u63a2\u77e5\u5bb9\u5668\u4f55\u65f6\u51c6\u5907\u597d\u63a5\u53d7\u8bf7\u6c42\u6d41\u91cf\uff0c\u5f53\u4e00\u4e2a Pod \u5185\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5c31\u7eea\u65f6\uff0c\u624d\u80fd\u8ba4\u4e3a\u8be5 Pod \u5c31\u7eea\u3002 \u8fd9\u79cd\u4fe1\u53f7\u7684\u4e00\u4e2a\u7528\u9014\u5c31\u662f\u63a7\u5236\u54ea\u4e2a Pod \u4f5c\u4e3a Service \u7684\u540e\u7aef\u3002 \u82e5 Pod \u5c1a\u672a\u5c31\u7eea\uff0c\u4f1a\u88ab\u4ece Service \u7684\u8d1f\u8f7d\u5747\u8861\u5668\u4e2d\u5254\u9664\u3002

                                        • \u542f\u52a8\u68c0\u67e5\uff08StartupProbe\uff09 \u53ef\u4ee5\u4e86\u89e3\u5e94\u7528\u5bb9\u5668\u4f55\u65f6\u542f\u52a8\uff0c\u914d\u7f6e\u540e\uff0c\u53ef\u63a7\u5236\u5bb9\u5668\u5728\u542f\u52a8\u6210\u529f\u540e\u518d\u8fdb\u884c\u5b58\u6d3b\u6027\u548c\u5c31\u7eea\u6001\u68c0\u67e5\uff0c \u786e\u4fdd\u8fd9\u4e9b\u5b58\u6d3b\u3001\u5c31\u7eea\u63a2\u6d4b\u5668\u4e0d\u4f1a\u5f71\u54cd\u5e94\u7528\u7684\u542f\u52a8\u3002 \u542f\u52a8\u63a2\u6d4b\u53ef\u4ee5\u7528\u4e8e\u5bf9\u6162\u542f\u52a8\u5bb9\u5668\u8fdb\u884c\u5b58\u6d3b\u6027\u68c0\u6d4b\uff0c\u907f\u514d\u5b83\u4eec\u5728\u542f\u52a8\u8fd0\u884c\u4e4b\u524d\u5c31\u88ab\u6740\u6389\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/health-check.html#_2","title":"\u5b58\u6d3b\u548c\u5c31\u7eea\u68c0\u67e5","text":"

                                        \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09\u7684\u914d\u7f6e\u548c\u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09\u7684\u914d\u7f6e\u53c2\u6570\u76f8\u4f3c\uff0c \u552f\u4e00\u533a\u522b\u662f\u8981\u4f7f\u7528 readinessProbe \u5b57\u6bb5\uff0c\u800c\u4e0d\u662f livenessProbe \u5b57\u6bb5\u3002

                                        HTTP GET \u53c2\u6570\u8bf4\u660e\uff1a

                                        \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u8def\u5f84\uff08 Path\uff09 \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\u3002\u5982\uff1a \u793a\u4f8b\u4e2d\u7684 /healthz \u8def\u5f84 \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u534f\u8bae \u8bbf\u95ee\u534f\u8bae\uff0cHttp \u6216\u8005Https \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u6210\u529f\u9608\u503c\uff08successThreshold\uff09 \u63a2\u6d4b\u5931\u8d25\u540e\uff0c\u88ab\u89c6\u4e3a\u6210\u529f\u7684\u6700\u5c0f\u8fde\u7eed\u6210\u529f\u6570\u3002\u9ed8\u8ba4\u503c\u662f 1\uff0c\u6700\u5c0f\u503c\u662f 1\u3002\u5b58\u6d3b\u548c\u542f\u52a8\u63a2\u6d4b\u7684\u8fd9\u4e2a\u503c\u5fc5\u987b\u662f 1\u3002 \u6700\u5927\u5931\u8d25\u6b21\u6570\uff08failureThreshold\uff09 \u5f53\u63a2\u6d4b\u5931\u8d25\u65f6\u91cd\u8bd5\u7684\u6b21\u6570\u3002\u5b58\u6d3b\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03\u5c31\u610f\u5473\u7740\u91cd\u65b0\u542f\u52a8\u5bb9\u5668\u3002\u5c31\u7eea\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03 Pod \u4f1a\u88ab\u6253\u4e0a\u672a\u5c31\u7eea\u7684\u6807\u7b7e\u3002\u9ed8\u8ba4\u503c\u662f 3\u3002\u6700\u5c0f\u503c\u662f 1\u3002"},{"location":"admin/kpanda/workloads/pod-config/health-check.html#http-get","title":"\u4f7f\u7528 HTTP GET \u8bf7\u6c42\u68c0\u67e5","text":"

                                        YAML \u793a\u4f8b\uff1a

                                        apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-http\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/liveness\n    args:\n    - /server\n    livenessProbe:\n      httpGet:\n        path: /healthz  # \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\n        port: 8080  # \u670d\u52a1\u76d1\u542c\u7aef\u53e3\n        httpHeaders:\n        - name: Custom-Header\n          value: Awesome\n      initialDelaySeconds: 3  # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u5e94\u8be5\u7b49\u5f85 3 \u79d2\n      periodSeconds: 3   # kubelet \u6bcf\u9694 3 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                                        \u6309\u7167\u8bbe\u5b9a\u7684\u89c4\u5219\uff0ckubelet \u5411\u5bb9\u5668\u5185\u8fd0\u884c\u7684\u670d\u52a1\uff08\u670d\u52a1\u5728\u76d1\u542c 8080 \u7aef\u53e3\uff09\u53d1\u9001\u4e00\u4e2a HTTP GET \u8bf7\u6c42\u6765\u6267\u884c\u63a2\u6d4b\u3002\u5982\u679c\u670d\u52a1\u5668\u4e0a /healthz \u8def\u5f84\u4e0b\u7684\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u6210\u529f\u4ee3\u7801\uff0c\u5219 kubelet \u8ba4\u4e3a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u5931\u8d25\u4ee3\u7801\uff0c\u5219 kubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u5c06\u5176\u91cd\u542f\u3002\u8fd4\u56de\u5927\u4e8e\u6216\u7b49\u4e8e 200 \u5e76\u4e14\u5c0f\u4e8e 400 \u7684\u4efb\u4f55\u4ee3\u7801\u90fd\u6807\u793a\u6210\u529f\uff0c\u5176\u5b83\u8fd4\u56de\u4ee3\u7801\u90fd\u6807\u793a\u5931\u8d25\u3002 \u5bb9\u5668\u5b58\u6d3b\u671f\u95f4\u7684\u6700\u5f00\u59cb 10 \u79d2\u4e2d\uff0c /healthz \u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 200 \u7684\u72b6\u6001\u7801\u3002 \u4e4b\u540e\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 500 \u7684\u72b6\u6001\u7801\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/health-check.html#tcp","title":"\u4f7f\u7528 TCP \u7aef\u53e3\u68c0\u67e5","text":"

                                        TCP \u7aef\u53e3\u53c2\u6570\u8bf4\u660e\uff1a

                                        \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002

                                        \u5bf9\u4e8e\u63d0\u4f9bTCP\u901a\u4fe1\u670d\u52a1\u7684\u5bb9\u5668\uff0c\u57fa\u4e8e\u6b64\u914d\u7f6e\uff0c\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\u96c6\u7fa4\u5bf9\u8be5\u5bb9\u5668\u5efa\u7acbTCP\u8fde\u63a5\uff0c\u5982\u679c\u8fde\u63a5\u6210\u529f\uff0c\u5219\u8bc1\u660e\u63a2\u6d4b\u6210\u529f\uff0c\u5426\u5219\u63a2\u6d4b\u5931\u8d25\u3002\u9009\u62e9TCP\u7aef\u53e3\u63a2\u6d4b\u65b9\u5f0f\uff0c\u5fc5\u987b\u6307\u5b9a\u5bb9\u5668\u76d1\u542c\u7684\u7aef\u53e3\u3002

                                        YAML \u793a\u4f8b\uff1a

                                        apiVersion: v1\nkind: Pod\nmetadata:\n  name: goproxy\n  labels:\n    app: goproxy\nspec:\n  containers:\n  - name: goproxy\n    image: k8s.gcr.io/goproxy:0.1\n    ports:\n    - containerPort: 8080\n    readinessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 5\n      periodSeconds: 10\n    livenessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 15\n      periodSeconds: 20\n

                                        \u6b64\u793a\u4f8b\u540c\u65f6\u4f7f\u7528\u5c31\u7eea\u548c\u5b58\u6d3b\u63a2\u9488\u3002kubelet \u5728\u5bb9\u5668\u542f\u52a8 5 \u79d2\u540e\u53d1\u9001\u7b2c\u4e00\u4e2a\u5c31\u7eea\u63a2\u6d4b\u3002 \u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\uff0c \u5982\u679c\u63a2\u6d4b\u6210\u529f\uff0c\u8fd9\u4e2a Pod \u4f1a\u88ab\u6807\u8bb0\u4e3a\u5c31\u7eea\u72b6\u6001\uff0ckubelet \u5c06\u7ee7\u7eed\u6bcf\u9694 10 \u79d2\u8fd0\u884c\u4e00\u6b21\u68c0\u6d4b\u3002

                                        \u9664\u4e86\u5c31\u7eea\u63a2\u6d4b\uff0c\u8fd9\u4e2a\u914d\u7f6e\u5305\u62ec\u4e86\u4e00\u4e2a\u5b58\u6d3b\u63a2\u6d4b\u3002 kubelet \u4f1a\u5728\u5bb9\u5668\u542f\u52a8 15 \u79d2\u540e\u8fdb\u884c\u7b2c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\u3002 \u5c31\u7eea\u63a2\u6d4b\u4f1a\u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\u3002 \u5982\u679c\u5b58\u6d3b\u63a2\u6d4b\u5931\u8d25\uff0c\u5bb9\u5668\u4f1a\u88ab\u91cd\u65b0\u542f\u52a8\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/health-check.html#_3","title":"\u6267\u884c\u547d\u4ee4\u68c0\u67e5","text":"

                                        YAML \u793a\u4f8b:

                                        apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-exec\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/busybox\n    args:\n    - /bin/sh\n    - -c\n    - touch /tmp/healthy; sleep 30; rm -f /tmp/healthy; sleep 600\n    livenessProbe:\n      exec:\n        command:\n        - cat\n        - /tmp/healthy\n      initialDelaySeconds: 5 # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\n      periodSeconds: 5  #kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                                        periodSeconds \u5b57\u6bb5\u6307\u5b9a\u4e86 kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\uff0c initialDelaySeconds \u5b57\u6bb5\u6307\u5b9a kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\u3002\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\uff0c\u96c6\u7fa4\u5468\u671f\u6027\u7684\u901a\u8fc7 kubelet \u5728\u5bb9\u5668\u5185\u6267\u884c\u547d\u4ee4 cat /tmp/healthy \u6765\u8fdb\u884c\u63a2\u6d4b\u3002 \u5982\u679c\u547d\u4ee4\u6267\u884c\u6210\u529f\u5e76\u4e14\u8fd4\u56de\u503c\u4e3a 0\uff0ckubelet \u5c31\u4f1a\u8ba4\u4e3a\u8fd9\u4e2a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u8fd9\u4e2a\u547d\u4ee4\u8fd4\u56de\u975e 0 \u503c\uff0ckubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u91cd\u65b0\u542f\u52a8\u5b83\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/health-check.html#_4","title":"\u4f7f\u7528\u542f\u52a8\u524d\u68c0\u67e5\u4fdd\u62a4\u6162\u542f\u52a8\u5bb9\u5668","text":"

                                        \u6709\u4e9b\u5e94\u7528\u5728\u542f\u52a8\u65f6\u9700\u8981\u8f83\u957f\u7684\u521d\u59cb\u5316\u65f6\u95f4\uff0c\u9700\u8981\u4f7f\u7528\u76f8\u540c\u7684\u547d\u4ee4\u6765\u8bbe\u7f6e\u542f\u52a8\u63a2\u6d4b\uff0c\u9488\u5bf9 HTTP \u6216 TCP \u68c0\u6d4b\uff0c\u53ef\u4ee5\u901a\u8fc7\u5c06 failureThreshold * periodSeconds \u53c2\u6570\u8bbe\u7f6e\u4e3a\u8db3\u591f\u957f\u7684\u65f6\u95f4\u6765\u5e94\u5bf9\u542f\u52a8\u9700\u8981\u8f83\u957f\u65f6\u95f4\u7684\u573a\u666f\u3002

                                        YAML \u793a\u4f8b\uff1a

                                        ports:\n- name: liveness-port\n  containerPort: 8080\n  hostPort: 8080\n\nlivenessProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 1\n  periodSeconds: 10\n\nstartupProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 30\n  periodSeconds: 10\n

                                        \u5982\u4e0a\u8bbe\u7f6e\uff0c\u5e94\u7528\u5c06\u6709\u6700\u591a 5 \u5206\u949f\uff0830 * 10 = 300s\uff09\u7684\u65f6\u95f4\u6765\u5b8c\u6210\u542f\u52a8\u8fc7\u7a0b\uff0c \u4e00\u65e6\u542f\u52a8\u63a2\u6d4b\u6210\u529f\uff0c\u5b58\u6d3b\u63a2\u6d4b\u4efb\u52a1\u5c31\u4f1a\u63a5\u7ba1\u5bf9\u5bb9\u5668\u7684\u63a2\u6d4b\uff0c\u5bf9\u5bb9\u5668\u6b7b\u9501\u4f5c\u51fa\u5feb\u901f\u54cd\u5e94\u3002 \u5982\u679c\u542f\u52a8\u63a2\u6d4b\u4e00\u76f4\u6ca1\u6709\u6210\u529f\uff0c\u5bb9\u5668\u4f1a\u5728 300 \u79d2\u540e\u88ab\u6740\u6b7b\uff0c\u5e76\u4e14\u6839\u636e restartPolicy \u6765 \u6267\u884c\u8fdb\u4e00\u6b65\u5904\u7f6e\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/job-parameters.html","title":"\u4efb\u52a1\u53c2\u6570\u8bf4\u660e","text":"

                                        \u6839\u636e .spec.completions \u548c .spec.Parallelism \u7684\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u5c06\u4efb\u52a1\uff08Job\uff09\u5212\u5206\u4e3a\u4ee5\u4e0b\u51e0\u79cd\u7c7b\u578b:

                                        Job \u7c7b\u578b \u8bf4\u660e \u975e\u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176 Job \u6210\u529f\u7ed3\u675f \u5177\u6709\u786e\u5b9a\u5b8c\u6210\u8ba1\u6570\u7684\u5e76\u884c Job \u5f53\u6210\u529f\u7684 Pod \u4e2a\u6570\u8fbe\u5230 .spec.completions \u65f6\uff0cJob \u88ab\u89c6\u4e3a\u5b8c\u6210 \u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod \u76f4\u81f3\u6709\u4e00\u4e2a\u6210\u529f\u7ed3\u675f

                                        \u53c2\u6570\u8bf4\u660e

                                        RestartPolicy \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176\u6210\u529f\u7ed3\u675f .spec.completions \u8868\u793a Job \u7ed3\u675f\u9700\u8981\u6210\u529f\u8fd0\u884c\u7684 Pod \u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 .spec.parallelism \u8868\u793a\u5e76\u884c\u8fd0\u884c\u7684 Pod \u7684\u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 spec.backoffLimit \u8868\u793a\u5931\u8d25 Pod \u7684\u91cd\u8bd5\u6700\u5927\u6b21\u6570\uff0c\u8d85\u8fc7\u8fd9\u4e2a\u6b21\u6570\u4e0d\u4f1a\u7ee7\u7eed\u91cd\u8bd5\u3002 .spec.activeDeadlineSeconds \u8868\u793a Pod \u8fd0\u884c\u65f6\u95f4\uff0c\u4e00\u65e6\u8fbe\u5230\u8fd9\u4e2a\u65f6\u95f4\uff0cJob \u5373\u5176\u6240\u6709\u7684 Pod \u90fd\u4f1a\u505c\u6b62\u3002\u4e14activeDeadlineSeconds \u4f18\u5148\u7ea7\u9ad8\u4e8e backoffLimit\uff0c\u5373\u5230\u8fbe activeDeadlineSeconds \u7684 Job \u4f1a\u5ffd\u7565backoffLimit \u7684\u8bbe\u7f6e\u3002

                                        \u4ee5\u4e0b\u662f\u4e00\u4e2a Job \u914d\u7f6e\u793a\u4f8b\uff0c\u4fdd\u5b58\u5728 myjob.yaml \u4e2d\uff0c\u5176\u8ba1\u7b97 \u03c0 \u5230 2000 \u4f4d\u5e76\u6253\u5370\u8f93\u51fa\u3002

                                        apiVersion: batch/v1\nkind: Job            #\u5f53\u524d\u8d44\u6e90\u7684\u7c7b\u578b\nmetadata:\n  name: myjob\nspec:\n  completions: 50        # Job\u7ed3\u675f\u9700\u8981\u8fd0\u884c50\u4e2aPod\uff0c\u8fd9\u4e2a\u793a\u4f8b\u4e2d\u5c31\u662f\u6253\u5370\u03c0 50\u6b21\n  parallelism: 5        # \u5e76\u884c5\u4e2aPod\n  backoffLimit: 5        # \u6700\u591a\u91cd\u8bd55\u6b21\n  template:\n    spec:\n      containers:\n      - name: pi\n        image: perl\n        command: [\"perl\",  \"-Mbignum=bpi\", \"-wle\", \"print bpi(2000)\"]\n      restartPolicy: Never #\u91cd\u542f\u7b56\u7565\n

                                        \u76f8\u5173\u547d\u4ee4

                                        kubectl apply -f myjob.yaml  #\u542f\u52a8 job\nkubectl get job #\u67e5\u770b\u8fd9\u4e2ajob\nkubectl logs myjob-1122dswzs \u67e5\u770bJob Pod \u7684\u65e5\u5fd7\n
                                        "},{"location":"admin/kpanda/workloads/pod-config/lifecycle.html","title":"\u914d\u7f6e\u5bb9\u5668\u751f\u547d\u5468\u671f","text":"

                                        Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c Pod \u5185\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \u72b6\u6001\u3002\u5982\u679c Pod \u4e2d\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\uff0c\u5219\u72b6\u6001\u53d8\u4e3a Failed \u3002\u4ee5\u4e0b phase \u5b57\u6bb5\u503c\u8868\u660e\u4e86\u4e00\u4e2a Pod \u5904\u4e8e\u751f\u547d\u5468\u671f\u7684\u54ea\u4e2a\u9636\u6bb5\u3002

                                        \u503c \u63cf\u8ff0 Pending \uff08\u60ac\u51b3\uff09 Pod \u5df2\u88ab\u7cfb\u7edf\u63a5\u53d7\uff0c\u4f46\u6709\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u5bb9\u5668\u5c1a\u672a\u521b\u5efa\u4ea6\u672a\u8fd0\u884c\u3002\u8fd9\u4e2a\u9636\u6bb5\u5305\u62ec\u7b49\u5f85 Pod \u88ab\u8c03\u5ea6\u7684\u65f6\u95f4\u548c\u901a\u8fc7\u7f51\u7edc\u4e0b\u8f7d\u955c\u50cf\u7684\u65f6\u95f4\u3002 Running \uff08\u8fd0\u884c\u4e2d\uff09 Pod \u5df2\u7ecf\u7ed1\u5b9a\u5230\u4e86\u67d0\u4e2a\u8282\u70b9\uff0cPod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u88ab\u521b\u5efa\u3002\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u4ecd\u5728\u8fd0\u884c\uff0c\u6216\u8005\u6b63\u5904\u4e8e\u542f\u52a8\u6216\u91cd\u542f\u72b6\u6001\u3002 Succeeded \uff08\u6210\u529f\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u6210\u529f\u7ec8\u6b62\uff0c\u5e76\u4e14\u4e0d\u4f1a\u518d\u91cd\u542f\u3002 Failed \uff08\u5931\u8d25\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u7ec8\u6b62\uff0c\u5e76\u4e14\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u662f\u56e0\u4e3a\u5931\u8d25\u800c\u7ec8\u6b62\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u5bb9\u5668\u4ee5\u975e 0 \u72b6\u6001\u9000\u51fa\u6216\u8005\u88ab\u7cfb\u7edf\u7ec8\u6b62\u3002 Unknown \uff08\u672a\u77e5\uff09 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\uff0c\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u6240\u81f4\u3002

                                        \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u4e2d\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u901a\u5e38\u4f7f\u7528\u955c\u50cf\u6765\u6307\u5b9a\u5bb9\u5668\u4e2d\u7684\u8fd0\u884c\u73af\u5883\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5728\u6784\u5efa\u955c\u50cf\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 Entrypoint \u548c CMD \u4e24\u4e2a\u5b57\u6bb5\u6765\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u65f6\u6267\u884c\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002\u5982\u679c\u9700\u8981\u66f4\u6539\u5bb9\u5668\u955c\u50cf\u542f\u52a8\u524d\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u7684\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u5bb9\u5668\u7684\u751f\u547d\u5468\u671f\u4e8b\u4ef6\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u6765\u8986\u76d6\u955c\u50cf\u4e2d\u9ed8\u8ba4\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/lifecycle.html#_2","title":"\u751f\u547d\u5468\u671f\u914d\u7f6e","text":"

                                        \u6839\u636e\u4e1a\u52a1\u9700\u8981\u5bf9\u5bb9\u5668\u7684\u542f\u52a8\u547d\u4ee4\u3001\u542f\u52a8\u540e\u547d\u4ee4\u3001\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                                        \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u542f\u52a8\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5c06\u6309\u7167\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u542f\u52a8\u3002 \u542f\u52a8\u540e\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u542f\u52a8\u540e\u51fa\u53d1\u7684\u547d\u4ee4 \u505c\u6b62\u524d\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5728\u6536\u5230\u505c\u6b62\u547d\u4ee4\u540e\u6267\u884c\u7684\u547d\u4ee4\u3002\u786e\u4fdd\u5347\u7ea7\u6216\u5b9e\u4f8b\u5220\u9664\u65f6\u53ef\u63d0\u524d\u5c06\u5b9e\u4f8b\u4e2d\u8fd0\u884c\u7684\u4e1a\u52a1\u6392\u6c34\u3002 --"},{"location":"admin/kpanda/workloads/pod-config/lifecycle.html#_3","title":"\u542f\u52a8\u547d\u4ee4","text":"

                                        \u6839\u636e\u4e0b\u8868\u5bf9\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                                        \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"admin/kpanda/workloads/pod-config/lifecycle.html#_4","title":"\u542f\u52a8\u540e\u547d\u4ee4","text":"

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u542f\u52a8\u540e\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                                        \u547d\u4ee4\u884c\u811a\u672c\u914d\u7f6e

                                        \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"admin/kpanda/workloads/pod-config/lifecycle.html#_5","title":"\u505c\u6b62\u524d\u547d\u4ee4","text":"

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                                        HTTP \u8bf7\u6c42\u914d\u7f6e

                                        \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c URL \u8def\u5f84 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684URL\u8def\u5f84\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u7aef\u53e3 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684\u7aef\u53e3\u3002 port=8080 \u8282\u70b9\u5730\u5740 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684 IP \u5730\u5740\uff0c\u9ed8\u8ba4\u662f\u5bb9\u5668\u6240\u5728\u7684\u8282\u70b9 IP\u3002 --"},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                                        \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8282\u70b9\u4e5f\u6709\u6807\u7b7e\u3002\u60a8\u53ef\u4ee5\u624b\u52a8\u6dfb\u52a0\u6807\u7b7e\u3002 Kubernetes \u4e5f\u4f1a\u4e3a\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u6dfb\u52a0\u4e00\u4e9b\u6807\u51c6\u7684\u6807\u7b7e\u3002\u53c2\u89c1\u5e38\u7528\u7684\u6807\u7b7e\u3001\u6ce8\u89e3\u548c\u6c61\u70b9\u4ee5\u4e86\u89e3\u5e38\u89c1\u7684\u8282\u70b9\u6807\u7b7e\u3002\u901a\u8fc7\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u60a8\u53ef\u4ee5\u8ba9 Pod \u8c03\u5ea6\u5230\u7279\u5b9a\u8282\u70b9\u6216\u8282\u70b9\u7ec4\u4e0a\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u529f\u80fd\u6765\u786e\u4fdd\u7279\u5b9a\u7684 Pod \u53ea\u80fd\u8fd0\u884c\u5728\u5177\u6709\u4e00\u5b9a\u9694\u79bb\u6027\uff0c\u5b89\u5168\u6027\u6216\u76d1\u7ba1\u5c5e\u6027\u7684\u8282\u70b9\u4e0a\u3002

                                        nodeSelector \u662f\u8282\u70b9\u9009\u62e9\u7ea6\u675f\u7684\u6700\u7b80\u5355\u63a8\u8350\u5f62\u5f0f\u3002\u60a8\u53ef\u4ee5\u5c06 nodeSelector \u5b57\u6bb5\u6dfb\u52a0\u5230 Pod \u7684\u89c4\u7ea6\u4e2d\u8bbe\u7f6e\u60a8\u5e0c\u671b\u76ee\u6807\u8282\u70b9\u6240\u5177\u6709\u7684\u8282\u70b9\u6807\u7b7e\u3002Kubernetes \u53ea\u4f1a\u5c06 Pod \u8c03\u5ea6\u5230\u62e5\u6709\u6307\u5b9a\u6bcf\u4e2a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002 nodeSelector \u63d0\u4f9b\u4e86\u4e00\u79cd\u6700\u7b80\u5355\u7684\u65b9\u6cd5\u6765\u5c06 Pod \u7ea6\u675f\u5230\u5177\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002\u4eb2\u548c\u6027\u548c\u53cd\u4eb2\u548c\u6027\u6269\u5c55\u4e86\u60a8\u53ef\u4ee5\u5b9a\u4e49\u7684\u7ea6\u675f\u7c7b\u578b\u3002\u4f7f\u7528\u4eb2\u548c\u6027\u4e0e\u53cd\u4eb2\u548c\u6027\u7684\u4e00\u4e9b\u597d\u5904\u6709\uff1a

                                        • \u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u8bed\u8a00\u7684\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002 nodeSelector \u53ea\u80fd\u9009\u62e9\u62e5\u6709\u6240\u6709\u6307\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u3002\u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u4e3a\u60a8\u63d0\u4f9b\u5bf9\u9009\u62e9\u903b\u8f91\u7684\u66f4\u5f3a\u63a7\u5236\u80fd\u529b\u3002

                                        • \u60a8\u53ef\u4ee5\u6807\u660e\u67d0\u89c4\u5219\u662f\u201c\u8f6f\u9700\u6c42\u201d\u6216\u8005\u201c\u504f\u597d\u201d\uff0c\u8fd9\u6837\u8c03\u5ea6\u5668\u5728\u65e0\u6cd5\u627e\u5230\u5339\u914d\u8282\u70b9\u65f6\uff0c\u4f1a\u5ffd\u7565\u4eb2\u548c\u6027/\u53cd\u4eb2\u548c\u6027\u89c4\u5219\uff0c\u786e\u4fdd Pod \u8c03\u5ea6\u6210\u529f\u3002

                                        • \u60a8\u53ef\u4ee5\u4f7f\u7528\u8282\u70b9\u4e0a\uff08\u6216\u5176\u4ed6\u62d3\u6251\u57df\u4e2d\uff09\u8fd0\u884c\u7684\u5176\u4ed6 Pod \u7684\u6807\u7b7e\u6765\u5b9e\u65bd\u8c03\u5ea6\u7ea6\u675f\uff0c\u800c\u4e0d\u662f\u53ea\u80fd\u4f7f\u7528\u8282\u70b9\u672c\u8eab\u7684\u6807\u7b7e\u3002\u8fd9\u4e2a\u80fd\u529b\u8ba9\u60a8\u80fd\u591f\u5b9a\u4e49\u89c4\u5219\u5141\u8bb8\u54ea\u4e9b Pod \u53ef\u4ee5\u88ab\u653e\u7f6e\u5728\u4e00\u8d77\u3002

                                        \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u4eb2\u548c\uff08affinity\uff09\u4e0e\u53cd\u4eb2\u548c\uff08anti-affinity\uff09\u6765\u9009\u62e9 Pod \u8981\u90e8\u7f72\u7684\u8282\u70b9\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_2","title":"\u5bb9\u5fcd\u65f6\u95f4","text":"

                                        \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u7cfb\u7edf\u5c06\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\u7a97\u3002\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#nodeaffinity","title":"\u8282\u70b9\u4eb2\u548c\u6027\uff08nodeAffinity\uff09","text":"

                                        \u8282\u70b9\u4eb2\u548c\u6027\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u5b83\u4f7f\u60a8\u53ef\u4ee5\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002 \u8282\u70b9\u4eb2\u548c\u6027\u6709\u4e24\u79cd\uff1a

                                        • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                                        • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_3","title":"\u6807\u7b7e\u540d","text":"

                                        \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_4","title":"\u64cd\u4f5c\u7b26","text":"
                                        • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                                        • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                                        • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                        • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                        • Gt\uff1a\u6807\u7b7e\u7684\u503c\u5927\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                                        • Lt\uff1a\u6807\u7b7e\u7684\u503c\u5c0f\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_5","title":"\u6743\u91cd","text":"

                                        \u4ec5\u652f\u6301\u5728\u201c\u5c3d\u91cf\u6ee1\u8db3\u201d\u7b56\u7565\u4e2d\u6dfb\u52a0\uff0c\u53ef\u4ee5\u7406\u89e3\u4e3a\u8c03\u5ea6\u7684\u4f18\u5148\u7ea7\uff0c\u6743\u91cd\u5927\u7684\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u53d6\u503c\u8303\u56f4\u662f 1 \u5230 100\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_6","title":"\u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027","text":"

                                        \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                                        • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                                        • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                                        \u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u53ef\u4ee5\u548c\u54ea\u4e9b Pod\u90e8 \u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e\u76f8\u4e92\u901a\u4fe1\u7684\u670d\u52a1\uff0c\u53ef\u901a\u8fc7\u5e94\u7528\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u5c06\u5176\u90e8\u7f72\u5230\u540c\u4e00\u62d3\u6251\u57df\uff08\u5982\u540c\u4e00\u53ef\u7528\u533a\uff09\u4e2d\uff0c\u51cf\u5c11\u5b83\u4eec\u4e4b\u95f4\u7684\u7f51\u7edc\u5ef6\u8fdf\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_7","title":"\u6807\u7b7e\u540d","text":"

                                        \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_8","title":"\u547d\u540d\u7a7a\u95f4","text":"

                                        \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_9","title":"\u64cd\u4f5c\u7b26","text":"
                                        • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                                        • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                                        • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                        • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_10","title":"\u62d3\u6251\u57df","text":"

                                        \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_11","title":"\u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027","text":"

                                        \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                                        • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                                        • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                                        \u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u4e0d\u53ef\u4ee5\u548c\u54ea\u4e9b Pod \u90e8\u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5c06\u4e00\u4e2a\u8d1f\u8f7d\u7684\u76f8\u540c Pod \u5206\u6563\u90e8\u7f72\u5230\u4e0d\u540c\u7684\u62d3\u6251\u57df\uff08\u4f8b\u5982\u4e0d\u540c\u4e3b\u673a\uff09\u4e2d\uff0c\u63d0\u9ad8\u8d1f\u8f7d\u672c\u8eab\u7684\u7a33\u5b9a\u6027\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_12","title":"\u6807\u7b7e\u540d","text":"

                                        \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_13","title":"\u547d\u540d\u7a7a\u95f4","text":"

                                        \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_14","title":"\u64cd\u4f5c\u7b26","text":"
                                        • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                                        • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                                        • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                        • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                        "},{"location":"admin/kpanda/workloads/pod-config/scheduling-policy.html#_15","title":"\u62d3\u6251\u57df","text":"

                                        \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/workload-status.html","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                                        \u5de5\u4f5c\u8d1f\u8f7d\u662f\u8fd0\u884c\u5728 Kubernetes \u4e0a\u7684\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c\u5728 Kubernetes \u4e2d\uff0c\u65e0\u8bba\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u662f\u7531\u5355\u4e2a\u540c\u4e00\u7ec4\u4ef6\u6216\u662f\u7531\u591a\u4e2a\u4e0d\u540c\u7684\u7ec4\u4ef6\u6784\u6210\uff0c\u90fd\u53ef\u4ee5\u4f7f\u7528\u4e00\u7ec4 Pod \u6765\u8fd0\u884c\u5b83\u3002Kubernetes \u63d0\u4f9b\u4e86\u4e94\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u7ba1\u7406 Pod\uff1a

                                        • \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                                        • \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                                        • \u5b88\u62a4\u8fdb\u7a0b
                                        • \u4efb\u52a1
                                        • \u5b9a\u65f6\u4efb\u52a1

                                        \u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u8d44\u6e90 CRD \u6765\u5b9e\u73b0\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u7684\u6269\u5c55\u3002\u5728\u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u4e2d\uff0c\u652f\u6301\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u521b\u5efa\u3001\u66f4\u65b0\u3001\u6269\u5bb9\u3001\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5220\u9664\u3001\u7248\u672c\u7ba1\u7406\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/workload-status.html#pod","title":"Pod \u72b6\u6001","text":"

                                        Pod \u662f Kuberneters \u4e2d\u521b\u5efa\u548c\u7ba1\u7406\u7684\u3001\u6700\u5c0f\u7684\u8ba1\u7b97\u5355\u5143\uff0c\u5373\u4e00\u7ec4\u5bb9\u5668\u7684\u96c6\u5408\u3002\u8fd9\u4e9b\u5bb9\u5668\u5171\u4eab\u5b58\u50a8\u3001\u7f51\u7edc\u4ee5\u53ca\u7ba1\u7406\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u65b9\u5f0f\u7684\u7b56\u7565\u3002 Pod \u901a\u5e38\u4e0d\u7531\u7528\u6237\u76f4\u63a5\u521b\u5efa\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u521b\u5efa\u3002 Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c\u81f3\u5c11\u5176\u4e2d\u6709\u4e00\u4e2a\u4e3b\u8981\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \uff0c\u4e4b\u540e\u53d6\u51b3\u4e8e Pod \u4e2d\u662f\u5426\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\u800c\u8fdb\u5165 Succeeded \u6216\u8005 Failed \u9636\u6bb5\u3002

                                        "},{"location":"admin/kpanda/workloads/pod-config/workload-status.html#_2","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                                        \u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4f9d\u636e Pod \u7684\u72b6\u6001\u3001\u526f\u672c\u6570\u7b49\u56e0\u7d20\uff0c\u8bbe\u8ba1\u4e86\u4e00\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u751f\u547d\u5468\u671f\u7684\u72b6\u6001\u96c6\uff0c\u4ee5\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u771f\u5b9e\u7684\u611f\u77e5\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u60c5\u51b5\u3002 \u7531\u4e8e\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\uff08\u6bd4\u5982\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u548c\u4efb\u52a1\uff09\u5bf9 Pod \u7684\u7ba1\u7406\u673a\u5236\u4e0d\u4e00\u81f4\uff0c\u56e0\u6b64\uff0c\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u4f1a\u5448\u73b0\u4e0d\u540c\u7684\u751f\u547d\u5468\u671f\u72b6\u6001\uff0c\u5177\u4f53\u5982\u4e0b\u8868\uff1a

                                        "},{"location":"admin/kpanda/workloads/pod-config/workload-status.html#_3","title":"\u65e0\u72b6\u6001\u8d1f\u8f7d\u3001\u6709\u72b6\u6001\u8d1f\u8f7d\u3001\u5b88\u62a4\u8fdb\u7a0b\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d 1. \u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30022. \u89e6\u53d1\u5347\u7ea7\u6216\u8005\u56de\u6eda\u52a8\u4f5c\u540e\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30023. \u89e6\u53d1\u6682\u505c/\u6269\u7f29\u5bb9\u7b49\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u8fd0\u884c\u4e2d \u8d1f\u8f7d\u4e0b\u7684\u6240\u6709\u5b9e\u4f8b\u90fd\u5728\u8fd0\u884c\u4e2d\u4e14\u526f\u672c\u6570\u4e0e\u7528\u6237\u9884\u5b9a\u4e49\u7684\u6570\u91cf\u4e00\u81f4\u65f6\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u6267\u884c\u5220\u9664\u64cd\u4f5c\u65f6\uff0c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\uff0c\u76f4\u5230\u5220\u9664\u5b8c\u6210\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97\u5de5\u4f5c\u8d1f\u8f7d\u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002 \u672a\u5c31\u7eea \u5bb9\u5668\u5904\u4e8e\u5f02\u5e38\uff0cpending \u72b6\u6001\u65f6\uff0c\u56e0\u672a\u77e5\u9519\u8bef\u5bfc\u81f4\u8d1f\u8f7d\u65e0\u6cd5\u542f\u52a8\u65f6\u663e\u793a\u6b64\u72b6\u6001"},{"location":"admin/kpanda/workloads/pod-config/workload-status.html#_4","title":"\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u4e2d \u4efb\u52a1\u6b63\u5728\u6267\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u5b8c\u6210 \u4efb\u52a1\u6267\u884c\u5b8c\u6210\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002"},{"location":"admin/kpanda/workloads/pod-config/workload-status.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u5b9a\u65f6\u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u542f\u52a8 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u6210\u529f\u540e\uff0c\u6b63\u5e38\u8fd0\u884c\u6216\u5c06\u5df2\u6682\u505c\u7684\u4efb\u52a1\u542f\u52a8\u65f6\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u505c\u6b62 \u6267\u884c\u505c\u6b62\u4efb\u52a1\u64cd\u4f5c\u65f6\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u5728\u6b64\u72b6\u6001\u3002

                                        \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u5f02\u5e38\u6216\u672a\u5c31\u7eea\u72b6\u6001\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5c06\u9f20\u6807\u79fb\u52a8\u5230\u8d1f\u8f7d\u7684\u72b6\u6001\u503c\u4e0a\uff0c\u7cfb\u7edf\u5c06\u901a\u8fc7\u63d0\u793a\u6846\u5c55\u793a\u66f4\u52a0\u8be6\u7ec6\u7684\u9519\u8bef\u4fe1\u606f\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u67e5\u770b\u65e5\u5fd7\u6216\u4e8b\u4ef6\u6765\u83b7\u53d6\u5de5\u4f5c\u8d1f\u8f7d\u7684\u76f8\u5173\u8fd0\u884c\u4fe1\u606f\u3002

                                        "},{"location":"admin/register/index.html","title":"\u7528\u6237\u6ce8\u518c","text":"

                                        \u65b0\u7528\u6237\u9996\u6b21\u4f7f\u7528 AI \u7b97\u529b\u5e73\u53f0\u9700\u8981\u8fdb\u884c\u6ce8\u518c\u3002

                                        "},{"location":"admin/register/index.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                        • \u5df2\u5f00\u542f\u90ae\u7bb1\u6ce8\u518c\u529f\u80fd
                                        • \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u90ae\u7bb1
                                        "},{"location":"admin/register/index.html#_3","title":"\u90ae\u7bb1\u6ce8\u518c\u6b65\u9aa4","text":"
                                        1. \u6253\u5f00 AI \u7b97\u529b\u5e73\u53f0\u9996\u9875 https://ai.isuanova.com/\uff0c\u70b9\u51fb \u6ce8\u518c

                                        2. \u952e\u5165\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u90ae\u7bb1\u540e\u70b9\u51fb \u6ce8\u518c

                                        3. \u7cfb\u7edf\u63d0\u793a\u53d1\u9001\u4e86\u4e00\u5c01\u90ae\u4ef6\u5230\u60a8\u7684\u90ae\u7bb1\u3002

                                        4. \u767b\u5f55\u81ea\u5df1\u7684\u90ae\u7bb1\uff0c\u627e\u5230\u90ae\u4ef6\uff0c\u70b9\u51fb\u94fe\u63a5\u3002

                                        5. \u606d\u559c\uff0c\u60a8\u6210\u529f\u8fdb\u5165\u4e86 AI \u7b97\u529b\u5e73\u53f0\uff0c\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u60a8\u7684 AI \u4e4b\u65c5\u4e86\u3002

                                        \u4e0b\u4e00\u6b65\uff1a\u4e3a\u7528\u6237\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4

                                        "},{"location":"admin/register/bindws.html","title":"\u4e3a\u7528\u6237\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4","text":"

                                        \u7528\u6237\u6210\u529f\u6ce8\u518c\u4e4b\u540e\uff0c\u9700\u8981\u4e3a\u5176\u7ed1\u5b9a\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002

                                        "},{"location":"admin/register/bindws.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                        • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                                        • \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u7ba1\u7406\u5458\u8d26\u53f7
                                        "},{"location":"admin/register/bindws.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                        2. \u5bfc\u822a\u5207\u6362\u81f3 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \uff0c\u70b9\u51fb \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4

                                        3. \u8f93\u5165\u540d\u79f0\uff0c\u9009\u62e9\u6587\u4ef6\u5939\u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4

                                        4. \u7ed9\u5de5\u4f5c\u7a7a\u95f4\u7ed1\u5b9a\u8d44\u6e90

                                          \u53ef\u4ee5\u5728\u8fd9\u4e2a\u754c\u9762\u4e0a\u70b9\u51fb \u521b\u5efa\u96c6\u7fa4-\u547d\u540d\u7a7a\u95f4 \u6765\u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                                        5. \u6dfb\u52a0\u6388\u6743\uff1a\u5c06\u7528\u6237\u5206\u914d\u81f3\u5de5\u4f5c\u7a7a\u95f4

                                        6. \u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u67e5\u770b\u662f\u5426\u5177\u6709\u5de5\u4f5c\u7a7a\u95f4\u53ca\u547d\u540d\u7a7a\u95f4\u7684\u6743\u9650\u3002 \u7ba1\u7406\u5458\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

                                        \u4e0b\u4e00\u6b65\uff1a\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90

                                        "},{"location":"admin/register/wsres.html","title":"\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90","text":"

                                        \u5c06\u7528\u6237\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\u540e\uff0c\u9700\u8981\u7ed9\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u5408\u9002\u7684\u8d44\u6e90\u3002

                                        "},{"location":"admin/register/wsres.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                        • \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u7ba1\u7406\u5458\u8d26\u53f7
                                        • \u5de5\u4f5c\u7a7a\u95f4\u5df2\u521b\u5efa\u4e14\u7ed1\u5b9a\u4e86\u547d\u540d\u7a7a\u95f4
                                        "},{"location":"admin/register/wsres.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                        2. \u5bfc\u822a\u5230 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\uff0c\u627e\u5230\u8981\u6dfb\u52a0\u8d44\u6e90\u7684\u5de5\u4f5c\u7a7a\u95f4\uff0c\u70b9\u51fb \u65b0\u589e\u5171\u4eab\u8d44\u6e90

                                        3. \u9009\u62e9\u96c6\u7fa4\uff0c\u8bbe\u7f6e\u5408\u9002\u7684\u8d44\u6e90\u914d\u989d\u540e\uff0c\u70b9\u51fb \u786e\u5b9a

                                        4. \u8fd4\u56de\u5171\u4eab\u8d44\u6e90\u9875\uff0c\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u6210\u529f\u5206\u914d\u4e86\u8d44\u6e90\uff0c\u7ba1\u7406\u5458\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u968f\u65f6\u4fee\u6539\u3002

                                        \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa\u4e91\u4e3b\u673a

                                        "},{"location":"admin/security/index.html","title":"\u4e91\u539f\u751f\u5b89\u5168","text":"

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9488\u5bf9\u5bb9\u5668\u3001Pod\u3001\u955c\u50cf\u3001\u8fd0\u884c\u65f6\u3001\u5fae\u670d\u52a1\u63d0\u4f9b\u4e86\u5168\u9762\u81ea\u52a8\u5316\u7684\u5b89\u5168\u5b9e\u73b0\u3002 \u4e0b\u8868\u5217\u51fa\u4e86\u4e00\u4e9b\u5df2\u5b9e\u73b0\u6216\u6b63\u5728\u5b9e\u73b0\u4e2d\u7684\u5b89\u5168\u7279\u6027\u3002

                                        \u5b89\u5168\u7279\u6027 \u7ec6\u76ee \u63cf\u8ff0 \u955c\u50cf\u5b89\u5168 \u53ef\u4fe1\u955c\u50cf\u5206\u53d1 \u4e3a\u5b9e\u73b0\u955c\u50cf\u7684\u5b89\u5168\u4f20\u8f93\uff0c\u9700\u5177\u5907\u5bc6\u94a5\u5bf9\u548c\u7b7e\u540d\u4fe1\u606f\uff0c\u4fdd\u8bc1\u4f20\u8f93\u5b89\u5168\u3002\u5728\u4f20\u8f93\u955c\u50cf\u65f6\u5177\u5907\u9009\u62e9\u5bc6\u94a5\u8fdb\u884c\u955c\u50cf\u7b7e\u540d\u80fd\u529b\u3002 \u8fd0\u884c\u65f6\u5b89\u5168 \u4e8b\u4ef6\u5173\u8054\u5206\u6790 \u652f\u6301\u5bf9\u8fd0\u884c\u65f6\u68c0\u6d4b\u51fa\u7684\u5b89\u5168\u4e8b\u4ef6\u505a\u5173\u8054\u4e0e\u98ce\u9669\u5206\u6790\uff0c\u589e\u52a0\u653b\u51fb\u6eaf\u6e90\u80fd\u529b\uff0c\u6536\u655b\u544a\u8b66\uff0c\u964d\u4f4e\u65e0\u6548\u544a\u8b66\uff0c\u63d0\u9ad8\u4e8b\u4ef6\u54cd\u5e94\u6548\u7387\u3002 - \u5bb9\u5668\u8bf1\u9975\u4ed3\u5e93 \u5177\u5907\u5bb9\u5668\u8bf1\u9975\u4ed3\u5e93\uff0c\u5e38\u89c1\u8bf1\u9975\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\u672a\u6388\u6743\u8bbf\u95ee\u6f0f\u6d1e\u3001\u4ee3\u7801\u6267\u884c\u6f0f\u6d1e\u3001\u672c\u5730\u6587\u4ef6\u8bfb\u53d6\u6f0f\u6d1e\u3001\u8fdc\u7a0b\u547d\u4ee4\u6267\u884c RCE \u6f0f\u6d1e\u7b49\u5bb9\u5668\u8bf1\u9975\u3002 - \u5bb9\u5668\u8bf1\u9975\u90e8\u7f72 \u652f\u6301\u81ea\u5b9a\u4e49\u65b0\u589e\u8bf1\u9975\u5bb9\u5668\uff0c\u53ef\u4ee5\u81ea\u5b9a\u4e49\u670d\u52a1\u540d\u79f0\u3001\u670d\u52a1\u4f4d\u7f6e\u7b49\u3002 - \u5bb9\u5668\u8bf1\u9975\u544a\u8b66 \u652f\u6301\u5bf9\u5bb9\u5668\u8bf1\u9975\u4e2d\u53ef\u7591\u884c\u4e3a\u8fdb\u884c\u544a\u8b66\u3002 - \u504f\u79fb\u68c0\u6d4b \u5728\u626b\u63cf\u955c\u50cf\u540c\u65f6\uff0c\u5b66\u4e60\u955c\u50cf\u4e2d\u5168\u90e8\u4e8c\u8fdb\u5236\u6587\u4ef6\u4fe1\u606f\uff0c\u5e76\u5f62\u6210\u201c\u767d\u540d\u5355\u201d\uff0c\u5bb9\u5668\u4e0a\u7ebf\u540e\u4ec5\u5141\u8bb8\u201c\u767d\u540d\u5355\u201d\u4e2d\u4e8c\u8fdb\u5236\u6587\u4ef6\u8fd0\u884c\uff0c\u786e\u4fdd\u5bb9\u5668\u5185\u4e0d\u80fd\u8fd0\u884c\u4e0d\u6388\u4fe1\uff08\u5982\u975e\u6cd5\u4e0b\u8f7d\uff09\u7684\u53ef\u6267\u884c\u6587\u4ef6\u3002 \u5fae\u9694\u79bb \u9694\u79bb\u7b56\u7565\u667a\u80fd\u63a8\u8350 \u652f\u6301\u8bb0\u5f55\u8d44\u6e90\u5386\u53f2\u8bbf\u95ee\u6d41\u91cf\uff0c\u5e76\u5728\u5bf9\u8d44\u6e90\u8fdb\u884c\u9694\u79bb\u7b56\u7565\u914d\u7f6e\u65f6\u80fd\u591f\u667a\u80fd\u4f9d\u636e\u5386\u53f2\u8bbf\u95ee\u6d41\u91cf\u8fdb\u884c\u7b56\u7565\u63a8\u8350\u3002 - \u79df\u6237\u9694\u79bb \u652f\u6301\u5bf9 Kubernetes \u96c6\u7fa4\u5185\u79df\u6237\u8fdb\u884c\u9694\u79bb\u63a7\u5236\uff0c\u5177\u5907\u5bf9\u4e0d\u540c\u7684\u79df\u6237\u8bbe\u7f6e\u4e0d\u540c\u7684\u7f51\u7edc\u5b89\u5168\u7ec4\u7684\u80fd\u529b\uff0c\u652f\u6301\u79df\u6237\u7ea7\u522b\u7684\u5b89\u5168\u7b56\u7565\u8bbe\u7f6e\u529f\u80fd\uff0c\u901a\u8fc7\u4e0d\u540c\u5b89\u5168\u7ec4\u548c\u8bbe\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u5b9e\u73b0\u79df\u6237\u95f4\u7f51\u7edc\u7684\u8bbf\u95ee\u4e0e\u9694\u79bb\u3002 \u5fae\u670d\u52a1\u5b89\u5168 \u670d\u52a1\u53ca API \u5b89\u5168\u626b\u63cf \u5bf9\u96c6\u7fa4\u5185\u7684\u670d\u52a1\u53ca API \u652f\u6301\u81ea\u52a8\u626b\u63cf\u3001\u624b\u52a8\u626b\u63cf\u53ca\u5468\u671f\u6027\u626b\u63cf\u7684\u5b89\u5168\u626b\u63cf\u65b9\u5f0f\uff0c\u652f\u6301\u5168\u90e8\u7684\u4f20\u7edf web \u626b\u63cf\u9879\u76ee\u5305\u62ec XSS \u6f0f\u6d1e\u3001SQL \u6ce8\u5165\u3001\u547d\u4ee4/\u4ee3\u7801\u6ce8\u5165\u3001\u76ee\u5f55\u679a\u4e3e\u3001\u8def\u5f84\u7a7f\u8d8a\u3001XML \u5b9e\u4f53\u6ce8\u5165\u3001poc\u3001\u6587\u4ef6\u4e0a\u4f20\u3001\u5f31\u53e3\u4ee4\u3001jsonp\u3001ssrf\u3001\u4efb\u610f\u8df3\u8f6c\u3001CRLF \u6ce8\u5165\u7b49\u98ce\u9669\uff0c\u4ee5\u53ca\u5bb9\u5668\u73af\u5883\u7279\u6709\u7684\u9879\uff0c\u9488\u5bf9\u53d1\u73b0\u7684\u6f0f\u6d1e\u652f\u6301\u6f0f\u6d1e\u7c7b\u578b\u5c55\u793a\u3001url \u5c55\u793a\u3001\u53c2\u6570\u5c55\u793a\u3001\u5371\u9669\u7ea7\u522b\u5c55\u793a\u3001\u6d4b\u8bd5\u65b9\u6cd5\u5c55\u793a\u7b49\u3002"},{"location":"admin/security/falco-exporter.html","title":"Falco-exporter","text":"

                                        Falco-exporter \u662f\u4e00\u4e2a Falco \u8f93\u51fa\u4e8b\u4ef6\u7684 Prometheus Metrics \u5bfc\u51fa\u5668\u3002

                                        Falco-exporter \u4f1a\u90e8\u7f72\u4e3a Kubernetes \u96c6\u7fa4\u4e0a\u7684\u5b88\u62a4\u8fdb\u7a0b\u96c6\u3002\u5982\u679c\u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5\u5e76\u8fd0\u884c Prometheus\uff0cPrometheus \u5c06\u81ea\u52a8\u53d1\u73b0 Falco-exporter \u63d0\u4f9b\u7684\u6307\u6807\u3002

                                        "},{"location":"admin/security/falco-exporter.html#falco-exporter_1","title":"\u5b89\u88c5 Falco-exporter","text":"

                                        \u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 Falco-exporter \u7ec4\u4ef6\u3002

                                        Note

                                        \u5728\u5b89\u88c5\u4f7f\u7528 Falco-exporter \u4e4b\u524d\uff0c\u9700\u8981\u5b89\u88c5\u5e76\u8fd0\u884c Falco\uff0c\u5e76\u542f\u7528 gRPC \u8f93\u51fa\uff08\u9ed8\u8ba4\u901a\u8fc7 Unix \u5957\u63a5\u5b57\u542f\u7528\uff09\u3002 \u5173\u4e8e\u542f\u7528 gRPC \u8f93\u51fa\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u53c2\u9605\u5728 Falco Helm Chart \u4e2d\u542f\u7528 gRPC \u8f93\u51fa\u3002

                                        \u8bf7\u786e\u8ba4\u60a8\u7684\u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Falco-exporter\u3002

                                        1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb\u5bb9\u5668\u7ba1\u7406\u2014>\u96c6\u7fa4\u5217\u8868\uff0c\u7136\u540e\u627e\u5230\u51c6\u5907\u5b89\u88c5 Falco-exporter \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u9009\u62e9 Helm \u5e94\u7528 -> Helm \u6a21\u677f\uff0c\u627e\u5230\u5e76\u70b9\u51fb falco-exporter\u3002

                                        3. \u5728\u7248\u672c\u9009\u62e9\u4e2d\u9009\u62e9\u5e0c\u671b\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb\u5b89\u88c5\u3002

                                        4. \u5728\u5b89\u88c5\u754c\u9762\uff0c\u586b\u5199\u6240\u9700\u7684\u5b89\u88c5\u53c2\u6570\u3002

                                          \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u5e94\u7528\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u7248\u672c\u7b49\u3002

                                          \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570:

                                          • Falco Prometheus Exporter -> Image Settings -> Registry\uff1a\u8bbe\u7f6e falco-exporter \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002
                                          • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Repository\uff1a\u8bbe\u7f6e falco-exporter \u955c\u50cf\u540d\u3002
                                          • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Install ServiceMonitor\uff1a\u5b89\u88c5 Prometheus Operator \u670d\u52a1\u76d1\u89c6\u5668\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                                          • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Scrape Interval\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u95f4\u9694\uff1b\u5982\u679c\u672a\u6307\u5b9a\uff0c\u5219\u4f7f\u7528 Prometheus \u9ed8\u8ba4\u95f4\u9694\u3002
                                          • Falco Prometheus Exporter -> Prometheus ServiceMonitor Settings -> Scrape Timeout\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u6293\u53d6\u8d85\u65f6\u65f6\u95f4\uff1b\u5982\u679c\u672a\u6307\u5b9a\uff0c\u5219\u4f7f\u7528 Prometheus \u9ed8\u8ba4\u7684\u6293\u53d6\u8d85\u65f6\u65f6\u95f4\u3002

                                          \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570:

                                          • Falco Prometheus Exporter -> Prometheus prometheusRules -> Install prometheusRules\uff1a\u521b\u5efa PrometheusRules\uff0c\u5bf9\u4f18\u5148\u4e8b\u4ef6\u53d1\u51fa\u8b66\u62a5\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                                          • Falco Prometheus Exporter -> Prometheus prometheusRules -> Alerts settings\uff1a\u8b66\u62a5\u8bbe\u7f6e\uff0c\u4e3a\u4e0d\u540c\u7ea7\u522b\u7684\u65e5\u5fd7\u4e8b\u4ef6\u8bbe\u7f6e\u8b66\u62a5\u662f\u5426\u542f\u7528\u3001\u8b66\u62a5\u7684\u95f4\u9694\u65f6\u95f4\u3001\u8b66\u62a5\u7684\u9608\u503c\u3002
                                        5. \u70b9\u51fb\u53f3\u4e0b\u89d2\u786e\u5b9a\u6309\u94ae\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\u3002

                                        "},{"location":"admin/security/falco-install.html","title":"\u5b89\u88c5 Falco","text":"

                                        \u8bf7\u786e\u8ba4\u60a8\u7684\u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u7136\u540e\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Falco\u3002

                                        1. \u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb\u5bb9\u5668\u7ba1\u7406\u2014>\u96c6\u7fa4\u5217\u8868\uff0c\u7136\u540e\u627e\u5230\u51c6\u5907\u5b89\u88c5 Falco \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                                        2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u9009\u62e9 Helm \u5e94\u7528 -> Helm \u6a21\u677f\uff0c\u627e\u5230\u5e76\u70b9\u51fb Falco\u3002

                                        3. \u5728\u7248\u672c\u9009\u62e9\u4e2d\u9009\u62e9\u5e0c\u671b\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb\u5b89\u88c5\u3002

                                        4. \u5728\u5b89\u88c5\u754c\u9762\uff0c\u586b\u5199\u6240\u9700\u7684\u5b89\u88c5\u53c2\u6570\u3002

                                          \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u5e94\u7528\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u7248\u672c\u7b49\u3002

                                          \u5728\u5982\u4e0a\u754c\u9762\u4e2d\uff0c\u586b\u5199\u4ee5\u4e0b\u53c2\u6570\uff1a

                                          • Falco -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                                          • Falco -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco \u955c\u50cf\u540d\u3002

                                          • Falco -> Falco Driver -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                                          • Falco -> Falco Driver -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u540d\u3002

                                          • Falco -> Falco Driver -> Image Settings -> Driver Kind\uff1a\u8bbe\u7f6e Driver Kind\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u4e24\u79cd\u9009\u62e9\uff1a

                                            1. ebpf\uff1a\u4f7f\u7528 ebpf \u6765\u68c0\u6d4b\u4e8b\u4ef6\uff0c\u8fd9\u9700\u8981 Linux \u5185\u6838\u652f\u6301 ebpf\uff0c\u5e76\u542f\u7528 CONFIG_BPF_JIT \u548c sysctl net.core.bpf_jit_enable=1\u3002

                                            2. module\uff1a\u4f7f\u7528\u5185\u6838\u6a21\u5757\u68c0\u6d4b\uff0c\u652f\u6301\u6709\u9650\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\uff0c\u53c2\u8003 module \u652f\u6301\u7cfb\u7edf\u7248\u672c\u3002

                                          • Falco -> Falco Driver -> Image Settings -> Log Level\uff1a\u8981\u5305\u542b\u5728\u65e5\u5fd7\u4e2d\u7684\u6700\u5c0f\u65e5\u5fd7\u7ea7\u522b\u3002

                                            \u53ef\u9009\u62e9\u503c\u4e3a\uff1aemergency, alert, critical, error, warning, notice, info, debug\u3002

                                          • Falco -> Falco Driver -> Image Settings -> Registry\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u5df2\u7ecf\u9ed8\u8ba4\u586b\u5199\u53ef\u7528\u7684\u5728\u7ebf\u4ed3\u5e93\u3002\u5982\u679c\u662f\u79c1\u6709\u5316\u73af\u5883\uff0c\u53ef\u4fee\u6539\u4e3a\u79c1\u6709\u4ed3\u5e93\u5730\u5740\u3002

                                          • Falco -> Falco Driver -> Image Settings -> Repository\uff1a\u8bbe\u7f6e Falco Driver \u955c\u50cf\u540d\u3002

                                          • Falco -> Falco Driver -> Image Settings -> Driver Kind\uff1a\u8bbe\u7f6e Driver Kind\uff0c\u63d0\u4f9b\u4ee5\u4e0b\u4e24\u79cd\u9009\u62e9\uff1a

                                            1. ebpf\uff1a\u4f7f\u7528 ebpf \u6765\u68c0\u6d4b\u4e8b\u4ef6\uff0c\u8fd9\u9700\u8981 Linux \u5185\u6838\u652f\u6301 ebpf\uff0c\u5e76\u542f\u7528 CONFIG_BPF_JIT \u548c sysctl net.core.bpf_jit_enable=1\u3002
                                            2. module\uff1a\u4f7f\u7528\u5185\u6838\u6a21\u5757\u68c0\u6d4b\uff0c\u652f\u6301\u6709\u9650\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\uff0c\u53c2\u8003 module \u652f\u6301\u7cfb\u7edf\u7248\u672c\u3002
                                          • Falco -> Falco Driver -> Image Settings -> Log Level\uff1a\u8981\u5305\u542b\u5728\u65e5\u5fd7\u4e2d\u7684\u6700\u5c0f\u65e5\u5fd7\u7ea7\u522b\u3002

                                            \u53ef\u9009\u62e9\u503c\u4e3a\uff1aemergency\u3001alert\u3001critical\u3001error\u3001warning\u3001notice\u3001info\u3001debug\u3002

                                        5. \u70b9\u51fb\u53f3\u4e0b\u89d2\u786e\u5b9a\u6309\u94ae\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\u3002

                                        "},{"location":"admin/security/falco.html","title":"\u4ec0\u4e48\u662f Falco","text":"

                                        Falco \u662f\u4e00\u4e2a\u4e91\u539f\u751f\u8fd0\u884c\u65f6\u5b89\u5168\u5de5\u5177\uff0c\u65e8\u5728\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u5f02\u5e38\u6d3b\u52a8\uff0c\u53ef\u7528\u4e8e\u76d1\u63a7 Kubernetes \u5e94\u7528\u7a0b\u5e8f\u548c\u5185\u90e8\u7ec4\u4ef6\u7684\u8fd0\u884c\u65f6\u5b89\u5168\u6027\u3002\u4ec5\u9700\u4e3a Falco \u64b0\u5199\u4e00\u5957\u89c4\u5219\uff0c\u5373\u53ef\u6301\u7eed\u76d1\u6d4b\u5e76\u76d1\u63a7\u5bb9\u5668\u3001\u5e94\u7528\u3001\u4e3b\u673a\u53ca\u7f51\u7edc\u7684\u5f02\u5e38\u6d3b\u52a8\u3002

                                        "},{"location":"admin/security/falco.html#falco_1","title":"Falco \u80fd\u68c0\u6d4b\u5230\u4ec0\u4e48\uff1f","text":"

                                        Falco \u53ef\u5bf9\u4efb\u4f55\u6d89\u53ca Linux \u7cfb\u7edf\u8c03\u7528\u7684\u884c\u4e3a\u8fdb\u884c\u68c0\u6d4b\u548c\u62a5\u8b66\u3002Falco \u7684\u8b66\u62a5\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u7279\u5b9a\u7684\u7cfb\u7edf\u8c03\u7528\u3001\u53c2\u6570\u4ee5\u53ca\u8c03\u7528\u8fdb\u7a0b\u7684\u5c5e\u6027\u6765\u89e6\u53d1\u3002\u4f8b\u5982\uff0cFalco \u53ef\u4ee5\u8f7b\u677e\u68c0\u6d4b\u5230\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ee5\u4e0b\u4e8b\u4ef6\uff1a

                                        • Kubernetes \u4e2d\u7684\u5bb9\u5668\u6216 pod \u5185\u6b63\u5728\u8fd0\u884c\u4e00\u4e2a shell \u3002
                                        • \u5bb9\u5668\u4ee5\u7279\u6743\u6a21\u5f0f\u8fd0\u884c\uff0c\u6216\u4ece\u4e3b\u673a\u6302\u8f7d\u654f\u611f\u8def\u5f84\uff0c\u5982 /proc\u3002
                                        • \u4e00\u4e2a\u670d\u52a1\u5668\u8fdb\u7a0b\u6b63\u5728\u751f\u6210\u4e00\u4e2a\u610f\u5916\u7c7b\u578b\u7684\u5b50\u8fdb\u7a0b\u3002
                                        • \u610f\u5916\u8bfb\u53d6\u4e00\u4e2a\u654f\u611f\u6587\u4ef6\uff0c\u5982 /etc/shadow\u3002
                                        • \u4e00\u4e2a\u975e\u8bbe\u5907\u6587\u4ef6\u88ab\u5199\u5230 /dev\u3002
                                        • \u4e00\u4e2a\u6807\u51c6\u7684\u7cfb\u7edf\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u5982 ls\uff0c\u6b63\u5728\u8fdb\u884c\u4e00\u4e2a\u5916\u5411\u7684\u7f51\u7edc\u8fde\u63a5\u3002
                                        • \u5728 Kubernetes \u96c6\u7fa4\u4e2d\u542f\u52a8\u4e00\u4e2a\u6709\u7279\u6743\u7684 Pod\u3002

                                        \u5173\u4e8e Falco \u9644\u5e26\u7684\u66f4\u591a\u9ed8\u8ba4\u89c4\u5219\uff0c\u8bf7\u53c2\u8003 Rules \u6587\u6863\u3002

                                        "},{"location":"admin/security/falco.html#falco_2","title":"\u4ec0\u4e48\u662f Falco \u89c4\u5219\uff1f","text":"

                                        Falco \u89c4\u5219\u5b9a\u4e49 Falco \u5e94\u76d1\u89c6\u7684\u884c\u4e3a\u53ca\u4e8b\u4ef6\uff1b\u53ef\u4ee5\u5728 Falco \u89c4\u5219\u6587\u4ef6\u6216\u901a\u7528\u914d\u7f6e\u6587\u4ef6\u64b0\u5199\u89c4\u5219\u3002\u6709\u5173\u7f16\u5199\u3001\u7ba1\u7406\u548c\u90e8\u7f72\u89c4\u5219\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 Falco Rules\u3002

                                        "},{"location":"admin/security/falco.html#falco_3","title":"\u4ec0\u4e48\u662f Falco \u8b66\u62a5\uff1f","text":"

                                        \u8b66\u62a5\u662f\u53ef\u914d\u7f6e\u7684\u4e0b\u6e38\u64cd\u4f5c\uff0c\u53ef\u4ee5\u50cf\u8bb0\u5f55\u65e5\u5fd7\u4e00\u6837\u7b80\u5355\uff0c\u4e5f\u53ef\u4ee5\u50cf STDOUT \u5411\u5ba2\u6237\u7aef\u4f20\u9012 gRPC \u8c03\u7528\u4e00\u6837\u590d\u6742\u3002\u6709\u5173\u914d\u7f6e\u3001\u7406\u89e3\u548c\u5f00\u53d1\u8b66\u62a5\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605Falco \u8b66\u62a5\u3002Falco \u53ef\u4ee5\u5c06\u8b66\u62a5\u53d1\u9001\u81f3\uff1a

                                        • \u6807\u51c6\u8f93\u51fa
                                        • \u4e00\u4efd\u6587\u4ef6
                                        • \u7cfb\u7edf\u65e5\u5fd7
                                        • \u751f\u6210\u7684\u7a0b\u5e8f
                                        • \u4e00\u4e2a HTTP[s] \u7aef\u70b9
                                        • \u901a\u8fc7 gRPC API \u7684\u5ba2\u6237\u7aef
                                        "},{"location":"admin/security/falco.html#falco_4","title":"Falco \u7531\u54ea\u4e9b\u90e8\u5206\u7ec4\u6210\uff1f","text":"

                                        Falco \u7531\u4ee5\u4e0b\u51e0\u4e2a\u4e3b\u8981\u7ec4\u4ef6\u7ec4\u6210\uff1a

                                        • \u7528\u6237\u7a7a\u95f4\u7a0b\u5e8f\uff1aCLI \u5de5\u5177\uff0c\u53ef\u7528\u4e8e\u4e0e Falco \u4ea4\u4e92\u3002\u7528\u6237\u7a7a\u95f4\u7a0b\u5e8f\u5904\u7406\u4fe1\u53f7\uff0c\u89e3\u6790\u6765\u81ea Falco \u9a71\u52a8\u7684\u4fe1\u606f\uff0c\u5e76\u53d1\u9001\u8b66\u62a5\u3002

                                        • \u914d\u7f6e\uff1a\u5b9a\u4e49 Falco \u7684\u8fd0\u884c\u65b9\u5f0f\u3001\u8981\u65ad\u8a00\u7684\u89c4\u5219\u4ee5\u53ca\u5982\u4f55\u6267\u884c\u8b66\u62a5\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u914d\u7f6e\u3002

                                        • Driver\uff1a\u4e00\u6b3e\u9075\u5faa Falco \u9a71\u52a8\u89c4\u8303\u5e76\u53d1\u9001\u7cfb\u7edf\u8c03\u7528\u4fe1\u606f\u6d41\u7684\u8f6f\u4ef6\u3002\u5982\u679c\u4e0d\u5b89\u88c5\u9a71\u52a8\u7a0b\u5e8f\uff0c\u5c06\u65e0\u6cd5\u8fd0\u884c Falco\u3002\u76ee\u524d\uff0cFalco \u652f\u6301\u4ee5\u4e0b\u9a71\u52a8\u7a0b\u5e8f\uff1a

                                          • \u57fa\u4e8e C++ \u5e93\u6784\u5efa libscap \u7684\u5185\u6838\u6a21\u5757 libsinsp\uff08\u9ed8\u8ba4\uff09
                                          • \u7531\u76f8\u540c\u6a21\u5757\u6784\u5efa\u7684 BPF \u63a2\u9488
                                          • \u7528\u6237\u7a7a\u95f4\u68c0\u6d4b

                                            \u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 Falco \u9a71\u52a8\u7a0b\u5e8f\u3002

                                        • \u63d2\u4ef6\uff1a\u53ef\u7528\u4e8e\u6269\u5c55 falco libraries/falco \u53ef\u6267\u884c\u6587\u4ef6\u7684\u529f\u80fd\uff0c\u6269\u5c55\u65b9\u5f0f\u662f\u901a\u8fc7\u6dfb\u52a0\u65b0\u7684\u4e8b\u4ef6\u6e90\u548c\u4ece\u4e8b\u4ef6\u4e2d\u63d0\u53d6\u4fe1\u606f\u7684\u65b0\u5b57\u6bb5\u3002 \u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u63d2\u4ef6\u3002

                                        "},{"location":"admin/share/infer.html","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":""},{"location":"admin/share/job.html","title":"\u521b\u5efa\u8bad\u7ec3\u4efb\u52a1","text":""},{"location":"admin/share/notebook.html","title":"\u4f7f\u7528 Notebook","text":"

                                        Notebook \u901a\u5e38\u6307\u7684\u662f Jupyter Notebook \u6216\u7c7b\u4f3c\u7684\u4ea4\u4e92\u5f0f\u8ba1\u7b97\u73af\u5883\u3002 \u8fd9\u662f\u4e00\u79cd\u975e\u5e38\u6d41\u884c\u7684\u5de5\u5177\uff0c\u5e7f\u6cdb\u7528\u4e8e\u6570\u636e\u79d1\u5b66\u3001\u673a\u5668\u5b66\u4e60\u548c\u6df1\u5ea6\u5b66\u4e60\u7b49\u9886\u57df\u3002 \u672c\u9875\u8bf4\u660e\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528 Notebook\u3002

                                        "},{"location":"admin/share/notebook.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                        • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                                        • \u7ba1\u7406\u5458\u4e3a\u7528\u6237\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4
                                        • \u5df2\u51c6\u5907\u597d\u6570\u636e\u96c6\uff08\u4ee3\u7801\u3001\u6570\u636e\u7b49\uff09
                                        "},{"location":"admin/share/notebook.html#notebook_1","title":"\u521b\u5efa\u548c\u4f7f\u7528 Notebook \u5b9e\u4f8b","text":"
                                        1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                        2. \u5bfc\u822a\u81f3 AI Lab -> \u8fd0\u7ef4\u7ba1\u7406 -> \u961f\u5217\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae

                                        3. \u952e\u5165\u540d\u79f0\uff0c\u9009\u62e9\u96c6\u7fa4\u3001\u5de5\u4f5c\u7a7a\u95f4\u548c\u914d\u989d\u540e\uff0c\u70b9\u51fb \u786e\u5b9a

                                        4. \u4ee5 \u7528\u6237\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5bfc\u822a\u81f3 AI Lab -> Notebook \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae

                                        5. \u914d\u7f6e\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                                          \u57fa\u672c\u4fe1\u606f\u8d44\u6e90\u914d\u7f6e\u9ad8\u7ea7\u914d\u7f6e

                                          \u952e\u5165\u540d\u79f0\uff0c\u9009\u62e9\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\uff0c\u9009\u62e9\u521a\u521b\u5efa\u7684\u961f\u5217\uff0c\u70b9\u51fb \u4e00\u952e\u521d\u59cb\u5316

                                          \u9009\u62e9 Notebook \u7c7b\u578b\uff0c\u914d\u7f6e\u5185\u5b58\u3001CPU\uff0c\u5f00\u542f GPU\uff0c\u521b\u5efa\u548c\u914d\u7f6e PVC\uff1a

                                          \u5f00\u542f SSH \u5916\u7f51\u8bbf\u95ee\uff1a

                                        6. \u81ea\u52a8\u8df3\u8f6c\u5230 Notebook \u5b9e\u4f8b\u5217\u8868\uff0c\u70b9\u51fb\u5b9e\u4f8b\u540d\u79f0

                                        7. \u8fdb\u5165 Notebook \u5b9e\u4f8b\u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u6253\u5f00 \u6309\u94ae

                                        8. \u8fdb\u5165\u4e86 Notebook \u5f00\u53d1\u73af\u5883\uff0c\u6bd4\u5982\u5728 /home/jovyan \u76ee\u5f55\u6302\u8f7d\u4e86\u6301\u4e45\u5377\uff0c\u53ef\u4ee5\u901a\u8fc7 git \u514b\u9686\u4ee3\u7801\uff0c\u901a\u8fc7 SSH \u8fde\u63a5\u540e\u4e0a\u4f20\u6570\u636e\u7b49\u3002

                                        "},{"location":"admin/share/notebook.html#ssh-notebook","title":"\u901a\u8fc7 SSH \u8bbf\u95ee Notebook \u5b9e\u4f8b","text":"
                                        1. \u5728\u81ea\u5df1\u7684\u7535\u8111\u4e0a\u751f\u6210 SSH \u5bc6\u94a5\u5bf9

                                          \u5728\u81ea\u5df1\u7535\u8111\u4e0a\u6253\u5f00\u547d\u4ee4\u884c\uff0c\u6bd4\u5982\u5728 Windows \u4e0a\u6253\u5f00 git bash\uff0c\u8f93\u5165 ssh-keygen.exe -t rsa\uff0c\u7136\u540e\u4e00\u8def\u56de\u8f66\u3002

                                        2. \u901a\u8fc7 cat ~/.ssh/id_rsa.pub \u7b49\u547d\u4ee4\u67e5\u770b\u5e76\u590d\u5236\u516c\u94a5

                                        3. \u4ee5\u7528\u6237\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u4e2a\u4eba\u4e2d\u5fc3 -> SSH \u516c\u94a5 -> \u5bfc\u5165 SSH \u516c\u94a5

                                        4. \u8fdb\u5165 Notebook \u5b9e\u4f8b\u7684\u8be6\u60c5\u9875\uff0c\u590d\u5236 SSH \u7684\u94fe\u63a5

                                        5. \u5728\u5ba2\u6237\u7aef\u4f7f\u7528 SSH \u8bbf\u95ee Notebook \u5b9e\u4f8b

                                        \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa\u8bad\u7ec3\u4efb\u52a1

                                        "},{"location":"admin/share/quota.html","title":"\u914d\u989d\u7ba1\u7406","text":"

                                        \u7528\u6237\u88ab\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\u540e\uff0c\u5373\u53ef\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90\uff0c\u7ba1\u7406\u8d44\u6e90\u914d\u989d\u3002

                                        "},{"location":"admin/share/quota.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                        • \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u7ba1\u7406\u5458\u8d26\u53f7
                                        "},{"location":"admin/share/quota.html#_3","title":"\u521b\u5efa\u548c\u7ba1\u7406\u914d\u989d","text":"
                                        1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                        2. \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u548c\u547d\u540d\u7a7a\u95f4\uff0c\u5e76\u7ed1\u5b9a\u7528\u6237
                                        3. \u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90\u914d\u989d

                                        4. \u7ba1\u7406\u547d\u540d\u7a7a\u95f4 test-ns-1 \u7684\u8d44\u6e90\u914d\u989d\uff0c\u5176\u6570\u503c\u4e0d\u80fd\u8d85\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u7684\u914d\u989d\u3002

                                        5. \u4ee5 \u7528\u6237\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u67e5\u770b\u5176\u662f\u5426\u88ab\u5206\u914d\u4e86 test-ns-1 \u547d\u540d\u7a7a\u95f4\u3002

                                        \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa AI \u8d1f\u8f7d\u4f7f\u7528 GPU \u8d44\u6e90

                                        "},{"location":"admin/share/workload.html","title":"\u521b\u5efa AI \u8d1f\u8f7d\u4f7f\u7528 GPU \u8d44\u6e90","text":"

                                        \u7ba1\u7406\u5458\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90\u914d\u989d\u540e\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d\u6765\u4f7f\u7528 GPU \u7b97\u529b\u8d44\u6e90\u3002

                                        "},{"location":"admin/share/workload.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                        • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                                        • \u7ba1\u7406\u5458\u4e3a\u7528\u6237\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4
                                        • \u4e3a\u5de5\u4f5c\u7a7a\u95f4\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d
                                        • \u5df2\u7ecf\u521b\u5efa\u4e86\u4e00\u4e2a\u96c6\u7fa4
                                        "},{"location":"admin/share/workload.html#ai","title":"\u521b\u5efa AI \u8d1f\u8f7d\u6b65\u9aa4","text":"
                                        1. \u4ee5\u7528\u6237\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                        2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u62e9\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c \u70b9\u51fb\u53f3\u4fa7\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae

                                        3. \u914d\u7f6e\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                                          \u57fa\u672c\u4fe1\u606f\u5bb9\u5668\u914d\u7f6e\u5176\u4ed6

                                          \u9009\u62e9\u81ea\u5df1\u7684\u547d\u540d\u7a7a\u95f4\u3002

                                          \u8bbe\u7f6e\u955c\u50cf\uff0c\u914d\u7f6e CPU\u3001\u5185\u5b58\u3001GPU \u7b49\u8d44\u6e90\uff0c\u8bbe\u7f6e\u542f\u52a8\u547d\u4ee4\u3002

                                          \u670d\u52a1\u914d\u7f6e\u548c\u9ad8\u7ea7\u914d\u7f6e\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u914d\u7f6e\u3002

                                        4. \u81ea\u52a8\u8fd4\u56de\u65e0\u72b6\u6001\u8d1f\u8f7d\u5217\u8868\uff0c\u70b9\u51fb\u8d1f\u8f7d\u540d\u79f0

                                        5. \u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u53ef\u4ee5\u770b\u5230 GPU \u914d\u989d

                                        6. \u4f60\u8fd8\u53ef\u4ee5\u8fdb\u5165\u63a7\u5236\u53f0\uff0c\u8fd0\u884c mx-smi \u547d\u4ee4\u67e5\u770b GPU \u8d44\u6e90

                                        \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528 Notebook

                                        "},{"location":"admin/virtnest/gpu/vm-gpu.html","title":"\u4e91\u4e3b\u673a\u914d\u7f6e GPU\uff08\u76f4\u901a\u6a21\u5f0f\uff09","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\uff0c\u914d\u7f6e GPU \u7684\u524d\u63d0\u6761\u4ef6\u3002

                                        \u914d\u7f6e\u4e91\u4e3b\u673a\u7684 GPU \u7684\u91cd\u70b9\u662f\u5bf9 GPU Operator \u8fdb\u884c\u914d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u5de5\u4f5c\u8282\u70b9\u4e0a\u90e8\u7f72\u4e0d\u540c\u7684\u8f6f\u4ef6\u7ec4\u4ef6\uff0c \u5177\u4f53\u53d6\u51b3\u4e8e\u8fd9\u4e9b\u8282\u70b9\u4e0a\u914d\u7f6e\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u3002\u4ee5\u4e0b\u4e09\u4e2a\u8282\u70b9\u4e3a\u4f8b\uff1a

                                        • controller-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5bb9\u5668\u3002
                                        • work-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u76f4\u901a GPU \u7684\u4e91\u4e3b\u673a\u3002
                                        • work-node-2 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u865a\u62df vGPU \u7684\u4e91\u4e3b\u673a\u3002
                                        "},{"location":"admin/virtnest/gpu/vm-gpu.html#_1","title":"\u5047\u8bbe\u3001\u9650\u5236\u548c\u4f9d\u8d56\u6027","text":"

                                        \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\uff0c\u4e5f\u53ef\u4ee5\u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4f46\u4e0d\u80fd\u8fd0\u884c\u5176\u4e2d\u4efb\u4f55\u4e00\u4e2a\u7684\u7ec4\u5408\u3002

                                        1. \u96c6\u7fa4\u7ba1\u7406\u5458\u6216\u5f00\u53d1\u4eba\u5458\u9700\u8981\u63d0\u524d\u4e86\u89e3\u96c6\u7fa4\u60c5\u51b5\uff0c\u5e76\u6b63\u786e\u6807\u8bb0\u8282\u70b9\u4ee5\u6307\u793a\u5b83\u4eec\u5c06\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u3002
                                        2. \u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u6216 vGPU \u7684 GPU \u52a0\u901f VM \u7684\u5de5\u4f5c\u8282\u70b9\u88ab\u5047\u5b9a\u4e3a\u88f8\u673a\uff0c\u5982\u679c\u5de5\u4f5c\u8282\u70b9\u662f\u4e91\u4e3b\u673a\uff0c \u5219\u9700\u8981\u5728\u4e91\u4e3b\u673a\u5e73\u53f0\u4e0a\u542f\u7528 GPU \u76f4\u901a\u529f\u80fd\uff0c\u8bf7\u5411\u4e91\u4e3b\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u54a8\u8be2\u3002
                                        3. \u4e0d\u652f\u6301 Nvidia MIG \u7684 vGPU\u3002
                                        4. GPU Operator \u4e0d\u4f1a\u81ea\u52a8\u5728 VM \u4e2d\u5b89\u88c5 GPU \u9a71\u52a8\u7a0b\u5e8f\u3002
                                        "},{"location":"admin/virtnest/gpu/vm-gpu.html#iommu","title":"\u542f\u7528 IOMMU","text":"

                                        \u4e3a\u4e86\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u96c6\u7fa4\u8282\u70b9\u9700\u8981\u5f00\u542fIOMMU\u3002\u8bf7\u53c2\u8003\u5982\u4f55\u5f00\u542f IOMMU\u3002 \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u662f\u5728\u4e91\u4e3b\u673a\u4e0a\u8fd0\u884c\uff0c\u8bf7\u54a8\u8be2\u60a8\u7684\u4e91\u4e3b\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u3002

                                        "},{"location":"admin/virtnest/gpu/vm-gpu.html#_2","title":"\u6807\u8bb0\u96c6\u7fa4\u8282\u70b9","text":"

                                        \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \u7684\u64cd\u4f5c\u680f \u4fee\u6539\u6807\u7b7e \uff0c\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u6bcf\u4e2a\u8282\u70b9\u53ea\u80fd\u6709\u4e00\u79cd\u6807\u7b7e\u3002

                                        \u60a8\u53ef\u4ee5\u4e3a\u6807\u7b7e\u5206\u914d\u4ee5\u4e0b\u503c\uff1acontainer\u3001vm-passthrough \u548c vm-vgpu\u3002

                                        "},{"location":"admin/virtnest/gpu/vm-gpu.html#nvidia-operator","title":"\u5b89\u88c5 Nvidia Operator","text":"
                                        1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u9009\u62e9\u5e76\u5b89\u88c5 gpu-operator\u3002 \u9700\u8981\u4fee\u6539\u4e00\u4e9b yaml \u4e2d\u7684\u76f8\u5173\u5b57\u6bb5\u3002

                                          gpu-operator.sandboxWorkloads.enabled=true\ngpu-operator.vfioManager.enabled=true\ngpu-operator.sandboxDevicePlugin.enabled=true\ngpu-operator.sandboxDevicePlugin.version=v1.2.4   # (1)!\ngpu-operator.toolkit.version=v1.14.3-ubuntu20.04\n
                                          1. version \u9700\u8981 >= v1.2.4
                                        2. \u7b49\u5f85\u5b89\u88c5\u6210\u529f\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                                        "},{"location":"admin/virtnest/gpu/vm-gpu.html#virtnest-agent-cr","title":"\u5b89\u88c5 virtnest-agent \u5e76\u914d\u7f6e CR","text":"
                                        1. \u5b89\u88c5 virtnest-agent\uff0c\u53c2\u8003\u5b89\u88c5 virtnest-agent\u3002

                                        2. \u5c06 vGPU \u548c GPU \u76f4\u901a\u52a0\u5165 Virtnest Kubevirt CR\uff0c\u4ee5\u4e0b\u793a\u4f8b\u662f\u6dfb\u52a0 vGPU \u548c GPU \u76f4\u901a\u540e\u7684 \u90e8\u5206\u5173\u952e yaml\uff1a

                                          spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:            # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com /GRID_P4-1Q\n      pciHostDevices:             # (3)!\n      - externalResourceProvider:  true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com /GP104GL_TESLA_P4\n
                                          1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                                          2. vGPU
                                          3. GPU \u76f4\u901a
                                        3. \u5728 kubevirt CR yaml \u4e2d\uff0cpermittedHostDevices \u7528\u4e8e\u5bfc\u5165 VM \u8bbe\u5907\uff0cvGPU \u9700\u5728\u5176\u4e2d\u6dfb\u52a0 mediatedDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                                          mediatedDevices:          \n- mdevNameSelector: GRID P4-1Q          # (1)!\n  resourceName: nvidia.com/GRID_P4-1Q   # (2)!\n
                                          1. \u8bbe\u5907\u540d\u79f0
                                          2. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 vGPU \u4fe1\u606f
                                        4. GPU \u76f4\u901a\u9700\u8981\u5728 permittedHostDevices \u4e0b\u6dfb\u52a0 pciHostDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                                          pciHostDevices:           \n- externalResourceProvider: true            # (1)!\n  pciVendorSelector: 10DE:1BB3              # (2)!\n  resourceName: nvidia.com/GP104GL_TESLA_P4 # (3)!\n
                                          1. \u9ed8\u8ba4\u4e0d\u8981\u66f4\u6539
                                          2. \u5f53\u524d pci \u8bbe\u5907\u7684 vednor id
                                          3. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 GPU \u4fe1\u606f
                                        5. \u83b7\u53d6 vGPU \u4fe1\u606f\u793a\u4f8b\uff08\u4ec5\u9002\u7528\u4e8e vGPU\uff09\uff1a\u5728\u6807\u8bb0\u4e3a nvidia.com/gpu.workload.config=vm-gpu \u7684\u8282\u70b9\uff08\u4f8b\u5982 work-node-2\uff09\u4e0a\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c Capacity \u4e2d\u7684 nvidia.com/GRID_P4-1Q: 8 \u8868\u793a\u53ef\u7528 vGPU\uff1a

                                          kubectl describe node work-node-2\n
                                          Capacity:\n  cpu:                                 64\n  devices.kubevirt.io/kvm:             1k\n  devices.kubevirt.io/tun:             1k\n  devices.kubevirt.io/vhost-net:       1k\n  ephemeral-storage:                   102626232Ki\n  hugepages-1Gi:                       0\n  hugepages-2Mi:                       0\n  memory:                              264010840Ki\n  nvidia.com/GRID_P4-1Q :              8\n  pods:                                110\nAllocatable:\n  cpu:                                  64\n  devices.kubevirt.io/kvm:              1k\n  devices.kubevirt.io/tun:              1k\n  devices.kubevirt.io/vhost-net:        1k\n  ephemeral-storage:                    94580335255\n  hugepages-1Gi:                        0\n  hugepages-2Mi:                        0\n  memory:                               263908440Ki\n  nvidia.com/GRID_P4-1Q:                8\n  pods:                                 110\n

                                          \u90a3\u4e48 mdevNameSelector \u5e94\u8be5\u662f \u201cGRID P4-1Q\u201d\uff0cresourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d

                                        6. \u83b7\u53d6 GPU \u76f4\u901a\u4fe1\u606f\uff1a\u5728\u6807\u8bb0 nvidia.com/gpu.workload.config=vm-passthrough \u7684 node \u4e0a\uff08\u672c\u6587\u6863\u793a\u4f8b node \u4e3a work-node-1\uff09\uff0c \u67e5\u770b node \u4fe1\u606f\uff0cCapacity \u4e2d nvidia.com/GP104GL_TESLA_P4: 2 \u5c31\u662f\u53ef\u7528 vGPU\uff1a

                                          kubectl describe node work-node-1\n
                                          Capacity:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              102626232Ki\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         264010840Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\nAllocatable:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              94580335255\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         263908440Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\n

                                          \u90a3\u4e48 resourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d, \u5982\u4f55\u83b7\u53d6 pciVendorSelector \u5462\uff1f\u901a\u8fc7 ssh \u767b\u5f55\u5230 work-node-1 \u76ee\u6807\u8282\u70b9\uff0c \u901a\u8fc7 lspci -nnk -d 10de: \u547d\u4ee4\u83b7\u53d6 Nvidia GPU PCI \u4fe1\u606f\uff0c\u5982\u4e0b\u6240\u793a\uff1a\u7ea2\u6846\u6240\u793a\u5373\u662f pciVendorSelector \u4fe1\u606f\u3002

                                        7. \u7f16\u8f91 kubevirt CR \u63d0\u793a\uff1a\u5982\u679c\u540c\u4e00\u578b\u53f7 GPU \u6709\u591a\u4e2a\uff0c\u53ea\u9700\u5728 CR \u4e2d\u5199\u5165\u4e00\u4e2a\u5373\u53ef\uff0c\u65e0\u9700\u5217\u51fa\u6bcf\u4e2a GPU\u3002

                                          kubectl -n virtnest-system edit kubevirt kubevirt\n
                                          spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:                    # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com/GRID_P4-1Q\n      pciHostDevices:                     # (3)!\n      - externalResourceProvider: true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com/GP104GL_TESLA_P4 \n

                                          1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                                          2. vGPU
                                          3. GPU \u76f4\u901a\uff0c\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d TEESLA P4 \u6709\u4e24\u4e2a GPU\uff0c\u8fd9\u91cc\u53ea\u9700\u8981\u6ce8\u518c\u4e00\u4e2a\u5373\u53ef
                                        "},{"location":"admin/virtnest/gpu/vm-gpu.html#yaml-vm-gpu","title":"\u901a\u8fc7 YAML \u521b\u5efa VM \u5e76\u4f7f\u7528 GPU \u52a0\u901f","text":"

                                        \u4e0e\u666e\u901a\u4e91\u4e3b\u673a\u552f\u4e00\u7684\u533a\u522b\u662f\u5728 devices \u4e2d\u6dfb\u52a0 GPU \u76f8\u5173\u4fe1\u606f\u3002

                                        \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                                        apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: testvm-gpu1\n  namespace: default\nspec:\n  dataVolumeTemplates:\n  - metadata:\n      creationTimestamp: null\n      name: systemdisk-testvm-gpu1\n      namespace: default\n    spec:\n      pvc:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 10Gi\n        storageClassName: www\n      source:\n        registry:\n          url: docker://release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1\nrunStrategy: Manual\ntemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n          - bootOrder: 1\n            disk:\n              bus: virtio\n            name: systemdisk-testvm-gpu1\n          - disk:\n              bus: virtio\n            name: cloudinitdisk\n        gpus:\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n            name: gpu-0-0\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n          name: gpu-0-1\n        interfaces:\n        - masquerade: {}\n          name: default\n      machine:\n        type: q35\n      resources:\n        requests:\n          memory: 2Gi\n    networks:\n    - name: default\n      pod: {}\n    volumes:\n    - dataVolume:\n        name: systemdisk-testvm-gpu1\n      name: systemdisk-testvm-gpu1\n    - cloudInitNoCloud:\n        userDataBase64: I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OmRhbmdlcm91cyIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n        name: cloudinitdisk\n
                                        "},{"location":"admin/virtnest/gpu/vm-vgpu.html","title":"\u4e91\u4e3b\u673a\u914d\u7f6e GPU\uff08vGPU\uff09","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\uff0c\u914d\u7f6e GPU \u7684\u524d\u63d0\u6761\u4ef6\u3002

                                        \u914d\u7f6e\u4e91\u4e3b\u673a\u7684 GPU \u7684\u91cd\u70b9\u662f\u5bf9 GPU Operator \u8fdb\u884c\u914d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u5de5\u4f5c\u8282\u70b9\u4e0a\u90e8\u7f72\u4e0d\u540c\u7684\u8f6f\u4ef6\u7ec4\u4ef6\uff0c \u5177\u4f53\u53d6\u51b3\u4e8e\u8fd9\u4e9b\u8282\u70b9\u4e0a\u914d\u7f6e\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u3002\u4ee5\u4e0b\u4e09\u4e2a\u8282\u70b9\u4e3a\u4f8b\uff1a

                                        • controller-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5bb9\u5668\u3002
                                        • work-node-1 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u76f4\u901a GPU \u7684\u4e91\u4e3b\u673a\u3002
                                        • work-node-2 \u8282\u70b9\u914d\u7f6e\u4e3a\u8fd0\u884c\u5177\u6709\u865a\u62df vGPU \u7684\u4e91\u4e3b\u673a\u3002
                                        "},{"location":"admin/virtnest/gpu/vm-vgpu.html#_1","title":"\u5047\u8bbe\u3001\u9650\u5236\u548c\u4f9d\u8d56\u6027","text":"

                                        \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\uff0c\u4e5f\u53ef\u4ee5\u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4f46\u4e0d\u80fd\u8fd0\u884c\u5176\u4e2d\u4efb\u4f55\u4e00\u4e2a\u7684\u7ec4\u5408\u3002

                                        1. \u5de5\u4f5c\u8282\u70b9\u53ef\u4ee5\u5355\u72ec\u8fd0\u884c GPU \u52a0\u901f\u5bb9\u5668\u3001\u5177\u6709 GPU \u76f4\u901a\u7684 GPU \u52a0\u901f VM\uff0c\u6216\u8005\u5177\u6709 vGPU \u7684 GPU \u52a0\u901f VM\uff0c\u4e0d\u652f\u6301\u4efb\u4f55\u7ec4\u5408\u5f62\u5f0f\u3002
                                        2. \u96c6\u7fa4\u7ba1\u7406\u5458\u6216\u5f00\u53d1\u4eba\u5458\u9700\u8981\u63d0\u524d\u4e86\u89e3\u96c6\u7fa4\u60c5\u51b5\uff0c\u5e76\u6b63\u786e\u6807\u8bb0\u8282\u70b9\u4ee5\u6307\u793a\u5b83\u4eec\u5c06\u8fd0\u884c\u7684 GPU \u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u3002
                                        3. \u8fd0\u884c\u5177\u6709 GPU \u76f4\u901a\u6216vGPU\u7684 GPU \u52a0\u901f VM\u7684\u5de5\u4f5c\u8282\u70b9\u88ab\u5047\u5b9a\u4e3a\u88f8\u673a\uff0c\u5982\u679c\u5de5\u4f5c\u8282\u70b9\u662f\u4e91\u4e3b\u673a\uff0c\u5219\u9700\u8981\u5728\u4e91\u4e3b\u673a\u5e73\u53f0\u4e0a\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u8bf7\u5411\u4e91\u4e3b\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u54a8\u8be2\u3002
                                        4. \u4e0d\u652f\u6301 Nvidia MIG \u7684 vGPU\u3002
                                        5. GPU Operator \u4e0d\u4f1a\u81ea\u52a8\u5728 VM \u4e2d\u5b89\u88c5 GPU \u9a71\u52a8\u7a0b\u5e8f\u3002
                                        "},{"location":"admin/virtnest/gpu/vm-vgpu.html#iommu","title":"\u542f\u7528 IOMMU","text":"

                                        \u4e3a\u4e86\u542f\u7528GPU\u76f4\u901a\u529f\u80fd\uff0c\u96c6\u7fa4\u8282\u70b9\u9700\u8981\u5f00\u542fIOMMU\u3002\u8bf7\u53c2\u8003\u5982\u4f55\u5f00\u542fIOMMU\u3002 \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u662f\u5728\u4e91\u4e3b\u673a\u4e0a\u8fd0\u884c\uff0c\u8bf7\u54a8\u8be2\u60a8\u7684\u4e91\u4e3b\u673a\u5e73\u53f0\u63d0\u4f9b\u5546\u3002

                                        "},{"location":"admin/virtnest/gpu/vm-vgpu.html#vgpu-manager","title":"\u6784\u5efa vGPU Manager \u955c\u50cf","text":"

                                        \u6ce8\u610f\uff1a\u4ec5\u5f53\u4f7f\u7528 NVIDIA vGPU \u65f6\u624d\u9700\u8981\u6784\u5efa vGPU Manager \u955c\u50cf\u3002\u5982\u679c\u60a8\u8ba1\u5212\u4ec5\u4f7f\u7528 GPU \u76f4\u901a\uff0c\u8bf7\u8df3\u8fc7\u6b64\u90e8\u5206\u3002

                                        \u4ee5\u4e0b\u662f\u6784\u5efa vGPU Manager \u955c\u50cf\u5e76\u5c06\u5176\u63a8\u9001\u5230\u955c\u50cf\u4ed3\u5e93\u4e2d\u7684\u6b65\u9aa4\uff1a

                                        1. \u4ece NVIDIA Licensing Portal \u4e0b\u8f7d vGPU \u8f6f\u4ef6\u3002

                                          • \u767b\u5f55 NVIDIA Licensing Portal\uff0c\u8f6c\u5230 Software Downloads \u9875\u9762\u3002
                                          • NVIDIA vGPU \u8f6f\u4ef6\u4f4d\u4e8e Software Downloads \u9875\u9762\u7684 Driver downloads \u9009\u9879\u5361\u4e2d\u3002
                                          • \u5728\u7b5b\u9009\u6761\u4ef6\u4e2d\u9009\u62e9 VGPU + Linux \uff0c\u70b9\u51fb \u4e0b\u8f7d \u4ee5\u83b7\u53d6 Linux KVM \u7684\u8f6f\u4ef6\u5305\u3002 \u8bf7\u89e3\u538b\u4e0b\u8f7d\u7684\u6587\u4ef6\uff08NVIDIA-Linux-x86_64-<version>-vgpu-kvm.run\uff09\u3002

                                        2. \u6253\u5f00\u7ec8\u7aef\u514b\u9686 container-images/driver \u4ed3\u5e93

                                          git clone https://gitlab.com/nvidia/container-images/driver cd driver\n
                                        3. \u5207\u6362\u5230\u60a8\u7684\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94 vgpu-manager \u76ee\u5f55

                                          cd vgpu-manager/<your-os>\n
                                        4. \u5c06\u6b65\u9aa4 1 \u4e2d\u63d0\u53d6\u7684 .run \u6587\u4ef6 copy \u5230\u5f53\u524d\u76ee\u5f55

                                          cp <local-driver-download-directory>/*-vgpu-kvm.run ./\n
                                        5. \u8bbe\u7f6e\u73af\u5883\u53d8\u91cf

                                          • PRIVATE_REGISTRY\uff1a\u4e13\u7528\u6ce8\u518c\u8868\u7684\u540d\u79f0\uff0c\u7528\u4e8e\u5b58\u50a8\u9a71\u52a8\u7a0b\u5e8f\u6620\u50cf\u3002
                                          • VERSION\uff1aNVIDIA vGPU\u7ba1\u7406\u5668\u7684\u7248\u672c\uff0c\u4eceNVIDIA\u8f6f\u4ef6\u95e8\u6237\u4e0b\u8f7d\u3002
                                          • OS_TAG\uff1a\u5fc5\u987b\u4e0e\u96c6\u7fa4\u8282\u70b9\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u5339\u914d\u3002
                                          • CUDA_VERSION\uff1a\u7528\u4e8e\u6784\u5efa\u9a71\u52a8\u7a0b\u5e8f\u6620\u50cf\u7684CUDA\u57fa\u672c\u6620\u50cf\u7248\u672c\u3002
                                          export PRIVATE_REGISTRY=my/private/registry VERSION=510.73.06 OS_TAG=ubuntu22.04 CUDA_VERSION=12.2.0\n
                                        6. \u6784\u5efa NVIDIA vGPU Manager Image

                                          docker build \\\n  --build-arg DRIVER_VERSION=${VERSION} \\\n  --build-arg CUDA_VERSION=${CUDA_VERSION} \\\n  -t ${PRIVATE_REGISTRY}/vgpu-manager:${VERSION}-${OS_TAG} .\n
                                        7. \u5c06 NVIDIA vGPU Manager \u6620\u50cf\u63a8\u9001\u5230\u60a8\u7684\u955c\u50cf\u4ed3\u5e93

                                          docker push ${PRIVATE_REGISTRY}/vgpu-manager:${VERSION}-${OS_TAG}\n
                                        "},{"location":"admin/virtnest/gpu/vm-vgpu.html#_2","title":"\u6807\u8bb0\u96c6\u7fa4\u8282\u70b9","text":"

                                        \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u7136\u540e\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 , \u8fdb\u5165\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u4fee\u6539\u6807\u7b7e \uff0c\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u6bcf\u4e2a\u8282\u70b9\u53ea\u80fd\u6709\u4e00\u79cd\u6807\u7b7e\u3002

                                        \u60a8\u53ef\u4ee5\u4e3a\u6807\u7b7e\u5206\u914d\u4ee5\u4e0b\u503c\uff1acontainer\u3001vm-passthrough \u548c vm-vgpu\u3002

                                        "},{"location":"admin/virtnest/gpu/vm-vgpu.html#nvidia-operator","title":"\u5b89\u88c5 Nvidia Operator","text":"
                                        1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u53d6\u60a8\u7684\u5de5\u4f5c\u96c6\u7fa4\uff0c\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u9009\u62e9\u5e76\u5b89\u88c5 gpu-operator\u3002\u9700\u8981\u4fee\u6539\u4e00\u4e9b yaml \u4e2d\u7684\u76f8\u5173\u5b57\u6bb5\u3002

                                          gpu-operator.sandboxWorkloads.enabled=true\ngpu-operator.vgpuManager.enabled=true\ngpu-operator.vgpuManager.repository=<your-register-url>      # (1)!\ngpu-operator.vgpuManager.image=vgpu-manager\ngpu-operator.vgpuManager.version=<your-vgpu-manager-version> # (2)!\ngpu-operator.vgpuDeviceManager.enabled=true\n
                                          1. \u201c\u6784\u5efa vGPU Manager \u955c\u50cf\u201d \u6b65\u9aa4\u4e2d\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740
                                          2. \u201c\u6784\u5efa vGPU Manager \u955c\u50cf\u201d \u6b65\u9aa4\u4e2d\u7684 VERSION
                                        2. \u7b49\u5f85\u5b89\u88c5\u6210\u529f\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                                        "},{"location":"admin/virtnest/gpu/vm-vgpu.html#virtnest-agent-cr","title":"\u5b89\u88c5 virtnest-agent \u5e76\u914d\u7f6e CR","text":"
                                        1. \u5b89\u88c5 virtnest-agent\uff0c\u53c2\u8003\u5b89\u88c5 virtnest-agent\u3002

                                        2. \u5c06 vGPU \u548c GPU \u76f4\u901a\u52a0\u5165 Virtnest Kubevirt CR\uff0c\u4ee5\u4e0b\u793a\u4f8b\u662f\u6dfb\u52a0 vGPU \u548c GPU \u76f4\u901a\u540e\u7684 \u90e8\u5206\u5173\u952e yaml\uff1a

                                          spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:            # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com /GRID_P4-1Q\n      pciHostDevices:             # (3)!\n      - externalResourceProvider:  true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com /GP104GL_TESLA_P4\n
                                          1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                                          2. vGPU
                                          3. GPU \u76f4\u901a
                                        3. \u5728 kubevirt CR yaml \u4e2d\uff0cpermittedHostDevices \u7528\u4e8e\u5bfc\u5165 VM \u8bbe\u5907\uff0cvGPU \u9700\u5728\u5176\u4e2d\u6dfb\u52a0 mediatedDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                                          mediatedDevices:          \n- mdevNameSelector: GRID P4-1Q          # (1)!\n  resourceName: nvidia.com/GRID_P4-1Q   # (2)!\n
                                          1. \u8bbe\u5907\u540d\u79f0
                                          2. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 vGPU \u4fe1\u606f
                                        4. GPU \u76f4\u901a\u9700\u8981\u5728 permittedHostDevices \u4e0b\u6dfb\u52a0 pciHostDevices\uff0c\u5177\u4f53\u7ed3\u6784\u5982\u4e0b\uff1a

                                          pciHostDevices:           \n- externalResourceProvider: true            # (1)!\n  pciVendorSelector: 10DE:1BB3              # (2)!\n  resourceName: nvidia.com/GP104GL_TESLA_P4 # (3)!\n
                                          1. \u9ed8\u8ba4\u4e0d\u8981\u66f4\u6539
                                          2. \u5f53\u524d pci \u8bbe\u5907\u7684 vednor id
                                          3. GPU Operator \u6ce8\u518c\u5230\u8282\u70b9\u7684 GPU \u4fe1\u606f
                                        5. \u83b7\u53d6 vGPU \u4fe1\u606f\u793a\u4f8b\uff08\u4ec5\u9002\u7528\u4e8e vGPU\uff09\uff1a\u5728\u6807\u8bb0\u4e3a nvidia.com/gpu.workload.config=vm-gpu \u7684\u8282\u70b9\uff08\u4f8b\u5982 work-node-2\uff09\u4e0a\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c Capacity \u4e2d\u7684 nvidia.com/GRID_P4-1Q: 8 \u8868\u793a\u53ef\u7528 vGPU\uff1a

                                          kubectl describe node work-node-2\n
                                          Capacity:\n  cpu:                                 64\n  devices.kubevirt.io/kvm:             1k\n  devices.kubevirt.io/tun:             1k\n  devices.kubevirt.io/vhost-net:       1k\n  ephemeral-storage:                   102626232Ki\n  hugepages-1Gi:                       0\n  hugepages-2Mi:                       0\n  memory:                              264010840Ki\n  nvidia.com/GRID_P4-1Q :              8\n  pods:                                110\nAllocatable:\n  cpu:                                  64\n  devices.kubevirt.io/kvm:              1k\n  devices.kubevirt.io/tun:              1k\n  devices.kubevirt.io/vhost-net:        1k\n  ephemeral-storage:                    94580335255\n  hugepages-1Gi:                        0\n  hugepages-2Mi:                        0\n  memory:                               263908440Ki\n  nvidia.com/GRID_P4-1Q:                8\n  pods:                                 110\n

                                          \u90a3\u4e48 mdevNameSelector \u5e94\u8be5\u662f \u201cGRID P4-1Q\u201d\uff0cresourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d

                                        6. \u83b7\u53d6 GPU \u76f4\u901a\u4fe1\u606f\uff1a\u5728\u6807\u8bb0 nvidia.com/gpu.workload.config=vm-passthrough \u7684 node \u4e0a\uff08\u672c\u6587\u6863\u793a\u4f8b node \u4e3a work-node-1\uff09\uff0c \u67e5\u770b node \u4fe1\u606f\uff0cCapacity \u4e2d nvidia.com/GP104GL_TESLA_P4: 2 \u5c31\u662f\u53ef\u7528 vGPU\uff1a

                                          kubectl describe node work-node-1\n
                                          Capacity:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              102626232Ki\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         264010840Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\nAllocatable:\n  cpu:                            64\n  devices.kubevirt.io/kvm:        1k\n  devices.kubevirt.io/tun:        1k\n  devices.kubevirt.io/vhost-net:  1k\n  ephemeral-storage:              94580335255\n  hugepages-1Gi:                  0\n  hugepages-2Mi:                  0\n  memory:                         263908440Ki\n  nvidia.com/GP104GL_TESLA_P4:    2\n  pods:                           110\n

                                          \u90a3\u4e48 resourceName \u5e94\u8be5\u662f \u201cGRID_P4-1Q\u201d, \u5982\u4f55\u83b7\u53d6 pciVendorSelector \u5462\uff1f\u901a\u8fc7 ssh \u767b\u5f55\u5230 work-node-1 \u76ee\u6807\u8282\u70b9\uff0c \u901a\u8fc7 lspci -nnk -d 10de: \u547d\u4ee4\u83b7\u53d6 Nvidia GPU PCI \u4fe1\u606f\uff0c\u5982\u4e0b\u6240\u793a\uff1a\u7ea2\u6846\u6240\u793a\u5373\u662f pciVendorSelector \u4fe1\u606f\u3002

                                        7. \u7f16\u8f91 kubevirt CR \u63d0\u793a\uff1a\u5982\u679c\u540c\u4e00\u578b\u53f7 GPU \u6709\u591a\u4e2a\uff0c\u53ea\u9700\u5728 CR \u4e2d\u5199\u5165\u4e00\u4e2a\u5373\u53ef\uff0c\u65e0\u9700\u5217\u51fa\u6bcf\u4e2a GPU\u3002

                                          kubectl -n virtnest-system edit kubevirt kubevirt\n
                                          spec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n      - GPU\n      - DisableMDEVConfiguration\n    permittedHostDevices: # (1)!\n      mediatedDevices:                    # (2)!\n      - mdevNameSelector: GRID P4-1Q\n        resourceName: nvidia.com/GRID_P4-1Q\n      pciHostDevices:                       # (3)!\n      - externalResourceProvider: true\n        pciVendorSelector: 10DE:1BB3\n        resourceName: nvidia.com/GP104GL_TESLA_P4 \n

                                          1. \u4e0b\u9762\u662f\u9700\u8981\u586b\u5199\u7684\u4fe1\u606f
                                          2. vGPU
                                          3. GPU \u76f4\u901a\uff0c\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d TEESLA P4 \u6709\u4e24\u4e2a GPU\uff0c\u8fd9\u91cc\u53ea\u9700\u8981\u6ce8\u518c\u4e00\u4e2a\u5373\u53ef
                                        "},{"location":"admin/virtnest/gpu/vm-vgpu.html#yaml-vm-gpu","title":"\u901a\u8fc7 YAML \u521b\u5efa VM \u5e76\u4f7f\u7528 GPU \u52a0\u901f","text":"

                                        \u4e0e\u666e\u901a\u4e91\u4e3b\u673a\u552f\u4e00\u7684\u533a\u522b\u662f\u5728 devices \u4e2d\u6dfb\u52a0 gpu \u76f8\u5173\u4fe1\u606f\u3002

                                        \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                                        apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: testvm-gpu1\n  namespace: default\nspec:\n  dataVolumeTemplates:\n  - metadata:\n      creationTimestamp: null\n      name: systemdisk-testvm-gpu1\n      namespace: default\n    spec:\n      pvc:\n        accessModes:\n        - ReadWriteOnce\n        resources:\n          requests:\n            storage: 10Gi\n        storageClassName: www\n      source:\n        registry:\n          url: docker://release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1\nrunStrategy: Manual\ntemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n          - bootOrder: 1\n            disk:\n              bus: virtio\n            name: systemdisk-testvm-gpu1\n          - disk:\n              bus: virtio\n            name: cloudinitdisk\n        gpus:\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n            name: gpu-0-0\n        - deviceName: nvidia.com/GP104GL_TESLA_P4\n          name: gpu-0-1\n        interfaces:\n        - masquerade: {}\n          name: default\n      machine:\n        type: q35\n      resources:\n        requests:\n          memory: 2Gi\n    networks:\n    - name: default\n      pod: {}\n    volumes:\n    - dataVolume:\n        name: systemdisk-testvm-gpu1\n      name: systemdisk-testvm-gpu1\n    - cloudInitNoCloud:\n        userDataBase64: I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OmRhbmdlcm91cyIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n        name: cloudinitdisk\n
                                        "},{"location":"admin/virtnest/quickstart/index.html","title":"\u521b\u5efa\u4e91\u4e3b\u673a","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u4e91\u4e3b\u673a\u3002

                                        \u4e91\u4e3b\u673a\u57fa\u4e8e KubeVirt \u6280\u672f\u5c06\u4e91\u4e3b\u673a\u4f5c\u4e3a\u4e91\u539f\u751f\u5e94\u7528\u8fdb\u884c\u7ba1\u7406\uff0c\u4e0e\u5bb9\u5668\u65e0\u7f1d\u5730\u8854\u63a5\u5728\u4e00\u8d77\uff0c \u4f7f\u7528\u6237\u80fd\u591f\u8f7b\u677e\u5730\u90e8\u7f72\u4e91\u4e3b\u673a\u5e94\u7528\uff0c\u4eab\u53d7\u4e0e\u5bb9\u5668\u5e94\u7528\u4e00\u81f4\u7684\u4e1d\u6ed1\u4f53\u9a8c\u3002

                                        "},{"location":"admin/virtnest/quickstart/index.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u521b\u5efa\u4e91\u4e3b\u673a\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5411\u7528\u6237\u673a\u64cd\u4f5c\u7cfb\u7edf\u516c\u5f00\u786c\u4ef6\u8f85\u52a9\u7684\u865a\u62df\u5316\u3002
                                        • \u5728\u6307\u5b9a\u96c6\u7fa4\u5b89\u88c5 virtnest-agent\uff0c\u64cd\u4f5c\u7cfb\u7edf\u5185\u6838\u7248\u672c\u9700\u8981\u5728 3.15 \u4ee5\u4e0a\u3002
                                        • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002
                                        • \u63d0\u524d\u51c6\u5907\u597d\u955c\u50cf\uff0c\u5e73\u53f0\u5185\u7f6e\u4e09\u79cd\u955c\u50cf (\u5982\u4e0b\u6587\u6240\u793a)\uff0c\u5982\u9700\u5236\u4f5c\u955c\u50cf\uff0c\u53ef\u53c2\u8003\u5f00\u6e90\u9879\u76ee\u5236\u4f5c\u955c\u50cf\u3002
                                        • \u8fdb\u884c\u7f51\u7edc\u914d\u7f6e\u65f6\uff0c\u82e5\u9009\u62e9\u4f7f\u7528 Passt \u7f51\u7edc\u6a21\u5f0f\uff0c\u5219\u9700\u8981\u5347\u7ea7\u81f3 0.4.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u3002
                                        "},{"location":"admin/virtnest/quickstart/index.html#_3","title":"\u955c\u50cf\u521b\u5efa","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u4e91\u4e3b\u673a\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165 \u4e91\u4e3b\u673a \u9875\u9762\u3002

                                        2. \u5728\u4e91\u4e3b\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb \u521b\u5efa\u4e91\u4e3b\u673a -> \u9009\u62e9 \u901a\u8fc7\u955c\u50cf\u521b\u5efa \u3002

                                        3. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u9875\u9762\uff0c\u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u955c\u50cf\u914d\u7f6e\u3001\u5b58\u50a8\u4e0e\u7f51\u7edc\u3001\u767b\u5f55\u8bbe\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                          \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u4e91\u4e3b\u673a\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u4e91\u4e3b\u673a\u6267\u884c\u5173\u673a/\u5f00\u542f\u3001\u91cd\u542f\u3001\u514b\u9686\u3001\u66f4\u65b0\u3001\u521b\u5efa\u5feb\u7167\u3001\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002 \u514b\u9686\u548c\u5feb\u7167\u80fd\u529b\u4f9d\u8d56\u4e8e\u5b58\u50a8\u6c60\u7684\u9009\u62e9\u3002

                                        "},{"location":"admin/virtnest/quickstart/index.html#_4","title":"\u57fa\u672c\u4fe1\u606f","text":"

                                        \u5728 \u521b\u5efa\u4e91\u4e3b\u673a \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        • \u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002 \u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u540d\u79f0\u5728\u4e91\u4e3b\u673a\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                        • \u522b\u540d\uff1a\u5141\u8bb8\u4efb\u4f55\u5b57\u7b26\uff0c\u6700\u957f 60 \u4e2a\u5b57\u7b26\u3002
                                        • \u96c6\u7fa4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4e91\u4e3b\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u96c6\u7fa4\u5185\uff0c\u82e5\u6709\u4f7f\u7528 GPU \u80fd\u529b\u7684\u9700\u6c42\uff0c\u5219\u9700\u8981\u9009\u62e9\u6709 GPU/vGPU \u5361\u7684\u96c6\u7fa4\u3002
                                        • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4e91\u4e3b\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\u3002 \u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                        • \u6807\u7b7e/\u6ce8\u89e3\uff1a\u9009\u62e9\u4e3a\u4e91\u4e3b\u673a\u6dfb\u52a0\u6240\u9700\u7684\u6807\u7b7e/\u6ce8\u89e3\u4fe1\u606f\u3002
                                        "},{"location":"admin/virtnest/quickstart/index.html#_5","title":"\u955c\u50cf\u914d\u7f6e","text":"

                                        \u6839\u636e\u4e0b\u8868\u586b\u5199\u955c\u50cf\u76f8\u5173\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65

                                        1. \u955c\u50cf\u6765\u6e90\uff1a\u652f\u6301\u4e09\u79cd\u7c7b\u578b\u7684\u6765\u6e90\u3002

                                          • \u955c\u50cf\u4ed3\u5e93\u7c7b\u578b\uff1a\u955c\u50cf\u5b58\u50a8\u5728\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93\u4e2d\uff0c\u652f\u6301\u4ece\u955c\u50cf\u4ed3\u5e93\u4e2d\u6309\u9700\u9009\u62e9\u955c\u50cf\uff1b
                                          • HTTP \u7c7b\u578b\uff1a\u955c\u50cf\u5b58\u50a8\u4e8e HTTP \u534f\u8bae\u7684\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\uff0c\u652f\u6301 HTTPS://\u548c HTTP://\u524d\u7f00\uff1b
                                          • \u5bf9\u8c61\u5b58\u50a8\uff08S3\uff09\uff1a\u652f\u6301\u901a\u8fc7\u5bf9\u8c61\u5b58\u50a8\u534f\u8bae (S3) \u83b7\u53d6\u7684\u4e91\u4e3b\u673a\u955c\u50cf\uff0c\u82e5\u662f\u65e0\u9700\u8ba4\u8bc1\u7684\u5bf9\u8c61\u5b58\u50a8\u6587\u4ef6\uff0c\u8bf7\u4f7f\u7528 HTTP \u6765\u6e90\u3002
                                        2. \u4ee5\u4e0b\u662f\u5e73\u53f0\u5185\u7f6e\u7684\u955c\u50cf\u4fe1\u606f\uff0c\u5305\u62ec\u64cd\u4f5c\u7cfb\u7edf\u548c\u7248\u672c\u3001\u955c\u50cf\u5730\u5740\u3002\u540c\u65f6\u4e5f\u652f\u6301\u81ea\u5b9a\u4e49\u4e91\u4e3b\u673a\u955c\u50cf\u3002

                                          \u64cd\u4f5c\u7cfb\u7edf \u5bf9\u5e94\u7248\u672c \u955c\u50cf\u5730\u5740 CentOS CentOS 7.9 release-ci.daocloud.io/virtnest/system-images/centos-7.9-x86_64:v1 Ubuntu Ubuntu 22.04 release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1 Debian Debian 12 release-ci.daocloud.io/virtnest/system-images/debian-12-x86_64:v1
                                        3. \u955c\u50cf\u5bc6\u94a5\uff1a\u4ec5\u652f\u6301\u9ed8\u8ba4\uff08Opaque\uff09\u7c7b\u578b\u5bc6\u94a5\uff0c\u5177\u4f53\u683c\u5f0f\u8bf7\u53c2\u8003\u521b\u5efa\u5bc6\u94a5\u3002

                                          \u5e73\u53f0\u5185\u7f6e\u955c\u50cf\u5b58\u50a8\u5728\u70b9\u706b\u96c6\u7fa4\u4e2d\uff0c\u800c\u70b9\u706b\u96c6\u7fa4\u7684\u955c\u50cf\u4ed3\u5e93\u672a\u52a0\u5bc6\uff0c\u56e0\u6b64\u5f53\u9009\u62e9\u5185\u7f6e\u955c\u50cf\u65f6\uff0c\u65e0\u9700\u9009\u62e9\u5bc6\u94a5\u3002

                                        Note

                                        CPU \u548c\u5185\u5b58\u7684\u70ed\u52a0\u8f7d\u914d\u7f6e\u8981\u6c42\uff1avirtnest \u7684\u7248\u672c\u4e0d\u4f4e\u4e8e v0.10.0\uff0c\u5e76\u4e14 virtnest-agent \u7248\u672c\u4e0d\u4f4e\u4e8e v0.7.0\uff1b\u652f\u6301\u5b9e\u65f6\u8fc1\u79fb\uff08\u786e\u4fdd PVC \u8bbf\u95ee\u6a21\u5f0f\u4e3a ReadWriteMany\uff09\u3002

                                        1. \u8d44\u6e90\u914d\u7f6e\uff1aCPU \u5efa\u8bae\u4f7f\u7528\u6574\u6570\uff0c\u82e5\u586b\u5199\u5c0f\u6570\u5219\u4f1a\u5411\u4e0a\u53d6\u6574\u3002\u652f\u6301 CPU\u3001\u5185\u5b58\u7684\u70ed\u52a0\u8f7d\u3002

                                        2. GPU \u914d\u7f6e\uff1a\u542f\u7528 GPU \u529f\u80fd\u9700\u8981\u9700\u8981\u6ee1\u8db3\u524d\u63d0\u6761\u4ef6\uff0c\u5177\u4f53\u53ef\u53c2\u8003 \u4e91\u4e3b\u673a\u914d\u7f6e GPU\uff08Nvidia)\u3002 \u4e91\u4e3b\u673a\u652f\u6301 Nvidia\u2014GPU \u548c Nvidia\u2014vGPU \u4e24\u79cd\u7c7b\u578b\uff0c\u9009\u62e9\u6240\u9700\u7c7b\u578b\u540e\uff0c\u9700\u8981\u9009\u62e9\u5bf9\u5e94\u7684 GPU \u578b\u53f7\u548c\u5361\u7684\u6570\u91cf\u3002

                                        "},{"location":"admin/virtnest/quickstart/index.html#_6","title":"\u5b58\u50a8\u4e0e\u7f51\u7edc\u914d\u7f6e","text":"
                                        • \u5b58\u50a8\uff1a

                                          • \u5b58\u50a8\u548c\u4e91\u4e3b\u673a\u7684\u529f\u80fd\u606f\u606f\u76f8\u5173\uff0c\u4e3b\u8981\u662f\u901a\u8fc7\u4f7f\u7528 Kubernetes \u7684\u6301\u4e45\u5377\u548c\u5b58\u50a8\u7c7b\uff0c\u63d0\u4f9b\u4e86\u7075\u6d3b\u4e14\u53ef\u6269\u5c55\u7684\u4e91\u4e3b\u673a\u5b58\u50a8\u80fd\u529b\u3002\u6bd4\u5982\u4e91\u4e3b\u673a\u955c\u50cf\u5b58\u50a8\u5728 pvc \u91cc\uff0c\u652f\u6301\u548c\u5176\u4ed6\u6570\u636e\u4e00\u8d77\u514b\u9686\u3001\u5feb\u7167\u7b49\u3002

                                          • \u7cfb\u7edf\u76d8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002

                                          • \u6570\u636e\u76d8\uff1a\u6570\u636e\u76d8\u662f\u4e91\u4e3b\u673a\u4e2d\u7528\u4e8e\u5b58\u50a8\u7528\u6237\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u6570\u636e\u6216\u5176\u4ed6\u975e\u64cd\u4f5c\u7cfb\u7edf\u76f8\u5173\u6587\u4ef6\u7684\u5b58\u50a8\u8bbe\u5907\u3002\u4e0e\u7cfb\u7edf\u76d8\u76f8\u6bd4\uff0c\u6570\u636e\u76d8\u662f\u975e\u5fc5\u9009\u7684\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u52a8\u6001\u6dfb\u52a0\u6216\u79fb\u9664\u3002\u6570\u636e\u76d8\u7684\u5bb9\u91cf\u4e5f\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u8fdb\u884c\u7075\u6d3b\u914d\u7f6e\u3002

                                          • \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u5df2\u7ecf\u521b\u5efa\u4e86\u5bf9\u5e94\u7684 VolumeSnapshotClass\uff0c \u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u793a\u4f8b\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u652f\u6301\u5e76\u9009\u62e9\u4e86 ReadWriteMany \u7684\u8bbf\u95ee\u6a21\u5f0f \u3002

                                            \u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5b58\u50a8\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u4e0d\u4f1a\u81ea\u52a8\u521b\u5efa\u8fd9\u6837\u7684 VolumeSnapshotClass\uff0c\u56e0\u6b64\u60a8\u9700\u8981\u624b\u52a8\u521b\u5efa VolumeSnapshotClass\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a HwameiStor \u521b\u5efa VolumeSnapshotClass \u7684\u793a\u4f8b\uff1a

                                            kind: VolumeSnapshotClass\napiVersion: snapshot.storage.k8s.io/v1\nmetadata:\n  name: hwameistor-storage-lvm-snapshot\n  annotations:\n    snapshot.storage.kubernetes.io/is-default-class: \"true\"\nparameters:\n  snapsize: \"1073741824\"\ndriver: lvm.hwameistor.io\ndeletionPolicy: Delete\n
                                          • \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u68c0\u67e5 VolumeSnapshotClass \u662f\u5426\u521b\u5efa\u6210\u529f\u3002

                                            kubectl get VolumeSnapshotClass\n
                                          • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass\uff0c\u5e76\u4e14\u786e\u8ba4 provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002

                                        • \u7f51\u7edc\uff1a

                                          • \u7f51\u7edc\u914d\u7f6e\u53ef\u4ee5\u6839\u636e\u8868\u683c\u4fe1\u606f\u6309\u9700\u7ec4\u5408\u3002

                                            \u7f51\u7edc\u6a21\u5f0f CNI \u662f\u5426\u5b89\u88c5 Spiderpool \u7f51\u5361\u6a21\u5f0f \u56fa\u5b9a IP \u5b9e\u65f6\u8fc1\u79fb Masquerade\uff08NAT\uff09 Calico \u274c \u5355\u7f51\u5361 \u274c \u2705 Cilium \u274c \u5355\u7f51\u5361 \u274c \u2705 Flannel \u274c \u5355\u7f51\u5361 \u274c \u2705 Bridge\uff08\u6865\u63a5\uff09 OVS \u2705 \u591a\u7f51\u5361 \u2705 \u2705

                                          • \u7f51\u7edc\u6a21\u5f0f\u5206\u4e3a Masquerade\uff08NAT\uff09\u548c Bridge\uff08\u6865\u63a5\uff09\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u9700\u8981\u5b89\u88c5\u4e86 Spiderpool \u7ec4\u4ef6\u540e\u65b9\u53ef\u4f7f\u7528\u3002

                                            • \u9ed8\u8ba4\u9009\u62e9 Masquerade\uff08NAT\uff09\u7684\u7f51\u7edc\u6a21\u5f0f\uff0c\u4f7f\u7528 eth0 \u9ed8\u8ba4\u7f51\u5361\u3002
                                            • \u82e5\u96c6\u7fa4\u5185\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\uff0c\u5219\u652f\u6301\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u652f\u6301\u591a\u7f51\u5361\u5f62\u5f0f\u3002

                                          • \u6dfb\u52a0\u7f51\u5361

                                            • Passt\uff08\u76f4\u901a\uff09/Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u4e0b\u652f\u6301\u624b\u52a8\u6dfb\u52a0\u7f51\u5361\u3002\u70b9\u51fb \u6dfb\u52a0\u7f51\u5361 \uff0c\u8fdb\u884c\u7f51\u5361 IP \u6c60\u7684\u914d\u7f6e\u3002\u9009\u62e9\u548c\u7f51\u7edc\u6a21\u5f0f\u5339\u914d\u7684 Multus CR\uff0c\u82e5\u6ca1\u6709\u5219\u9700\u8981\u81ea\u884c\u521b\u5efa\u3002
                                            • \u82e5\u6253\u5f00 \u4f7f\u7528\u9ed8\u8ba4 IP \u6c60 \u5f00\u5173\uff0c\u5219\u4f7f\u7528 multus CR \u914d\u7f6e\u4e2d\u7684\u9ed8\u8ba4 IP \u6c60\u3002\u82e5\u5173\u95ed\u5f00\u5173\uff0c\u5219\u624b\u52a8\u9009\u62e9 IP \u6c60\u3002

                                        "},{"location":"admin/virtnest/quickstart/index.html#_7","title":"\u767b\u5f55\u8bbe\u7f6e","text":"
                                        • \u7528\u6237\u540d/\u5bc6\u7801\uff1a\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u81f3\u4e91\u4e3b\u673a\u3002
                                        • SSH\uff1a\u9009\u62e9 SSH \u767b\u5f55\u65b9\u5f0f\u65f6\u53ef\u4e3a\u4e91\u4e3b\u673a\u7ed1\u5b9a SSH \u5bc6\u94a5\uff0c\u7528\u4e8e\u65e5\u540e\u767b\u5f55\u4e91\u4e3b\u673a\u3002
                                        "},{"location":"admin/virtnest/quickstart/index.html#yaml","title":"YAML \u521b\u5efa","text":"

                                        \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u4e91\u4e3b\u673a\u3002

                                        \u8fdb\u5165\u4e91\u4e3b\u673a\u5217\u8868\u9875\uff0c\u70b9\u51fb \u901a\u8fc7 YAML \u521b\u5efa \u6309\u94ae\u3002

                                        \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u4e91\u4e3b\u673a\u7684 YAML \u793a\u4f8b
                                        apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  name: demo\n  namespace: default\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        name: systemdisk-demo\n        namespace: default\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n              docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Always\n  template:\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: systemdisk-demo\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      volumes:\n        - dataVolume:\n            name: systemdisk-demo\n          name: systemdisk-demo\n        - cloudInitNoCloud:\n            userDataBase64: >-\n              I2Nsb3VkLWNvbmZpZwpzc2hfcHdhdXRoOiB0cnVlCmRpc2FibGVfcm9vdDogZmFsc2UKY2hwYXNzd2Q6IHsibGlzdCI6ICJyb290OjEyMzQ1NiIsIGV4cGlyZTogRmFsc2V9CgoKcnVuY21kOgogIC0gc2VkIC1pICIvI1w/UGVybWl0Um9vdExvZ2luL3MvXi4qJC9QZXJtaXRSb290TG9naW4geWVzL2ciIC9ldGMvc3NoL3NzaGRfY29uZmlnCiAgLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2guc2VydmljZQ==\n          name: cloudinitdisk\n
                                        "},{"location":"admin/virtnest/quickstart/access.html","title":"\u8fde\u63a5\u4e91\u4e3b\u673a","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u4e24\u79cd\u8fde\u63a5\u4e91\u4e3b\u673a\u7684\u65b9\u5f0f\uff0c\u5206\u522b\u4e3a \u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u548c\u7ec8\u7aef\u65b9\u5f0f\u3002

                                        "},{"location":"admin/virtnest/quickstart/access.html#_2","title":"\u7ec8\u7aef","text":"

                                        \u901a\u8fc7\u7ec8\u7aef\u8bbf\u95ee\u4e91\u4e3b\u673a\u7684\u65b9\u5f0f\u66f4\u52a0\u7075\u6d3b\u548c\u8f7b\u91cf\uff0c\u4f46\u662f\u65e0\u6cd5\u76f4\u63a5\u5c55\u793a\u56fe\u5f62\u754c\u9762\uff0c\u4ea4\u4e92\u6027\u8f83\u5dee\uff0c\u4e14\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                                        \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u652f\u6301\u901a\u8fc7\u7ec8\u7aef\u65b9\u5f0f\u8bbf\u95ee\u4e91\u4e3b\u673a\u3002

                                        "},{"location":"admin/virtnest/quickstart/access.html#vnc","title":"\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09","text":"

                                        \u901a\u8fc7 VNC \u8bbf\u95ee\u4e91\u4e3b\u673a\u7684\u65b9\u5f0f\u53ef\u4ee5\u5b9e\u73b0\u5bf9\u8fdc\u7a0b\u8ba1\u7b97\u673a\u7684\u5b8c\u6574\u56fe\u5f62\u754c\u9762\u7684\u8bbf\u95ee\u548c\u63a7\u5236\uff0c\u80fd\u591f\u76f4\u89c2\u5730\u64cd\u4f5c\u8fdc\u7a0b\u8bbe\u5907\uff0c\u4ea4\u4e92\u6027\u66f4\u52a0\u597d\uff0c\u4f46\u662f\u6027\u80fd\u4f1a\u53d7\u5230\u4e00\u5b9a\u5f71\u54cd\uff0c\u4e14\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                                        Windows \u7cfb\u7edf\u9009\u62e9 VNC\u3002

                                        \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u652f\u6301\u901a\u8fc7\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u7684\u65b9\u5f0f\u8bbf\u95ee\u4e91\u4e3b\u673a\u3002

                                        "},{"location":"admin/virtnest/quickstart/detail.html","title":"\u4e91\u4e3b\u673a\u8be6\u60c5","text":"

                                        \u6210\u529f\u521b\u5efa\u4e91\u4e3b\u673a\u540e\uff0c\u53ef\u8fdb\u5165\u4e91\u4e3b\u673a\u8be6\u60c5\u9875\u9762\uff0c\u652f\u6301\u67e5\u770b\u57fa\u672c\u4fe1\u606f\u3001\u914d\u7f6e\u4fe1\u606f\u3001GPU \u4fe1\u606f\u3001\u6982\u89c8\u3001\u5b58\u50a8\u3001\u7f51\u7edc\u3001\u5feb\u7167\u3001\u4e8b\u4ef6\u7b49\u3002

                                        \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u96c6\u7fa4\u5217\u8868 \uff0c\u8fdb\u5165\u4e91\u4e3b\u673a\u6240\u5728\u96c6\u7fa4\u8be6\u60c5\uff0c\u70b9\u51fb\u4e91\u4e3b\u673a\u540d\u79f0\u67e5\u770b\u4e91\u4e3b\u673a\u8be6\u60c5\u3002

                                        "},{"location":"admin/virtnest/quickstart/detail.html#_2","title":"\u57fa\u672c\u4fe1\u606f","text":"

                                        \u4e91\u4e3b\u673a\u57fa\u672c\u4fe1\u606f\u5305\u542b\u72b6\u6001\u3001\u522b\u540d\u3001\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001IP\u3001\u6807\u7b7e\u3001\u8282\u70b9\u3001\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u3002\u5176\u4e2d\uff0c

                                        • \u72b6\u6001\uff1a\u4e91\u4e3b\u673a\u5f53\u524d\u7684\u8fd0\u884c\u72b6\u6001\uff08\u8fd0\u884c\u4e2d/\u5904\u7406\u4e2d/\u5173\u673a/\u9519\u8bef\uff09\u3002
                                        • IP \uff1a\u4e91\u4e3b\u673a\u7684 IP \u5730\u5740\u3002\u5bf9\u4e8e\u6dfb\u52a0\u591a\u5f20\u7f51\u5361\u7684\u4e91\u4e3b\u673a\uff0c\u4f1a\u4e3a\u5176\u5206\u914d\u591a\u4e2a IP \u5730\u5740\u3002
                                        "},{"location":"admin/virtnest/quickstart/detail.html#gpu","title":"\u914d\u7f6e\u4fe1\u606f & GPU \u914d\u7f6e","text":"

                                        \u4e91\u4e3b\u673a\u914d\u7f6e\u4fe1\u606f\u5305\u62ec\uff1a

                                        • \u64cd\u4f5c\u7cfb\u7edf\uff1a\u5b89\u88c5\u5728\u4e91\u4e3b\u673a\u4e0a\u7528\u4e8e\u6267\u884c\u7a0b\u5e8f\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002
                                        • \u955c\u50cf\u5730\u5740\uff1a\u5411\u4e00\u4e2a\u865a\u62df\u786c\u76d8\u6587\u4ef6\u6216\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u4ecb\u8d28\u7684\u94fe\u63a5\uff0c\u8fd9\u4e2a\u5730\u5740\u7528\u4e8e\u5728\u4e91\u4e3b\u673a\u8f6f\u4ef6\u4e2d\u52a0\u8f7d\u548c\u5b89\u88c5\u64cd\u4f5c\u7cfb\u7edf\u3002
                                        • \u7f51\u7edc\u6a21\u5f0f\uff1a\u4e91\u4e3b\u673a\u914d\u7f6e\u7684\u7f51\u7edc\u6a21\u5f0f\uff0cBridge\uff08\u6865\u63a5\uff09\u6216 Masquerade\uff08NAT\uff09\u3002
                                        • CPU\u3001\u5185\u5b58\uff1a\u4e3a\u4e91\u4e3b\u673a\u5206\u914d\u7684\u8d44\u6e90\u3002

                                        GPU \u914d\u7f6e\u4fe1\u606f\u5305\u542b GPU \u7c7b\u578b\u3001GPU \u578b\u53f7\u4ee5\u53ca\u5361\u6570\u91cf\u3002

                                        "},{"location":"admin/virtnest/quickstart/detail.html#_3","title":"\u5176\u4ed6\u4fe1\u606f","text":"\u6982\u89c8\u50a8\u5b58\u7f51\u7edc\u5feb\u7167\u4e8b\u4ef6\u5217\u8868

                                        \u4e91\u4e3b\u673a\u6982\u89c8\u9875\u53ef\u67e5\u770b\u4e91\u4e3b\u673a\u7684\u76d1\u63a7\u5185\u5bb9\u3002\u8bf7\u6ce8\u610f\uff0c\u82e5\u672a\u5b89\u88c5 insight-agent \u7ec4\u4ef6\uff0c\u5219\u65e0\u6cd5\u83b7\u53d6\u76d1\u63a7\u4fe1\u606f\u3002

                                        \u5c55\u793a\u4e91\u4e3b\u673a\u6240\u7528\u7684\u5b58\u50a8\uff0c\u5305\u62ec\u7cfb\u7edf\u76d8\u548c\u6570\u636e\u76d8\u7684\u4fe1\u606f\u3002

                                        \u5c55\u793a\u4e91\u4e3b\u673a\u7684\u7f51\u7edc\u914d\u7f6e\uff0c\u5305\u62ec Multus CR\u3001\u7f51\u5361\u540d\u79f0\u3001IP \u5730\u5740\u7b49\u4fe1\u606f\u3002

                                        \u82e5\u5df2\u7ecf\u521b\u5efa\u5feb\u7167\uff0c\u672c\u9875\u5c06\u5c55\u793a\u4e91\u4e3b\u673a\u7684\u5feb\u7167\u4fe1\u606f\uff0c\u652f\u6301\u901a\u8fc7\u5feb\u7167\u6062\u590d\u4e91\u4e3b\u673a\u3002

                                        \u4e8b\u4ef6\u5217\u8868\u5305\u542b\u4e91\u4e3b\u673a\u7684\u751f\u547d\u5468\u671f\u4e2d\u53d1\u751f\u7684\u5404\u79cd\u72b6\u6001\u53d8\u5316\u3001\u64cd\u4f5c\u8bb0\u5f55\u548c\u7cfb\u7edf\u6d88\u606f\u7b49\u3002

                                        "},{"location":"admin/virtnest/quickstart/nodeport.html","title":"\u901a\u8fc7 NodePort \u8bbf\u95ee\u4e91\u4e3b\u673a","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 NodePort \u8bbf\u95ee\u4e91\u4e3b\u673a\u3002

                                        "},{"location":"admin/virtnest/quickstart/nodeport.html#_1","title":"\u73b0\u6709\u8bbf\u95ee\u65b9\u5f0f\u7684\u7f3a\u9677","text":"
                                        1. \u4e91\u4e3b\u673a\u652f\u6301\u901a\u8fc7 VNC \u6216\u8005 console \u8bbf\u95ee\uff0c\u4f46\u8fd9\u4e24\u79cd\u8bbf\u95ee\u65b9\u5f0f\u90fd\u6709\u4e00\u4e2a\u5f0a\u7aef\uff0c\u65e0\u6cd5\u591a\u7ec8\u7aef\u540c\u65f6\u5728\u7ebf\u3002

                                        2. \u901a\u8fc7 NodePort \u5f62\u5f0f\u7684 Service\uff0c\u53ef\u4ee5\u5e2e\u52a9\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002

                                        "},{"location":"admin/virtnest/quickstart/nodeport.html#service","title":"\u521b\u5efa service \u7684\u65b9\u5f0f","text":"
                                        1. \u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u9875\u9762

                                          • \u9009\u62e9\u76ee\u6807\u8bbf\u95ee\u7684\u4e91\u4e3b\u673a\u6240\u5728\u96c6\u7fa4\u9875\u9762\u521b\u5efa\u670d\u52a1\uff08Service\uff09
                                          • \u9009\u62e9\u8bbf\u95ee\u7c7b\u578b\u4e3a\u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09
                                          • \u9009\u62e9\u547d\u540d\u7a7a\u95f4\uff08\u4e91\u4e3b\u673a\u6240\u5728 namespace\uff09
                                          • \u6807\u7b7e\u9009\u62e9\u5668\u586b\u5199 vm.kubevirt.io/name: you-vm-name
                                          • \u7aef\u53e3\u914d\u7f6e\uff1a\u534f\u8bae\u9009\u62e9 TCP\uff0c\u7aef\u53e3\u540d\u79f0\u81ea\u5b9a\u4e49\uff0c\u670d\u52a1\u7aef\u53e3\u3001\u5bb9\u5668\u7aef\u53e3\u586b\u5199 22
                                        2. \u521b\u5efa\u6210\u529f\u540e\uff0c\u5c31\u53ef\u4ee5\u901a\u8fc7 ssh username@nodeip -p port \u6765\u8bbf\u95ee\u4e91\u4e3b\u673a

                                        "},{"location":"admin/virtnest/quickstart/nodeport.html#kubectl-svc","title":"\u901a\u8fc7 kubectl \u521b\u5efa svc","text":"
                                        1. \u7f16\u5199 YAML \u6587\u4ef6\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a

                                          apiVersion: v1\nkind: Service\n  metadata:\n    name: test-ssh\nspec:\n  ports:\n  - name: tcp-ssh\n    nodePort: 32090\n    protocol: TCP\n    // 22 \u7aef\u53e3\uff0c\u4e0d\u8981\u66f4\u6539\n    port: 22 \n    targetPort: 22\n  selector:\n    // \u4e91\u4e3b\u673a\u7684 name\n\u00a0 \u00a0vm.kubevirt.io/name: test-image-s3\n  type: NodePort\n
                                        2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4

                                          kubectl apply -f you-svc.yaml\n
                                        3. \u521b\u5efa\u6210\u529f\u540e\uff0c\u5c31\u53ef\u4ee5\u901a\u8fc7 ssh username@nodeip -p 32090 \u6765\u8bbf\u95ee\u4e91\u4e3b\u673a

                                        "},{"location":"admin/virtnest/quickstart/update.html","title":"\u66f4\u65b0\u4e91\u4e3b\u673a","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u8868\u5355\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u66f4\u65b0\u4e91\u4e3b\u673a\u3002

                                        "},{"location":"admin/virtnest/quickstart/update.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5f00\u673a\u72b6\u6001\u4e0b\u66f4\u65b0\u4e91\u4e3b\u673a CPU\u3001\u5185\u5b58\u3001\u6570\u636e\u76d8\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u4e91\u4e3b\u673a\u652f\u6301\u5b9e\u65f6\u8fc1\u79fb\u80fd\u529b\u3002
                                        "},{"location":"admin/virtnest/quickstart/update.html#_3","title":"\u8868\u5355\u66f4\u65b0\u4e91\u4e3b\u673a","text":"

                                        \u5728\u4e91\u4e3b\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb \u66f4\u65b0 \u8fdb\u5165\u4e91\u4e3b\u673a\u66f4\u65b0\u9875\u9762\u3002

                                        \u57fa\u672c\u4fe1\u606f\u955c\u50cf\u914d\u7f6e\u5b58\u50a8\u4e0e\u7f51\u7edc\u767b\u5f55\u8bbe\u7f6e

                                        \u57fa\u672c\u4fe1\u606f\u9875\u9762\u4e2d\uff0c \u522b\u540d \u4e0e \u6807\u7b7e\u6ce8\u89e3 \u652f\u6301\u66f4\u65b0\uff0c\u5176\u4ed6\u4fe1\u606f\u65e0\u6cd5\u66f4\u6539\u3002\u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u955c\u50cf\u914d\u7f6e\u7684\u754c\u9762\u3002

                                        \u5728\u955c\u50cf\u914d\u7f6e\u9875\u9762\u4e2d\uff0c\u955c\u50cf\u6765\u6e90\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7248\u672c\u7b49\u53c2\u6570\u4e00\u65e6\u9009\u62e9\u540e\u65e0\u6cd5\u66f4\u6539\uff0c\u5141\u8bb8\u7528\u6237\u66f4\u65b0 GPU \u914d\u7f6e \uff0c \u5305\u62ec\u542f\u7528\u6216\u7981\u7528 GPU \u652f\u6301\uff0c\u9009\u62e9 GPU \u7684\u7c7b\u578b\uff0c\u6307\u5b9a\u6240\u9700\u7684\u578b\u53f7\uff0c\u4ee5\u53ca\u914d\u7f6e GPU \u5361\u7684\u6570\u91cf\uff0c\u66f4\u65b0\u540e\u9700\u8981\u91cd\u542f\u624d\u80fd\u751f\u6548\u3002 \u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u5b58\u50a8\u4e0e\u7f51\u7edc\u7684\u754c\u9762\u3002

                                        \u5728\u5b58\u50a8\u4e0e\u7f51\u7edc\u9875\u9762\u4e2d\uff0c\u7cfb\u7edf\u76d8\u7684\u5b58\u50a8\u6c60\u548c PVC \u8bbf\u95ee\u6a21\u5f0f\u4e00\u65e6\u9009\u62e9\u540e\u65e0\u6cd5\u66f4\u6539\uff0c\u652f\u6301\u589e\u52a0\u78c1\u76d8\u5bb9\u91cf\uff0c\u4e0d\u53ef\u51cf\u5c11\u3002 \u6b64\u5916\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u7531\u6dfb\u52a0\u6216\u8005\u79fb\u9664\u6570\u636e\u76d8\u3002\u4e0d\u652f\u6301\u66f4\u65b0\u7f51\u7edc\u914d\u7f6e\u3002\u5b8c\u6210\u66f4\u65b0\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u767b\u5f55\u8bbe\u7f6e\u7684\u754c\u9762\u3002

                                        Note

                                        \u5efa\u8bae\u5728\u4fee\u6539\u5b58\u50a8\u5bb9\u91cf\u6216\u589e\u52a0\u6570\u636e\u76d8\u540e\u91cd\u542f\u4e91\u4e3b\u673a\uff0c\u4ee5\u786e\u4fdd\u914d\u7f6e\u751f\u6548\u3002

                                        \u5728\u767b\u5f55\u8bbe\u7f6e\u9875\u9762\u4e2d\uff0c\u7528\u6237\u540d\u3001\u5bc6\u7801\u4ee5\u53ca SSH \u5bc6\u94a5\u914d\u7f6e\u4e00\u65e6\u8bbe\u7f6e\uff0c\u4e0d\u5141\u8bb8\u66f4\u6539\u3002\u786e\u8ba4\u60a8\u7684\u767b\u5f55\u4fe1\u606f\u65e0\u8bef\u540e\uff0c\u70b9\u51fb\u786e\u5b9a\u6309\u94ae\u4ee5\u5b8c\u6210\u66f4\u65b0\u6d41\u7a0b\u3002

                                        "},{"location":"admin/virtnest/quickstart/update.html#yaml","title":"\u7f16\u8f91 YAML","text":"

                                        \u9664\u4e86\u901a\u8fc7\u8868\u5355\u65b9\u5f0f\u66f4\u65b0\u4e91\u4e3b\u673a\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u66f4\u65b0\u4e91\u4e3b\u673a\u3002

                                        \u8fdb\u5165\u4e91\u4e3b\u673a\u5217\u8868\u9875\uff0c\u70b9\u51fb \u7f16\u8f91 YAML \u6309\u94ae\u3002

                                        "},{"location":"admin/virtnest/template/index.html","title":"\u901a\u8fc7\u6a21\u677f\u521b\u5efa\u4e91\u4e3b\u673a","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u6a21\u677f\u521b\u5efa\u4e91\u4e3b\u673a\u3002

                                        \u901a\u8fc7\u5185\u7f6e\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u6a21\u677f\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u521b\u5efa\u65b0\u7684\u4e91\u4e3b\u673a\u3002\u6b64\u5916\uff0c\u6211\u4eec\u8fd8\u63d0\u4f9b\u5c06\u73b0\u6709\u4e91\u4e3b\u673a\u8f6c\u6362\u4e3a\u4e91\u4e3b\u673a\u6a21\u677f\u7684\u529f\u80fd\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u7075\u6d3b\u5730\u7ba1\u7406\u548c\u4f7f\u7528\u8d44\u6e90\u3002

                                        "},{"location":"admin/virtnest/template/index.html#_2","title":"\u6a21\u677f\u521b\u5efa","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u6a21\u677f\u521b\u5efa\u4e00\u4e2a\u4e91\u4e3b\u673a\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165 \u4e91\u4e3b\u673a\u7ba1\u7406 \u9875\u9762\u3002\u5728\u4e91\u4e3b\u673a\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u521b\u5efa\u4e91\u4e3b\u673a-\u9009\u62e9\u6a21\u677f\u521b\u5efa\u4e91\u4e3b\u673a\u3002

                                        2. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u9875\u9762\uff0c\u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u6a21\u677f\u914d\u7f6e\u3001\u5b58\u50a8\u4e0e\u7f51\u7edc\u3001\u767b\u5f55\u8bbe\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                          \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u4e91\u4e3b\u673a\u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u4e91\u4e3b\u673a\u6267\u884c\u5173\u673a/\u5f00\u542f\u3001\u91cd\u542f\u3001\u514b\u9686\u3001\u66f4\u65b0\u3001\u521b\u5efa\u5feb\u7167\u3001\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3001\u63a7\u5236\u53f0\u8bbf\u95ee\uff08VNC\uff09\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002 \u514b\u9686\u548c\u5feb\u7167\u80fd\u529b\u4f9d\u8d56\u4e8e\u5b58\u50a8\u6c60\u7684\u9009\u62e9\u3002

                                        "},{"location":"admin/virtnest/template/index.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                                        \u5728\u521b\u5efa\u4e91\u4e3b\u673a\u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        • \u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002 \u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u540d\u79f0\u5728\u4e91\u4e3b\u673a\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                        • \u522b\u540d\uff1a\u5141\u8bb8\u4efb\u4f55\u5b57\u7b26\uff0c\u6700\u957f60\u4e2a\u5b57\u7b26\u3002
                                        • \u96c6\u7fa4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4e91\u4e3b\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u96c6\u7fa4\u5185\u3002
                                        • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4e91\u4e3b\u673a\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\u3002 \u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                        "},{"location":"admin/virtnest/template/index.html#_4","title":"\u6a21\u677f\u914d\u7f6e","text":"

                                        \u51fa\u73b0\u6a21\u677f\u5217\u8868\uff0c\u6309\u9700\u9009\u62e9\u5185\u7f6e\u6a21\u677f/\u81ea\u5b9a\u4e49\u6a21\u677f\u3002

                                        • \u9009\u62e9\u5185\u7f6e\u6a21\u677f\uff1a\u5e73\u53f0\u5185\u7f6e\u4e862\u4e2a\u6807\u51c6\u6a21\u677f\uff0c\u4e0d\u5141\u8bb8\u7f16\u8f91\u548c\u5220\u9664\u3002\u9009\u62e9\u5185\u7f6e\u6a21\u677f\u540e\uff0c\u955c\u50cf\u6765\u6e90\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u955c\u50cf\u5730\u5740\u7b49\u5c06\u4f7f\u7528\u6a21\u677f\u5185\u7684\u4fe1\u606f\uff0c\u65e0\u6cd5\u4fee\u6539\uff1b\u8d44\u6e90\u914d\u989d\u4e5f\u5c06\u4f7f\u7528\u6a21\u677f\u5185\u7684\u4fe1\u606f\uff0c\u5141\u8bb8\u4fee\u6539\u3002

                                        • \u9009\u62e9\u81ea\u5b9a\u4e49\u6a21\u677f\uff1a\u7531\u4e91\u4e3b\u673a\u914d\u7f6e\u8f6c\u5316\u800c\u6765\u7684\u6a21\u677f\uff0c\u652f\u6301\u7f16\u8f91\u548c\u5220\u9664\u3002\u4f7f\u7528\u81ea\u5b9a\u4e49\u6a21\u677f\u5219\u6839\u636e\u5177\u4f53\u60c5\u51b5\u652f\u6301\u4fee\u6539\u955c\u50cf\u6765\u6e90\u7b49\u4fe1\u606f\u3002

                                        "},{"location":"admin/virtnest/template/index.html#_5","title":"\u5b58\u50a8\u4e0e\u7f51\u7edc\u914d\u7f6e","text":"
                                        • \u5b58\u50a8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002 \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u652f\u6301 VolumeSnapshots \u529f\u80fd\uff0c \u5e76\u5728\u5b58\u50a8\u6c60\uff08SC\uff09\u4e2d\u8fdb\u884c\u521b\u5efa\u3002\u8bf7\u6ce8\u610f\uff0c\u5b58\u50a8\u6c60\uff08SC\uff09\u8fd8\u6709\u5176\u4ed6\u4e00\u4e9b\u5148\u51b3\u6761\u4ef6\u9700\u8981\u6ee1\u8db3\u3002

                                          • \u5148\u51b3\u6761\u4ef6\uff1a

                                            • KubeVirt \u5229\u7528 Kubernetes CSI \u9a71\u52a8\u7a0b\u5e8f\u7684 VolumeSnapshot\u529f\u80fd\u6765\u6355\u83b7\u6301\u4e45\u5316\u4e91\u4e3b\u673a\u72b6\u6001\u3002 \u56e0\u6b64\uff0c\u60a8\u9700\u8981\u786e\u4fdd\u60a8\u7684\u4e91\u4e3b\u673a\u4f7f\u7528\u7531\u652f\u6301 VolumeSnapshots \u7684 StorageClass \u5e76\u914d\u7f6e\u4e86\u6b63\u786e\u7684 VolumeSnapshotClass\u3002
                                            • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass \uff0c\u5e76\u4e14\u786e\u8ba4 provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002
                                          • \u652f\u6301\u6dfb\u52a0\u4e00\u5757\u7cfb\u7edf\u76d8\u548c\u591a\u5757\u6570\u636e\u76d8\u3002

                                        • \u7f51\u7edc\uff1a\u82e5\u60a8\u4e0d\u505a\u4efb\u4f55\u914d\u7f6e\uff0c\u7cfb\u7edf\u5c06\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684\u7f51\u7edc\u3002

                                        "},{"location":"admin/virtnest/template/index.html#_6","title":"\u767b\u5f55\u8bbe\u7f6e","text":"
                                        • \u7528\u6237\u540d/\u5bc6\u7801\uff1a\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u540d\u548c\u5bc6\u7801\u767b\u5f55\u81f3\u4e91\u4e3b\u673a\u3002
                                        • SSH\uff1a\u9009\u62e9 SSH \u767b\u5f55\u65b9\u5f0f\u65f6\u53ef\u4e3a\u4e91\u4e3b\u673a\u7ed1\u5b9a SSH \u5bc6\u94a5\uff0c\u7528\u4e8e\u65e5\u540e\u767b\u5f55\u4e91\u4e3b\u673a\u3002
                                        "},{"location":"admin/virtnest/template/tep.html","title":"\u4e91\u4e3b\u673a\u6a21\u677f","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5185\u7f6e\u4e91\u4e3b\u673a\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u4e91\u4e3b\u673a\u6a21\u677f\u3002

                                        \u901a\u8fc7\u5185\u7f6e\u6a21\u677f\u548c\u81ea\u5b9a\u4e49\u6a21\u677f\uff0c\u7528\u6237\u53ef\u4ee5\u8f7b\u677e\u521b\u5efa\u65b0\u7684\u4e91\u4e3b\u673a\u3002\u6b64\u5916\uff0c\u6211\u4eec\u8fd8\u63d0\u4f9b\u5c06\u73b0\u6709\u4e91\u4e3b\u673a\u8f6c\u6362\u4e3a\u4e91\u4e3b\u673a\u6a21\u677f\u7684\u529f\u80fd\uff0c\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u7075\u6d3b\u5730\u7ba1\u7406\u548c\u4f7f\u7528\u8d44\u6e90\u3002

                                        "},{"location":"admin/virtnest/template/tep.html#_2","title":"\u4e91\u4e3b\u673a\u6a21\u677f","text":"
                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a\u6a21\u677f \uff0c\u8fdb\u5165 \u4e91\u4e3b\u673a\u6a21\u677f \u9875\u9762\uff0c\u82e5\u8be5\u6a21\u677f\u662f\u7531\u914d\u7f6e\u4e86 GPU \u7684\u4e91\u4e3b\u673a\u8f6c\u6362\u800c\u6765\uff0c\u6a21\u677f\u4e5f\u4f1a\u5e26\u6709 GPU \u7684\u4fe1\u606f\uff0c\u5c06\u5728\u6a21\u677f\u5217\u8868\u4e2d\u5c55\u793a\u3002

                                        2. \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5185\u7f6e\u6a21\u677f\u6267\u884c\u521b\u5efa\u4e91\u4e3b\u673a\u548c\u67e5\u770b YAML \u64cd\u4f5c\uff1b\u5bf9\u81ea\u5b9a\u4e49\u6a21\u677f\u652f\u6301\u521b\u5efa\u4e91\u4e3b\u673a\u3001\u7f16\u8f91 YAML \u548c\u5220\u9664\u64cd\u4f5c\u3002

                                        "},{"location":"admin/virtnest/template/tep.html#_3","title":"\u5185\u7f6e\u6a21\u677f","text":"
                                        • \u5e73\u53f0\u5185\u5185\u7f6e\u4e24\u79cd\u6a21\u677f\uff0c\u5206\u522b\u662f CentOS \u548c Ubuntu\u3002

                                        "},{"location":"admin/virtnest/template/tep.html#_4","title":"\u81ea\u5b9a\u4e49\u6a21\u677f","text":"

                                        \u81ea\u5b9a\u4e49\u6a21\u677f\u662f\u7531\u4e91\u4e3b\u673a\u914d\u7f6e\u8f6c\u5316\u800c\u6765\u7684\u6a21\u677f\u3002\u4ee5\u4e0b\u4ecb\u7ecd\u5982\u4f55\u4ece\u4e91\u4e3b\u673a\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u652f\u6301\u5c06\u914d\u7f6e\u8f6c\u6362\u4e3a\u6a21\u677f\u3002\u53ea\u6709\u8fd0\u884c\u4e2d/\u5173\u95ed\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u652f\u6301\u8f6c\u5316\u3002

                                        2. \u586b\u5199\u65b0\u6a21\u677f\u7684\u540d\u79f0\uff0c\u63d0\u793a\u539f\u59cb\u4e91\u4e3b\u673a\u5c06\u4f1a\u4fdd\u7559\u5e76\u4e14\u53ef\u7528\u3002\u8f6c\u6362\u6210\u529f\u540e\uff0c\u5c06\u4f1a\u5728\u6a21\u677f\u5217\u8868\u65b0\u589e\u4e00\u6761\u6570\u636e\u3002

                                        "},{"location":"admin/virtnest/template/tep.html#_5","title":"\u6a21\u677f\u8be6\u60c5","text":"

                                        \u6210\u529f\u521b\u5efa\u51fa\u6765\u4e00\u4e2a\u6a21\u677f\u540e\uff0c\u70b9\u51fb\u6a21\u677f\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u4e91\u4e3b\u673a\u8be6\u60c5\uff0c\u5305\u62ec\u57fa\u672c\u4fe1\u606f\u3001GPU \u4fe1\u606f\u3001\u5b58\u50a8\u3001\u7f51\u7edc\u7b49\u3002\u5982\u679c\u9700\u8981\u5feb\u901f\u57fa\u4e8e\u8be5\u6a21\u677f\u90e8\u7f72\u65b0\u7684\u4e91\u4e3b\u673a\uff0c\u53ea\u9700\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u4e91\u4e3b\u673a \u6309\u94ae\u5373\u53ef\u4fbf\u6377\u64cd\u4f5c\u3002

                                        "},{"location":"admin/virtnest/vm/auto-migrate.html","title":"\u4e91\u4e3b\u673a\u81ea\u52a8\u6f02\u79fb","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5f53\u96c6\u7fa4\u5185\u67d0\u4e2a\u8282\u70b9\u56e0\u4e3a\u65ad\u7535\u6216\u7f51\u7edc\u6545\u969c\uff0c\u5bfc\u81f4\u8be5\u8282\u70b9\u4e0a\u7684\u4e91\u4e3b\u673a\u65e0\u6cd5\u8bbf\u95ee\u65f6\uff0c \u5982\u4f55\u5c06\u6b63\u5728\u8fd0\u884c\u7684\u4e91\u4e3b\u673a\u65e0\u7f1d\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u8282\u70b9\u4e0a\uff0c\u540c\u65f6\u4fdd\u8bc1\u4e1a\u52a1\u7684\u8fde\u7eed\u6027\u548c\u6570\u636e\u7684\u5b89\u5168\u6027\u3002

                                        \u4e0e\u5b9e\u65f6\u8fc1\u79fb\u76f8\u6bd4\uff0c\u81ea\u52a8\u6f02\u79fb\u4e0d\u9700\u8981\u60a8\u5728\u754c\u9762\u4e2d\u4e3b\u52a8\u64cd\u4f5c\uff0c\u800c\u662f\u7cfb\u7edf\u81ea\u52a8\u89e6\u53d1\u8fc1\u79fb\u8fc7\u7a0b\u3002

                                        "},{"location":"admin/virtnest/vm/auto-migrate.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5b9e\u73b0\u81ea\u52a8\u6f02\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u4e91\u4e3b\u673a\u672a\u8fdb\u884c\u78c1\u76d8\u843d\u76d8\u64cd\u4f5c\uff0c\u6216\u4f7f\u7528 Rook-Ceph\u3001HwameiStor HA \u6a21\u5f0f\u4f5c\u4e3a\u5b58\u50a8\u7cfb\u7edf
                                        • \u8282\u70b9\u5931\u8054\u65f6\u95f4\u8d85\u8fc7\u4e94\u5206\u949f
                                        • \u786e\u4fdd\u96c6\u7fa4\u5185\u81f3\u5c11\u6709\u4e24\u4e2a\u8282\u70b9\u53ef\u4f9b\u4f7f\u7528\uff0c\u5e76\u4e14\u4e91\u4e3b\u673a\u6ca1\u6709\u6307\u5b9a\u8c03\u5ea6\u8282\u70b9
                                        • \u4e91\u4e3b\u673a\u7684 launcher pod \u5df2\u88ab\u5220\u9664
                                        "},{"location":"admin/virtnest/vm/auto-migrate.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u68c0\u67e5\u4e91\u4e3b\u673a launcher pod \u72b6\u6001\uff1a

                                          kubectl get pod\n

                                          \u67e5\u770b launcher pod \u662f\u5426\u5904\u4e8e Terminating \u72b6\u6001\u3002

                                        2. \u5f3a\u5236\u5220\u9664 launcher pod\uff1a

                                          \u5982\u679c launcher pod \u72b6\u6001\u4e3a Terminating\uff0c\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5f3a\u5236\u5220\u9664\uff1a

                                          kubectl delete <launcher pod> --force\n

                                          \u66ff\u6362 <launcher pod> \u4e3a\u4f60\u7684 launcher pod \u540d\u79f0\u3002

                                        3. \u7b49\u5f85\u91cd\u65b0\u521b\u5efa\u5e76\u68c0\u67e5\u72b6\u6001\uff1a

                                          \u5220\u9664\u540e\uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u91cd\u65b0\u521b\u5efa launcher pod\u3002 \u7b49\u5f85\u5176\u72b6\u6001\u53d8\u4e3a running\uff0c\u7136\u540e\u5237\u65b0\u4e91\u4e3b\u673a\u5217\u8868\uff0c\u89c2\u5bdf\u4e91\u4e3b\u673a\u662f\u5426\u6210\u529f\u8fc1\u79fb\u5230\u65b0\u8282\u70b9\u3002

                                        "},{"location":"admin/virtnest/vm/auto-migrate.html#_4","title":"\u6ce8\u610f\u4e8b\u9879","text":"

                                        \u5982\u679c\u4f7f\u7528 rook-ceph \u4f5c\u4e3a\u5b58\u50a8\uff0c\u9700\u8981\u914d\u7f6e\u4e3a ReadWriteOnce \u6a21\u5f0f\uff1a

                                        1. \u5f3a\u5236\u5220\u9664 pod \u540e\uff0c\u9700\u8981\u7b49\u5f85\u5927\u7ea6\u516d\u5206\u949f\u4ee5\u8ba9 launcher pod \u542f\u52a8\uff0c\u6216\u8005\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u7acb\u5373\u542f\u52a8 pod\uff1a

                                          kubectl get pv | grep <vm name>\nkubectl get VolumeAttachment | grep <pv name>\n

                                          \u66ff\u6362 <vm name> \u548c <pv name> \u4e3a\u4f60\u7684\u4e91\u4e3b\u673a\u540d\u79f0\u548c\u6301\u4e45\u5377\u540d\u79f0\u3002

                                        2. \u7136\u540e\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5220\u9664\u5bf9\u5e94\u7684 VolumeAttachment\uff1a

                                          kubectl delete VolumeAttachment <vm>\n

                                          \u66ff\u6362 <vm> \u4e3a\u4f60\u7684\u4e91\u4e3b\u673a\u540d\u79f0\u3002

                                        "},{"location":"admin/virtnest/vm/clone.html","title":"\u514b\u9686\u4e91\u4e3b\u673a","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u514b\u9686\u4e00\u53f0\u65b0\u7684\u4e91\u4e3b\u673a\u3002

                                        \u7528\u6237\u53ef\u4ee5\u514b\u9686\u4e00\u53f0\u65b0\u7684\u4e91\u4e3b\u673a\uff0c\u514b\u9686\u540e\u7684\u4e91\u4e3b\u673a\u5c06\u5177\u6709\u4e0e\u539f\u59cb\u4e91\u4e3b\u673a\u76f8\u540c\u7684\u64cd\u4f5c\u7cfb\u7edf\u548c\u7cfb\u7edf\u914d\u7f6e\uff0c\u80fd\u591f\u5b9e\u73b0\u5feb\u901f\u90e8\u7f72\u548c\u6269\u5c55\uff0c\u5feb\u901f\u521b\u5efa\u76f8\u4f3c\u914d\u7f6e\u7684\u65b0\u4e91\u4e3b\u673a\uff0c\u800c\u65e0\u9700\u4ece\u5934\u5f00\u59cb\u5b89\u88c5\u3002

                                        "},{"location":"admin/virtnest/vm/clone.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u4f7f\u7528\u514b\u9686\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff08\u548c\u5feb\u7167\u529f\u80fd\u7684\u524d\u63d0\u6761\u4ef6\u4e00\u81f4\uff09\uff1a

                                        • \u53ea\u6709\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u624d\u80fd\u4f7f\u7528\u514b\u9686\u529f\u80fd\u3002
                                        • \u5b89\u88c5 Snapshot CRDs\u3001Snapshot Controller\u3001CSI Driver\u3002 \u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u53ef\u53c2\u8003 CSI Snapshotter\u3002
                                        • \u7b49\u5f85 snapshot-controller \u7ec4\u4ef6\u51c6\u5907\u5c31\u7eea, \u8be5\u7ec4\u4ef6\u4f1a\u76d1\u63a7 VolumeSnapshot \u548c VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                                        • \u7b49\u5f85 CSI Driver \u51c6\u5907\u5c31\u7eea, \u786e\u4fdd csi-snapshotter sidecar \u8dd1\u5728 CSI Driver \u91cc\uff0ccsi-snapshotter sidecar \u4f1a\u76d1\u63a7 VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                                          • \u5982\u5b58\u50a8\u662f Rook-Ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                                          • \u5982\u5b58\u50a8\u662f HwameiStor\uff0c\u53ef\u53c2\u8003 huameistor-snapshot
                                        "},{"location":"admin/virtnest/vm/clone.html#_3","title":"\u514b\u9686\u4e91\u4e3b\u673a","text":"
                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u6267\u884c\u5feb\u7167\u64cd\u4f5c\u3002

                                        2. \u5f39\u51fa\u5f39\u6846\uff0c\u9700\u8981\u586b\u5199\u514b\u9686\u65b0\u7684\u4e91\u4e3b\u673a\u7684\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u514b\u9686\u64cd\u4f5c\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u4e91\u4e3b\u673a\u7684\u5927\u5c0f\u548c\u5b58\u50a8\u6027\u80fd\u3002

                                        3. \u514b\u9686\u6210\u529f\u540e\u53ef\u4ee5\u5728\u4e91\u4e3b\u673a\u5217\u8868\u5185\u67e5\u770b\u5230\u65b0\u7684\u4e91\u4e3b\u673a\uff0c\u65b0\u521b\u5efa\u51fa\u6765\u7684\u4e91\u4e3b\u673a\u5904\u4e8e\u5173\u673a\u72b6\u6001\uff0c\u82e5\u9700\u8981\u5f00\u673a\u9700\u8981\u624b\u52a8\u64cd\u4f5c\u3002

                                        4. \u514b\u9686\u524d\u5efa\u8bae\u5bf9\u539f\u6709\u4e91\u4e3b\u673a\u8fdb\u884c\u5feb\u7167\uff0c\u5982\u679c\u514b\u9686\u8fc7\u7a0b\u4e2d\u9047\u5230\u95ee\u9898\uff0c\u8bf7\u68c0\u67e5\u5148\u51b3\u6761\u4ef6\u662f\u5426\u6ee1\u8db3\uff0c\u5e76\u5c1d\u8bd5\u91cd\u65b0\u6267\u884c\u514b\u9686\u64cd\u4f5c\u3002

                                        "},{"location":"admin/virtnest/vm/create-secret.html","title":"\u521b\u5efa\u5bc6\u94a5","text":"

                                        \u5f53\u521b\u5efa\u4e91\u4e3b\u673a\u4f7f\u7528\u5bf9\u8c61\u5b58\u50a8\uff08S3\uff09\u4f5c\u4e3a\u955c\u50cf\u6765\u6e90\u65f6\uff0c\u6709\u65f6\u5019\u9700\u8981\u586b\u5199\u5bc6\u94a5\u6765\u83b7\u53d6\u901a\u8fc7 S3 \u7684\u9a8c\u8bc1\u3002\u4ee5\u4e0b\u5c06\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u7b26\u5408\u4e91\u4e3b\u673a\u8981\u6c42\u7684\u5bc6\u94a5\u3002

                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u96c6\u7fa4\u5217\u8868 \uff0c\u8fdb\u5165\u4e91\u4e3b\u673a\u6240\u5728\u96c6\u7fa4\u8be6\u60c5\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 \uff0c\u9009\u62e9 \u5bc6\u94a5 \uff0c\u70b9\u51fb \u521b\u5efa\u5bc6\u94a5 \u3002

                                        2. \u8fdb\u5165\u521b\u5efa\u9875\u9762\uff0c\u586b\u5199\u5bc6\u94a5\u540d\u79f0\uff0c\u9009\u62e9\u548c\u4e91\u4e3b\u673a\u76f8\u540c\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6ce8\u610f\u9700\u8981\u9009\u62e9 \u9ed8\u8ba4\uff08Opaque\uff09 \u7c7b\u578b\u3002\u5bc6\u94a5\u6570\u636e\u9700\u8981\u9075\u5faa\u4ee5\u4e0b\u539f\u5219

                                          • accessKeyId: \u9700\u8981\u4ee5 Base64 \u7f16\u7801\u65b9\u5f0f\u8868\u793a\u7684\u6570\u636e
                                          • secretKey: \u9700\u8981\u4ee5 Base64 \u7f16\u7801\u65b9\u5f0f\u8868\u793a\u7684\u6570\u636e
                                        3. \u521b\u5efa\u6210\u529f\u540e\u53ef\u4ee5\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\u4f7f\u7528\u6240\u9700\u5bc6\u94a5\uff0c\u6700\u540e\u901a\u8fc7\u9a8c\u8bc1\u3002

                                        "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html","title":"\u4e91\u4e3b\u673a\u8de8\u96c6\u7fa4\u8fc1\u79fb","text":"

                                        \u672c\u529f\u80fd\u6682\u672a\u505a UI \u754c\u9762\u80fd\u529b\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u7684\u64cd\u4f5c\u6b65\u9aa4\u6267\u884c\u3002

                                        "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"
                                        • \u5f53\u539f\u96c6\u7fa4\u53d1\u751f\u6545\u969c\u6216\u6027\u80fd\u4e0b\u964d\u5bfc\u81f4\u8be5\u96c6\u7fa4\u4e0a\u7684\u4e91\u4e3b\u673a\u65e0\u6cd5\u8bbf\u95ee\u65f6\uff0c\u5c06\u4e91\u4e3b\u673a\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u3002
                                        • \u9700\u8981\u5bf9\u96c6\u7fa4\u8fdb\u884c\u8ba1\u5212\u5185\u7684\u7ef4\u62a4\u6216\u5347\u7ea7\u65f6\uff0c\u5c06\u4e91\u4e3b\u673a\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u3002
                                        • \u5f53\u7279\u5b9a\u5e94\u7528\u7684\u6027\u80fd\u9700\u6c42\u53d8\u5316\uff0c\u9700\u8981\u8c03\u6574\u8d44\u6e90\u5206\u914d\u65f6\uff0c\u8fc1\u79fb\u4e91\u4e3b\u673a\u5230\u5176\u4ed6\u7684\u96c6\u7fa4\u4e0a\u4ee5\u5339\u914d\u66f4\u5408\u9002\u7684\u8d44\u6e90\u914d\u7f6e\u3002
                                        "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html#_3","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5b9e\u73b0\u4e91\u4e3b\u673a\u8de8\u96c6\u7fa4\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u96c6\u7fa4\u7f51\u7edc\u4e92\u901a\uff1a\u786e\u4fdd\u539f\u6709\u96c6\u7fa4\u4e0e\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u4e4b\u95f4\u7684\u7f51\u7edc\u662f\u4e92\u901a\u7684
                                        • \u76f8\u540c\u5b58\u50a8\u7c7b\u578b\uff1a\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u9700\u652f\u6301\u4e0e\u539f\u6709\u96c6\u7fa4\u76f8\u540c\u7684\u5b58\u50a8\u7c7b\u578b\uff08\u4f8b\u5982\uff0c\u5982\u679c\u5bfc\u51fa\u96c6\u7fa4\u4f7f\u7528 rook-ceph-block \u7c7b\u578b\u7684 StorageClass\uff0c\u5219\u5bfc\u5165\u96c6\u7fa4\u4e5f\u5fc5\u987b\u652f\u6301\u6b64\u7c7b\u578b\uff09\u3002
                                        • \u5728\u539f\u6709\u96c6\u7fa4\u7684 KubeVirt \u4e2d\u5f00\u542f VMExport Feature Gate\u3002
                                        "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html#vmexport-feature-gate","title":"\u5f00\u542f VMExport Feature Gate","text":"

                                        \u6fc0\u6d3b VMExport Feature Gate\uff0c\u5728\u539f\u6709\u96c6\u7fa4\u5185\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c \u53ef\u53c2\u8003How to activate a feature gate

                                        kubectl edit kubevirt kubevirt -n virtnest-system\n

                                        \u8fd9\u6761\u547d\u4ee4\u5c06\u4fee\u6539 featureGates \uff0c\u589e\u52a0 VMExport \u3002

                                        apiVersion: kubevirt.io/v1\nkind: KubeVirt\nmetadata:\n  name: kubevirt\n  namespace: virtnest-system\nspec:\n  configuration:\n    developerConfiguration:\n      featureGates:\n        - DataVolumes\n        - LiveMigration\n        - VMExport\n
                                        "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html#ingress","title":"\u914d\u7f6e\u539f\u6709\u96c6\u7fa4\u7684 Ingress","text":"

                                        \u4ee5 Nginx Ingress \u4e3a\u4f8b\uff0c\u914d\u7f6e Ingress \u4ee5\u6307\u5411 virt-exportproxy Service\uff1a

                                        apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n  name: ingress-vm-export\n  namespace: virtnest-system\nspec:\n  tls:\n    - hosts:\n        - upgrade-test.com\n      secretName: nginx-tls\n  rules:\n    - host: upgrade-test.com\n      http:\n        paths:\n          - path: /\n            pathType: Prefix\n            backend:\n              service:\n                name: virt-exportproxy\n                port:\n                  number: 8443\n  ingressClassName: nginx\n
                                        "},{"location":"admin/virtnest/vm/cross-cluster-migrate.html#_4","title":"\u8fc1\u79fb\u6b65\u9aa4","text":"
                                        1. \u521b\u5efa VirtualMachineExport CR

                                          • \u5982\u679c \u4e91\u4e3b\u673a\u5173\u673a\u72b6\u6001 \u4e0b\u8fdb\u884c\u8fc1\u79fb\uff08\u51b7\u8fc1\u79fb\uff09\uff1a

                                            apiVersion: v1\nkind: Secret\nmetadata:\n  name: example-token # \u5bfc\u51fa\u4e91\u4e3b\u673a\u6240\u7528 token\n  namespace: default # \u4e91\u4e3b\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nstringData:\n  token: 1234567890ab # \u5bfc\u51fa\u4f7f\u7528\u7684 token,\u53ef\u4fee\u6539\n\n---\napiVersion: export.kubevirt.io/v1alpha1\nkind: VirtualMachineExport\nmetadata:\n  name: example-export # \u5bfc\u51fa\u540d\u79f0, \u53ef\u81ea\u884c\u4fee\u6539\n  namespace: default # \u4e91\u4e3b\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nspec:\n  tokenSecretRef: example-token # \u548c\u4e0a\u9762\u521b\u5efa\u7684token\u540d\u79f0\u4fdd\u6301\u4e00\u81f4\n  source:\n    apiGroup: \"kubevirt.io\"\n    kind: VirtualMachine\n    name: testvm # \u4e91\u4e3b\u673a\u540d\u79f0\n
                                          • \u5982\u679c\u8981\u5728 \u4e91\u4e3b\u673a\u4e0d\u5173\u673a \u7684\u72b6\u6001\u4e0b\uff0c\u4f7f\u7528\u4e91\u4e3b\u673a\u5feb\u7167\u8fdb\u884c\u8fc1\u79fb\uff08\u70ed\u8fc1\u79fb\uff09\uff1a

                                            apiVersion: v1\nkind: Secret\nmetadata:\n  name: example-token # \u5bfc\u51fa\u4e91\u4e3b\u673a\u6240\u7528 token\n  namespace: default # \u4e91\u4e3b\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nstringData:\n  token: 1234567890ab # \u5bfc\u51fa\u4f7f\u7528\u7684 token ,\u53ef\u4fee\u6539\n\n---\napiVersion: export.kubevirt.io/v1alpha1\nkind: VirtualMachineExport\nmetadata:\n  name: export-snapshot # \u5bfc\u51fa\u540d\u79f0, \u53ef\u81ea\u884c\u4fee\u6539\n  namespace: default # \u4e91\u4e3b\u673a\u6240\u5728\u547d\u540d\u7a7a\u95f4\nspec:\n  tokenSecretRef: export-token # \u548c\u4e0a\u9762\u521b\u5efa\u7684token\u540d\u79f0\u4fdd\u6301\u4e00\u81f4\n  source:\n    apiGroup: \"snapshot.kubevirt.io\"\n    kind: VirtualMachineSnapshot\n    name: export-snap-202407191524 # \u5bf9\u5e94\u7684\u4e91\u4e3b\u673a\u5feb\u7167\u540d\u79f0\n
                                        2. \u68c0\u67e5 VirtualMachineExport \u662f\u5426\u51c6\u5907\u5c31\u7eea\uff1a

                                          # \u8fd9\u91cc\u7684 example-export \u9700\u8981\u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0\nkubectl get VirtualMachineExport example-export -n default\n\nNAME             SOURCEKIND       SOURCENAME   PHASE\nexample-export   VirtualMachine   testvm       Ready\n
                                        3. \u5f53 VirtualMachineExport \u51c6\u5907\u5c31\u7eea\u540e\uff0c\u5bfc\u51fa\u4e91\u4e3b\u673a YAML\u3002

                                          • \u5982\u679c\u5df2\u5b89\u88c5 virtctl \uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bfc\u51fa\u4e91\u4e3b\u673a\u7684 YAML\uff1a

                                            # \u81ea\u884c\u5c06 example-export\u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0\n# \u81ea\u884c\u901a\u8fc7 -n \u6307\u5b9a\u547d\u540d\u7a7a\u95f4\nvirtctl vmexport download example-export --manifest --include-secret --output=manifest.yaml\n
                                          • \u5982\u679c\u6ca1\u6709\u5b89\u88c5 virtctl \uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bfc\u51fa\u4e91\u4e3b\u673a YAML\uff1a

                                            # \u81ea\u884c\u66ff\u6362 example-export \u66ff\u6362\u4e3a\u521b\u5efa\u7684 VirtualMachineExport \u540d\u79f0 \u548c\u547d\u540d\u7a7a\u95f4\nmanifesturl=$(kubectl get VirtualMachineExport example-export -n default -o=jsonpath='{.status.links.internal.manifests[0].url}')\nsecreturl=$(kubectl get VirtualMachineExport example-export -n default -o=jsonpath='{.status.links.internal.manifests[1].url}')\n# \u81ea\u884c\u66ff\u6362 secert \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\ntoken=$(kubectl get secret example-token -n default -o=jsonpath='{.data.token}' | base64 -d)\n\ncurl -H \"Accept: application/yaml\" -H \"x-kubevirt-export-token: $token\"  --insecure  $secreturl > manifest.yaml\ncurl -H \"Accept: application/yaml\" -H \"x-kubevirt-export-token: $token\"  --insecure  $manifesturl >> manifest.yaml\n
                                        4. \u5bfc\u5165\u4e91\u4e3b\u673a

                                          \u5c06\u5bfc\u51fa\u7684 manifest.yaml \u590d\u5236\u5230\u76ee\u6807\u8fc1\u79fb\u96c6\u7fa4\u5e76\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff08\u5982\u679c\u547d\u540d\u7a7a\u95f4\u4e0d\u5b58\u5728\u5219\u9700\u8981\u63d0\u524d\u521b\u5efa\uff09\uff1a

                                          kubectl apply -f manifest.yaml\n
                                          \u521b\u5efa\u6210\u529f\u540e\uff0c\u91cd\u542f\u4e91\u4e3b\u673a\uff0c\u4e91\u4e3b\u673a\u6210\u529f\u8fd0\u884c\u540e\uff0c\u5728\u539f\u6709\u96c6\u7fa4\u5185\u5220\u9664\u539f\u4e91\u4e3b\u673a\uff08\u4e91\u4e3b\u673a\u672a\u542f\u52a8\u6210\u529f\u65f6\uff0c\u8bf7\u52ff\u5220\u9664\u539f\u4e91\u4e3b\u673a\uff09\u3002

                                        "},{"location":"admin/virtnest/vm/health-check.html","title":"\u5065\u5eb7\u68c0\u67e5","text":"

                                        \u5f53\u914d\u7f6e\u4e91\u4e3b\u673a\u7684\u5b58\u6d3b\uff08Liveness\uff09\u548c\u5c31\u7eea\uff08Readiness\uff09\u63a2\u9488\u65f6\uff0c\u4e0e Kubernetes \u7684\u914d\u7f6e\u8fc7\u7a0b\u76f8\u4f3c\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 YAML \u4e3a\u4e91\u4e3b\u673a\u914d\u7f6e\u5065\u5eb7\u68c0\u67e5\u53c2\u6570\u3002

                                        \u4f46\u662f\u9700\u8981\u6ce8\u610f\uff1a\u9700\u8981\u5728\u4e91\u4e3b\u673a\u521b\u5efa\u6210\u529f\u5e76\u4e14\u5904\u4e8e\u5173\u673a\u72b6\u6001\u4e0b\uff0c\u4fee\u6539 YAML \u8fdb\u884c\u914d\u7f6e\u3002

                                        "},{"location":"admin/virtnest/vm/health-check.html#http-liveness-probe","title":"\u914d\u7f6e HTTP Liveness Probe","text":"
                                        1. \u5728 spec.template.spec \u4e2d\u914d\u7f6e livenessProbe.httpGet\u3002
                                        2. \u4fee\u6539 cloudInitNoCloud \u4ee5\u542f\u52a8\u4e00\u4e2a HTTP \u670d\u52a1\u5668\u3002

                                          \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                                          apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      livenessProbe:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        httpGet:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                                        3. \u6839\u636e\u64cd\u4f5c\u7cfb\u7edf\uff08\u5982 Ubuntu/Debian \u6216 CentOS\uff09\uff0cuserData \u7684\u914d\u7f6e\u53ef\u80fd\u6709\u6240\u4e0d\u540c\u3002\u4e3b\u8981\u533a\u522b\uff1a

                                          • \u5305\u7ba1\u7406\u5668\uff1a

                                            Ubuntu/Debian \u4f7f\u7528 apt-get \u4f5c\u4e3a\u5305\u7ba1\u7406\u5668\u3002 CentOS \u4f7f\u7528 yum \u4f5c\u4e3a\u5305\u7ba1\u7406\u5668\u3002

                                          • SSH \u670d\u52a1\u91cd\u542f\u547d\u4ee4\uff1a

                                            Ubuntu/Debian \u4f7f\u7528 systemctl restart ssh.service\u3002 CentOS \u4f7f\u7528 systemctl restart sshd.service\uff08\u6ce8\u610f CentOS 7 \u53ca\u4e4b\u524d\u7248\u672c\u4f7f\u7528 service sshd restart\uff09\u3002

                                          • \u5b89\u88c5\u7684\u8f6f\u4ef6\u5305\uff1a

                                            Ubuntu/Debian \u5b89\u88c5 ncat\u3002 CentOS \u5b89\u88c5 nmap-ncat\uff08\u56e0\u4e3a ncat \u5728 CentOS \u7684\u9ed8\u8ba4\u4ed3\u5e93\u4e2d\u53ef\u80fd\u4e0d\u53ef\u7528\uff09\u3002

                                        "},{"location":"admin/virtnest/vm/health-check.html#tcp-liveness-probe","title":"\u914d\u7f6e TCP Liveness Probe","text":"

                                        \u5728 spec.template.spec \u4e2d\u914d\u7f6e livenessProbe.tcpSocket\u3002

                                        \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                                        apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      livenessProbe:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        tcpSocket:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                                        "},{"location":"admin/virtnest/vm/health-check.html#readiness-probes","title":"\u914d\u7f6e Readiness Probes","text":"

                                        \u5728 spec.template.spec \u4e2d\u914d\u7f6e readiness\u3002

                                        \u70b9\u51fb\u67e5\u770b YAML \u793a\u4f8b\u914d\u7f6e
                                        apiVersion: kubevirt.io/v1\nkind: VirtualMachine\nmetadata:\n  annotations:\n    kubevirt.io/latest-observed-api-version: v1\n    kubevirt.io/storage-observed-api-version: v1\n    virtnest.io/alias-name: ''\n    virtnest.io/image-secret: ''\n    virtnest.io/image-source: docker\n    virtnest.io/os-image: release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  creationTimestamp: '2024-10-15T02:39:45Z'\n  finalizers:\n    - kubevirt.io/virtualMachineControllerFinalize\n  generation: 1\n  labels:\n    virtnest.io/os-family: Ubuntu\n    virtnest.io/os-version: '22.04'\n  name: test-probe\n  namespace: amamba-team\n  resourceVersion: '254032135'\n  uid: 6d92779d-7415-4721-8c7b-a2dde163d758\nspec:\n  dataVolumeTemplates:\n    - metadata:\n        creationTimestamp: null\n        name: test-probe-rootdisk\n        namespace: amamba-team\n      spec:\n        pvc:\n          accessModes:\n            - ReadWriteOnce\n          resources:\n            requests:\n              storage: 10Gi\n          storageClassName: hwameistor-storage-lvm-hdd\n        source:\n          registry:\n            url: >-\n          docker://release-ci.daocloud.io/virtnest/system-images/ubuntu-22.04-x86_64:v1\n  runStrategy: Halted\n  template:\n    metadata:\n      creationTimestamp: null\n    spec:\n      architecture: amd64\n      domain:\n        cpu:\n          cores: 1\n          sockets: 1\n          threads: 1\n        devices:\n          disks:\n            - bootOrder: 1\n              disk:\n                bus: virtio\n              name: rootdisk\n            - disk:\n                bus: virtio\n              name: cloudinitdisk\n          interfaces:\n            - masquerade: {}\n              name: default\n        machine:\n          type: q35\n        memory:\n          guest: 2Gi\n        resources:\n          requests:\n            memory: 2Gi\n      networks:\n        - name: default\n          pod: {}\n      readiness:\n        initialDelaySeconds: 120\n        periodSeconds: 20\n        httpGet:\n          port: 1500\n        timeoutSeconds: 10\n      volumes:\n        - dataVolume:\n            name: test-probe-rootdisk\n          name: rootdisk\n        - cloudInitNoCloud:\n            userData: |\n              #cloud-config\n              ssh_pwauth: true\n              disable_root: false\n              chpasswd: {\"list\": \"root:dangerous\", expire: False}\n              runcmd:\n                - sed -i \"/#\\?PermitRootLogin/s/^.*$/PermitRootLogin yes/g\" /etc/ssh/sshd_config\n                - systemctl restart ssh.service\n                - dhclient -r && dhclient\n                - apt-get update && apt-get install -y ncat\n                - [\"systemd-run\", \"--unit=httpserver\", \"ncat\", \"-klp\", \"1500\", \"-e\", '/usr/bin/echo -e HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!']\n          name: cloudinitdisk\n
                                        "},{"location":"admin/virtnest/vm/live-migration.html","title":"\u5b9e\u65f6\u8fc1\u79fb","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5c06\u4e91\u4e3b\u673a\u4ece\u4e00\u4e2a\u8282\u70b9\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\u3002

                                        \u5f53\u8282\u70b9\u7ef4\u62a4\u6216\u8005\u5347\u7ea7\u65f6\uff0c\u7528\u6237\u53ef\u4ee5\u5c06\u6b63\u5728\u8fd0\u884c\u7684\u4e91\u4e3b\u673a\u65e0\u7f1d\u8fc1\u79fb\u5230\u5176\u4ed6\u7684\u8282\u70b9\u4e0a\uff0c\u540c\u65f6\u53ef\u4ee5\u4fdd\u8bc1\u4e1a\u52a1\u7684\u8fde\u7eed\u6027\u548c\u6570\u636e\u7684\u5b89\u5168\u6027\u3002

                                        "},{"location":"admin/virtnest/vm/live-migration.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u4e91\u4e3b\u673a\u5fc5\u987b\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\u624d\u80fd\u8fdb\u884c\u5b9e\u65f6\u8fc1\u79fb\u3002
                                        • \u786e\u4fdd\u60a8\u7684 PVC \u8bbf\u95ee\u6a21\u5f0f\u4e3a ReadWriteMany\uff0c\u4ee5\u4fbf\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\u3002
                                        • \u786e\u4fdd\u96c6\u7fa4\u5185\u81f3\u5c11\u6709\u4e24\u4e2a\u8282\u70b9\u53ef\u4f9b\u4f7f\u7528\u3002
                                        "},{"location":"admin/virtnest/vm/live-migration.html#_3","title":"\u5b9e\u65f6\u8fc1\u79fb","text":"
                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u8fd0\u884c\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u8fdb\u884c\u8fc1\u79fb\u52a8\u4f5c\u3002\u76ee\u524d\u4e91\u4e3b\u673a\u6240\u5728\u8282\u70b9\u4e3a controller-node-3 \u3002

                                        2. \u5f39\u51fa\u5f39\u6846\uff0c\u63d0\u793a\u5728\u5b9e\u65f6\u8fc1\u79fb\u671f\u95f4\uff0c\u6b63\u5728\u8fd0\u884c\u7684\u4e91\u4e3b\u673a\u5b9e\u4f8b\u4f1a\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\uff0c\u53ef\u4ee5\u9009\u62e9\u6307\u5b9a\u8282\u70b9\u8fc1\u79fb\uff0c\u4e5f\u53ef\u4ee5\u968f\u673a\u8fc1\u79fb\uff0c\u8bf7\u786e\u4fdd\u5176\u4ed6\u8282\u70b9\u8d44\u6e90\u5145\u8db3\u3002

                                        3. \u8fc1\u79fb\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u5728\u4e91\u4e3b\u673a\u5217\u8868\u5185\u67e5\u770b\u8282\u70b9\u4fe1\u606f\uff0c\u6b64\u65f6\u8282\u70b9\u8fc1\u79fb\u5230 controller-node-1 \u3002

                                        "},{"location":"admin/virtnest/vm/migratiom.html","title":"\u96c6\u7fa4\u5185\u51b7\u8fc1\u79fb","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5728\u5173\u673a\u72b6\u6001\u4e0b\u5982\u4f55\u5c06\u4e91\u4e3b\u673a\u5728\u540c\u4e00\u96c6\u7fa4\u5185\u4ece\u4e00\u4e2a\u8282\u70b9\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8282\u70b9\u3002

                                        \u51b7\u8fc1\u79fb\u7684\u4e3b\u8981\u7279\u70b9\u662f\uff0c\u4e91\u4e3b\u673a\u5728\u8fc1\u79fb\u8fc7\u7a0b\u4e2d\u4f1a\u5904\u4e8e\u79bb\u7ebf\u72b6\u6001\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5bf9\u4e1a\u52a1\u8fde\u7eed\u6027\u4ea7\u751f\u5f71\u54cd\u3002\u56e0\u6b64\uff0c \u5728\u5b9e\u65bd\u51b7\u8fc1\u79fb\u65f6\u9700\u8981\u4ed4\u7ec6\u89c4\u5212\u8fc1\u79fb\u65f6\u95f4\u7a97\u53e3\uff0c\u5e76\u8003\u8651\u4e1a\u52a1\u9700\u6c42\u548c\u7cfb\u7edf\u53ef\u7528\u6027\u3002\u901a\u5e38\uff0c\u51b7\u8fc1\u79fb\u9002\u7528\u4e8e\u5bf9\u505c\u673a\u65f6\u95f4\u8981\u6c42\u4e0d\u662f\u975e\u5e38\u4e25\u683c\u7684\u573a\u666f\u3002

                                        "},{"location":"admin/virtnest/vm/migratiom.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u4f7f\u7528\u51b7\u8fc1\u79fb\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u4e91\u4e3b\u673a\u5fc5\u987b\u5904\u4e8e\u5173\u673a\u72b6\u6001\u624d\u80fd\u8fdb\u884c\u51b7\u8fc1\u79fb\u3002
                                        "},{"location":"admin/virtnest/vm/migratiom.html#_3","title":"\u51b7\u8fc1\u79fb","text":"
                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c \u53ef\u4ee5\u5bf9\u5173\u673a\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u8fdb\u884c\u8fc1\u79fb\u52a8\u4f5c\u3002\u4e91\u4e3b\u673a\u5728\u5173\u673a\u72b6\u6001\u4e0b\u65f6\u65e0\u6cd5\u67e5\u770b\u6240\u5728\u8282\u70b9\uff0c\u9700\u8981\u63d0\u524d\u89c4\u5212\u6216\u8005\u5f00\u673a\u67e5\u8be2\u3002

                                          Note

                                          \u5982\u679c\u60a8\u5728\u539f\u59cb\u8282\u70b9\u7684\u5b58\u50a8\u6c60\u4e2d\u4f7f\u7528\u4e86 local-path\uff0c\u8de8\u8282\u70b9\u8fc1\u79fb\u65f6\u53ef\u80fd\u51fa\u73b0\u95ee\u9898\uff0c\u8bf7\u8c28\u614e\u9009\u62e9\u3002

                                        2. \u70b9\u51fb\u8fc1\u79fb\u540e\uff0c\u63d0\u793a\u5728\u8fc1\u79fb\u671f\u95f4\uff0c\u53ef\u4ee5\u9009\u62e9\u6307\u5b9a\u8282\u70b9\u8fc1\u79fb\uff0c\u4e5f\u53ef\u4ee5\u968f\u673a\u8fc1\u79fb\uff0c\u82e5\u9700\u8981\u4fee\u6539\u5b58\u50a8\u6c60\uff0c \u9700\u8981\u786e\u4fdd\u76ee\u6807\u8282\u70b9\u5185\u6709\u53ef\u7528\u5b58\u50a8\u6c60\u3002\u540c\u65f6\u9700\u8981\u76ee\u6807\u8282\u70b9\u8d44\u6e90\u5145\u8db3\uff0c\u8fc1\u79fb\u8fc7\u7a0b\u8017\u8d39\u65f6\u95f4\u8f83\u957f\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002

                                        3. \u8fc1\u79fb\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u6210\u529f\u540e\u9700\u8981\u91cd\u542f\u67e5\u770b\u662f\u5426\u8fc1\u79fb\u6210\u529f\u3002\u672c\u793a\u4f8b\u5df2\u7ecf\u5f00\u673a\u67e5\u770b\u8fc1\u79fb\u6548\u679c\u3002

                                        "},{"location":"admin/virtnest/vm/monitor.html","title":"\u4e91\u4e3b\u673a\u76d1\u63a7","text":"

                                        \u4e91\u4e3b\u673a\u57fa\u4e8e Kubevirt \u5f00\u6e90\u7684 Grafana Dashboard\uff0c\u4e3a\u4e86\u6bcf\u4e00\u4e2a\u4e91\u4e3b\u673a\u751f\u6210\u4e86\u76d1\u63a7\u770b\u677f

                                        \u4e91\u4e3b\u673a\u7684\u76d1\u63a7\u4fe1\u606f\u53ef\u4ee5\u66f4\u597d\u7684\u4e86\u89e3\u4e91\u4e3b\u673a\u7684\u8d44\u6e90\u6d88\u8017\u60c5\u51b5\uff0c\u6bd4\u5982 CPU\u3001\u5185\u5b58\u3001\u5b58\u50a8\u548c\u7f51\u7edc\u7b49\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c \u4ece\u800c\u8fdb\u884c\u8d44\u6e90\u7684\u4f18\u5316\u548c\u89c4\u5212\uff0c\u63d0\u5347\u6574\u4f53\u7684\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                                        "},{"location":"admin/virtnest/vm/monitor.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u67e5\u770b\u4e91\u4e3b\u673a\u76d1\u63a7\u7684\u76f8\u5173\u4fe1\u606f\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5728\u4e91\u4e3b\u673a\u6240\u5728\u7684\u540c\u4e00\u96c6\u7fa4\u5185\u5b89\u88c5 Insight-agent \u7ec4\u4ef6\uff0c\u5e76\u4e14\u4fdd\u8bc1 Insight-agent \u7ec4\u4ef6\u6b63\u5e38\u53ef\u7528\u3002
                                        "},{"location":"admin/virtnest/vm/monitor.html#_3","title":"\u4e91\u4e3b\u673a\u76d1\u63a7","text":"

                                        \u8fdb\u5165\u4e91\u4e3b\u673a\u7684\u8be6\u7ec6\u4fe1\u606f\u5e76\u70b9\u51fb \u6982\u89c8 \uff0c\u5373\u53ef\u67e5\u770b\u4e91\u4e3b\u673a\u7684\u76d1\u63a7\u5185\u5bb9\u3002\u8bf7\u6ce8\u610f\uff0c\u82e5\u672a\u5b89\u88c5 Insight-agent \u7ec4\u4ef6\uff0c\u5219\u65e0\u6cd5\u83b7\u53d6\u76d1\u63a7\u4fe1\u606f\u3002\u4ee5\u4e0b\u662f\u8be6\u7ec6\u4fe1\u606f\uff1a

                                        • CPU \u603b\u91cf\u3001CPU \u4f7f\u7528\u91cf\u3001\u5185\u5b58\u603b\u91cf\u3001\u5185\u5b58\u4f7f\u7528\u91cf\u3002

                                        • CPU \u4f7f\u7528\u7387\uff1a\u6307\u5f53\u524d\u4e91\u4e3b\u673a\u6b63\u5728\u4f7f\u7528\u7684 CPU \u8d44\u6e90\u7684\u767e\u5206\u6bd4\uff1b

                                        • \u5185\u5b58\u4f7f\u7528\u7387\uff1a\u6307\u5f53\u524d\u4e91\u4e3b\u673a\u6b63\u5728\u4f7f\u7528\u7684\u5185\u5b58\u8d44\u6e90\u5360\u603b\u53ef\u7528\u5185\u5b58\u7684\u767e\u5206\u6bd4\u3002

                                        • \u7f51\u7edc\u6d41\u91cf\uff1a\u6307\u4e91\u4e3b\u673a\u5728\u7279\u5b9a\u65f6\u95f4\u6bb5\u5185\u53d1\u9001\u548c\u63a5\u6536\u7684\u7f51\u7edc\u6570\u636e\u91cf\uff1b

                                        • \u7f51\u7edc\u4e22\u5305\u7387\uff1a\u6307\u5728\u6570\u636e\u4f20\u8f93\u8fc7\u7a0b\u4e2d\u4e22\u5931\u7684\u6570\u636e\u5305\u5360\u603b\u53d1\u9001\u6570\u636e\u5305\u6570\u91cf\u7684\u6bd4\u4f8b\u3002

                                        • \u7f51\u7edc\u9519\u8bef\u7387\uff1a\u6307\u5728\u7f51\u7edc\u4f20\u8f93\u8fc7\u7a0b\u4e2d\u53d1\u751f\u7684\u9519\u8bef\u7684\u6bd4\u7387\uff1b

                                        • \u78c1\u76d8\u541e\u5410\uff1a\u6307\u4e91\u4e3b\u673a\u7cfb\u7edf\u5728\u4e00\u5b9a\u65f6\u95f4\u5185\u8bfb\u53d6\u548c\u5199\u5165\u78c1\u76d8\u7684\u901f\u5ea6\u548c\u80fd\u529b\u3002

                                        • IOPS\uff1a\u6307\u7684\u662f\u5728\u4e00\u79d2\u949f\u5185\u4e91\u4e3b\u673a\u7cfb\u7edf\u8fdb\u884c\u7684\u8f93\u5165/\u8f93\u51fa\u64cd\u4f5c\u7684\u6b21\u6570\u3002\u78c1\u76d8\u5ef6\u8fdf\uff1a\u6307\u4e91\u4e3b\u673a\u7cfb\u7edf\u5728\u8fdb\u884c\u78c1\u76d8\u8bfb\u5199\u64cd\u4f5c\u65f6\u6240\u7ecf\u5386\u7684\u65f6\u95f4\u5ef6\u8fdf\u3002

                                        "},{"location":"admin/virtnest/vm/scheduled-snapshot.html","title":"\u5b9a\u65f6\u5feb\u7167","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u4e91\u4e3b\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\u3002

                                        \u7528\u6237\u53ef\u4ee5\u4e3a\u4e91\u4e3b\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\uff0c\u80fd\u591f\u4e3a\u6570\u636e\u63d0\u4f9b\u6301\u7eed\u7684\u4fdd\u62a4\uff0c\u786e\u4fdd\u5728\u53d1\u751f\u6570\u636e\u4e22\u5931\u3001\u635f\u574f\u6216\u5220\u9664\u7684\u60c5\u51b5\u4e0b\u53ef\u4ee5\u8fdb\u884c\u6709\u6548\u7684\u6570\u636e\u6062\u590d\u3002

                                        "},{"location":"admin/virtnest/vm/scheduled-snapshot.html#_2","title":"\u5b9a\u65f6\u5feb\u7167\u6b65\u9aa4","text":"
                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u5728\u5217\u8868\u9875\u9762\uff0c\u9009\u62e9\u76ee\u6807\u4e91\u4e3b\u673a\u6240\u5728\u7684\u96c6\u7fa4\u3002 \u8fdb\u5165\u96c6\u7fa4\u540e\uff0c\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u9009\u62e9 YAML \u521b\u5efa \u5b9a\u65f6\u4efb\u52a1\uff0c\u53c2\u8003\u4ee5\u4e0b YAML \u793a\u4f8b\u53ef\u4e3a\u6307\u5b9a\u4e91\u4e3b\u673a\u5b9a\u65f6\u521b\u5efa\u5feb\u7167\u3002

                                          \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                                          apiVersion: batch/v1\nkind: CronJob\nmetadata:\n  name: xxxxx-xxxxx-cronjob # \u5b9a\u65f6\u4efb\u52a1\u540d\u79f0, \u53ef\u81ea\u5b9a\u4e49\n  namespace: virtnest-system # \u8bf7\u52ff\u4fee\u6539\u6b64namespace\nspec:\n  schedule: \"5 * * * *\" # \u6309\u9700\u4fee\u6539\u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u95f4\u9694\n  concurrencyPolicy: Allow\n  suspend: false\n  successfulJobsHistoryLimit: 10\n  failedJobsHistoryLimit: 3\n  startingDeadlineSeconds: 60\n  jobTemplate:\n    spec:\n      template:\n        metadata:\n          labels:\n            virtnest.io/vm: xxxx # \u4fee\u6539\u4e3a\u9700\u8981\u5feb\u7167\u7684\u4e91\u4e3b\u673a\u540d\u79f0\n            virtnest.io/namespace: xxxx # \u4fee\u6539\u4e3a\u4e91\u4e3b\u673a\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\n        spec:\n          serviceAccountName: kubevirt-operator\n          containers:\n            - name: snapshot-job\n              image: release.daocloud.io/virtnest/tools:v0.1.5 # \u79bb\u7ebf\u73af\u5883\u4e0b,\u4ed3\u5e93\u5730\u5740\u4fee\u6539\u4e3a\u5bf9\u5e94\u706b\u79cd\u96c6\u7fa4\u4ed3\u5e93\u5730\u5740\n              imagePullPolicy: IfNotPresent\n              env:\n                - name: NS\n                  valueFrom:\n                    fieldRef:\n                      fieldPath: metadata.labels['virtnest.io/namespace']\n                - name: VM\n                  valueFrom:\n                    fieldRef:\n                      fieldPath: metadata.labels['virtnest.io/vm']\n              command:\n                - /bin/sh\n                - -c\n                - |\n                  export SUFFIX=$(date +\"%Y%m%d-%H%M%S\")\n                  cat <<EOF | kubectl apply -f -\n                  apiVersion: snapshot.kubevirt.io/v1alpha1\n                  kind: VirtualMachineSnapshot\n                  metadata:\n                    name: $(VM)-snapshot-$SUFFIX\n                    namespace: $(NS)\n                  spec:\n                    source:\n                      apiGroup: kubevirt.io\n                      kind: VirtualMachine\n                      name: $(VM)\n                  EOF\n          restartPolicy: OnFailure\n
                                        2. \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u5e76\u6210\u529f\u8fd0\u884c\u540e\uff0c\u53ef\u70b9\u51fb \u4e91\u4e3b\u673a \u5728\u5217\u8868\u9875\u9762\u9009\u62e9\u76ee\u6807\u4e91\u4e3b\u673a\uff0c\u8fdb\u5165\u8be6\u60c5\u540e\u53ef\u67e5\u770b\u5feb\u7167\u5217\u8868\u3002

                                        "},{"location":"admin/virtnest/vm/snapshot.html","title":"\u5feb\u7167\u7ba1\u7406","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u4e91\u4e3b\u673a\u521b\u5efa\u5feb\u7167\uff0c\u5e76\u4ece\u5feb\u7167\u4e2d\u6062\u590d\u7684\u3002

                                        \u7528\u6237\u53ef\u4ee5\u4e3a\u4e91\u4e3b\u673a\u521b\u5efa\u5feb\u7167\uff0c\u4fdd\u5b58\u4e91\u4e3b\u673a\u5f53\u4e0b\u7684\u72b6\u6001\uff0c\u4e00\u4e2a\u5feb\u7167\u53ef\u4ee5\u652f\u6301\u591a\u6b21\u6062\u590d\uff0c\u6bcf\u6b21\u6062\u590d\u65f6\uff0c \u4e91\u4e3b\u673a\u5c06\u88ab\u8fd8\u539f\u5230\u5feb\u7167\u521b\u5efa\u65f6\u7684\u72b6\u6001\u3002\u901a\u5e38\u53ef\u4ee5\u7528\u4e8e\u5907\u4efd\u3001\u6062\u590d\u3001\u56de\u6eda\u7b49\u573a\u666f\u3002

                                        "},{"location":"admin/virtnest/vm/snapshot.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u4f7f\u7528\u5feb\u7167\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u53ea\u6709\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u624d\u80fd\u4f7f\u7528\u5feb\u7167\u529f\u80fd\u3002
                                        • \u5b89\u88c5 Snapshot CRDs\u3001Snapshot Controller\u3001CSI Driver\u3002 \u5177\u4f53\u5b89\u88c5\u6b65\u9aa4\u53ef\u53c2\u8003 CSI Snapshotter\u3002
                                        • \u7b49\u5f85 snapshot-controller \u7ec4\u4ef6\u51c6\u5907\u5c31\u7eea, \u8be5\u7ec4\u4ef6\u4f1a\u76d1\u63a7 VolumeSnapshot \u548c VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002
                                        • \u7b49\u5f85 CSI Driver \u51c6\u5907\u5c31\u7eea, \u786e\u4fdd csi-snapshotter sidecar \u8dd1\u5728 CSI Driver \u91cc\uff0ccsi-snapshotter sidecar \u4f1a\u76d1\u63a7 VolumeSnapshotContent \u76f8\u5173\u4e8b\u4ef6\uff0c\u5e76\u89e6\u53d1\u76f8\u5173\u64cd\u4f5c\u3002\u5982 POC \u4f7f\u7528\u7684\u5b58\u50a8\u662f rook-ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                                          • \u5982\u5b58\u50a8\u662f Rook-Ceph\uff0c\u53ef\u53c2\u8003 ceph-csi-snapshot
                                          • \u5982\u5b58\u50a8\u662f HwameiStor\uff0c\u53ef\u53c2\u8003 huameistor-snapshot
                                        "},{"location":"admin/virtnest/vm/snapshot.html#_3","title":"\u521b\u5efa\u5feb\u7167","text":"
                                        1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u5bb9\u5668\u7ba1\u7406 \uff0c\u7136\u540e\u70b9\u51fb \u4e91\u4e3b\u673a \uff0c\u8fdb\u5165\u5217\u8868\u9875\u9762\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u975e\u9519\u8bef\u72b6\u6001\u4e0b\u7684\u4e91\u4e3b\u673a\u6267\u884c\u5feb\u7167\u64cd\u4f5c\u3002

                                        2. \u5f39\u51fa\u5f39\u6846\uff0c\u9700\u8981\u586b\u5199\u5feb\u7167\u7684\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u521b\u5efa\u5feb\u7167\u5927\u6982\u9700\u8981\u51e0\u5206\u949f\u7684\u65f6\u95f4\uff0c\u5728\u6b64\u671f\u95f4\u65e0\u6cd5\u5bf9\u4e91\u4e3b\u673a\u505a\u4efb\u4f55\u64cd\u4f5c\u3002

                                        3. \u521b\u5efa\u6210\u529f\u540e\u53ef\u4ee5\u5728\u4e91\u4e3b\u673a\u8be6\u60c5\u5185\u67e5\u770b\u5feb\u7167\u4fe1\u606f\uff0c\u652f\u6301\u7f16\u8f91\u63cf\u8ff0\u3001\u4ece\u5feb\u7167\u4e2d\u6062\u590d\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                                        "},{"location":"admin/virtnest/vm/snapshot.html#_4","title":"\u4ece\u5feb\u7167\u4e2d\u6062\u590d","text":"
                                        1. \u70b9\u51fb \u4ece\u5feb\u7167\u6062\u590d \uff0c\u9700\u8981\u586b\u5199\u4e91\u4e3b\u673a\u6062\u590d\u8bb0\u5f55\u7684\u540d\u79f0\uff0c\u540c\u65f6\u6062\u590d\u64cd\u4f5c\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\u6765\u5b8c\u6210\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u5feb\u7167\u7684\u5927\u5c0f\u548c\u5176\u4ed6\u56e0\u7d20\u3002\u6062\u590d\u6210\u529f\u540e\uff0c\u4e91\u4e3b\u673a\u5c06\u56de\u5230\u5feb\u7167\u521b\u5efa\u65f6\u7684\u72b6\u6001\u3002

                                        2. \u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u4e0b\u62c9\u5feb\u7167\u4fe1\u606f\uff0c\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u5feb\u7167\u7684\u6240\u6709\u6062\u590d\u8bb0\u5f55\uff0c\u5e76\u4e14\u652f\u6301\u5c55\u793a\u5b9a\u4f4d\u6062\u590d\u7684\u4f4d\u7f6e\u3002

                                        "},{"location":"admin/virtnest/vm/vm-network.html","title":"\u4e91\u4e3b\u673a\u7f51\u7edc","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\uff0c\u914d\u7f6e\u7f51\u7edc\u4fe1\u606f\u3002

                                        \u5728\u4e91\u4e3b\u673a\u4e2d\uff0c\u7f51\u7edc\u7ba1\u7406\u662f\u4e00\u4e2a\u5173\u952e\u7684\u90e8\u5206\uff0c\u5b83\u4f7f\u5f97\u6211\u4eec\u80fd\u591f\u5728 Kubernetes \u73af\u5883\u4e2d\u7ba1\u7406\u548c\u914d\u7f6e\u4e91\u4e3b\u673a\u7684\u7f51\u7edc\u8fde\u63a5\uff0c\u53ef\u4ee5\u6839\u636e\u4e0d\u540c\u7684\u9700\u6c42\u548c\u573a\u666f\u6765\u8fdb\u884c\u914d\u7f6e\uff0c\u5b9e\u73b0\u66f4\u7075\u6d3b\u548c\u591a\u6837\u5316\u7684\u7f51\u7edc\u67b6\u6784\u3002

                                        1. \u5355\u7f51\u5361\u573a\u666f\uff1a\u5bf9\u4e8e\u4e00\u4e9b\u7b80\u5355\u7684\u53ea\u9700\u8981\u57fa\u672c\u7f51\u7edc\u8fde\u63a5\u7684\u5e94\u7528\uff0c\u6216\u8005\u5b58\u5728\u8d44\u6e90\u9650\u5236\u7684\u65f6\u5019\uff0c\u4f7f\u7528\u5355\u7f51\u5361\u53ef\u4ee5\u8282\u7ea6\u7f51\u7edc\u8d44\u6e90\uff0c\u5e76\u907f\u514d\u8d44\u6e90\u7684\u6d6a\u8d39\u3002
                                        2. \u591a\u7f51\u5361\u573a\u666f\uff1a\u5f53\u9700\u8981\u5b9e\u73b0\u4e0d\u540c\u7f51\u7edc\u73af\u5883\u4e4b\u95f4\u7684\u5b89\u5168\u9694\u79bb\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528\u591a\u7f51\u5361\u6765\u5212\u5206\u4e0d\u540c\u7684\u7f51\u7edc\u533a\u57df\u3002\u540c\u65f6\u4e5f\u53ef\u4ee5\u5bf9\u63a7\u5236\u548c\u6d41\u91cf\u8fdb\u884c\u7ba1\u7406\u3002
                                        "},{"location":"admin/virtnest/vm/vm-network.html#_2","title":"\u7f51\u7edc\u914d\u7f6e\u524d\u63d0","text":"

                                        \u5728\u4f7f\u7528\u4e91\u4e3b\u673a\u7f51\u7edc\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6839\u636e\u7f51\u7edc\u6a21\u5f0f\u7684\u4e0d\u540c\u914d\u7f6e\u4e0d\u540c\u7684\u4fe1\u606f\uff1a

                                        • \u9009\u62e9 Bridge \u7f51\u7edc\u6a21\u5f0f\u65f6\u9700\u8981\u63d0\u524d\u914d\u7f6e\u4e00\u4e9b\u4fe1\u606f\uff1a

                                          • \u5728\u4e3b\u673a\u8282\u70b9\u4e0a\u5b89\u88c5\u5e76\u8fd0\u884c Open vSwitch, \u53ef\u53c2\u8003\u8fd9\u91cc
                                          • \u5728\u4e3b\u673a\u8282\u70b9\u4e0a\u914d\u7f6e Open vSwitch \u7f51\u6865, \u53ef\u53c2\u8003\u8fd9\u91cc
                                          • \u5b89\u88c5 Spiderpool\uff0c\u53ef\u53c2\u8003\u5b89\u88c5 Spiderpool, Spiderpool \u9ed8\u8ba4\u4f1a\u628a Multus CNI \u548c Ovs CNI \u90fd\u88c5\u4e0a
                                          • \u521b\u5efa ovs \u7c7b\u578b\u7684 Multus CR\uff0c\u53ef\u53c2\u8003\u754c\u9762\u521b\u5efa Multus CR \u6216 YAML \u521b\u5efa Multus CR
                                          • \u521b\u5efa\u5b50\u7f51\u53ca IP \u6c60\uff0c\u53c2\u8003\u521b\u5efa\u5b50\u7f51\u548c IP \u6c60
                                        "},{"location":"admin/virtnest/vm/vm-network.html#_3","title":"\u7f51\u7edc\u914d\u7f6e","text":"
                                        1. \u914d\u7f6e\u4e91\u4e3b\u673a\u7684\u7f51\u7edc\u914d\u7f6e\uff0c\u53ef\u4ee5\u6839\u636e\u8868\u683c\u4fe1\u606f\u6309\u9700\u7ec4\u5408\u3002

                                          \u7f51\u7edc\u6a21\u5f0f CNI \u662f\u5426\u5b89\u88c5 Spiderpool \u7f51\u5361\u6a21\u5f0f \u56fa\u5b9a IP \u5b9e\u65f6\u8fc1\u79fb Masquerade\uff08NAT\uff09 Calico \u274c \u5355\u7f51\u5361 \u274c \u2705 Cilium \u274c \u5355\u7f51\u5361 \u274c \u2705 Flannel \u274c \u5355\u7f51\u5361 \u274c \u2705 Bridge\uff08\u6865\u63a5\uff09 OVS \u2705 \u591a\u7f51\u5361 \u2705 \u2705

                                        2. \u7f51\u7edc\u6a21\u5f0f\uff1a\u5206\u4e3a Masquerade\uff08NAT\uff09\u3001Bridge\uff08\u6865\u63a5\uff09\u4e24\u79cd\uff0cBridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u9700\u8981\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\u540e\u65b9\u53ef\u4f7f\u7528\u3002

                                          1. \u9ed8\u8ba4\u9009\u62e9 Masquerade\uff08NAT\uff09\u7684\u7f51\u7edc\u6a21\u5f0f\uff0c\u4f7f\u7528 eth0 \u9ed8\u8ba4\u7f51\u5361\u3002

                                          2. \u82e5\u96c6\u7fa4\u5185\u5b89\u88c5\u4e86 spiderpool \u7ec4\u4ef6\uff0c\u5219\u652f\u6301\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\uff0c\u652f\u6301\u591a\u7f51\u5361\u5f62\u5f0f\u3002

                                            \u9009\u62e9 Bridge \u6a21\u5f0f\u65f6\uff0c\u9700\u8981\u6709\u4e00\u4e9b\u524d\u63d0\u6761\u4ef6

                                        3. \u6dfb\u52a0\u7f51\u5361

                                          1. Bridge\uff08\u6865\u63a5\uff09\u6a21\u5f0f\u4e0b\u652f\u6301\u624b\u52a8\u6dfb\u52a0\u7f51\u5361\u3002\u70b9\u51fb \u6dfb\u52a0\u7f51\u5361 \uff0c\u8fdb\u884c\u7f51\u5361 IP \u6c60\u7684\u914d\u7f6e\u3002\u9009\u62e9\u548c\u7f51\u7edc\u6a21\u5f0f\u5339\u914d\u7684 Multus CR\uff0c\u82e5\u6ca1\u6709\u5219\u9700\u8981\u81ea\u884c\u521b\u5efa\u3002

                                          2. \u82e5\u6253\u5f00 \u4f7f\u7528\u9ed8\u8ba4 IP \u6c60 \u5f00\u5173\uff0c\u5219\u4f7f\u7528 multus CR \u914d\u7f6e\u4e2d\u7684\u9ed8\u8ba4 IP \u6c60\u3002\u82e5\u5173\u95ed\u5f00\u5173\uff0c\u5219\u624b\u52a8\u9009\u62e9 IP \u6c60\u3002

                                        "},{"location":"admin/virtnest/vm/vm-sc.html","title":"\u4e91\u4e3b\u673a\u5b58\u50a8","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\uff0c\u914d\u7f6e\u5b58\u50a8\u4fe1\u606f\u3002

                                        \u5b58\u50a8\u548c\u4e91\u4e3b\u673a\u7684\u529f\u80fd\u606f\u606f\u76f8\u5173\uff0c\u4e3b\u8981\u662f\u901a\u8fc7\u4f7f\u7528 Kubernetes \u7684\u6301\u4e45\u5377\u548c\u5b58\u50a8\u7c7b\uff0c\u63d0\u4f9b\u4e86\u7075\u6d3b\u4e14\u53ef\u6269\u5c55\u7684\u4e91\u4e3b\u673a\u5b58\u50a8\u80fd\u529b\u3002 \u6bd4\u5982\u4e91\u4e3b\u673a\u955c\u50cf\u5b58\u50a8\u5728 PVC \u91cc\uff0c\u652f\u6301\u548c\u5176\u4ed6\u6570\u636e\u4e00\u8d77\u514b\u9686\u3001\u5feb\u7167\u7b49

                                        "},{"location":"admin/virtnest/vm/vm-sc.html#_2","title":"\u90e8\u7f72\u4e0d\u540c\u7684\u5b58\u50a8","text":"

                                        \u5728\u4f7f\u7528\u4e91\u4e3b\u673a\u5b58\u50a8\u529f\u80fd\u4e4b\u524d\uff0c\u9700\u8981\u6839\u636e\u9700\u8981\u90e8\u7f72\u4e0d\u540c\u7684\u5b58\u50a8\uff1a

                                        1. \u53c2\u8003\u90e8\u7f72 hwameistor\uff0c \u6216\u8005\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684 Helm \u6a21\u677f\u4e2d\u5b89\u88c5 hwameistor-operator\u3002
                                        2. \u53c2\u8003\u90e8\u7f72 rook-ceph
                                        3. \u90e8\u7f72 localpath\uff0c\u4f7f\u7528\u547d\u4ee4 kubectl apply -f \u521b\u5efa\u4ee5\u4e0b YAML\uff1a
                                        \u70b9\u51fb\u67e5\u770b\u5b8c\u6574 YAML
                                        ---\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: local-path-storage\n\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  name: local-path-provisioner-service-account\n  namespace: local-path-storage\n\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: local-path-provisioner-role\nrules:\n- apiGroups: [\"\"]\n  resources: [\"nodes\", \"persistentvolumeclaims\", \"configmaps\"]\n  verbs: [\"get\", \"list\", \"watch\"]\n- apiGroups: [\"\"]\n  resources: [\"endpoints\", \"persistentvolumes\", \"pods\"]\n  verbs: [\"*\"]\n- apiGroups: [\"\"]\n  resources: [\"events\"]\n  verbs: [\"create\", \"patch\"]\n- apiGroups: [\"storage.k8s.io\"]\n  resources: [\"storageclasses\"]\n  verbs: [\"get\", \"list\", \"watch\"]\n\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n  name: local-path-provisioner-bind\nroleRef:\n  apiGroup: rbac.authorization.k8s.io\n  kind: ClusterRole\n  name: local-path-provisioner-role\nsubjects:\n- kind: ServiceAccount\n  name: local-path-provisioner-service-account\n  namespace: local-path-storage\n\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: local-path-provisioner\n  namespace: local-path-storage\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: local-path-provisioner\n  template:\n    metadata:\n      labels:\n        app: local-path-provisioner\n    spec:\n      serviceAccountName: local-path-provisioner-service-account\n      containers:\n      - name: local-path-provisioner\n        image: rancher/local-path-provisioner:v0.0.22\n        imagePullPolicy: IfNotPresent\n        command:\n        - local-path-provisioner\n        - --debug\n        - start\n        - --config\n        - /etc/config/config.json\n        volumeMounts:\n        - name: config-volume\n          mountPath: /etc/config/\n        env:\n        - name: POD_NAMESPACE\n          valueFrom:\n            fieldRef:\n              fieldPath: metadata.namespace\n      volumes:\n      - name: config-volume\n        configMap:\n          name: local-path-config\n\n---\napiVersion: storage.k8s.io/v1\nkind: StorageClass\nmetadata:\n  name: local-path\nprovisioner: rancher.io/local-path\nvolumeBindingMode: WaitForFirstConsumer\nreclaimPolicy: Delete\n\n---\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: local-path-config\n  namespace: local-path-storage\ndata:\n  config.json: |-\n    {\n      \"nodePathMap\": [\n        {\n          \"node\": \"DEFAULT_PATH_FOR_NON_LISTED_NODES\",\n          \"paths\": [\"/opt/local-path-provisioner\"]\n        }\n      ]\n    }\n  setup: |-\n    #!/bin/sh\n    set -eu\n    mkdir -m 0777 -p \"$VOL_DIR\"\n  teardown: |-\n    #!/bin/sh\n    set -eu\n    rm -rf \"$VOL_DIR\"\n  helperPod.yaml: |-\n    apiVersion: v1\n    kind: Pod\n    metadata:\n      name: helper-pod\n    spec:\n      containers:\n      - name: helper-pod\n        image: busybox\n        imagePullPolicy: IfNotPresent\n
                                        "},{"location":"admin/virtnest/vm/vm-sc.html#_3","title":"\u4e91\u4e3b\u673a\u5b58\u50a8","text":"
                                        1. \u7cfb\u7edf\u76d8\uff1a\u7cfb\u7edf\u9ed8\u8ba4\u521b\u5efa\u4e00\u4e2a VirtIO \u7c7b\u578b\u7684 rootfs \u7cfb\u7edf\u76d8\uff0c\u7528\u4e8e\u5b58\u653e\u64cd\u4f5c\u7cfb\u7edf\u548c\u6570\u636e\u3002

                                        2. \u6570\u636e\u76d8\uff1a\u6570\u636e\u76d8\u662f\u4e91\u4e3b\u673a\u4e2d\u7528\u4e8e\u5b58\u50a8\u7528\u6237\u6570\u636e\u3001\u5e94\u7528\u7a0b\u5e8f\u6570\u636e\u6216\u5176\u4ed6\u975e\u64cd\u4f5c\u7cfb\u7edf\u76f8\u5173\u6587\u4ef6\u7684\u5b58\u50a8\u8bbe\u5907\u3002\u4e0e\u7cfb\u7edf\u76d8\u76f8\u6bd4\uff0c\u6570\u636e\u76d8\u662f\u975e\u5fc5\u9009\u7684\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u52a8\u6001\u6dfb\u52a0\u6216\u79fb\u9664\u3002\u6570\u636e\u76d8\u7684\u5bb9\u91cf\u4e5f\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u8fdb\u884c\u7075\u6d3b\u914d\u7f6e\u3002

                                          \u9ed8\u8ba4\u4f7f\u7528\u5757\u5b58\u50a8\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u514b\u9686\u548c\u5feb\u7167\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u6c60\u5df2\u7ecf\u521b\u5efa\u4e86\u5bf9\u5e94\u7684 VolumeSnapshotClass\uff0c \u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u793a\u4f8b\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528\u5b9e\u65f6\u8fc1\u79fb\u529f\u80fd\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u5b58\u50a8\u652f\u6301\u5e76\u9009\u62e9\u4e86 ReadWriteMany \u7684\u8bbf\u95ee\u6a21\u5f0f \u3002

                                          \u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5b58\u50a8\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u4e0d\u4f1a\u81ea\u52a8\u521b\u5efa\u8fd9\u6837\u7684 VolumeSnapshotClass\uff0c\u56e0\u6b64\u60a8\u9700\u8981\u624b\u52a8\u521b\u5efa VolumeSnapshotClass\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a HwameiStor \u521b\u5efa VolumeSnapshotClass \u7684\u793a\u4f8b\uff1a

                                          kind: VolumeSnapshotClass\napiVersion: snapshot.storage.k8s.io/v1\nmetadata:\n  name: hwameistor-storage-lvm-snapshot\n  annotations:\n    snapshot.storage.kubernetes.io/is-default-class: \"true\"\nparameters:\n  snapsize: \"1073741824\"\ndriver: lvm.hwameistor.io\ndeletionPolicy: Delete\n
                                          • \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u68c0\u67e5 VolumeSnapshotClass \u662f\u5426\u521b\u5efa\u6210\u529f\u3002

                                            kubectl get VolumeSnapshotClass\n
                                          • \u67e5\u770b\u5df2\u521b\u5efa\u7684 Snapshotclass\uff0c\u5e76\u4e14\u786e\u8ba4 Provisioner \u5c5e\u6027\u540c\u5b58\u50a8\u6c60\u4e2d\u7684 Driver \u5c5e\u6027\u4e00\u81f4\u3002

                                        "},{"location":"admin/virtnest/vm-image/index.html","title":"\u6784\u5efa\u4e91\u4e3b\u673a\u955c\u50cf","text":"

                                        \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa\u9700\u8981\u7684\u4e91\u4e3b\u673a\u955c\u50cf\u3002

                                        \u4e91\u4e3b\u673a\u955c\u50cf\u5176\u5b9e\u5c31\u662f\u526f\u672c\u6587\u4ef6\uff0c\u662f\u5b89\u88c5\u6709\u64cd\u4f5c\u7cfb\u7edf\u7684\u4e00\u4e2a\u78c1\u76d8\u5206\u533a\u3002\u5e38\u89c1\u7684\u955c\u50cf\u6587\u4ef6\u683c\u5f0f\u5305\u62ec raw\u3001qcow2\u3001vmdk\u7b49\u3002

                                        "},{"location":"admin/virtnest/vm-image/index.html#_2","title":"\u6784\u5efa\u955c\u50cf","text":"

                                        \u4e0b\u9762\u662f\u6784\u5efa\u4e91\u4e3b\u673a\u955c\u50cf\u7684\u4e00\u4e9b\u8be6\u7ec6\u6b65\u9aa4\uff1a

                                        1. \u4e0b\u8f7d\u7cfb\u7edf\u955c\u50cf

                                          \u5728\u6784\u5efa\u4e91\u4e3b\u673a\u955c\u50cf\u4e4b\u524d\uff0c\u60a8\u9700\u8981\u4e0b\u8f7d\u6240\u9700\u7684\u7cfb\u7edf\u955c\u50cf\u3002\u6211\u4eec\u63a8\u8350\u4f7f\u7528 qcow2\u3001raw \u6216 vmdk \u683c\u5f0f\u7684\u955c\u50cf\u3002\u53ef\u4ee5\u8bbf\u95ee\u4ee5\u4e0b\u94fe\u63a5\u83b7\u53d6 CentOS \u548c Fedora \u7684\u955c\u50cf\uff1a

                                          • CentOS Cloud Images\uff1a\u652f\u6301\u4ece\u5b98\u65b9 CentOS \u9879\u76ee\u6216\u5176\u4ed6\u8d44\u6e90\u4e2d\u83b7\u53d6 CentOS \u955c\u50cf\u3002\u8bf7\u786e\u4fdd\u9009\u62e9\u4e0e\u60a8\u7684\u865a\u62df\u5316\u5e73\u53f0\u517c\u5bb9\u7684\u7248\u672c\u3002
                                          • Fedora Cloud Images\uff1a \u652f\u6301\u4ece\u5b98\u65b9 Fedora \u9879\u76ee\u83b7\u53d6\u955c\u50cf\u3002\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u7248\u672c\u3002
                                        2. \u6784\u5efa Docker \u955c\u50cf\u5e76\u63a8\u9001\u5230\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93

                                          \u5728\u6b64\u6b65\u9aa4\u4e2d\uff0c\u6211\u4eec\u5c06\u4f7f\u7528 Docker \u6784\u5efa\u4e00\u4e2a\u955c\u50cf\uff0c\u5e76\u5c06\u5176\u63a8\u9001\u5230\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u80fd\u591f\u65b9\u4fbf\u5730\u90e8\u7f72\u548c\u4f7f\u7528\u3002

                                          • \u521b\u5efa Dockerfile \u6587\u4ef6

                                            FROM scratch\nADD --chown=107:107 CentOS-7-x86_64-GenericCloud.qcow2 /disk/\n

                                            \u5411\u57fa\u4e8e\u7a7a\u767d\u955c\u50cf\u6784\u5efa\u7684\u955c\u50cf\u4e2d\u6dfb\u52a0\u540d\u4e3a CentOS-7-x86_64-GenericCloud.qcow2 \u7684\u6587\u4ef6\uff0c\u5e76\u5c06\u5176\u653e\u7f6e\u5728\u955c\u50cf\u4e2d\u7684 /disk/ \u76ee\u5f55\u4e0b\u3002\u901a\u8fc7\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u955c\u50cf\u5c31\u5305\u542b\u4e86\u8fd9\u4e2a\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u4e91\u4e3b\u673a\u65f6\u4f7f\u7528\u5b83\u6765\u63d0\u4f9b CentOS 7 x86_64 \u7684\u64cd\u4f5c\u7cfb\u7edf\u73af\u5883\u3002

                                          • \u6784\u5efa\u955c\u50cf

                                            docker build -t release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1 .\n

                                            \u4e0a\u8ff0\u547d\u4ee4\u5c06\u4f7f\u7528 Dockerfile \u4e2d\u7684\u6307\u4ee4\u6784\u5efa\u4e00\u4e2a\u540d\u4e3a release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1 \u7684\u955c\u50cf\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u9879\u76ee\u9700\u6c42\u4fee\u6539\u955c\u50cf\u540d\u79f0\u3002

                                          • \u63a8\u9001\u955c\u50cf\u81f3\u5bb9\u5668\u955c\u50cf\u4ed3\u5e93

                                            \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u6784\u5efa\u597d\u7684\u955c\u50cf\u63a8\u9001\u5230\u540d\u4e3a release-ci.daocloud.io \u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u60a8\u8fd8\u53ef\u4ee5\u6839\u636e\u9700\u8981\u4fee\u6539\u955c\u50cf\u4ed3\u5e93\u7684\u540d\u79f0\u548c\u5730\u5740\u3002

                                            docker push release-ci.daocloud.io/ghippo/kubevirt-demo/centos7:v1\n

                                        \u4ee5\u4e0a\u662f\u6784\u5efa\u4e91\u4e3b\u673a\u955c\u50cf\u7684\u8be6\u7ec6\u6b65\u9aa4\u548c\u8bf4\u660e\u3002\u901a\u8fc7\u6309\u7167\u8fd9\u4e9b\u6b65\u9aa4\u64cd\u4f5c\uff0c\u60a8\u5c06\u80fd\u591f\u6210\u529f\u6784\u5efa\u5e76\u63a8\u9001\u7528\u4e8e\u4e91\u4e3b\u673a\u7684\u955c\u50cf\uff0c\u4ee5\u6ee1\u8db3\u60a8\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                        "},{"location":"end-user/index.html","title":"\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 - \u7ec8\u7aef\u7528\u6237","text":"

                                        \u8fd9\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9762\u5411\u7ec8\u7aef\u7528\u6237\u7684\u4f7f\u7528\u6587\u6863\u3002

                                        • \u7528\u6237\u6ce8\u518c

                                          \u7528\u6237\u6ce8\u518c\u662f\u4f7f\u7528 AI \u7b97\u529b\u5e73\u53f0\u7684\u7b2c\u4e00\u6b65\u3002

                                          • \u7528\u6237\u6ce8\u518c
                                        • \u4e91\u4e3b\u673a

                                          \u4e91\u4e3b\u673a\u662f\u90e8\u7f72\u5728\u4e91\u7aef\u7684\u865a\u62df\u673a\u3002

                                          • \u521b\u5efa\u4e91\u4e3b\u673a
                                          • \u4f7f\u7528\u4e91\u4e3b\u673a
                                        • \u5bb9\u5668\u7ba1\u7406

                                          \u5bb9\u5668\u7ba1\u7406\u662f AI \u7b97\u529b\u4e2d\u5fc3\u7684\u6838\u5fc3\u6a21\u5757\u3002

                                          • \u4e91\u4e0a K8s \u96c6\u7fa4
                                          • \u8282\u70b9\u7ba1\u7406
                                          • \u5de5\u4f5c\u8d1f\u8f7d
                                          • Helm \u5e94\u7528\u548c\u6a21\u677f
                                        • \u7b97\u6cd5\u5f00\u53d1

                                          \u7ba1\u7406\u6570\u636e\u96c6\uff0c\u6267\u884c AI \u8bad\u7ec3\u548c\u63a8\u7406\u4efb\u52a1\u3002

                                          • \u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d
                                          • \u4f7f\u7528 Notebook
                                          • \u521b\u5efa\u8bad\u7ec3\u4efb\u52a1
                                          • \u521b\u5efa\u63a8\u7406\u670d\u52a1
                                        • \u53ef\u89c2\u6d4b\u6027

                                          \u901a\u8fc7\u4eea\u8868\u76d8\u76d1\u63a7\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u51b5\u3002

                                          • \u76d1\u63a7\u96c6\u7fa4/\u8282\u70b9
                                          • \u6307\u6807
                                          • \u65e5\u5fd7
                                          • \u94fe\u8def\u8ffd\u8e2a
                                        • \u4e2a\u4eba\u4e2d\u5fc3

                                          \u5728\u4e2a\u4eba\u4e2d\u5fc3\u8bbe\u7f6e\u5bc6\u7801\u3001\u5bc6\u94a5\u548c\u8bed\u8a00\u3002

                                          • \u5b89\u5168\u8bbe\u7f6e
                                          • \u8bbf\u95ee\u5bc6\u94a5
                                          • \u8bed\u8a00\u8bbe\u7f6e

                                        "},{"location":"end-user/baize/dataset/create-use-delete.html","title":"\u6570\u636e\u96c6\u5217\u8868","text":"

                                        AI Lab \u63d0\u4f9b\u6a21\u578b\u5f00\u53d1\u3001\u8bad\u7ec3\u4ee5\u53ca\u63a8\u7406\u8fc7\u7a0b\u6240\u6709\u9700\u8981\u7684\u6570\u636e\u96c6\u7ba1\u7406\u529f\u80fd\u3002\u76ee\u524d\u652f\u6301\u5c06\u591a\u79cd\u6570\u636e\u6e90\u7edf\u4e00\u63a5\u5165\u80fd\u529b\u3002

                                        \u901a\u8fc7\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5c06\u6570\u636e\u6e90\u63a5\u5165\u5230 AI Lab \u4e2d\uff0c\u5b9e\u73b0\u6570\u636e\u7684\u7edf\u4e00\u7eb3\u7ba1\u3001\u9884\u70ed\u3001\u6570\u636e\u96c6\u7ba1\u7406\u7b49\u529f\u80fd\u3002

                                        "},{"location":"end-user/baize/dataset/create-use-delete.html#_2","title":"\u521b\u5efa\u6570\u636e\u96c6","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u6570\u636e\u7ba1\u7406 -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                                        2. \u9009\u62e9\u6570\u636e\u96c6\u5f52\u5c5e\u7684\u5de5\u4f5c\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4 \u4e0b\u4e00\u6b65 \u3002

                                        3. \u914d\u7f6e\u76ee\u6807\u6570\u636e\u7684\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                          \u76ee\u524d\u652f\u6301\u8fd9\u51e0\u79cd\u6570\u636e\u6e90\uff1a

                                          • GIT\uff1a\u652f\u6301 GitHub\u3001GitLab\u3001Gitee \u7b49\u4ed3\u5e93
                                          • S3\uff1a\u652f\u6301 Amazon \u4e91\u7b49\u5bf9\u8c61\u5b58\u50a8
                                          • HTTP\uff1a\u76f4\u63a5\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684 HTTP \u7f51\u5740
                                          • PVC\uff1a\u652f\u6301\u9884\u5148\u521b\u5efa\u7684 Kubernetes PersistentVolumeClaim
                                          • NFS\uff1a\u652f\u6301 NFS \u5171\u4eab\u5b58\u50a8
                                        4. \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u5c06\u8fd4\u56de\u6570\u636e\u96c6\u5217\u8868\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u6267\u884c\u66f4\u591a\u64cd\u4f5c\u3002

                                        Info

                                        \u7cfb\u7edf\u81ea\u52a8\u4f1a\u5728\u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u7acb\u5373\u8fdb\u884c\u4e00\u6b21\u6027\u7684\u6570\u636e\u9884\u52a0\u8f7d\uff1b\u5728\u9884\u52a0\u8f7d\u5b8c\u6210\u4e4b\u524d\uff0c\u6570\u636e\u96c6\u4e0d\u53ef\u4ee5\u4f7f\u7528\u3002

                                        "},{"location":"end-user/baize/dataset/create-use-delete.html#_3","title":"\u6570\u636e\u96c6\u4f7f\u7528","text":"

                                        \u6570\u636e\u96c6\u521b\u5efa\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u5728\u6a21\u578b\u8bad\u7ec3\u3001\u63a8\u7406\u7b49\u4efb\u52a1\u4e2d\u4f7f\u7528\u3002

                                        "},{"location":"end-user/baize/dataset/create-use-delete.html#notebook","title":"\u5728 Notebook \u4e2d\u4f7f\u7528","text":"

                                        \u5728\u521b\u5efa Notebook \u4e2d\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u6570\u636e\u96c6\uff1b\u4f7f\u7528\u65b9\u5f0f\u5982\u4e0b\uff1a

                                        • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u8bad\u7ec3\u6570\u636e\u6302\u8f7d
                                        • \u4f7f\u7528\u6570\u636e\u96c6\u505a\u4ee3\u7801\u6302\u8f7d

                                        "},{"location":"end-user/baize/dataset/create-use-delete.html#_4","title":"\u5728 \u8bad\u7ec3\u4efb\u52a1 \u4e2d\u4f7f\u7528","text":"
                                        • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u51fa
                                        • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a\u4efb\u52a1\u8f93\u5165
                                        • \u4f7f\u7528\u6570\u636e\u96c6\u6307\u5b9a TensorBoard \u8f93\u51fa
                                        "},{"location":"end-user/baize/dataset/create-use-delete.html#_5","title":"\u5728\u63a8\u7406\u670d\u52a1 \u4e2d\u4f7f\u7528","text":"
                                        • \u4f7f\u7528\u6570\u636e\u96c6\u6302\u8f7d\u6a21\u578b
                                        "},{"location":"end-user/baize/dataset/create-use-delete.html#_6","title":"\u5220\u9664\u6570\u636e\u96c6","text":"

                                        \u5982\u679c\u53d1\u73b0\u6570\u636e\u96c6\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u6570\u636e\u96c6\u5217\u8868\u4e2d\u5220\u9664\u3002

                                        1. \u5728\u6570\u636e\u96c6\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                                        2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u6570\u636e\u96c6\uff0c\u8f93\u5165\u6570\u636e\u96c6\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                                        3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u6570\u636e\u96c6\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                                        Caution

                                        \u6570\u636e\u96c6\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                                        "},{"location":"end-user/baize/dataset/environments.html","title":"\u7ba1\u7406\u73af\u5883","text":"

                                        \u672c\u6587\u8bf4\u660e\u5982\u4f55\u5728 AI Lab \u4e2d\u7ba1\u7406\u4f60\u7684\u73af\u5883\u4f9d\u8d56\u5e93\uff0c\u4ee5\u4e0b\u662f\u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

                                        1. \u73af\u5883\u7ba1\u7406\u6982\u8ff0
                                        2. \u521b\u5efa\u65b0\u73af\u5883
                                        3. \u914d\u7f6e\u73af\u5883
                                        4. \u6545\u969c\u6392\u9664
                                        "},{"location":"end-user/baize/dataset/environments.html#_2","title":"\u73af\u5883\u7ba1\u7406\u6982\u8ff0","text":"

                                        \u4f20\u7edf\u65b9\u5f0f\uff0c\u4e00\u822c\u4f1a\u5c06 Python \u73af\u5883\u4f9d\u8d56\u5728\u955c\u50cf\u4e2d\u6784\u5efa\uff0c\u955c\u50cf\u5e26\u6709 Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7684\u955c\u50cf\uff0c\u7ef4\u62a4\u6210\u672c\u8f83\u9ad8\u4e14\u66f4\u65b0\u4e0d\u65b9\u4fbf\uff0c\u5f80\u5f80\u9700\u8981\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

                                        \u800c\u5728 AI Lab \u4e2d\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7 \u73af\u5883\u7ba1\u7406 \u6a21\u5757\u6765\u7ba1\u7406\u7eaf\u7cb9\u7684\u73af\u5883\u4f9d\u8d56\uff0c\u5c06\u8fd9\u90e8\u5206\u4ece\u955c\u50cf\u4e2d\u89e3\u8026\uff0c\u5e26\u6765\u7684\u4f18\u52bf\u6709\uff1a

                                        • \u4e00\u4efd\u73af\u5883\u591a\u5904\u4f7f\u7528\uff0c\u540c\u65f6\u53ef\u4ee5\u5728 Notebook\u3001\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3001\u4e43\u81f3\u63a8\u7406\u670d\u52a1\u4e2d\u4f7f\u7528\u3002
                                        • \u66f4\u65b0\u4f9d\u8d56\u5305\u66f4\u52a0\u65b9\u4fbf\uff0c\u53ea\u9700\u8981\u66f4\u65b0\u73af\u5883\u4f9d\u8d56\u5373\u53ef\uff0c\u65e0\u9700\u91cd\u65b0\u6784\u5efa\u955c\u50cf\u3002

                                        \u4ee5\u4e0b\u4e3a\u73af\u5883\u7ba1\u7406\u7684\u4e3b\u8981\u7ec4\u6210\u90e8\u5206\uff1a

                                        • \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u64cd\u4f5c\u7684\u96c6\u7fa4\u3002
                                        • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4\u4ee5\u9650\u5b9a\u64cd\u4f5c\u8303\u56f4\u3002
                                        • \u73af\u5883\u5217\u8868 \uff1a\u5c55\u793a\u5f53\u524d\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u73af\u5883\u53ca\u5176\u72b6\u6001\u3002

                                        \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u73af\u5883\u7684\u540d\u79f0 my-environment \u72b6\u6001 \u73af\u5883\u5f53\u524d\u7684\u72b6\u6001\uff08\u6b63\u5e38\u6216\u5931\u8d25\uff09\uff0c\u65b0\u521b\u5efa\u73af\u5883\u6709\u4e00\u4e2a\u9884\u70ed\u8fc7\u7a0b\uff0c\u9884\u70ed\u6210\u529f\u540e\u5373\u53ef\u5728\u5176\u4ed6\u4efb\u52a1\u4e2d\u4f7f\u7528 \u6b63\u5e38 \u521b\u5efa\u65f6\u95f4 \u73af\u5883\u521b\u5efa\u7684\u65f6\u95f4 2023-10-01 10:00:00"},{"location":"end-user/baize/dataset/environments.html#_3","title":"\u521b\u5efa\u65b0\u73af\u5883","text":"

                                        \u5728 \u73af\u5883\u7ba1\u7406 \u754c\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u73af\u5883\u7684\u6d41\u7a0b\u3002

                                        \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c \u540d\u79f0 \u8f93\u5165\u73af\u5883\u7684\u540d\u79f0\uff0c\u957f\u5ea6\u4e3a 2-63 \u4e2a\u5b57\u7b26\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\u3002 my-environment \u90e8\u7f72\u4f4d\u7f6e \u96c6\u7fa4 \uff1a\u9009\u62e9\u9700\u8981\u90e8\u7f72\u7684\u96c6\u7fa4 gpu-cluster \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u547d\u540d\u7a7a\u95f4 default \u5907\u6ce8 \u586b\u5199\u5907\u6ce8\u4fe1\u606f\u3002 \u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u73af\u5883 \u6807\u7b7e \u4e3a\u73af\u5883\u6dfb\u52a0\u6807\u7b7e\u3002 env:test \u6ce8\u89e3 \u4e3a\u73af\u5883\u6dfb\u52a0\u6ce8\u89e3\u3002\u586b\u5199\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u8fdb\u5165\u73af\u5883\u914d\u7f6e\u3002 \u6ce8\u89e3\u793a\u4f8b"},{"location":"end-user/baize/dataset/environments.html#_4","title":"\u914d\u7f6e\u73af\u5883","text":"

                                        \u5728\u73af\u5883\u914d\u7f6e\u6b65\u9aa4\u4e2d\uff0c\u7528\u6237\u9700\u8981\u914d\u7f6e Python \u7248\u672c\u548c\u4f9d\u8d56\u5305\u7ba1\u7406\u5de5\u5177\u3002

                                        \u5b57\u6bb5 \u63cf\u8ff0 \u4e3e\u4f8b\u503c Python \u7248\u672c \u9009\u62e9\u6240\u9700\u7684 Python \u7248\u672c 3.12.3 \u5305\u7ba1\u7406\u5668 \u9009\u62e9\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u53ef\u9009 PIP \u6216 CONDA PIP Environment Data \u5982\u679c\u9009\u62e9 PIP\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 requirements.txt \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 numpy==1.21.0 \u5982\u679c\u9009\u62e9 CONDA\uff1a\u5728\u4e0b\u65b9\u7f16\u8f91\u5668\u4e2d\u8f93\u5165 environment.yaml \u683c\u5f0f\u7684\u4f9d\u8d56\u5305\u5217\u8868\u3002 \u5176\u4ed6\u9009\u9879 pip \u989d\u5916\u7d22\u5f15\u5730\u5740 \uff1a\u914d\u7f6e pip \u989d\u5916\u7684\u7d22\u5f15\u5730\u5740\uff1b\u9002\u7528\u4e8e\u4f01\u4e1a\u5185\u90e8\u6709\u81ea\u5df1\u7684\u79c1\u6709\u4ed3\u5e93\u6216\u8005 PIP \u52a0\u901f\u7ad9\u70b9\u3002 https://pypi.example.com GPU \u914d\u7f6e \uff1a\u542f\u7528\u6216\u7981\u7528 GPU \u914d\u7f6e\uff1b\u90e8\u5206\u6d89\u53ca\u5230 GPU \u7684\u4f9d\u8d56\u5305\u9700\u8981\u5728\u9884\u52a0\u8f7d\u65f6\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u542f\u7528 \u5173\u8054\u5b58\u50a8 \uff1a\u9009\u62e9\u5173\u8054\u7684\u5b58\u50a8\u914d\u7f6e\uff1b\u73af\u5883\u4f9d\u8d56\u5305\u4f1a\u5b58\u50a8\u5728\u5173\u8054\u5b58\u50a8\u4e2d\u3002\u6ce8\u610f\uff1a\u9700\u8981\u4f7f\u7528\u652f\u6301 ReadWriteMany \u7684\u5b58\u50a8\u3002 my-storage-config

                                        \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u521b\u5efa \u6309\u94ae\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa\u5e76\u914d\u7f6e\u65b0\u7684 Python \u73af\u5883\u3002

                                        "},{"location":"end-user/baize/dataset/environments.html#_5","title":"\u6545\u969c\u6392\u9664","text":"
                                        • \u5982\u679c\u73af\u5883\u521b\u5efa\u5931\u8d25\uff1a

                                          • \u68c0\u67e5\u7f51\u7edc\u8fde\u63a5\u662f\u5426\u6b63\u5e38\u3002
                                          • \u786e\u8ba4\u586b\u5199\u7684 Python \u7248\u672c\u548c\u5305\u7ba1\u7406\u5668\u914d\u7f6e\u65e0\u8bef\u3002
                                          • \u786e\u4fdd\u6240\u9009\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u53ef\u7528\u3002
                                        • \u5982\u679c\u4f9d\u8d56\u9884\u70ed\u5931\u8d25\uff1a

                                          • \u68c0\u67e5 requirements.txt \u6216 environment.yaml \u6587\u4ef6\u683c\u5f0f\u662f\u5426\u6b63\u786e\u3002
                                          • \u786e\u8ba4\u4f9d\u8d56\u5305\u540d\u79f0\u548c\u7248\u672c\u662f\u5426\u6b63\u786e\u65e0\u8bef\u3002\u5982\u9047\u5230\u5176\u4ed6\u95ee\u9898\uff0c\u8bf7\u8054\u7cfb\u5e73\u53f0\u7ba1\u7406\u5458\u6216\u67e5\u770b\u5e73\u53f0\u5e2e\u52a9\u6587\u6863\u83b7\u53d6\u66f4\u591a\u652f\u6301\u3002

                                        \u4ee5\u4e0a\u5373\u4e3a\u5728 AI Lab \u4e2d\u7ba1\u7406 Python \u4f9d\u8d56\u5e93\u7684\u57fa\u672c\u64cd\u4f5c\u6b65\u9aa4\u548c\u6ce8\u610f\u4e8b\u9879\u3002

                                        "},{"location":"end-user/baize/inference/models.html","title":"\u4e86\u89e3\u6a21\u578b\u652f\u6301\u60c5\u51b5","text":"

                                        \u968f\u7740 AI Lab \u7684\u5feb\u901f\u8fed\u4ee3\uff0c\u6211\u4eec\u5df2\u7ecf\u652f\u6301\u4e86\u591a\u79cd\u6a21\u578b\u7684\u63a8\u7406\u670d\u52a1\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6240\u652f\u6301\u7684\u6a21\u578b\u4fe1\u606f\u3002

                                        • AI Lab v0.3.0 \u4e0a\u7ebf\u4e86\u6a21\u578b\u63a8\u7406\u670d\u52a1\uff0c\u9488\u5bf9\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u65b9\u4fbf\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528AI Lab \u7684\u63a8\u7406\u670d\u52a1\uff0c\u65e0\u9700\u5173\u5fc3\u6a21\u578b\u7684\u90e8\u7f72\u548c\u7ef4\u62a4\u3002
                                        • AI Lab v0.6.0 \u652f\u6301\u4e86\u5b8c\u6574\u7248\u672c\u7684 vLLM \u63a8\u7406\u80fd\u529b\uff0c\u652f\u6301\u8bf8\u591a\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u5982 LLama\u3001Qwen\u3001ChatGLM \u7b49\u3002

                                        \u60a8\u53ef\u4ee5\u5728 AI Lab \u4e2d\u4f7f\u7528\u7ecf\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9a8c\u8bc1\u8fc7\u7684 GPU \u7c7b\u578b\uff1b \u66f4\u591a\u7ec6\u8282\u53c2\u9605 GPU \u652f\u6301\u77e9\u9635\u3002

                                        "},{"location":"end-user/baize/inference/models.html#triton-inference-server","title":"Triton Inference Server","text":"

                                        \u901a\u8fc7 Triton Inference Server \u53ef\u4ee5\u5f88\u597d\u7684\u652f\u6301\u4f20\u7edf\u7684\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u6211\u4eec\u76ee\u524d\u652f\u6301\u4e3b\u6d41\u7684\u63a8\u7406\u540e\u7aef\u670d\u52a1\uff1a

                                        Backend \u652f\u6301\u6a21\u578b\u683c\u5f0f \u4ecb\u7ecd pytorch TorchScript\u3001PyTorch 2.0 \u683c\u5f0f\u7684\u6a21\u578b triton-inference-server/pytorch_backend tensorflow TensorFlow 2.x triton-inference-server/tensorflow_backend vLLM(Deprecated) \u4e0e vLLM \u4e00\u81f4 \u652f\u6301\u7684\u6a21\u578b\u548c vLLM support Model \u4e00\u81f4

                                        Danger

                                        \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

                                        "},{"location":"end-user/baize/inference/models.html#vllm","title":"vLLM","text":"

                                        \u901a\u8fc7 vLLM \u6211\u4eec\u53ef\u4ee5\u5f88\u5feb\u7684\u4f7f\u7528\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728\u8fd9\u91cc\u770b\u5230\u6211\u4eec\u652f\u6301\u7684\u6a21\u578b\u5217\u8868\uff0c\u8fd9\u901a\u5e38\u548c vLLM Support Models \u4fdd\u6301\u4e00\u81f4\u3002

                                        • HuggingFace \u6a21\u578b\uff1a\u6211\u4eec\u652f\u6301\u4e86 HuggingFace \u7684\u5927\u90e8\u5206\u6a21\u578b\uff0c\u60a8\u53ef\u4ee5\u5728 HuggingFace Model Hub \u67e5\u770b\u66f4\u591a\u6a21\u578b\u3002
                                        • vLLM \u652f\u6301\u6a21\u578b\u5217\u51fa\u4e86\u652f\u6301\u7684\u5927\u8bed\u8a00\u6a21\u578b\u548c\u89c6\u89c9\u8bed\u8a00\u6a21\u578b\u3002
                                        • \u4f7f\u7528 vLLM \u652f\u6301\u6846\u67b6\u7684\u6a21\u578b\u8fdb\u884c\u5fae\u8c03\u540e\u7684\u6a21\u578b\u3002
                                        "},{"location":"end-user/baize/inference/models.html#vllm_1","title":"vLLM \u65b0\u7279\u6027","text":"

                                        \u76ee\u524d\uff0cAI Lab \u8fd8\u652f\u6301\u5728\u4f7f\u7528 vLLM \u4f5c\u4e3a\u63a8\u7406\u5de5\u5177\u65f6\u7684\u4e00\u4e9b\u65b0\u7279\u6027\uff1a

                                        • \u5728\u63a8\u7406\u6a21\u578b\u65f6\uff0c\u542f\u7528 Lora Adapter \u6765\u4f18\u5316\u6a21\u578b\u63a8\u7406\u670d\u52a1
                                        • \u63d0\u4f9b\u517c\u5bb9 OpenAI \u7684 OpenAPI \u63a5\u53e3\uff0c\u65b9\u4fbf\u7528\u6237\u5207\u6362\u5230\u672c\u5730\u63a8\u7406\u670d\u52a1\u65f6\uff0c\u53ef\u4ee5\u4f4e\u6210\u672c\u7684\u5feb\u901f\u5207\u6362
                                        "},{"location":"end-user/baize/inference/models.html#_2","title":"\u4e0b\u4e00\u6b65","text":"
                                        • \u521b\u5efa Triton \u63a8\u7406\u670d\u52a1
                                        • \u521b\u5efa vLLM \u63a8\u7406\u670d\u52a1
                                        "},{"location":"end-user/baize/inference/triton-inference.html","title":"\u521b\u5efa Triton \u63a8\u7406\u670d\u52a1","text":"

                                        AI Lab \u76ee\u524d\u63d0\u4f9b\u4ee5 Triton\u3001vLLM \u4f5c\u4e3a\u63a8\u7406\u6846\u67b6\uff0c\u7528\u6237\u53ea\u9700\u7b80\u5355\u914d\u7f6e\u5373\u53ef\u5feb\u901f\u542f\u52a8\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u63a8\u7406\u670d\u52a1\u3002

                                        Danger

                                        \u4f7f\u7528 Triton \u7684 Backend vLLM \u7684\u65b9\u5f0f\u5df2\u88ab\u5f03\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u652f\u6301 vLLM \u6765\u90e8\u7f72\u60a8\u7684\u5927\u8bed\u8a00\u6a21\u578b\u3002

                                        "},{"location":"end-user/baize/inference/triton-inference.html#triton_1","title":"Triton\u4ecb\u7ecd","text":"

                                        Triton \u662f\u7531 NVIDIA \u5f00\u53d1\u7684\u4e00\u4e2a\u5f00\u6e90\u63a8\u7406\u670d\u52a1\u5668\uff0c\u65e8\u5728\u7b80\u5316\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u90e8\u7f72\u548c\u63a8\u7406\u670d\u52a1\u3002\u5b83\u652f\u6301\u591a\u79cd\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5305\u62ec TensorFlow\u3001PyTorch \u7b49\uff0c\u4f7f\u5f97\u7528\u6237\u80fd\u591f\u8f7b\u677e\u7ba1\u7406\u548c\u90e8\u7f72\u4e0d\u540c\u7c7b\u578b\u7684\u6a21\u578b\u3002

                                        "},{"location":"end-user/baize/inference/triton-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\uff0c\u4e0b\u9762\u4ee5 mnist \u624b\u5199\u6570\u5b57\u8bc6\u522b\u7684 PyTorch \u6a21\u578b\u4e3a\u4f8b\u3002

                                        Note

                                        \u5f85\u63a8\u7406\u7684\u6a21\u578b\u5728\u6570\u636e\u96c6\u4e2d\u9700\u8981\u9075\u4ee5\u4e0b\u76ee\u5f55\u683c\u5f0f\uff1a

                                          <model-repository-name>\n  \u2514\u2500\u2500 <model-name>\n     \u2514\u2500\u2500 <version>\n        \u2514\u2500\u2500 <model-definition-file>\n

                                        \u672c\u4f8b\u4e2d\u7684\u76ee\u5f55\u683c\u5f0f\u4e3a\uff1a

                                            model-repo\n    \u2514\u2500\u2500 mnist-cnn\n        \u2514\u2500\u2500 1\n            \u2514\u2500\u2500 model.pt\n
                                        "},{"location":"end-user/baize/inference/triton-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"

                                        \u76ee\u524d\u5df2\u7ecf\u652f\u6301\u8868\u5355\u521b\u5efa\uff0c\u53ef\u4ee5\u754c\u9762\u5b57\u6bb5\u63d0\u793a\uff0c\u8fdb\u884c\u670d\u52a1\u521b\u5efa\u3002

                                        "},{"location":"end-user/baize/inference/triton-inference.html#_3","title":"\u914d\u7f6e\u6a21\u578b\u8def\u5f84","text":"

                                        \u6a21\u578b\u8def\u5f84 model-repo/mnist-cnn/1/model.pt \u9700\u8981\u548c\u6570\u636e\u96c6\u4e2d\u7684\u6a21\u578b\u76ee\u5f55\u683c\u5f0f\u4e00\u81f4\u3002

                                        "},{"location":"end-user/baize/inference/triton-inference.html#_4","title":"\u6a21\u578b\u914d\u7f6e","text":""},{"location":"end-user/baize/inference/triton-inference.html#_5","title":"\u914d\u7f6e\u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570","text":"

                                        Note

                                        \u8f93\u5165\u548c\u8f93\u51fa\u53c2\u6570\u7684\u7b2c\u4e00\u4e2a\u7ef4\u5ea6\u9ed8\u8ba4\u4e3a batchsize \u7684\u5927\u5c0f\uff0c\u8bbe\u7f6e\u4e3a -1 \u53ef\u4ee5\u6839\u636e\u8f93\u5165\u7684\u63a8\u7406\u6570\u636e\u81ea\u52a8\u8ba1\u7b97 batchsize\u3002\u53c2\u6570\u5176\u4f59\u7ef4\u5ea6\u548c\u6570\u636e\u7c7b\u578b\u9700\u8981\u4e0e\u6a21\u578b\u8f93\u5165\u5339\u914d\u3002

                                        "},{"location":"end-user/baize/inference/triton-inference.html#_6","title":"\u914d\u7f6e\u73af\u5883","text":"

                                        \u53ef\u4ee5\u5bfc\u5165 \u73af\u5883\u7ba1\u7406 \u4e2d\u521b\u5efa\u7684\u73af\u5883\u4f5c\u4e3a\u63a8\u7406\u65f6\u7684\u8fd0\u884c\u73af\u5883\u3002

                                        "},{"location":"end-user/baize/inference/triton-inference.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":""},{"location":"end-user/baize/inference/triton-inference.html#_8","title":"\u914d\u7f6e\u8ba4\u8bc1\u7b56\u7565","text":"

                                        \u652f\u6301 API key \u7684\u8bf7\u6c42\u65b9\u5f0f\u8ba4\u8bc1\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u5b9a\u4e49\u589e\u52a0\u8ba4\u8bc1\u53c2\u6570\u3002

                                        "},{"location":"end-user/baize/inference/triton-inference.html#_9","title":"\u4eb2\u548c\u6027\u8c03\u5ea6","text":"

                                        \u652f\u6301 \u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

                                        "},{"location":"end-user/baize/inference/triton-inference.html#_10","title":"\u8bbf\u95ee","text":""},{"location":"end-user/baize/inference/triton-inference.html#api","title":"API \u8bbf\u95ee","text":"
                                        • Triton \u63d0\u4f9b\u4e86\u4e00\u4e2a\u57fa\u4e8e REST \u7684 API\uff0c\u5141\u8bb8\u5ba2\u6237\u7aef\u901a\u8fc7 HTTP POST \u8bf7\u6c42\u8fdb\u884c\u6a21\u578b\u63a8\u7406\u3002
                                        • \u5ba2\u6237\u7aef\u53ef\u4ee5\u53d1\u9001 JSON \u683c\u5f0f\u7684\u8bf7\u6c42\u4f53\uff0c\u5176\u4e2d\u5305\u542b\u8f93\u5165\u6570\u636e\u548c\u76f8\u5173\u7684\u5143\u6570\u636e\u3002
                                        "},{"location":"end-user/baize/inference/triton-inference.html#http","title":"HTTP \u8bbf\u95ee","text":"
                                        1. \u53d1\u9001 HTTP POST \u8bf7\u6c42\uff1a\u4f7f\u7528\u5de5\u5177\u5982 curl \u6216 HTTP \u5ba2\u6237\u7aef\u5e93\uff08\u5982 Python \u7684 requests \u5e93\uff09\u5411 Triton Server \u53d1\u9001 POST \u8bf7\u6c42\u3002

                                        2. \u8bbe\u7f6e HTTP \u5934\uff1a\u6839\u636e\u7528\u6237\u914d\u7f6e\u9879\u81ea\u52a8\u751f\u6210\u7684\u914d\u7f6e\uff0c\u5305\u542b\u6a21\u578b\u8f93\u5165\u548c\u8f93\u51fa\u7684\u5143\u6570\u636e\u3002

                                        3. \u6784\u5efa\u8bf7\u6c42\u4f53\uff1a\u8bf7\u6c42\u4f53\u901a\u5e38\u5305\u542b\u8981\u8fdb\u884c\u63a8\u7406\u7684\u8f93\u5165\u6570\u636e\uff0c\u4ee5\u53ca\u6a21\u578b\u7279\u5b9a\u7684\u5143\u6570\u636e\u3002

                                        "},{"location":"end-user/baize/inference/triton-inference.html#curl","title":"\u793a\u4f8b curl \u547d\u4ee4","text":"
                                          curl -X POST \"http://<ip>:<port>/v2/models/<inference-name>/infer\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"inputs\": [\n      {\n        \"name\": \"model_input\",            \n        \"shape\": [1, 1, 32, 32],          \n        \"datatype\": \"FP32\",               \n        \"data\": [\n          [0.1234, 0.5678, 0.9101, ... ]  \n        ]\n      }\n    ]\n  }'\n
                                        • <ip> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u5730\u5740\u3002
                                        • <port> \u662f Triton Inference Server \u8fd0\u884c\u7684\u4e3b\u673a\u7aef\u53e3\u53f7\u3002
                                        • <inference-name> \u662f\u6240\u521b\u5efa\u7684\u63a8\u7406\u670d\u52a1\u7684\u540d\u79f0\u3002
                                        • \"name\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 name \u4e00\u81f4\u3002
                                        • \"shape\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 dims \u4e00\u81f4\u3002
                                        • \"datatype\" \u8981\u4e0e\u6a21\u578b\u914d\u7f6e\u4e2d\u7684\u8f93\u5165\u53c2\u6570\u7684 Data Type \u4e00\u81f4\u3002
                                        • \"data\" \u66ff\u6362\u4e3a\u5b9e\u9645\u7684\u63a8\u7406\u6570\u636e\u3002

                                        \u8bf7\u6ce8\u610f\uff0c\u4e0a\u8ff0\u793a\u4f8b\u4ee3\u7801\u9700\u8981\u6839\u636e\u4f60\u7684\u5177\u4f53\u6a21\u578b\u548c\u73af\u5883\u8fdb\u884c\u8c03\u6574\uff0c\u8f93\u5165\u6570\u636e\u7684\u683c\u5f0f\u548c\u5185\u5bb9\u4e5f\u9700\u8981\u7b26\u5408\u6a21\u578b\u7684\u8981\u6c42\u3002

                                        "},{"location":"end-user/baize/inference/vllm-inference.html","title":"\u521b\u5efa vLLM \u63a8\u7406\u670d\u52a1","text":"

                                        AI Lab \u652f\u6301\u4ee5 vLLM \u4f5c\u4e3a\u63a8\u7406\u670d\u52a1\uff0c\u63d0\u4f9b\u5168\u90e8 vLLM \u7684\u80fd\u529b\uff0c\u540c\u65f6\u63d0\u4f9b\u4e86\u5b8c\u5168\u9002\u914d OpenAI \u63a5\u53e3\u5b9a\u4e49\u3002

                                        "},{"location":"end-user/baize/inference/vllm-inference.html#vllm_1","title":"vLLM \u4ecb\u7ecd","text":"

                                        vLLM \u662f\u4e00\u4e2a\u5feb\u901f\u4e14\u6613\u4e8e\u4f7f\u7528\u7684\u7528\u4e8e\u63a8\u7406\u548c\u670d\u52a1\u7684\u5e93\uff0cvLLM \u65e8\u5728\u6781\u5927\u5730\u63d0\u5347\u5b9e\u65f6\u573a\u666f\u4e0b\u7684\u8bed\u8a00\u6a21\u578b\u670d\u52a1\u7684\u541e\u5410\u4e0e\u5185\u5b58\u4f7f\u7528\u6548\u7387\u3002vLLM \u5728\u901f\u5ea6\u3001\u7075\u6d3b\u6027\u65b9\u9762\u5177\u6709\u4ee5\u4e0b\u90e8\u5206\u7279\u70b9\uff1a

                                        • \u8fde\u7eed\u6279\u5904\u7406\u4f20\u5165\u8bf7\u6c42\uff1b
                                        • \u4f7f\u7528 PagedAttention \u9ad8\u6548\u7ba1\u7406\u6ce8\u610f\u529b\u952e\u548c\u503c\u5185\u5b58\uff1b
                                        • \u4e0e\u6d41\u884c\u7684 HuggingFace \u578b\u53f7\u65e0\u7f1d\u96c6\u6210\uff1b
                                        • \u517c\u5bb9 OpenAI \u7684 API \u670d\u52a1\u5668\u3002
                                        "},{"location":"end-user/baize/inference/vllm-inference.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u51c6\u5907\u6a21\u578b\u6570\u636e\uff1a\u5728\u6570\u636e\u96c6\u7ba1\u7406\u4e2d\u7eb3\u7ba1\u6a21\u578b\u4ee3\u7801\uff0c\u5e76\u4fdd\u8bc1\u6570\u636e\u6210\u529f\u9884\u52a0\u8f7d\u3002

                                        "},{"location":"end-user/baize/inference/vllm-inference.html#_2","title":"\u521b\u5efa\u63a8\u7406\u670d\u52a1","text":"
                                        1. \u9009\u62e9 vLLM \u63a8\u7406\u6846\u67b6\uff0c\u5e76\u5728\u9009\u62e9\u6a21\u578b\u6a21\u5757\u9009\u62e9\u63d0\u524d\u521b\u5efa\u597d\u7684\u6a21\u578b\u6570\u636e\u96c6 hdd-models \u5e76\u586b\u5199\u6570\u636e\u96c6\u4e2d\u6a21\u578b\u6240\u5728\u7684\u8def\u5f84\u4fe1\u606f\u3002

                                          \u672c\u6587\u63a8\u7406\u670d\u52a1\u7684\u521b\u5efa\u4f7f\u7528 ChatGLM3 \u6a21\u578b\u3002

                                        2. \u914d\u7f6e\u63a8\u7406\u670d\u52a1\u7684\u8d44\u6e90\uff0c\u5e76\u8c03\u6574\u63a8\u7406\u670d\u52a1\u8fd0\u884c\u7684\u53c2\u6570\u3002

                                          \u53c2\u6570\u540d \u63cf\u8ff0 GPU \u8d44\u6e90 \u6839\u636e\u6a21\u578b\u89c4\u6a21\u4ee5\u53ca\u96c6\u7fa4\u8d44\u6e90\u53ef\u4ee5\u4e3a\u63a8\u7406\u914d\u7f6e GPU \u8d44\u6e90\u3002 \u5141\u8bb8\u8fdc\u7a0b\u4ee3\u7801 \u63a7\u5236 vLLM \u662f\u5426\u4fe1\u4efb\u5e76\u6267\u884c\u6765\u81ea\u8fdc\u7a0b\u6e90\u7684\u4ee3\u7801 LoRA LoRA \u662f\u4e00\u79cd\u9488\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u7684\u53c2\u6570\u9ad8\u6548\u8c03\u6574\u6280\u672f\u3002\u5b83\u901a\u8fc7\u5c06\u539f\u59cb\u6a21\u578b\u53c2\u6570\u77e9\u9635\u5206\u89e3\u4e3a\u4f4e\u79e9\u77e9\u9635\uff0c\u4ece\u800c\u51cf\u5c11\u53c2\u6570\u6570\u91cf\u548c\u8ba1\u7b97\u590d\u6742\u5ea6\u3002 1. --lora-modules\uff1a\u7528\u6765\u6307\u5b9a\u7279\u5b9a\u6a21\u5757\u6216\u5c42\u8fdb\u884c\u4f4e\u79e9\u8fd1\u4f3c 2. max_loras_rank\uff1a\u7528\u6765\u6307\u5b9a LoRA \u6a21\u578b\u4e2d\u6bcf\u4e2a\u9002\u914d\u5c42\u7684\u6700\u5927\u79e9\uff0c\u5bf9\u4e8e\u7b80\u5355\u7684\u4efb\u52a1\uff0c\u53ef\u4ee5\u9009\u62e9\u8f83\u5c0f\u7684\u79e9\u503c\uff0c\u800c\u5bf9\u4e8e\u590d\u6742\u4efb\u52a1\uff0c\u53ef\u80fd\u9700\u8981\u8f83\u5927\u7684\u79e9\u503c\u6765\u4fdd\u8bc1\u6a21\u578b\u6027\u80fd\u3002 3. max_loras\uff1a\u8868\u793a\u6a21\u578b\u4e2d\u53ef\u4ee5\u5305\u542b\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u91cf\uff0c\u6839\u636e\u6a21\u578b\u5927\u5c0f\u3001\u63a8\u7406\u590d\u6742\u5ea6\u7b49\u56e0\u7d20\u81ea\u5b9a 4. max_cpu_loras\uff1a\u7528\u4e8e\u6307\u5b9a\u5728 CPU \u73af\u5883\u4e2d\u53ef\u4ee5\u5904\u7406\u7684 LoRA \u5c42\u7684\u6700\u5927\u6570\u3002 \u5173\u8054\u73af\u5883 \u901a\u8fc7\u9009\u62e9\u73af\u5883\u9884\u5b9a\u4e49\u63a8\u7406\u65f6\u6240\u9700\u7684\u73af\u5883\u4f9d\u8d56\u3002

                                          Info

                                          \u652f\u6301\u914d\u7f6e LoRA \u53c2\u6570\u7684\u6a21\u578b\u53ef\u53c2\u8003 vLLM \u652f\u6301\u7684\u6a21\u578b\u3002

                                        3. \u5728 \u9ad8\u7ea7\u914d\u7f6e \u4e2d\uff0c\u652f\u6301\u6839\u636e GPU \u8d44\u6e90\u7b49\u8282\u70b9\u914d\u7f6e\u5b9e\u73b0\u81ea\u52a8\u5316\u7684\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u540c\u65f6\u4e5f\u65b9\u4fbf\u7528\u6237\u81ea\u5b9a\u4e49\u8c03\u5ea6\u7b56\u7565\u3002

                                        "},{"location":"end-user/baize/inference/vllm-inference.html#_3","title":"\u9a8c\u8bc1\u63a8\u7406\u670d\u52a1","text":"

                                        \u63a8\u7406\u670d\u52a1\u521b\u5efa\u5b8c\u6210\u4e4b\u540e\uff0c\u70b9\u51fb\u63a8\u7406\u670d\u52a1\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\uff0c\u67e5\u770b API \u8c03\u7528\u65b9\u6cd5\u3002\u901a\u8fc7\u4f7f\u7528 Curl\u3001Python\u3001Nodejs \u7b49\u65b9\u5f0f\u9a8c\u8bc1\u6267\u884c\u7ed3\u679c\u3002

                                        \u62f7\u8d1d\u8be6\u60c5\u4e2d\u7684 curl \u547d\u4ee4\uff0c\u5e76\u5728\u7ec8\u7aef\u4e2d\u6267\u884c\u547d\u4ee4\u53d1\u9001\u4e00\u6761\u6a21\u578b\u63a8\u7406\u8bf7\u6c42\uff0c\u9884\u671f\u8f93\u51fa\uff1a

                                        "},{"location":"end-user/baize/jobs/create.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

                                        \u4efb\u52a1\u7ba1\u7406\u662f\u6307\u901a\u8fc7\u4f5c\u4e1a\u8c03\u5ea6\u548c\u7ba1\u63a7\u7ec4\u4ef6\u6765\u521b\u5efa\u548c\u7ba1\u7406\u4efb\u52a1\u751f\u547d\u5468\u671f\u7684\u529f\u80fd\u3002

                                        AI Lab \u91c7\u7528 Kubernetes \u7684 Job \u673a\u5236\u6765\u8c03\u5ea6\u5404\u9879 AI \u63a8\u7406\u3001\u8bad\u7ec3\u4efb\u52a1\u3002

                                        "},{"location":"end-user/baize/jobs/create.html#_1","title":"\u901a\u7528\u6b65\u9aa4","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u4efb\u52a1\u4e2d\u5fc3 -> \u8bad\u7ec3\u4efb\u52a1 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                                        2. \u7cfb\u7edf\u4f1a\u9884\u5148\u586b\u5145\u57fa\u7840\u914d\u7f6e\u6570\u636e\uff0c\u5305\u62ec\u8981\u90e8\u7f72\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u4efb\u52a1\u7c7b\u578b\u3001\u961f\u5217\u3001\u4f18\u5148\u7ea7\u7b49\u3002 \u8c03\u6574\u8fd9\u4e9b\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        3. \u914d\u7f6e\u955c\u50cf\u5730\u5740\u3001\u8fd0\u884c\u53c2\u6570\u4ee5\u53ca\u5173\u8054\u7684\u6570\u636e\u96c6\u3001\u73af\u5883\u548c\u8d44\u6e90\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                        4. \u6309\u9700\u6dfb\u52a0\u6807\u7b7e\u3001\u6ce8\u89e3\u3001\u73af\u5883\u53d8\u91cf\u7b49\u4efb\u52a1\u53c2\u6570\uff0c\u9009\u62e9\u8c03\u5ea6\u7b56\u7565\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                        5. \u4efb\u52a1\u521b\u5efa\u6210\u529f\u540e\uff0c\u4f1a\u6709\u51e0\u79cd\u8fd0\u884c\u72b6\u6001\uff1a

                                          • \u8fd0\u884c\u4e2d
                                          • \u6392\u961f\u4e2d
                                          • \u63d0\u4ea4\u6210\u529f\u3001\u63d0\u4ea4\u5931\u8d25
                                          • \u4efb\u52a1\u6210\u529f\u3001\u4efb\u52a1\u5931\u8d25
                                        "},{"location":"end-user/baize/jobs/create.html#_2","title":"\u521b\u5efa\u7279\u5b9a\u4efb\u52a1","text":"
                                        • \u521b\u5efa Pytorch \u4efb\u52a1
                                        • \u521b\u5efa TensorFlow \u4efb\u52a1
                                        • \u521b\u5efa MPI \u4efb\u52a1
                                        • \u521b\u5efa MXNet \u4efb\u52a1
                                        • \u521b\u5efa PaddlePaddle \u4efb\u52a1
                                        "},{"location":"end-user/baize/jobs/delete.html","title":"\u5220\u9664\u4efb\u52a1\uff08Job\uff09","text":"

                                        \u5982\u679c\u53d1\u73b0\u4efb\u52a1\u5197\u4f59\u3001\u8fc7\u671f\u6216\u56e0\u5176\u4ed6\u7f18\u6545\u4e0d\u518d\u9700\u8981\uff0c\u53ef\u4ee5\u4ece\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u5220\u9664\u3002

                                        1. \u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                                        2. \u5728\u5f39\u7a97\u4e2d\u786e\u8ba4\u8981\u5220\u9664\u7684\u4efb\u52a1\uff0c\u8f93\u5165\u4efb\u52a1\u540d\u79f0\u540e\u70b9\u51fb \u5220\u9664 \u3002

                                        3. \u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\uff0c\u8be5\u4efb\u52a1\u4ece\u5217\u8868\u4e2d\u6d88\u5931\u3002

                                        Caution

                                        \u4efb\u52a1\u4e00\u65e6\u5220\u9664\u5c06\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                                        "},{"location":"end-user/baize/jobs/mpi.html","title":"MPI \u4efb\u52a1","text":"

                                        MPI\uff08Message Passing Interface\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u5e76\u884c\u8ba1\u7b97\u7684\u901a\u4fe1\u534f\u8bae\uff0c\u5b83\u5141\u8bb8\u591a\u4e2a\u8ba1\u7b97\u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u6d88\u606f\u4f20\u9012\u548c\u534f\u4f5c\u3002 MPI \u4efb\u52a1\u662f\u4f7f\u7528 MPI \u534f\u8bae\u8fdb\u884c\u5e76\u884c\u8ba1\u7b97\u7684\u4efb\u52a1\uff0c\u9002\u7528\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u5904\u7406\u7684\u5e94\u7528\u573a\u666f\uff0c\u4f8b\u5982\u5206\u5e03\u5f0f\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

                                        \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 MPI \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MPI \u4efb\u52a1\uff0c\u8fdb\u884c\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u8ba1\u7b97\u3002 \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u4e2d\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002

                                        "},{"location":"end-user/baize/jobs/mpi.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                                        • \u4efb\u52a1\u7c7b\u578b \uff1aMPI\uff0c\u7528\u4e8e\u8fd0\u884c\u5e76\u884c\u8ba1\u7b97\u4efb\u52a1\u3002
                                        • \u8fd0\u884c\u73af\u5883 \uff1a\u9009\u7528\u9884\u88c5\u4e86 MPI \u73af\u5883\u7684\u955c\u50cf\uff0c\u6216\u8005\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                                        • MPIJob \u914d\u7f6e \uff1a\u7406\u89e3\u5e76\u914d\u7f6e MPIJob \u7684\u5404\u9879\u53c2\u6570\uff0c\u5982\u526f\u672c\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
                                        "},{"location":"end-user/baize/jobs/mpi.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                                        \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf\u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002 \u786e\u4fdd\u8fd0\u884c\u73af\u5883\u4e2d\u5305\u542b MPI \u53ca\u76f8\u5173\u5e93\uff0c\u5982 OpenMPI\u3001mpi4py \u7b49\u3002

                                        \u6ce8\u610f \uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u5217\u8868\u3002

                                        "},{"location":"end-user/baize/jobs/mpi.html#mpi_1","title":"\u521b\u5efa MPI \u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/mpi.html#mpi_2","title":"MPI \u4efb\u52a1\u521b\u5efa\u6b65\u9aa4","text":"
                                        1. \u767b\u5f55\u5e73\u53f0 \uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                                        2. \u521b\u5efa\u4efb\u52a1 \uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                                        3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b \uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MPI\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                                        4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f \uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cbenchmarks-mpi\u201d\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                                        5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570 \uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                                        "},{"location":"end-user/baize/jobs/mpi.html#_3","title":"\u8fd0\u884c\u53c2\u6570","text":"
                                        • \u542f\u52a8\u547d\u4ee4 \uff1a\u4f7f\u7528 mpirun\uff0c\u8fd9\u662f\u8fd0\u884c MPI \u7a0b\u5e8f\u7684\u547d\u4ee4\u3002
                                        • \u547d\u4ee4\u53c2\u6570 \uff1a\u8f93\u5165\u60a8\u8981\u8fd0\u884c\u7684 MPI \u7a0b\u5e8f\u7684\u53c2\u6570\u3002

                                        \u793a\u4f8b\uff1a\u8fd0\u884c TensorFlow Benchmarks

                                        \u5728\u672c\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u5c06\u8fd0\u884c\u4e00\u4e2a TensorFlow \u7684\u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\uff0c\u4f7f\u7528 Horovod \u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002 \u9996\u5148\uff0c\u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u4e2d\u5305\u542b\u6240\u9700\u7684\u4f9d\u8d56\u9879\uff0c\u4f8b\u5982 TensorFlow\u3001Horovod\u3001Open MPI \u7b49\u3002

                                        \u955c\u50cf\u9009\u62e9 \uff1a\u4f7f\u7528\u5305\u542b TensorFlow \u548c MPI \u7684\u955c\u50cf\uff0c\u4f8b\u5982 mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\u3002

                                        \u547d\u4ee4\u53c2\u6570 \uff1a

                                        mpirun --allow-run-as-root -np 2 -bind-to none -map-by slot \\\n  -x NCCL_DEBUG=INFO -x LD_LIBRARY_PATH -x PATH \\\n  -mca pml ob1 -mca btl ^openib \\\n  python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \\\n  --model=resnet101 --batch_size=64 --variable_update=horovod\n

                                        \u8bf4\u660e \uff1a

                                        • mpirun\uff1aMPI \u7684\u542f\u52a8\u547d\u4ee4\u3002
                                        • --allow-run-as-root\uff1a\u5141\u8bb8\u4ee5 root \u7528\u6237\u8fd0\u884c\uff08\u5728\u5bb9\u5668\u4e2d\u901a\u5e38\u662f root \u7528\u6237\uff09\u3002
                                        • -np 2\uff1a\u6307\u5b9a\u8fd0\u884c\u7684\u8fdb\u7a0b\u6570\u4e3a 2\u3002
                                        • -bind-to none\uff0c-map-by slot\uff1aMPI \u8fdb\u7a0b\u7ed1\u5b9a\u548c\u6620\u5c04\u7684\u914d\u7f6e\u3002
                                        • -x NCCL_DEBUG=INFO\uff1a\u8bbe\u7f6e NCCL\uff08NVIDIA Collective Communication Library\uff09\u7684\u8c03\u8bd5\u4fe1\u606f\u7ea7\u522b\u3002
                                        • -x LD_LIBRARY_PATH\uff0c-x PATH\uff1a\u5728 MPI \u73af\u5883\u4e2d\u4f20\u9012\u5fc5\u8981\u7684\u73af\u5883\u53d8\u91cf\u3002
                                        • -mca pml ob1 -mca btl ^openib\uff1aMPI \u7684\u914d\u7f6e\u53c2\u6570\uff0c\u6307\u5b9a\u4f20\u8f93\u5c42\u548c\u6d88\u606f\u5c42\u534f\u8bae\u3002
                                        • python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\uff1a\u8fd0\u884c TensorFlow \u57fa\u51c6\u6d4b\u8bd5\u811a\u672c\u3002
                                        • --model=resnet101\uff0c--batch_size=64\uff0c--variable_update=horovod\uff1aTensorFlow \u811a\u672c\u7684\u53c2\u6570\uff0c\u6307\u5b9a\u6a21\u578b\u3001\u6279\u91cf\u5927\u5c0f\u548c\u4f7f\u7528 Horovod \u8fdb\u884c\u53c2\u6570\u66f4\u65b0\u3002
                                        "},{"location":"end-user/baize/jobs/mpi.html#_4","title":"\u8d44\u6e90\u914d\u7f6e","text":"

                                        \u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u4e3a\u6bcf\u4e2a\u8282\u70b9\uff08Launcher \u548c Worker\uff09\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u4f8b\u5982 CPU\u3001\u5185\u5b58\u548c GPU\u3002

                                        \u8d44\u6e90\u793a\u4f8b \uff1a

                                        • Launcher\uff08\u542f\u52a8\u5668\uff09 \uff1a

                                          • \u526f\u672c\u6570 \uff1a1
                                          • \u8d44\u6e90\u8bf7\u6c42 \uff1a
                                            • CPU\uff1a2 \u6838
                                            • \u5185\u5b58\uff1a4 GiB
                                        • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09 \uff1a

                                          • \u526f\u672c\u6570 \uff1a2
                                          • \u8d44\u6e90\u8bf7\u6c42 \uff1a
                                            • CPU\uff1a2 \u6838
                                            • \u5185\u5b58\uff1a4 GiB
                                            • GPU\uff1a\u6839\u636e\u9700\u6c42\u5206\u914d
                                        "},{"location":"end-user/baize/jobs/mpi.html#mpijob","title":"\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b","text":"

                                        \u4ee5\u4e0b\u662f\u5b8c\u6574\u7684 MPIJob \u914d\u7f6e\u793a\u4f8b\uff0c\u4f9b\u60a8\u53c2\u8003\u3002

                                        apiVersion: kubeflow.org/v1\nkind: MPIJob\nmetadata:\n  name: tensorflow-benchmarks\nspec:\n  slotsPerWorker: 1\n  runPolicy:\n    cleanPodPolicy: Running\n  mpiReplicaSpecs:\n    Launcher:\n      replicas: 1\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              command:\n                - mpirun\n                - --allow-run-as-root\n                - -np\n                - \"2\"\n                - -bind-to\n                - none\n                - -map-by\n                - slot\n                - -x\n                - NCCL_DEBUG=INFO\n                - -x\n                - LD_LIBRARY_PATH\n                - -x\n                - PATH\n                - -mca\n                - pml\n                - ob1\n                - -mca\n                - btl\n                - ^openib\n                - python\n                - scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py\n                - --model=resnet101\n                - --batch_size=64\n                - --variable_update=horovod\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 2\n      template:\n        spec:\n          containers:\n            - name: tensorflow-benchmarks\n              image: mai.daocloud.io/docker.io/mpioperator/tensorflow-benchmarks:latest\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpumem: 1k\n                  nvidia.com/vgpu: \"1\"\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

                                        \u914d\u7f6e\u89e3\u6790 \uff1a

                                        • apiVersion \u548c kind\uff1a\u8868\u793a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0cMPIJob \u662f Kubeflow \u5b9a\u4e49\u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u7528\u4e8e\u521b\u5efa MPI \u7c7b\u578b\u7684\u4efb\u52a1\u3002
                                        • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u542b\u4efb\u52a1\u7684\u540d\u79f0\u7b49\u4fe1\u606f\u3002
                                        • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                                          • slotsPerWorker\uff1a\u6bcf\u4e2a Worker \u8282\u70b9\u7684\u69fd\u4f4d\u6570\u91cf\uff0c\u901a\u5e38\u8bbe\u7f6e\u4e3a 1\u3002
                                          • runPolicy\uff1a\u8fd0\u884c\u7b56\u7565\uff0c\u4f8b\u5982\u4efb\u52a1\u5b8c\u6210\u540e\u662f\u5426\u6e05\u7406 Pod\u3002
                                          • mpiReplicaSpecs\uff1aMPI \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                                            • Launcher\uff1a\u542f\u52a8\u5668\uff0c\u8d1f\u8d23\u542f\u52a8 MPI \u4efb\u52a1\u3002
                                              • replicas\uff1a\u526f\u672c\u6570\uff0c\u901a\u5e38\u4e3a 1\u3002
                                              • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u7684\u955c\u50cf\u3001\u547d\u4ee4\u3001\u8d44\u6e90\u7b49\u3002
                                            • Worker\uff1a\u5de5\u4f5c\u8282\u70b9\uff0c\u5b9e\u9645\u6267\u884c\u4efb\u52a1\u7684\u8ba1\u7b97\u8282\u70b9\u3002
                                              • replicas\uff1a\u526f\u672c\u6570\uff0c\u6839\u636e\u5e76\u884c\u9700\u6c42\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 2\u3002
                                              • template\uff1aPod \u6a21\u677f\uff0c\u540c\u6837\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                                        "},{"location":"end-user/baize/jobs/mpi.html#_5","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                                        \u5728\u521b\u5efa MPI \u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mpiReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                                        • \u603b\u526f\u672c\u6570 = Launcher \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
                                        • \u672c\u793a\u4f8b\u4e2d\uff1a

                                          • Launcher \u526f\u672c\u6570\uff1a1
                                          • Worker \u526f\u672c\u6570\uff1a2
                                          • \u603b\u526f\u672c\u6570 \uff1a1 + 2 = 3

                                        \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u60a8\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

                                        "},{"location":"end-user/baize/jobs/mpi.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                                        \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MPI \u4efb\u52a1\u3002

                                        "},{"location":"end-user/baize/jobs/mpi.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                                        \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002 \u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6bcf\u4e2a\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                                        \u793a\u4f8b\u8f93\u51fa\uff1a

                                        TensorFlow:  1.13\nModel:       resnet101\nMode:        training\nBatch size:  64\n...\n\nTotal images/sec: 125.67\n

                                        \u8fd9\u8868\u793a MPI \u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0cTensorFlow \u57fa\u51c6\u6d4b\u8bd5\u7a0b\u5e8f\u5b8c\u6210\u4e86\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002

                                        "},{"location":"end-user/baize/jobs/mpi.html#_8","title":"\u5c0f\u7ed3","text":"

                                        \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c\u4e00\u4e2a MPI \u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MPIJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c \u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                                        \u9644\u5f55 \uff1a

                                        • \u5982\u679c\u60a8\u7684\u8fd0\u884c\u73af\u5883\u672a\u9884\u88c5\u6240\u9700\u7684\u5e93\uff08\u5982 mpi4py\u3001Horovod \u7b49\uff09\uff0c\u8bf7\u5728\u4efb\u52a1\u4e2d\u6dfb\u52a0\u5b89\u88c5\u547d\u4ee4\uff0c\u6216\u8005\u4f7f\u7528\u9884\u88c5\u4e86\u76f8\u5173\u4f9d\u8d56\u7684\u955c\u50cf\u3002
                                        • \u5728\u5b9e\u9645\u5e94\u7528\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u4fee\u6539 MPIJob \u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u66f4\u6539\u955c\u50cf\u3001\u547d\u4ee4\u53c2\u6570\u3001\u8d44\u6e90\u8bf7\u6c42\u7b49\u3002
                                        "},{"location":"end-user/baize/jobs/mxnet.html","title":"MXNet \u4efb\u52a1","text":"

                                        Warning

                                        \u7531\u4e8e Apache MXNet \u9879\u76ee\u5df2\u5b58\u6863\uff0c\u56e0\u6b64 Kubeflow MXJob \u5c06\u5728\u672a\u6765\u7684 Training Operator 1.9 \u7248\u672c\u4e2d\u5f03\u7528\u548c\u5220\u9664\u3002

                                        Apache MXNet \u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u7f16\u7a0b\u8bed\u8a00\u3002MXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bad\u7ec3\uff0c\u5305\u62ec\u5355\u673a\u6a21\u5f0f\u548c\u5206\u5e03\u5f0f\u6a21\u5f0f\u3002\u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 MXNet \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa MXNet \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                                        \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                                        "},{"location":"end-user/baize/jobs/mxnet.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                                        • \u4efb\u52a1\u7c7b\u578b\uff1aMXNet\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
                                        • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b MXNet \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                                        "},{"location":"end-user/baize/jobs/mxnet.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                                        \u6211\u4eec\u4f7f\u7528 release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 MXNet \u53ca\u5176\u76f8\u5173\u4f9d\u8d56\uff0c\u652f\u6301 GPU \u52a0\u901f\u3002

                                        \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                                        "},{"location":"end-user/baize/jobs/mxnet.html#mxnet_1","title":"\u521b\u5efa MXNet \u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/mxnet.html#mxnet_2","title":"MXNet \u5355\u673a\u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/mxnet.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                                        1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                                        2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                                        3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                                        4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                                        5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                                        "},{"location":"end-user/baize/jobs/mxnet.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                                        • \u542f\u52a8\u547d\u4ee4\uff1apython3
                                        • \u547d\u4ee4\u53c2\u6570\uff1a

                                          /mxnet/mxnet/example/gluon/mnist/mnist.py --epochs 10 --cuda\n

                                          \u8bf4\u660e\uff1a

                                          • /mxnet/mxnet/example/gluon/mnist/mnist.py\uff1aMXNet \u63d0\u4f9b\u7684 MNIST \u624b\u5199\u6570\u5b57\u8bc6\u522b\u793a\u4f8b\u811a\u672c\u3002
                                          • --epochs 10\uff1a\u8bbe\u7f6e\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
                                          • --cuda\uff1a\u4f7f\u7528 CUDA \u8fdb\u884c GPU \u52a0\u901f\u3002
                                        "},{"location":"end-user/baize/jobs/mxnet.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                                        • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
                                        • \u8d44\u6e90\u8bf7\u6c42\uff1a
                                          • CPU\uff1a2 \u6838
                                          • \u5185\u5b58\uff1a4 GiB
                                          • GPU\uff1a1 \u5757
                                        "},{"location":"end-user/baize/jobs/mxnet.html#mxjob","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

                                        \u4ee5\u4e0b\u662f\u5355\u673a MXJob \u7684 YAML \u914d\u7f6e\uff1a

                                        apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-single-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/gluon/mnist/mnist.py\",\n                  \"--epochs\",\n                  \"10\",\n                  \"--cuda\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n

                                        \u914d\u7f6e\u89e3\u6790\uff1a

                                        • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f MXJob\u3002
                                        • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u7b49\u4fe1\u606f\u3002
                                        • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                                          • jobMode\uff1a\u8bbe\u7f6e\u4e3a MXTrain\uff0c\u8868\u793a\u8bad\u7ec3\u4efb\u52a1\u3002
                                          • mxReplicaSpecs\uff1aMXNet \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                                            • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
                                              • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\u3002
                                              • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a Never\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u4e0d\u91cd\u542f\u3002
                                              • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                                                • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
                                                  • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
                                                  • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
                                                  • command \u548c args\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                                                  • ports\uff1a\u5bb9\u5668\u7aef\u53e3\u914d\u7f6e\u3002
                                                  • resources\uff1a\u8d44\u6e90\u8bf7\u6c42\u548c\u9650\u5236\u3002
                                        "},{"location":"end-user/baize/jobs/mxnet.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                                        \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5355\u673a\u4efb\u52a1\u3002

                                        "},{"location":"end-user/baize/jobs/mxnet.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                                        \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                                        \u793a\u4f8b\u8f93\u51fa\uff1a

                                        Epoch 1: accuracy=0.95\nEpoch 2: accuracy=0.97\n...\nEpoch 10: accuracy=0.98\nTraining completed.\n

                                        \u8fd9\u8868\u793a MXNet \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                                        "},{"location":"end-user/baize/jobs/mxnet.html#mxnet_3","title":"MXNet \u5206\u5e03\u5f0f\u4efb\u52a1","text":"

                                        \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cMXNet \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

                                        "},{"location":"end-user/baize/jobs/mxnet.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                                        1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
                                        2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                                        3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a MXNet\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                                        4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cMXNet \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                                        5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
                                        "},{"location":"end-user/baize/jobs/mxnet.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
                                        • \u542f\u52a8\u547d\u4ee4\uff1apython3
                                        • \u547d\u4ee4\u53c2\u6570\uff1a

                                          /mxnet/mxnet/example/image-classification/train_mnist.py --num-epochs 10 --num-layers 2 --kv-store dist_device_sync --gpus 0\n

                                          \u8bf4\u660e\uff1a

                                          • /mxnet/mxnet/example/image-classification/train_mnist.py\uff1aMXNet \u63d0\u4f9b\u7684\u56fe\u50cf\u5206\u7c7b\u793a\u4f8b\u811a\u672c\u3002
                                          • --num-epochs 10\uff1a\u8bad\u7ec3\u8f6e\u6570\u4e3a 10\u3002
                                          • --num-layers 2\uff1a\u6a21\u578b\u7684\u5c42\u6570\u4e3a 2\u3002
                                          • --kv-store dist_device_sync\uff1a\u4f7f\u7528\u5206\u5e03\u5f0f\u8bbe\u5907\u540c\u6b65\u6a21\u5f0f\u3002
                                          • --gpus 0\uff1a\u4f7f\u7528 GPU \u8fdb\u884c\u52a0\u901f\u3002
                                        "},{"location":"end-user/baize/jobs/mxnet.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                                        • \u4efb\u52a1\u526f\u672c\u6570\uff1a3\uff08\u5305\u62ec Scheduler\u3001Server \u548c Worker\uff09
                                        • \u5404\u89d2\u8272\u8d44\u6e90\u8bf7\u6c42\uff1a
                                          • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a
                                            • \u526f\u672c\u6570\uff1a1
                                            • \u8d44\u6e90\u8bf7\u6c42\uff1a
                                              • CPU\uff1a2 \u6838
                                              • \u5185\u5b58\uff1a4 GiB
                                              • GPU\uff1a1 \u5757
                                          • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a
                                            • \u526f\u672c\u6570\uff1a1
                                            • \u8d44\u6e90\u8bf7\u6c42\uff1a
                                              • CPU\uff1a2 \u6838
                                              • \u5185\u5b58\uff1a4 GiB
                                              • GPU\uff1a1 \u5757
                                          • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a
                                            • \u526f\u672c\u6570\uff1a1
                                            • \u8d44\u6e90\u8bf7\u6c42\uff1a
                                              • CPU\uff1a2 \u6838
                                              • \u5185\u5b58\uff1a4 GiB
                                              • GPU\uff1a1 \u5757
                                        "},{"location":"end-user/baize/jobs/mxnet.html#mxjob_1","title":"\u5b8c\u6574\u7684 MXJob \u914d\u7f6e\u793a\u4f8b","text":"

                                        \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f MXJob \u7684 YAML \u914d\u7f6e\uff1a

                                        apiVersion: \"kubeflow.org/v1\"\nkind: \"MXJob\"\nmetadata:\n  name: \"mxnet-job\"\nspec:\n  jobMode: MXTrain\n  mxReplicaSpecs:\n    Scheduler:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Server:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n    Worker:\n      replicas: 1\n      restartPolicy: Never\n      template:\n        spec:\n          containers:\n            - name: mxnet\n              image: release-ci.daocloud.io/baize/kubeflow/mxnet-gpu:latest\n              command: [\"python3\"]\n              args:\n                [\n                  \"/mxnet/mxnet/example/image-classification/train_mnist.py\",\n                  \"--num-epochs\",\n                  \"10\",\n                  \"--num-layers\",\n                  \"2\",\n                  \"--kv-store\",\n                  \"dist_device_sync\",\n                  \"--gpus\",\n                  \"0\",\n                ]\n              ports:\n                - containerPort: 9991\n                  name: mxjob-port\n              resources:\n                limits:\n                  cpu: \"2\"\n                  memory: 4Gi\n                  nvidia.com/gpu: 1\n                requests:\n                  cpu: \"2\"\n                  memory: 4Gi\n

                                        \u914d\u7f6e\u89e3\u6790\uff1a

                                        • Scheduler\uff08\u8c03\u5ea6\u5668\uff09\uff1a\u8d1f\u8d23\u534f\u8c03\u96c6\u7fa4\u4e2d\u5404\u8282\u70b9\u7684\u4efb\u52a1\u8c03\u5ea6\u3002
                                        • Server\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\uff1a\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\uff0c\u5b9e\u73b0\u5206\u5e03\u5f0f\u53c2\u6570\u540c\u6b65\u3002
                                        • Worker\uff08\u5de5\u4f5c\u8282\u70b9\uff09\uff1a\u5b9e\u9645\u6267\u884c\u8bad\u7ec3\u4efb\u52a1\u3002
                                        • \u8d44\u6e90\u914d\u7f6e\uff1a\u4e3a\u5404\u89d2\u8272\u5206\u914d\u9002\u5f53\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u4efb\u52a1\u987a\u5229\u8fd0\u884c\u3002
                                        "},{"location":"end-user/baize/jobs/mxnet.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                                        \u5728\u521b\u5efa MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e mxReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                                        • \u603b\u526f\u672c\u6570 = Scheduler \u526f\u672c\u6570 + Server \u526f\u672c\u6570 + Worker \u526f\u672c\u6570
                                        • \u672c\u793a\u4f8b\u4e2d\uff1a
                                          • Scheduler \u526f\u672c\u6570\uff1a1
                                          • Server \u526f\u672c\u6570\uff1a1
                                          • Worker \u526f\u672c\u6570\uff1a1
                                          • \u603b\u526f\u672c\u6570\uff1a1 + 1 + 1 = 3

                                        \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 3\u3002

                                        "},{"location":"end-user/baize/jobs/mxnet.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                                        \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                                        "},{"location":"end-user/baize/jobs/mxnet.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                                        \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u89d2\u8272\uff08Scheduler\u3001Server\u3001Worker\uff09\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                                        \u793a\u4f8b\u8f93\u51fa\uff1a

                                        INFO:root:Epoch[0] Batch [50]     Speed: 1000 samples/sec   accuracy=0.85\nINFO:root:Epoch[0] Batch [100]    Speed: 1200 samples/sec   accuracy=0.87\n...\nINFO:root:Epoch[9] Batch [100]    Speed: 1300 samples/sec   accuracy=0.98\nTraining completed.\n

                                        \u8fd9\u8868\u793a MXNet \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                                        "},{"location":"end-user/baize/jobs/mxnet.html#_14","title":"\u5c0f\u7ed3","text":"

                                        \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c MXNet \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 MXJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                                        "},{"location":"end-user/baize/jobs/mxnet.html#_15","title":"\u9644\u5f55","text":"
                                        • \u6ce8\u610f\u4e8b\u9879\uff1a

                                          • \u786e\u4fdd\u60a8\u4f7f\u7528\u7684\u955c\u50cf\u5305\u542b\u6240\u9700\u7684 MXNet \u7248\u672c\u548c\u4f9d\u8d56\u3002
                                          • \u6839\u636e\u5b9e\u9645\u9700\u6c42\u8c03\u6574\u8d44\u6e90\u914d\u7f6e\uff0c\u907f\u514d\u8d44\u6e90\u4e0d\u8db3\u6216\u6d6a\u8d39\u3002
                                          • \u5982\u9700\u4f7f\u7528\u81ea\u5b9a\u4e49\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u8bf7\u4fee\u6539\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                                        • \u53c2\u8003\u6587\u6863\uff1a

                                          • MXNet \u5b98\u65b9\u6587\u6863
                                          • Kubeflow MXJob \u6307\u5357
                                        "},{"location":"end-user/baize/jobs/paddle.html","title":"PaddlePaddle \u4efb\u52a1","text":"

                                        PaddlePaddle\uff08\u98de\u6868\uff09\u662f\u767e\u5ea6\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u5e73\u53f0\uff0c\u652f\u6301\u4e30\u5bcc\u7684\u795e\u7ecf\u7f51\u7edc\u6a21\u578b\u548c\u5206\u5e03\u5f0f\u8bad\u7ec3\u65b9\u5f0f\u3002PaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u901a\u8fc7\u5355\u673a\u6216\u5206\u5e03\u5f0f\u6a21\u5f0f\u8fdb\u884c\u8bad\u7ec3\u3002\u5728 AI Lab \u5e73\u53f0\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u5bf9 PaddlePaddle \u4efb\u52a1\u7684\u652f\u6301\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa PaddlePaddle \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                                        \u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u60a8\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                                        "},{"location":"end-user/baize/jobs/paddle.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                                        • \u4efb\u52a1\u7c7b\u578b\uff1aPaddlePaddle\uff0c\u652f\u6301\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4e24\u79cd\u6a21\u5f0f\u3002
                                        • \u8fd0\u884c\u73af\u5883\uff1a\u9009\u62e9\u5305\u542b PaddlePaddle \u6846\u67b6\u7684\u955c\u50cf\uff0c\u6216\u5728\u4efb\u52a1\u4e2d\u5b89\u88c5\u5fc5\u8981\u7684\u4f9d\u8d56\u3002
                                        "},{"location":"end-user/baize/jobs/paddle.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                                        \u6211\u4eec\u4f7f\u7528 registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu \u955c\u50cf\u4f5c\u4e3a\u4efb\u52a1\u7684\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002\u8be5\u955c\u50cf\u9884\u88c5\u4e86 PaddlePaddle \u6846\u67b6\uff0c\u9002\u7528\u4e8e CPU \u8ba1\u7b97\u3002\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u8bf7\u9009\u62e9\u5bf9\u5e94\u7684 GPU \u7248\u672c\u955c\u50cf\u3002

                                        \u6ce8\u610f\uff1a\u4e86\u89e3\u5982\u4f55\u521b\u5efa\u548c\u7ba1\u7406\u73af\u5883\uff0c\u8bf7\u53c2\u8003 \u73af\u5883\u5217\u8868\u3002

                                        "},{"location":"end-user/baize/jobs/paddle.html#paddlepaddle_1","title":"\u521b\u5efa PaddlePaddle \u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/paddle.html#paddlepaddle_2","title":"PaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/paddle.html#_3","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                                        1. \u767b\u5f55\u5e73\u53f0\uff1a\u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3\uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                                        2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                                        3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\uff0c\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                                        4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5355\u673a\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                                        5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\uff0c\u914d\u7f6e\u4efb\u52a1\u7684\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u4fe1\u606f\u3002
                                        "},{"location":"end-user/baize/jobs/paddle.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                                        • \u542f\u52a8\u547d\u4ee4\uff1apython
                                        • \u547d\u4ee4\u53c2\u6570\uff1a

                                          -m paddle.distributed.launch run_check\n

                                          \u8bf4\u660e\uff1a

                                          • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\uff0c\u5373\u4f7f\u5728\u5355\u673a\u6a21\u5f0f\u4e0b\u4e5f\u53ef\u4ee5\u4f7f\u7528\uff0c\u65b9\u4fbf\u5c06\u6765\u8fc1\u79fb\u5230\u5206\u5e03\u5f0f\u3002
                                          • run_check\uff1aPaddlePaddle \u63d0\u4f9b\u7684\u6d4b\u8bd5\u811a\u672c\uff0c\u7528\u4e8e\u68c0\u67e5\u5206\u5e03\u5f0f\u73af\u5883\u662f\u5426\u6b63\u5e38\u3002
                                        "},{"location":"end-user/baize/jobs/paddle.html#_5","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                                        • \u526f\u672c\u6570\uff1a1\uff08\u5355\u673a\u4efb\u52a1\uff09
                                        • \u8d44\u6e90\u8bf7\u6c42\uff1a
                                          • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
                                          • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
                                          • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
                                        "},{"location":"end-user/baize/jobs/paddle.html#paddlejob","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

                                        \u4ee5\u4e0b\u662f\u5355\u673a PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

                                        apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-simple-cpu\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 1\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'run_check',\n                              ]\n

                                        \u914d\u7f6e\u89e3\u6790\uff1a

                                        • apiVersion \u548c kind\uff1a\u6307\u5b9a\u8d44\u6e90\u7684 API \u7248\u672c\u548c\u7c7b\u578b\uff0c\u8fd9\u91cc\u662f PaddleJob\u3002
                                        • metadata\uff1a\u5143\u6570\u636e\uff0c\u5305\u62ec\u4efb\u52a1\u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u3002
                                        • spec\uff1a\u4efb\u52a1\u7684\u8be6\u7ec6\u914d\u7f6e\u3002
                                          • paddleReplicaSpecs\uff1aPaddlePaddle \u4efb\u52a1\u7684\u526f\u672c\u914d\u7f6e\u3002
                                            • Worker\uff1a\u6307\u5b9a\u5de5\u4f5c\u8282\u70b9\u7684\u914d\u7f6e\u3002
                                              • replicas\uff1a\u526f\u672c\u6570\uff0c\u8fd9\u91cc\u4e3a 1\uff0c\u8868\u793a\u5355\u673a\u8bad\u7ec3\u3002
                                              • restartPolicy\uff1a\u91cd\u542f\u7b56\u7565\uff0c\u8bbe\u4e3a OnFailure\uff0c\u8868\u793a\u4efb\u52a1\u5931\u8d25\u65f6\u81ea\u52a8\u91cd\u542f\u3002
                                              • template\uff1aPod \u6a21\u677f\uff0c\u5b9a\u4e49\u5bb9\u5668\u7684\u8fd0\u884c\u73af\u5883\u548c\u8d44\u6e90\u3002
                                                • containers\uff1a\u5bb9\u5668\u5217\u8868\u3002
                                                  • name\uff1a\u5bb9\u5668\u540d\u79f0\u3002
                                                  • image\uff1a\u4f7f\u7528\u7684\u955c\u50cf\u3002
                                                  • command\uff1a\u542f\u52a8\u547d\u4ee4\u548c\u53c2\u6570\u3002
                                        "},{"location":"end-user/baize/jobs/paddle.html#_6","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                                        \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5355\u673a\u4efb\u52a1\u3002

                                        "},{"location":"end-user/baize/jobs/paddle.html#_7","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                                        \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u60a8\u53ef\u4ee5\u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u548c\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u3002\u4ece\u53f3\u4e0a\u89d2\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\uff0c\u53ef\u4ee5\u67e5\u770b\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                                        \u793a\u4f8b\u8f93\u51fa\uff1a

                                        run check success, PaddlePaddle is installed correctly on this node :)\n

                                        \u8fd9\u8868\u793a PaddlePaddle \u5355\u673a\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u73af\u5883\u914d\u7f6e\u6b63\u5e38\u3002

                                        "},{"location":"end-user/baize/jobs/paddle.html#paddlepaddle_3","title":"PaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1","text":"

                                        \u5728\u5206\u5e03\u5f0f\u6a21\u5f0f\u4e0b\uff0cPaddlePaddle \u4efb\u52a1\u53ef\u4ee5\u4f7f\u7528\u591a\u53f0\u8ba1\u7b97\u8282\u70b9\u5171\u540c\u5b8c\u6210\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u3002

                                        "},{"location":"end-user/baize/jobs/paddle.html#_8","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                                        1. \u767b\u5f55\u5e73\u53f0\uff1a\u540c\u4e0a\u3002
                                        2. \u521b\u5efa\u4efb\u52a1\uff1a\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                                        3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\uff1a\u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a PaddlePaddle\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002
                                        4. \u586b\u5199\u4efb\u52a1\u4fe1\u606f\uff1a\u586b\u5199\u4efb\u52a1\u540d\u79f0\u548c\u63cf\u8ff0\uff0c\u4f8b\u5982 \u201cPaddlePaddle \u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u201d\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a\u3002
                                        5. \u914d\u7f6e\u4efb\u52a1\u53c2\u6570\uff1a\u6839\u636e\u9700\u6c42\uff0c\u914d\u7f6e\u8fd0\u884c\u53c2\u6570\u3001\u955c\u50cf\u3001\u8d44\u6e90\u7b49\u3002
                                        "},{"location":"end-user/baize/jobs/paddle.html#_9","title":"\u8fd0\u884c\u53c2\u6570","text":"
                                        • \u542f\u52a8\u547d\u4ee4\uff1apython
                                        • \u547d\u4ee4\u53c2\u6570\uff1a

                                          -m paddle.distributed.launch train.py --epochs=10\n

                                          \u8bf4\u660e\uff1a

                                          • -m paddle.distributed.launch\uff1a\u4f7f\u7528 PaddlePaddle \u63d0\u4f9b\u7684\u5206\u5e03\u5f0f\u542f\u52a8\u6a21\u5757\u3002
                                          • train.py\uff1a\u60a8\u7684\u8bad\u7ec3\u811a\u672c\uff0c\u9700\u8981\u653e\u5728\u955c\u50cf\u4e2d\u6216\u6302\u8f7d\u5230\u5bb9\u5668\u5185\u3002
                                          • --epochs=10\uff1a\u8bad\u7ec3\u7684\u8f6e\u6570\uff0c\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 10\u3002
                                        "},{"location":"end-user/baize/jobs/paddle.html#_10","title":"\u8d44\u6e90\u914d\u7f6e","text":"
                                        • \u4efb\u52a1\u526f\u672c\u6570\uff1a\u6839\u636e Worker \u526f\u672c\u6570\u8bbe\u7f6e\uff0c\u8fd9\u91cc\u4e3a 2\u3002
                                        • \u8d44\u6e90\u8bf7\u6c42\uff1a
                                          • CPU\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 1 \u6838
                                          • \u5185\u5b58\uff1a\u6839\u636e\u9700\u6c42\u8bbe\u7f6e\uff0c\u5efa\u8bae\u81f3\u5c11 2 GiB
                                          • GPU\uff1a\u5982\u679c\u9700\u8981\u4f7f\u7528 GPU\uff0c\u9009\u62e9 GPU \u7248\u672c\u7684\u955c\u50cf\uff0c\u5e76\u5206\u914d\u76f8\u5e94\u7684 GPU \u8d44\u6e90
                                        "},{"location":"end-user/baize/jobs/paddle.html#paddlejob_1","title":"\u5b8c\u6574\u7684 PaddleJob \u914d\u7f6e\u793a\u4f8b","text":"

                                        \u4ee5\u4e0b\u662f\u5206\u5e03\u5f0f PaddleJob \u7684 YAML \u914d\u7f6e\uff1a

                                        apiVersion: kubeflow.org/v1\nkind: PaddleJob\nmetadata:\n    name: paddle-distributed-job\n    namespace: kubeflow\nspec:\n    paddleReplicaSpecs:\n        Worker:\n            replicas: 2\n            restartPolicy: OnFailure\n            template:\n                spec:\n                    containers:\n                        - name: paddle\n                          image: registry.baidubce.com/paddlepaddle/paddle:2.4.0rc0-cpu\n                          command:\n                              [\n                                  'python',\n                                  '-m',\n                                  'paddle.distributed.launch',\n                                  'train.py',\n                              ]\n                          args:\n                              - '--epochs=10'\n

                                        \u914d\u7f6e\u89e3\u6790\uff1a

                                        • Worker\uff1a
                                          • replicas\uff1a\u526f\u672c\u6570\uff0c\u8bbe\u7f6e\u4e3a 2\uff0c\u8868\u793a\u4f7f\u7528 2 \u4e2a\u5de5\u4f5c\u8282\u70b9\u8fdb\u884c\u5206\u5e03\u5f0f\u8bad\u7ec3\u3002
                                          • \u5176\u4ed6\u914d\u7f6e\u4e0e\u5355\u673a\u6a21\u5f0f\u7c7b\u4f3c\u3002
                                        "},{"location":"end-user/baize/jobs/paddle.html#_11","title":"\u8bbe\u7f6e\u4efb\u52a1\u526f\u672c\u6570","text":"

                                        \u5728\u521b\u5efa PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u65f6\uff0c\u9700\u8981\u6839\u636e paddleReplicaSpecs \u4e2d\u914d\u7f6e\u7684\u526f\u672c\u6570\uff0c\u6b63\u786e\u8bbe\u7f6e \u4efb\u52a1\u526f\u672c\u6570\u3002

                                        • \u603b\u526f\u672c\u6570 = Worker \u526f\u672c\u6570
                                        • \u672c\u793a\u4f8b\u4e2d\uff1a
                                          • Worker \u526f\u672c\u6570\uff1a2
                                          • \u603b\u526f\u672c\u6570\uff1a2

                                        \u56e0\u6b64\uff0c\u5728\u4efb\u52a1\u914d\u7f6e\u4e2d\uff0c\u9700\u8981\u5c06 \u4efb\u52a1\u526f\u672c\u6570 \u8bbe\u7f6e\u4e3a 2\u3002

                                        "},{"location":"end-user/baize/jobs/paddle.html#_12","title":"\u63d0\u4ea4\u4efb\u52a1","text":"

                                        \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u63d0\u4ea4 \u6309\u94ae\uff0c\u5f00\u59cb\u8fd0\u884c PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u3002

                                        "},{"location":"end-user/baize/jobs/paddle.html#_13","title":"\u67e5\u770b\u8fd0\u884c\u7ed3\u679c","text":"

                                        \u8fdb\u5165 \u4efb\u52a1\u8be6\u60c5 \u9875\u9762\uff0c\u67e5\u770b\u4efb\u52a1\u7684\u8fd0\u884c\u72b6\u6001\u548c\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3002\u60a8\u53ef\u4ee5\u67e5\u770b\u6bcf\u4e2a\u5de5\u4f5c\u8282\u70b9\u7684\u65e5\u5fd7\u8f93\u51fa\uff0c\u786e\u8ba4\u5206\u5e03\u5f0f\u8bad\u7ec3\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

                                        \u793a\u4f8b\u8f93\u51fa\uff1a

                                        Worker 0: Epoch 1, Batch 100, Loss 0.5\nWorker 1: Epoch 1, Batch 100, Loss 0.6\n...\nTraining completed.\n

                                        \u8fd9\u8868\u793a PaddlePaddle \u5206\u5e03\u5f0f\u4efb\u52a1\u6210\u529f\u8fd0\u884c\uff0c\u6a21\u578b\u8bad\u7ec3\u5b8c\u6210\u3002

                                        "},{"location":"end-user/baize/jobs/paddle.html#_14","title":"\u5c0f\u7ed3","text":"

                                        \u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u60a8\u5b66\u4e60\u4e86\u5982\u4f55\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u548c\u8fd0\u884c PaddlePaddle \u7684\u5355\u673a\u548c\u5206\u5e03\u5f0f\u4efb\u52a1\u3002\u6211\u4eec\u8be6\u7ec6\u4ecb\u7ecd\u4e86 PaddleJob \u7684\u914d\u7f6e\u65b9\u5f0f\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u4efb\u52a1\u4e2d\u6307\u5b9a\u8fd0\u884c\u7684\u547d\u4ee4\u548c\u8d44\u6e90\u9700\u6c42\u3002\u5e0c\u671b\u672c\u6559\u7a0b\u5bf9\u60a8\u6709\u6240\u5e2e\u52a9\uff0c\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u5e73\u53f0\u63d0\u4f9b\u7684\u5176\u4ed6\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002

                                        "},{"location":"end-user/baize/jobs/paddle.html#_15","title":"\u9644\u5f55","text":"
                                        • \u6ce8\u610f\u4e8b\u9879\uff1a

                                          • \u8bad\u7ec3\u811a\u672c\uff1a\u786e\u4fdd train.py\uff08\u6216\u5176\u4ed6\u8bad\u7ec3\u811a\u672c\uff09\u5728\u5bb9\u5668\u5185\u5b58\u5728\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u81ea\u5b9a\u4e49\u955c\u50cf\u3001\u6302\u8f7d\u6301\u4e45\u5316\u5b58\u50a8\u7b49\u65b9\u5f0f\u5c06\u811a\u672c\u653e\u5165\u5bb9\u5668\u3002
                                          • \u955c\u50cf\u9009\u62e9\uff1a\u6839\u636e\u60a8\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u955c\u50cf\uff0c\u4f8b\u5982\u4f7f\u7528 GPU \u65f6\u9009\u62e9 paddle:2.4.0rc0-gpu \u7b49\u3002
                                          • \u53c2\u6570\u8c03\u6574\uff1a\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 command \u548c args \u6765\u4f20\u9012\u4e0d\u540c\u7684\u8bad\u7ec3\u53c2\u6570\u3002
                                        • \u53c2\u8003\u6587\u6863\uff1a

                                          • PaddlePaddle \u5b98\u65b9\u6587\u6863
                                          • Kubeflow PaddleJob \u6307\u5357
                                        "},{"location":"end-user/baize/jobs/pytorch.html","title":"Pytorch \u4efb\u52a1","text":"

                                        Pytorch \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002 Pytorch \u4efb\u52a1\u662f\u4e00\u4e2a\u4f7f\u7528 Pytorch \u6846\u67b6\u7684\u4efb\u52a1\u3002

                                        \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86 Pytorch \u4efb\u52a1\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c \u5feb\u901f\u521b\u5efa Pytorch \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                                        "},{"location":"end-user/baize/jobs/pytorch.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                                        • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Pytorch \u5355\u673a \u548c Pytorch \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
                                        • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Pytorch \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
                                        "},{"location":"end-user/baize/jobs/pytorch.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                                        \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

                                        \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u5217\u8868\u3002

                                        "},{"location":"end-user/baize/jobs/pytorch.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/pytorch.html#pytorch_1","title":"Pytorch \u5355\u673a\u4efb\u52a1","text":"
                                        1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                                        2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                                        3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                                        4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                                        "},{"location":"end-user/baize/jobs/pytorch.html#_4","title":"\u8fd0\u884c\u53c2\u6570","text":"
                                        • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                                        • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
                                        import torch\nimport torch.nn as nn\nimport torch.optim as optim\n\n# \u5b9a\u4e49\u4e00\u4e2a\u7b80\u5355\u7684\u795e\u7ecf\u7f51\u7edc\nclass SimpleNet(nn.Module):\n    def __init__(self):\n        super(SimpleNet, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\n# \u521b\u5efa\u6a21\u578b\u3001\u635f\u5931\u51fd\u6570\u548c\u4f18\u5316\u5668\nmodel = SimpleNet()\ncriterion = nn.MSELoss()\noptimizer = optim.SGD(model.parameters(), lr=0.01)\n\n# \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = torch.randn(100, 10)\ny = torch.randn(100, 1)\n\n# \u8bad\u7ec3\u6a21\u578b\nfor epoch in range(100):\n    # \u524d\u5411\u4f20\u64ad\n    outputs = model(x)\n    loss = criterion(outputs, y)\n\n    # \u53cd\u5411\u4f20\u64ad\u548c\u4f18\u5316\n    optimizer.zero_grad()\n    loss.backward()\n    optimizer.step()\n\n    if (epoch + 1) % 10 == 0:\n        print(f'Epoch [{epoch+1}/100], Loss: {loss.item():.4f}')\n\nprint('Training finished.')\n
                                        "},{"location":"end-user/baize/jobs/pytorch.html#_5","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                                        \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa

                                        [HAMI-core Warn(1:140244541377408:utils.c:183)]: get default cuda from (null)\n[HAMI-core Msg(1:140244541377408:libvgpu.c:855)]: Initialized\nEpoch [10/100], Loss: 1.1248\nEpoch [20/100], Loss: 1.0486\nEpoch [30/100], Loss: 0.9969\nEpoch [40/100], Loss: 0.9611\nEpoch [50/100], Loss: 0.9360\nEpoch [60/100], Loss: 0.9182\nEpoch [70/100], Loss: 0.9053\nEpoch [80/100], Loss: 0.8960\nEpoch [90/100], Loss: 0.8891\nEpoch [100/100], Loss: 0.8841\nTraining finished.\n[HAMI-core Msg(1:140244541377408:multiprocess_memory_limit.c:468)]: Calling exit handler 1\n
                                        "},{"location":"end-user/baize/jobs/pytorch.html#pytorch_2","title":"Pytorch \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
                                        1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
                                        2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                                        3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Pytorch \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                                        4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                                        "},{"location":"end-user/baize/jobs/pytorch.html#_6","title":"\u8fd0\u884c\u53c2\u6570","text":"
                                        • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                                        • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528
                                        import os\nimport torch\nimport torch.distributed as dist\nimport torch.nn as nn\nimport torch.optim as optim\nfrom torch.nn.parallel import DistributedDataParallel as DDP\n\nclass SimpleModel(nn.Module):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = nn.Linear(10, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f'PyTorch version: {torch.__version__}')\n    print(f'CUDA available: {torch.cuda.is_available()}')\n    if torch.cuda.is_available():\n        print(f'CUDA version: {torch.version.cuda}')\n        print(f'CUDA device count: {torch.cuda.device_count()}')\n\n    rank = int(os.environ.get('RANK', '0'))\n    world_size = int(os.environ.get('WORLD_SIZE', '1'))\n\n    print(f'Rank: {rank}, World Size: {world_size}')\n\n    # \u521d\u59cb\u5316\u5206\u5e03\u5f0f\u73af\u5883\n    try:\n        if world_size > 1:\n            dist.init_process_group('nccl')\n            print('Distributed process group initialized successfully')\n        else:\n            print('Running in non-distributed mode')\n    except Exception as e:\n        print(f'Error initializing process group: {e}')\n        return\n\n    # \u8bbe\u7f6e\u8bbe\u5907\n    try:\n        if torch.cuda.is_available():\n            device = torch.device(f'cuda:{rank % torch.cuda.device_count()}')\n            print(f'Using CUDA device: {device}')\n        else:\n            device = torch.device('cpu')\n            print('CUDA not available, using CPU')\n    except Exception as e:\n        print(f'Error setting device: {e}')\n        device = torch.device('cpu')\n        print('Falling back to CPU')\n\n    try:\n        model = SimpleModel().to(device)\n        print('Model moved to device successfully')\n    except Exception as e:\n        print(f'Error moving model to device: {e}')\n        return\n\n    try:\n        if world_size > 1:\n            ddp_model = DDP(model, device_ids=[rank % torch.cuda.device_count()] if torch.cuda.is_available() else None)\n            print('DDP model created successfully')\n        else:\n            ddp_model = model\n            print('Using non-distributed model')\n    except Exception as e:\n        print(f'Error creating DDP model: {e}')\n        return\n\n    loss_fn = nn.MSELoss()\n    optimizer = optim.SGD(ddp_model.parameters(), lr=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    try:\n        data = torch.randn(100, 10, device=device)\n        labels = torch.randn(100, 1, device=device)\n        print('Data generated and moved to device successfully')\n    except Exception as e:\n        print(f'Error generating or moving data to device: {e}')\n        return\n\n    for epoch in range(10):\n        try:\n            ddp_model.train()\n            outputs = ddp_model(data)\n            loss = loss_fn(outputs, labels)\n            optimizer.zero_grad()\n            loss.backward()\n            optimizer.step()\n\n            if rank == 0:\n                print(f'Epoch {epoch}, Loss: {loss.item():.4f}')\n        except Exception as e:\n            print(f'Error during training epoch {epoch}: {e}')\n            break\n\n    if world_size > 1:\n        dist.destroy_process_group()\n\nif __name__ == '__main__':\n    train()\n
                                        "},{"location":"end-user/baize/jobs/pytorch.html#_7","title":"\u4efb\u52a1\u526f\u672c\u6570","text":"

                                        \u6ce8\u610f Pytorch \u5206\u5e03\u5f0f \u8bad\u7ec3\u4efb\u52a1\u4f1a\u521b\u5efa\u4e00\u7ec4 Master \u548c Worker \u7684\u8bad\u7ec3 Pod\uff0c Master \u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u4efb\u52a1\uff0cWorker \u8d1f\u8d23\u5b9e\u9645\u7684\u8bad\u7ec3\u5de5\u4f5c\u3002

                                        Note

                                        \u672c\u6b21\u6f14\u793a\u4e2d\uff1aMaster \u526f\u672c\u6570\u4e3a 1\uff0cWorker \u526f\u672c\u6570\u4e3a 2\uff1b \u6240\u4ee5\u6211\u4eec\u9700\u8981\u5728 \u4efb\u52a1\u914d\u7f6e \u4e2d\u8bbe\u7f6e\u526f\u672c\u6570\u4e3a 3\uff0c\u5373 Master \u526f\u672c\u6570 + Worker \u526f\u672c\u6570\u3002 Pytorch \u4f1a\u81ea\u52a8\u8c03\u8c10 Master \u548c Worker \u7684\u89d2\u8272\u3002

                                        "},{"location":"end-user/baize/jobs/pytorch.html#_8","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                                        \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                                        "},{"location":"end-user/baize/jobs/tensorboard.html","title":"\u4efb\u52a1\u5206\u6790\u4ecb\u7ecd","text":"

                                        \u5728 AI Lab \u6a21\u5757\u4e2d\uff0c\u63d0\u4f9b\u4e86\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u91cd\u8981\u7684\u53ef\u89c6\u5316\u5206\u6790\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd \u4efb\u52a1\u5206\u6790\uff08Tensorboard\uff09\u7684\u57fa\u672c\u6982\u5ff5\u3001\u5728 AI Lab \u7cfb\u7edf\u4e2d\u7684\u4f7f\u7528\u65b9\u6cd5\uff0c\u4ee5\u53ca\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9\u3002

                                        Note

                                        Tensorboard \u662f TensorFlow \u63d0\u4f9b\u7684\u4e00\u4e2a\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u7528\u4e8e\u5c55\u793a\u673a\u5668\u5b66\u4e60\u6a21\u578b\u7684\u8bad\u7ec3\u8fc7\u7a0b\u548c\u7ed3\u679c\u3002 \u5b83\u53ef\u4ee5\u5e2e\u52a9\u5f00\u53d1\u8005\u66f4\u76f4\u89c2\u5730\u7406\u89e3\u6a21\u578b\u7684\u8bad\u7ec3\u52a8\u6001\uff0c\u5206\u6790\u6a21\u578b\u6027\u80fd\uff0c\u8c03\u8bd5\u6a21\u578b\u95ee\u9898\u7b49\u3002

                                        Tensorboard \u5728\u6a21\u578b\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7684\u4f5c\u7528\u53ca\u4f18\u52bf\uff1a

                                        • \u53ef\u89c6\u5316\u8bad\u7ec3\u8fc7\u7a0b\uff1a\u901a\u8fc7\u56fe\u8868\u5c55\u793a\u8bad\u7ec3\u548c\u9a8c\u8bc1\u7684\u635f\u5931\u3001\u7cbe\u5ea6\u7b49\u6307\u6807\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u76f4\u89c2\u5730\u89c2\u5bdf\u6a21\u578b\u7684\u8bad\u7ec3\u6548\u679c\u3002
                                        • \u8c03\u8bd5\u548c\u4f18\u5316\u6a21\u578b\uff1a\u901a\u8fc7\u67e5\u770b\u4e0d\u540c\u5c42\u7684\u6743\u91cd\u3001\u68af\u5ea6\u5206\u5e03\u7b49\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u53d1\u73b0\u548c\u4fee\u6b63\u6a21\u578b\u4e2d\u7684\u95ee\u9898\u3002
                                        • \u5bf9\u6bd4\u4e0d\u540c\u5b9e\u9a8c\uff1a\u53ef\u4ee5\u540c\u65f6\u5c55\u793a\u591a\u4e2a\u5b9e\u9a8c\u7684\u7ed3\u679c\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u5bf9\u6bd4\u4e0d\u540c\u6a21\u578b\u548c\u8d85\u53c2\u6570\u914d\u7f6e\u7684\u6548\u679c\u3002
                                        • \u8ffd\u8e2a\u8bad\u7ec3\u6570\u636e\uff1a\u8bb0\u5f55\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u4f7f\u7528\u7684\u6570\u636e\u96c6\u548c\u53c2\u6570\uff0c\u786e\u4fdd\u5b9e\u9a8c\u7684\u53ef\u590d\u73b0\u6027\u3002
                                        "},{"location":"end-user/baize/jobs/tensorboard.html#tensorboard","title":"\u5982\u4f55\u521b\u5efa Tensorboard","text":"

                                        \u5728 AI Lab \u7cfb\u7edf\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u4fbf\u6377\u7684\u65b9\u5f0f\u6765\u521b\u5efa\u548c\u7ba1\u7406 Tensorboard\u3002\u4ee5\u4e0b\u662f\u5177\u4f53\u6b65\u9aa4\uff1a

                                        "},{"location":"end-user/baize/jobs/tensorboard.html#notebook-tensorboard","title":"\u5728\u521b\u5efa\u65f6 Notebook \u542f\u7528 Tensorboard","text":"
                                        1. \u521b\u5efa Notebook\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Notebook\u3002
                                        2. \u542f\u7528 Tensorboard\uff1a\u5728\u521b\u5efa Notebook \u7684\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002

                                        "},{"location":"end-user/baize/jobs/tensorboard.html#tensorboard_1","title":"\u5728\u5206\u5e03\u5f0f\u4efb\u52a1\u521b\u5efa\u53ca\u5b8c\u6210\u540e\u542f\u7528 Tensorboard","text":"
                                        1. \u521b\u5efa\u5206\u5e03\u5f0f\u4efb\u52a1\uff1a\u5728 AI Lab \u5e73\u53f0\u4e0a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5206\u5e03\u5f0f\u8bad\u7ec3\u4efb\u52a1\u3002
                                        2. \u914d\u7f6e Tensorboard\uff1a\u5728\u4efb\u52a1\u914d\u7f6e\u9875\u9762\u4e2d\uff0c\u542f\u7528 Tensorboard \u9009\u9879\uff0c\u5e76\u6307\u5b9a\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u8def\u5f84\u3002
                                        3. \u4efb\u52a1\u5b8c\u6210\u540e\u67e5\u770b Tensorboard\uff1a\u4efb\u52a1\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u5728\u4efb\u52a1\u8be6\u60c5\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\uff0c\u70b9\u51fb\u94fe\u63a5\u5373\u53ef\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

                                        "},{"location":"end-user/baize/jobs/tensorboard.html#notebook-tensorboard_1","title":"\u5728 Notebook \u4e2d\u76f4\u63a5\u5f15\u7528 Tensorboard","text":"

                                        \u5728 Notebook \u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee3\u7801\u76f4\u63a5\u542f\u52a8 Tensorboard\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                                        # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\nimport datetime\n\n# \u5b9a\u4e49\u65e5\u5fd7\u76ee\u5f55\nlog_dir = \"logs/fit/\" + datetime.datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n\n# \u521b\u5efa Tensorboard \u56de\u8c03\ntensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)\n\n# \u6784\u5efa\u5e76\u7f16\u8bd1\u6a21\u578b\nmodel = tf.keras.models.Sequential([\n    tf.keras.layers.Flatten(input_shape=(28, 28)),\n    tf.keras.layers.Dense(512, activation='relu'),\n    tf.keras.layers.Dropout(0.2),\n    tf.keras.layers.Dense(10, activation='softmax')\n])\n\nmodel.compile(optimizer='adam',\n              loss='sparse_categorical_crossentropy',\n              metrics=['accuracy'])\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u542f\u7528 Tensorboard \u56de\u8c03\nmodel.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])\n
                                        "},{"location":"end-user/baize/jobs/tensorboard.html#_2","title":"\u5982\u4f55\u914d\u7f6e\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5185\u5bb9","text":"

                                        \u5728\u4f7f\u7528 Tensorboard \u65f6\uff0c\u53ef\u4ee5\u8bb0\u5f55\u548c\u914d\u7f6e\u4e0d\u540c\u7684\u6570\u636e\u96c6\u548c\u65e5\u5fd7\u5185\u5bb9\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5e38\u89c1\u7684\u914d\u7f6e\u65b9\u5f0f\uff1a

                                        "},{"location":"end-user/baize/jobs/tensorboard.html#_3","title":"\u914d\u7f6e\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7","text":"

                                        \u5728\u8bad\u7ec3\u6a21\u578b\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 TensorFlow \u7684 tf.summary API \u6765\u8bb0\u5f55\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                                        # \u5bfc\u5165\u5fc5\u8981\u7684\u5e93\nimport tensorflow as tf\n\n# \u521b\u5efa\u65e5\u5fd7\u76ee\u5f55\ntrain_log_dir = 'logs/gradient_tape/train'\nval_log_dir = 'logs/gradient_tape/val'\ntrain_summary_writer = tf.summary.create_file_writer(train_log_dir)\nval_summary_writer = tf.summary.create_file_writer(val_log_dir)\n\n# \u8bad\u7ec3\u6a21\u578b\u5e76\u8bb0\u5f55\u65e5\u5fd7\nfor epoch in range(EPOCHS):\n    for (x_train, y_train) in train_dataset:\n        # \u8bad\u7ec3\u6b65\u9aa4\n        train_step(x_train, y_train)\n        with train_summary_writer.as_default():\n            tf.summary.scalar('loss', train_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', train_accuracy.result(), step=epoch)\n\n    for (x_val, y_val) in val_dataset:\n        # \u9a8c\u8bc1\u6b65\u9aa4\n        val_step(x_val, y_val)\n        with val_summary_writer.as_default():\n            tf.summary.scalar('loss', val_loss.result(), step=epoch)\n            tf.summary.scalar('accuracy', val_accuracy.result(), step=epoch)\n
                                        "},{"location":"end-user/baize/jobs/tensorboard.html#_4","title":"\u914d\u7f6e\u81ea\u5b9a\u4e49\u65e5\u5fd7","text":"

                                        \u9664\u4e86\u8bad\u7ec3\u548c\u9a8c\u8bc1\u6570\u636e\u96c6\u7684\u65e5\u5fd7\u5916\uff0c\u8fd8\u53ef\u4ee5\u8bb0\u5f55\u5176\u4ed6\u81ea\u5b9a\u4e49\u7684\u65e5\u5fd7\u5185\u5bb9\uff0c\u4f8b\u5982\u5b66\u4e60\u7387\u3001\u68af\u5ea6\u5206\u5e03\u7b49\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff1a

                                        # \u8bb0\u5f55\u81ea\u5b9a\u4e49\u65e5\u5fd7\nwith train_summary_writer.as_default():\n    tf.summary.scalar('learning_rate', learning_rate, step=epoch)\n    tf.summary.histogram('gradients', gradients, step=epoch)\n
                                        "},{"location":"end-user/baize/jobs/tensorboard.html#tensorboard_2","title":"Tensorboard \u7ba1\u7406","text":"

                                        \u5728 AI Lab \u4e2d\uff0c\u901a\u8fc7\u5404\u79cd\u65b9\u5f0f\u521b\u5efa\u51fa\u6765\u7684 Tensorboard \u4f1a\u7edf\u4e00\u5c55\u793a\u5728\u4efb\u52a1\u5206\u6790\u7684\u9875\u9762\u4e2d\uff0c\u65b9\u4fbf\u7528\u6237\u67e5\u770b\u548c\u7ba1\u7406\u3002

                                        \u7528\u6237\u53ef\u4ee5\u5728\u4efb\u52a1\u5206\u6790\u9875\u9762\u4e2d\u67e5\u770b Tensorboard \u7684\u94fe\u63a5\u3001\u72b6\u6001\u3001\u521b\u5efa\u65f6\u95f4\u7b49\u4fe1\u606f\uff0c\u5e76\u901a\u8fc7\u94fe\u63a5\u76f4\u63a5\u8bbf\u95ee Tensorboard \u7684\u53ef\u89c6\u5316\u7ed3\u679c\u3002

                                        "},{"location":"end-user/baize/jobs/tensorflow.html","title":"Tensorflow \u4efb\u52a1","text":"

                                        Tensorflow \u662f\u9664\u4e86 Pytorch \u53e6\u5916\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u7684\u5f00\u6e90\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7075\u6d3b\u7684\u8bad\u7ec3\u548c\u90e8\u7f72\u73af\u5883\u3002

                                        \u5728 AI Lab \u4e2d\uff0c\u6211\u4eec\u540c\u6837\u63d0\u4f9b\u4e86 Tensorflow \u6846\u67b6\u7684\u652f\u6301\u548c\u9002\u914d\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u754c\u9762\u5316\u64cd\u4f5c\uff0c\u5feb\u901f\u521b\u5efa Tensorflow \u4efb\u52a1\uff0c\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\u3002

                                        "},{"location":"end-user/baize/jobs/tensorflow.html#_1","title":"\u4efb\u52a1\u914d\u7f6e\u4ecb\u7ecd","text":"
                                        • \u4efb\u52a1\u7c7b\u578b\u540c\u65f6\u652f\u6301 Tensorflow \u5355\u673a \u548c Tensorflow \u5206\u5e03\u5f0f \u4e24\u79cd\u6a21\u5f0f\u3002
                                        • \u8fd0\u884c\u955c\u50cf\u5185\u5df2\u7ecf\u9ed8\u8ba4\u652f\u6301 Tensorflow \u6846\u67b6\uff0c\u65e0\u9700\u989d\u5916\u5b89\u88c5\u3002
                                        "},{"location":"end-user/baize/jobs/tensorflow.html#_2","title":"\u4efb\u52a1\u8fd0\u884c\u73af\u5883","text":"

                                        \u5728\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528 baize-notebook \u57fa\u7840\u955c\u50cf \u548c \u5173\u8054\u73af\u5883 \u7684\u65b9\u5f0f\u6765\u4f5c\u4e3a\u4efb\u52a1\u57fa\u7840\u8fd0\u884c\u73af\u5883\u3002

                                        \u4e86\u89e3\u5982\u4f55\u521b\u5efa\u73af\u5883\uff0c\u8bf7\u53c2\u8003\u73af\u5883\u5217\u8868\u3002

                                        "},{"location":"end-user/baize/jobs/tensorflow.html#_3","title":"\u521b\u5efa\u4efb\u52a1","text":""},{"location":"end-user/baize/jobs/tensorflow.html#tfjob","title":"\u793a\u4f8b TFJob \u5355\u673a\u4efb\u52a1","text":"
                                        1. \u767b\u5f55 AI Lab \u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u8bad\u7ec3\u4efb\u52a1 \u9875\u9762\u3002
                                        2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                                        3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5355\u673a\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                                        4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                                        "},{"location":"end-user/baize/jobs/tensorflow.html#_4","title":"\u63d0\u524d\u9884\u70ed\u4ee3\u7801\u4ed3\u5e93","text":"

                                        \u4f7f\u7528 AI Lab -> \u6570\u636e\u96c6\u5217\u8868 \uff0c\u521b\u5efa\u4e00\u4e2a\u6570\u636e\u96c6\uff0c\u5e76\u5c06\u8fdc\u7aef Github \u7684\u4ee3\u7801\u62c9\u53d6\u5230\u6570\u636e\u96c6\u4e2d\uff0c \u8fd9\u6837\u5728\u521b\u5efa\u4efb\u52a1\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u9009\u62e9\u6570\u636e\u96c6\uff0c\u5c06\u4ee3\u7801\u6302\u8f7d\u5230\u4efb\u52a1\u4e2d\u3002

                                        \u6f14\u793a\u4ee3\u7801\u4ed3\u5e93\u5730\u5740\uff1ahttps://github.com/d-run/training-sample-code/

                                        "},{"location":"end-user/baize/jobs/tensorflow.html#_5","title":"\u8fd0\u884c\u53c2\u6570","text":"
                                        • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                                        • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tf-single.py
                                        \"\"\"\n  pip install tensorflow numpy\n\"\"\"\n\nimport tensorflow as tf\nimport numpy as np\n\n# \u521b\u5efa\u4e00\u4e9b\u968f\u673a\u6570\u636e\nx = np.random.rand(100, 1)\ny = 2 * x + 1 + np.random.rand(100, 1) * 0.1\n\n# \u521b\u5efa\u4e00\u4e2a\u7b80\u5355\u7684\u6a21\u578b\nmodel = tf.keras.Sequential([\n    tf.keras.layers.Dense(1, input_shape=(1,))\n])\n\n# \u7f16\u8bd1\u6a21\u578b\nmodel.compile(optimizer='adam', loss='mse')\n\n# \u8bad\u7ec3\u6a21\u578b\uff0c\u5c06 epochs \u6539\u4e3a 10\nhistory = model.fit(x, y, epochs=10, verbose=1)\n\n# \u6253\u5370\u6700\u7ec8\u635f\u5931\nprint('Final loss: {' + str(history.history['loss'][-1]) +'}')\n\n# \u4f7f\u7528\u6a21\u578b\u8fdb\u884c\u9884\u6d4b\ntest_x = np.array([[0.5]])\nprediction = model.predict(test_x)\nprint(f'Prediction for x=0.5: {prediction[0][0]}')\n
                                        "},{"location":"end-user/baize/jobs/tensorflow.html#_6","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                                        \u4efb\u52a1\u63d0\u4ea4\u6210\u529f\u540e\uff0c\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\u67e5\u770b\u5230\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ece\u53f3\u4e0a\u89d2\u53bb\u5f80 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \uff0c\u53ef\u4ee5\u67e5\u770b\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                                        "},{"location":"end-user/baize/jobs/tensorflow.html#tfjob_1","title":"TFJob \u5206\u5e03\u5f0f\u4efb\u52a1","text":"
                                        1. \u767b\u5f55 AI Lab \uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u7684 \u4efb\u52a1\u4e2d\u5fc3 \uff0c\u8fdb\u5165 \u4efb\u52a1\u5217\u8868 \u9875\u9762\u3002
                                        2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa \u6309\u94ae\uff0c\u8fdb\u5165\u4efb\u52a1\u521b\u5efa\u9875\u9762\u3002
                                        3. \u9009\u62e9\u4efb\u52a1\u7c7b\u578b\u4e3a Tensorflow \u5206\u5e03\u5f0f\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002
                                        4. \u586b\u5199\u4efb\u52a1\u540d\u79f0\u3001\u63cf\u8ff0\u540e\u70b9\u51fb \u786e\u5b9a \u3002
                                        "},{"location":"end-user/baize/jobs/tensorflow.html#_7","title":"\u793a\u4f8b\u4efb\u52a1\u4ecb\u7ecd","text":"

                                        \u672c\u6b21\u5305\u542b\u4e86\u4e09\u79cd\u89d2\u8272\uff1aChief\u3001Worker \u548c Parameter Server (PS)\u3002

                                        • Chief: \u4e3b\u8981\u8d1f\u8d23\u534f\u8c03\u8bad\u7ec3\u8fc7\u7a0b\u548c\u6a21\u578b\u68c0\u67e5\u70b9\u7684\u4fdd\u5b58\u3002
                                        • Worker: \u6267\u884c\u5b9e\u9645\u7684\u6a21\u578b\u8bad\u7ec3\u3002
                                        • PS: \u5728\u5f02\u6b65\u8bad\u7ec3\u4e2d\u7528\u4e8e\u5b58\u50a8\u548c\u66f4\u65b0\u6a21\u578b\u53c2\u6570\u3002

                                        \u4e3a\u4e0d\u540c\u7684\u89d2\u8272\u5206\u914d\u4e86\u4e0d\u540c\u7684\u8d44\u6e90\u3002Chief \u548c Worker \u4f7f\u7528 GPU\uff0c\u800c PS \u4f7f\u7528 CPU \u548c\u8f83\u5927\u7684\u5185\u5b58\u3002

                                        "},{"location":"end-user/baize/jobs/tensorflow.html#_8","title":"\u8fd0\u884c\u53c2\u6570","text":"
                                        • \u542f\u52a8\u547d\u4ee4 \u4f7f\u7528 bash
                                        • \u547d\u4ee4\u53c2\u6570\u4f7f\u7528 python /code/tensorflow/tensorflow-distributed.py
                                        import os\nimport json\nimport tensorflow as tf\n\nclass SimpleModel(tf.keras.Model):\n    def __init__(self):\n        super(SimpleModel, self).__init__()\n        self.fc = tf.keras.layers.Dense(1, input_shape=(10,))\n\n    def call(self, x):\n        return self.fc(x)\n\ndef train():\n    # \u6253\u5370\u73af\u5883\u4fe1\u606f\n    print(f\"TensorFlow version: {tf.__version__}\")\n    print(f\"GPU available: {tf.test.is_gpu_available()}\")\n    if tf.test.is_gpu_available():\n        print(f\"GPU device count: {len(tf.config.list_physical_devices('GPU'))}\")\n\n    # \u83b7\u53d6\u5206\u5e03\u5f0f\u8bad\u7ec3\u4fe1\u606f\n    tf_config = json.loads(os.environ.get('TF_CONFIG') or '{}')\n    task_type = tf_config.get('task', {}).get('type')\n    task_id = tf_config.get('task', {}).get('index')\n\n    print(f\"Task type: {task_type}, Task ID: {task_id}\")\n\n    # \u8bbe\u7f6e\u5206\u5e03\u5f0f\u7b56\u7565\n    strategy = tf.distribute.experimental.MultiWorkerMirroredStrategy()\n\n    with strategy.scope():\n        model = SimpleModel()\n        loss_fn = tf.keras.losses.MeanSquaredError()\n        optimizer = tf.keras.optimizers.SGD(learning_rate=0.001)\n\n    # \u751f\u6210\u4e00\u4e9b\u968f\u673a\u6570\u636e\n    data = tf.random.normal((100, 10))\n    labels = tf.random.normal((100, 1))\n\n    @tf.function\n    def train_step(inputs, labels):\n        with tf.GradientTape() as tape:\n            predictions = model(inputs)\n            loss = loss_fn(labels, predictions)\n        gradients = tape.gradient(loss, model.trainable_variables)\n        optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n        return loss\n\n    for epoch in range(10):\n        loss = train_step(data, labels)\n        if task_type == 'chief':\n            print(f'Epoch {epoch}, Loss: {loss.numpy():.4f}')\n\nif __name__ == '__main__':\n    train()\n
                                        "},{"location":"end-user/baize/jobs/tensorflow.html#_9","title":"\u8fd0\u884c\u7ed3\u679c","text":"

                                        \u540c\u6837\uff0c\u6211\u4eec\u53ef\u4ee5\u8fdb\u5165\u4efb\u52a1\u8be6\u60c5\uff0c\u67e5\u770b\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u6bcf\u4e2a Pod \u7684\u65e5\u5fd7\u8f93\u51fa\u3002

                                        "},{"location":"end-user/baize/jobs/view.html","title":"\u67e5\u770b\u4efb\u52a1\uff08Job\uff09\u5de5\u4f5c\u8d1f\u8f7d","text":"

                                        \u4efb\u52a1\u521b\u5efa\u597d\u540e\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\u3002

                                        1. \u5728\u8bad\u7ec3\u8bad\u7ec3\u4efb\u52a1\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u67d0\u4e2a\u4efb\u52a1\u53f3\u4fa7\u7684 \u2507 -> \u4efb\u52a1\u8d1f\u8f7d\u8be6\u60c5 \u3002

                                        2. \u51fa\u73b0\u4e00\u4e2a\u5f39\u7a97\u9009\u62e9\u8981\u67e5\u770b\u54ea\u4e2a Pod \u540e\uff0c\u70b9\u51fb \u8fdb\u5165 \u3002

                                        3. \u8df3\u8f6c\u5230\u5bb9\u5668\u7ba1\u7406\u754c\u9762\uff0c\u53ef\u4ee5\u67e5\u770b\u5bb9\u5668\u7684\u5de5\u4f5c\u72b6\u6001\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4ee5\u53ca\u53d1\u751f\u7684\u4e8b\u4ef6\u3002

                                        4. \u4f60\u8fd8\u53ef\u4ee5\u67e5\u770b\u5f53\u524d Pod \u6700\u8fd1\u4e00\u6bb5\u65f6\u95f4\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002 \u6b64\u5904\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u65e5\u5fd7\uff0c\u5982\u679c\u8981\u67e5\u770b\u66f4\u8be6\u7ec6\u7684\u65e5\u5fd7\u6d3b\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u8bf7\u70b9\u51fb\u9876\u90e8\u7684\u84dd\u8272 \u53ef\u89c2\u6d4b\u6027 \u6587\u5b57\u3002

                                        5. \u5f53\u7136\u4f60\u8fd8\u53ef\u4ee5\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684 ... \uff0c\u67e5\u770b\u5f53\u524d Pod \u7684 YAML\u3001\u4e0a\u4f20\u548c\u4e0b\u8f7d\u6587\u4ef6\u3002 \u4ee5\u4e0b\u662f\u4e00\u4e2a Pod \u7684 YAML \u793a\u4f8b\u3002

                                        kind: Pod\napiVersion: v1\nmetadata:\n  name: neko-tensorboard-job-test-202404181843-skxivllb-worker-0\n  namespace: default\n  uid: ddedb6ff-c278-47eb-ae1e-0de9b7c62f8c\n  resourceVersion: '41092552'\n  creationTimestamp: '2024-04-18T10:43:36Z'\n  labels:\n    training.kubeflow.org/job-name: neko-tensorboard-job-test-202404181843-skxivllb\n    training.kubeflow.org/operator-name: pytorchjob-controller\n    training.kubeflow.org/replica-index: '0'\n    training.kubeflow.org/replica-type: worker\n  annotations:\n    cni.projectcalico.org/containerID: 0cfbb9af257d5e69027c603c6cb2d3890a17c4ae1a145748d5aef73a10d7fbe1\n    cni.projectcalico.org/podIP: ''\n    cni.projectcalico.org/podIPs: ''\n    hami.io/bind-phase: success\n    hami.io/bind-time: '1713437016'\n    hami.io/vgpu-devices-allocated: GPU-29d5fa0d-935b-2966-aff8-483a174d61d1,NVIDIA,1024,20:;\n    hami.io/vgpu-devices-to-allocate: ;\n    hami.io/vgpu-node: worker-a800-1\n    hami.io/vgpu-time: '1713437016'\n    k8s.v1.cni.cncf.io/network-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n    k8s.v1.cni.cncf.io/networks-status: |-\n      [{\n          \"name\": \"kube-system/calico\",\n          \"ips\": [\n              \"10.233.97.184\"\n          ],\n          \"default\": true,\n          \"dns\": {}\n      }]\n  ownerReferences:\n    - apiVersion: kubeflow.org/v1\n      kind: PyTorchJob\n      name: neko-tensorboard-job-test-202404181843-skxivllb\n      uid: e5a8b05d-1f03-4717-8e1c-4ec928014b7b\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  volumes:\n    - name: 0-dataset-pytorch-examples\n      persistentVolumeClaim:\n        claimName: pytorch-examples\n    - name: kube-api-access-wh9rh\n      projected:\n        sources:\n          - serviceAccountToken:\n              expirationSeconds: 3607\n              path: token\n          - configMap:\n              name: kube-root-ca.crt\n              items:\n                - key: ca.crt\n                  path: ca.crt\n          - downwardAPI:\n              items:\n                - path: namespace\n                  fieldRef:\n                    apiVersion: v1\n                    fieldPath: metadata.namespace\n        defaultMode: 420\n  containers:\n    - name: pytorch\n      image: m.daocloud.io/docker.io/pytorch/pytorch\n      command:\n        - bash\n      args:\n        - '-c'\n        - >-\n          ls -la /root && which pip && pip install pytorch_lightning tensorboard\n          && python /root/Git/pytorch/examples/mnist/main.py\n      ports:\n        - name: pytorchjob-port\n          containerPort: 23456\n          protocol: TCP\n      env:\n        - name: PYTHONUNBUFFERED\n          value: '1'\n        - name: PET_NNODES\n          value: '1'\n      resources:\n        limits:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n        requests:\n          cpu: '4'\n          memory: 8Gi\n          nvidia.com/gpucores: '20'\n          nvidia.com/gpumem: '1024'\n          nvidia.com/vgpu: '1'\n      volumeMounts:\n        - name: 0-dataset-pytorch-examples\n          mountPath: /root/Git/pytorch/examples\n        - name: kube-api-access-wh9rh\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  restartPolicy: Never\n  terminationGracePeriodSeconds: 30\n  dnsPolicy: ClusterFirst\n  serviceAccountName: default\n  serviceAccount: default\n  nodeName: worker-a800-1\n  securityContext: {}\n  affinity: {}\n  schedulerName: hami-scheduler\n  tolerations:\n    - key: node.kubernetes.io/not-ready\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n    - key: node.kubernetes.io/unreachable\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n  priorityClassName: baize-high-priority\n  priority: 100000\n  enableServiceLinks: true\n  preemptionPolicy: PreemptLowerPriority\nstatus:\n  phase: Succeeded\n  conditions:\n    - type: Initialized\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n      reason: PodCompleted\n    - type: Ready\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: ContainersReady\n      status: 'False'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:46:34Z'\n      reason: PodCompleted\n    - type: PodScheduled\n      status: 'True'\n      lastProbeTime: null\n      lastTransitionTime: '2024-04-18T10:43:36Z'\n  hostIP: 10.20.100.211\n  podIP: 10.233.97.184\n  podIPs:\n    - ip: 10.233.97.184\n  startTime: '2024-04-18T10:43:36Z'\n  containerStatuses:\n    - name: pytorch\n      state:\n        terminated:\n          exitCode: 0\n          reason: Completed\n          startedAt: '2024-04-18T10:43:39Z'\n          finishedAt: '2024-04-18T10:46:34Z'\n          containerID: >-\n            containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      lastState: {}\n      ready: false\n      restartCount: 0\n      image: m.daocloud.io/docker.io/pytorch/pytorch:latest\n      imageID: >-\n        m.daocloud.io/docker.io/pytorch/pytorch@sha256:11691e035a3651d25a87116b4f6adc113a27a29d8f5a6a583f8569e0ee5ff897\n      containerID: >-\n        containerd://09010214bcf3315e81d38fba50de3943c9d2b48f50a6cc2e83f8ef0e5c6eeec1\n      started: false\n  qosClass: Guaranteed\n
                                        "},{"location":"end-user/ghippo/personal-center/accesstoken.html","title":"\u8bbf\u95ee\u5bc6\u94a5","text":"

                                        \u8bbf\u95ee\u5bc6\u94a5\uff08Access Key\uff09\u53ef\u7528\u4e8e\u8bbf\u95ee\u5f00\u653e API \u548c\u6301\u7eed\u53d1\u5e03\uff0c\u7528\u6237\u53ef\u5728\u4e2a\u4eba\u4e2d\u5fc3\u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u83b7\u53d6\u5bc6\u94a5\u5e76\u8bbf\u95ee API\u3002

                                        "},{"location":"end-user/ghippo/personal-center/accesstoken.html#_2","title":"\u83b7\u53d6\u5bc6\u94a5","text":"

                                        \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728\u53f3\u4e0a\u89d2\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\u627e\u5230 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u53ef\u4ee5\u5728 \u8bbf\u95ee\u5bc6\u94a5 \u9875\u9762\u7ba1\u7406\u8d26\u53f7\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                                        Info

                                        \u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\u4ec5\u663e\u793a\u4e00\u6b21\u3002\u5982\u679c\u60a8\u5fd8\u8bb0\u4e86\u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\uff0c\u60a8\u9700\u8981\u91cd\u65b0\u521b\u5efa\u65b0\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                                        "},{"location":"end-user/ghippo/personal-center/accesstoken.html#api","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbf\u95ee API","text":"

                                        \u5728\u8bbf\u95ee\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0openAPI \u65f6\uff0c\u5728\u8bf7\u6c42\u4e2d\u52a0\u4e0a\u8bf7\u6c42\u5934 Authorization:Bearer ${token} \u4ee5\u6807\u8bc6\u8bbf\u95ee\u8005\u7684\u8eab\u4efd\uff0c \u5176\u4e2d ${token} \u662f\u4e0a\u4e00\u6b65\u4e2d\u83b7\u53d6\u5230\u7684\u5bc6\u94a5\uff0c\u5177\u4f53\u63a5\u53e3\u4fe1\u606f\u53c2\u89c1 OpenAPI \u63a5\u53e3\u6587\u6863\u3002

                                        \u8bf7\u6c42\u793a\u4f8b

                                        curl -X GET -H 'Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRKVjlBTHRBLXZ4MmtQUC1TQnVGS0dCSWc1cnBfdkxiQVVqM2U3RVByWnMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NjE0MTU5NjksImlhdCI6MTY2MDgxMTE2OSwiaXNzIjoiZ2hpcHBvLmlvIiwic3ViIjoiZjdjOGIxZjUtMTc2MS00NjYwLTg2MWQtOWI3MmI0MzJmNGViIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiYWRtaW4iLCJncm91cHMiOltdfQ.RsUcrAYkQQ7C6BxMOrdD3qbBRUt0VVxynIGeq4wyIgye6R8Ma4cjxG5CbU1WyiHKpvIKJDJbeFQHro2euQyVde3ygA672ozkwLTnx3Tu-_mB1BubvWCBsDdUjIhCQfT39rk6EQozMjb-1X1sbLwzkfzKMls-oxkjagI_RFrYlTVPwT3Oaw-qOyulRSw7Dxd7jb0vINPq84vmlQIsI3UuTZSNO5BCgHpubcWwBss-Aon_DmYA-Et_-QtmPBA3k8E2hzDSzc7eqK0I68P25r9rwQ3DeKwD1dbRyndqWORRnz8TLEXSiCFXdZT2oiMrcJtO188Ph4eLGut1-4PzKhwgrQ' https://demo-dev.daocloud.io/apis/ghippo.io/v1alpha1/users?page=1&pageSize=10 -k\n

                                        \u8bf7\u6c42\u7ed3\u679c

                                        {\n    \"items\": [\n        {\n            \"id\": \"a7cfd010-ebbe-4601-987f-d098d9ef766e\",\n            \"name\": \"a\",\n            \"email\": \"\",\n            \"description\": \"\",\n            \"firstname\": \"\",\n            \"lastname\": \"\",\n            \"source\": \"locale\",\n            \"enabled\": true,\n            \"createdAt\": \"1660632794800\",\n            \"updatedAt\": \"0\",\n            \"lastLoginAt\": \"\"\n        }\n    ],\n    \"pagination\": {\n        \"page\": 1,\n        \"pageSize\": 10,\n        \"total\": 1\n    }\n}\n
                                        "},{"location":"end-user/ghippo/personal-center/language.html","title":"\u8bed\u8a00\u8bbe\u7f6e","text":"

                                        \u672c\u8282\u8bf4\u660e\u5982\u4f55\u8bbe\u7f6e\u754c\u9762\u8bed\u8a00\u3002\u76ee\u524d\u652f\u6301\u4e2d\u6587\u3001English \u4e24\u4e2a\u8bed\u8a00\u3002

                                        \u8bed\u8a00\u8bbe\u7f6e\u662f\u5e73\u53f0\u63d0\u4f9b\u591a\u8bed\u8a00\u670d\u52a1\u7684\u5165\u53e3\uff0c\u5e73\u53f0\u9ed8\u8ba4\u663e\u793a\u4e3a\u4e2d\u6587\uff0c\u7528\u6237\u53ef\u6839\u636e\u9700\u8981\u9009\u62e9\u82f1\u8bed\u6216\u81ea\u52a8\u68c0\u6d4b\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u7684\u65b9\u5f0f\u6765\u5207\u6362\u5e73\u53f0\u8bed\u8a00\u3002 \u6bcf\u4e2a\u7528\u6237\u7684\u591a\u8bed\u8a00\u670d\u52a1\u662f\u76f8\u4e92\u72ec\u7acb\u7684\uff0c\u5207\u6362\u540e\u4e0d\u4f1a\u5f71\u54cd\u5176\u4ed6\u7528\u6237\u3002

                                        \u5e73\u53f0\u63d0\u4f9b\u4e09\u79cd\u5207\u6362\u8bed\u8a00\u65b9\u5f0f\uff1a\u4e2d\u6587\u3001\u82f1\u8bed-English\u3001\u81ea\u52a8\u68c0\u6d4b\u60a8\u7684\u6d4f\u89c8\u5668\u8bed\u8a00\u9996\u9009\u9879\u3002

                                        \u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\u3002

                                        1. \u4f7f\u7528\u60a8\u7684\u7528\u6237\u540d/\u5bc6\u7801\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\u3002\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 \u3002

                                        2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

                                        3. \u70b9\u51fb \u8bed\u8a00\u8bbe\u7f6e \u9875\u7b7e\u3002

                                        4. \u5207\u6362\u8bed\u8a00\u9009\u9879\u3002

                                        "},{"location":"end-user/ghippo/personal-center/security-setting.html","title":"\u5b89\u5168\u8bbe\u7f6e","text":"

                                        \u529f\u80fd\u8bf4\u660e\uff1a\u7528\u4e8e\u586b\u5199\u90ae\u7bb1\u5730\u5740\u548c\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

                                        • \u90ae\u7bb1\uff1a\u5f53\u7ba1\u7406\u5458\u914d\u7f6e\u90ae\u7bb1\u670d\u52a1\u5668\u5730\u5740\u4e4b\u540e\uff0c\u7528\u6237\u80fd\u591f\u901a\u8fc7\u767b\u5f55\u9875\u7684\u5fd8\u8bb0\u5bc6\u7801\u6309\u94ae\uff0c\u586b\u5199\u8be5\u5904\u7684\u90ae\u7bb1\u5730\u5740\u4ee5\u627e\u56de\u5bc6\u7801\u3002
                                        • \u5bc6\u7801\uff1a\u7528\u4e8e\u767b\u5f55\u5e73\u53f0\u7684\u5bc6\u7801\uff0c\u5efa\u8bae\u5b9a\u671f\u4fee\u6539\u5bc6\u7801\u3002

                                        \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                                        1. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7528\u6237\u540d\u4f4d\u7f6e\uff0c\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 \u3002

                                        2. \u70b9\u51fb \u5b89\u5168\u8bbe\u7f6e \u9875\u7b7e\u3002\u586b\u5199\u60a8\u7684\u90ae\u7bb1\u5730\u5740\u6216\u4fee\u6539\u767b\u5f55\u5bc6\u7801\u3002

                                        "},{"location":"end-user/ghippo/personal-center/ssh-key.html","title":"\u914d\u7f6e SSH \u516c\u94a5","text":"

                                        \u672c\u6587\u8bf4\u660e\u5982\u4f55\u914d\u7f6e SSH \u516c\u94a5\u3002

                                        "},{"location":"end-user/ghippo/personal-center/ssh-key.html#1-ssh","title":"\u6b65\u9aa4 1\uff1a\u67e5\u770b\u5df2\u5b58\u5728\u7684 SSH \u5bc6\u94a5","text":"

                                        \u5728\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\u524d\uff0c\u8bf7\u5148\u786e\u8ba4\u662f\u5426\u9700\u8981\u4f7f\u7528\u672c\u5730\u5df2\u751f\u6210\u7684 SSH \u5bc6\u94a5\uff0cSSH \u5bc6\u94a5\u5bf9\u4e00\u822c\u5b58\u653e\u5728\u672c\u5730\u7528\u6237\u7684\u6839\u76ee\u5f55\u4e0b\u3002 Linux\u3001Mac \u8bf7\u76f4\u63a5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u5b58\u5728\u7684\u516c\u94a5\uff0cWindows \u7528\u6237\u5728 WSL\uff08\u9700\u8981 Windows 10 \u6216\u4ee5\u4e0a\uff09\u6216 Git Bash \u4e0b\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u5df2\u751f\u6210\u7684\u516c\u94a5\u3002

                                        • ED25519 \u7b97\u6cd5\uff1a

                                          cat ~/.ssh/id_ed25519.pub\n
                                        • RSA \u7b97\u6cd5\uff1a

                                          cat ~/.ssh/id_rsa.pub\n

                                        \u5982\u679c\u8fd4\u56de\u4e00\u957f\u4e32\u4ee5 ssh-ed25519 \u6216 ssh-rsa \u5f00\u5934\u7684\u5b57\u7b26\u4e32\uff0c\u8bf4\u660e\u5df2\u5b58\u5728\u672c\u5730\u516c\u94a5\uff0c \u60a8\u53ef\u4ee5\u8df3\u8fc7\u6b65\u9aa4 2 \u751f\u6210 SSH \u5bc6\u94a5\uff0c\u76f4\u63a5\u64cd\u4f5c\u6b65\u9aa4 3\u3002

                                        "},{"location":"end-user/ghippo/personal-center/ssh-key.html#2-ssh","title":"\u6b65\u9aa4 2\uff1a\u751f\u6210 SSH \u5bc6\u94a5","text":"

                                        \u82e5\u6b65\u9aa4 1 \u672a\u8fd4\u56de\u6307\u5b9a\u7684\u5185\u5bb9\u5b57\u7b26\u4e32\uff0c\u8868\u793a\u672c\u5730\u6682\u65e0\u53ef\u7528 SSH \u5bc6\u94a5\uff0c\u9700\u8981\u751f\u6210\u65b0\u7684 SSH \u5bc6\u94a5\uff0c\u8bf7\u6309\u5982\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                                        1. \u8bbf\u95ee\u7ec8\u7aef\uff08Windows \u8bf7\u4f7f\u7528 WSL \u6216 Git Bash\uff09\uff0c \u8fd0\u884c ssh-keygen -t\u3002

                                        2. \u8f93\u5165\u5bc6\u94a5\u7b97\u6cd5\u7c7b\u578b\u548c\u53ef\u9009\u7684\u6ce8\u91ca\u3002

                                          \u6ce8\u91ca\u4f1a\u51fa\u73b0\u5728 .pub \u6587\u4ef6\u4e2d\uff0c\u4e00\u822c\u53ef\u4f7f\u7528\u90ae\u7bb1\u4f5c\u4e3a\u6ce8\u91ca\u5185\u5bb9\u3002

                                          • \u57fa\u4e8e ED25519 \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

                                            ssh-keygen -t ed25519 -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
                                          • \u57fa\u4e8e RSA \u7b97\u6cd5\uff0c\u751f\u6210\u5bc6\u94a5\u5bf9\u547d\u4ee4\u5982\u4e0b\uff1a

                                            ssh-keygen -t rsa -C \"<\u6ce8\u91ca\u5185\u5bb9>\"\n
                                        3. \u70b9\u51fb\u56de\u8f66\uff0c\u9009\u62e9 SSH \u5bc6\u94a5\u751f\u6210\u8def\u5f84\u3002

                                          \u4ee5 ED25519 \u7b97\u6cd5\u4e3a\u4f8b\uff0c\u9ed8\u8ba4\u8def\u5f84\u5982\u4e0b\uff1a

                                          Generating public/private ed25519 key pair.\nEnter file in which to save the key (/home/user/.ssh/id_ed25519):\n

                                          \u5bc6\u94a5\u9ed8\u8ba4\u751f\u6210\u8def\u5f84\uff1a/home/user/.ssh/id_ed25519\uff0c\u516c\u94a5\u4e0e\u4e4b\u5bf9\u5e94\u4e3a\uff1a/home/user/.ssh/id_ed25519.pub\u3002

                                        4. \u8bbe\u7f6e\u4e00\u4e2a\u5bc6\u94a5\u53e3\u4ee4\u3002

                                          Enter passphrase (empty for no passphrase):\nEnter same passphrase again:\n

                                          \u53e3\u4ee4\u9ed8\u8ba4\u4e3a\u7a7a\uff0c\u60a8\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528\u53e3\u4ee4\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u3002 \u5982\u679c\u60a8\u4e0d\u60f3\u5728\u6bcf\u6b21\u4f7f\u7528 SSH \u534f\u8bae\u8bbf\u95ee\u4ed3\u5e93\u65f6\uff0c\u90fd\u8981\u8f93\u5165\u7528\u4e8e\u4fdd\u62a4\u79c1\u94a5\u6587\u4ef6\u7684\u53e3\u4ee4\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u8f93\u5165\u7a7a\u53e3\u4ee4\u3002

                                        5. \u70b9\u51fb\u56de\u8f66\uff0c\u5b8c\u6210\u5bc6\u94a5\u5bf9\u521b\u5efa\u3002

                                        "},{"location":"end-user/ghippo/personal-center/ssh-key.html#3","title":"\u6b65\u9aa4 3\uff1a\u62f7\u8d1d\u516c\u94a5","text":"

                                        \u9664\u4e86\u5728\u547d\u4ee4\u884c\u6253\u5370\u51fa\u5df2\u751f\u6210\u7684\u516c\u94a5\u4fe1\u606f\u624b\u52a8\u590d\u5236\u5916\uff0c\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u62f7\u8d1d\u516c\u94a5\u5230\u7c98\u8d34\u677f\u4e0b\uff0c\u8bf7\u53c2\u8003\u64cd\u4f5c\u7cfb\u7edf\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u62f7\u8d1d\u3002

                                        • Windows\uff08\u5728 WSL \u6216 Git Bash \u4e0b\uff09\uff1a

                                          cat ~/.ssh/id_ed25519.pub | clip\n
                                        • Mac\uff1a

                                          tr -d '\\n'< ~/.ssh/id_ed25519.pub | pbcopy\n
                                        • GNU/Linux (requires xclip):

                                          xclip -sel clip < ~/.ssh/id_ed25519.pub\n
                                        "},{"location":"end-user/ghippo/personal-center/ssh-key.html#4-ai","title":"\u6b65\u9aa4 4\uff1a\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u8bbe\u7f6e\u516c\u94a5","text":"
                                        1. \u767b\u5f55\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0UI \u9875\u9762\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u4e2a\u4eba\u4e2d\u5fc3 -> SSH \u516c\u94a5 \u3002

                                        2. \u6dfb\u52a0\u751f\u6210\u7684 SSH \u516c\u94a5\u4fe1\u606f\u3002

                                          1. SSH \u516c\u94a5\u5185\u5bb9\u3002

                                          2. \u516c\u94a5\u6807\u9898\uff1a\u652f\u6301\u81ea\u5b9a\u4e49\u516c\u94a5\u540d\u79f0\uff0c\u7528\u4e8e\u533a\u5206\u7ba1\u7406\u3002

                                          3. \u8fc7\u671f\u65f6\u95f4\uff1a\u8bbe\u7f6e\u516c\u94a5\u8fc7\u671f\u65f6\u95f4\uff0c\u5230\u671f\u540e\u516c\u94a5\u5c06\u81ea\u52a8\u5931\u6548\uff0c\u4e0d\u53ef\u4f7f\u7528\uff1b\u5982\u679c\u4e0d\u8bbe\u7f6e\uff0c\u5219\u6c38\u4e45\u6709\u6548\u3002

                                        "},{"location":"end-user/ghippo/workspace/folder-permission.html","title":"\u6587\u4ef6\u5939\u6743\u9650\u8bf4\u660e","text":"

                                        \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

                                        \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u662f Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5b50\u6587\u4ef6\u5939\u4ecd\u4e3a Folder Admin \u89d2\u8272\uff0c\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4\u5219\u4e3a Workspace Admin\uff1b \u82e5\u5728 \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 -> \u8d44\u6e90\u7ec4 \u4e2d\u7ed1\u5b9a\u4e86 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fd8\u662f Namespace Admin\u3002

                                        Note

                                        \u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

                                        "},{"location":"end-user/ghippo/workspace/folder-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

                                        \u6587\u4ef6\u5939\u5177\u6709\u5c42\u7ea7\u80fd\u529b\uff0c\u56e0\u6b64\u5c06\u6587\u4ef6\u5939\u5bf9\u5e94\u4e8e\u4f01\u4e1a\u4e2d\u7684\u90e8\u95e8/\u4f9b\u5e94\u5546/\u9879\u76ee\u7b49\u5c42\u7ea7\u65f6\uff0c

                                        • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u7ba1\u7406\u6743\u9650\uff08Admin\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u7ba1\u7406\u6743\u9650\uff1b
                                        • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u4f7f\u7528\u6743\u9650\uff08Editor\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u4f7f\u7528\u6743\u9650\uff1b
                                        • \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u4e00\u7ea7\u90e8\u95e8\u5177\u6709\u53ea\u8bfb\u6743\u9650\uff08Viewer\uff09\uff0c\u5176\u4e0b\u7684\u4e8c\u7ea7\u3001\u4e09\u7ea7\u3001\u56db\u7ea7\u90e8\u95e8\u6216\u9879\u76ee\u540c\u6837\u5177\u6709\u53ea\u8bfb\u6743\u9650\u3002
                                        \u5bf9\u8c61 \u64cd\u4f5c Folder Admin Folder Editor Folder Viewer \u5bf9\u6587\u4ef6\u5939\u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5b50\u6587\u4ef6\u5939 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 \u521b\u5efa \u2713 \u2717 \u2717 \u67e5\u770b \u2713 \u2713 \u2713 \u6388\u6743 \u2713 \u2717 \u2717 \u4fee\u6539\u522b\u540d \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5bf9\u5176\u4e0b\u7684\u5de5\u4f5c\u7a7a\u95f4 - \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717"},{"location":"end-user/ghippo/workspace/folders.html","title":"\u521b\u5efa/\u5220\u9664\u6587\u4ef6\u5939","text":"

                                        \u6587\u4ef6\u5939\u5177\u6709\u6743\u9650\u6620\u5c04\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u672c\u6587\u4ef6\u5939\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u5b50\u6587\u4ef6\u5939\u3001\u5de5\u4f5c\u7a7a\u95f4\u4ee5\u53ca\u8d44\u6e90\u4e0a\u3002

                                        \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\u3002

                                        1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

                                        2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u6587\u4ef6\u5939 \u6309\u94ae\u3002

                                        3. \u586b\u5199\u6587\u4ef6\u5939\u540d\u79f0\u3001\u4e0a\u4e00\u7ea7\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u6587\u4ef6\u5939\u3002

                                        Tip

                                        \u521b\u5efa\u6210\u529f\u540e\u6587\u4ef6\u5939\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

                                        Note

                                        \u9009\u4e2d\u67d0\u4e00\u4e2a\u6587\u4ef6\u5939\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

                                        • \u5f53\u8be5\u6587\u4ef6\u5939\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002

                                        • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u6587\u4ef6\u5939\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u6587\u4ef6\u5939\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u6587\u4ef6\u5939\u3002

                                        "},{"location":"end-user/ghippo/workspace/quota.html","title":"\u8d44\u6e90\u914d\u989d\uff08Quota\uff09","text":"

                                        \u5171\u4eab\u8d44\u6e90\u5e76\u975e\u610f\u5473\u7740\u88ab\u5171\u4eab\u8005\u53ef\u4ee5\u65e0\u9650\u5236\u5730\u4f7f\u7528\u88ab\u5171\u4eab\u7684\u8d44\u6e90\u3002 Admin\u3001Kpanda Owner \u548c Workspace Admin \u53ef\u4ee5\u901a\u8fc7\u5171\u4eab\u8d44\u6e90\u4e2d\u7684 \u8d44\u6e90\u914d\u989d \u529f\u80fd\u9650\u5236\u67d0\u4e2a\u7528\u6237\u7684\u6700\u5927\u4f7f\u7528\u989d\u5ea6\u3002 \u82e5\u4e0d\u9650\u5236\uff0c\u5219\u8868\u793a\u53ef\u4ee5\u65e0\u9650\u5236\u4f7f\u7528\u3002

                                        • CPU \u8bf7\u6c42\uff08Core\uff09
                                        • CPU \u9650\u5236\uff08Core\uff09
                                        • \u5185\u5b58\u8bf7\u6c42\uff08MB\uff09
                                        • \u5185\u5b58\u9650\u5236\uff08MB\uff09
                                        • \u5b58\u50a8\u8bf7\u6c42\u603b\u91cf\uff08GB\uff09
                                        • \u5b58\u50a8\u5377\u58f0\u660e\uff08\u4e2a\uff09
                                        • GPU \u7c7b\u578b\u3001\u89c4\u683c\u3001\u6570\u91cf\uff08\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e Nvidia\u3001Ascend\u3001lluvatar\u7b49GPU\u5361\u7c7b\u578b\uff09

                                        \u4e00\u4e2a\u8d44\u6e90\uff08\u96c6\u7fa4\uff09\u53ef\u4ee5\u88ab\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5171\u4eab\uff0c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u53ef\u4ee5\u540c\u65f6\u4f7f\u7528\u591a\u4e2a\u5171\u4eab\u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u3002

                                        "},{"location":"end-user/ghippo/workspace/quota.html#_1","title":"\u8d44\u6e90\u7ec4\u548c\u5171\u4eab\u8d44\u6e90","text":"

                                        \u5171\u4eab\u8d44\u6e90\u548c\u8d44\u6e90\u7ec4\u4e2d\u7684\u96c6\u7fa4\u8d44\u6e90\u5747\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\uff0c\u4f46\u662f\u96c6\u7fa4\u7ed1\u5b9a\u548c\u5171\u4eab\u7ed9\u540c\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5c06\u4f1a\u4ea7\u751f\u4e24\u79cd\u622a\u7136\u4e0d\u540c\u7684\u6548\u679c\u3002

                                        1. \u7ed1\u5b9a\u8d44\u6e90

                                          \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u7684\u5168\u90e8\u7ba1\u7406\u548c\u4f7f\u7528\u6743\u9650\uff0cWorkspace Admin \u5c06\u88ab\u6620\u5c04\u4e3a Cluster Admin\u3002 Workspace Admin \u80fd\u591f\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7ba1\u7406\u8be5\u96c6\u7fa4\u3002

                                          Note

                                          \u5f53\u524d\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u6682\u65e0 Cluster Editor \u548c Cluster Viewer \u89d2\u8272\uff0c\u56e0\u6b64 Workspace Editor\u3001Workspace Viewer \u8fd8\u65e0\u6cd5\u6620\u5c04\u3002

                                        2. \u65b0\u589e\u5171\u4eab\u8d44\u6e90

                                          \u4f7f\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5177\u6709\u8be5\u96c6\u7fa4\u8d44\u6e90\u7684\u4f7f\u7528\u6743\u9650\uff0c\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff08Namespace\uff09\u65f6\u4f7f\u7528\u3002

                                          \u4e0e\u8d44\u6e90\u7ec4\u4e0d\u540c\uff0c\u5c06\u96c6\u7fa4\u5171\u4eab\u5230\u5de5\u4f5c\u7a7a\u95f4\u65f6\uff0c\u7528\u6237\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u89d2\u8272\u4e0d\u4f1a\u6620\u5c04\u5230\u8d44\u6e90\u4e0a\uff0c\u56e0\u6b64 Workspace Admin \u4e0d\u4f1a\u88ab\u6620\u5c04\u4e3a Cluster admin\u3002

                                        \u672c\u8282\u5c55\u793a 3 \u4e2a\u4e0e\u8d44\u6e90\u914d\u989d\u6709\u5173\u7684\u573a\u666f\u3002

                                        "},{"location":"end-user/ghippo/workspace/quota.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

                                        \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u4f1a\u6d89\u53ca\u5230\u8d44\u6e90\u914d\u989d\u3002

                                        1. \u5728\u5de5\u4f5c\u7a7a\u95f4 ws01 \u65b0\u589e\u4e00\u4e2a\u5171\u4eab\u96c6\u7fa4\u3002

                                        2. \u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u9009\u62e9\u5de5\u4f5c\u7a7a\u95f4 ws01 \u548c\u5171\u4eab\u96c6\u7fa4\uff0c\u521b\u5efa\u547d\u540d\u7a7a\u95f4 ns01\u3002

                                          • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4e0d\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\u3002
                                          • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff08\u4f8b\u5982 CPU \u8bf7\u6c42 = 100 core\uff09\uff0c\u5219\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u65f6 CPU \u8bf7\u6c42 \u2264 100 core \u3002
                                        "},{"location":"end-user/ghippo/workspace/quota.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

                                        \u524d\u63d0\uff1a\u5de5\u4f5c\u7a7a\u95f4 ws01 \u5df2\u65b0\u589e\u5171\u4eab\u96c6\u7fa4\uff0c\u64cd\u4f5c\u8005\u4e3a Workspace Admin + Kpanda Owner \u6216 Admin \u89d2\u8272\u3002

                                        \u4ee5\u4e0b\u4e24\u79cd\u7ed1\u5b9a\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u521b\u5efa\u7684\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

                                          • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
                                          • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
                                        • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\uff0c\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u7ed1\u5b9a\u5230 ws01

                                          • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5747\u53ef\u6210\u529f\u7ed1\u5b9a\u3002
                                          • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u5fc5\u987b\u6ee1\u8db3 CPU \u8bf7\u6c42 \u2264 100 core \u624d\u80fd\u7ed1\u5b9a\u6210\u529f\u3002
                                        "},{"location":"end-user/ghippo/workspace/quota.html#_4","title":"\u4ece\u5de5\u4f5c\u7a7a\u95f4\u89e3\u7ed1\u547d\u540d\u7a7a\u95f4","text":"

                                        \u4ee5\u4e0b\u4e24\u79cd\u89e3\u7ed1\u65b9\u5f0f\u7684\u6548\u679c\u76f8\u540c\u3002

                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

                                          • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u4e2d\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
                                          • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
                                        • \u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u5c06\u547d\u540d\u7a7a\u95f4 ns01 \u4ece\u5de5\u4f5c\u7a7a\u95f4 ws01 \u89e3\u7ed1

                                          • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u672a\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u5219\u547d\u540d\u7a7a\u95f4 ns01 \u65e0\u8bba\u662f\u5426\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d\uff0c\u89e3\u7ed1\u540e\u5747\u4e0d\u4f1a\u5bf9\u8d44\u6e90\u914d\u989d\u4ea7\u751f\u5f71\u54cd\u3002
                                          • \u82e5\u5728\u5171\u4eab\u96c6\u7fa4\u5df2\u8bbe\u7f6e\u8d44\u6e90\u914d\u989d CPU \u8bf7\u6c42 = 100 core \uff0c\u547d\u540d\u7a7a\u95f4 ns01 \u4e5f\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d\uff0c\u5219\u89e3\u7ed1\u540e\u5c06\u91ca\u653e\u76f8\u5e94\u7684\u8d44\u6e90\u989d\u5ea6\u3002
                                        "},{"location":"end-user/ghippo/workspace/res-gp-and-shared-res.html","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u533a\u522b","text":"

                                        \u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u5747\u652f\u6301\u7ed1\u5b9a\u96c6\u7fa4\uff0c\u4f46\u4f7f\u7528\u4e0a\u5b58\u5728\u5f88\u5927\u533a\u522b\u3002

                                        "},{"location":"end-user/ghippo/workspace/res-gp-and-shared-res.html#_2","title":"\u4f7f\u7528\u573a\u666f\u533a\u522b","text":"
                                        • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u6279\u91cf\u6388\u6743\u3002\u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\u540e\uff0c \u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u96c6\u7fa4\u7ba1\u7406\u5458\uff0c\u80fd\u591f\u7ba1\u7406\u5e76\u4f7f\u7528\u96c6\u7fa4\u8d44\u6e90\u3002
                                        • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u8d44\u6e90\u5171\u4eab\u7ed1\u5b9a\u96c6\u7fa4\u901a\u5e38\u88ab\u7528\u6765\u505a\u8d44\u6e90\u9650\u989d\u3002 \u5178\u578b\u7684\u573a\u666f\u662f\u5e73\u53f0\u7ba1\u7406\u5458\u5c06\u96c6\u7fa4\u5206\u914d\u7ed9\u4e00\u7ea7\u4f9b\u5e94\u5546\u540e\uff0c\u518d\u7531\u4e00\u7ea7\u4f9b\u5e94\u5546\u5206\u914d\u7ed9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u5e76\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u989d\u3002

                                        \u8bf4\u660e\uff1a\u5728\u8be5\u573a\u666f\u4e2d\uff0c\u9700\u8981\u5e73\u53f0\u7ba1\u7406\u5458\u5bf9\u4e8c\u7ea7\u4f9b\u5e94\u5546\u8fdb\u884c\u8d44\u6e90\u9650\u5236\uff0c\u6682\u65f6\u8fd8\u4e0d\u652f\u6301\u4e00\u7ea7\u4f9b\u5e94\u5546\u9650\u5236\u4e8c\u7ea7\u4f9b\u5e94\u5546\u7684\u96c6\u7fa4\u989d\u5ea6\u3002

                                        "},{"location":"end-user/ghippo/workspace/res-gp-and-shared-res.html#_3","title":"\u96c6\u7fa4\u989d\u5ea6\u7684\u4f7f\u7528\u533a\u522b","text":"
                                        • \u8d44\u6e90\u7ec4\u7ed1\u5b9a\u96c6\u7fa4\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7684\u7ba1\u7406\u5458\u5c06\u88ab\u6620\u5c04\u4e3a\u8be5\u96c6\u7fa4\u7684\u7ba1\u7406\u5458\uff0c\u76f8\u5f53\u4e8e\u5728\u5bb9\u5668\u7ba1\u7406-\u6743\u9650\u7ba1\u7406\u4e2d\u88ab\u6388\u4e88 Cluster Admin \u89d2\u8272\uff0c \u80fd\u591f\u65e0\u9650\u5236\u652f\u914d\u8be5\u96c6\u7fa4\u8d44\u6e90\uff0c\u7ba1\u7406\u8282\u70b9\u7b49\u91cd\u8981\u5185\u5bb9\uff0c\u4e14\u8d44\u6e90\u7ec4\u4e0d\u80fd\u591f\u88ab\u8d44\u6e90\u9650\u989d\u3002
                                        • \u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u8d44\u6e90\uff1a\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u5458\u4ec5\u80fd\u591f\u4f7f\u7528\u96c6\u7fa4\u4e2d\u7684\u989d\u5ea6\u5728\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\u3002 \u82e5\u5bf9\u8be5\u5de5\u4f5c\u7a7a\u95f4\u9650\u5236\u989d\u5ea6\uff0c\u5219\u5de5\u4f5c\u7a7a\u95f4\u7ba1\u7406\u4ec5\u80fd\u591f\u5728\u989d\u5ea6\u8303\u56f4\u5185\u521b\u5efa\u5e76\u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u3002
                                        "},{"location":"end-user/ghippo/workspace/res-gp-and-shared-res.html#_4","title":"\u8d44\u6e90\u7c7b\u578b\u7684\u533a\u522b","text":"
                                        • \u8d44\u6e90\u7ec4\uff1a\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4\u3001\u96c6\u7fa4-\u547d\u540d\u7a7a\u95f4\u3001\u591a\u4e91\u3001\u591a\u4e91-\u547d\u540d\u7a7a\u95f4\u3001\u7f51\u683c\u3001\u7f51\u683c-\u547d\u540d\u7a7a\u95f4
                                        • \u5171\u4eab\u8d44\u6e90\uff1a\u4ec5\u80fd\u591f\u7ed1\u5b9a\u96c6\u7fa4
                                        "},{"location":"end-user/ghippo/workspace/res-gp-and-shared-res.html#_5","title":"\u8d44\u6e90\u7ec4\u4e0e\u5171\u4eab\u8d44\u6e90\u7684\u76f8\u540c\u70b9","text":"

                                        \u5728\u8d44\u6e90\u7ec4/\u5171\u4eab\u8d44\u6e90\u7ed1\u5b9a\u96c6\u7fa4\u540e\u90fd\u53ef\u4ee5\u524d\u5f80\u5e94\u7528\u5de5\u4f5c\u53f0\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u521b\u5efa\u540e\u547d\u540d\u7a7a\u95f4\u5c06\u81ea\u52a8\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\u3002

                                        "},{"location":"end-user/ghippo/workspace/workspace.html","title":"\u521b\u5efa/\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4","text":"

                                        \u5de5\u4f5c\u7a7a\u95f4\u662f\u4e00\u79cd\u8d44\u6e90\u8303\u7574\uff0c\u4ee3\u8868\u4e00\u79cd\u8d44\u6e90\u5c42\u7ea7\u5173\u7cfb\u3002 \u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5305\u542b\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u6ce8\u518c\u4e2d\u5fc3\u7b49\u8d44\u6e90\u3002 \u901a\u5e38\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5bf9\u5e94\u4e00\u4e2a\u9879\u76ee\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u4e0d\u540c\u7684\u8d44\u6e90\uff0c\u6307\u6d3e\u4e0d\u540c\u7684\u7528\u6237\u548c\u7528\u6237\u7ec4\u3002

                                        \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u3002

                                        1. \u4f7f\u7528 admin/folder admin \u89d2\u8272\u7684\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u5e95\u90e8\u7684 \u5168\u5c40\u7ba1\u7406 -> \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u3002

                                        2. \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4 \u6309\u94ae\u3002

                                        3. \u586b\u5199\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u3001\u6240\u5c5e\u6587\u4ef6\u5939\u7b49\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u521b\u5efa\u5de5\u4f5c\u7a7a\u95f4\u3002

                                        Tip

                                        \u521b\u5efa\u6210\u529f\u540e\u5de5\u4f5c\u7a7a\u95f4\u540d\u79f0\u5c06\u663e\u793a\u5728\u5de6\u4fa7\u7684\u6811\u72b6\u7ed3\u6784\u4e2d\uff0c\u4ee5\u4e0d\u540c\u7684\u56fe\u6807\u8868\u793a\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u3002

                                        Note

                                        \u9009\u4e2d\u67d0\u4e00\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u6216\u6587\u4ef6\u5939\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 ... \u53ef\u4ee5\u8fdb\u884c\u7f16\u8f91\u6216\u5220\u9664\u3002

                                        • \u5f53\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u8d44\u6e90\u7ec4\u3001\u5171\u4eab\u8d44\u6e90\u4e2d\u5b58\u5728\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u8d44\u6e90\u89e3\u7ed1\u540e\u518d\u5220\u9664\u3002
                                        • \u5f53\u5fae\u670d\u52a1\u5f15\u64ce\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u8d44\u6e90\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u6240\u6709\u63a5\u5165\u6ce8\u518c\u4e2d\u5fc3\u79fb\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
                                        • \u5f53\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u4e0b\u5b58\u5728\u955c\u50cf\u7a7a\u95f4\u6216\u96c6\u6210\u4ed3\u5e93\u65f6\uff0c\u8be5\u5de5\u4f5c\u7a7a\u95f4\u65e0\u6cd5\u88ab\u5220\u9664\uff0c\u9700\u8981\u5c06\u955c\u50cf\u7a7a\u95f4\u89e3\u7ed1\uff0c\u5c06\u4ed3\u5e93\u96c6\u6210\u5220\u9664\u540e\u518d\u5220\u9664\u5de5\u4f5c\u7a7a\u95f4\u3002
                                        "},{"location":"end-user/ghippo/workspace/ws-folder.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7","text":"

                                        \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u662f\u4e00\u4e2a\u5177\u6709\u5c42\u7ea7\u7684\u8d44\u6e90\u9694\u79bb\u548c\u8d44\u6e90\u5206\u7ec4\u7279\u6027\uff0c\u4e3b\u8981\u89e3\u51b3\u8d44\u6e90\u7edf\u4e00\u6388\u6743\u3001\u8d44\u6e90\u5206\u7ec4\u4ee5\u53ca\u8d44\u6e90\u9650\u989d\u95ee\u9898\u3002

                                        \u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7 \u6709\u4e24\u4e2a\u6982\u5ff5\uff1a\u5de5\u4f5c\u7a7a\u95f4\u548c\u6587\u4ef6\u5939\u3002

                                        "},{"location":"end-user/ghippo/workspace/ws-folder.html#_2","title":"\u5de5\u4f5c\u7a7a\u95f4","text":"

                                        \u5de5\u4f5c\u7a7a\u95f4\u53ef\u901a\u8fc7 \u6388\u6743 \u3001 \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u6765\u7ba1\u7406\u8d44\u6e90\uff0c\u4f7f\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u4e4b\u95f4\u80fd\u591f\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u3002

                                        • \u8d44\u6e90

                                          \u8d44\u6e90\u5904\u4e8e\u8d44\u6e90\u7ba1\u7406\u6a21\u5757\u5c42\u7ea7\u7ed3\u6784\u7684\u6700\u4f4e\u5c42\u7ea7\uff0c\u8d44\u6e90\u5305\u62ec Cluster\u3001Namespace\u3001Pipeline\u3001\u7f51\u5173\u7b49\u3002 \u6240\u6709\u8fd9\u4e9b\u8d44\u6e90\u7684\u7236\u7ea7\u53ea\u80fd\u662f\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4f5c\u4e3a\u8d44\u6e90\u5bb9\u5668\u662f\u4e00\u79cd\u8d44\u6e90\u5206\u7ec4\u5355\u4f4d\u3002

                                        • \u5de5\u4f5c\u7a7a\u95f4

                                          \u5de5\u4f5c\u7a7a\u95f4\u901a\u5e38\u4ee3\u6307\u4e00\u4e2a\u9879\u76ee\u6216\u73af\u5883\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u76f8\u5bf9\u4e8e\u5176\u4ed6\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u65f6\u903b\u8f91\u9694\u79bb\u7684\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u6388\u6743\uff0c\u6388\u4e88\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u540c\u4e00\u7ec4\u8d44\u6e90\u7684\u4e0d\u540c\u8bbf\u95ee\u6743\u9650\u3002

                                          \u4ece\u5c42\u6b21\u7ed3\u6784\u7684\u5e95\u5c42\u7b97\u8d77\uff0c\u5de5\u4f5c\u7a7a\u95f4\u4f4d\u4e8e\u7b2c\u4e00\u5c42\uff0c\u4e14\u5305\u542b\u8d44\u6e90\u3002 \u9664\u5171\u4eab\u8d44\u6e90\u5916\uff0c\u6240\u6709\u8d44\u6e90\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u9879\u3002\u6240\u6709\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\u3002

                                          \u8d44\u6e90\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\uff0c\u800c\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5b58\u5728\u4e24\u79cd\u5206\u7ec4\u6a21\u5f0f\uff0c\u5206\u522b\u662f \u8d44\u6e90\u7ec4 \u548c \u5171\u4eab\u8d44\u6e90 \u3002

                                        • \u8d44\u6e90\u7ec4

                                          \u4e00\u4e2a\u8d44\u6e90\u53ea\u80fd\u52a0\u5165\u4e00\u4e2a\u8d44\u6e90\u7ec4\uff0c\u8d44\u6e90\u7ec4\u4e0e\u5de5\u4f5c\u7a7a\u95f4\u4e00\u4e00\u5bf9\u5e94\u3002 \u8d44\u6e90\u88ab\u52a0\u5165\u5230\u8d44\u6e90\u7ec4\u540e\uff0cWorkspace Admin \u5c06\u83b7\u5f97\u8d44\u6e90\u7684\u7ba1\u7406\u6743\u9650\uff0c\u76f8\u5f53\u4e8e\u8be5\u8d44\u6e90\u7684\u6240\u6709\u8005\u3002

                                        • \u5171\u4eab\u8d44\u6e90

                                          \u800c\u5bf9\u4e8e\u5171\u4eab\u8d44\u6e90\u6765\u8bf4\uff0c\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u8d44\u6e90\u3002 \u8d44\u6e90\u7684\u6240\u6709\u8005\uff0c\u53ef\u4ee5\u9009\u62e9\u5c06\u81ea\u5df1\u62e5\u6709\u7684\u8d44\u6e90\u5171\u4eab\u7ed9\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u4e00\u822c\u5171\u4eab\u65f6\u8d44\u6e90\u6240\u6709\u8005\u4f1a\u9650\u5236\u88ab\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u989d\u5ea6\u3002 \u8d44\u6e90\u88ab\u5171\u4eab\u540e\uff0cWorkspace Admin \u4ec5\u5177\u6709\u8d44\u6e90\u9650\u989d\u4e0b\u7684\u8d44\u6e90\u4f7f\u7528\u6743\u9650\uff0c\u65e0\u6cd5\u7ba1\u7406\u8d44\u6e90\u6216\u8005\u8c03\u6574\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u4f7f\u7528\u7684\u8d44\u6e90\u91cf\u3002

                                          \u540c\u65f6\u5171\u4eab\u8d44\u6e90\u5bf9\u4e8e\u8d44\u6e90\u672c\u8eab\u4e5f\u5177\u6709\u4e00\u5b9a\u7684\u8981\u6c42\uff0c\u53ea\u6709 Cluster\uff08\u96c6\u7fa4\uff09\u8d44\u6e90\u53ef\u4ee5\u88ab\u5171\u4eab\u3002 Cluster Admin \u80fd\u591f\u5c06 Cluster \u8d44\u6e90\u5206\u4eab\u7ed9\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u4f7f\u7528\uff0c\u5e76\u4e14\u9650\u5236\u5de5\u4f5c\u7a7a\u95f4\u5728\u6b64 Cluster \u4e0a\u7684\u4f7f\u7528\u989d\u5ea6\u3002

                                          Workspace Admin \u5728\u8d44\u6e90\u9650\u989d\u5185\u80fd\u591f\u521b\u5efa\u591a\u4e2a Namespace\uff0c\u4f46\u662f Namespace \u7684\u8d44\u6e90\u989d\u5ea6\u603b\u548c\u4e0d\u80fd\u8d85\u8fc7 Cluster \u5728\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u8d44\u6e90\u9650\u989d\u3002 \u5bf9\u4e8e Kubernetes \u8d44\u6e90\uff0c\u5f53\u524d\u80fd\u591f\u5206\u4eab\u7684\u8d44\u6e90\u7c7b\u578b\u4ec5\u6709 Cluster\u3002

                                        "},{"location":"end-user/ghippo/workspace/ws-folder.html#_3","title":"\u6587\u4ef6\u5939","text":"

                                        \u6587\u4ef6\u5939\u53ef\u7528\u4e8e\u6784\u5efa\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\u3002

                                        • \u6587\u4ef6\u5939\u662f\u5728\u5de5\u4f5c\u7a7a\u95f4\u57fa\u7840\u4e4b\u4e0a\u7684\u8fdb\u4e00\u6b65\u5206\u7ec4\u673a\u5236\uff0c\u5177\u6709\u5c42\u7ea7\u7ed3\u6784\u3002 \u4e00\u4e2a\u6587\u4ef6\u5939\u53ef\u4ee5\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u3001\u5176\u4ed6\u6587\u4ef6\u5939\u6216\u4e24\u8005\u7684\u7ec4\u5408\uff0c\u80fd\u591f\u5f62\u6210\u6811\u72b6\u7684\u7ec4\u7ec7\u5173\u7cfb\u3002

                                        • \u501f\u52a9\u6587\u4ef6\u5939\u60a8\u53ef\u4ee5\u6620\u5c04\u4f01\u4e1a\u4e1a\u52a1\u5c42\u7ea7\u5173\u7cfb\uff0c\u6309\u7167\u90e8\u95e8\u5bf9\u5de5\u4f5c\u7a7a\u95f4\u8fdb\u884c\u5206\u7ec4\u3002 \u6587\u4ef6\u5939\u4e0d\u76f4\u63a5\u4e0e\u8d44\u6e90\u6302\u94a9\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u7a7a\u95f4\u95f4\u63a5\u5b9e\u73b0\u8d44\u6e90\u5206\u7ec4\u3002

                                        • \u6587\u4ef6\u5939\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u7236\u7ea7\u6587\u4ef6\u5939\uff0c\u800c\u6839\u6587\u4ef6\u5939\u662f\u5c42\u6b21\u7ed3\u6784\u7684\u6700\u9ad8\u5c42\u7ea7\u3002 \u6839\u6587\u4ef6\u5939\u6ca1\u6709\u7236\u7ea7\uff0c\u6587\u4ef6\u5939\u548c\u5de5\u4f5c\u7a7a\u95f4\u5747\u6302\u9760\u5230\u6839\u6587\u4ef6\u5939\u4e0b\u3002

                                        \u53e6\u5916\uff0c\u7528\u6237\uff08\u7528\u6237\u7ec4\uff09\u5728\u6587\u4ef6\u5939\u4e2d\u80fd\u591f\u901a\u8fc7\u5c42\u7ea7\u7ed3\u6784\u7ee7\u627f\u6765\u81ea\u7236\u9879\u7684\u6743\u9650\u3002 \u7528\u6237\u5728\u5c42\u6b21\u7ed3\u6784\u4e2d\u7684\u6743\u9650\u6765\u81ea\u5f53\u524d\u5c42\u7ea7\u7684\u6743\u9650\u4ee5\u53ca\u7ee7\u627f\u5176\u7236\u9879\u6743\u9650\u7684\u7ec4\u5408\u7ed3\u679c\uff0c\u6743\u9650\u4e4b\u95f4\u662f\u52a0\u5408\u5173\u7cfb\u4e0d\u5b58\u5728\u4e92\u65a5\u3002

                                        "},{"location":"end-user/ghippo/workspace/ws-permission.html","title":"\u5de5\u4f5c\u7a7a\u95f4\u6743\u9650\u8bf4\u660e","text":"

                                        \u5de5\u4f5c\u7a7a\u95f4\u5177\u6709\u6743\u9650\u6620\u5c04\u548c\u8d44\u6e90\u9694\u79bb\u80fd\u529b\uff0c\u80fd\u591f\u5c06\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u5230\u5176\u4e0b\u7684\u8d44\u6e90\u4e0a\u3002 \u82e5\u7528\u6237/\u7528\u6237\u7ec4\u5728\u5de5\u4f5c\u7a7a\u95f4\u662f Workspace Admin \u89d2\u8272\uff0c\u540c\u65f6\u5de5\u4f5c\u7a7a\u95f4-\u8d44\u6e90\u7ec4\u4e2d\u7ed1\u5b9a\u4e86\u8d44\u6e90 Namespace\uff0c\u5219\u6620\u5c04\u540e\u8be5\u7528\u6237/\u7528\u6237\u7ec4\u5c06\u6210\u4e3a Namespace Admin\u3002

                                        Note

                                        \u5de5\u4f5c\u7a7a\u95f4\u7684\u6743\u9650\u6620\u5c04\u80fd\u529b\u4e0d\u4f1a\u4f5c\u7528\u5230\u5171\u4eab\u8d44\u6e90\u4e0a\uff0c\u56e0\u4e3a\u5171\u4eab\u662f\u5c06\u96c6\u7fa4\u7684\u4f7f\u7528\u6743\u9650\u5171\u4eab\u7ed9\u591a\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u800c\u4e0d\u662f\u5c06\u7ba1\u7406\u6743\u9650\u53d7\u8ba9\u7ed9\u5de5\u4f5c\u7a7a\u95f4\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5b9e\u73b0\u6743\u9650\u7ee7\u627f\u548c\u89d2\u8272\u6620\u5c04\u3002

                                        "},{"location":"end-user/ghippo/workspace/ws-permission.html#_2","title":"\u5e94\u7528\u573a\u666f","text":"

                                        \u901a\u8fc7\u5c06\u8d44\u6e90\u7ed1\u5b9a\u5230\u4e0d\u540c\u7684\u5de5\u4f5c\u7a7a\u95f4\u80fd\u591f\u5b9e\u73b0\u8d44\u6e90\u9694\u79bb\u3002 \u56e0\u6b64\u501f\u52a9\u6743\u9650\u6620\u5c04\u3001\u8d44\u6e90\u9694\u79bb\u548c\u5171\u4eab\u8d44\u6e90\u80fd\u529b\u80fd\u591f\u5c06\u8d44\u6e90\u7075\u6d3b\u5206\u914d\u7ed9\u5404\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff08\u79df\u6237\uff09\u3002

                                        \u901a\u5e38\u9002\u7528\u4e8e\u4ee5\u4e0b\u4e24\u4e2a\u573a\u666f\uff1a

                                        • \u96c6\u7fa4\u4e00\u5bf9\u4e00

                                          \u666e\u901a\u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u7528\u9014 \u96c6\u7fa4 01 A \u7ba1\u7406\u548c\u4f7f\u7528 \u96c6\u7fa4 02 B \u7ba1\u7406\u548c\u4f7f\u7528
                                        • \u96c6\u7fa4\u4e00\u5bf9\u591a

                                          \u96c6\u7fa4 \u90e8\u95e8/\u79df\u6237\uff08\u5de5\u4f5c\u7a7a\u95f4\uff09 \u8d44\u6e90\u9650\u989d \u96c6\u7fa4 01 A 100 \u6838 CPU B 50 \u6838 CPU
                                        "},{"location":"end-user/ghippo/workspace/ws-permission.html#_3","title":"\u6743\u9650\u8bf4\u660e","text":"\u64cd\u4f5c\u5bf9\u8c61 \u64cd\u4f5c Workspace Admin Workspace Editor Workspace Viewer \u672c\u8eab \u67e5\u770b \u2713 \u2713 \u2713 - \u6388\u6743 \u2713 \u2717 \u2717 - \u4fee\u6539\u522b\u540d \u2713 \u2713 \u2717 \u8d44\u6e90\u7ec4 \u67e5\u770b \u2713 \u2713 \u2713 - \u8d44\u6e90\u7ed1\u5b9a \u2713 \u2717 \u2717 - \u89e3\u9664\u7ed1\u5b9a \u2713 \u2717 \u2717 \u5171\u4eab\u8d44\u6e90 \u67e5\u770b \u2713 \u2713 \u2713 - \u65b0\u589e\u5171\u4eab \u2713 \u2717 \u2717 - \u89e3\u9664\u5171\u4eab \u2713 \u2717 \u2717 - \u8d44\u6e90\u9650\u989d \u2713 \u2717 \u2717 - \u4f7f\u7528\u5171\u4eab\u8d44\u6e90 1 \u2713 \u2717 \u2717
                                        1. \u6388\u6743\u7528\u6237\u53ef\u524d\u5f80\u5e94\u7528\u5de5\u4f5c\u53f0\u3001\u5fae\u670d\u52a1\u5f15\u64ce\u3001\u4e2d\u95f4\u4ef6\u3001\u591a\u4e91\u7f16\u6392\u3001\u670d\u52a1\u7f51\u683c\u7b49\u6a21\u5757\u4f7f\u7528\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u3002 \u6709\u5173 Workspace Admin\u3001Workspace Editor\u3001Workspace Viewer \u89d2\u8272\u5728\u5404\u4ea7\u54c1\u6a21\u5757\u7684\u64cd\u4f5c\u8303\u56f4\uff0c\u8bf7\u67e5\u9605\u5404\u6a21\u5757\u7684\u6743\u9650\u8bf4\u660e\uff1a

                                          • \u5e94\u7528\u5de5\u4f5c\u53f0\u6743\u9650\u8bf4\u660e
                                          • \u670d\u52a1\u7f51\u683c\u6743\u9650\u8bf4\u660e
                                          • \u4e2d\u95f4\u4ef6\u6743\u9650\u8bf4\u660e
                                          • \u5fae\u670d\u52a1\u5f15\u64ce\u6743\u9650\u8bf4\u660e
                                          • \u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e

                                          \u21a9

                                        "},{"location":"end-user/ghippo/workspace/wsbind-permission.html","title":"\u8d44\u6e90\u7ed1\u5b9a\u6743\u9650\u8bf4\u660e","text":"

                                        \u5047\u5982\u7528\u6237\u5c0f\u660e\uff08\u201c\u5c0f\u660e\u201d\u4ee3\u8868\u4efb\u4f55\u6709\u8d44\u6e90\u7ed1\u5b9a\u9700\u6c42\u7684\u7528\u6237\uff09\u5df2\u7ecf\u5177\u5907\u4e86 Workspace Admin \u89d2\u8272\u6216\u5df2\u901a\u8fc7\u81ea\u5b9a\u4e49\u89d2\u8272\u6388\u6743\uff0c \u540c\u65f6\u81ea\u5b9a\u4e49\u89d2\u8272\u4e2d\u5305\u542b\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u5e0c\u671b\u5c06\u67d0\u4e2a\u96c6\u7fa4\u6216\u8005\u67d0\u4e2a\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u5176\u6240\u5728\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

                                        \u8981\u5c06\u96c6\u7fa4/\u547d\u540d\u7a7a\u95f4\u8d44\u6e90\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4\uff0c\u4e0d\u4ec5\u9700\u8981\u8be5\u5de5\u4f5c\u7a7a\u95f4\u7684\u201c\u8d44\u6e90\u7ed1\u5b9a\u201d\u6743\u9650\uff0c\u8fd8\u9700\u8981 Cluster Admin \u7684\u8d44\u6e90\u6743\u9650\u3002

                                        "},{"location":"end-user/ghippo/workspace/wsbind-permission.html#_2","title":"\u7ed9\u5c0f\u660e\u6388\u6743","text":"
                                        1. \u4f7f\u7528\u5e73\u53f0 Admin \u89d2\u8272\uff0c \u5728 \u5de5\u4f5c\u7a7a\u95f4 -> \u6388\u6743 \u9875\u9762\u7ed9\u5c0f\u660e\u6388\u4e88 Workspace Admin \u89d2\u8272\u3002

                                        2. \u7136\u540e\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u6743\u9650\u7ba1\u7406 \u9875\u9762\uff0c\u901a\u8fc7 \u6dfb\u52a0\u6388\u6743 \u5c06\u5c0f\u660e\u6388\u6743\u4e3a Cluster Admin\u3002

                                        "},{"location":"end-user/ghippo/workspace/wsbind-permission.html#_3","title":"\u7ed1\u5b9a\u5230\u5de5\u4f5c\u7a7a\u95f4","text":"

                                        \u4f7f\u7528\u5c0f\u660e\u7684\u8d26\u53f7\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u901a\u8fc7 \u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4 \u529f\u80fd\uff0c \u5c0f\u660e\u53ef\u4ee5\u5c06\u6307\u5b9a\u96c6\u7fa4\u7ed1\u5b9a\u5230\u81ea\u5df1\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u3002

                                        Note

                                        \u5c0f\u660e\u80fd\u4e14\u53ea\u80fd\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5c06\u96c6\u7fa4\u6216\u8005\u8be5\u96c6\u7fa4\u4e0b\u7684\u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5230\u67d0\u4e2a\u5de5\u4f5c\u7a7a\u95f4\uff0c\u65e0\u6cd5\u5728\u5168\u5c40\u7ba1\u7406\u6a21\u5757\u5b8c\u6210\u6b64\u64cd\u4f5c\u3002

                                        \u7ed1\u5b9a\u547d\u540d\u7a7a\u95f4\u5230\u5de5\u4f5c\u7a7a\u95f4\u4e5f\u81f3\u5c11\u9700\u8981 Workspace Admin + Cluster Admin \u6743\u9650\u3002

                                        "},{"location":"end-user/host/createhost.html","title":"\u521b\u5efa\u548c\u542f\u52a8\u4e91\u4e3b\u673a","text":"

                                        \u7528\u6237\u5b8c\u6210\u6ce8\u518c\uff0c\u4e3a\u5176\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4\u3001\u547d\u540d\u7a7a\u95f4\u548c\u8d44\u6e90\u540e\uff0c\u5373\u53ef\u4ee5\u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a\u3002

                                        "},{"location":"end-user/host/createhost.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                        • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                                        • \u7ba1\u7406\u5458\u4e3a\u7528\u6237\u7ed1\u5b9a\u4e86\u5de5\u4f5c\u7a7a\u95f4
                                        • \u7ba1\u7406\u5458\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u4e86\u8d44\u6e90
                                        "},{"location":"end-user/host/createhost.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                        2. \u70b9\u51fb \u521b\u5efa\u865a\u62df\u673a -> \u901a\u8fc7\u6a21\u677f\u521b\u5efa

                                        3. \u5b9a\u4e49\u7684\u4e91\u4e3b\u673a\u5404\u9879\u914d\u7f6e\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

                                          \u57fa\u672c\u914d\u7f6e\u6a21\u677f\u914d\u7f6e\u5b58\u50a8\u4e0e\u7f51\u7edc

                                        4. \u914d\u7f6e root \u5bc6\u7801\u6216 ssh \u5bc6\u94a5\u540e\u70b9\u51fb \u786e\u5b9a

                                        5. \u8fd4\u56de\u4e3b\u673a\u5217\u8868\uff0c\u7b49\u5f85\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u4e4b\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u53f3\u4fa7\u7684 \u2507 \u542f\u52a8\u4e3b\u673a\u3002

                                        \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u4e91\u4e3b\u673a

                                        "},{"location":"end-user/host/usehost.html","title":"\u4f7f\u7528\u4e91\u4e3b\u673a","text":"

                                        \u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a\u4e4b\u540e\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u4e91\u4e3b\u673a\u3002

                                        "},{"location":"end-user/host/usehost.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                        • \u7528\u6237\u5df2\u521b\u5efa\u5e76\u542f\u52a8\u4e91\u4e3b\u673a
                                        "},{"location":"end-user/host/usehost.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                        2. \u5bfc\u822a\u5230 \u5bb9\u5668\u7ba1\u7406 -> \u5bb9\u5668\u7f51\u7edc -> \u670d\u52a1 \uff0c\u70b9\u51fb\u670d\u52a1\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u670d\u52a1\u8be6\u60c5\u9875\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u66f4\u65b0

                                        3. \u66f4\u6539\u7aef\u53e3\u8303\u56f4\u4e3a 30900-30999\uff0c\u4f46\u4e0d\u80fd\u51b2\u7a81\u3002

                                        4. \u4ee5\u7ec8\u7aef\u7528\u6237\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5bfc\u822a\u5230\u5bf9\u5e94\u7684\u670d\u52a1\uff0c\u67e5\u770b\u8bbf\u95ee\u7aef\u53e3\u3002

                                        5. \u5728\u5916\u7f51\u4f7f\u7528 SSH \u5ba2\u6237\u7aef\u767b\u5f55\u4e91\u4e3b\u673a

                                        6. \u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u5728\u4e91\u4e3b\u673a\u4e0a\u6267\u884c\u5404\u9879\u64cd\u4f5c\u3002

                                        \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528 Notebook

                                        "},{"location":"end-user/insight/alert-center/index.html","title":"\u544a\u8b66\u4e2d\u5fc3","text":"

                                        \u544a\u8b66\u4e2d\u5fc3\u662f AI \u7b97\u529b\u5e73\u53f0 \u63d0\u4f9b\u7684\u4e00\u4e2a\u91cd\u8981\u529f\u80fd\uff0c\u5b83\u8ba9\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u65b9\u4fbf\u5730\u6309\u7167\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u67e5\u770b\u6240\u6709\u6d3b\u52a8\u548c\u5386\u53f2\u544a\u8b66\uff0c \u5e76\u6839\u636e\u544a\u8b66\u7ea7\u522b\uff08\u7d27\u6025\u3001\u8b66\u544a\u3001\u63d0\u793a\uff09\u6765\u641c\u7d22\u544a\u8b66\u3002

                                        \u6240\u6709\u544a\u8b66\u90fd\u662f\u57fa\u4e8e\u9884\u8bbe\u7684\u544a\u8b66\u89c4\u5219\u8bbe\u5b9a\u7684\u9608\u503c\u6761\u4ef6\u89e6\u53d1\u7684\u3002\u5728 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c\u5185\u7f6e\u4e86\u4e00\u4e9b\u5168\u5c40\u544a\u8b66\u7b56\u7565\uff0c\u540c\u65f6\u60a8\u4e5f\u53ef\u4ee5\u968f\u65f6\u521b\u5efa\u3001\u5220\u9664\u544a\u8b66\u7b56\u7565\uff0c\u5bf9\u4ee5\u4e0b\u6307\u6807\u8fdb\u884c\u8bbe\u7f6e\uff1a

                                        • CPU \u4f7f\u7528\u91cf
                                        • \u5185\u5b58\u4f7f\u7528\u91cf
                                        • \u78c1\u76d8\u4f7f\u7528\u91cf
                                        • \u78c1\u76d8\u6bcf\u79d2\u8bfb\u6b21\u6570
                                        • \u78c1\u76d8\u6bcf\u79d2\u5199\u6b21\u6570
                                        • \u96c6\u7fa4\u78c1\u76d8\u8bfb\u53d6\u541e\u5410\u91cf
                                        • \u96c6\u7fa4\u78c1\u76d8\u5199\u5165\u541e\u5410\u91cf
                                        • \u7f51\u7edc\u53d1\u9001\u901f\u7387
                                        • \u7f51\u7edc\u63a5\u6536\u901f\u7387

                                        \u8fd8\u53ef\u4ee5\u4e3a\u544a\u8b66\u89c4\u5219\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002\u544a\u8b66\u89c4\u5219\u5206\u4e3a\u6d3b\u8dc3\u548c\u8fc7\u671f\u89c4\u5219\uff0c\u652f\u6301\u542f\u7528/\u7981\u7528\u67d0\u4e9b\u89c4\u5219\u6765\u5b9e\u73b0\u544a\u8b66\u9759\u9ed8\u3002

                                        \u5f53\u8fbe\u5230\u9608\u503c\u6761\u4ef6\u540e\uff0c\u53ef\u4ee5\u914d\u7f6e\u544a\u8b66\u901a\u77e5\u65b9\u5f0f\uff0c\u5305\u62ec\u90ae\u4ef6\u3001\u9489\u9489\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001Webhook \u548c\u77ed\u4fe1\u901a\u77e5\u3002 \u6240\u6709\u901a\u77e5\u7684\u6d88\u606f\u6a21\u677f\u90fd\u53ef\u4ee5\u81ea\u5b9a\u4e49\uff0c\u540c\u65f6\u8fd8\u652f\u6301\u6309\u8bbe\u5b9a\u7684\u95f4\u9694\u65f6\u95f4\u53d1\u9001\u901a\u77e5\u3002

                                        \u6b64\u5916\uff0c\u544a\u8b66\u4e2d\u5fc3\u8fd8\u652f\u6301\u901a\u8fc7\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u7b49\u63d0\u4f9b\u7684\u77ed\u4fe1\u670d\u52a1\u5c06\u544a\u8b66\u6d88\u606f\u53d1\u9001\u7ed9\u6307\u5b9a\u7528\u6237\uff0c\u5b9e\u73b0\u591a\u79cd\u65b9\u5f0f\u7684\u544a\u8b66\u901a\u77e5\u3002

                                        AI \u7b97\u529b\u5e73\u53f0 \u544a\u8b66\u4e2d\u5fc3\u662f\u4e00\u4e2a\u529f\u80fd\u5f3a\u5927\u7684\u544a\u8b66\u7ba1\u7406\u5e73\u53f0\uff0c\u53ef\u5e2e\u52a9\u7528\u6237\u53ca\u65f6\u53d1\u73b0\u548c\u89e3\u51b3\u96c6\u7fa4\u4e2d\u51fa\u73b0\u7684\u95ee\u9898\uff0c \u63d0\u9ad8\u4e1a\u52a1\u7a33\u5b9a\u6027\u548c\u53ef\u7528\u6027\uff0c\u4fbf\u4e8e\u96c6\u7fa4\u5de1\u68c0\u548c\u6545\u969c\u6392\u67e5\u3002

                                        "},{"location":"end-user/insight/alert-center/alert-policy.html","title":"\u544a\u8b66\u7b56\u7565","text":"

                                        \u544a\u8b66\u7b56\u7565\u662f\u5728\u53ef\u89c2\u6d4b\u6027\u7cfb\u7edf\u4e2d\u5b9a\u4e49\u7684\u4e00\u7ec4\u89c4\u5219\u548c\u6761\u4ef6\uff0c\u7528\u4e8e\u68c0\u6d4b\u548c\u89e6\u53d1\u8b66\u62a5\uff0c\u4ee5\u4fbf\u5728\u7cfb\u7edf\u51fa\u73b0\u5f02\u5e38\u6216\u8fbe\u5230\u9884\u5b9a\u7684\u9608\u503c\u65f6\u53ca\u65f6\u901a\u77e5\u76f8\u5173\u4eba\u5458\u6216\u7cfb\u7edf\u3002

                                        \u6bcf\u6761\u544a\u8b66\u7b56\u7565\u662f\u4e00\u7ec4\u544a\u8b66\u89c4\u5219\u7684\u96c6\u5408\uff0c\u652f\u6301\u5bf9\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7b49\u8d44\u6e90\u3001\u65e5\u5fd7\u3001\u4e8b\u4ef6\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219\u3002\u5f53\u544a\u8b66\u5bf9\u8c61\u8fbe\u5230\u7b56\u7565\u4e0b\u4efb\u4e00\u89c4\u5219\u8bbe\u5b9a\u7684\u9608\u503c\uff0c\u5219\u4f1a\u81ea\u52a8\u89e6\u53d1\u544a\u8b66\u5e76\u53d1\u9001\u901a\u77e5\u3002

                                        "},{"location":"end-user/insight/alert-center/alert-policy.html#_2","title":"\u67e5\u770b\u544a\u8b66\u7b56\u7565","text":"
                                        1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027\u3002
                                        2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u544a\u8b66\u7b56\u7565\u3002

                                          • \u96c6\u7fa4\uff1a\u5355\u51fb\u96c6\u7fa4\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\uff1b
                                          • \u547d\u540d\u7a7a\u95f4\uff1a\u5355\u51fb\u547d\u540d\u7a7a\u95f4\u5207\u6362\u4e0b\u62c9\u6846\u3002

                                        3. \u70b9\u51fb\u544a\u8b66\u7b56\u7565\u540d\u79f0\u53ef\u67e5\u770b\u7b56\u7565\u7684\u57fa\u672c\u4fe1\u606f\u3001\u89c4\u5219\u4ee5\u53ca\u901a\u77e5\u914d\u7f6e\u3002

                                          1. \u5728\u89c4\u5219\u5217\u8868\u4e2d\u53ef\u67e5\u770b\u89c4\u5219\u7c7b\u578b\u3001\u89c4\u5219\u7684\u8868\u8fbe\u5f0f\u3001\u7ea7\u522b\u3001\u72b6\u6001\u7b49\u4fe1\u606f\u3002
                                          2. \u8fdb\u5165\u7b56\u7565\u8be6\u60c5\uff0c\u53ef\u4ee5\u6dfb\u52a0\u3001\u7f16\u8f91\u3001\u5220\u9664\u5176\u4e0b\u7684\u544a\u8b66\u89c4\u5219\u3002

                                        "},{"location":"end-user/insight/alert-center/alert-policy.html#_3","title":"\u521b\u5efa\u544a\u8b66\u7b56\u7565","text":"
                                        1. \u586b\u5199\u57fa\u672c\u4fe1\u606f\uff0c\u9009\u62e9\u4e00\u4e2a\u6216\u591a\u4e2a\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\u4e3a\u544a\u8b66\u5bf9\u8c61\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65\u3002

                                          Note

                                          • \u9009\u62e9\u5168\u90e8\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\uff1a\u521b\u5efa\u7684\u544a\u8b66\u89c4\u5219\u5bf9\u6240\u6709\u5df2\u5b89\u88c5 insight-agent \u7684\u96c6\u7fa4\u751f\u6548\u3002
                                          • \u9009\u62e9\u5355\u4e2a\u6216\u591a\u4e2a\u96c6\u7fa4\u96c6\u7fa4\u3001\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\uff1a\u521b\u5efa\u7684\u544a\u8b66\u89c4\u5219\u4ec5\u5bf9\u6240\u9009\u7684\u8d44\u6e90\u5bf9\u8c61\u751f\u6548\u3002
                                          • \u540c\u65f6\uff0c\u7528\u6237\u53ea\u80fd\u5bf9\u5df2\u6743\u9650\u7684\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219\u3002
                                        "},{"location":"end-user/insight/alert-center/alert-policy.html#_4","title":"\u624b\u52a8\u6dfb\u52a0\u89c4\u5219","text":"
                                        1. \u5728\u521b\u5efa\u544a\u8b66\u7b56\u7565\u7684\u7b2c\u4e8c\u90e8\u4e2d\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4e0a\u89d2\u7684\u6dfb\u52a0\u89c4\u5219\u3002

                                        2. \u5728\u5f39\u7a97\u4e2d\u521b\u5efa\u544a\u8b66\u89c4\u5219\uff0c\u586b\u5199\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a\u3002

                                          • \u6a21\u677f\u89c4\u5219\uff1a\u9884\u5b9a\u4e49\u4e86\u57fa\u7840\u6307\u6807\uff0c\u53ef\u4ee5\u6309 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edc\u8bbe\u5b9a\u8981\u76d1\u63a7\u7684\u6307\u6807\u3002
                                          • PromQL \u89c4\u5219\uff1a\u8f93\u5165\u4e00\u4e2a PromQL \u8868\u8fbe\u5f0f\uff0c\u5177\u4f53\u8bf7\u67e5\u8be2 Prometheus \u8868\u8fbe\u5f0f\u3002
                                          • \u6301\u7eed\u65f6\u957f\uff1a\u544a\u8b66\u88ab\u89e6\u53d1\u4e14\u6301\u7eed\u65f6\u95f4\u8fbe\u5230\u8be5\u8bbe\u5b9a\u503c\u540e\uff0c\u544a\u8b66\u7b56\u7565\u5c06\u53d8\u4e3a\u89e6\u53d1\u4e2d\u72b6\u6001\u3002
                                          • \u544a\u8b66\u7ea7\u522b\uff1a\u5305\u542b\u7d27\u6025\u3001\u8b66\u544a\u3001\u4fe1\u606f\u4e09\u79cd\u7ea7\u522b\u3002
                                          • \u9ad8\u7ea7\u8bbe\u7f6e\uff1a\u53ef\u4ee5\u81ea\u5b9a\u4e49\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                          Info

                                          \u7cfb\u7edf\u5b9a\u4e49\u4e86\u5185\u7f6e\u6807\u7b7e\uff0c\u82e5\u81ea\u5b9a\u4e49\u6807\u7b7e\u4e0e\u5185\u7f6e\u6807\u7b7e\u7684\u952e\u503c\u76f8\u540c\uff0c\u5219\u81ea\u5b9a\u4e49\u6807\u7b7e\u4e0d\u751f\u6548\u3002 \u5185\u7f6e\u6807\u7b7e\u6709\uff1aseverity\u3001rule_id\uff0csource\u3001cluster_name\u3001group_id\u3001 target_type \u548c target\u3002

                                        "},{"location":"end-user/insight/alert-center/alert-policy.html#_5","title":"\u521b\u5efa\u65e5\u5fd7\u89c4\u5219","text":"

                                        \u5b8c\u6210\u57fa\u672c\u4fe1\u606f\u7684\u586b\u5199\u540e\uff0c\u70b9\u51fb \u6dfb\u52a0\u89c4\u5219\uff0c\u89c4\u5219\u7c7b\u578b\u9009\u62e9 \u65e5\u5fd7\u89c4\u5219\u3002

                                        Note

                                        \u4ec5\u5f53\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u8282\u70b9\u6216\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u652f\u6301\u521b\u5efa\u65e5\u5fd7\u89c4\u5219\u3002

                                        \u5b57\u6bb5\u8bf4\u660e\uff1a

                                        • \u8fc7\u6ee4\u6761\u4ef6\uff1a\u67e5\u8be2\u65e5\u5fd7\u5185\u5bb9\u7684\u5b57\u6bb5\uff0c\u652f\u6301\u4e0e\u3001\u6216\u3001\u6b63\u5219\u5339\u914d\u3001\u6a21\u7cca\u5339\u914d\u56db\u79cd\u8fc7\u6ee4\u6761\u4ef6\u3002
                                        • \u5224\u65ad\u6761\u4ef6\uff1a\u6839\u636e \u8fc7\u6ee4\u6761\u4ef6\uff0c\u8f93\u5165\u5173\u952e\u5b57\u6216\u5339\u914d\u6761\u4ef6\u3002
                                        • \u65f6\u95f4\u8303\u56f4\uff1a\u65e5\u5fd7\u67e5\u8be2\u7684\u65f6\u95f4\u8303\u56f4\u3002
                                        • \u9608\u503c\u6761\u4ef6\uff1a\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u544a\u8b66\u9608\u503c\u3002\u5f53\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u65f6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u3002\u652f\u6301\u7684\u6bd4\u8f83\u8fd0\u7b97\u7b26\u6709\uff1a >\u3001\u2265\u3001=\u3001\u2264\u3001<\u3002
                                        • \u544a\u8b66\u7ea7\u522b\uff1a\u9009\u62e9\u544a\u8b66\u7ea7\u522b\uff0c\u7528\u4e8e\u8868\u793a\u544a\u8b66\u7684\u4e25\u91cd\u7a0b\u5ea6\u3002
                                        "},{"location":"end-user/insight/alert-center/alert-policy.html#_6","title":"\u521b\u5efa\u4e8b\u4ef6\u89c4\u5219","text":"

                                        \u5b8c\u6210\u57fa\u672c\u4fe1\u606f\u7684\u586b\u5199\u540e\uff0c\u70b9\u51fb \u6dfb\u52a0\u89c4\u5219\uff0c\u89c4\u5219\u7c7b\u578b\u9009\u62e9 \u4e8b\u4ef6\u89c4\u5219\u3002

                                        Note

                                        \u4ec5\u5f53\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u652f\u6301\u521b\u5efa\u4e8b\u4ef6\u89c4\u5219\u3002

                                        \u5b57\u6bb5\u8bf4\u660e\uff1a

                                        • \u4e8b\u4ef6\u89c4\u5219\uff1a\u4ec5\u652f\u6301\u8d44\u6e90\u5bf9\u8c61\u9009\u62e9\u5de5\u4f5c\u8d1f\u8f7d
                                        • \u4e8b\u4ef6\u539f\u56e0\uff1a\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\u7684\u4e8b\u4ef6\u539f\u56e0\u4e0d\u540c\uff0c\u4e8b\u4ef6\u539f\u56e0\u4e4b\u95f4\u662f\u201c\u548c\u201d\u7684\u5173\u7cfb\u3002
                                        • \u65f6\u95f4\u8303\u56f4\uff1a\u68c0\u6d4b\u8be5\u65f6\u95f4\u8303\u56f4\u5185\u4ea7\u751f\u6570\u636e\uff0c\u82e5\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u6761\u4ef6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u4e8b\u4ef6\u3002
                                        • \u9608\u503c\u6761\u4ef6\uff1a\u5f53\u4ea7\u751f\u7684\u4e8b\u4ef6\u8fbe\u5230\u8bbe\u7f6e\u7684\u9608\u503c\u65f6\uff0c\u5219\u89e6\u53d1\u544a\u8b66\u4e8b\u4ef6\u3002
                                        • \u8d8b\u52bf\u56fe\uff1a\u9ed8\u8ba4\u67e5\u8be2 10 \u5206\u949f\u5185\u7684\u4e8b\u4ef6\u53d8\u5316\u8d8b\u52bf\uff0c\u6bcf\u4e2a\u70b9\u7684\u6570\u503c\u7edf\u8ba1\u7684\u662f\u5f53\u524d\u65f6\u95f4\u70b9\u5230\u4e4b\u524d\u7684\u67d0\u6bb5\u65f6\u95f4\uff08\u65f6\u95f4\u8303\u56f4\uff09\u5185\u53d1\u751f\u7684\u603b\u6b21\u6570\u3002
                                        "},{"location":"end-user/insight/alert-center/alert-policy.html#_7","title":"\u5bfc\u5165\u89c4\u5219\u6a21\u677f","text":"
                                        1. \u53ef\u70b9\u51fb \u6a21\u677f\u5bfc\u5165\uff0c\u9009\u62e9\u5e73\u53f0\u7ba1\u7406\u5458\u5df2\u521b\u5efa\u597d\u7684\u544a\u8b66\u6a21\u677f\u6279\u91cf\u5bfc\u5165\u544a\u8b66\u89c4\u5219\u3002

                                        2. \u70b9\u51fb \u4e0b\u4e00\u6b65 \u540e\u914d\u7f6e\u901a\u77e5\u3002

                                        3. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u8fd4\u56de\u544a\u8b66\u7b56\u7565\u5217\u8868\u3002

                                        Tip

                                        \u65b0\u5efa\u7684\u544a\u8b66\u7b56\u7565\u4e3a \u672a\u89e6\u53d1 \u72b6\u6001\u3002\u4e00\u65e6\u6ee1\u8db3\u89c4\u5219\u4e2d\u7684\u9608\u503c\u6761\u4ef6\u548c\u6301\u7eed\u65f6\u95f4\u540e\uff0c\u5c06\u53d8\u4e3a \u89e6\u53d1\u4e2d \u72b6\u6001\u3002

                                        Warning

                                        \u5220\u9664\u540e\u7684\u544a\u8b66\u7b56\u7565\u5c06\u5b8c\u5168\u6d88\u5931\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                                        "},{"location":"end-user/insight/alert-center/alert-policy.html#yaml","title":"\u901a\u8fc7 YAML \u5bfc\u5165\u544a\u8b66\u7b56\u7565","text":"
                                        1. \u8fdb\u5165\u544a\u8b66\u7b56\u7565\u5217\u8868\uff0c\u70b9\u51fb YAML \u521b\u5efa\u3002

                                        2. \u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u7684\u9009\u62e9\u662f\u4e3a\u4e86\u544a\u8b66\u7b56\u7565\u7684\u7ba1\u7406\u6743\u9650\u3002

                                        3. YAML \u7f16\u8f91\u5668\u4e2d\u8bf7\u586b\u5199 spec \u53ca\u5176\u4e2d\u7684\u5185\u5bb9\uff0c\u4ec5\u652f\u6301\u5bfc\u5165\u4e00\u4e2a group\u3002
                                        4. \u544a\u8b66\u89c4\u5219\u540d\u79f0 \u9700\u8981\u7b26\u5408\u89c4\u8303\uff1a\u540d\u79f0\u53ea\u80fd\u5305\u542b\u5927\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\uff08_\uff09\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002
                                        5. \u5fc5\u586b severity \u4e14\u7b26\u5408\u89c4\u8303\uff1acritical\u3001warning\u3001info\u3002
                                        6. \u5fc5\u586b\u8868\u8fbe\u5f0f expr\u3002

                                        7. \u5bfc\u5165 YAML \u6587\u4ef6\u540e\uff0c\u70b9\u51fb \u9884\u89c8\uff0c\u53ef\u4ee5\u5bf9\u5bfc\u5165\u7684 YAML \u683c\u5f0f\u8fdb\u884c\u9a8c\u8bc1\uff0c\u5e76\u5feb\u901f\u786e\u8ba4\u5bfc\u5165\u7684\u544a\u8b66\u89c4\u5219\u3002

                                        "},{"location":"end-user/insight/alert-center/alert-template.html","title":"\u544a\u8b66\u6a21\u677f","text":"

                                        \u544a\u8b66\u6a21\u677f\u53ef\u652f\u6301\u5e73\u53f0\u7ba1\u7406\u5458\u521b\u5efa\u544a\u8b66\u6a21\u677f\u53ca\u89c4\u5219\uff0c\u4e1a\u52a1\u4fa7\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u544a\u8b66\u6a21\u677f\u521b\u5efa\u544a\u8b66\u7b56\u7565\u3002 \u8fd9\u4e2a\u529f\u80fd\u53ef\u4ee5\u51cf\u5c11\u4e1a\u52a1\u4eba\u5458\u5bf9\u544a\u8b66\u89c4\u5219\u7684\u7ba1\u7406\uff0c\u4e14\u53ef\u4ee5\u6839\u636e\u73af\u5883\u5b9e\u9645\u60c5\u51b5\u81ea\u884c\u4fee\u6539\u544a\u8b66\u9608\u503c\u3002

                                        "},{"location":"end-user/insight/alert-center/alert-template.html#_2","title":"\u521b\u5efa\u544a\u8b66\u6a21\u677f","text":"
                                        1. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u7b56\u7565\uff0c\u5355\u51fb\u9876\u90e8\u7684 \u544a\u8b66\u6a21\u677f \u3002

                                        2. \u70b9\u51fb \u521b\u5efa\u544a\u8b66\u6a21\u677f \uff0c\u8bbe\u7f6e\u544a\u8b66\u6a21\u677f\u7684\u540d\u79f0\u3001\u63cf\u8ff0\u7b49\u4fe1\u606f\u3002

                                          \u53c2\u6570 \u8bf4\u660e \u6a21\u677f\u540d\u79f0 \u540d\u79f0\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002 \u63cf\u8ff0 \u63cf\u8ff0\u53ef\u5305\u542b\u4efb\u610f\u5b57\u7b26\uff0c\u6700\u957f 256 \u4e2a\u5b57\u7b26\u3002 \u8d44\u6e90\u7c7b\u578b \u7528\u4e8e\u6307\u5b9a\u544a\u8b66\u6a21\u677f\u7684\u5339\u914d\u7c7b\u578b\u3002 \u544a\u8b66\u89c4\u5219 \u652f\u6301\u9884\u5b9a\u4e49\u591a\u4e2a\u544a\u8b66\u89c4\u5219\uff0c\u53ef\u6dfb\u52a0\u6a21\u677f\u89c4\u5219\u3001PromQL \u89c4\u5219\u3002
                                        3. \u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u540e\u8fd4\u56de\u544a\u8b66\u6a21\u677f\u5217\u8868\uff0c\u70b9\u51fb\u6a21\u677f\u540d\u79f0\u540e\u53ef\u67e5\u770b\u6a21\u677f\u8be6\u60c5\u3002

                                        "},{"location":"end-user/insight/alert-center/alert-template.html#_3","title":"\u7f16\u8f91\u544a\u8b66\u6a21\u677f","text":"

                                        \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u7684 \u2507 \uff0c\u70b9\u51fb \u7f16\u8f91\uff0c\u8fdb\u5165\u6291\u5236\u89c4\u5219\u7684\u7f16\u8f91\u9875\u3002

                                        "},{"location":"end-user/insight/alert-center/alert-template.html#_4","title":"\u5220\u9664\u544a\u8b66\u6a21\u677f","text":"

                                        \u70b9\u51fb\u76ee\u6807\u6a21\u677f\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u5220\u9664\uff0c\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u544a\u8b66\u6a21\u677f\u7684\u540d\u79f0\u5373\u53ef\u5220\u9664\u3002

                                        "},{"location":"end-user/insight/alert-center/inhibition.html","title":"\u544a\u8b66\u6291\u5236","text":"

                                        \u544a\u8b66\u6291\u5236\u4e3b\u8981\u662f\u5bf9\u4e8e\u67d0\u4e9b\u4e0d\u9700\u8981\u7acb\u5373\u5173\u6ce8\u7684\u544a\u8b66\u8fdb\u884c\u4e34\u65f6\u9690\u85cf\u6216\u8005\u964d\u4f4e\u5176\u4f18\u5148\u7ea7\u7684\u4e00\u79cd\u673a\u5236\u3002\u8fd9\u4e2a\u529f\u80fd\u7684\u76ee\u7684\u662f\u4e3a\u4e86\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u544a\u8b66\u4fe1\u606f\u5bf9\u8fd0\u7ef4\u4eba\u5458\u7684\u5e72\u6270\uff0c\u4f7f\u4ed6\u4eec\u80fd\u591f\u96c6\u4e2d\u7cbe\u529b\u5904\u7406\u66f4\u91cd\u8981\u7684\u95ee\u9898\u3002

                                        \u544a\u8b66\u6291\u5236\u901a\u8fc7\u5b9a\u4e49\u4e00\u7ec4\u89c4\u5219\u6765\u8bc6\u522b\u548c\u5ffd\u7565\u67d0\u4e9b\u544a\u8b66\uff0c\u5f53\u5b83\u4eec\u5728\u7279\u5b9a\u6761\u4ef6\u4e0b\u53d1\u751f\u65f6\u3002\u4e3b\u8981\u6709\u4ee5\u4e0b\u51e0\u79cd\u60c5\u51b5\uff1a

                                        • \u7236\u5b50\u5173\u7cfb\u6291\u5236\uff1a\u5f53\u4e00\u4e2a\u7236\u544a\u8b66\uff08\u4f8b\u5982\u67d0\u4e2a\u8282\u70b9\u7684\u5d29\u6e83\uff09\u89e6\u53d1\u65f6\uff0c\u53ef\u4ee5\u6291\u5236\u6240\u6709\u7531\u6b64\u5f15\u8d77\u7684\u5b50\u544a\u8b66\uff08\u4f8b\u5982\u8be5\u8282\u70b9\u4e0a\u8fd0\u884c\u7684\u5bb9\u5668\u5d29\u6e83\uff09\u3002
                                        • \u76f8\u4f3c\u544a\u8b66\u6291\u5236\uff1a\u5f53\u591a\u4e2a\u544a\u8b66\u5177\u6709\u76f8\u540c\u7684\u7279\u5f81\uff08\u4f8b\u5982\u540c\u4e00\u5b9e\u4f8b\u4e0a\u7684\u76f8\u540c\u95ee\u9898\uff09\u65f6\uff0c\u53ef\u4ee5\u6291\u5236\u91cd\u590d\u7684\u544a\u8b66\u901a\u77e5\u3002
                                        "},{"location":"end-user/insight/alert-center/inhibition.html#_2","title":"\u521b\u5efa\u6291\u5236\u89c4\u5219","text":"
                                        1. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u964d\u566a\uff0c\u5355\u51fb\u9876\u90e8\u7684 \u544a\u8b66\u6291\u5236 \u3002

                                        2. \u70b9\u51fb \u65b0\u5efa\u6291\u5236\u89c4\u5219 \uff0c\u8bbe\u7f6e\u6291\u5236\u89c4\u5219\u7684\u540d\u79f0\u3001\u89c4\u5219\u7b49\u3002

                                          Note

                                          \u901a\u8fc7\u89c4\u5219\u6807\u7b7e\u548c\u544a\u8b66\u6807\u7b7e\u5b9a\u4e49\u4e00\u7ec4\u89c4\u5219\u6765\u8bc6\u522b\u548c\u5ffd\u7565\u67d0\u4e9b\u544a\u8b66\uff0c\u8fbe\u5230\u907f\u514d\u540c\u4e00\u95ee\u9898\u53ef\u80fd\u4f1a\u89e6\u53d1\u591a\u4e2a\u76f8\u4f3c\u6216\u76f8\u5173\u7684\u544a\u8b66\u7684\u95ee\u9898\u3002

                                          \u53c2\u6570\u65f6\u95f4 \u8bf4\u660e \u6291\u5236\u89c4\u5219\u540d\u79f0 \u6291\u5236\u89c4\u5219\u540d\u79f0\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08-\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002 \u63cf\u8ff0 \u63cf\u8ff0\u53ef\u5305\u542b\u4efb\u610f\u5b57\u7b26\uff0c\u6700\u957f 256 \u4e2a\u5b57\u7b26\u3002 \u96c6\u7fa4 \u8be5\u6291\u5236\u89c4\u5219\u4f5c\u7528\u7684\u96c6\u7fa4\u3002 \u547d\u540d\u7a7a\u95f4 \u8be5\u6291\u5236\u89c4\u5219\u4f5c\u7528\u7684\u547d\u540d\u7a7a\u95f4\u3002 \u6839\u6e90\u544a\u8b66 \u901a\u8fc7\u586b\u5199\u7684\u6807\u7b7e\u6761\u4ef6\u5339\u914d\u544a\u8b66\uff0c\u4f1a\u5c06\u7b26\u5408\u6240\u6709\u6807\u7b7e\u6761\u4ef6\u7684\u544a\u8b66\u4e0e\u7b26\u5408\u6291\u5236\u6761\u4ef6\u7684\u8fdb\u884c\u5bf9\u6bd4\uff0c\u4e0d\u7b26\u5408\u6291\u5236\u6761\u4ef6\u7684\u544a\u8b66\u5c06\u7167\u5e38\u53d1\u9001\u6d88\u606f\u7ed9\u7528\u6237\u3002 \u53d6\u503c\u8303\u56f4\u8bf4\u660e\uff1a - \u544a\u8b66\u7ea7\u522b\uff1a\u6307\u6807\u6216\u4e8b\u4ef6\u544a\u8b66\u7684\u7ea7\u522b\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a\uff1a\u7d27\u6025\u3001\u91cd\u8981\u3001\u63d0\u793a\u3002 - \u8d44\u6e90\u7c7b\u578b\uff1a\u544a\u8b66\u5bf9\u8c61\u6240\u5bf9\u5e94\u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a\uff1a\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u65e0\u72b6\u6001\u8d1f\u8f7d\u3001\u6709\u72b6\u5bb9\u8d1f\u8f7d\u3001\u5b88\u62a4\u8fdb\u7a0b\u3001\u5bb9\u5668\u7ec4\u3002 - \u6807\u7b7e\uff1a\u544a\u8b66\u6807\u8bc6\u5c5e\u6027\uff0c\u7531\u6807\u7b7e\u540d\u548c\u6807\u7b7e\u503c\u6784\u6210\uff0c\u652f\u6301\u7528\u6237\u81ea\u5b9a\u4e49\u3002 \u6291\u5236\u544a\u8b66 \u7528\u4e8e\u6307\u5b9a\u76ee\u6807\u8b66\u62a5\uff08\u5c06\u88ab\u6291\u5236\u7684\u8b66\u62a5\uff09\u7684\u5339\u914d\u6761\u4ef6\uff0c\u7b26\u5408\u6240\u6709\u6807\u7b7e\u6761\u4ef6\u7684\u544a\u8b66\u5c06\u4e0d\u4f1a\u518d\u53d1\u9001\u6d88\u606f\u7ed9\u7528\u6237\u3002 \u5339\u914d\u6807\u7b7e \u7528\u4e8e\u6307\u5b9a\u5e94\u8be5\u6bd4\u8f83\u7684\u6807\u7b7e\u5217\u8868\uff0c\u4ee5\u786e\u5b9a\u6e90\u8b66\u62a5\u548c\u76ee\u6807\u8b66\u62a5\u662f\u5426\u5339\u914d\u3002\u53ea\u6709\u5728\u00a0equal\u00a0\u4e2d\u6307\u5b9a\u7684\u6807\u7b7e\u5728\u6e90\u548c\u76ee\u6807\u8b66\u62a5\u4e2d\u7684\u503c\u5b8c\u5168\u76f8\u540c\u7684\u60c5\u51b5\u4e0b\uff0c\u624d\u4f1a\u89e6\u53d1\u6291\u5236\u3002equal\u00a0\u5b57\u6bb5\u662f\u53ef\u9009\u7684\u3002\u5982\u679c\u7701\u7565\u00a0equal\u00a0\u5b57\u6bb5\uff0c\u5219\u4f1a\u5c06\u6240\u6709\u6807\u7b7e\u7528\u4e8e\u5339\u914d
                                        3. \u70b9\u51fb**\u786e\u5b9a**\u5b8c\u6210\u521b\u5efa\u540e\u8fd4\u56de\u544a\u8b66\u6291\u5236\u5217\u8868\uff0c\u70b9\u51fb\u544a\u8b66\u6291\u5236\u540d\u79f0\u540e\u53ef\u67e5\u770b\u6291\u5236\u89c4\u5219\u8be6\u60c5\u3002

                                        "},{"location":"end-user/insight/alert-center/inhibition.html#_3","title":"\u67e5\u770b\u89c4\u5219\u6807\u7b7e","text":"
                                        1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u7b56\u7565 \uff0c\u70b9\u51fb\u89c4\u5219\u6240\u5728\u7684\u7b56\u7565\u8be6\u60c5\u3002
                                        2. \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540d\u79f0\uff0c\u67e5\u770b\u89c4\u5219\u8be6\u60c5\uff0c\u67e5\u770b\u5bf9\u5e94\u544a\u8b66\u89c4\u5219\u7684\u6807\u7b7e\u3002

                                          Note

                                          \u5728\u6dfb\u52a0\u89c4\u5219\u65f6\u53ef\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                                        "},{"location":"end-user/insight/alert-center/inhibition.html#_4","title":"\u67e5\u770b\u544a\u8b66\u6807\u7b7e","text":"
                                        1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\u9009\u62e9\u00a0\u544a\u8b66\u4e2d\u5fc3\u00a0->\u00a0\u544a\u8b66\u5217\u8868 \uff0c\u70b9\u51fb\u544a\u8b66\u6240\u5728\u884c\u67e5\u770b\u544a\u8b66\u8be6\u60c5\u3002

                                          Note

                                          \u544a\u8b66\u6807\u7b7e\u7528\u4e8e\u63cf\u8ff0\u544a\u8b66\u7684\u8be6\u7ec6\u4fe1\u606f\u548c\u5c5e\u6027\uff0c\u53ef\u4ee5\u7528\u6765\u521b\u5efa\u6291\u5236\u89c4\u5219\u3002

                                        "},{"location":"end-user/insight/alert-center/inhibition.html#_5","title":"\u7f16\u8f91\u6291\u5236\u89c4\u5219","text":"
                                        1. \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u7f16\u8f91\uff0c\u8fdb\u5165\u6291\u5236\u89c4\u5219\u7684\u7f16\u8f91\u9875\u3002

                                        "},{"location":"end-user/insight/alert-center/inhibition.html#_6","title":"\u5220\u9664\u6291\u5236\u89c4\u5219","text":"

                                        \u70b9\u51fb\u76ee\u6807\u89c4\u5219\u540e\u4fa7\u7684 \u2507 \uff0c\u70b9\u51fb \u5220\u9664\uff0c\u5728\u8f93\u5165\u6846\u4e2d\u8f93\u5165\u6291\u5236\u89c4\u5219\u7684\u540d\u79f0\u5373\u53ef\u5220\u9664\u3002

                                        "},{"location":"end-user/insight/alert-center/message.html","title":"\u901a\u77e5\u914d\u7f6e","text":"

                                        \u5728 \u901a\u77e5\u914d\u7f6e \u9875\u9762\uff0c\u53ef\u4ee5\u914d\u7f6e\u901a\u8fc7\u90ae\u4ef6\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001\u9489\u9489\u3001Webhook \u548c\u77ed\u4fe1\u7b49\u65b9\u5f0f\u5411\u7528\u6237\u53d1\u9001\u6d88\u606f\u3002

                                        "},{"location":"end-user/insight/alert-center/message.html#_2","title":"\u90ae\u4ef6\u7ec4","text":"
                                        1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u540e\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e\uff0c\u9ed8\u8ba4\u4f4d\u4e8e\u90ae\u4ef6\u901a\u77e5\u5bf9\u8c61\u3002

                                        2. \u70b9\u51fb \u6dfb\u52a0\u90ae\u7bb1\u7ec4\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u90ae\u4ef6\u5730\u5740\u3002

                                        3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u90ae\u7bb1\u7ec4\u3002

                                        "},{"location":"end-user/insight/alert-center/message.html#_3","title":"\u4f01\u4e1a\u5fae\u4fe1","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u4f01\u4e1a\u5fae\u4fe1\u3002

                                          \u6709\u5173\u4f01\u4e1a\u5fae\u4fe1\u7fa4\u673a\u5668\u4eba\u7684 URL\uff0c\u8bf7\u53c2\u9605\u4f01\u4e1a\u5fae\u4fe1\u5b98\u65b9\u6587\u6863\uff1a\u5982\u4f55\u4f7f\u7528\u7fa4\u673a\u5668\u4eba\u3002

                                        2. \u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

                                        3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

                                        "},{"location":"end-user/insight/alert-center/message.html#_4","title":"\u9489\u9489","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u9489\u9489\uff0c\u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

                                          \u6709\u5173\u9489\u9489\u7fa4\u673a\u5668\u4eba\u7684 URL\uff0c\u8bf7\u53c2\u9605\u9489\u9489\u5b98\u65b9\u6587\u6863\uff1a\u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u63a5\u5165\u3002

                                          Note

                                          \u52a0\u7b7e\u7684\u65b9\u5f0f\u662f\u9489\u9489\u673a\u5668\u4eba\u4e0e\u5f00\u53d1\u8005\u53cc\u5411\u8fdb\u884c\u5b89\u5168\u8ba4\u8bc1\uff0c\u82e5\u5728\u521b\u5efa\u9489\u9489\u673a\u5668\u4eba\u65f6\u5f00\u542f\u4e86\u52a0\u7b7e\uff0c\u5219\u9700\u8981\u5728\u6b64\u5904\u8f93\u5165\u9489\u9489\u751f\u6210\u7684\u5bc6\u94a5\u3002 \u53ef\u53c2\u8003\u9489\u9489\u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u5b89\u5168\u8bbe\u7f6e\u3002

                                        2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

                                        "},{"location":"end-user/insight/alert-center/message.html#_5","title":"\u98de\u4e66","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u98de\u4e66\uff0c\u70b9\u51fb \u6dfb\u52a0\u7fa4\u673a\u5668\u4eba\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u7fa4\u673a\u5668\u4eba\u3002

                                          Note

                                          \u5f53\u98de\u4e66\u7684\u7fa4\u673a\u5668\u4eba\u5f00\u542f\u7b7e\u540d\u6821\u9a8c\u65f6\uff0c\u6dfb\u52a0\u98de\u4e66\u901a\u77e5\u65f6\u9700\u8981\u586b\u5199\u5bf9\u5e94\u7684\u7b7e\u540d\u5bc6\u94a5\u3002\u8bf7\u67e5\u9605 \u81ea\u5b9a\u4e49\u673a\u5668\u4eba\u4f7f\u7528\u6307\u5357\u3002

                                        2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u7fa4\u673a\u5668\u4eba\u3002

                                        "},{"location":"end-user/insight/alert-center/message.html#webhook","title":"Webhook","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> Webhook\u3002

                                          \u6709\u5173 Webhook URL \u53ca\u66f4\u591a\u914d\u7f6e\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605 webhook \u6587\u6863\u3002

                                        2. \u70b9\u51fb \u65b0\u5efa Webhook\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a Webhook\u3002

                                          HTTP Headers\uff1a\u975e\u5fc5\u586b\uff0c\u8bbe\u7f6e\u8bf7\u6c42\u5934\u3002\u53ef\u4ee5\u6dfb\u52a0\u591a\u4e2a Headers\u3002

                                          Note

                                          \u6709\u5173 Webhook URL \u53ca\u66f4\u591a\u914d\u7f6e\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605 webhook \u6587\u6863\u3002

                                        3. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\uff0c\u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664 Webhook\u3002

                                        "},{"location":"end-user/insight/alert-center/message.html#_6","title":"\u7ad9\u5185\u4fe1","text":"

                                        Note

                                        \u544a\u8b66\u6d88\u606f\u53d1\u9001\u81f3\u7528\u6237\u4e2a\u4eba\u7684\u7ad9\u5185\u4fe1\uff0c\u70b9\u51fb\u9876\u90e8\u7684 \ud83d\udd14 \u7b26\u53f7\u53ef\u4ee5\u67e5\u770b\u901a\u77e5\u6d88\u606f\u3002

                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u7ad9\u5185\u4fe1\uff0c\u70b9\u51fb\u521b\u5efa\u3002

                                          • \u7ad9\u5185\u4fe1\u901a\u77e5\u5141\u8bb8\u6dfb\u52a0\u591a\u4e2a\u7528\u6237\u3002

                                        2. \u914d\u7f6e\u5b8c\u6210\u540e\u81ea\u52a8\u8fd4\u56de \u7ad9\u5185\u4fe1\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u9009\u62e9 \u53d1\u9001\u6d4b\u8bd5\u4fe1\u606f\u3002

                                        "},{"location":"end-user/insight/alert-center/message.html#_7","title":"\u77ed\u4fe1\u7ec4","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\u70b9\u51fb \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u77ed\u4fe1\uff0c\u70b9\u51fb \u6dfb\u52a0\u77ed\u4fe1\u7ec4\uff0c\u6dfb\u52a0\u4e00\u4e2a\u6216\u591a\u4e2a\u77ed\u4fe1\u7ec4\u3002

                                        2. \u5728\u5f39\u7a97\u4e2d\u8f93\u5165\u540d\u79f0\u3001\u63a5\u6536\u77ed\u4fe1\u7684\u5bf9\u8c61\u3001\u624b\u673a\u53f7\u4ee5\u53ca\u901a\u77e5\u670d\u52a1\u5668\u3002

                                          \u901a\u77e5\u670d\u52a1\u5668\u9700\u8981\u9884\u5148\u5728 \u901a\u77e5\u914d\u7f6e -> \u901a\u77e5\u670d\u52a1\u5668 \u4e2d\u6dfb\u52a0\u521b\u5efa\u3002\u76ee\u524d\u652f\u6301\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u4e24\u79cd\u4e91\u670d\u52a1\u5668\uff0c\u5177\u4f53\u914d\u7f6e\u7684\u53c2\u6570\u8bf7\u53c2\u9605\u81ea\u5df1\u7684\u4e91\u670d\u52a1\u5668\u4fe1\u606f\u3002

                                        3. \u77ed\u4fe1\u7ec4\u6dfb\u52a0\u6210\u529f\u540e\uff0c\u81ea\u52a8\u8fd4\u56de\u901a\u77e5\u5217\u8868\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507\uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u77ed\u4fe1\u7ec4\u3002

                                        "},{"location":"end-user/insight/alert-center/msg-template.html","title":"\u6d88\u606f\u6a21\u677f","text":"

                                        \u53ef\u89c2\u6d4b\u6027\u63d0\u4f9b\u81ea\u5b9a\u4e49\u6d88\u606f\u6a21\u677f\u5185\u5bb9\u7684\u80fd\u529b\uff0c\u652f\u6301\u90ae\u4ef6\u3001\u4f01\u4e1a\u5fae\u4fe1\u3001\u9489\u9489\u3001Webhook\u3001\u98de\u4e66\u3001\u7ad9\u5185\u4fe1\u7b49\u4e0d\u540c\u7684\u901a\u77e5\u5bf9\u8c61\u5b9a\u4e49\u4e0d\u540c\u7684\u6d88\u606f\u901a\u77e5\u5185\u5bb9\u3002

                                        "},{"location":"end-user/insight/alert-center/msg-template.html#_2","title":"\u521b\u5efa\u6d88\u606f\u6a21\u677f","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u6d88\u606f\u6a21\u677f\u3002

                                          Insight \u9ed8\u8ba4\u5185\u7f6e\u4e2d\u82f1\u6587\u4e24\u4e2a\u6a21\u677f\uff0c\u4ee5\u4fbf\u7528\u6237\u4f7f\u7528\u3002

                                        2. \u70b9\u51fb \u65b0\u5efa\u6d88\u606f\u6a21\u677f \u6309\u94ae\uff0c\u586b\u5199\u6a21\u677f\u5185\u5bb9\u3002

                                        Info

                                        \u53ef\u89c2\u6d4b\u6027\u9884\u7f6e\u4e86\u6d88\u606f\u6a21\u677f\u3002\u82e5\u9700\u8981\u5b9a\u4e49\u6a21\u677f\u7684\u5185\u5bb9\uff0c\u8bf7\u53c2\u8003\u914d\u7f6e\u901a\u77e5\u6a21\u677f\u3002

                                        "},{"location":"end-user/insight/alert-center/msg-template.html#_3","title":"\u6d88\u606f\u6a21\u677f\u8be6\u60c5","text":"

                                        \u70b9\u51fb\u67d0\u4e00\u6d88\u606f\u6a21\u677f\u7684\u540d\u79f0\uff0c\u53f3\u4fa7\u6ed1\u5757\u53ef\u67e5\u770b\u6d88\u606f\u6a21\u677f\u7684\u8be6\u60c5\u3002

                                        \u53c2\u6570 \u53d8\u91cf \u63cf\u8ff0 \u89c4\u5219\u540d\u79f0 {{ .Labels.alertname }} \u89e6\u53d1\u544a\u8b66\u7684\u89c4\u5219\u540d\u79f0 \u7b56\u7565\u540d\u79f0 {{ .Labels.alertgroup }} \u89e6\u53d1\u544a\u8b66\u89c4\u5219\u6240\u5c5e\u7684\u544a\u8b66\u7b56\u7565\u540d\u79f0 \u544a\u8b66\u7ea7\u522b {{ .Labels.severity }} \u89e6\u53d1\u544a\u8b66\u7684\u7ea7\u522b \u96c6\u7fa4 {{ .Labels.cluster }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u96c6\u7fa4 \u547d\u540d\u7a7a\u95f4 {{ .Labels.namespace }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4 \u8282\u70b9 {{ .Labels.node }} \u89e6\u53d1\u544a\u8b66\u7684\u8d44\u6e90\u6240\u5728\u7684\u8282\u70b9 \u8d44\u6e90\u7c7b\u578b {{ .Labels.target_type }} \u544a\u8b66\u5bf9\u8c61\u7684\u8d44\u6e90\u7c7b\u578b \u8d44\u6e90\u540d\u79f0 {{ .Labels.target }} \u89e6\u53d1\u544a\u8b66\u7684\u5bf9\u8c61\u540d\u79f0 \u89e6\u53d1\u503c {{ .Annotations.value }} \u89e6\u53d1\u544a\u8b66\u901a\u77e5\u65f6\u7684\u6307\u6807\u503c \u53d1\u751f\u65f6\u95f4 {{ .StartsAt }} \u544a\u8b66\u5f00\u59cb\u53d1\u751f\u7684\u65f6\u95f4 \u7ed3\u675f\u65f6\u95f4 {{ .EndsAT }} \u544a\u8b66\u7ed3\u675f\u7684\u65f6\u95f4 \u63cf\u8ff0 {{ .Annotations.description }} \u544a\u8b66\u7684\u8be6\u7ec6\u63cf\u8ff0 \u6807\u7b7e {{ for .labels}} {{end}} \u544a\u8b66\u7684\u6240\u6709\u6807\u7b7e\uff0c\u4f7f\u7528 for \u51fd\u6570\u904d\u5386 labels \u5217\u8868\uff0c\u83b7\u53d6\u544a\u8b66\u7684\u6240\u6709\u6807\u7b7e\u5185\u5bb9\u3002"},{"location":"end-user/insight/alert-center/msg-template.html#_4","title":"\u7f16\u8f91\u6216\u5220\u9664\u6d88\u606f\u6a21\u677f","text":"

                                        \u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u7f16\u8f91 \u6216 \u5220\u9664\uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6d88\u606f\u6a21\u677f\u3002

                                        Warning

                                        \u8bf7\u6ce8\u610f\uff0c\u5220\u9664\u6a21\u677f\u540e\u65e0\u6cd5\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                                        "},{"location":"end-user/insight/alert-center/silent.html","title":"\u544a\u8b66\u9759\u9ed8","text":"

                                        \u544a\u8b66\u9759\u9ed8\u662f\u6307\u5728\u7279\u5b9a\u7684\u65f6\u95f4\u8303\u56f4\u5185\uff0c\u6839\u636e\u5b9a\u4e49\u597d\u7684\u89c4\u5219\u5bf9\u7b26\u5408\u6761\u4ef6\u7684\u544a\u8b66\u4e0d\u518d\u53d1\u9001\u544a\u8b66\u901a\u77e5\u3002\u8be5\u529f\u80fd\u53ef\u4ee5\u5e2e\u52a9\u8fd0\u7ef4\u4eba\u5458\u907f\u514d\u5728\u67d0\u4e9b\u64cd\u4f5c\u6216\u4e8b\u4ef6\u671f\u95f4\u63a5\u6536\u5230\u8fc7\u591a\u7684\u566a\u58f0\u544a\u8b66\uff0c\u540c\u65f6\u4fbf\u4e8e\u66f4\u52a0\u7cbe\u786e\u5730\u5904\u7406\u771f\u6b63\u9700\u8981\u89e3\u51b3\u7684\u95ee\u9898\u3002

                                        \u5728\u544a\u8b66\u9759\u9ed8\u9875\u9762\u4e0a\uff0c\u7528\u6237\u53ef\u4ee5\u770b\u5230\u4e24\u4e2a\u9875\u7b7e\uff1a\u6d3b\u8dc3\u89c4\u5219\u548c\u8fc7\u671f\u89c4\u5219\u3002 \u5176\u4e2d\uff0c\u6d3b\u8dc3\u89c4\u5219\u8868\u793a\u76ee\u524d\u6b63\u5728\u751f\u6548\u7684\u89c4\u5219\uff0c\u800c\u8fc7\u671f\u89c4\u5219\u5219\u662f\u4ee5\u524d\u5b9a\u4e49\u8fc7\u4f46\u5df2\u7ecf\u8fc7\u671f\uff08\u6216\u8005\u7528\u6237\u4e3b\u52a8\u5220\u9664\uff09\u7684\u89c4\u5219\u3002

                                        "},{"location":"end-user/insight/alert-center/silent.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u544a\u8b66\u4e2d\u5fc3 -> \u544a\u8b66\u9759\u9ed8 ,\u70b9\u51fb \u65b0\u5efa\u9759\u9ed8\u89c4\u5219 \u6309\u94ae\u3002

                                        2. \u586b\u5199\u9759\u9ed8\u89c4\u5219\u7684\u5404\u9879\u53c2\u6570\uff0c\u5982\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u6807\u7b7e\u3001\u65f6\u95f4\u7b49\uff0c\u4ee5\u5b9a\u4e49\u8fd9\u6761\u89c4\u5219\u7684\u4f5c\u7528\u8303\u56f4\u548c\u751f\u6548\u65f6\u95f4\u3002

                                        3. \u8fd4\u56de\u89c4\u5219\u5217\u8868\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u7f16\u8f91\u6216\u5220\u9664\u9759\u9ed8\u89c4\u5219\u3002

                                        \u901a\u8fc7\u544a\u8b66\u9759\u9ed8\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u7075\u6d3b\u5730\u63a7\u5236\u54ea\u4e9b\u544a\u8b66\u9700\u8981\u88ab\u5ffd\u7565\uff0c\u5728\u4ec0\u4e48\u65f6\u95f4\u6bb5\u5185\u751f\u6548\uff0c\u4ece\u800c\u63d0\u9ad8\u8fd0\u7ef4\u6548\u7387\uff0c\u51cf\u5c11\u8bef\u62a5\u7684\u53ef\u80fd\u6027\u3002

                                        "},{"location":"end-user/insight/alert-center/sms-provider.html","title":"\u914d\u7f6e\u901a\u77e5\u670d\u52a1\u5668","text":"

                                        \u53ef\u89c2\u6d4b\u6027 Insight \u652f\u6301\u77ed\u4fe1\u901a\u77e5\uff0c\u76ee\u524d\u901a\u8fc7\u96c6\u6210\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u7684\u77ed\u4fe1\u670d\u52a1\u53d1\u9001\u544a\u8b66\u6d88\u606f\u3002\u672c\u6587\u4ecb\u7ecd\u4e86\u5982\u4f55\u5728 insight \u4e2d\u914d\u7f6e\u77ed\u4fe1\u901a\u77e5\u7684\u670d\u52a1\u5668\u3002\u77ed\u4fe1\u7b7e\u540d\u4e2d\u652f\u6301\u7684\u53d8\u91cf\u4e3a\u6d88\u606f\u6a21\u677f\u4e2d\u7684\u9ed8\u8ba4\u53d8\u91cf\uff0c\u540c\u65f6\u7531\u4e8e\u77ed\u4fe1\u5b57\u6570\u6709\u9650\uff0c\u5efa\u8bae\u9009\u62e9\u8f83\u4e3a\u660e\u786e\u7684\u53d8\u91cf\u3002

                                        \u5982\u4f55\u914d\u7f6e\u77ed\u4fe1\u63a5\u6536\u4eba\u53ef\u53c2\u8003\u6587\u6863\uff1a\u914d\u7f6e\u77ed\u4fe1\u901a\u77e5\u7ec4\u3002

                                        "},{"location":"end-user/insight/alert-center/sms-provider.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u8fdb\u5165 \u544a\u8b66\u4e2d\u5fc3 -> \u901a\u77e5\u914d\u7f6e -> \u901a\u77e5\u670d\u52a1\u5668 \u3002

                                        2. \u70b9\u51fb \u6dfb\u52a0\u901a\u77e5\u670d\u52a1\u5668 \u3002

                                          1. \u914d\u7f6e\u963f\u91cc\u4e91\u670d\u52a1\u5668\u3002

                                            \u7533\u8bf7\u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1\uff0c\u8bf7\u53c2\u8003\u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1\u3002

                                            \u5b57\u6bb5\u8bf4\u660e\uff1a

                                            • AccessKey ID \uff1a\u963f\u91cc\u4e91\u7528\u4e8e\u6807\u8bc6\u7528\u6237\u7684\u53c2\u6570\u3002
                                            • AccessKey Secret \uff1a\u963f\u91cc\u4e91\u7528\u4e8e\u9a8c\u8bc1\u7528\u6237\u7684\u5bc6\u94a5\u3002AccessKey Secret \u5fc5\u987b\u4fdd\u5bc6\u3002
                                            • \u77ed\u4fe1\u7b7e\u540d \uff1a\u77ed\u4fe1\u670d\u52a1\u652f\u6301\u6839\u636e\u7528\u6237\u9700\u6c42\u521b\u5efa\u7b26\u5408\u8981\u6c42\u7684\u7b7e\u540d\u3002\u53d1\u9001\u77ed\u4fe1\u65f6\uff0c\u77ed\u4fe1\u5e73\u53f0\u4f1a\u5c06\u5df2\u5ba1\u6838\u901a\u8fc7\u7684\u77ed\u4fe1\u7b7e\u540d\u6dfb\u52a0\u5230\u77ed\u4fe1\u5185\u5bb9\u4e2d\uff0c\u518d\u53d1\u9001\u7ed9\u77ed\u4fe1\u63a5\u6536\u65b9\u3002
                                            • \u6a21\u677f CODE \uff1a\u77ed\u4fe1\u6a21\u677f\u662f\u53d1\u9001\u77ed\u4fe1\u7684\u5177\u4f53\u5185\u5bb9\u3002
                                            • \u53c2\u6570\u6a21\u677f \uff1a\u77ed\u4fe1\u6b63\u6587\u6a21\u677f\u53ef\u4ee5\u5305\u542b\u53d8\u91cf\uff0c\u7528\u6237\u53ef\u901a\u8fc7\u53d8\u91cf\u5b9e\u73b0\u81ea\u5b9a\u4e49\u77ed\u4fe1\u5185\u5bb9\u3002

                                            \u8bf7\u53c2\u8003\u963f\u91cc\u4e91\u53d8\u91cf\u89c4\u8303\u3002

                                            Note

                                            \u4e3e\u4f8b\uff1a\u5728\u963f\u91cc\u4e91\u5b9a\u4e49\u7684\u6a21\u677f\u5185\u5bb9\u4e3a\uff1a\\({severity}\uff1a\\) \u88ab\u89e6\u53d1\u3002\u53c2\u6570\u6a21\u677f\u4e2d\u7684\u914d\u7f6e\u53c2\u8003\u4e0a\u56fe\u3002} \u5728 ${startat

                                          2. \u914d\u7f6e\u817e\u8baf\u4e91\u670d\u52a1\u5668\u3002

                                            \u7533\u8bf7\u817e\u8baf\u4e91\u77ed\u4fe1\u670d\u52a1\uff0c\u8bf7\u53c2\u8003\u817e\u8baf\u4e91\u77ed\u4fe1\u3002

                                            \u5b57\u6bb5\u8bf4\u660e\uff1a

                                            • Secret ID \uff1a\u817e\u8baf\u4e91\u7528\u4e8e\u6807\u8bc6 API \u8c03\u7528\u8005\u8eab\u4efd\u53c2\u6570\u3002
                                            • SecretKey \uff1a\u817e\u8baf\u4e91\u7528\u4e8e\u9a8c\u8bc1 API \u8c03\u7528\u8005\u7684\u8eab\u4efd\u7684\u53c2\u6570\u3002
                                            • \u77ed\u4fe1\u6a21\u677f ID \uff1a\u77ed\u4fe1\u6a21\u677f ID\uff0c\u7531\u817e\u8baf\u4e91\u7cfb\u7edf\u81ea\u52a8\u751f\u6210\u3002
                                            • \u7b7e\u540d\u5185\u5bb9 \uff1a\u77ed\u4fe1\u7b7e\u540d\u5185\u5bb9\uff0c\u5373\u5728\u817e\u8baf\u4e91\u77ed\u4fe1\u7b7e\u540d\u4e2d\u5b9a\u4e49\u7684\u5b9e\u9645\u7f51\u7ad9\u540d\u7684\u5168\u79f0\u6216\u7b80\u79f0\u3002
                                            • SdkAppId \uff1a\u77ed\u4fe1 SdkAppId\uff0c\u5728\u817e\u8baf\u4e91\u77ed\u4fe1\u63a7\u5236\u53f0\u6dfb\u52a0\u5e94\u7528\u540e\u751f\u6210\u7684\u5b9e\u9645 SdkAppId\u3002
                                            • \u53c2\u6570\u6a21\u677f \uff1a\u77ed\u4fe1\u6b63\u6587\u6a21\u677f\u53ef\u4ee5\u5305\u542b\u53d8\u91cf\uff0c\u7528\u6237\u53ef\u901a\u8fc7\u53d8\u91cf\u5b9e\u73b0\u81ea\u5b9a\u4e49\u77ed\u4fe1\u5185\u5bb9\u3002\u8bf7\u53c2\u8003\uff1a\u817e\u8baf\u4e91\u53d8\u91cf\u89c4\u8303\u3002

                                            Note

                                            \u4e3e\u4f8b\uff1a\u5728\u817e\u8baf\u4e91\u5b9a\u4e49\u7684\u6a21\u677f\u5185\u5bb9\u4e3a\uff1a{1}\uff1a{2} \u5728 {3} \u88ab\u89e6\u53d1\u3002\u53c2\u6570\u6a21\u677f\u4e2d\u7684\u914d\u7f6e\u53c2\u8003\u4e0a\u56fe\u3002

                                        "},{"location":"end-user/insight/collection-manag/agent-status.html","title":"insight-agent \u7ec4\u4ef6\u72b6\u6001\u8bf4\u660e","text":"

                                        \u5728 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u89c2\u6d4b\u4ea7\u54c1\uff0c\u4e3a\u4e86\u5b9e\u73b0\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u7edf\u4e00\u91c7\u96c6\uff0c\u9700\u8981\u7528\u6237\u5b89\u88c5 Helm \u5e94\u7528 insight-agent \uff08\u9ed8\u8ba4\u5b89\u88c5\u5728 insight-system \u547d\u540d\u7a7a\u95f4\uff09\u3002\u53c2\u9605\u5982\u4f55\u5b89\u88c5 insight-agent \u3002

                                        "},{"location":"end-user/insight/collection-manag/agent-status.html#_1","title":"\u72b6\u6001\u8bf4\u660e","text":"

                                        \u5728 \u53ef\u89c2\u6d4b\u6027 -> \u91c7\u96c6\u7ba1\u7406 \u90e8\u5206\u53ef\u67e5\u770b\u5404\u96c6\u7fa4\u5b89\u88c5 insight-agent \u7684\u60c5\u51b5\u3002

                                        • \u672a\u5b89\u88c5 \uff1a\u8be5\u96c6\u7fa4\u4e2d\u672a\u5728 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u5b89\u88c5 insight-agent
                                        • \u8fd0\u884c\u4e2d \uff1a\u8be5\u96c6\u7fa4\u4e2d\u6210\u529f\u5b89\u88c5 insight-agent \uff0c\u4e14\u90e8\u7f72\u7684\u6240\u6709\u7ec4\u4ef6\u5747\u5904\u4e8e\u8fd0\u884c\u4e2d\u72b6\u6001
                                        • \u5f02\u5e38 \uff1a\u82e5 insight-agent \u5904\u4e8e\u6b64\u72b6\u6001\uff0c\u8bf4\u660e helm \u90e8\u7f72\u5931\u8d25\u6216\u5b58\u5728\u90e8\u7f72\u7684\u7ec4\u4ef6\u5904\u4e8e\u975e\u8fd0\u884c\u4e2d\u72b6\u6001

                                        \u53ef\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u6392\u67e5\uff1a

                                        1. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u82e5\u72b6\u6001\u4e3a deployed \uff0c\u5219\u6267\u884c\u4e0b\u4e00\u6b65\u3002\u82e5\u4e3a failed \uff0c\u7531\u4e8e\u4f1a\u5f71\u54cd\u5e94\u7528\u7684\u5347\u7ea7\uff0c\u5efa\u8bae\u5728 \u5bb9\u5668\u7ba1\u7406 -> helm \u5e94\u7528 \u5378\u8f7d\u540e\u91cd\u65b0\u5b89\u88c5 :

                                          helm list -n insight-system\n
                                        2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6216\u5728 \u53ef\u89c2\u6d4b\u6027 -> \u91c7\u96c6\u7ba1\u7406 \u4e2d\u67e5\u770b\u8be5\u96c6\u7fa4\u90e8\u7f72\u7684\u7ec4\u4ef6\u7684\u72b6\u6001\uff0c\u82e5\u5b58\u5728\u975e \u8fd0\u884c\u4e2d \u72b6\u6001\u7684\u5bb9\u5668\u7ec4\uff0c\u8bf7\u91cd\u542f\u5f02\u5e38\u7684\u5bb9\u5668\u7ec4\u3002

                                          kubectl get pods -n insight-system\n
                                        "},{"location":"end-user/insight/collection-manag/agent-status.html#_2","title":"\u8865\u5145\u8bf4\u660e","text":"
                                        1. insight-agent \u4e2d\u6307\u6807\u91c7\u96c6\u7ec4\u4ef6 Prometheus \u7684\u8d44\u6e90\u6d88\u8017\u4e0e\u96c6\u7fa4\u4e2d\u8fd0\u884c\u7684\u5bb9\u5668\u7ec4\u6570\u91cf\u5b58\u5728\u6b63\u6bd4\u5173\u7cfb\uff0c \u8bf7\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 Prometheus \u7684\u8d44\u6e90\uff0c\u8bf7\u53c2\u8003\uff1aPrometheus \u8d44\u6e90\u89c4\u5212

                                        2. \u7531\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u6307\u6807\u5b58\u50a8\u7ec4\u4ef6 vmstorage \u7684\u5b58\u50a8\u5bb9\u91cf\u4e0e\u5404\u4e2a\u96c6\u7fa4\u5bb9\u5668\u7ec4\u6570\u91cf\u603b\u548c\u5b58\u5728\u6b63\u6bd4\u5173\u7cfb\u3002

                                          • \u8bf7\u8054\u7cfb\u5e73\u53f0\u7ba1\u7406\u5458\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf\uff0c\u53c2\u9605 vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212
                                          • \u6839\u636e\u591a\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u78c1\u76d8\uff0c\u53c2\u9605 vmstorge \u78c1\u76d8\u6269\u5bb9
                                        "},{"location":"end-user/insight/collection-manag/collection-manag.html","title":"\u91c7\u96c6\u7ba1\u7406","text":"

                                        \u91c7\u96c6\u7ba1\u7406 \u4e3b\u8981\u662f\u96c6\u4e2d\u7ba1\u7406\u3001\u5c55\u793a\u96c6\u7fa4\u5b89\u88c5\u91c7\u96c6\u63d2\u4ef6 insight-agent \u7684\u5165\u53e3\uff0c\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u7684\u67e5\u770b\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u5e76\u63d0\u4f9b\u4e86\u5feb\u6377\u5165\u53e3\u914d\u7f6e\u91c7\u96c6\u89c4\u5219\u3002

                                        \u5177\u4f53\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b\uff1a

                                        1. \u70b9\u51fb\u5de6\u4e0a\u89d2\u7684\uff0c\u9009\u62e9 \u53ef\u89c2\u6d4b\u6027 \u3002

                                        2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u91c7\u96c6\u7ba1\u7406 \uff0c\u67e5\u770b\u5168\u90e8\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u72b6\u6001\u3002

                                        3. \u96c6\u7fa4\u63a5\u5165 insight-agent \u4e14\u5904\u4e8e\u8fd0\u884c\u4e2d\u72b6\u6001\u65f6\uff0c\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\u3002

                                        4. \u5728 \u670d\u52a1\u76d1\u63a7 \u9875\u7b7e\u4e2d\uff0c\u70b9\u51fb\u5feb\u6377\u94fe\u63a5\u8df3\u8f6c\u5230 \u5bb9\u5668\u7ba1\u7406 -> \u81ea\u5b9a\u4e49\u8d44\u6e90 \u6dfb\u52a0\u670d\u52a1\u53d1\u73b0\u89c4\u5219\u3002

                                        "},{"location":"end-user/insight/collection-manag/metric-collect.html","title":"\u6307\u6807\u6293\u53d6\u65b9\u5f0f","text":"

                                        Prometheus \u4e3b\u8981\u901a\u8fc7 Pull \u7684\u65b9\u5f0f\u6765\u6293\u53d6\u76ee\u6807\u670d\u52a1\u66b4\u9732\u51fa\u6765\u7684\u76d1\u63a7\u63a5\u53e3\uff0c\u56e0\u6b64\u9700\u8981\u914d\u7f6e\u5bf9\u5e94\u7684\u6293\u53d6\u4efb\u52a1\u6765\u8bf7\u6c42\u76d1\u63a7\u6570\u636e\u5e76\u5199\u5165\u5230 Prometheus \u63d0\u4f9b\u7684\u5b58\u50a8\u4e2d\uff0c\u76ee\u524d Prometheus \u670d\u52a1\u63d0\u4f9b\u4e86\u5982\u4e0b\u51e0\u4e2a\u4efb\u52a1\u7684\u914d\u7f6e\uff1a

                                        • \u539f\u751f Job \u914d\u7f6e\uff1a\u63d0\u4f9b Prometheus \u539f\u751f\u6293\u53d6 Job \u7684\u914d\u7f6e\u3002
                                        • Pod Monitor\uff1a\u5728 K8S \u751f\u6001\u4e0b\uff0c\u57fa\u4e8e Prometheus Operator \u6765\u6293\u53d6 Pod \u4e0a\u5bf9\u5e94\u7684\u76d1\u63a7\u6570\u636e\u3002
                                        • Service Monitor\uff1a\u5728 K8S \u751f\u6001\u4e0b\uff0c\u57fa\u4e8e Prometheus Operator \u6765\u6293\u53d6 Service \u5bf9\u5e94 Endpoints \u4e0a\u7684\u76d1\u63a7\u6570\u636e\u3002

                                        Note

                                        [ ] \u4e2d\u7684\u914d\u7f6e\u9879\u4e3a\u53ef\u9009\u3002

                                        "},{"location":"end-user/insight/collection-manag/metric-collect.html#job","title":"\u539f\u751f Job \u914d\u7f6e","text":"

                                        \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                                        # \u6293\u53d6\u4efb\u52a1\u540d\u79f0\uff0c\u540c\u65f6\u4f1a\u5728\u5bf9\u5e94\u6293\u53d6\u7684\u6307\u6807\u4e2d\u52a0\u4e86\u4e00\u4e2a label(job=job_name)\njob_name: <job_name>\n\n# \u6293\u53d6\u4efb\u52a1\u65f6\u95f4\u95f4\u9694\n[ scrape_interval: <duration> | default = <global_config.scrape_interval> ]\n\n# \u6293\u53d6\u8bf7\u6c42\u8d85\u65f6\u65f6\u95f4\n[ scrape_timeout: <duration> | default = <global_config.scrape_timeout> ]\n\n# \u6293\u53d6\u4efb\u52a1\u8bf7\u6c42 URI \u8def\u5f84\n[ metrics_path: <path> | default = /metrics ]\n\n# \u89e3\u51b3\u5f53\u6293\u53d6\u7684 label \u4e0e\u540e\u7aef Prometheus \u6dfb\u52a0 label \u51b2\u7a81\u65f6\u7684\u5904\u7406\u3002\n# true: \u4fdd\u7559\u6293\u53d6\u5230\u7684 label\uff0c\u5ffd\u7565\u4e0e\u540e\u7aef Prometheus \u51b2\u7a81\u7684 label\uff1b\n# false: \u5bf9\u51b2\u7a81\u7684 label\uff0c\u628a\u6293\u53d6\u7684 label \u524d\u52a0\u4e0a exported_<original-label>\uff0c\u6dfb\u52a0\u540e\u7aef Prometheus \u589e\u52a0\u7684 label\uff1b\n[ honor_labels: <boolean> | default = false ]\n\n# \u662f\u5426\u4f7f\u7528\u6293\u53d6\u5230 target \u4e0a\u4ea7\u751f\u7684\u65f6\u95f4\u3002\n# true: \u5982\u679c target \u4e2d\u6709\u65f6\u95f4\uff0c\u4f7f\u7528 target \u4e0a\u7684\u65f6\u95f4\uff1b\n# false: \u76f4\u63a5\u5ffd\u7565 target \u4e0a\u7684\u65f6\u95f4\uff1b\n[ honor_timestamps: <boolean> | default = true ]\n\n# \u6293\u53d6\u534f\u8bae: http \u6216\u8005 https\n[ scheme: <scheme> | default = http ]\n\n# \u6293\u53d6\u8bf7\u6c42\u5bf9\u5e94 URL \u53c2\u6570\nparams:\n  [ <string>: [<string>, ...] ]\n\n# \u901a\u8fc7 basic auth \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` \u7684\u503c\uff0cpassword/password_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 password_file \u91cc\u9762\u7684\u503c\u3002\nbasic_auth:\n  [ username: <string> ]\n  [ password: <secret> ]\n  [ password_file: <string> ]\n\n# \u901a\u8fc7 bearer token \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` bearer_token/bearer_token_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 bearer_token \u91cc\u9762\u7684\u503c\u3002\n[ bearer_token: <secret> ]\n\n# \u901a\u8fc7 bearer token \u8bbe\u7f6e\u6293\u53d6\u8bf7\u6c42\u5934\u4e2d `Authorization` bearer_token/bearer_token_file \u4e92\u65a5\uff0c\u4f18\u5148\u53d6 bearer_token \u91cc\u9762\u7684\u503c\u3002\n[ bearer_token_file: <filename> ]\n\n# \u6293\u53d6\u8fde\u63a5\u662f\u5426\u901a\u8fc7 TLS \u5b89\u5168\u901a\u9053\uff0c\u914d\u7f6e\u5bf9\u5e94\u7684 TLS \u53c2\u6570\ntls_config:\n  [ <tls_config> ]\n\n# \u901a\u8fc7\u4ee3\u7406\u670d\u52a1\u6765\u6293\u53d6 target \u4e0a\u7684\u6307\u6807\uff0c\u586b\u5199\u5bf9\u5e94\u7684\u4ee3\u7406\u670d\u52a1\u5730\u5740\u3002\n[ proxy_url: <string> ]\n\n# \u901a\u8fc7\u9759\u6001\u914d\u7f6e\u6765\u6307\u5b9a target\uff0c\u8be6\u89c1\u4e0b\u9762\u7684\u8bf4\u660e\u3002\nstatic_configs:\n  [ - <static_config> ... ]\n\n# CVM \u670d\u52a1\u53d1\u73b0\u914d\u7f6e\uff0c\u8be6\u89c1\u4e0b\u9762\u7684\u8bf4\u660e\u3002\ncvm_sd_configs:\n  [ - <cvm_sd_config> ... ]\n\n# \u5728\u6293\u53d6\u6570\u636e\u4e4b\u540e\uff0c\u628a target \u4e0a\u5bf9\u5e94\u7684 label \u901a\u8fc7 relabel \u7684\u673a\u5236\u8fdb\u884c\u6539\u5199\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\u3002\nrelabel_configs:\n  [ - <relabel_config> ... ]\n\n# \u6570\u636e\u6293\u53d6\u5b8c\u6210\u5199\u5165\u4e4b\u524d\uff0c\u901a\u8fc7 relabel \u673a\u5236\u8fdb\u884c\u6539\u5199 label \u5bf9\u5e94\u7684\u503c\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\u3002\nmetric_relabel_configs:\n  [ - <relabel_config> ... ]\n\n# \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n[ sample_limit: <int> | default = 0 ]\n\n# \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n[ target_limit: <int> | default = 0 ]\n
                                        "},{"location":"end-user/insight/collection-manag/metric-collect.html#pod-monitor","title":"Pod Monitor","text":"

                                        \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                                        # Prometheus Operator CRD \u7248\u672c\napiVersion: monitoring.coreos.com/v1\n# \u5bf9\u5e94 K8S \u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u8fd9\u91cc\u9762 Pod Monitor\nkind: PodMonitor\n# \u5bf9\u5e94 K8S \u7684 Metadata\uff0c\u8fd9\u91cc\u53ea\u7528\u5173\u5fc3 name\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a jobLabel\uff0c\u5bf9\u5e94\u6293\u53d6\u6307\u6807 label \u4e2d job \u7684\u503c\u4e3a <namespace>/<name>\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus  # namespace \u56fa\u5b9a\uff0c\u4e0d\u9700\u8981\u4fee\u6539\n# \u63cf\u8ff0\u6293\u53d6\u76ee\u6807 Pod \u7684\u9009\u53d6\u53ca\u6293\u53d6\u4efb\u52a1\u7684\u914d\u7f6e\n  label:\n    operator.insight.io/managed-by: insight # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\nspec:\n  # \u586b\u5199\u5bf9\u5e94 Pod \u7684 label\uff0cpod monitor \u4f1a\u53d6\u5bf9\u5e94\u7684\u503c\u4f5c\u4e3a job label \u7684\u503c\u3002\n  # \u5982\u679c\u67e5\u770b\u7684\u662f Pod Yaml\uff0c\u53d6 pod.metadata.labels \u4e2d\u7684\u503c\u3002\n  # \u5982\u679c\u67e5\u770b\u7684\u662f Deployment/Daemonset/Statefulset\uff0c\u53d6 spec.template.metadata.labels\u3002\n  [ jobLabel: string ]\n  # \u628a\u5bf9\u5e94 Pod \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ podTargetLabels: []string ]\n  # \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ sampleLimit: uint64 ]\n  # \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ targetLimit: uint64 ]\n  # \u914d\u7f6e\u9700\u8981\u6293\u53d6\u66b4\u9732\u7684 Prometheus HTTP \u63a5\u53e3\uff0c\u53ef\u4ee5\u914d\u7f6e\u591a\u4e2a Endpoint\n  podMetricsEndpoints:\n  [ - <endpoint_config> ... ] # \u8be6\u89c1\u4e0b\u9762 endpoint \u8bf4\u660e\n  # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\uff0c\u4e0d\u586b\u4e3a\u9009\u53d6\u6240\u6709 namespace\n  [ namespaceSelector: ]\n    # \u662f\u5426\u9009\u53d6\u6240\u6709 namespace\n    [ any: bool ]\n    # \u9700\u8981\u9009\u53d6 namespace \u5217\u8868\n    [ matchNames: []string ]\n  # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 Pod [K8S metav1.LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta)\n  selector:\n    [ matchExpressions: array ]\n      [ example: - {key: tier, operator: In, values: [cache]} ]\n    [ matchLabels: object ]\n      [ example: k8s-app: redis-exporter ]\n
                                        "},{"location":"end-user/insight/collection-manag/metric-collect.html#1","title":"\u4e3e\u4f8b 1","text":"
                                        apiVersion: monitoring.coreos.com/v1\nkind: PodMonitor\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus # namespace \u56fa\u5b9a\uff0c\u4e0d\u8981\u4fee\u6539\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  podMetricsEndpoints:\n    - interval: 30s\n      port: metric-port # \u586b\u5199 pod yaml \u4e2d Prometheus Exporter \u5bf9\u5e94\u7684 Port \u7684 Name\n      path: /metrics # \u586b\u5199 Prometheus Exporter \u5bf9\u5e94\u7684 Path \u7684\u503c\uff0c\u4e0d\u586b\u9ed8\u8ba4 /metrics\n      relabelings:\n        - action: replace\n          sourceLabels:\n            - instance\n          regex: (.*)\n          targetLabel: instance\n          replacement: \"crs-xxxxxx\" # \u8c03\u6574\u6210\u5bf9\u5e94\u7684 Redis \u5b9e\u4f8b ID\n        - action: replace\n          sourceLabels:\n            - instance\n          regex: (.*)\n          targetLabel: ip\n          replacement: \"1.x.x.x\" # \u8c03\u6574\u6210\u5bf9\u5e94\u7684 Redis \u5b9e\u4f8b IP\n  namespaceSelector: # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\n    matchNames:\n      - redis-test\n  selector: # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 pod\n    matchLabels:\n      k8s-app: redis-exporter\n
                                        "},{"location":"end-user/insight/collection-manag/metric-collect.html#2","title":"\u4e3e\u4f8b 2","text":"
                                        job_name: prometheus\nscrape_interval: 30s\nstatic_configs:\n- targets:\n  - 127.0.0.1:9090\n
                                        "},{"location":"end-user/insight/collection-manag/metric-collect.html#service-monitor","title":"Service Monitor","text":"

                                        \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                                        # Prometheus Operator CRD \u7248\u672c\napiVersion: monitoring.coreos.com/v1\n# \u5bf9\u5e94 K8S \u7684\u8d44\u6e90\u7c7b\u578b\uff0c\u8fd9\u91cc\u9762 Service Monitor\nkind: ServiceMonitor\n# \u5bf9\u5e94 K8S \u7684 Metadata\uff0c\u8fd9\u91cc\u53ea\u7528\u5173\u5fc3 name\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a jobLabel\uff0c\u5bf9\u5e94\u6293\u53d6\u6307\u6807 label \u4e2d job \u7684\u503c\u4e3a Service \u7684\u540d\u79f0\u3002\nmetadata:\n  name: redis-exporter # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus  # namespace \u56fa\u5b9a\uff0c\u4e0d\u9700\u8981\u4fee\u6539\n# \u63cf\u8ff0\u6293\u53d6\u76ee\u6807 Pod \u7684\u9009\u53d6\u53ca\u6293\u53d6\u4efb\u52a1\u7684\u914d\u7f6e\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  # \u586b\u5199\u5bf9\u5e94 Pod \u7684 label(metadata/labels)\uff0cservice monitor \u4f1a\u53d6\u5bf9\u5e94\u7684\u503c\u4f5c\u4e3a job label \u7684\u503c\n  [ jobLabel: string ]\n  # \u628a\u5bf9\u5e94 service \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ targetLabels: []string ]\n  # \u628a\u5bf9\u5e94 Pod \u4e0a\u7684 Label \u6dfb\u52a0\u5230 Target \u7684 Label \u4e2d\n  [ podTargetLabels: []string ]\n  # \u4e00\u6b21\u6293\u53d6\u6570\u636e\u70b9\u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ sampleLimit: uint64 ]\n  # \u4e00\u6b21\u6293\u53d6 Target \u9650\u5236\uff0c0\uff1a\u4e0d\u4f5c\u9650\u5236\uff0c\u9ed8\u8ba4\u4e3a 0\n  [ targetLimit: uint64 ]\n  # \u914d\u7f6e\u9700\u8981\u6293\u53d6\u66b4\u9732\u7684 Prometheus HTTP \u63a5\u53e3\uff0c\u53ef\u4ee5\u914d\u7f6e\u591a\u4e2a Endpoint\n  endpoints:\n  [ - <endpoint_config> ... ] # \u8be6\u89c1\u4e0b\u9762 endpoint \u8bf4\u660e\n  # \u9009\u62e9\u8981\u76d1\u63a7 Pod \u6240\u5728\u7684 namespace\uff0c\u4e0d\u586b\u4e3a\u9009\u53d6\u6240\u6709 namespace\n  [ namespaceSelector: ]\n    # \u662f\u5426\u9009\u53d6\u6240\u6709 namespace\n    [ any: bool ]\n    # \u9700\u8981\u9009\u53d6 namespace \u5217\u8868\n    [ matchNames: []string ]\n  # \u586b\u5199\u8981\u76d1\u63a7 Pod \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 Pod [K8S metav1.LabelSelector](https://v1-17.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#labelselector-v1-meta)\n  selector:\n    [ matchExpressions: array ]\n      [ example: - {key: tier, operator: In, values: [cache]} ]\n    [ matchLabels: object ]\n      [ example: k8s-app: redis-exporter ]\n
                                        "},{"location":"end-user/insight/collection-manag/metric-collect.html#_2","title":"\u4e3e\u4f8b","text":"
                                        apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: go-demo # \u586b\u5199\u4e00\u4e2a\u552f\u4e00\u540d\u79f0\n  namespace: cm-prometheus # namespace \u56fa\u5b9a\uff0c\u4e0d\u8981\u4fee\u6539\n  label:\n    operator.insight.io/managed-by: insight  # Insight \u7ba1\u7406\u7684\u6807\u7b7e\u6807\u8bc6\uff0c\u5fc5\u586b\u3002\nspec:\n  endpoints:\n    - interval: 30s\n      # \u586b\u5199 service yaml \u4e2d Prometheus Exporter \u5bf9\u5e94\u7684 Port \u7684 Name\n      port: 8080-8080-tcp\n      # \u586b\u5199 Prometheus Exporter \u5bf9\u5e94\u7684 Path \u7684\u503c\uff0c\u4e0d\u586b\u9ed8\u8ba4 /metrics\n      path: /metrics\n      relabelings:\n        # ** \u5fc5\u987b\u8981\u6709\u4e00\u4e2a label \u4e3a application\uff0c\u8fd9\u91cc\u5047\u8bbe k8s \u6709\u4e00\u4e2a label \u4e3a app\uff0c\n        # \u6211\u4eec\u901a\u8fc7 relabel \u7684 replace \u52a8\u4f5c\u628a\u5b83\u66ff\u6362\u6210\u4e86 application\n        - action: replace\n          sourceLabels: [__meta_kubernetes_pod_label_app]\n          targetLabel: application\n  # \u9009\u62e9\u8981\u76d1\u63a7 service \u6240\u5728\u7684 namespace\n  namespaceSelector:\n    matchNames:\n      - golang-demo\n  # \u586b\u5199\u8981\u76d1\u63a7 service \u7684 Label \u503c\uff0c\u4ee5\u5b9a\u4f4d\u76ee\u6807 service\n  selector:\n    matchLabels:\n      app: golang-app-demo\n
                                        "},{"location":"end-user/insight/collection-manag/metric-collect.html#endpoint_config","title":"endpoint_config","text":"

                                        \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                                        # \u5bf9\u5e94 port \u7684\u540d\u79f0\uff0c\u8fd9\u91cc\u9700\u8981\u6ce8\u610f\u4e0d\u662f\u5bf9\u5e94\u7684\u7aef\u53e3\uff0c\u9ed8\u8ba4\uff1a80\uff0c\u5bf9\u5e94\u7684\u53d6\u503c\u5982\u4e0b\uff1a\n# ServiceMonitor: \u5bf9\u5e94 Service>spec/ports/name;\n# PodMonitor: \u8bf4\u660e\u5982\u4e0b\uff1a\n#   \u5982\u679c\u67e5\u770b\u7684\u662f Pod Yaml\uff0c\u53d6 pod.spec.containers.ports.name \u4e2d\u7684\u503c\u3002\n#   \u5982\u679c\u67e5\u770b\u7684\u662f Deployment/Daemonset/Statefulset\uff0c\u53d6\u503c spec.template.spec.containers.ports.name\n[ port: string | default = 80]\n# \u6293\u53d6\u4efb\u52a1\u8bf7\u6c42 URI \u8def\u5f84\n[ path: string | default = /metrics ]\n# \u6293\u53d6\u534f\u8bae: http \u6216\u8005 https\n[ scheme: string | default = http]\n# \u6293\u53d6\u8bf7\u6c42\u5bf9\u5e94 URL \u53c2\u6570\n[ params: map[string][]string]\n# \u6293\u53d6\u4efb\u52a1\u95f4\u9694\u7684\u65f6\u95f4\n[ interval: string | default = 30s ]\n# \u6293\u53d6\u4efb\u52a1\u8d85\u65f6\n[ scrapeTimeout: string | default = 30s]\n# \u6293\u53d6\u8fde\u63a5\u662f\u5426\u901a\u8fc7 TLS \u5b89\u5168\u901a\u9053\uff0c\u914d\u7f6e\u5bf9\u5e94\u7684 TLS \u53c2\u6570\n[ tlsConfig: TLSConfig ]\n# \u901a\u8fc7\u5bf9\u5e94\u7684\u6587\u4ef6\u8bfb\u53d6 bearer token \u5bf9\u5e94\u7684\u503c\uff0c\u653e\u5230\u6293\u53d6\u4efb\u52a1\u7684 header \u4e2d\n[ bearerTokenFile: string ]\n# \u901a\u8fc7\u5bf9\u5e94\u7684 K8S secret key \u8bfb\u53d6\u5bf9\u5e94\u7684 bearer token\uff0c\u6ce8\u610f secret namespace \u9700\u8981\u548c PodMonitor/ServiceMonitor \u76f8\u540c\n[ bearerTokenSecret: string ]\n# \u89e3\u51b3\u5f53\u6293\u53d6\u7684 label \u4e0e\u540e\u7aef Prometheus \u6dfb\u52a0 label \u51b2\u7a81\u65f6\u7684\u5904\u7406\u3002\n# true: \u4fdd\u7559\u6293\u53d6\u5230\u7684 label\uff0c\u5ffd\u7565\u4e0e\u540e\u7aef Prometheus \u51b2\u7a81\u7684 label\uff1b\n# false: \u5bf9\u51b2\u7a81\u7684 label\uff0c\u628a\u6293\u53d6\u7684 label \u524d\u52a0\u4e0a exported_<original-label>\uff0c\u6dfb\u52a0\u540e\u7aef Prometheus \u589e\u52a0\u7684 label\uff1b\n[ honorLabels: bool | default = false ]\n# \u662f\u5426\u4f7f\u7528\u6293\u53d6\u5230 target \u4e0a\u4ea7\u751f\u7684\u65f6\u95f4\u3002\n# true: \u5982\u679c target \u4e2d\u6709\u65f6\u95f4\uff0c\u4f7f\u7528 target \u4e0a\u7684\u65f6\u95f4\uff1b\n# false: \u76f4\u63a5\u5ffd\u7565 target \u4e0a\u7684\u65f6\u95f4\uff1b\n[ honorTimestamps: bool | default = true ]\n# basic auth \u7684\u8ba4\u8bc1\u4fe1\u606f\uff0cusername/password \u586b\u5199\u5bf9\u5e94 K8S secret key \u7684\u503c\uff0c\u6ce8\u610f secret namespace \u9700\u8981\u548c PodMonitor/ServiceMonitor \u76f8\u540c\u3002\n[ basicAuth: BasicAuth ]\n# \u901a\u8fc7\u4ee3\u7406\u670d\u52a1\u6765\u6293\u53d6 target \u4e0a\u7684\u6307\u6807\uff0c\u586b\u5199\u5bf9\u5e94\u7684\u4ee3\u7406\u670d\u52a1\u5730\u5740\n[ proxyUrl: string ]\n# \u5728\u6293\u53d6\u6570\u636e\u4e4b\u540e\uff0c\u628a target \u4e0a\u5bf9\u5e94\u7684 label \u901a\u8fc7 relabel \u7684\u673a\u5236\u8fdb\u884c\u6539\u5199\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\nrelabelings:\n[ - <relabel_config> ...]\n# \u6570\u636e\u6293\u53d6\u5b8c\u6210\u5199\u5165\u4e4b\u524d\uff0c\u901a\u8fc7 relabel \u673a\u5236\u8fdb\u884c\u6539\u5199 label \u5bf9\u5e94\u7684\u503c\uff0c\u6309\u987a\u5e8f\u6267\u884c\u591a\u4e2a relabel \u89c4\u5219\u3002\n# relabel_config \u8be6\u89c1\u4e0b\u6587\u8bf4\u660e\nmetricRelabelings:\n[ - <relabel_config> ...]\n
                                        "},{"location":"end-user/insight/collection-manag/metric-collect.html#relabel_config","title":"relabel_config","text":"

                                        \u76f8\u5e94\u914d\u7f6e\u9879\u8bf4\u660e\u5982\u4e0b\uff1a

                                        # \u4ece\u539f\u59cb labels \u4e2d\u53d6\u54ea\u4e9b label \u7684\u503c\u8fdb\u884c relabel\uff0c\u53d6\u51fa\u6765\u7684\u503c\u901a\u8fc7 separator \u4e2d\u7684\u5b9a\u4e49\u8fdb\u884c\u5b57\u7b26\u62fc\u63a5\u3002\n# \u5982\u679c\u662f PodMonitor/ServiceMonitor \u5bf9\u5e94\u7684\u914d\u7f6e\u9879\u4e3a sourceLabels\n[ source_labels: '[' <labelname> [, ...] ']' ]\n# \u5b9a\u4e49\u9700\u8981 relabel \u7684 label \u503c\u62fc\u63a5\u7684\u5b57\u7b26\uff0c\u9ed8\u8ba4\u4e3a ';'\n[ separator: <string> | default = ; ]\n\n# action \u4e3a replace/hashmod \u65f6\uff0c\u901a\u8fc7 target_label \u6765\u6307\u5b9a\u5bf9\u5e94 label name\u3002\n# \u5982\u679c\u662f PodMonitor/ServiceMonitor \u5bf9\u5e94\u7684\u914d\u7f6e\u9879\u4e3a targetLabel\n[ target_label: <labelname> ]\n\n# \u9700\u8981\u5bf9 source labels \u5bf9\u5e94\u503c\u8fdb\u884c\u6b63\u5219\u5339\u914d\u7684\u8868\u8fbe\u5f0f\n[ regex: <regex> | default = (.*) ]\n\n# action \u4e3a hashmod \u65f6\u7528\u5230\uff0c\u6839\u636e source label \u5bf9\u5e94\u503c md5 \u53d6\u6a21\u503c\n[ modulus: <int> ]\n\n# action \u4e3a replace \u7684\u65f6\u5019\uff0c\u901a\u8fc7 replacement \u6765\u5b9a\u4e49\u5f53 regex \u5339\u914d\u4e4b\u540e\u9700\u8981\u66ff\u6362\u7684\u8868\u8fbe\u5f0f\uff0c\u53ef\u4ee5\u7ed3\u5408 regex \u6b63\u89c4\u5219\u8868\u8fbe\u5f0f\u66ff\u6362\n[ replacement: <string> | default = $1 ]\n\n# \u57fa\u4e8e regex \u5339\u914d\u5230\u7684\u503c\u8fdb\u884c\u76f8\u5173\u7684\u64cd\u4f5c\uff0c\u5bf9\u5e94\u7684 action \u5982\u4e0b\uff0c\u9ed8\u8ba4\u4e3a replace\uff1a\n# replace: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u901a\u8fc7 replacement \u4e2d\u5b9a\u4e49\u7684\u503c\u66ff\u6362\u76f8\u5e94\u7684\u503c\uff0c\u5e76\u901a\u8fc7 target_label \u8bbe\u503c\u5e76\u6dfb\u52a0\u76f8\u5e94\u7684 label\n# keep: \u5982\u679c regex \u6ca1\u6709\u5339\u914d\u5230\uff0c\u4e22\u5f03\n# drop: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u4e22\u5f03\n# hashmod: \u901a\u8fc7 moduels \u6307\u5b9a\u7684\u503c\u628a source label \u5bf9\u5e94\u7684 md5 \u503c\u53d6\u6a21\n# \u5e76\u6dfb\u52a0\u4e00\u4e2a\u65b0\u7684 label\uff0clabel name \u901a\u8fc7 target_label \u6307\u5b9a\n# labelmap: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u4f7f\u7528 replacement \u66ff\u6362\u5bf9\u5c31\u7684 label name\n# labeldrop: \u5982\u679c regex \u5339\u914d\u5230\uff0c\u5220\u9664\u5bf9\u5e94\u7684 label\n# labelkeep: \u5982\u679c regex \u6ca1\u6709\u5339\u914d\u5230\uff0c\u5220\u9664\u5bf9\u5e94\u7684 label\n[ action: <relabel_action> | default = replace ]\n
                                        "},{"location":"end-user/insight/collection-manag/probe-module.html","title":"\u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f","text":"

                                        Insight \u4f7f\u7528 Prometheus \u5b98\u65b9\u63d0\u4f9b\u7684 Blackbox Exporter \u4f5c\u4e3a\u9ed1\u76d2\u76d1\u63a7\u89e3\u51b3\u65b9\u6848\uff0c\u53ef\u4ee5\u901a\u8fc7 HTTP\u3001HTTPS\u3001DNS\u3001ICMP\u3001TCP \u548c gRPC \u65b9\u5f0f\u5bf9\u76ee\u6807\u5b9e\u4f8b\u8fdb\u884c\u68c0\u6d4b\u3002\u53ef\u7528\u4e8e\u4ee5\u4e0b\u4f7f\u7528\u573a\u666f\uff1a

                                        • HTTP/HTTPS\uff1aURL/API\u53ef\u7528\u6027\u68c0\u6d4b
                                        • ICMP\uff1a\u4e3b\u673a\u5b58\u6d3b\u68c0\u6d4b
                                        • TCP\uff1a\u7aef\u53e3\u5b58\u6d3b\u68c0\u6d4b
                                        • DNS\uff1a\u57df\u540d\u89e3\u6790

                                        \u5728\u672c\u6587\u4e2d\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u5df2\u6709\u7684 Blackbox ConfigMap \u4e2d\u914d\u7f6e\u81ea\u5b9a\u4e49\u7684\u63a2\u6d4b\u65b9\u5f0f\u3002

                                        Insight \u9ed8\u8ba4\u672a\u5f00\u542f ICMP \u63a2\u6d4b\u65b9\u5f0f\uff0c\u56e0\u4e3a ICMP \u9700\u8981\u66f4\u9ad8\u6743\u9650\uff0c\u56e0\u6b64\uff0c\u6211\u4eec\u5c06\u4ee5 ICMP \u548c HTTP \u63a2\u6d4b\u65b9\u5f0f\u4f5c\u4e3a\u793a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u4fee\u6539 ConfigMap \u4ee5\u5b9e\u73b0\u81ea\u5b9a\u4e49\u7684 ICMP \u548c HTTP \u63a2\u6d4b\u3002

                                        "},{"location":"end-user/insight/collection-manag/probe-module.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u8fdb\u5165\u76ee\u6807\u96c6\u7fa4\u7684\u8be6\u60c5\uff1b
                                        2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\uff0c\u9009\u62e9 \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff1b
                                        3. \u627e\u5230\u540d\u4e3a insight-agent-prometheus-blackbox-exporter \u7684\u914d\u7f6e\u9879\uff0c\u70b9\u51fb \u7f16\u8f91 YAML\uff1b

                                          \u5728 modules \u4e0b\u6dfb\u52a0\u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f\uff1a

                                        HTTP \u63a2\u6d4bICMP \u63a2\u6d4b
                                        module:\n  http_2xx:\n    prober: http\n    timeout: 5s\n    http:\n      valid_http_versions: [HTTP/1.1, HTTP/2]\n      valid_status_codes: []  # Defaults to 2xx\n      method: GET\n

                                        module:\n  ICMP: # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b\n    prober: icmp\n    timeout: 5s\n    icmp:\n      preferred_ip_protocol: ip4\nicmp_example: # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b 2\n  prober: icmp\n  timeout: 5s\n  icmp:\n    preferred_ip_protocol: \"ip4\"\n    source_ip_address: \"127.0.0.1\"\n
                                        \u7531\u4e8e ICMP \u9700\u8981\u66f4\u9ad8\u6743\u9650\uff0c\u56e0\u6b64\uff0c\u6211\u4eec\u8fd8\u9700\u8981\u63d0\u5347 Pod \u6743\u9650\uff0c\u5426\u5219\u4f1a\u51fa\u73b0 operation not permitted \u7684\u9519\u8bef\u3002\u6709\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\u63d0\u5347\u6743\u9650\uff1a

                                        • \u65b9\u5f0f\u4e00\uff1a \u76f4\u63a5\u7f16\u8f91 BlackBox Exporter \u90e8\u7f72\u6587\u4ef6\u5f00\u542f

                                          apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: insight-agent-prometheus-blackbox-exporter\n  namespace: insight-system\nspec:\n  template:\n    spec:\n      containers:\n        - name: blackbox-exporter\n          image: # ... (image, args, ports \u7b49\u4fdd\u6301\u4e0d\u53d8)\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            allowPrivilegeEscalation: false\n            capabilities:\n              add:\n              - NET_RAW\n              drop:\n              - ALL\n            readOnlyRootFilesystem: true\n            runAsGroup: 0\n            runAsNonRoot: false\n            runAsUser: 0\n
                                        • \u65b9\u5f0f\u4e8c\uff1a \u901a\u8fc7 Helm Upgrade \u65b9\u5f0f\u63d0\u6743

                                          prometheus-blackbox-exporter:\n  enabled: true\n  securityContext:\n    runAsUser: 0\n    runAsGroup: 0\n    readOnlyRootFilesystem: true\n    runAsNonRoot: false\n    allowPrivilegeEscalation: false\n    capabilities:\n      add: [\"NET_RAW\"]\n

                                        Info

                                        \u66f4\u591a\u63a2\u6d4b\u65b9\u5f0f\u53ef\u53c2\u8003 blackbox_exporter Configuration\u3002

                                        "},{"location":"end-user/insight/collection-manag/probe-module.html#_3","title":"\u5176\u4ed6\u53c2\u8003","text":"

                                        \u4ee5\u4e0b YAML \u6587\u4ef6\u4e2d\u5305\u542b\u4e86 HTTP\u3001TCP\u3001SMTP\u3001ICMP\u3001DNS \u7b49\u591a\u79cd\u63a2\u6d4b\u65b9\u5f0f\uff0c\u53ef\u6839\u636e\u9700\u6c42\u81ea\u884c\u4fee\u6539 insight-agent-prometheus-blackbox-exporter \u7684\u914d\u7f6e\u6587\u4ef6\u3002

                                        \u70b9\u51fb\u67e5\u770b\u5b8c\u6574\u7684 YAML \u6587\u4ef6
                                        kind: ConfigMap\napiVersion: v1\nmetadata:\n  name: insight-agent-prometheus-blackbox-exporter\n  namespace: insight-system\n  labels:\n    app.kubernetes.io/instance: insight-agent\n    app.kubernetes.io/managed-by: Helm\n    app.kubernetes.io/name: prometheus-blackbox-exporter\n    app.kubernetes.io/version: v0.24.0\n    helm.sh/chart: prometheus-blackbox-exporter-8.8.0\n  annotations:\n    meta.helm.sh/release-name: insight-agent\n    meta.helm.sh/release-namespace: insight-system\ndata:\n  blackbox.yaml: |\n    modules:\n      HTTP_GET:\n        prober: http\n        timeout: 5s\n        http:\n          method: GET\n          valid_http_versions: [\"HTTP/1.1\", \"HTTP/2.0\"]\n          follow_redirects: true\n          preferred_ip_protocol: \"ip4\"\n      HTTP_POST:\n        prober: http\n        timeout: 5s\n        http:\n          method: POST\n          body_size_limit: 1MB\n      TCP:\n        prober: tcp\n        timeout: 5s\n      # \u9ed8\u8ba4\u672a\u5f00\u542f\uff1a\n      # ICMP:\n      #   prober: icmp\n      #   timeout: 5s\n      #   icmp:\n      #     preferred_ip_protocol: ip4\n      SSH:\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n          - expect: \"^SSH-2.0-\"\n      POP3S:\n        prober: tcp\n        tcp:\n          query_response:\n          - expect: \"^+OK\"\n          tls: true\n          tls_config:\n            insecure_skip_verify: false\n      http_2xx_example:               # http \u63a2\u6d4b\u793a\u4f8b\n        prober: http\n        timeout: 5s                   # \u63a2\u6d4b\u7684\u8d85\u65f6\u65f6\u95f4\n        http:\n          valid_http_versions: [\"HTTP/1.1\", \"HTTP/2.0\"]                   # \u8fd4\u56de\u4fe1\u606f\u4e2d\u7684 Version\uff0c\u4e00\u822c\u9ed8\u8ba4\u5373\u53ef\n          valid_status_codes: []  # Defaults to 2xx                       # \u6709\u6548\u7684\u8fd4\u56de\u7801\u8303\u56f4\uff0c\u5982\u679c\u8bf7\u6c42\u7684\u8fd4\u56de\u7801\u5728\u8be5\u8303\u56f4\u5185\uff0c\u89c6\u4e3a\u63a2\u6d4b\u6210\u529f\n          method: GET                 # \u8bf7\u6c42\u65b9\u6cd5\n          headers:                    # \u8bf7\u6c42\u7684\u5934\u90e8\n            Host: vhost.example.com\n            Accept-Language: en-US\n            Origin: example.com\n          no_follow_redirects: false  # \u662f\u5426\u5141\u8bb8\u91cd\u5b9a\u5411\n          fail_if_ssl: false   \n          fail_if_not_ssl: false\n          fail_if_body_matches_regexp:\n            - \"Could not connect to database\"\n          fail_if_body_not_matches_regexp:\n            - \"Download the latest version here\"\n          fail_if_header_matches: # Verifies that no cookies are set\n            - header: Set-Cookie\n              allow_missing: true\n              regexp: '.*'\n          fail_if_header_not_matches:\n            - header: Access-Control-Allow-Origin\n              regexp: '(\\*|example\\.com)'\n          tls_config:                  # \u9488\u5bf9 https \u8bf7\u6c42\u7684 tls \u7684\u914d\u7f6e\n            insecure_skip_verify: false\n          preferred_ip_protocol: \"ip4\" # defaults to \"ip6\"                 # \u9996\u9009\u7684 IP \u534f\u8bae\u7248\u672c\n          ip_protocol_fallback: false  # no fallback to \"ip6\"            \n      http_post_2xx:                   # \u5e26 Body \u7684 http \u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: http\n        timeout: 5s\n        http:\n          method: POST                 # \u63a2\u6d4b\u7684\u8bf7\u6c42\u65b9\u6cd5\n          headers:\n            Content-Type: application/json\n          body: '{\"username\":\"admin\",\"password\":\"123456\"}'                   # \u63a2\u6d4b\u65f6\u643a\u5e26\u7684 body\n      http_basic_auth_example:         # \u5e26\u7528\u6237\u540d\u5bc6\u7801\u7684\u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: http\n        timeout: 5s\n        http:\n          method: POST\n          headers:\n            Host: \"login.example.com\"\n          basic_auth:                  # \u63a2\u6d4b\u65f6\u8981\u52a0\u7684\u7528\u6237\u540d\u5bc6\u7801\n            username: \"username\"\n            password: \"mysecret\"\n      http_custom_ca_example:\n        prober: http\n        http:\n          method: GET\n          tls_config:                  # \u6307\u5b9a\u63a2\u6d4b\u65f6\u4f7f\u7528\u7684\u6839\u8bc1\u4e66\n            ca_file: \"/certs/my_cert.crt\"\n      http_gzip:\n        prober: http\n        http:\n          method: GET\n          compression: gzip            # \u63a2\u6d4b\u65f6\u4f7f\u7528\u7684\u538b\u7f29\u65b9\u6cd5\n      http_gzip_with_accept_encoding:\n        prober: http\n        http:\n          method: GET\n          compression: gzip\n          headers:\n            Accept-Encoding: gzip\n      tls_connect:                     # TCP \u63a2\u6d4b\u7684\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          tls: true                    # \u662f\u5426\u4f7f\u7528 TLS\n      tcp_connect_example:\n        prober: tcp\n        timeout: 5s\n      imap_starttls:                   # \u63a2\u6d4b IMAP \u90ae\u7bb1\u670d\u52a1\u5668\u7684\u914d\u7f6e\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - expect: \"OK.*STARTTLS\"\n            - send: \". STARTTLS\"\n            - expect: \"OK\"\n            - starttls: true\n            - send: \". capability\"\n            - expect: \"CAPABILITY IMAP4rev1\"\n      smtp_starttls:                   # \u63a2\u6d4b SMTP \u90ae\u7bb1\u670d\u52a1\u5668\u7684\u914d\u7f6e\u793a\u4f8b\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - expect: \"^220 ([^ ]+) ESMTP (.+)$\"\n            - send: \"EHLO prober\\r\"\n            - expect: \"^250-STARTTLS\"\n            - send: \"STARTTLS\\r\"\n            - expect: \"^220\"\n            - starttls: true\n            - send: \"EHLO prober\\r\"\n            - expect: \"^250-AUTH\"\n            - send: \"QUIT\\r\"\n      irc_banner_example:\n        prober: tcp\n        timeout: 5s\n        tcp:\n          query_response:\n            - send: \"NICK prober\"\n            - send: \"USER prober prober prober :prober\"\n            - expect: \"PING :([^ ]+)\"\n              send: \"PONG ${1}\"\n            - expect: \"^:[^ ]+ 001\"\n      # icmp_example:                    # ICMP \u63a2\u6d4b\u914d\u7f6e\u7684\u793a\u4f8b\n      #   prober: icmp\n      #   timeout: 5s\n      #   icmp:\n      #     preferred_ip_protocol: \"ip4\"\n      #     source_ip_address: \"127.0.0.1\"\n      dns_udp_example:                 # \u4f7f\u7528 UDP \u8fdb\u884c DNS \u67e5\u8be2\u7684\u793a\u4f8b\n        prober: dns\n        timeout: 5s\n        dns:\n          query_name: \"www.prometheus.io\"                 # \u8981\u89e3\u6790\u7684\u57df\u540d\n          query_type: \"A\"              # \u8be5\u57df\u540d\u5bf9\u5e94\u7684\u7c7b\u578b\n          valid_rcodes:\n          - NOERROR\n          validate_answer_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n            fail_if_all_match_regexp:\n            - \".*127.0.0.1\"\n            fail_if_not_matches_regexp:\n            - \"www.prometheus.io.\\t300\\tIN\\tA\\t127.0.0.1\"\n            fail_if_none_matches_regexp:\n            - \"127.0.0.1\"\n          validate_authority_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n          validate_additional_rrs:\n            fail_if_matches_regexp:\n            - \".*127.0.0.1\"\n      dns_soa:\n        prober: dns\n        dns:\n          query_name: \"prometheus.io\"\n          query_type: \"SOA\"\n      dns_tcp_example:               # \u4f7f\u7528 TCP \u8fdb\u884c DNS \u67e5\u8be2\u7684\u793a\u4f8b\n        prober: dns\n        dns:\n          transport_protocol: \"tcp\" # defaults to \"udp\"\n          preferred_ip_protocol: \"ip4\" # defaults to \"ip6\"\n          query_name: \"www.prometheus.io\"\n
                                        "},{"location":"end-user/insight/collection-manag/service-monitor.html","title":"\u914d\u7f6e\u670d\u52a1\u53d1\u73b0\u89c4\u5219","text":"

                                        \u53ef\u89c2\u6d4b Insight \u652f\u6301\u901a\u8fc7 \u5bb9\u5668\u7ba1\u7406 \u521b\u5efa CRD ServiceMonitor \u7684\u65b9\u5f0f\u6765\u6ee1\u8db3\u60a8\u81ea\u5b9a\u4e49\u670d\u52a1\u53d1\u73b0\u7684\u91c7\u96c6\u9700\u6c42\u3002 \u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 ServiceMonitor \u81ea\u884c\u5b9a\u4e49 Pod \u53d1\u73b0\u7684 Namespace \u8303\u56f4\u4ee5\u53ca\u901a\u8fc7 matchLabel \u6765\u9009\u62e9\u76d1\u542c\u7684 Service\u3002

                                        "},{"location":"end-user/insight/collection-manag/service-monitor.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u96c6\u7fa4\u5df2\u5b89\u88c5 Helm \u5e94\u7528 insight-agent \u4e14\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                                        "},{"location":"end-user/insight/collection-manag/service-monitor.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u91c7\u96c6\u7ba1\u7406 \uff0c\u67e5\u770b\u5168\u90e8\u96c6\u7fa4\u91c7\u96c6\u63d2\u4ef6\u7684\u72b6\u6001\u3002

                                        2. \u70b9\u51fb\u5217\u8868\u4e2d\u7684\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\u8fdb\u5165\u91c7\u96c6\u914d\u7f6e\u8be6\u60c5\u3002

                                        3. \u70b9\u51fb\u94fe\u63a5\u8df3\u8f6c\u5230 \u5bb9\u5668\u7ba1\u7406 \u4e2d\u521b\u5efa Service Monitor\u3002

                                          apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: micrometer-demo # (1)\n  namespace: insight-system # (2)\n    labels: \n      operator.insight.io/managed-by: insight\nspec:\n  endpoints: # (3)\n    - honorLabels: true\n        interval: 15s\n        path: /actuator/prometheus\n        port: http\n  namespaceSelector: # (4)\n    matchNames:\n      - insight-system  # (5)\n  selector: # (6)\n    matchLabels:\n          micrometer-prometheus-discovery: \"true\"\n
                                          1. \u6307\u5b9a ServiceMonitor \u7684\u540d\u79f0
                                          2. \u6307\u5b9a ServiceMonitor \u7684\u547d\u540d\u7a7a\u95f4
                                          3. \u8fd9\u662f\u670d\u52a1\u7aef\u70b9\uff0c\u4ee3\u8868 Prometheus \u6240\u9700\u7684\u91c7\u96c6 Metrics \u7684\u5730\u5740\u3002 endpoints \u4e3a\u4e00\u4e2a\u6570\u7ec4\uff0c \u540c\u65f6\u53ef\u4ee5\u521b\u5efa\u591a\u4e2a endpoints \u3002\u6bcf\u4e2a endpoints \u5305\u542b\u4e09\u4e2a\u5b57\u6bb5\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u7684\u542b\u4e49\u5982\u4e0b\uff1a

                                            • interval \uff1a\u6307\u5b9a Prometheus \u5bf9\u5f53\u524d endpoints \u91c7\u96c6\u7684\u5468\u671f\u3002\u5355\u4f4d\u4e3a\u79d2\uff0c\u5728\u672c\u6b21\u793a\u4f8b\u4e2d\u8bbe\u5b9a\u4e3a 15s \u3002
                                            • path \uff1a\u6307\u5b9a Prometheus \u7684\u91c7\u96c6\u8def\u5f84\u3002\u5728\u672c\u6b21\u793a\u4f8b\u4e2d\uff0c\u6307\u5b9a\u4e3a /actuator/prometheus \u3002
                                            • port \uff1a\u6307\u5b9a\u91c7\u96c6\u6570\u636e\u9700\u8981\u901a\u8fc7\u7684\u7aef\u53e3\uff0c\u8bbe\u7f6e\u7684\u7aef\u53e3\u4e3a\u91c7\u96c6\u7684 Service \u7aef\u53e3\u6240\u8bbe\u7f6e\u7684 name \u3002
                                          4. \u8fd9\u662f\u9700\u8981\u53d1\u73b0\u7684 Service \u7684\u8303\u56f4\u3002 namespaceSelector \u5305\u542b\u4e24\u4e2a\u4e92\u65a5\u5b57\u6bb5\uff0c\u5b57\u6bb5\u7684\u542b\u4e49\u5982\u4e0b\uff1a

                                            • any \uff1a\u6709\u4e14\u4ec5\u6709\u4e00\u4e2a\u503c true \uff0c\u5f53\u8be5\u5b57\u6bb5\u88ab\u8bbe\u7f6e\u65f6\uff0c\u5c06\u76d1\u542c\u6240\u6709\u7b26\u5408 Selector \u8fc7\u6ee4\u6761\u4ef6\u7684 Service \u7684\u53d8\u52a8\u3002
                                            • matchNames \uff1a\u6570\u7ec4\u503c\uff0c\u6307\u5b9a\u9700\u8981\u76d1\u542c\u7684 namespace \u7684\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u53ea\u60f3\u76d1\u542c default \u548c insight-system \u4e24\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u7684 Service\uff0c\u90a3\u4e48 matchNames \u8bbe\u7f6e\u5982\u4e0b\uff1a

                                              namespaceSelector:\n  matchNames:\n    - default\n    - insight-system\n
                                          5. \u6b64\u5904\u5339\u914d\u7684\u547d\u540d\u7a7a\u95f4\u4e3a\u9700\u8981\u66b4\u9732\u6307\u6807\u7684\u5e94\u7528\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

                                          6. \u7528\u4e8e\u9009\u62e9 Service
                                        "},{"location":"end-user/insight/dashboard/dashboard.html","title":"\u4eea\u8868\u76d8","text":"

                                        Grafana \u662f\u4e00\u79cd\u5f00\u6e90\u7684\u6570\u636e\u53ef\u89c6\u5316\u548c\u76d1\u63a7\u5e73\u53f0\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u56fe\u8868\u548c\u9762\u677f\uff0c\u7528\u4e8e\u5b9e\u65f6\u76d1\u63a7\u3001\u5206\u6790\u548c\u53ef\u89c6\u5316\u5404\u79cd\u6570\u636e\u6e90\u7684\u6307\u6807\u548c\u65e5\u5fd7\u3002\u53ef\u89c2\u6d4b\u6027 Insight \u4f7f\u7528\u5f00\u6e90 Grafana \u63d0\u4f9b\u76d1\u63a7\u670d\u52a1\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u591a\u7ef4\u5ea6\u67e5\u770b\u8d44\u6e90\u6d88\u8017\u60c5\u51b5\uff0c

                                        \u5173\u4e8e\u5f00\u6e90 Grafana \u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 Grafana \u5b98\u65b9\u6587\u6863\u3002

                                        "},{"location":"end-user/insight/dashboard/dashboard.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u4eea\u8868\u76d8 \u3002

                                          • \u5728 Insight /\u6982\u89c8 \u4eea\u8868\u76d8\u4e2d\uff0c\u53ef\u67e5\u770b\u591a\u9009\u96c6\u7fa4\u7684\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff0c\u5e76\u4ee5\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u7b49\u591a\u4e2a\u7ef4\u5ea6\u5206\u6790\u4e86\u8d44\u6e90\u4f7f\u7528\u3001\u7f51\u7edc\u3001\u5b58\u50a8\u7b49\u60c5\u51b5\u3002

                                          • \u70b9\u51fb\u4eea\u8868\u76d8\u5de6\u4e0a\u4fa7\u7684\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\u3002

                                          • \u70b9\u51fb\u4eea\u8868\u76d8\u53f3\u4e0b\u4fa7\u53ef\u5207\u6362\u67e5\u8be2\u7684\u65f6\u95f4\u8303\u56f4\u3002

                                        2. Insight \u7cbe\u9009\u591a\u4e2a\u793e\u533a\u63a8\u8350\u4eea\u8868\u76d8\uff0c\u53ef\u4ece\u8282\u70b9\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7b49\u591a\u4e2a\u7ef4\u5ea6\u8fdb\u884c\u76d1\u63a7\u3002\u70b9\u51fb insight-system / Insight /\u6982\u89c8 \u533a\u57df\u5207\u6362\u4eea\u8868\u76d8\u3002

                                        Note

                                        1. \u8bbf\u95ee Grafana UI \u8bf7\u53c2\u8003\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55 Grafana\u3002

                                        2. \u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8\u8bf7\u53c2\u8003\u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8\u3002

                                        "},{"location":"end-user/insight/dashboard/import-dashboard.html","title":"\u5bfc\u5165\u81ea\u5b9a\u4e49\u4eea\u8868\u76d8","text":"

                                        \u901a\u8fc7\u4f7f\u7528 Grafana CRD\uff0c\u53ef\u4ee5\u5c06\u4eea\u8868\u677f\u7684\u7ba1\u7406\u548c\u90e8\u7f72\u7eb3\u5165\u5230 Kubernetes \u7684\u751f\u547d\u5468\u671f\u7ba1\u7406\u4e2d\uff0c\u5b9e\u73b0\u4eea\u8868\u677f\u7684\u7248\u672c\u63a7\u5236\u3001\u81ea\u52a8\u5316\u90e8\u7f72\u548c\u96c6\u7fa4\u7ea7\u7684\u7ba1\u7406\u3002\u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7 CRD \u548c UI \u754c\u9762\u5bfc\u5165\u81ea\u5b9a\u4e49\u7684\u4eea\u8868\u76d8\u3002

                                        "},{"location":"end-user/insight/dashboard/import-dashboard.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0 \u5e73\u53f0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \uff0c\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u9009\u62e9 kpanda-global-cluster \u3002

                                        2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u5728\u5217\u8868\u4e2d\u67e5\u627e grafanadashboards.integreatly.org \u6587\u4ef6\uff0c\u8fdb\u5165\u8be6\u60c5\u3002

                                        3. \u70b9\u51fb Yaml \u521b\u5efa \uff0c\u4f7f\u7528\u4ee5\u4e0b\u6a21\u677f\uff0c\u5728 Json \u5b57\u6bb5\u4e2d\u66ff\u6362\u4eea\u8868\u76d8 JSON\u3002

                                          • namespace \uff1a\u586b\u5199\u76ee\u6807\u547d\u540d\u7a7a\u95f4\uff1b
                                          • name \uff1a\u586b\u5199\u4eea\u8868\u76d8\u7684\u540d\u79f0\u3002
                                          • label \uff1a\u5fc5\u586b\uff0c operator.insight.io/managed-by: insight \u3002
                                          apiVersion: integreatly.org/v1alpha1\nkind: GrafanaDashboard\nmetadata:\n  labels:\n    app: insight-grafana-operator\n    operator.insight.io/managed-by: insight\n  name: sample-dashboard\n  namespace: insight-system\nspec:\n  json: >\n    {\n      \"id\": null,\n      \"title\": \"Simple Dashboard\",\n      \"tags\": [],\n      \"style\": \"dark\",\n      \"timezone\": \"browser\",\n      \"editable\": true,\n      \"hideControls\": false,\n      \"graphTooltip\": 1,\n      \"panels\": [],\n      \"time\": {\n        \"from\": \"now-6h\",\n        \"to\": \"now\"\n      },\n      \"timepicker\": {\n        \"time_options\": [],\n        \"refresh_intervals\": []\n      },\n      \"templating\": {\n        \"list\": []\n      },\n      \"annotations\": {\n        \"list\": []\n      },\n      \"refresh\": \"5s\",\n      \"schemaVersion\": 17,\n      \"version\": 0,\n      \"links\": []\n    }\n
                                        4. \u70b9\u51fb \u786e\u8ba4 \u540e\uff0c\u7a0d\u7b49\u7247\u523b\u5373\u53ef\u5728 \u4eea\u8868\u76d8 \u4e2d\u67e5\u770b\u521a\u521a\u5bfc\u5165\u7684\u4eea\u8868\u76d8\u3002

                                        Info

                                        \u81ea\u5b9a\u4e49\u8bbe\u8ba1\u4eea\u8868\u76d8\uff0c\u8bf7\u53c2\u8003\u6dfb\u52a0\u4eea\u8868\u76d8\u9762\u677f\u3002

                                        "},{"location":"end-user/insight/dashboard/login-grafana.html","title":"\u8bbf\u95ee\u539f\u751f Grafana","text":"

                                        Insight \u501f\u52a9 Grafana \u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u53ef\u89c6\u5316\u80fd\u529b\uff0c\u540c\u65f6\u4fdd\u7559\u4e86\u8bbf\u95ee\u539f\u751f Grafana \u7684\u5165\u53e3\u3002

                                        "},{"location":"end-user/insight/dashboard/login-grafana.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u767b\u5f55\u6d4f\u89c8\u5668\uff0c\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165 Grafana \u5730\u5740\u3002

                                          \u8bbf\u95ee\u5730\u5740\uff1a http://ip:\u8bbf\u95ee\u7aef\u53e3/ui/insight-grafana/login

                                          \u4f8b\u5982\uff1a http://10.6.10.233:30209/ui/insight-grafana/login

                                        2. \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u767b\u5f55\uff0c\u4f7f\u7528\u9ed8\u8ba4\u7528\u6237\u540d\u3001\u5bc6\u7801\uff08admin/admin\uff09\u8fdb\u884c\u767b\u5f55\u3002

                                        3. \u70b9\u51fb Log in \u5b8c\u6210\u767b\u5f55\u3002

                                        "},{"location":"end-user/insight/dashboard/overview.html","title":"\u6982\u89c8","text":"

                                        \u6982\u7387 \u4ec5\u7edf\u8ba1\u5df2\u5b89\u88c5 insight-agent \u4e14\u5176\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u7684\u96c6\u7fa4\u6570\u636e\u3002\u53ef\u5728\u6982\u89c8\u4e2d\u591a\u96c6\u7fa4\u7684\u8d44\u6e90\u6982\u51b5\uff1a

                                        • \u544a\u8b66\u7edf\u8ba1\uff1a\u53ef\u67e5\u770b\u6240\u6709\u96c6\u7fa4\u7684\u6b63\u5728\u544a\u8b66\u7684\u7edf\u8ba1\u6570\u636e\u3002
                                        • \u8d44\u6e90\u6d88\u8017\uff1a\u53ef\u6309 CPU \u4f7f\u7528\u7387\u3001\u5185\u5b58\u4f7f\u7528\u7387\u548c\u78c1\u76d8\u4f7f\u7528\u7387\u5206\u522b\u67e5\u770b\u8fd1\u4e00\u5c0f\u65f6 TOP5 \u96c6\u7fa4\u3001\u8282\u70b9\u7684\u8d44\u6e90\u53d8\u5316\u8d8b\u52bf\u3002
                                        • \u9ed8\u8ba4\u6309\u7167\u6839\u636e CPU \u4f7f\u7528\u7387\u6392\u5e8f\u3002\u60a8\u53ef\u5207\u6362\u6307\u6807\u5207\u6362\u96c6\u7fa4\u3001\u8282\u70b9\u7684\u6392\u5e8f\u65b9\u5f0f\u3002
                                        • \u8d44\u6e90\u53d8\u5316\u8d8b\u52bf\uff1a\u53ef\u67e5\u770b\u8fd1 15 \u5929\u7684\u8282\u70b9\u4e2a\u6570\u8d8b\u52bf\u4ee5\u53ca\u4e00\u5c0f\u65f6 Pod \u7684\u8fd0\u884c\u8d8b\u52bf\u3002
                                        • \u670d\u52a1\u8bf7\u6c42\u6392\u884c\uff1a\u53ef\u67e5\u770b\u591a\u96c6\u7fa4\u4e2d\u8bf7\u6c42\u5ef6\u65f6\u3001\u9519\u8bef\u7387\u6392\u884c TOP5 \u7684\u670d\u52a1\u53ca\u6240\u5728\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u3002
                                        "},{"location":"end-user/insight/dashboard/overview.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u6982\u89c8 \u3002

                                        "},{"location":"end-user/insight/data-query/log.html","title":"\u65e5\u5fd7\u67e5\u8be2","text":"

                                        Insight \u9ed8\u8ba4\u91c7\u96c6\u8282\u70b9\u65e5\u5fd7\u3001\u5bb9\u5668\u65e5\u5fd7\u4ee5\u53ca kubernetes \u5ba1\u8ba1\u65e5\u5fd7\u3002\u5728\u65e5\u5fd7\u67e5\u8be2\u9875\u9762\u4e2d\uff0c\u53ef\u67e5\u8be2\u767b\u5f55\u8d26\u53f7\u6743\u9650\u5185\u7684\u6807\u51c6\u8f93\u51fa (stdout) \u65e5\u5fd7\uff0c\u5305\u62ec\u8282\u70b9\u65e5\u5fd7\u3001\u4ea7\u54c1\u65e5\u5fd7\u3001Kubenetes \u5ba1\u8ba1\u65e5\u5fd7\u7b49\uff0c\u5feb\u901f\u5728\u5927\u91cf\u65e5\u5fd7\u4e2d\u67e5\u8be2\u5230\u6240\u9700\u7684\u65e5\u5fd7\uff0c\u540c\u65f6\u7ed3\u5408\u65e5\u5fd7\u7684\u6765\u6e90\u4fe1\u606f\u548c\u4e0a\u4e0b\u6587\u539f\u59cb\u6570\u636e\u8f85\u52a9\u5b9a\u4f4d\u95ee\u9898\u3002

                                        "},{"location":"end-user/insight/data-query/log.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002
                                        2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u65e5\u5fd7 \u3002

                                          • \u9ed8\u8ba4\u67e5\u8be2\u6700\u8fd1 24 \u5c0f\u65f6\uff1b
                                          • \u7b2c\u4e00\u6b21\u8fdb\u5165\u65f6\uff0c\u9ed8\u8ba4\u6839\u636e\u767b\u5f55\u8d26\u53f7\u6743\u9650\u67e5\u8be2\u6709\u6743\u9650\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u7684\u5bb9\u5668\u65e5\u5fd7\uff1b

                                        3. \u9876\u90e8 Tab \u9ed8\u8ba4\u8fdb\u5165 \u666e\u901a\u67e5\u8be2 \u3002

                                          1. \u70b9\u51fb \u7b5b\u9009 \u5c55\u5f00\u8fc7\u6ee4\u9762\u677f\uff0c\u53ef\u5207\u6362\u65e5\u5fd7\u641c\u7d22\u6761\u4ef6\u548c\u7c7b\u578b\u3002
                                          2. \u65e5\u5fd7\u7c7b\u578b\uff1a

                                            • \u5bb9\u5668\u65e5\u5fd7 \uff1a\u8bb0\u5f55\u96c6\u7fa4\u4e2d\u5bb9\u5668\u5185\u90e8\u7684\u6d3b\u52a8\u548c\u4e8b\u4ef6\uff0c\u5305\u62ec\u5e94\u7528\u7a0b\u5e8f\u7684\u8f93\u51fa\u3001\u9519\u8bef\u6d88\u606f\u3001\u8b66\u544a\u548c\u8c03\u8bd5\u4fe1\u606f\u7b49\u3002\u652f\u6301\u901a\u8fc7\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u3001\u5bb9\u5668\u7ec4\u3001\u5bb9\u5668\u8fc7\u6ee4\u65e5\u5fd7\u3002
                                            • \u8282\u70b9\u65e5\u5fd7 \uff1a\u8bb0\u5f55\u96c6\u7fa4\u4e2d\u6bcf\u4e2a\u8282\u70b9\u7684\u7cfb\u7edf\u7ea7\u522b\u65e5\u5fd7\u3002\u8fd9\u4e9b\u65e5\u5fd7\u5305\u542b\u8282\u70b9\u7684\u64cd\u4f5c\u7cfb\u7edf\u3001\u5185\u6838\u3001\u670d\u52a1\u548c\u7ec4\u4ef6\u7684\u76f8\u5173\u4fe1\u606f\u3002\u652f\u6301\u901a\u8fc7\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u6587\u4ef6\u8def\u5f84\u8fc7\u6ee4\u65e5\u5fd7\u3002
                                          3. \u652f\u6301\u5bf9\u5355\u4e2a\u5173\u952e\u5b57\u8fdb\u884c\u6a21\u7cca\u641c\u7d22\u3002

                                        4. \u9876\u90e8\u5207\u6362 Tab \u9009\u62e9 Lucene \u8bed\u6cd5\u67e5\u8be2 \u3002

                                          \u7b2c\u4e00\u6b21\u8fdb\u5165\u65f6\uff0c\u9ed8\u8ba4\u9009\u62e9\u767b\u5f55\u8d26\u53f7\u6743\u9650\u67e5\u8be2\u6709\u6743\u9650\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u7684\u5bb9\u5668\u65e5\u5fd7\u3002

                                          Lucene \u8bed\u6cd5\u8bf4\u660e\uff1a

                                          1. \u4f7f\u7528 \u903b\u8f91\u64cd\u4f5c\u7b26\uff08AND\u3001OR\u3001NOT\u3001\"\" \uff09\u7b26\u67e5\u8be2\u591a\u4e2a\u5173\u952e\u5b57\uff0c\u4f8b\u5982\uff1akeyword1 AND (keyword2 OR keyword3) NOT keyword4\u3002
                                          2. \u4f7f\u7528\u6ce2\u6d6a\u53f7 (~) \u5b9e\u73b0\u6a21\u7cca\u67e5\u8be2\uff0c\u5728 \"~\" \u540e\u53ef\u6307\u5b9a\u53ef\u9009\u7684\u53c2\u6570\uff0c\u7528\u4e8e\u63a7\u5236\u6a21\u7cca\u67e5\u8be2\u7684\u76f8\u4f3c\u5ea6\uff0c\u4e0d\u6307\u5b9a\u5219\u9ed8\u8ba4\u4f7f\u7528 0.5\u3002\u4f8b\u5982\uff1aerror~\u3002
                                          3. \u4f7f\u7528\u901a\u914d\u7b26 (*\u3001?) \u7528\u4f5c\u5355\u5b57\u7b26\u901a\u914d\u7b26\uff0c\u8868\u793a\u5339\u914d\u4efb\u610f\u4e00\u4e2a\u5b57\u7b26\u3002
                                          4. \u4f7f\u7528\u65b9\u62ec\u53f7 [ ] \u6216\u82b1\u62ec\u53f7 { } \u6765\u67e5\u8be2\u8303\u56f4\uff0c\u65b9\u62ec\u53f7\u00a0[ ]\u00a0\u8868\u793a\u95ed\u533a\u95f4\uff0c\u5305\u542b\u8fb9\u754c\u503c\u3002\u82b1\u62ec\u53f7\u00a0{ }\u00a0\u8868\u793a\u5f00\u533a\u95f4\uff0c\u6392\u9664\u8fb9\u754c\u503c\u3002\u8303\u56f4\u67e5\u8be2\u53ea\u9002\u7528\u4e8e\u80fd\u591f\u8fdb\u884c\u6392\u5e8f\u7684\u5b57\u6bb5\u7c7b\u578b\uff0c\u5982\u6570\u5b57\u3001\u65e5\u671f\u7b49\u3002\u4f8b\u5982\uff1atimestamp:[2022-01-01 TO 2022-01-31]\u3002
                                          5. \u66f4\u591a\u7528\u6cd5\u8bf7\u67e5\u770b\uff1aLucene \u8bed\u6cd5\u8bf4\u660e\u3002
                                        "},{"location":"end-user/insight/data-query/log.html#_3","title":"\u5176\u4ed6\u64cd\u4f5c","text":""},{"location":"end-user/insight/data-query/log.html#_4","title":"\u67e5\u770b\u65e5\u5fd7\u4e0a\u4e0b\u6587","text":"

                                        \u70b9\u51fb\u65e5\u5fd7\u540e\u7684\u6309\u94ae\uff0c\u5728\u53f3\u4fa7\u5212\u51fa\u9762\u677f\u4e2d\u53ef\u67e5\u770b\u8be5\u6761\u65e5\u5fd7\u7684\u9ed8\u8ba4 100 \u6761\u4e0a\u4e0b\u6587\u3002\u53ef\u5207\u6362 \u663e\u793a\u884c\u6570 \u67e5\u770b\u66f4\u591a\u4e0a\u4e0b\u6587\u5185\u5bb9\u3002

                                        "},{"location":"end-user/insight/data-query/log.html#_5","title":"\u5bfc\u51fa\u65e5\u5fd7\u6570\u636e","text":"

                                        \u70b9\u51fb\u5217\u8868\u53f3\u4e0a\u4fa7\u7684\u4e0b\u8f7d\u6309\u94ae\u3002

                                        • \u652f\u6301\u914d\u7f6e\u5bfc\u51fa\u7684\u65e5\u5fd7\u5b57\u6bb5\uff0c\u6839\u636e\u65e5\u5fd7\u7c7b\u578b\u53ef\u914d\u7f6e\u7684\u5b57\u6bb5\u4e0d\u540c\uff0c\u5176\u4e2d \u65e5\u5fd7\u5185\u5bb9 \u5b57\u6bb5\u4e3a\u5fc5\u9009\u3002
                                        • \u652f\u6301\u5c06\u65e5\u5fd7\u67e5\u8be2\u7ed3\u679c\u5bfc\u51fa\u4e3a .txt \u6216 .csv \u683c\u5f0f\u3002

                                        Note

                                        \u82e5\u9700\u6307\u5b9a\u4e0d\u91c7\u96c6\u67d0\u4e00\u4e9b\u5bb9\u5668\u7ec4\u7684\u65e5\u5fd7\uff0c\u53ef\u53c2\u8003\uff1a\u5bb9\u5668\u65e5\u5fd7\u9ed1\u540d\u5355\u3002

                                        "},{"location":"end-user/insight/data-query/metric.html","title":"\u6307\u6807\u67e5\u8be2","text":"

                                        \u6307\u6807\u67e5\u8be2\u652f\u6301\u67e5\u8be2\u5bb9\u5668\u5404\u8d44\u6e90\u7684\u6307\u6807\u6570\u636e\uff0c\u53ef\u67e5\u770b\u76d1\u63a7\u6307\u6807\u7684\u8d8b\u52bf\u53d8\u5316\u3002\u540c\u65f6\uff0c\u9ad8\u7ea7\u67e5\u8be2\u652f\u6301\u539f\u751f PromQL \u8bed\u53e5\u8fdb\u884c\u6307\u6807\u67e5\u8be2\u3002

                                        "},{"location":"end-user/insight/data-query/metric.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002
                                        "},{"location":"end-user/insight/data-query/metric.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002

                                        2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u6307\u6807 \u3002

                                        3. \u9009\u62e9\u96c6\u7fa4\u3001\u7c7b\u578b\u3001\u8282\u70b9\u3001\u6307\u6807\u540d\u79f0\u67e5\u8be2\u6761\u4ef6\u540e\uff0c\u70b9\u51fb \u641c\u7d22 \uff0c\u5c4f\u5e55\u53f3\u4fa7\u5c06\u663e\u793a\u5bf9\u5e94\u6307\u6807\u56fe\u8868\u53ca\u6570\u636e\u8be6\u60c5\u3002

                                        4. \u652f\u6301\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002\u53ef\u624b\u52a8\u70b9\u51fb \u5237\u65b0 \u56fe\u6807\u6216\u9009\u62e9\u9ed8\u8ba4\u65f6\u95f4\u95f4\u9694\u8fdb\u884c\u5237\u65b0\u3002

                                        5. \u70b9\u51fb \u9ad8\u7ea7\u67e5\u8be2 \u9875\u7b7e\u901a\u8fc7\u539f\u751f\u7684 PromQL \u67e5\u8be2\u3002

                                        Note

                                        \u53c2\u9605 PromQL \u8bed\u6cd5\u3002

                                        "},{"location":"end-user/insight/infra/cluster.html","title":"\u96c6\u7fa4\u76d1\u63a7","text":"

                                        \u901a\u8fc7\u96c6\u7fa4\u76d1\u63a7\uff0c\u4f60\u53ef\u4ee5\u67e5\u770b\u96c6\u7fa4\u7684\u57fa\u672c\u4fe1\u606f\u3001\u8be5\u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u6d88\u8017\u4ee5\u53ca\u4e00\u6bb5\u65f6\u95f4\u7684\u8d44\u6e90\u6d88\u8017\u53d8\u5316\u8d8b\u52bf\u7b49\u3002

                                        "},{"location":"end-user/insight/infra/cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                                        "},{"location":"end-user/insight/infra/cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                                        2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u96c6\u7fa4 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

                                          • \u8d44\u6e90\u6982\u89c8 \uff1a\u591a\u9009\u96c6\u7fa4\u4e2d\u7684\u8282\u70b9\u3001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6b63\u5e38\u548c\u5168\u90e8\u7684\u6570\u91cf\u7edf\u8ba1\uff1b
                                          • \u6545\u969c \uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
                                          • \u8d44\u6e90\u6d88\u8017 \uff1a\u6240\u9009\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7684\u5b9e\u9645\u4f7f\u7528\u91cf\u548c\u603b\u91cf\uff1b
                                          • \u6307\u6807\u8bf4\u660e \uff1a\u6240\u9009\u96c6\u7fa4\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u8bfb\u5199\u3001\u7f51\u7edc\u63a5\u6536\u53d1\u9001\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                                        3. \u5207\u6362\u5230 \u8d44\u6e90\u6c34\u4f4d\u7ebf\u76d1\u63a7 \u9875\u7b7e\uff0c\u53ef\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u66f4\u591a\u76d1\u63a7\u6570\u636e\u3002

                                        "},{"location":"end-user/insight/infra/cluster.html#_4","title":"\u53c2\u8003\u6307\u6807\u8bf4\u660e","text":"\u6307\u6807\u540d \u8bf4\u660e CPU \u4f7f\u7528\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u8d44\u6e90\u7684\u5b9e\u9645 CPU \u7528\u91cf\u4e0e\u6240\u6709\u8282\u70b9\u7684 CPU \u603b\u91cf\u7684\u6bd4\u7387\u3002 CPU \u5206\u914d\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u7684 CPU \u8bf7\u6c42\u91cf\u7684\u603b\u548c\u4e0e\u6240\u6709\u8282\u70b9\u7684 CPU \u603b\u91cf\u7684\u6bd4\u7387\u3002 \u5185\u5b58\u4f7f\u7528\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u8d44\u6e90\u7684\u5b9e\u9645\u5185\u5b58\u7528\u91cf\u4e0e\u6240\u6709\u8282\u70b9\u7684\u5185\u5b58\u603b\u91cf\u7684\u6bd4\u7387\u3002 \u5185\u5b58\u5206\u914d\u7387 \u8be5\u6307\u6807\u662f\u6307\u96c6\u7fa4\u4e2d\u6240\u6709 Pod \u7684\u5185\u5b58\u8bf7\u6c42\u91cf\u7684\u603b\u548c\u4e0e\u6240\u6709\u8282\u70b9\u7684\u5185\u5b58\u603b\u91cf\u7684\u6bd4\u7387\u3002"},{"location":"end-user/insight/infra/container.html","title":"\u5bb9\u5668\u76d1\u63a7","text":"

                                        \u5bb9\u5668\u76d1\u63a7\u662f\u5bf9\u96c6\u7fa4\u7ba1\u7406\u4e2d\u5de5\u4f5c\u8d1f\u8f7d\u7684\u76d1\u63a7\uff0c\u5728\u5217\u8868\u4e2d\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u57fa\u672c\u4fe1\u606f\u548c\u72b6\u6001\u3002\u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\uff0c\u53ef\u67e5\u770b\u6b63\u5728\u544a\u8b66\u7684\u6570\u91cf\u4ee5\u53ca CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u6d88\u8017\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                                        "},{"location":"end-user/insight/infra/container.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u96c6\u7fa4\u5df2\u5b89\u88c5 insight-agent\uff0c\u4e14\u6240\u6709\u7684\u5bb9\u5668\u7ec4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                                        • \u5b89\u88c5 insight-agent\uff0c\u8bf7\u53c2\u8003\u5728\u7ebf\u5b89\u88c5 insight-agent \u6216\u79bb\u7ebf\u5347\u7ea7 insight-agent\u3002
                                        "},{"location":"end-user/insight/infra/container.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u770b\u670d\u52a1\u76d1\u63a7\u6307\u6807\uff1a

                                        1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                                        2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u5de5\u4f5c\u8d1f\u8f7d \u3002

                                        3. \u5207\u6362\u9876\u90e8 Tab\uff0c\u67e5\u770b\u4e0d\u540c\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u3002

                                        4. \u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u540d\u79f0\u67e5\u770b\u8be6\u60c5\u3002

                                          1. \u6545\u969c\uff1a\u5728\u6545\u969c\u5361\u7247\u4e2d\u7edf\u8ba1\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u5f53\u524d\u6b63\u5728\u544a\u8b66\u7684\u603b\u6570\u3002
                                          2. \u8d44\u6e90\u6d88\u8017\uff1a\u5728\u8be5\u5361\u7247\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684 CPU\u3001\u5185\u5b58\u3001\u7f51\u7edc\u7684\u4f7f\u7528\u60c5\u51b5\u3002
                                          3. \u76d1\u63a7\u6307\u6807\uff1a\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u9ed8\u8ba4 1 \u5c0f\u65f6\u7684 CPU\u3001\u5185\u5b58\u3001\u7f51\u7edc\u548c\u78c1\u76d8\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                                        5. \u5207\u6362 Tab \u5230 \u5bb9\u5668\u7ec4\u5217\u8868 \uff0c\u53ef\u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u5404\u4e2a\u5bb9\u5668\u7ec4\u72b6\u6001\u3001\u6240\u5728\u8282\u70b9\u3001\u91cd\u542f\u6b21\u6570\u7b49\u4fe1\u606f\u3002

                                        6. \u5207\u6362 Tab \u5230 JVM \u76d1\u63a7 \uff0c\u53ef\u67e5\u770b\u5404\u4e2a\u5bb9\u5668\u7ec4\u7684 JVM \u6307\u6807\u3002

                                          Note

                                          1. JVM \u76d1\u63a7\u529f\u80fd\u4ec5\u652f\u6301 Java \u8bed\u8a00\u3002
                                          2. \u5f00\u542f JVM \u76d1\u63a7\u529f\u80fd\uff0c\u8bf7\u53c2\u8003\u5f00\u59cb\u76d1\u63a7 Java \u5e94\u7528\u3002
                                        "},{"location":"end-user/insight/infra/container.html#_4","title":"\u6307\u6807\u53c2\u8003\u8bf4\u660e","text":"\u6307\u6807\u540d\u79f0 \u8bf4\u660e CPU \u4f7f\u7528\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf\u4e4b\u548c\u3002 CPU \u8bf7\u6c42\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u8bf7\u6c42\u91cf\u4e4b\u548c\u3002 CPU \u9650\u5236\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684 CPU \u9650\u5236\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u4f7f\u7528\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u8bf7\u6c42\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c\u3002 \u5185\u5b58\u9650\u5236\u91cf \u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u9650\u5236\u91cf\u4e4b\u548c\u3002 \u78c1\u76d8\u8bfb\u5199\u901f\u7387 \u6307\u5b9a\u65f6\u95f4\u8303\u56f4\u5185\u78c1\u76d8\u6bcf\u79d2\u8fde\u7eed\u8bfb\u53d6\u548c\u5199\u5165\u7684\u603b\u548c\uff0c\u8868\u793a\u78c1\u76d8\u6bcf\u79d2\u8bfb\u53d6\u548c\u5199\u5165\u64cd\u4f5c\u6570\u7684\u6027\u80fd\u5ea6\u91cf\u3002 \u7f51\u7edc\u53d1\u9001\u63a5\u6536\u901f\u7387 \u6307\u5b9a\u65f6\u95f4\u8303\u56f4\u5185\uff0c\u6309\u5de5\u4f5c\u8d1f\u8f7d\u7edf\u8ba1\u7684\u7f51\u7edc\u6d41\u91cf\u7684\u6d41\u5165\u3001\u6d41\u51fa\u901f\u7387\u3002"},{"location":"end-user/insight/infra/event.html","title":"\u4e8b\u4ef6\u67e5\u8be2","text":"

                                        AI \u7b97\u529b\u5e73\u53f0 Insight \u652f\u6301\u6309\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u67e5\u8be2\u4e8b\u4ef6\uff0c\u5e76\u63d0\u4f9b\u4e86\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\uff0c\u5bf9\u91cd\u8981\u4e8b\u4ef6\u8fdb\u884c\u7edf\u8ba1\u3002

                                        "},{"location":"end-user/insight/infra/event.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u70b9\u51fb\u4e00\u7ea7\u5bfc\u822a\u680f\u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u3002
                                        2. \u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u9009\u62e9 \u57fa\u7840\u8bbe\u7f6e > \u4e8b\u4ef6 \u3002

                                        "},{"location":"end-user/insight/infra/event.html#_3","title":"\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03","text":"

                                        \u9ed8\u8ba4\u663e\u793a\u6700\u8fd1 12 \u5c0f\u65f6\u5185\u53d1\u751f\u7684\u4e8b\u4ef6\uff0c\u60a8\u53ef\u4ee5\u5728\u53f3\u4e0a\u89d2\u9009\u62e9\u4e0d\u540c\u7684\u65f6\u95f4\u8303\u56f4\u6765\u67e5\u770b\u8f83\u957f\u6216\u8f83\u77ed\u7684\u65f6\u95f4\u6bb5\u3002 \u60a8\u8fd8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u91c7\u6837\u95f4\u9694\u4e3a 1 \u5206\u949f\u81f3 5 \u5c0f\u65f6\u3002

                                        \u901a\u8fc7\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\uff0c\u60a8\u53ef\u4ee5\u76f4\u89c2\u5730\u4e86\u89e3\u4e8b\u4ef6\u7684\u5bc6\u96c6\u7a0b\u5ea6\u548c\u5206\u6563\u60c5\u51b5\u3002 \u8fd9\u6709\u52a9\u4e8e\u5bf9\u540e\u7eed\u7684\u96c6\u7fa4\u8fd0\u7ef4\u8fdb\u884c\u8bc4\u4f30\uff0c\u5e76\u505a\u597d\u51c6\u5907\u548c\u5b89\u6392\u5de5\u4f5c\u3002 \u5982\u679c\u4e8b\u4ef6\u5bc6\u96c6\u53d1\u751f\u5728\u7279\u5b9a\u65f6\u6bb5\uff0c\u60a8\u53ef\u80fd\u9700\u8981\u8c03\u914d\u66f4\u591a\u7684\u8d44\u6e90\u6216\u91c7\u53d6\u76f8\u5e94\u63aa\u65bd\u6765\u786e\u4fdd\u96c6\u7fa4\u7a33\u5b9a\u6027\u548c\u9ad8\u53ef\u7528\u6027\u3002 \u800c\u5982\u679c\u4e8b\u4ef6\u8f83\u4e3a\u5206\u6563\uff0c\u5728\u6b64\u671f\u95f4\u60a8\u53ef\u4ee5\u5408\u7406\u5b89\u6392\u5176\u4ed6\u8fd0\u7ef4\u5de5\u4f5c\uff0c\u4f8b\u5982\u7cfb\u7edf\u4f18\u5316\u3001\u5347\u7ea7\u6216\u5904\u7406\u5176\u4ed6\u4efb\u52a1\u3002

                                        \u901a\u8fc7\u7efc\u5408\u8003\u8651\u4e8b\u4ef6\u72b6\u6001\u5206\u5e03\u56fe\u548c\u65f6\u95f4\u8303\u56f4\uff0c\u60a8\u80fd\u66f4\u597d\u5730\u89c4\u5212\u548c\u7ba1\u7406\u96c6\u7fa4\u7684\u8fd0\u7ef4\u5de5\u4f5c\uff0c\u786e\u4fdd\u7cfb\u7edf\u7a33\u5b9a\u6027\u548c\u53ef\u9760\u6027\u3002

                                        "},{"location":"end-user/insight/infra/event.html#_4","title":"\u4e8b\u4ef6\u603b\u6570\u548c\u7edf\u8ba1","text":"

                                        \u901a\u8fc7\u91cd\u8981\u4e8b\u4ef6\u7edf\u8ba1\uff0c\u60a8\u53ef\u4ee5\u65b9\u4fbf\u5730\u4e86\u89e3\u955c\u50cf\u62c9\u53d6\u5931\u8d25\u6b21\u6570\u3001\u5065\u5eb7\u68c0\u67e5\u5931\u8d25\u6b21\u6570\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u8fd0\u884c\u5931\u8d25\u6b21\u6570\u3001 Pod \u8c03\u5ea6\u5931\u8d25\u6b21\u6570\u3001\u5bb9\u5668 OOM \u5185\u5b58\u8017\u5c3d\u6b21\u6570\u3001\u5b58\u50a8\u5377\u6302\u8f7d\u5931\u8d25\u6b21\u6570\u4ee5\u53ca\u6240\u6709\u4e8b\u4ef6\u7684\u603b\u6570\u3002\u8fd9\u4e9b\u4e8b\u4ef6\u901a\u5e38\u5206\u4e3a\u300cWarning\u300d\u548c\u300cNormal\u300d\u4e24\u7c7b\u3002

                                        "},{"location":"end-user/insight/infra/event.html#_5","title":"\u4e8b\u4ef6\u5217\u8868","text":"

                                        \u4e8b\u4ef6\u5217\u8868\u4ee5\u65f6\u95f4\u4e3a\u8f74\uff0c\u4ee5\u6d41\u6c34\u7684\u5f62\u5f0f\u5c55\u793a\u53d1\u751f\u7684\u4e8b\u4ef6\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u300c\u6700\u8fd1\u53d1\u751f\u65f6\u95f4\u300d\u548c\u300c\u7ea7\u522b\u300d\u8fdb\u884c\u6392\u5e8f\u3002

                                        \u70b9\u51fb\u53f3\u4fa7\u7684 \u2699\ufe0f \u56fe\u6807\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u559c\u597d\u548c\u9700\u6c42\u6765\u81ea\u5b9a\u4e49\u663e\u793a\u7684\u5217\u3002

                                        \u5728\u9700\u8981\u7684\u65f6\u5019\uff0c\u60a8\u8fd8\u53ef\u4ee5\u70b9\u51fb\u5237\u65b0\u56fe\u6807\u6765\u66f4\u65b0\u5f53\u524d\u7684\u4e8b\u4ef6\u5217\u8868\u3002

                                        "},{"location":"end-user/insight/infra/event.html#_6","title":"\u5176\u4ed6\u64cd\u4f5c","text":"
                                        1. \u5728\u4e8b\u4ef6\u5217\u8868\u4e2d\u64cd\u4f5c\u5217\u7684\u56fe\u6807\uff0c\u53ef\u67e5\u770b\u67d0\u4e00\u4e8b\u4ef6\u7684\u5143\u6570\u636e\u4fe1\u606f\u3002

                                        2. \u70b9\u51fb\u9876\u90e8\u9875\u7b7e\u7684 \u4e0a\u4e0b\u6587 \u53ef\u67e5\u770b\u8be5\u4e8b\u4ef6\u5bf9\u5e94\u8d44\u6e90\u7684\u5386\u53f2\u4e8b\u4ef6\u8bb0\u5f55\u3002

                                        "},{"location":"end-user/insight/infra/event.html#_7","title":"\u53c2\u8003","text":"

                                        \u6709\u5173\u7cfb\u7edf\u81ea\u5e26\u7684 Event \u4e8b\u4ef6\u7684\u8be6\u7ec6\u542b\u4e49\uff0c\u8bf7\u53c2\u9605 Kubenetest API \u4e8b\u4ef6\u5217\u8868\u3002

                                        "},{"location":"end-user/insight/infra/namespace.html","title":"\u547d\u540d\u7a7a\u95f4\u76d1\u63a7","text":"

                                        \u4ee5\u547d\u540d\u7a7a\u95f4\u4e3a\u7ef4\u5ea6\uff0c\u5feb\u901f\u67e5\u8be2\u547d\u540d\u7a7a\u95f4\u5185\u7684\u8d44\u6e90\u6d88\u8017\u548c\u53d8\u5316\u8d8b\u52bf\u3002

                                        "},{"location":"end-user/insight/infra/namespace.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                                        "},{"location":"end-user/insight/infra/namespace.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                                        2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd > \u547d\u540d\u7a7a\u95f4 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

                                          1. \u5207\u6362\u547d\u540d\u7a7a\u95f4\uff1a\u5728\u9876\u90e8\u5207\u6362\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\uff1b
                                          2. \u8d44\u6e90\u6982\u89c8\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6b63\u5e38\u548c\u5168\u90e8\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u91cf\uff1b
                                          3. \u6545\u969c\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
                                          4. \u4e8b\u4ef6\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b 24 \u5c0f\u65f6\u5185 Warning \u7ea7\u522b\u7684\u4e8b\u4ef6\u6570\u91cf\uff1b
                                          5. \u8d44\u6e90\u6d88\u8017\uff1a\u7edf\u8ba1\u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e0b\u5bb9\u5668\u7ec4\u7684 CPU\u3001\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c \u53ca CPU\u3001\u5185\u5b58\u914d\u989d\u60c5\u51b5\u3002

                                        "},{"location":"end-user/insight/infra/namespace.html#_4","title":"\u6307\u6807\u8bf4\u660e","text":"\u6307\u6807\u540d \u8bf4\u660e CPU \u4f7f\u7528\u91cf \u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e2d\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf\u4e4b\u548c \u5185\u5b58\u4f7f\u7528\u91cf \u6240\u9009\u547d\u540d\u7a7a\u95f4\u4e2d\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf\u4e4b\u548c \u5bb9\u5668\u7ec4 CPU \u4f7f\u7528\u91cf \u547d\u540d\u7a7a\u95f4\u4e2d\u5404\u5bb9\u5668\u7ec4\u7684 CPU \u4f7f\u7528\u91cf \u5bb9\u5668\u7ec4\u5185\u5b58\u4f7f\u7528\u91cf \u547d\u540d\u7a7a\u95f4\u4e2d\u5404\u5bb9\u5668\u7ec4\u7684\u5185\u5b58\u4f7f\u7528\u91cf"},{"location":"end-user/insight/infra/node.html","title":"\u8282\u70b9\u76d1\u63a7","text":"

                                        \u901a\u8fc7\u8282\u70b9\u76d1\u63a7\uff0c\u4f60\u53ef\u4ee5\u6982\u89c8\u6240\u9009\u96c6\u7fa4\u4e0b\u8282\u70b9\u7684\u5f53\u524d\u5065\u5eb7\u72b6\u6001\u3001\u5bf9\u5e94\u5bb9\u5668\u7ec4\u7684\u5f02\u5e38\u6570\u91cf\uff1b \u5728\u5f53\u524d\u8282\u70b9\u8be6\u60c5\u9875\uff0c\u4f60\u53ef\u4ee5\u67e5\u770b\u6b63\u5728\u544a\u8b66\u7684\u6570\u91cf\u4ee5\u53ca CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7b49\u8d44\u6e90\u6d88\u8017\u7684\u53d8\u5316\u8d8b\u52bf\u56fe\u3002

                                        "},{"location":"end-user/insight/infra/node.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                                        "},{"location":"end-user/insight/infra/node.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                                        2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u8282\u70b9 \u3002\u5728\u8be5\u9875\u9762\u53ef\u67e5\u770b\u4ee5\u4e0b\u4fe1\u606f\uff1a

                                          • \u96c6\u7fa4\u5207\u6362 \uff1a\u5207\u6362\u9876\u90e8\u7684\u4e0b\u62c9\u6846\u53ef\u5207\u6362\u96c6\u7fa4\uff1b
                                          • \u8282\u70b9\u5217\u8868 \uff1a\u6240\u9009\u96c6\u7fa4\u4e2d\u7684\u8282\u70b9\u5217\u8868\uff0c\u5355\u51fb\u5207\u6362\u8282\u70b9\u3002
                                          • \u6545\u969c \uff1a\u7edf\u8ba1\u5f53\u524d\u96c6\u7fa4\u4ea7\u751f\u7684\u544a\u8b66\u6570\u91cf\uff1b
                                          • \u8d44\u6e90\u6d88\u8017 \uff1a\u6240\u9009\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u7684\u5b9e\u9645\u4f7f\u7528\u91cf\u548c\u603b\u91cf\uff1b
                                          • \u6307\u6807\u8bf4\u660e \uff1a\u6240\u9009\u8282\u70b9\u7684 CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u8bfb\u5199\u3001\u7f51\u7edc\u63a5\u6536\u53d1\u9001\u7684\u53d8\u5316\u8d8b\u52bf\u3002

                                        3. \u5207\u6362\u5230 \u8d44\u6e90\u6c34\u4f4d\u7ebf\u76d1\u63a7 \u9875\u7b7e\uff0c\u53ef\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684\u66f4\u591a\u76d1\u63a7\u6570\u636e\u3002

                                        "},{"location":"end-user/insight/infra/probe.html","title":"\u62e8\u6d4b","text":"

                                        \u62e8\u6d4b\uff08Probe\uff09\u6307\u7684\u662f\u57fa\u4e8e\u9ed1\u76d2\u76d1\u63a7\uff0c\u5b9a\u671f\u901a\u8fc7 HTTP\u3001TCP \u7b49\u65b9\u5f0f\u5bf9\u76ee\u6807\u8fdb\u884c\u8fde\u901a\u6027\u6d4b\u8bd5\uff0c\u5feb\u901f\u53d1\u73b0\u6b63\u5728\u53d1\u751f\u7684\u6545\u969c\u3002

                                        Insight \u57fa\u4e8e Prometheus Blackbox Exporter \u5de5\u5177\u901a\u8fc7 HTTP\u3001HTTPS\u3001DNS\u3001TCP \u548c ICMP \u7b49\u534f\u8bae\uff0c\u5bf9\u7f51\u7edc\u8fdb\u884c\u63a2\u6d4b\u5e76\u8fd4\u56de\u63a2\u6d4b\u7ed3\u679c\u4ee5\u4fbf\u4e86\u89e3\u7f51\u7edc\u72b6\u6001\u3002

                                        "},{"location":"end-user/insight/infra/probe.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u76ee\u6807\u96c6\u7fa4\u4e2d\u5df2\u6210\u529f\u90e8\u7f72 insight-agent\uff0c\u4e14\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                                        "},{"location":"end-user/insight/infra/probe.html#_3","title":"\u67e5\u770b\u62e8\u6d4b\u4efb\u52a1","text":"
                                        1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff1b
                                        2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u57fa\u7840\u8bbe\u65bd -> \u62e8\u6d4b\u3002

                                          • \u70b9\u51fb\u8868\u683c\u4e2d\u7684\u96c6\u7fa4\u6216\u547d\u540d\u7a7a\u95f4\u4e0b\u62c9\u6846\uff0c\u53ef\u5207\u6362\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4
                                          • \u4f60\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u2699\ufe0f \u4fee\u6539\u663e\u793a\u7684\u5217\uff0c\u9ed8\u8ba4\u4e3a\u62e8\u6d4b\u540d\u79f0\u3001\u63a2\u6d4b\u65b9\u5f0f\u3001\u63a2\u6d4b\u76ee\u6807\u3001\u8fde\u901a\u72b6\u6001\u3001\u521b\u5efa\u65f6\u95f4
                                          • \u8fde\u901a\u72b6\u6001\u6709 3 \u79cd\uff1a
                                            • \u6b63\u5e38\uff1aProbe \u6210\u529f\u8fde\u63a5\u5230\u4e86\u76ee\u6807\uff0c\u76ee\u6807\u8fd4\u56de\u4e86\u9884\u671f\u7684\u54cd\u5e94
                                            • \u5f02\u5e38\uff1aProbe \u65e0\u6cd5\u8fde\u63a5\u5230\u76ee\u6807\uff0c\u6216\u76ee\u6807\u6ca1\u6709\u8fd4\u56de\u9884\u671f\u7684\u54cd\u5e94
                                            • Pending\uff1aProbe \u6b63\u5728\u5c1d\u8bd5\u8fde\u63a5\u76ee\u6807
                                          • \u4f60\u53ef\u4ee5\u5728 \ud83d\udd0d \u641c\u7d22\u6846\u4e2d\u952e\u5165\u540d\u79f0\uff0c\u6a21\u7cca\u641c\u7d22\u67d0\u4e9b\u62e8\u6d4b\u4efb\u52a1

                                        "},{"location":"end-user/insight/infra/probe.html#_4","title":"\u521b\u5efa\u62e8\u6d4b\u4efb\u52a1","text":"
                                        1. \u70b9\u51fb \u521b\u5efa\u62e8\u6d4b\u4efb\u52a1\u3002
                                        2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

                                          • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u62e8\u6d4b\u7684\u96c6\u7fa4
                                          • \u547d\u540d\u7a7a\u95f4\uff1a\u62e8\u6d4b\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4

                                        3. \u914d\u7f6e\u63a2\u6d4b\u53c2\u6570\u3002

                                          • Blackbox \u5b9e\u4f8b\uff1a\u9009\u62e9\u8d1f\u8d23\u63a2\u6d4b\u7684 blackbox \u5b9e\u4f8b
                                          • \u63a2\u6d4b\u65b9\u5f0f\uff1a
                                            • HTTP\uff1a\u901a\u8fc7\u53d1\u9001 HTTP \u6216 HTTPS \u8bf7\u6c42\u5230\u76ee\u6807 URL\uff0c\u68c0\u6d4b\u5176\u8fde\u901a\u6027\u548c\u54cd\u5e94\u65f6\u95f4\uff0c\u8fd9\u53ef\u4ee5\u7528\u4e8e\u76d1\u6d4b\u7f51\u7ad9\u6216 Web \u5e94\u7528\u7684\u53ef\u7528\u6027\u548c\u6027\u80fd
                                            • TCP\uff1a\u901a\u8fc7\u5efa\u7acb\u5230\u76ee\u6807\u4e3b\u673a\u548c\u7aef\u53e3\u7684 TCP \u8fde\u63a5\uff0c\u68c0\u6d4b\u5176\u8fde\u901a\u6027\u548c\u54cd\u5e94\u65f6\u95f4\u3002\u8fd9\u53ef\u4ee5\u7528\u4e8e\u76d1\u6d4b\u57fa\u4e8e TCP \u7684\u670d\u52a1\uff0c\u5982 Web \u670d\u52a1\u5668\u3001\u6570\u636e\u5e93\u670d\u52a1\u5668\u7b49
                                            • \u5176\u4ed6\uff1a\u652f\u6301\u901a\u8fc7\u914d\u7f6e ConfigMap \u81ea\u5b9a\u4e49\u63a2\u6d4b\u65b9\u5f0f\uff0c\u53ef\u53c2\u8003\u81ea\u5b9a\u4e49\u62e8\u6d4b\u65b9\u5f0f
                                          • \u63a2\u6d4b\u76ee\u6807\uff1a\u63a2\u6d4b\u7684\u76ee\u6807\u5730\u5740\uff0c\u652f\u6301\u57df\u540d\u6216 IP \u5730\u5740\u7b49
                                          • \u6807\u7b7e\uff1a\u81ea\u5b9a\u4e49\u6807\u7b7e\uff0c\u8be5\u6807\u7b7e\u4f1a\u81ea\u52a8\u6dfb\u52a0\u5230 Prometheus \u7684 Label \u4e2d
                                          • \u63a2\u6d4b\u95f4\u9694\uff1a\u63a2\u6d4b\u95f4\u9694\u65f6\u95f4
                                          • \u63a2\u6d4b\u8d85\u65f6\uff1a\u63a2\u6d4b\u76ee\u6807\u65f6\u7684\u6700\u957f\u7b49\u5f85\u65f6\u95f4

                                        4. \u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                        Warning

                                        \u62e8\u6d4b\u4efb\u52a1\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u9700\u8981\u5927\u6982 3 \u5206\u949f\u7684\u65f6\u95f4\u6765\u540c\u6b65\u914d\u7f6e\u3002\u5728\u6b64\u671f\u95f4\uff0c\u4e0d\u4f1a\u8fdb\u884c\u63a2\u6d4b\uff0c\u65e0\u6cd5\u67e5\u770b\u63a2\u6d4b\u7ed3\u679c\u3002

                                        "},{"location":"end-user/insight/infra/probe.html#_5","title":"\u7f16\u8f91\u62e8\u6d4b\u4efb\u52a1","text":"

                                        \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 -> \u7f16\u8f91\uff0c\u5b8c\u6210\u7f16\u8f91\u540e\u70b9\u51fb \u786e\u5b9a\u3002

                                        "},{"location":"end-user/insight/infra/probe.html#_6","title":"\u67e5\u770b\u76d1\u63a7\u9762\u677f","text":"

                                        \u70b9\u51fb\u62e8\u6d4b\u540d\u79f0 \u67e5\u770b\u62e8\u6d4b\u4efb\u52a1\u4e2d\u6bcf\u4e2a\u76ee\u6807\u7684\u76d1\u63a7\u72b6\u6001\uff0c\u4ee5\u56fe\u8868\u65b9\u5f0f\u663e\u793a\u9488\u5bf9\u7f51\u7edc\u72b6\u51b5\u7684\u63a2\u6d4b\u7ed3\u679c\u3002

                                        \u6307\u6807\u540d\u79f0 \u63cf\u8ff0 Current Status Response \u8868\u793a HTTP \u63a2\u6d4b\u8bf7\u6c42\u7684\u54cd\u5e94\u72b6\u6001\u7801\u3002 Ping Status \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u662f\u5426\u6210\u529f\u30021 \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u6210\u529f\uff0c0 \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u5931\u8d25\u3002 IP Protocol \u8868\u793a\u63a2\u6d4b\u8bf7\u6c42\u4f7f\u7528\u7684 IP \u534f\u8bae\u7248\u672c\u3002 SSL Expiry \u8868\u793a SSL/TLS \u8bc1\u4e66\u7684\u6700\u65e9\u5230\u671f\u65f6\u95f4\u3002 DNS Response (Latency) \u8868\u793a\u6574\u4e2a\u63a2\u6d4b\u8fc7\u7a0b\u7684\u6301\u7eed\u65f6\u95f4\uff0c\u5355\u4f4d\u662f\u79d2\u3002 HTTP Duration \u8868\u793a\u4ece\u53d1\u9001\u8bf7\u6c42\u5230\u63a5\u6536\u5230\u5b8c\u6574\u54cd\u5e94\u7684\u6574\u4e2a\u8fc7\u7a0b\u7684\u65f6\u95f4\u3002"},{"location":"end-user/insight/infra/probe.html#_7","title":"\u5220\u9664\u62e8\u6d4b\u4efb\u52a1","text":"

                                        \u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 -> \u5220\u9664\uff0c\u786e\u8ba4\u65e0\u8bef\u540e\u70b9\u51fb \u786e\u5b9a\u3002

                                        Caution

                                        \u5220\u9664\u64cd\u4f5c\u4e0d\u53ef\u6062\u590d\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                                        "},{"location":"end-user/insight/quickstart/install/index.html","title":"\u5f00\u59cb\u89c2\u6d4b","text":"

                                        AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u5b9e\u73b0\u4e86\u5bf9\u591a\u4e91\u591a\u96c6\u7fa4\u7684\u7eb3\u7ba1\uff0c\u5e76\u652f\u6301\u521b\u5efa\u96c6\u7fa4\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0c\u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u7edf\u4e00\u89c2\u6d4b\u65b9\u6848\uff0c\u901a\u8fc7\u90e8\u7f72 insight-agent \u63d2\u4ef6\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u91c7\u96c6\uff0c\u5e76\u652f\u6301\u901a\u8fc7 AI \u7b97\u529b\u4e2d\u5fc3 \u53ef\u89c2\u6d4b\u6027\u4ea7\u54c1\u5b9e\u73b0\u5bf9\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u6570\u636e\u7684\u67e5\u8be2\u3002

                                        insight-agent \u662f\u53ef\u89c2\u6d4b\u6027\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u6570\u636e\u91c7\u96c6\u7684\u5de5\u5177\uff0c\u5b89\u88c5\u540e\u65e0\u9700\u4efb\u4f55\u4fee\u6539\uff0c\u5373\u53ef\u5b9e\u73b0\u5bf9\u6307\u6807\u3001\u65e5\u5fd7\u4ee5\u53ca\u94fe\u8def\u6570\u636e\u7684\u81ea\u52a8\u5316\u91c7\u96c6\u3002

                                        \u901a\u8fc7 \u5bb9\u5668\u7ba1\u7406 \u521b\u5efa\u7684\u96c6\u7fa4\u9ed8\u8ba4\u4f1a\u5b89\u88c5 insight-agent\uff0c\u6545\u5728\u6b64\u4ec5\u9488\u5bf9\u63a5\u5165\u7684\u96c6\u7fa4\u5982\u4f55\u5f00\u542f\u89c2\u6d4b\u80fd\u529b\u63d0\u4f9b\u6307\u5bfc\u3002

                                        • \u5728\u7ebf\u5b89\u88c5 insight-agent

                                        \u53ef\u89c2\u6d4b\u6027 Insight \u4f5c\u4e3a\u591a\u96c6\u7fa4\u7684\u7edf\u4e00\u89c2\u6d4b\u5e73\u53f0\uff0c\u5176\u90e8\u5206\u7ec4\u4ef6\u7684\u8d44\u6e90\u6d88\u8017\u4e0e\u521b\u5efa\u96c6\u7fa4\u7684\u6570\u636e\u3001\u63a5\u5165\u96c6\u7fa4\u7684\u6570\u91cf\u606f\u606f\u76f8\u5173\uff0c\u5728\u5b89\u88c5 insight-agent \u65f6\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u89c4\u6a21\u5bf9\u76f8\u5e94\u7ec4\u4ef6\u7684\u8d44\u6e90\u8fdb\u884c\u8c03\u6574\u3002

                                        1. \u6839\u636e\u521b\u5efa\u96c6\u7fa4\u7684\u89c4\u6a21\u6216\u63a5\u5165\u96c6\u7fa4\u7684\u89c4\u6a21\uff0c\u8c03\u6574 insight-agent \u4e2d\u91c7\u96c6\u7ec4\u4ef6 Prometheus \u7684 CPU \u548c\u5185\u5b58\uff0c\u8bf7\u53c2\u8003: Prometheus \u8d44\u6e90\u89c4\u5212

                                        2. \u7531\u4e8e\u591a\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u4f1a\u7edf\u4e00\u5b58\u50a8\uff0c\u5219\u9700\u8981 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u7ba1\u7406\u5458\u6839\u636e\u521b\u5efa\u96c6\u7fa4\u7684\u89c4\u6a21\u3001\u63a5\u5165\u96c6\u7fa4\u7684\u89c4\u6a21\u5bf9\u5e94\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\uff0c\u8bf7\u53c2\u8003\uff1avmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212\u3002

                                        3. \u5982\u4f55\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\uff0c\u8bf7\u53c2\u8003\uff1avmstorge \u78c1\u76d8\u6269\u5bb9\u3002

                                        \u7531\u4e8e AI \u7b97\u529b\u4e2d\u5fc3 \u652f\u6301\u5bf9\u591a\u4e91\u591a\u96c6\u7fa4\u7684\u7eb3\u7ba1\uff0cinsight-agent \u76ee\u524d\u4e5f\u5b8c\u6210\u4e86\u90e8\u5206\u9a8c\u8bc1\uff0c\u7531\u4e8e\u76d1\u63a7\u7ec4\u4ef6\u51b2\u7a81\u95ee\u9898\u5bfc\u81f4\u5728 DCE 4.0 \u96c6\u7fa4\u548c Openshift 4.x \u96c6\u7fa4\u4e2d\u5b89\u88c5 insight-agent \u4f1a\u51fa\u73b0\u95ee\u9898\uff0c\u82e5\u60a8\u9047\u5230\u540c\u6837\u95ee\u9898\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6587\u6863\uff1a

                                        • \u5728 DCE 4.0.x \u5b89\u88c5 insight-agent
                                        • \u5728 Openshift 4.x \u5b89\u88c5 insight-agent
                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html","title":"\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f","text":"

                                        \u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e3a\u4e86\u63d0\u9ad8\u5927\u89c4\u6a21\u73af\u5883\u4e0b\u7684\u6570\u636e\u5199\u5165\u80fd\u529b\uff0c\u652f\u6301\u5c06\u65e5\u5fd7\u5207\u6362\u4e3a \u5927\u65e5\u5fd7 \u6a21\u5f0f\u3001\u5c06\u94fe\u8def\u5207\u6362\u4e3a \u5927\u94fe\u8def \u6a21\u5f0f\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u4ee5\u4e0b\u51e0\u79cd\u5f00\u542f\u65b9\u5f0f\uff1a

                                        • \u901a\u8fc7\u5b89\u88c5\u5668\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\uff08\u901a\u8fc7 manifest.yaml \u4e2d\u540c\u4e00\u4e2a\u53c2\u6570\u503c\u63a7\u5236\uff09
                                        • \u901a\u8fc7 Helm \u547d\u4ee4\u624b\u52a8\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f
                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_2","title":"\u65e5\u5fd7","text":"

                                        \u672c\u8282\u8bf4\u660e\u666e\u901a\u65e5\u5fd7\u6a21\u5f0f\u548c\u5927\u65e5\u5fd7\u6a21\u5f0f\u7684\u533a\u522b\u3002

                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_3","title":"\u65e5\u5fd7\u6a21\u5f0f","text":"

                                        \u7ec4\u4ef6\uff1aFluentbit + Elasticsearch

                                        \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a ES \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_4","title":"\u5927\u65e5\u5fd7\u6a21\u5f0f","text":"

                                        \u7ec4\u4ef6\uff1aFluentbit + Kafka + Vector + Elasticsearch

                                        \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a Kafka \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_5","title":"\u94fe\u8def","text":"

                                        \u672c\u8282\u8bf4\u660e\u666e\u901a\u94fe\u8def\u6a21\u5f0f\u548c\u5927\u94fe\u8def\u6a21\u5f0f\u7684\u533a\u522b\u3002

                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_6","title":"\u94fe\u8def\u6a21\u5f0f","text":"

                                        \u7ec4\u4ef6\uff1aAgent opentelemetry-collector + Global opentelemetry-collector + Jaeger-collector + Elasticsearch

                                        \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a OTlp \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_7","title":"\u5927\u94fe\u8def\u6a21\u5f0f","text":"

                                        \u7ec4\u4ef6\uff1aAgent opentelemetry-collector + Kafka + Global opentelemetry-collector + Jaeger-collector + Elasticsearch

                                        \u8be5\u6a21\u5f0f\u7b80\u79f0\u4e3a Kafka \u6a21\u5f0f\uff0c\u6570\u636e\u6d41\u56fe\u5982\u4e0b\u6240\u793a\uff1a

                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_8","title":"\u901a\u8fc7\u5b89\u88c5\u5668\u5f00\u542f","text":"

                                        \u901a\u8fc7\u5b89\u88c5\u5668\u90e8\u7f72/\u5347\u7ea7 AI \u7b97\u529b\u4e2d\u5fc3 \u65f6\u4f7f\u7528\u7684 manifest.yaml \u4e2d\u5b58\u5728 infrastructures.kafka \u5b57\u6bb5\uff0c \u5982\u679c\u60f3\u5f00\u542f\u53ef\u89c2\u6d4b\u7684\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\uff0c\u5219\u9700\u8981\u542f\u7528 kafka\uff1a

                                        manifest.yaml
                                        apiVersion: manifest.daocloud.io/v1alpha1\nkind: DCEManifest\n...\ninfrastructures:\n  ...\n  kafka:\n    enable: true # \u9ed8\u8ba4\u4e3a false\n    cpuLimit: 1\n    memLimit: 2Gi\n    pvcSize: 15Gi\n
                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_9","title":"\u5f00\u542f","text":"

                                        \u5b89\u88c5\u65f6\u4f7f\u7528\u542f\u7528 kafka \u7684 manifest.yaml\uff0c\u5219\u4f1a\u9ed8\u8ba4\u5b89\u88c5 kafka \u4e2d\u95f4\u4ef6\uff0c \u5e76\u5728\u5b89\u88c5 Insight \u65f6\u9ed8\u8ba4\u5f00\u542f\u5927\u65e5\u5fd7\u548c\u5927\u94fe\u8def\u6a21\u5f0f\u3002\u5b89\u88c5\u547d\u4ee4\u4e3a\uff1a

                                        ./dce5-installer cluster-create -c clusterConfig.yaml -m manifest.yaml\n
                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_10","title":"\u5347\u7ea7","text":"

                                        \u5347\u7ea7\u540c\u6837\u662f\u4fee\u6539 kafka \u5b57\u6bb5\u3002\u4f46\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u56e0\u4e3a\u8001\u73af\u5883\u5b89\u88c5\u65f6\u4f7f\u7528\u7684\u662f kafka: false\uff0c \u6240\u4ee5\u73af\u5883\u4e2d\u65e0 kafka\u3002\u6b64\u65f6\u5347\u7ea7\u9700\u8981\u6307\u5b9a\u5347\u7ea7 middleware\uff0c\u624d\u4f1a\u540c\u65f6\u5b89\u88c5 kafka \u4e2d\u95f4\u4ef6\u3002\u5347\u7ea7\u547d\u4ee4\u4e3a\uff1a

                                        ./dce5-installer cluster-create -c clusterConfig.yaml -m manifest.yaml -u gproduct,middleware\n

                                        Note

                                        \u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u8981\u624b\u52a8\u91cd\u542f\u4ee5\u4e0b\u7ec4\u4ef6\uff1a

                                        • insight-agent-fluent-bit
                                        • insight-agent-opentelemetry-collector
                                        • insight-opentelemetry-collector
                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#helm","title":"\u901a\u8fc7 Helm \u547d\u4ee4\u5f00\u542f","text":"

                                        \u524d\u63d0\u6761\u4ef6\uff1a\u9700\u8981\u4fdd\u8bc1\u5b58\u5728 \u53ef\u7528\u7684 kafka \u4e14\u5730\u5740\u53ef\u6b63\u5e38\u8bbf\u95ee\u3002

                                        \u6839\u636e\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6\u8001\u7248\u672c insight \u548c insight-agent \u7684 values\uff08\u5efa\u8bae\u505a\u597d\u5907\u4efd\uff09\uff1a

                                        helm get values insight -n insight-system -o yaml > insight.yaml\nhelm get values insight-agent -n insight-system -o yaml > insight-agent.yaml\n
                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_11","title":"\u5f00\u542f\u5927\u65e5\u5fd7","text":"

                                        \u6709\u4ee5\u4e0b\u51e0\u79cd\u65b9\u5f0f\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u65e5\u5fd7\u6a21\u5f0f\uff1a

                                        \u5728 helm upgrade \u547d\u4ee4\u4e2d\u4f7f\u7528 --set\u4fee\u6539 YAML \u540e\u8fd0\u884c helm upgrade\u5bb9\u5668\u7ba1\u7406 UI \u5347\u7ea7

                                        \u5148\u8fd0\u884c\u4ee5\u4e0b insight \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                                        helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --set global.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.kafka.enabled=true \\\n  --set vector.enabled=true \\\n  --version 0.30.1\n

                                        \u7136\u540e\u8fd0\u884c\u4ee5\u4e0b insight-agent \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                                        helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --set global.exporters.logging.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.exporters.logging.output=kafka \\\n  --version 0.30.1\n

                                        \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539 YAMl \u540e\u8fd0\u884c helm upgrade \u547d\u4ee4\uff1a

                                        1. \u4fee\u6539 insight.yaml

                                          insight.yaml
                                          global:\n  ...\n  kafka:\n    brokers: 10.6.216.111:30592\n    enabled: true\n...\nvector:\n  enabled: true\n
                                        2. \u5347\u7ea7 insight \u7ec4\u4ef6\uff1a

                                          helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --version 0.30.1\n
                                        3. \u4fee\u6539 insight-agent.yaml

                                          insight-agent.yaml
                                          global:\n  ...\n  exporters:\n    ...\n    logging:\n      ...\n      kafka:\n        brokers: 10.6.216.111:30592\n      output: kafka\n
                                        4. \u5347\u7ea7 insight-agent\uff1a

                                          helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --version 0.30.1\n

                                        \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u627e\u5230\u5bf9\u5e94\u7684\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u627e\u5230\u5e76\u66f4\u65b0 insight-agent\u3002

                                        \u5728 Logging Settings \u4e2d\uff0c\u4e3a output \u9009\u62e9 kafka\uff0c\u5e76\u586b\u5199\u6b63\u786e\u7684 brokers \u5730\u5740\u3002

                                        \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u624b\u52a8\u91cd\u542f insight-agent-fluent-bit \u7ec4\u4ef6\u3002

                                        "},{"location":"end-user/insight/quickstart/install/big-log-and-trace.html#_12","title":"\u5f00\u542f\u5927\u94fe\u8def","text":"

                                        \u6709\u4ee5\u4e0b\u51e0\u79cd\u65b9\u5f0f\u5f00\u542f\u6216\u5347\u7ea7\u81f3\u5927\u94fe\u8def\u6a21\u5f0f\uff1a

                                        \u5728 helm upgrade \u547d\u4ee4\u4e2d\u4f7f\u7528 --set\u4fee\u6539 YAML \u540e\u8fd0\u884c helm upgrade\u5bb9\u5668\u7ba1\u7406 UI \u5347\u7ea7

                                        \u5148\u8fd0\u884c\u4ee5\u4e0b insight \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                                        helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --set global.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.kafka.enabled=true \\\n  --set global.tracing.kafkaReceiver.enabled=true \\\n  --version 0.30.1\n

                                        \u7136\u540e\u8fd0\u884c\u4ee5\u4e0b insight-agent \u5347\u7ea7\u547d\u4ee4\uff0c\u6ce8\u610f kafka brokers \u5730\u5740\u9700\u6b63\u786e\uff1a

                                        helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --set global.exporters.trace.kafka.brokers=\"10.6.216.111:30592\" \\\n  --set global.exporters.trace.output=kafka \\\n  --version 0.30.1\n

                                        \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539 YAMl \u540e\u8fd0\u884c helm upgrade \u547d\u4ee4\uff1a

                                        1. \u4fee\u6539 insight.yaml

                                          insight.yaml
                                          global:\n  ...\n  kafka:\n    brokers: 10.6.216.111:30592\n    enabled: true\n...\ntracing:\n  ...\n  kafkaReceiver:\n    enabled: true\n
                                        2. \u5347\u7ea7 insight \u7ec4\u4ef6\uff1a

                                          helm upgrade insight insight-release/insight \\\n  -n insight-system \\\n  -f ./insight.yaml \\\n  --version 0.30.1\n
                                        3. \u4fee\u6539 insight-agent.yaml

                                          insight-agent.yaml
                                          global:\n  ...\n  exporters:\n    ...\n    trace:\n      ...\n      kafka:\n        brokers: 10.6.216.111:30592\n      output: kafka\n
                                        4. \u5347\u7ea7 insight-agent\uff1a

                                          helm upgrade insight-agent insight-release/insight-agent \\\n  -n insight-system \\\n  -f ./insight-agent.yaml \\\n  --version 0.30.1\n

                                        \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u627e\u5230\u5bf9\u5e94\u7684\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 Helm \u5e94\u7528 \uff0c\u627e\u5230\u5e76\u66f4\u65b0 insight-agent\u3002

                                        \u5728 Trace Settings \u4e2d\uff0c\u4e3a output \u9009\u62e9 kafka\uff0c\u5e76\u586b\u5199\u6b63\u786e\u7684 brokers \u5730\u5740\u3002

                                        \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5728\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u9700\u624b\u52a8 \u91cd\u542f insight-agent-opentelemetry-collector \u548c insight-opentelemetry-collector \u7ec4\u4ef6\u3002

                                        "},{"location":"end-user/insight/quickstart/install/component-scheduling.html","title":"\u81ea\u5b9a\u4e49 Insight \u7ec4\u4ef6\u8c03\u5ea6\u7b56\u7565","text":"

                                        \u5f53\u90e8\u7f72\u53ef\u89c2\u6d4b\u5e73\u53f0 Insight \u5230 Kubernetes \u73af\u5883\u65f6\uff0c\u6b63\u786e\u7684\u8d44\u6e90\u7ba1\u7406\u548c\u4f18\u5316\u81f3\u5173\u91cd\u8981\u3002 Insight \u5305\u542b\u591a\u4e2a\u6838\u5fc3\u7ec4\u4ef6\uff0c\u5982 Prometheus\u3001OpenTelemetry\u3001FluentBit\u3001Vector\u3001Elasticsearch \u7b49\uff0c \u8fd9\u4e9b\u7ec4\u4ef6\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u53ef\u80fd\u56e0\u4e3a\u8d44\u6e90\u5360\u7528\u95ee\u9898\u5bf9\u96c6\u7fa4\u5185\u5176\u4ed6 Pod \u7684\u6027\u80fd\u4ea7\u751f\u8d1f\u9762\u5f71\u54cd\u3002 \u4e3a\u4e86\u6709\u6548\u5730\u7ba1\u7406\u8d44\u6e90\u5e76\u4f18\u5316\u96c6\u7fa4\u7684\u8fd0\u884c\uff0c\u8282\u70b9\u4eb2\u548c\u6027\u6210\u4e3a\u4e00\u9879\u91cd\u8981\u7684\u914d\u7f6e\u9009\u9879\u3002

                                        \u672c\u6587\u5c06\u91cd\u70b9\u63a2\u8ba8\u5982\u4f55\u901a\u8fc7\u6c61\u70b9\u548c\u8282\u70b9\u4eb2\u548c\u6027\u7684\u914d\u7f6e\u7b56\u7565\uff0c\u4f7f\u5f97\u6bcf\u4e2a\u7ec4\u4ef6\u80fd\u591f\u5728\u9002\u5f53\u7684\u8282\u70b9\u4e0a\u8fd0\u884c\uff0c \u5e76\u907f\u514d\u8d44\u6e90\u7ade\u4e89\u6216\u4e89\u7528\uff0c\u4ece\u800c\u786e\u4fdd\u6574\u4e2a Kubernetes \u96c6\u7fa4\u7684\u7a33\u5b9a\u6027\u548c\u9ad8\u6548\u6027\u3002

                                        "},{"location":"end-user/insight/quickstart/install/component-scheduling.html#insight_1","title":"\u901a\u8fc7\u6c61\u70b9\u4e3a Insight \u914d\u7f6e\u4e13\u6709\u8282\u70b9","text":"

                                        \u7531\u4e8e Insight Agent \u5305\u542b\u4e86 DaemonSet \u7ec4\u4ef6\uff0c\u6240\u4ee5\u672c\u8282\u6240\u8ff0\u7684\u914d\u7f6e\u65b9\u5f0f\u662f\u8ba9\u9664\u4e86 Insight DameonSet \u4e4b\u5916\u7684\u5176\u4f59\u7ec4\u4ef6\u5747\u8fd0\u884c\u5728\u4e13\u6709\u8282\u70b9\u4e0a\u3002

                                        \u8be5\u65b9\u5f0f\u662f\u901a\u8fc7\u4e3a\u4e13\u6709\u8282\u70b9\u6dfb\u52a0\u6c61\u70b9\uff08taint\uff09\uff0c\u5e76\u914d\u5408\u6c61\u70b9\u5bb9\u5fcd\u5ea6\uff08tolerations\uff09\u6765\u5b9e\u73b0\u7684\u3002 \u66f4\u591a\u7ec6\u8282\u53ef\u4ee5\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u3002

                                        \u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u547d\u4ee4\u4e3a\u8282\u70b9\u6dfb\u52a0\u53ca\u79fb\u9664\u6c61\u70b9\uff1a

                                        # \u6dfb\u52a0\u6c61\u70b9\nkubectl taint nodes worker1 node.daocloud.io=insight-only:NoSchedule\n\n# \u79fb\u9664\u6c61\u70b9\nkubectl taint nodes worker1 node.daocloud.io:NoSchedule-\n

                                        \u6709\u4ee5\u4e0b\u4e24\u79cd\u9014\u5f84\u8ba9 Insight \u7ec4\u4ef6\u8c03\u5ea6\u81f3\u4e13\u6709\u8282\u70b9\uff1a

                                        "},{"location":"end-user/insight/quickstart/install/component-scheduling.html#1","title":"1. \u4e3a\u6bcf\u4e2a\u7ec4\u4ef6\u6dfb\u52a0\u6c61\u70b9\u5bb9\u5fcd\u5ea6","text":"

                                        \u9488\u5bf9 insight-server \u548c insight-agent \u4e24\u4e2a Chart \u5206\u522b\u8fdb\u884c\u914d\u7f6e\uff1a

                                        insight-server Chart \u914d\u7f6einsight-agent Chart \u914d\u7f6e
                                        server:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nui:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nrunbook:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\n# mysql:\nvictoria-metrics-k8s-stack:\n  victoria-metrics-operator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  vmcluster:\n    spec:\n      vmstorage:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n      vmselect:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n      vminsert:\n        tolerations:\n          - key: \"node.daocloud.io\"\n            operator: \"Equal\"\n            value: \"insight-only\"\n            effect: \"NoSchedule\"\n  vmalert:\n    spec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n  alertmanager:\n    spec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n\njaeger:\n  collector:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  query:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n\nopentelemetry-collector-aggregator:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nopentelemetry-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\ngrafana-operator:\n  operator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n  grafana:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\nkibana:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nelastic-alert:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n\nvector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\n
                                        kube-prometheus-stack:\n  prometheus:\n    prometheusSpec:\n      tolerations:\n        - key: \"node.daocloud.io\"\n          operator: \"Equal\"\n          value: \"insight-only\"\n          effect: \"NoSchedule\"\n  prometheus-node-exporter:\n    tolerations:\n      - effect: NoSchedule\n        operator: Exists\n  prometheusOperator:\n    tolerations:\n      - key: \"node.daocloud.io\"\n        operator: \"Equal\"\n        value: \"insight-only\"\n        effect: \"NoSchedule\"\n\nkube-state-metrics:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-operator:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\ntailing-sidecar-operator:\n  operator:\n    tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nopentelemetry-kubernetes-collector:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\nprometheus-blackbox-exporter:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\"\netcd-exporter:\n  tolerations:\n    - key: \"node.daocloud.io\"\n      operator: \"Equal\"\n      value: \"insight-only\"\n      effect: \"NoSchedule\" \n
                                        "},{"location":"end-user/insight/quickstart/install/component-scheduling.html#2","title":"2. \u901a\u8fc7\u547d\u540d\u7a7a\u95f4\u7ea7\u522b\u914d\u7f6e","text":"

                                        \u8ba9 insight-system \u547d\u540d\u7a7a\u95f4\u7684 Pod \u90fd\u5bb9\u5fcd node.daocloud.io=insight-only \u6c61\u70b9\u3002

                                        1. \u8c03\u6574 apiserver \u7684\u914d\u7f6e\u6587\u4ef6 /etc/kubernetes/manifests/kube-apiserver.yaml\uff0c\u653e\u5f00 PodTolerationRestriction,PodNodeSelector, \u53c2\u8003\u4e0b\u56fe\uff1a

                                        2. \u7ed9 insight-system \u547d\u540d\u7a7a\u95f4\u589e\u52a0\u6ce8\u89e3\uff1a

                                          apiVersion: v1\nkind: Namespace\nmetadata:\n  name: insight-system\n  annotations:\n    scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Equal\", \"effect\": \"NoSchedule\", \"key\": \"node.daocloud.io\", \"value\": \"insight-only\"}]'\n

                                        \u91cd\u542f insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u9762\u7684\u7ec4\u4ef6\u5373\u53ef\u6b63\u5e38\u5bb9\u5fcd insight-system \u4e0b\u7684 Pod \u8c03\u5ea6\u3002

                                        "},{"location":"end-user/insight/quickstart/install/component-scheduling.html#label","title":"\u4e3a\u8282\u70b9\u6dfb\u52a0 Label \u548c\u8282\u70b9\u4eb2\u548c\u6027\u6765\u7ba1\u7406\u7ec4\u4ef6\u8c03\u5ea6","text":"

                                        Info

                                        \u8282\u70b9\u4eb2\u548c\u6027\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e nodeSelector\uff0c\u5b83\u4f7f\u4f60\u53ef\u4ee5\u6839\u636e\u8282\u70b9\u4e0a\u7684 \u6807\u7b7e(label) \u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002 \u8282\u70b9\u4eb2\u548c\u6027\u6709\u4e24\u79cd\uff1a

                                        1. requiredDuringSchedulingIgnoredDuringExecution\uff1a\u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector\uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002
                                        2. preferredDuringSchedulingIgnoredDuringExecution\uff1a\u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002

                                        \u66f4\u8fc7\u7ec6\u8282\u8bf7\u53c2\u8003 kubernetes \u5b98\u65b9\u6587\u6863\u3002

                                        \u4e3a\u4e86\u5b9e\u73b0\u4e0d\u540c\u7528\u6237\u5bf9 Insight \u7ec4\u4ef6\u8c03\u5ea6\u7684\u7075\u6d3b\u9700\u6c42\uff0cInsight \u5206\u522b\u63d0\u4f9b\u4e86\u8f83\u4e3a\u7ec6\u7c92\u5ea6\u7684 Label \u6765\u5b9e\u73b0\u4e0d\u540c\u7ec4\u4ef6\u7684\u8c03\u5ea6\u7b56\u7565\uff0c\u4ee5\u4e0b\u662f\u6807\u7b7e\u4e0e\u7ec4\u4ef6\u7684\u5173\u7cfb\u8bf4\u660e\uff1a

                                        \u6807\u7b7e Key \u6807\u7b7e Value \u8bf4\u660e node.daocloud.io/insight-any \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u4ee3\u8868 Insight \u6240\u6709\u7ec4\u4ef6\u4f18\u5148\u8003\u8651\u5e26\u4e86\u8be5\u6807\u7b7e\u7684\u8282\u70b9 node.daocloud.io/insight-prometheus \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 Prometheus \u7ec4\u4ef6 node.daocloud.io/insight-vmstorage \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 VictoriaMetrics vmstorage \u7ec4\u4ef6 node.daocloud.io/insight-vector \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 Vector \u7ec4\u4ef6 node.daocloud.io/insight-otel-col \u4efb\u610f\u503c\uff0c\u63a8\u8350\u7528 true \u7279\u6307 OpenTelemetry \u7ec4\u4ef6

                                        \u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u547d\u4ee4\u4e3a\u8282\u70b9\u6dfb\u52a0\u53ca\u79fb\u9664\u6807\u7b7e\uff1a

                                        # \u4e3a node8 \u6dfb\u52a0\u6807\u7b7e\uff0c\u5148\u5c06 insight-prometheus \u8c03\u5ea6\u5230 node8 \nkubectl label nodes node8 node.daocloud.io/insight-prometheus=true\n\n# \u79fb\u9664 node8 \u7684 node.daocloud.io/insight-prometheus \u6807\u7b7e\nkubectl label nodes node8 node.daocloud.io/insight-prometheus-\n

                                        \u4ee5\u4e0b\u662f insight-prometheus \u7ec4\u4ef6\u5728\u90e8\u7f72\u65f6\u9ed8\u8ba4\u7684\u4eb2\u548c\u6027\u504f\u597d\uff1a

                                        affinity:\n  nodeAffinity:\n    preferredDuringSchedulingIgnoredDuringExecution:\n    - preference:\n        matchExpressions:\n        - key: node-role.kubernetes.io/control-plane\n          operator: DoesNotExist\n      weight: 1\n    - preference:\n        matchExpressions:\n        - key: node.daocloud.io/insight-prometheus # (1)!\n          operator: Exists\n      weight: 2\n    - preference:\n        matchExpressions:\n        - key: node.daocloud.io/insight-any\n          operator: Exists\n      weight: 3\n    podAntiAffinity:\n      preferredDuringSchedulingIgnoredDuringExecution:\n        - weight: 1\n          podAffinityTerm:\n            topologyKey: kubernetes.io/hostname\n            labelSelector:\n              matchExpressions:\n                - key: app.kubernetes.io/instance\n                  operator: In\n                  values:\n                    - insight-agent-kube-prometh-prometheus\n
                                        1. \u5148\u5c06 insight-prometheus \u8c03\u5ea6\u5230\u5e26\u6709 node.daocloud.io/insight-prometheus \u6807\u7b7e\u7684\u8282\u70b9
                                        "},{"location":"end-user/insight/quickstart/install/gethosturl.html","title":"\u83b7\u53d6\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u6570\u636e\u5b58\u50a8\u5730\u5740","text":"

                                        \u53ef\u89c2\u6d4b\u6027\u662f\u591a\u96c6\u7fa4\u7edf\u4e00\u89c2\u6d4b\u7684\u4ea7\u54c1\uff0c\u4e3a\u5b9e\u73b0\u5bf9\u591a\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u7684\u7edf\u4e00\u5b58\u50a8\u3001\u67e5\u8be2\uff0c \u5b50\u96c6\u7fa4\u9700\u8981\u5c06\u91c7\u96c6\u7684\u89c2\u6d4b\u6570\u636e\u4e0a\u62a5\u7ed9\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u8fdb\u884c\u7edf\u4e00\u5b58\u50a8\u3002 \u672c\u6587\u63d0\u4f9b\u4e86\u5728\u5b89\u88c5\u91c7\u96c6\u7ec4\u4ef6 insight-agent \u65f6\u5fc5\u586b\u7684\u5b58\u50a8\u7ec4\u4ef6\u7684\u5730\u5740\u3002

                                        "},{"location":"end-user/insight/quickstart/install/gethosturl.html#insight-agent","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 insight-agent","text":"

                                        \u5982\u679c\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 insight-agent\uff0c\u63a8\u8350\u901a\u8fc7\u57df\u540d\u6765\u8bbf\u95ee\u96c6\u7fa4\uff1a

                                        export vminsert_host=\"vminsert-insight-victoria-metrics-k8s-stack.insight-system.svc.cluster.local\" # (1)!\nexport es_host=\"insight-es-master.insight-system.svc.cluster.local\" # (2)!\nexport otel_col_host=\"insight-opentelemetry-collector.insight-system.svc.cluster.local\" # (3)!\n
                                        "},{"location":"end-user/insight/quickstart/install/gethosturl.html#insight-agent_1","title":"\u5728\u5176\u4ed6\u96c6\u7fa4\u5b89\u88c5 insight-agent","text":""},{"location":"end-user/insight/quickstart/install/gethosturl.html#insight-server","title":"\u901a\u8fc7 Insight Server \u63d0\u4f9b\u7684\u63a5\u53e3\u83b7\u53d6\u5730\u5740","text":"
                                        1. \u7ba1\u7406\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer \u65b9\u5f0f\u66b4\u9732

                                          \u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                          export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam'\n

                                          Note

                                          \u8bf7\u66ff\u6362\u547d\u4ee4\u4e2d\u7684 ${INSIGHT_SERVER_IP} \u53c2\u6570\u3002

                                          \u83b7\u5f97\u5982\u4e0b\u8fd4\u56de\u503c\uff1a

                                          {\n  \"values\": {\n    \"global\": {\n      \"exporters\": {\n        \"logging\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"metric\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"auditLog\": {\n          \"host\": \"10.6.182.32\"\n        },\n        \"trace\": {\n          \"host\": \"10.6.182.32\"\n        }\n      }\n    },\n    \"opentelemetry-operator\": {\n      \"enabled\": true\n    },\n    \"opentelemetry-collector\": {\n      \"enabled\": true\n    }\n  }\n}\n
                                          • global.exporters.logging.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff0c\u4e0d\u9700\u8981\u518d\u8bbe\u7f6e\u5bf9\u5e94\u670d\u52a1\u7684\u7aef\u53e3\uff0c\u90fd\u4f1a\u4f7f\u7528\u76f8\u5e94\u9ed8\u8ba4\u503c
                                          • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740
                                          • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740
                                          • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff08\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3\uff09
                                        2. \u7ba1\u7406\u96c6\u7fa4\u7981\u7528 LoadBalancer

                                          \u8c03\u7528\u63a5\u53e3\u65f6\u9700\u8981\u989d\u5916\u4f20\u9012\u96c6\u7fa4\u4e2d\u4efb\u610f\u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u8282\u70b9 IP\uff0c\u4f1a\u4f7f\u7528\u8be5 IP \u62fc\u63a5\u51fa\u5bf9\u5e94\u670d\u52a1\u7684\u5b8c\u6574\u8bbf\u95ee\u5730\u5740\u3002

                                          export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam' --data '{\"extra\": {\"EXPORTER_EXTERNAL_IP\": \"10.5.14.51\"}}'\n

                                          \u5c06\u83b7\u5f97\u5982\u4e0b\u7684\u8fd4\u56de\u503c\uff1a

                                          {\n  \"values\": {\n    \"global\": {\n      \"exporters\": {\n        \"logging\": {\n          \"scheme\": \"https\",\n          \"host\": \"10.5.14.51\",\n          \"port\": 32007,\n          \"user\": \"elastic\",\n          \"password\": \"j8V1oVoM1184HvQ1F3C8Pom2\"\n        },\n        \"metric\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30683\n        },\n        \"auditLog\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30884\n        },\n        \"trace\": {\n          \"host\": \"10.5.14.51\",\n          \"port\": 30274\n        }\n      }\n    },\n    \"opentelemetry-operator\": {\n      \"enabled\": true\n    },\n    \"opentelemetry-collector\": {\n      \"enabled\": true\n    }\n  }\n}\n
                                          • global.exporters.logging.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740
                                          • global.exporters.logging.port \u662f\u65e5\u5fd7\u670d\u52a1\u66b4\u9732\u7684 NodePort
                                          • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740
                                          • global.exporters.metric.port \u662f\u6307\u6807\u670d\u52a1\u66b4\u9732\u7684 NodePort
                                          • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740
                                          • global.exporters.trace.port \u662f\u94fe\u8def\u670d\u52a1\u66b4\u9732\u7684 NodePort
                                          • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740\uff08\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3\uff09
                                          • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u66b4\u9732\u7684 NodePort
                                        "},{"location":"end-user/insight/quickstart/install/gethosturl.html#loadbalancer","title":"\u901a\u8fc7 LoadBalancer \u8fde\u63a5","text":"
                                        1. \u82e5\u96c6\u7fa4\u4e2d\u5f00\u542f LoadBalancer \u4e14\u4e3a Insight \u8bbe\u7f6e\u4e86 VIP \u65f6\uff0c\u60a8\u4e5f\u53ef\u4ee5\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6 vminsert \u4ee5\u53ca opentelemetry-collector \u7684\u5730\u5740\u4fe1\u606f\uff1a

                                          $ kubectl get service -n insight-system | grep lb\nlb-insight-opentelemetry-collector               LoadBalancer   10.233.23.12    <pending>     4317:31286/TCP,8006:31351/TCP  24d\nlb-vminsert-insight-victoria-metrics-k8s-stack   LoadBalancer   10.233.63.67    <pending>     8480:31629/TCP                 24d\n
                                          • lb-vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740
                                          • lb-insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740
                                        2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u83b7\u53d6 elasticsearch \u5730\u5740\u4fe1\u606f\uff1a

                                          $ kubectl get service -n mcamel-system | grep es\nmcamel-common-es-cluster-masters-es-http               NodePort    10.233.16.120   <none>        9200:30465/TCP               47d\n

                                          mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740

                                        "},{"location":"end-user/insight/quickstart/install/gethosturl.html#nodeport","title":"\u901a\u8fc7 NodePort \u8fde\u63a5","text":"

                                        \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7981\u7528 LB \u7279\u6027

                                        \u5728\u8be5\u60c5\u51b5\u4e0b\uff0c\u9ed8\u8ba4\u4e0d\u4f1a\u521b\u5efa\u4e0a\u8ff0\u7684 LoadBalancer \u8d44\u6e90\uff0c\u5bf9\u5e94\u670d\u52a1\u540d\u4e3a\uff1a

                                        • vminsert-insight-victoria-metrics-k8s-stack\uff08\u6307\u6807\u670d\u52a1\uff09
                                        • common-es\uff08\u65e5\u5fd7\u670d\u52a1\uff09
                                        • insight-opentelemetry-collector\uff08\u94fe\u8def\u670d\u52a1\uff09

                                        \u4e0a\u9762\u4e24\u79cd\u60c5\u51b5\u83b7\u53d6\u5230\u5bf9\u5e94\u670d\u52a1\u7684\u5bf9\u5e94\u7aef\u53e3\u4fe1\u606f\u540e\uff0c\u8fdb\u884c\u5982\u4e0b\u8bbe\u7f6e\uff1a

                                        --set global.exporters.logging.host=  # (1)!\n--set global.exporters.logging.port=  # (2)!\n--set global.exporters.metric.host=   # (3)!\n--set global.exporters.metric.port=   # (4)!\n--set global.exporters.trace.host=    # (5)!\n--set global.exporters.trace.port=    # (6)!\n--set global.exporters.auditLog.host= # (7)!\n
                                        1. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                                        2. \u65e5\u5fd7\u670d\u52a1 9200 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
                                        3. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                                        4. \u6307\u6807\u670d\u52a1 8480 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
                                        5. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                                        6. \u94fe\u8def\u670d\u52a1 4317 \u7aef\u53e3\u5bf9\u5e94\u7684 NodePort
                                        7. \u5916\u90e8\u53ef\u8bbf\u95ee\u7684\u7ba1\u7406\u96c6\u7fa4 NodeIP
                                        "},{"location":"end-user/insight/quickstart/install/helm-installagent.html","title":"\u901a\u8fc7 Helm \u90e8\u7f72 Insight Agent","text":"

                                        \u672c\u6587\u63cf\u8ff0\u4e86\u5728\u547d\u4ee4\u884c\u4e2d\u901a\u8fc7 Helm \u547d\u4ee4\u5b89\u88c5 Insight Agent \u793e\u533a\u7248\u7684\u64cd\u4f5c\u6b65\u9aa4\u3002

                                        "},{"location":"end-user/insight/quickstart/install/helm-installagent.html#insight-agent","title":"\u5b89\u88c5 Insight Agent","text":"
                                        1. \u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6dfb\u52a0\u955c\u50cf\u4ed3\u5e93\u7684\u5730\u5740

                                          helm repo add insight https://release.daocloud.io/chartrepo/insight\nhelm repo upgrade\nhelm search repo  insight/insight-agent --versions\n
                                        2. \u5b89\u88c5 Insight Agent \u9700\u8981\u786e\u4fdd\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u7684 Insight Server \u6b63\u5e38\u8fd0\u884c\uff0c\u6267\u884c\u4ee5\u4e0b\u5b89\u88c5\u547d\u4ee4\u5b89\u88c5 Insight Agent \u793e\u533a\u7248\uff0c\u8be5\u914d\u7f6e\u4e0d\u542f\u7528 Tracing \u529f\u80fd\uff1a

                                          helm upgrade --install --create-namespace --cleanup-on-fail \\\n    --version ${version} \\      # \u8bf7\u6307\u5b9a\u90e8\u7f72\u7248\u672c\n    insight-agent  insight/insight-agent \\\n    --set global.exporters.logging.elasticsearch.host=10.10.10.x \\    # \u8bf7\u66ff\u6362\u201c10.10.10.x\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u5730\u5740\n    --set global.exporters.logging.elasticsearch.port=32517 \\     # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u66b4\u9732\u7684\u7aef\u53e3\n    --set global.exporters.logging.elasticsearch.user=elastic \\     # \u8bf7\u66ff\u6362\u201celastic\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u7528\u6237\u540d\n    --set global.exporters.logging.elasticsearch.password=dangerous \\  # \u8bf7\u66ff\u6362\u201cdangerous\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u6216\u5916\u7f6e\u7684 Elasticsearch \u7684\u5bc6\u7801\n    --set global.exporters.metric.host=${vminsert_address} \\    # \u8bf7\u66ff\u6362\u201c10.10.10.x\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d vminsert \u7684\u5730\u5740\n    --set global.exporters.metric.port=${vminsert_port} \\    # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d vminsert \u7684\u5730\u5740\n    --set global.exporters.auditLog.host=${opentelemetry-collector address} \\     # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d opentelemetry-collector \u7684\u7aef\u53e3\n    --set global.exporters.auditLog.port=${otel_col_auditlog_port}\\   # \u8bf7\u66ff\u6362\u201c32517\" \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d opentelemetry-collector \u5bb9\u5668\u7aef\u53e3\u4e3a 8006 \u7684 service \u5bf9\u5916\u8bbf\u95ee\u7684\u5730\u5740\n    -n insight-system\n

                                          Info

                                          \u53ef\u53c2\u8003 \u5982\u4f55\u83b7\u53d6\u8fde\u63a5\u5730\u5740 \u83b7\u53d6\u5730\u5740\u4fe1\u606f\u3002

                                        3. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u5b89\u88c5\u72b6\u6001\uff1a

                                          helm list -A\nkubectl get pods -n insight-system\n
                                        "},{"location":"end-user/insight/quickstart/install/helm-installagent.html#_1","title":"\u5982\u4f55\u83b7\u53d6\u8fde\u63a5\u5730\u5740","text":""},{"location":"end-user/insight/quickstart/install/helm-installagent.html#insight-agent_1","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5b89\u88c5 Insight Agent","text":"

                                        \u5982\u679c Agent \u662f\u5b89\u88c5\u5728\u7ba1\u7406\u96c6\u7fa4\uff0c\u63a8\u8350\u901a\u8fc7\u57df\u540d\u6765\u8bbf\u95ee\u96c6\u7fa4\uff1a

                                        export vminsert_host=\"vminsert-insight-victoria-metrics-k8s-stack.insight-system.svc.cluster.local\" # \u6307\u6807\nexport es_host=\"insight-es-master.insight-system.svc.cluster.local\" # \u65e5\u5fd7\nexport otel_col_host=\"insight-opentelemetry-collector.insight-system.svc.cluster.local\" # \u94fe\u8def\n
                                        "},{"location":"end-user/insight/quickstart/install/helm-installagent.html#insight-agent_2","title":"\u5728\u5de5\u4f5c\u96c6\u7fa4\u5b89\u88c5 Insight Agent","text":"\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\u64cd\u4f5c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528 Nodeport

                                        \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528\u9ed8\u8ba4\u7684 LoadBalancer \u65b9\u5f0f\u66b4\u9732\u670d\u52a1\u65f6\uff0c\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                        export INSIGHT_SERVER_IP=$(kubectl get service insight-server -n insight-system --output=jsonpath={.spec.clusterIP})\ncurl --location --request POST 'http://'\"${INSIGHT_SERVER_IP}\"'/apis/insight.io/v1alpha1/agentinstallparam'\n

                                        \u5c06\u83b7\u5f97\u5982\u4e0b\u7684\u8fd4\u56de\u503c\uff1a

                                        {\"global\":{\"exporters\":{\"logging\":{\"output\":\"elasticsearch\",\"elasticsearch\":{\"host\":\"10.6.182.32\"},\"kafka\":{},\"host\":\"10.6.182.32\"},\"metric\":{\"host\":\"10.6.182.32\"},\"auditLog\":    {\"host\":\"10.6.182.32\"}}},\"opentelemetry-operator\":{\"enabled\":true},\"opentelemetry-collector\":{\"enabled\":true}}\n

                                        \u5176\u4e2d\uff1a

                                        • global.exporters.logging.elasticsearch.host \u662f\u65e5\u5fd7\u670d\u52a1\u5730\u5740\u3010\u4e0d\u9700\u8981\u518d\u8bbe\u7f6e\u5bf9\u5e94\u670d\u52a1\u7684\u7aef\u53e3\uff0c\u90fd\u4f1a\u4f7f\u7528\u76f8\u5e94\u9ed8\u8ba4\u503c\u3011\uff1b
                                        • global.exporters.metric.host \u662f\u6307\u6807\u670d\u52a1\u5730\u5740\uff1b
                                        • global.exporters.trace.host \u662f\u94fe\u8def\u670d\u52a1\u5730\u5740\uff1b
                                        • global.exporters.auditLog.host \u662f\u5ba1\u8ba1\u65e5\u5fd7\u670d\u52a1\u5730\u5740 (\u548c\u94fe\u8def\u4f7f\u7528\u7684\u540c\u4e00\u4e2a\u670d\u52a1\u4e0d\u540c\u7aef\u53e3)\uff1b

                                        \u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                        kubectl get service -n insight-system | grep lb\nkubectl get service -n mcamel-system | grep es\n

                                        \u5176\u4e2d\uff1a

                                        • lb-vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740\uff1b
                                        • lb-insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740;
                                        • mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740;

                                        \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4f7f\u7528 Nodeport \u65b9\u5f0f\u66b4\u9732\u670d\u52a1\u65f6\uff0c\u767b\u5f55\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                        kubectl get service -n insight-system\nkubectl get service -n mcamel-system\n

                                        \u5176\u4e2d\uff1a

                                        • vminsert-insight-victoria-metrics-k8s-stack \u662f\u6307\u6807\u670d\u52a1\u7684\u5730\u5740\uff1b
                                        • insight-opentelemetry-collector \u662f\u94fe\u8def\u670d\u52a1\u7684\u5730\u5740;
                                        • mcamel-common-es-cluster-masters-es-http \u662f\u65e5\u5fd7\u670d\u52a1\u7684\u5730\u5740;
                                        "},{"location":"end-user/insight/quickstart/install/helm-installagent.html#insight-agent_3","title":"\u5347\u7ea7 Insight Agent","text":"
                                        1. \u767b\u5f55\u76ee\u6807\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5907\u4efd --set \u53c2\u6570\u3002

                                          helm get values insight-agent -n insight-system -o yaml > insight-agent.yaml\n
                                        2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0\u4ed3\u5e93\u3002

                                          helm repo upgrade\n
                                        3. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u8fdb\u884c\u5347\u7ea7\u3002

                                          helm upgrade insight-agent insight/insight-agent \\\n-n insight-system \\\n-f ./insight-agent.yaml \\\n--version ${version}   # \u6307\u5b9a\u5347\u7ea7\u7248\u672c\n
                                        4. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u5b89\u88c5\u72b6\u6001\uff1a

                                          kubectl get pods -n insight-system\n
                                        "},{"location":"end-user/insight/quickstart/install/helm-installagent.html#insight-agent_4","title":"\u5378\u8f7d Insight Agent","text":"
                                        helm uninstall insight-agent -n insight-system --timeout 10m\n
                                        "},{"location":"end-user/insight/quickstart/install/install-agent.html","title":"\u5728\u7ebf\u5b89\u88c5 insight-agent","text":"

                                        insight-agent \u662f\u96c6\u7fa4\u89c2\u6d4b\u6570\u636e\u91c7\u96c6\u7684\u63d2\u4ef6\uff0c\u652f\u6301\u5bf9\u6307\u6807\u3001\u94fe\u8def\u3001\u65e5\u5fd7\u6570\u636e\u7684\u7edf\u4e00\u89c2\u6d4b\u3002\u672c\u6587\u63cf\u8ff0\u4e86\u5982\u4f55\u5728\u5728\u7ebf\u73af\u5883\u4e2d\u4e3a\u63a5\u5165\u96c6\u7fa4\u5b89\u88c5 insight-agent\u3002

                                        "},{"location":"end-user/insight/quickstart/install/install-agent.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u96c6\u7fa4\u5df2\u6210\u529f\u63a5\u5165 \u5bb9\u5668\u7ba1\u7406 \u6a21\u5757\u3002\u5982\u4f55\u63a5\u5165\u96c6\u7fa4\uff0c\u8bf7\u53c2\u8003\uff1a\u63a5\u5165\u96c6\u7fa4
                                        "},{"location":"end-user/insight/quickstart/install/install-agent.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u6a21\u5757\uff0c\u5728 \u96c6\u7fa4\u5217\u8868 \u4e2d\u627e\u5230\u8981\u5b89\u88c5 insight-agent \u7684\u96c6\u7fa4\u540d\u79f0\u3002

                                        2. \u9009\u62e9 \u7acb\u5373\u5b89\u88c5 \u8df3\u8f6c\uff0c\u6216\u70b9\u51fb\u96c6\u7fa4\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u5185\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u641c\u7d22\u6846\u67e5\u8be2 insight-agent \uff0c\u70b9\u51fb\u8be5\u5361\u7247\u8fdb\u5165\u8be6\u60c5\u3002

                                        3. \u67e5\u770b insight-agent \u7684\u5b89\u88c5\u9875\u9762\uff0c\u70b9\u51fb \u5b89\u88c5 \u8fdb\u5165\u4e0b\u4e00\u6b65\u3002

                                        4. \u9009\u62e9\u5b89\u88c5\u7684\u7248\u672c\u5e76\u5728\u4e0b\u65b9\u8868\u5355\u5206\u522b\u586b\u5199\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u5bf9\u5e94\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\u7684\u5730\u5740\uff0c\u786e\u8ba4\u586b\u5199\u7684\u4fe1\u606f\u65e0\u8bef\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                          • insight-agent \u9ed8\u8ba4\u90e8\u7f72\u5728\u96c6\u7fa4\u7684 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u3002
                                          • \u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7248\u672c\u7684 insight-agent\u3002
                                          • \u7cfb\u7edf\u9ed8\u8ba4\u5df2\u586b\u5199\u6570\u636e\u4e0a\u62a5\u7684\u7ec4\u4ef6\u7684\u5730\u5740\uff0c\u4ecd\u8bf7\u60a8\u68c0\u67e5\u65e0\u8bef\u540e\u518d\u70b9\u51fb \u786e\u5b9a \u8fdb\u884c\u5b89\u88c5\u3002 \u5982\u9700\u4fee\u6539\u6570\u636e\u4e0a\u62a5\u5730\u5740\uff0c\u8bf7\u53c2\u8003\uff1a\u83b7\u53d6\u6570\u636e\u4e0a\u62a5\u5730\u5740\u3002

                                        5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de\u00a0 Helm \u5e94\u7528 \u5217\u8868\uff0c\u5f53\u5e94\u7528 insight-agent \u7684\u72b6\u6001\u4ece\u00a0 \u672a\u5c31\u7eea \u53d8\u4e3a \u5df2\u90e8\u7f72 \uff0c\u4e14\u6240\u6709\u7684\u7ec4\u4ef6\u72b6\u6001\u4e3a \u8fd0\u884c\u4e2d \u65f6\uff0c\u5219\u5b89\u88c5\u6210\u529f\u3002\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u53ef\u5728 \u53ef\u89c2\u6d4b\u6027 \u6a21\u5757\u67e5\u770b\u8be5\u96c6\u7fa4\u7684\u6570\u636e\u3002

                                        Note

                                        • \u70b9\u51fb\u6700\u53f3\u4fa7\u7684 \u2507 \uff0c\u60a8\u53ef\u4ee5\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u6267\u884c\u66f4\u591a\u64cd\u4f5c\uff0c\u5982 \u66f4\u65b0 \u3001 \u67e5\u770b YAML \u548c \u5220\u9664 \u3002
                                        "},{"location":"end-user/insight/quickstart/install/knownissues.html","title":"\u5df2\u77e5\u95ee\u9898","text":"

                                        \u672c\u9875\u5217\u51fa\u4e00\u4e9b Insight Agent \u5b89\u88c5\u548c\u5378\u8f7d\u6709\u5173\u7684\u95ee\u9898\u53ca\u5176\u89e3\u51b3\u529e\u6cd5\u3002

                                        "},{"location":"end-user/insight/quickstart/install/knownissues.html#v0230","title":"v0.23.0","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#insight-agent","title":"Insight Agent","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#insight-agent_1","title":"Insight Agent \u5378\u8f7d\u5931\u8d25","text":"

                                        \u5f53\u4f60\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5378\u8f7d Insight Agent \u65f6\u3002

                                        helm uninstall insight-agent -n insight-system\n

                                        otel-oprator \u6240\u4f7f\u7528\u7684 tls secret \u672a\u88ab\u5378\u8f7d\u6389\u3002

                                        otel-operator \u5b9a\u4e49\u7684\u201c\u91cd\u590d\u5229\u7528 tls secret\u201d\u7684\u903b\u8f91\u4e2d\uff0c\u4f1a\u53bb\u5224\u65ad otel-oprator \u7684 MutationConfiguration \u662f\u5426\u5b58\u5728\u5e76\u91cd\u590d\u5229\u7528 MutationConfiguration \u4e2d\u7ed1\u5b9a\u7684 CA cert\u3002\u4f46\u662f\u7531\u4e8e helm uninstall \u5df2\u5378\u8f7d MutationConfiguration\uff0c\u5bfc\u81f4\u51fa\u73b0\u7a7a\u503c\u3002

                                        \u7efc\u4e0a\u8bf7\u624b\u52a8\u5220\u9664\u5bf9\u5e94\u7684 secret\uff0c\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\u4efb\u9009\u4e00\u79cd\u5373\u53ef\uff1a

                                        • \u901a\u8fc7\u547d\u4ee4\u884c\u5220\u9664\uff1a\u767b\u5f55\u76ee\u6807\u96c6\u7fa4\u7684\u63a7\u5236\u53f0\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                          kubectl -n insight-system delete secret insight-agent-opentelemetry-operator-controller-manager-service-cert\n
                                        • \u901a\u8fc7 UI \u5220\u9664\uff1a\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5bb9\u5668\u7ba1\u7406\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u8fdb\u5165\u5bc6\u94a5\uff0c\u8f93\u5165 insight-agent-opentelemetry-operator-controller-manager-service-cert\uff0c\u9009\u62e9\u5220\u9664\u3002

                                        "},{"location":"end-user/insight/quickstart/install/knownissues.html#v0220","title":"v0.22.0","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#insight-agent_2","title":"Insight Agent","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#insight-agent_3","title":"\u5347\u7ea7 Insight Agent \u65f6\u66f4\u65b0\u65e5\u5fd7\u6536\u96c6\u7aef\uff0c\u672a\u751f\u6548","text":"

                                        \u66f4\u65b0 insight-agent \u65e5\u5fd7\u914d\u7f6e\u4ece elasticsearch \u6539\u4e3a kafka \u6216\u8005\u4ece kafka \u6539\u4e3a elasticsearch\uff0c\u5b9e\u9645\u4e0a\u90fd\u672a\u751f\u6548\uff0c\u8fd8\u662f\u4f7f\u7528\u66f4\u65b0\u524d\u914d\u7f6e\u3002

                                        \u89e3\u51b3\u65b9\u6848 \uff1a

                                        \u624b\u52a8\u91cd\u542f\u96c6\u7fa4\u4e2d\u7684 fluentbit\u3002

                                        "},{"location":"end-user/insight/quickstart/install/knownissues.html#v0210","title":"v0.21.0","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#insight-agent_4","title":"Insight Agent","text":""},{"location":"end-user/insight/quickstart/install/knownissues.html#podmonitor-jvm","title":"PodMonitor \u91c7\u96c6\u591a\u4efd JVM \u6307\u6807\u6570\u636e","text":"
                                        1. \u8fd9\u4e2a\u7248\u672c\u7684 PodMonitor/insight-kubernetes-pod \u5b58\u5728\u7f3a\u9677\uff1a\u4f1a\u9519\u8bef\u5730\u521b\u5efa Job \u53bb\u91c7\u96c6\u6807\u8bb0\u4e86 insight.opentelemetry.io/metric-scrape=true \u7684 Pod \u7684\u6240\u6709 container\uff1b\u800c\u5b9e\u9645\u4e0a\u53ea\u9700\u91c7\u96c6 insight.opentelemetry.io/metric-port \u6240\u5bf9\u5e94 container \u7684\u7aef\u53e3\u3002

                                        2. \u56e0\u4e3a PodMonitor \u58f0\u660e\u4e4b\u540e\uff0cPromethuesOperator \u4f1a\u9884\u8bbe\u7f6e\u4e00\u4e9b\u670d\u52a1\u53d1\u73b0\u914d\u7f6e\u3002 \u518d\u8003\u8651\u5230 CRD \u7684\u517c\u5bb9\u6027\u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u653e\u5f03\u901a\u8fc7 PodMonitor \u6765\u914d\u7f6e\u901a\u8fc7 annotation \u521b\u5efa\u91c7\u96c6\u4efb\u52a1\u7684\u673a\u5236\u3002

                                        3. \u901a\u8fc7 Prometheus \u81ea\u5e26\u7684 additional scrape config \u673a\u5236\uff0c\u5c06\u670d\u52a1\u53d1\u73b0\u89c4\u5219\u914d\u7f6e\u5728 secret \u4e2d\uff0c\u5728\u5f15\u5165 Prometheus \u91cc\u3002

                                        \u7efc\u4e0a\uff1a

                                        1. \u5220\u9664\u8fd9\u4e2a PodMonitor \u7684\u5f53\u524d insight-kubernetes-pod
                                        2. \u4f7f\u7528\u65b0\u7684\u89c4\u5219

                                        \u65b0\u7684\u89c4\u5219\u91cc\u901a\u8fc7 action: keepequal \u6765\u6bd4\u8f83 source_labels \u548c target_label \u7684\u4e00\u81f4\u6027\uff0c \u6765\u5224\u65ad\u662f\u5426\u8981\u7ed9\u67d0\u4e2a container \u7684 port \u521b\u5efa\u91c7\u96c6\u4efb\u52a1\u3002\u9700\u8981\u6ce8\u610f\uff0c\u8fd9\u4e2a\u662f Prometheus 2.41.0\uff082022-12-20\uff09\u548c\u66f4\u9ad8\u7248\u672c\u624d\u5177\u5907\u7684\u529f\u80fd\u3002

                                        +    - source_labels: [__meta_kubernetes_pod_annotation_insight_opentelemetry_io_metric_port]\n+      separator: ;\n+      target_label: __meta_kubernetes_pod_container_port_number\n+      action: keepequal\n
                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html","title":"\u5347\u7ea7\u6ce8\u610f\u4e8b\u9879","text":"

                                        \u672c\u9875\u4ecb\u7ecd\u4e00\u4e9b\u5347\u7ea7 insight-server \u548c insight-agent \u7684\u6ce8\u610f\u4e8b\u9879\u3002

                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#insight-agent","title":"insight-agent","text":""},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v028x-v029x","title":"\u4ece v0.28.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.29.x","text":"

                                        \u7531\u4e8e v0.29.0 \u5347\u7ea7\u4e86 Opentelemetry \u793e\u533a\u7684 operator chart \u7248\u672c\uff0cvalues \u4e2d\u7684 featureGates \u7684\u652f\u6301\u7684\u503c\u6709\u6240\u53d8\u5316\uff0c\u56e0\u6b64\uff0c\u5728 upgrade \u4e4b\u524d\uff0c\u9700\u8981\u5c06 featureGates \u7684\u503c\u8bbe\u7f6e\u4e3a\u7a7a, \u5373\uff1a

                                        -  --set opentelemetry-operator.manager.featureGates=\"+operator.autoinstrumentation.go,+operator.autoinstrumentation.multi-instrumentation,+operator.autoinstrumentation.nginx\" \\\n+  --set opentelemetry-operator.manager.featureGates=\"\"\n
                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#insight-server","title":"insight-server","text":""},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v026x-v027x","title":"\u4ece v0.26.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.27.x \u6216\u66f4\u9ad8\u7248\u672c","text":"

                                        \u5728 v0.27.x \u7248\u672c\u4e2d\u5c06 vector \u7ec4\u4ef6\u7684\u5f00\u5173\u5355\u72ec\u62bd\u51fa\u3002\u6545\u539f\u6709\u73af\u5883\u5f00\u542f\u4e86 vector\uff0c\u90a3\u5728\u5347\u7ea7 insight-server \u65f6\uff0c\u9700\u8981\u6307\u5b9a --set vector.enabled=true \u3002

                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v019x-020x","title":"\u4ece v0.19.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 0.20.x","text":"

                                        \u5728\u5347\u7ea7 Insight \u4e4b\u524d\uff0c\u60a8\u9700\u8981\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u5220\u9664 jaeger-collector \u548c jaeger-query \u90e8\u7f72\uff1a

                                        kubectl -n insight-system delete deployment insight-jaeger-collector\nkubectl -n insight-system delete deployment insight-jaeger-query\n
                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v017x-v018x","title":"\u4ece v0.17.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.18.x","text":"

                                        \u7531\u4e8e 0.18.x \u4e2d\u66f4\u65b0\u4e86 Jaeger \u76f8\u5173\u90e8\u7f72\u6587\u4ef6\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-server \u524d\u624b\u52a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                                        kubectl -n insight-system delete deployment insight-jaeger-collector\nkubectl -n insight-system delete deployment insight-jaeger-query\n

                                        \u7531\u4e8e 0.18.x \u4e2d\u6307\u6807\u540d\u4ea7\u751f\u4e86\u53d8\u52a8\uff0c\u56e0\u6b64\uff0c\u9700\u8981\u5728\u5347\u7ea7 insight-server \u4e4b\u540e\uff0cinsight-agent \u4e5f\u5e94\u8be5\u505a\u5347\u7ea7\u3002

                                        \u6b64\u5916\uff0c\u8c03\u6574\u4e86\u5f00\u542f\u94fe\u8def\u6a21\u5757\u7684\u53c2\u6570\uff0c\u4ee5\u53ca ElasticSearch \u8fde\u63a5\u8c03\u6574\u3002\u5177\u4f53\u53c2\u8003\u4ee5\u4e0b\u53c2\u6570\uff1a

                                        +  --set global.tracing.enable=true \\\n-  --set jaeger.collector.enabled=true \\\n-  --set jaeger.query.enabled=true \\\n+  --set global.elasticsearch.scheme=${your-external-elasticsearch-scheme} \\\n+  --set global.elasticsearch.host=${your-external-elasticsearch-host} \\\n+  --set global.elasticsearch.port=${your-external-elasticsearch-port} \\\n+  --set global.elasticsearch.user=${your-external-elasticsearch-username} \\\n+  --set global.elasticsearch.password=${your-external-elasticsearch-password} \\\n-  --set jaeger.storage.elasticsearch.scheme=${your-external-elasticsearch-scheme} \\\n-  --set jaeger.storage.elasticsearch.host=${your-external-elasticsearch-host} \\\n-  --set jaeger.storage.elasticsearch.port=${your-external-elasticsearch-port} \\\n-  --set jaeger.storage.elasticsearch.user=${your-external-elasticsearch-username} \\\n-  --set jaeger.storage.elasticsearch.password=${your-external-elasticsearch-password} \\\n
                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v015x-v016x","title":"\u4ece v0.15.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.16.x","text":"

                                        \u7531\u4e8e 0.16.x \u4e2d\u4f7f\u7528\u4e86 vmalertmanagers CRD \u7684\u65b0\u7279\u6027\u53c2\u6570 disableRouteContinueEnforce\uff0c \u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-server \u524d\u624b\u52a8\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u3002

                                        kubectl apply --server-side -f https://raw.githubusercontent.com/VictoriaMetrics/operator/v0.33.0/config/crd/bases/operator.victoriametrics.com_vmalertmanagers.yaml --force-conflicts\n

                                        Note

                                        \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b Insight \u79bb\u7ebf\u5305\u540e\uff0c\u8bf7\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0 CRD\u3002

                                        kubectl apply --server-side -f insight/dependency-crds --force-conflicts \n
                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#insight-agent_1","title":"insight-agent","text":""},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v023x-v024x","title":"\u4ece v0.23.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.24.x","text":"

                                        \u7531\u4e8e 0.24.x \u7248\u672c\u4e2d OTEL operator chart \u4e2d\u65b0\u589e\u4e86 CRD\uff0c\u4f46\u7531\u4e8e Helm Upgrade \u65f6\u5e76\u4e0d\u4f1a\u66f4\u65b0 CRD\uff0c\u56e0\u6b64\uff0c\u9700\u8981\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                        kubectl apply -f https://raw.githubusercontent.com/open-telemetry/opentelemetry-helm-charts/main/charts/opentelemetry-operator/crds/crd-opentelemetry.io_opampbridges.yaml\n

                                        \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\u53ef\u627e\u5230\u4e0a\u8ff0 CRD \u7684 yaml\uff0c\u89e3\u538b Insight-Agent Chart \u4e4b\u540e\u624b\u52a8\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                        kubectl apply -f charts/agent/crds/crd-opentelemetry.io_opampbridges.yaml\n
                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v019x-v020x","title":"\u4ece v0.19.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.20.x","text":"

                                        \u7531\u4e8e 0.20.x \u4e2d\u589e\u52a0\u4e86 Kafka \u65e5\u5fd7\u5bfc\u51fa\u914d\u7f6e\uff0c\u65e5\u5fd7\u5bfc\u51fa\u914d\u7f6e\u505a\u4e86\u4e00\u4e9b\u8c03\u6574\u3002\u5347\u7ea7 insight-agent \u4e4b\u524d\u9700\u8981\u6ce8\u610f\u53c2\u6570\u53d8\u5316\uff0c \u5373\u539f\u6765 logging \u7684\u914d\u7f6e\u5df2\u7ecf\u79fb\u5230\u4e86\u914d\u7f6e\u4e2d logging.elasticsearch\uff1a

                                        -  --set global.exporters.logging.host \\\n-  --set global.exporters.logging.port \\\n+  --set global.exporters.logging.elasticsearch.host \\\n+  --set global.exporters.logging.elasticsearch.port \\\n
                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v017x-v018x_1","title":"\u4ece v0.17.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.18.x","text":"

                                        \u7531\u4e8e 0.18.x \u4e2d\u66f4\u65b0\u4e86 Jaeger \u76f8\u5173\u90e8\u7f72\u6587\u4ef6\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u9700\u8981\u6ce8\u610f\u53c2\u6570\u7684\u6539\u52a8\u3002

                                        +  --set global.exporters.trace.enable=true \\\n-  --set opentelemetry-collector.enabled=true \\\n-  --set opentelemetry-operator.enabled=true \\\n
                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v016x-v017x","title":"\u4ece v0.16.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.17.x","text":"

                                        \u5728 v0.17.x \u7248\u672c\u4e2d\u5c06 kube-prometheus-stack chart \u7248\u672c\u4ece 41.9.1 \u5347\u7ea7\u81f3 45.28.1, \u5176\u4e2d\u4f7f\u7528\u7684 CRD \u4e5f\u5b58\u5728\u4e00\u4e9b\u5b57\u6bb5\u7684\u5347\u7ea7\uff0c\u5982 servicemonitor \u7684 attachMetadata \u5b57\u6bb5\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                                        kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.65.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml --force-conflicts\n

                                        \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\uff0c\u5728 insight-agent/dependency-crds \u4e2d\u627e\u5230\u4e0a\u8ff0 CRD \u7684 yaml\u3002

                                        "},{"location":"end-user/insight/quickstart/install/upgrade-note.html#v011x-v012x","title":"\u4ece v0.11.x\uff08\u6216\u66f4\u4f4e\u7248\u672c\uff09\u5347\u7ea7\u5230 v0.12.x","text":"

                                        \u5728 v0.12.x \u5c06 kube-prometheus-stack chart \u4ece 39.6.0 \u5347\u7ea7\u5230 41.9.1\uff0c\u5176\u4e2d\u5305\u62ec prometheus-operator \u5347\u7ea7\u5230 v0.60.1, prometheus-node-exporter chart \u5347\u7ea7\u5230 4.3.0 \u7b49\u3002 prometheus-node-exporter \u5347\u7ea7\u540e\u4f7f\u7528\u4e86 Kubernetes \u63a8\u8350 label\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7\u524d\u5220\u9664 node-exporter \u7684 DaemonSet\u3002 prometheus-operator \u66f4\u65b0\u4e86 CRD\uff0c\u56e0\u6b64\u9700\u8981\u5728\u5347\u7ea7 insight-agent \u524d\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                                        kubectl delete daemonset insight-agent-prometheus-node-exporter -n insight-system\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml --force-conflicts\nkubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.60.1/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml --force-conflicts\n

                                        Note

                                        \u5982\u60a8\u662f\u79bb\u7ebf\u5b89\u88c5\uff0c\u53ef\u4ee5\u5728\u89e3\u538b insight-agent \u79bb\u7ebf\u5305\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0 CRD\u3002

                                        kubectl apply --server-side -f insight-agent/dependency-crds --force-conflicts\n
                                        "},{"location":"end-user/insight/quickstart/otel/operator.html","title":"\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a","text":"

                                        \u76ee\u524d\u53ea\u6709 Java\u3001NodeJs\u3001Python\u3001.Net\u3001Golang \u652f\u6301 Operator \u7684\u65b9\u5f0f\u65e0\u4fb5\u5165\u63a5\u5165\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/operator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u8bf7\u786e\u4fdd insight-agent \u5df2\u7ecf\u5c31\u7eea\u3002\u5982\u82e5\u6ca1\u6709\uff0c\u8bf7\u53c2\u8003\u5b89\u88c5 insight-agent \u91c7\u96c6\u6570\u636e\u5e76\u786e\u4fdd\u4ee5\u4e0b\u4e09\u9879\u5c31\u7eea\uff1a

                                        • \u4e3a insight-agent \u5f00\u542f trace \u529f\u80fd
                                        • trace \u6570\u636e\u7684\u5730\u5740\u4ee5\u53ca\u7aef\u53e3\u662f\u5426\u586b\u5199\u6b63\u786e
                                        • deployment/insight-agent-opentelemetry-operator \u548c deployment/insight-agent-opentelemetry-collector \u5bf9\u5e94\u7684 Pod \u5df2\u7ecf\u51c6\u5907\u5c31\u7eea
                                        "},{"location":"end-user/insight/quickstart/otel/operator.html#instrumentation-cr","title":"\u5b89\u88c5 Instrumentation CR","text":"

                                        Tip

                                        \u4ece Insight v0.22.0 \u5f00\u59cb\uff0c\u4e0d\u518d\u9700\u8981\u624b\u52a8\u5b89\u88c5 Instrumentation CR\u3002

                                        \u5728 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\u5b89\u88c5\uff0c\u4e0d\u540c\u7248\u672c\u4e4b\u95f4\u6709\u4e00\u4e9b\u7ec6\u5c0f\u7684\u5dee\u522b\u3002

                                        Insight v0.21.xInsight v0.20.xInsight v0.18.xInsight v0.17.xInsight v0.16.x
                                        K8S_CLUSTER_UID=$(kubectl get namespace kube-system -o jsonpath='{.metadata.uid}')\nkubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/openinsight-proj/autoinstrumentation-java:1.31.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n      - name: OTEL_K8S_CLUSTER_UID\n        value: $K8S_CLUSTER_UID\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
                                        kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.29.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0-rc.2\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
                                        kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.25.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.37.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.38b0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.1-alpha\nEOF\n
                                        kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.23.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.34.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.33b0\nEOF\n
                                        kubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.23.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.34.0\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.33b0\nEOF\n
                                        "},{"location":"end-user/insight/quickstart/otel/operator.html#_2","title":"\u4e0e\u670d\u52a1\u7f51\u683c\u94fe\u8def\u4e32\u8054\u573a\u666f","text":"

                                        \u5982\u679c\u60a8\u5f00\u542f\u4e86\u670d\u52a1\u7f51\u683c\u7684\u94fe\u8def\u8ffd\u8e2a\u80fd\u529b\uff0c\u9700\u8981\u989d\u5916\u589e\u52a0\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u6ce8\u5165\u7684\u914d\u7f6e\uff1a

                                        "},{"location":"end-user/insight/quickstart/otel/operator.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4\u5982\u4e0b","text":"
                                        1. \u767b\u5f55 DCE5.0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 \u540e\u9009\u62e9\u8fdb\u5165\u76ee\u6807\u96c6\u7fa4\uff0c
                                        2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u9009\u62e9 \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u627e\u5230 instrumentations.opentelemetry.io \u540e\u8fdb\u5165\u8be6\u60c5\u9875\u3002
                                        3. \u9009\u62e9 insight-system \u547d\u540d\u7a7a\u95f4\u540e\uff0c\u7f16\u8f91 insight-opentelemetry-autoinstrumentation \uff0c\u5728 spec:env: \u4e0b\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a

                                              - name: OTEL_SERVICE_NAME\n      valueFrom:\n        fieldRef:\n          fieldPath: metadata.labels['app'] \n

                                          \u5b8c\u6574\u7684\u547d\u4ee4\u5982\u4e0b\uff08For Insight v0.21.x\uff09\uff1a

                                          K8S_CLUSTER_UID=$(kubectl get namespace kube-system -o jsonpath='{.metadata.uid}')\nkubectl apply -f - <<EOF\napiVersion: opentelemetry.io/v1alpha1\nkind: Instrumentation\nmetadata:\n  name: insight-opentelemetry-autoinstrumentation\n  namespace: insight-system\nspec:\n  # https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentationspecresource\n  resource:\n    addK8sUIDAttributes: true\n  env:\n    - name: OTEL_EXPORTER_OTLP_ENDPOINT\n      value: http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\n    - name: OTEL_SERVICE_NAME\n      valueFrom:\n        fieldRef:\n          fieldPath: metadata.labels['app'] \n  sampler:\n    # Enum: always_on, always_off, traceidratio, parentbased_always_on, parentbased_always_off, parentbased_traceidratio, jaeger_remote, xray\n    type: always_on\n  java:\n    image: ghcr.m.daocloud.io/openinsight-proj/autoinstrumentation-java:1.31.0\n    env:\n      - name: OTEL_JAVAAGENT_DEBUG\n        value: \"false\"\n      - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n        value: \"true\"\n      - name: SPLUNK_PROFILER_ENABLED\n        value: \"false\"\n      - name: OTEL_METRICS_EXPORTER\n        value: \"prometheus\"\n      - name: OTEL_METRICS_EXPORTER_PORT\n        value: \"9464\"\n      - name: OTEL_K8S_CLUSTER_UID\n        value: $K8S_CLUSTER_UID\n  nodejs:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.41.1\n  python:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-python:0.40b0\n  dotnet:\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-dotnet:1.0.0\n  go:\n    # Must set the default value manually for now.\n    # See https://github.com/open-telemetry/opentelemetry-operator/issues/1756 for details.\n    image: ghcr.m.daocloud.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.2.2-alpha\nEOF\n
                                        "},{"location":"end-user/insight/quickstart/otel/operator.html#_4","title":"\u6dfb\u52a0\u6ce8\u89e3\uff0c\u81ea\u52a8\u63a5\u5165\u94fe\u8def","text":"

                                        \u4ee5\u4e0a\u5c31\u7eea\u4e4b\u540e\uff0c\u60a8\u5c31\u53ef\u4ee5\u901a\u8fc7\u6ce8\u89e3\uff08Annotation\uff09\u65b9\u5f0f\u4e3a\u5e94\u7528\u7a0b\u5e8f\u63a5\u5165\u94fe\u8def\u8ffd\u8e2a\u4e86\uff0cOTel \u76ee\u524d\u652f\u6301\u901a\u8fc7\u6ce8\u89e3\u7684\u65b9\u5f0f\u63a5\u5165\u94fe\u8def\u3002 \u6839\u636e\u670d\u52a1\u8bed\u8a00\uff0c\u9700\u8981\u6dfb\u52a0\u4e0a\u4e0d\u540c\u7684 pod annotations\u3002\u6bcf\u4e2a\u670d\u52a1\u53ef\u6dfb\u52a0\u4e24\u7c7b\u6ce8\u89e3\u4e4b\u4e00\uff1a

                                        • \u53ea\u6ce8\u5165\u73af\u5883\u53d8\u91cf\u6ce8\u89e3

                                          \u8fd9\u7c7b\u6ce8\u89e3\u53ea\u6709\u4e00\u4e2a\uff0c\u7528\u4e8e\u6dfb\u52a0 otel \u76f8\u5173\u7684\u73af\u5883\u53d8\u91cf\uff0c\u6bd4\u5982\u94fe\u8def\u4e0a\u62a5\u5730\u5740\u3001\u5bb9\u5668\u6240\u5728\u7684\u96c6\u7fa4 id\u3001\u547d\u540d\u7a7a\u95f4\u7b49\uff08\u8fd9\u4e2a\u6ce8\u89e3\u5728\u5e94\u7528\u4e0d\u652f\u6301\u81ea\u52a8\u63a2\u9488\u8bed\u8a00\u65f6\u5341\u5206\u6709\u7528\uff09

                                          instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                                          \u5176\u4e2d value \u88ab / \u5206\u6210\u4e24\u90e8\u5206\uff0c\u7b2c\u4e00\u4e2a\u503c (insight-system) \u662f\u4e0a\u4e00\u6b65\u5b89\u88c5\u7684 CR \u7684\u547d\u540d\u7a7a\u95f4\uff0c \u7b2c\u4e8c\u4e2a\u503c (insight-opentelemetry-autoinstrumentation) \u662f\u8fd9\u4e2a CR \u7684\u540d\u5b57\u3002

                                        • \u81ea\u52a8\u63a2\u9488\u6ce8\u5165\u4ee5\u53ca\u73af\u5883\u53d8\u91cf\u6ce8\u5165\u6ce8\u89e3

                                          \u8fd9\u7c7b\u6ce8\u89e3\u76ee\u524d\u6709 4 \u4e2a\uff0c\u5206\u522b\u5bf9\u5e94 4 \u79cd\u4e0d\u540c\u7684\u7f16\u7a0b\u8bed\u8a00\uff1ajava\u3001nodejs\u3001python\u3001dotnet\uff0c \u4f7f\u7528\u5b83\u540e\u5c31\u4f1a\u5bf9 spec.pod \u4e0b\u7684\u7b2c\u4e00\u4e2a\u5bb9\u5668\u6ce8\u5165\u81ea\u52a8\u63a2\u9488\u4ee5\u53ca otel \u9ed8\u8ba4\u73af\u5883\u53d8\u91cf\uff1a

                                          Java \u5e94\u7528NodeJs \u5e94\u7528Python \u5e94\u7528Dotnet \u5e94\u7528Golang \u5e94\u7528
                                          instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                                          instrumentation.opentelemetry.io/inject-nodejs: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                                          instrumentation.opentelemetry.io/inject-python: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                                          instrumentation.opentelemetry.io/inject-dotnet: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                                          \u7531\u4e8e Go \u81ea\u52a8\u68c0\u6d4b\u9700\u8981\u8bbe\u7f6e OTEL_GO_AUTO_TARGET_EXE\uff0c \u56e0\u6b64\u60a8\u5fc5\u987b\u901a\u8fc7\u6ce8\u89e3\u6216 Instrumentation \u8d44\u6e90\u63d0\u4f9b\u6709\u6548\u7684\u53ef\u6267\u884c\u8def\u5f84\u3002\u672a\u8bbe\u7f6e\u6b64\u503c\u4f1a\u5bfc\u81f4 Go \u81ea\u52a8\u68c0\u6d4b\u6ce8\u5165\u4e2d\u6b62\uff0c\u4ece\u800c\u5bfc\u81f4\u63a5\u5165\u94fe\u8def\u5931\u8d25\u3002

                                          instrumentation.opentelemetry.io/inject-go: \"insight-system/insight-opentelemetry-autoinstrumentation\"\ninstrumentation.opentelemetry.io/otel-go-auto-target-exe: \"/path/to/container/executable\"\n

                                          Go \u81ea\u52a8\u68c0\u6d4b\u4e5f\u9700\u8981\u63d0\u5347\u6743\u9650\u3002\u4ee5\u4e0b\u6743\u9650\u662f\u81ea\u52a8\u8bbe\u7f6e\u7684\u5e76\u4e14\u662f\u5fc5\u9700\u7684\u3002

                                          securityContext:\n  privileged: true\n  runAsUser: 0\n

                                        Tip

                                        OpenTelemetry Operator \u5728\u6ce8\u5165\u63a2\u9488\u65f6\u4f1a\u81ea\u52a8\u6dfb\u52a0\u4e00\u4e9b OTel \u76f8\u5173\u73af\u5883\u53d8\u91cf\uff0c\u540c\u65f6\u4e5f\u652f\u6301\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\u7684\u8986\u76d6\u3002\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\u7684\u8986\u76d6\u4f18\u5148\u7ea7\uff1a

                                        original container env vars -> language specific env vars -> common env vars -> instrument spec configs' vars\n

                                        \u4f46\u662f\u9700\u8981\u907f\u514d\u624b\u52a8\u8986\u76d6 OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\uff0c\u5b83\u5728 Operator \u5185\u90e8\u4f5c\u4e3a\u4e00\u4e2a Pod \u662f\u5426\u5df2\u7ecf\u6ce8\u5165\u63a2\u9488\u7684\u6807\u8bc6\uff0c\u5982\u679c\u624b\u52a8\u6dfb\u52a0\u4e86\uff0c\u63a2\u9488\u53ef\u80fd\u65e0\u6cd5\u6ce8\u5165\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/operator.html#demo","title":"\u81ea\u52a8\u6ce8\u5165\u793a\u4f8b Demo","text":"

                                        \u6ce8\u610f\u8fd9\u4e2a annotations \u662f\u52a0\u5728 spec.annotations \u4e0b\u7684\u3002

                                        apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-app\n  labels:\n    app: my-app\nspec:\n  selector:\n    matchLabels:\n      app: my-app\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app: my-app\n      annotations:\n        instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n    spec:\n      containers:\n      - name: myapp\n        image: jaegertracing/vertx-create-span:operator-e2e-tests\n        ports:\n          - containerPort: 8080\n            protocol: TCP\n

                                        \u6700\u7ec8\u751f\u6210\u7684 YAML \u5185\u5bb9\u5982\u4e0b\uff1a

                                        apiVersion: v1\nkind: Pod\nmetadata:\n  name: my-deployment-with-sidecar-565bd877dd-nqkk6\n  generateName: my-deployment-with-sidecar-565bd877dd-\n  namespace: default\n  uid: aa89ca0d-620c-4d20-8bc1-37d67bad4ea4\n  resourceVersion: '2668986'\n  creationTimestamp: '2022-04-08T05:58:48Z'\n  labels:\n    app: my-pod-with-sidecar\n    pod-template-hash: 565bd877dd\n  annotations:\n    cni.projectcalico.org/containerID: 234eae5e55ea53db2a4bc2c0384b9a1021ed3908f82a675e4a92a49a7e80dd61\n    cni.projectcalico.org/podIP: 192.168.134.133/32\n    cni.projectcalico.org/podIPs: 192.168.134.133/32\n    instrumentation.opentelemetry.io/inject-java: \"insight-system/insight-opentelemetry-autoinstrumentation\"\nspec:\n  volumes:\n    - name: kube-api-access-sp2mz\n      projected:\n        sources:\n          - serviceAccountToken:\n              expirationSeconds: 3607\n              path: token\n          - configMap:\n              name: kube-root-ca.crt\n              items:\n                - key: ca.crt\n                  path: ca.crt\n          - downwardAPI:\n              items:\n                - path: namespace\n                  fieldRef:\n                    apiVersion: v1\n                    fieldPath: metadata.namespace\n        defaultMode: 420\n    - name: opentelemetry-auto-instrumentation\n      emptyDir: {}\n  initContainers:\n    - name: opentelemetry-auto-instrumentation\n      image: >-\n        ghcr.m.daocloud.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java\n      command:\n        - cp\n        - /javaagent.jar\n        - /otel-auto-instrumentation/javaagent.jar\n      resources: {}\n      volumeMounts:\n        - name: opentelemetry-auto-instrumentation\n          mountPath: /otel-auto-instrumentation\n        - name: kube-api-access-sp2mz\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  containers:\n    - name: myapp\n      image: ghcr.io/pavolloffay/spring-petclinic:latest\n      env:\n        - name: OTEL_JAVAAGENT_DEBUG\n          value: 'true'\n        - name: OTEL_INSTRUMENTATION_JDBC_ENABLED\n          value: 'true'\n        - name: SPLUNK_PROFILER_ENABLED\n          value: 'false'\n        - name: JAVA_TOOL_OPTIONS\n          value: ' -javaagent:/otel-auto-instrumentation/javaagent.jar'\n        - name: OTEL_TRACES_EXPORTER\n          value: otlp\n        - name: OTEL_EXPORTER_OTLP_ENDPOINT\n          value: http://insight-agent-opentelemetry-collector.svc.cluster.local:4317\n        - name: OTEL_EXPORTER_OTLP_TIMEOUT\n          value: '20'\n        - name: OTEL_TRACES_SAMPLER\n          value: parentbased_traceidratio\n        - name: OTEL_TRACES_SAMPLER_ARG\n          value: '0.85'\n        - name: SPLUNK_TRACE_RESPONSE_HEADER_ENABLED\n          value: 'true'\n        - name: OTEL_SERVICE_NAME\n          value: my-deployment-with-sidecar\n        - name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: metadata.name\n        - name: OTEL_RESOURCE_ATTRIBUTES_POD_UID\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: metadata.uid\n        - name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n          valueFrom:\n            fieldRef:\n              apiVersion: v1\n              fieldPath: spec.nodeName\n        - name: OTEL_RESOURCE_ATTRIBUTES\n          value: >-\n            k8s.container.name=myapp,k8s.deployment.name=my-deployment-with-sidecar,k8s.deployment.uid=8de6929d-dda0-436c-bca1-604e9ca7ea4e,k8s.namespace.name=default,k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME),k8s.pod.uid=$(OTEL_RESOURCE_ATTRIBUTES_POD_UID),k8s.replicaset.name=my-deployment-with-sidecar-565bd877dd,k8s.replicaset.uid=190d5f6e-ba7f-4794-b2e6-390b5879a6c4\n        - name: OTEL_PROPAGATORS\n          value: jaeger,b3\n      resources: {}\n      volumeMounts:\n        - name: kube-api-access-sp2mz\n          readOnly: true\n          mountPath: /var/run/secrets/kubernetes.io/serviceaccount\n        - name: opentelemetry-auto-instrumentation\n          mountPath: /otel-auto-instrumentation\n      terminationMessagePath: /dev/termination-log\n      terminationMessagePolicy: File\n      imagePullPolicy: Always\n  restartPolicy: Always\n  terminationGracePeriodSeconds: 30\n  dnsPolicy: ClusterFirst\n  serviceAccountName: default\n  serviceAccount: default\n  nodeName: k8s-master3\n  securityContext:\n    runAsUser: 1000\n    runAsGroup: 3000\n    fsGroup: 2000\n  schedulerName: default-scheduler\n  tolerations:\n    - key: node.kubernetes.io/not-ready\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n    - key: node.kubernetes.io/unreachable\n      operator: Exists\n      effect: NoExecute\n      tolerationSeconds: 300\n  priority: 0\n  enableServiceLinks: true\n  preemptionPolicy: PreemptLowerPriority\n
                                        "},{"location":"end-user/insight/quickstart/otel/operator.html#_5","title":"\u94fe\u8def\u67e5\u8be2","text":"

                                        \u5982\u4f55\u67e5\u8be2\u5df2\u7ecf\u63a5\u5165\u7684\u670d\u52a1\uff0c\u53c2\u8003\u94fe\u8def\u67e5\u8be2\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/otel.html","title":"\u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027","text":"

                                        \u589e\u5f3a\u662f\u4f7f\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u80fd\u591f\u751f\u6210\u9065\u6d4b\u6570\u636e\u7684\u8fc7\u7a0b\u3002\u5373\u4e00\u4e9b\u53ef\u4ee5\u5e2e\u52a9\u60a8\u76d1\u89c6\u6216\u6d4b\u91cf\u5e94\u7528\u7a0b\u5e8f\u7684\u6027\u80fd\u548c\u72b6\u6001\u7684\u4e1c\u897f\u3002

                                        OpenTelemetry \u662f\u9886\u5148\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u4e3a\u4e3b\u8981\u7f16\u7a0b\u8bed\u8a00\u548c\u6d41\u884c\u6846\u67b6\u63d0\u4f9b\u68c0\u6d4b\u5e93\u3002\u5b83\u662f\u4e91\u539f\u751f\u8ba1\u7b97\u57fa\u91d1\u4f1a\u4e0b\u7684\u4e00\u4e2a\u9879\u76ee\uff0c\u5f97\u5230\u4e86\u793e\u533a\u5e9e\u5927\u8d44\u6e90\u7684\u652f\u6301\u3002 \u5b83\u4e3a\u91c7\u96c6\u7684\u6570\u636e\u63d0\u4f9b\u6807\u51c6\u5316\u7684\u6570\u636e\u683c\u5f0f\uff0c\u65e0\u9700\u96c6\u6210\u7279\u5b9a\u7684\u4f9b\u5e94\u5546\u3002

                                        Insight \u652f\u6301\u7528\u4e8e\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u7684 OpenTelemetry \u6765\u589e\u5f3a\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u3002

                                        \u672c\u6307\u5357\u4ecb\u7ecd\u4e86\u4f7f\u7528 OpenTelemetry \u8fdb\u884c\u9065\u6d4b\u589e\u5f3a\u7684\u57fa\u672c\u6982\u5ff5\u3002 OpenTelemetry \u8fd8\u6709\u4e00\u4e2a\u7531\u5e93\u3001\u63d2\u4ef6\u3001\u96c6\u6210\u548c\u5176\u4ed6\u6709\u7528\u5de5\u5177\u7ec4\u6210\u7684\u751f\u6001\u7cfb\u7edf\u6765\u6269\u5c55\u5b83\u3002 \u60a8\u53ef\u4ee5\u5728 Otel Registry \u4e2d\u627e\u5230\u8fd9\u4e9b\u8d44\u6e90\u3002

                                        \u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u5f00\u653e\u6807\u51c6\u5e93\u8fdb\u884c\u9065\u6d4b\u589e\u5f3a\uff0c\u5e76\u4f7f\u7528 Insight \u4f5c\u4e3a\u53ef\u89c2\u5bdf\u6027\u540e\u7aef\u6765\u6444\u53d6\u3001\u5206\u6790\u548c\u53ef\u89c6\u5316\u6570\u636e\u3002

                                        \u4e3a\u4e86\u589e\u5f3a\u60a8\u7684\u4ee3\u7801\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 OpenTelemetry \u4e3a\u7279\u5b9a\u8bed\u8a00\u63d0\u4f9b\u7684\u589e\u5f3a\u64cd\u4f5c\uff1a

                                        Insight \u76ee\u524d\u63d0\u4f9b\u4e86\u4f7f\u7528 OpenTelemetry \u589e\u5f3a .Net NodeJS\u3001Java\u3001Python \u548c Golang \u5e94\u7528\u7a0b\u5e8f\u7684\u7b80\u5355\u65b9\u6cd5\u3002\u8bf7\u9075\u5faa\u4ee5\u4e0b\u6307\u5357\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/otel.html#_1","title":"\u94fe\u8def\u589e\u5f3a","text":"
                                        • \u94fe\u8def\u63a5\u5165\u7684\u6700\u4f73\u5b9e\u8df5\uff1a\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a
                                        • \u4ee5 Go \u8bed\u8a00\u4e3a\u4f8b\u7684\u624b\u52a8\u57cb\u70b9\u63a5\u5165\uff1a\u4f7f\u7528 OpenTelemetry SDK \u589e\u5f3a Go \u5e94\u7528\u7a0b\u5e8f
                                        • \u5229\u7528 ebpf \u5b9e\u73b0 Go \u8bed\u8a00\u65e0\u4fb5\u5165\u63a2\u9488\uff08\u5b9e\u9a8c\u6027\u529f\u80fd\uff09
                                        "},{"location":"end-user/insight/quickstart/otel/send_tracing_to_insight.html","title":"\u5411 Insight \u53d1\u9001\u94fe\u8def\u6570\u636e","text":"

                                        \u6b64\u6587\u6863\u4e3b\u8981\u63cf\u8ff0\u5ba2\u6237\u5e94\u7528\u5982\u4f55\u81ea\u884c\u5c06\u94fe\u8def\u6570\u636e\u4e0a\u62a5\u7ed9 Insight\u3002\u4e3b\u8981\u5305\u542b\u5982\u4e0b\u4e24\u79cd\u573a\u666f\uff1a

                                        1. \u5ba2\u6237\u5e94\u7528\u901a\u8fc7 OTEL Agent/SDK \u4e0a\u62a5\u94fe\u8def\u7ed9 Insight
                                        2. \u901a\u8fc7 Opentelemtry Collector(\u7b80\u79f0 OTEL COL) \u5c06\u94fe\u8def\u8f6c\u53d1\u7ed9 Insight

                                        \u5728\u6bcf\u4e2a\u5df2\u5b89\u88c5 Insight Agent \u7684\u96c6\u7fa4\u4e2d\u90fd\u6709 insight-agent-otel-col \u7ec4\u4ef6\u7528\u4e8e\u7edf\u4e00\u63a5\u6536\u8be5\u96c6\u7fa4\u7684\u94fe\u8def\u6570\u636e\u3002 \u56e0\u6b64\uff0c\u8be5\u7ec4\u4ef6\u4f5c\u4e3a\u7528\u6237\u63a5\u5165\u4fa7\u7684\u5165\u53e3\uff0c\u9700\u8981\u5148\u83b7\u53d6\u8be5\u5730\u5740\u3002\u53ef\u4ee5\u901a\u8fc7 AI \u7b97\u529b\u4e2d\u5fc3 \u754c\u9762\u83b7\u53d6\u8be5\u96c6\u7fa4 Opentelemtry Collector \u7684\u5730\u5740\uff0c \u6bd4\u5982 insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 \uff1a

                                        \u9664\u6b64\u4e4b\u5916\uff0c\u9488\u5bf9\u4e0d\u540c\u4e0a\u62a5\u65b9\u5f0f\uff0c\u6709\u4e00\u4e9b\u7ec6\u5fae\u5dee\u522b\uff1a

                                        "},{"location":"end-user/insight/quickstart/otel/send_tracing_to_insight.html#otel-agentsdk-insight-agent-opentelemtry-collector","title":"\u5ba2\u6237\u5e94\u7528\u901a\u8fc7 OTel Agent/SDK \u4e0a\u62a5\u94fe\u8def\u7ed9 Insight Agent Opentelemtry Collector","text":"

                                        \u4e3a\u4e86\u80fd\u591f\u5c06\u94fe\u8def\u6570\u636e\u6b63\u5e38\u4e0a\u62a5\u81f3 Insight \u5e76\u80fd\u591f\u5728 Insight \u6b63\u5e38\u5c55\u793a\uff0c\u9700\u8981\u5e76\u5efa\u8bae\u901a\u8fc7\u5982\u4e0b\u73af\u5883\u53d8\u91cf\u63d0\u4f9b OTLP \u6240\u9700\u7684\u5143\u6570\u636e (Resource Attribute)\uff0c\u6709\u4e24\u79cd\u65b9\u5f0f\u53ef\u5b9e\u73b0\uff1a

                                        • \u5728\u90e8\u7f72\u6587\u4ef6 YAML \u4e2d\u624b\u52a8\u6dfb\u52a0\uff0c\u4f8b\u5982\uff1a

                                          ...\n- name: OTEL_EXPORTER_OTLP_ENDPOINT\n  value: \"http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317\"\n- name: \"OTEL_SERVICE_NAME\"\n  value: my-java-app-name\n- name: \"OTEL_K8S_NAMESPACE\"\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: metadata.namespace\n- name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: spec.nodeName\n- name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n  valueFrom:\n    fieldRef:\n      apiVersion: v1\n      fieldPath: metadata.name\n- name: OTEL_RESOURCE_ATTRIBUTES\n  value: \"k8s.namespace.name=$(OTEL_K8S_NAMESPACE),k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME)\"\n
                                        • \u5229\u7528 Insight Agent \u81ea\u52a8\u6ce8\u5165\u5982\u4e0a\u5143\u6570\u636e (Resource Attribute) \u80fd\u529b

                                          \u786e\u4fdd Insight Agent \u6b63\u5e38\u5de5\u4f5c\u5e76 \u5b89\u88c5 Instrumentation CR \u4e4b\u540e\uff0c \u53ea\u9700\u8981\u4e3a Pod \u6dfb\u52a0\u5982\u4e0b Annotation \u5373\u53ef\uff1a

                                          instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                                          \u4e3e\u4f8b\uff1a

                                          apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-deployment-with-aotu-instrumentation\nspec:\n  selector:\n    matchLabels:\n      app.kubernetes.io/name: my-deployment-with-aotu-instrumentation-kuberntes\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app.kubernetes.io/name: my-deployment-with-aotu-instrumentation-kuberntes\n      annotations:\n        sidecar.opentelemetry.io/inject: \"false\"\n        instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n
                                        "},{"location":"end-user/insight/quickstart/otel/send_tracing_to_insight.html#opentelemtry-collector-insight-agent-opentelemtry-collector","title":"\u901a\u8fc7 Opentelemtry Collector \u5c06\u94fe\u8def\u8f6c\u53d1\u7ed9 Insight Agent Opentelemtry Collector","text":"

                                        \u5728\u4fdd\u8bc1\u5e94\u7528\u6dfb\u52a0\u4e86\u5982\u4e0a\u5143\u6570\u636e\u4e4b\u540e\uff0c\u53ea\u9700\u5728\u5ba2\u6237 Opentelemtry Collector \u91cc\u9762\u65b0\u589e\u4e00\u4e2a OTLP Exporter \u5c06\u94fe\u8def\u6570\u636e\u8f6c\u53d1\u7ed9 Insight Agent Opentelemtry Collector \u5373\u53ef\uff0c\u5982\u4e0b Opentelemtry Collector \u914d\u7f6e\u6587\u4ef6\u6240\u793a\uff1a

                                        ...\nexporters:\n  otlp/insight:\n    endpoint: insight-opentelemetry-collector.insight-system.svc.cluster.local:4317\nservice:\n...\npipelines:\n...\ntraces:\n  exporters:\n    - otlp/insight\n
                                        "},{"location":"end-user/insight/quickstart/otel/send_tracing_to_insight.html#_1","title":"\u53c2\u8003","text":"
                                        • \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a
                                        • \u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html","title":"\u4f7f\u7528 OTel SDK \u589e\u5f3a Go \u5e94\u7528\u7a0b\u5e8f","text":"

                                        Golang \u65e0\u4fb5\u5165\u5f0f\u63a5\u5165\u94fe\u8def\u8bf7\u53c2\u8003 \u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u6587\u6863\uff0c\u901a\u8fc7\u6ce8\u89e3\u5b9e\u73b0\u81ea\u52a8\u63a5\u5165\u94fe\u8def\u3002

                                        OpenTelemetry \u4e5f\u7b80\u79f0\u4e3a OTel\uff0c\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u53ef\u89c2\u6d4b\u6027\u6846\u67b6\uff0c\u53ef\u4ee5\u5e2e\u52a9\u5728 Go \u5e94\u7528\u7a0b\u5e8f\u4e2d\u751f\u6210\u548c\u6536\u96c6\u9065\u6d4b\u6570\u636e\uff1a\u94fe\u8def\u3001\u6307\u6807\u548c\u65e5\u5fd7\u3002

                                        \u672c\u6587\u4e3b\u8981\u8bb2\u89e3\u5982\u4f55\u5728 Go \u5e94\u7528\u7a0b\u5e8f\u4e2d\u901a\u8fc7 OpenTelemetry Go SDK \u589e\u5f3a\u5e76\u63a5\u5165\u94fe\u8def\u76d1\u63a7\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#otel-sdk-go_1","title":"\u4f7f\u7528 OTel SDK \u589e\u5f3a Go \u5e94\u7528","text":""},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_1","title":"\u5b89\u88c5\u76f8\u5173\u4f9d\u8d56","text":"

                                        \u5fc5\u987b\u5148\u5b89\u88c5\u4e0e OpenTelemetry exporter \u548c SDK \u76f8\u5173\u7684\u4f9d\u8d56\u9879\u3002\u5982\u679c\u60a8\u6b63\u5728\u4f7f\u7528\u5176\u4ed6\u8bf7\u6c42\u8def\u7531\u5668\uff0c\u8bf7\u53c2\u8003\u8bf7\u6c42\u8def\u7531\u3002 \u5207\u6362/\u8fdb\u5165\u5230\u5e94\u7528\u7a0b\u5e8f\u6e90\u6587\u4ef6\u5939\u540e\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                        go get go.opentelemetry.io/otel@v1.19.0 \\\n  go.opentelemetry.io/otel/trace@v1.19.0 \\\n  go.opentelemetry.io/otel/sdk@v1.19.0 \\\n  go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin@v0.46.1 \\\n  go.opentelemetry.io/otel/exporters/otlp/otlptrace@v1.19.0 \\\n  go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.19.0\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#otel-sdk","title":"\u4f7f\u7528 OTel SDK \u521b\u5efa\u521d\u59cb\u5316\u51fd\u6570","text":"

                                        \u4e3a\u4e86\u8ba9\u5e94\u7528\u7a0b\u5e8f\u80fd\u591f\u53d1\u9001\u6570\u636e\uff0c\u9700\u8981\u4e00\u4e2a\u51fd\u6570\u6765\u521d\u59cb\u5316 OpenTelemetry\u3002\u5728 main.go \u6587\u4ef6\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u4ee3\u7801\u7247\u6bb5:

                                        import (\n    \"context\"\n    \"os\"\n    \"time\"\n\n    \"go.opentelemetry.io/otel\"\n    \"go.opentelemetry.io/otel/exporters/otlp/otlptrace\"\n    \"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc\"\n    \"go.opentelemetry.io/otel/propagation\"\n    \"go.opentelemetry.io/otel/sdk/resource\"\n    sdktrace \"go.opentelemetry.io/otel/sdk/trace\"\n    semconv \"go.opentelemetry.io/otel/semconv/v1.7.0\"\n    \"go.uber.org/zap\"\n    \"google.golang.org/grpc\"\n)\n\nvar tracerExp *otlptrace.Exporter\n\nfunc retryInitTracer() func() {\n    var shutdown func()\n    go func() {\n        for {\n            // otel will reconnected and re-send spans when otel col recover. so, we don't need to re-init tracer exporter.\n            if tracerExp == nil {\n                shutdown = initTracer()\n            } else {\n                break\n            }\n            time.Sleep(time.Minute * 5)\n        }\n    }()\n    return shutdown\n}\n\nfunc initTracer() func() {\n    // temporarily set timeout to 10s\n    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)\n    defer cancel()\n\n    serviceName, ok := os.LookupEnv(\"OTEL_SERVICE_NAME\")\n    if !ok {\n        serviceName = \"server_name\"\n        os.Setenv(\"OTEL_SERVICE_NAME\", serviceName)\n    }\n    otelAgentAddr, ok := os.LookupEnv(\"OTEL_EXPORTER_OTLP_ENDPOINT\")\n    if !ok {\n        otelAgentAddr = \"http://localhost:4317\"\n        os.Setenv(\"OTEL_EXPORTER_OTLP_ENDPOINT\", otelAgentAddr)\n    }\n    zap.S().Infof(\"OTLP Trace connect to: %s with service name: %s\", otelAgentAddr, serviceName)\n\n    traceExporter, err := otlptracegrpc.New(ctx, otlptracegrpc.WithInsecure(), otlptracegrpc.WithDialOption(grpc.WithBlock()))\n    if err != nil {\n        handleErr(err, \"OTLP Trace gRPC Creation\")\n        return nil\n    }\n\n    tracerProvider := sdktrace.NewTracerProvider(\n        sdktrace.WithBatcher(traceExporter),\n        sdktrace.WithSampler(sdktrace.AlwaysSample()),\n    sdktrace.WithResource(resource.NewWithAttributes(semconv.SchemaURL)))\n\n    otel.SetTracerProvider(tracerProvider)\n    otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{}))\n\n    tracerExp = traceExporter\n    return func() {\n        // Shutdown will flush any remaining spans and shut down the exporter.\n        handleErr(tracerProvider.Shutdown(ctx), \"failed to shutdown TracerProvider\")\n    }\n}\n\nfunc handleErr(err error, message string) {\n    if err != nil {\n        zap.S().Errorf(\"%s: %v\", message, err)\n    }\n}\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#maingo","title":"\u5728 main.go \u4e2d\u521d\u59cb\u5316\u8ddf\u8e2a\u5668","text":"

                                        \u4fee\u6539 main \u51fd\u6570\u4ee5\u5728 main.go \u4e2d\u521d\u59cb\u5316\u8ddf\u8e2a\u5668\u3002\u53e6\u5916\u5f53\u60a8\u7684\u670d\u52a1\u5173\u95ed\u65f6\uff0c\u5e94\u8be5\u8c03\u7528 TracerProvider.Shutdown() \u786e\u4fdd\u5bfc\u51fa\u6240\u6709 Span\u3002\u8be5\u670d\u52a1\u5c06\u8be5\u8c03\u7528\u4f5c\u4e3a\u4e3b\u51fd\u6570\u4e2d\u7684\u5ef6\u8fdf\u51fd\u6570\uff1a

                                        func main() {\n    // start otel tracing\n    if shutdown := retryInitTracer(); shutdown != nil {\n            defer shutdown()\n        }\n    ......\n}\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#otel-gin","title":"\u4e3a\u5e94\u7528\u6dfb\u52a0 OTel Gin \u4e2d\u95f4\u4ef6","text":"

                                        \u901a\u8fc7\u5728 main.go \u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u884c\u6765\u914d\u7f6e Gin \u4ee5\u4f7f\u7528\u4e2d\u95f4\u4ef6:

                                        import (\n    ....\n  \"go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin\"\n)\n\nfunc main() {\n    ......\n    r := gin.Default()\n    r.Use(otelgin.Middleware(\"my-app\"))\n    ......\n}\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_2","title":"\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f","text":"
                                        • \u672c\u5730\u8c03\u8bd5\u8fd0\u884c

                                          \u6ce8\u610f: \u6b64\u6b65\u9aa4\u4ec5\u7528\u4e8e\u672c\u5730\u5f00\u53d1\u8c03\u8bd5\uff0c\u751f\u4ea7\u73af\u5883\u4e2d Operator \u4f1a\u81ea\u52a8\u5b8c\u6210\u4ee5\u4e0b\u73af\u5883\u53d8\u91cf\u7684\u6ce8\u5165\u3002

                                          \u4ee5\u4e0a\u6b65\u9aa4\u5df2\u7ecf\u5b8c\u6210\u4e86\u521d\u59cb\u5316 SDK \u7684\u5de5\u4f5c\uff0c\u73b0\u5728\u5982\u679c\u9700\u8981\u5728\u672c\u5730\u5f00\u53d1\u8fdb\u884c\u8c03\u8bd5\uff0c\u9700\u8981\u63d0\u524d\u83b7\u53d6\u5230 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b insight-agent-opentelemerty-collector \u7684\u5730\u5740\uff0c\u5047\u8bbe\u4e3a\uff1a insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 \u3002

                                          \u56e0\u6b64\uff0c\u53ef\u4ee5\u5728\u4f60\u672c\u5730\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\u7684\u65f6\u5019\u6dfb\u52a0\u5982\u4e0b\u73af\u5883\u53d8\u91cf\uff1a

                                          OTEL_SERVICE_NAME=my-golang-app OTEL_EXPORTER_OTLP_ENDPOINT=http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317 go run main.go...\n
                                        • \u751f\u4ea7\u73af\u5883\u8fd0\u884c

                                          \u8bf7\u53c2\u8003\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u4e2d \u53ea\u6ce8\u5165\u73af\u5883\u53d8\u91cf\u6ce8\u89e3 \u76f8\u5173\u4ecb\u7ecd\uff0c\u4e3a deployment yaml \u6dfb\u52a0\u6ce8\u89e3\uff1a

                                          instrumentation.opentelemetry.io/inject-sdk: \"insight-system/insight-opentelemetry-autoinstrumentation\"\n

                                          \u5982\u679c\u65e0\u6cd5\u4f7f\u7528\u6ce8\u89e3\u7684\u65b9\u5f0f\uff0c\u60a8\u53ef\u4ee5\u624b\u52a8\u5728 deployment yaml \u6dfb\u52a0\u5982\u4e0b\u73af\u5883\u53d8\u91cf\uff1a

                                        \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\nenv:\n  - name: OTEL_EXPORTER_OTLP_ENDPOINT\n    value: 'http://insight-agent-opentelemetry-collector.insight-system.svc.cluster.local:4317'\n  - name: OTEL_SERVICE_NAME\n    value: \"your depolyment name\" # (1)!\n  - name: OTEL_K8S_NAMESPACE\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: metadata.namespace\n  - name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: spec.nodeName\n  - name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME\n    valueFrom:\n      fieldRef:\n        apiVersion: v1\n        fieldPath: metadata.name\n  - name: OTEL_RESOURCE_ATTRIBUTES\n    value: 'k8s.namespace.name=$(OTEL_K8S_NAMESPACE),k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME)'\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n
                                        1. \u4fee\u6539\u6b64\u503c
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_3","title":"\u8bf7\u6c42\u8def\u7531","text":""},{"location":"end-user/insight/quickstart/otel/golang/golang.html#opentelemetry-gingonic","title":"OpenTelemetry gin/gonic \u589e\u5f3a","text":"
                                        # Add one line to your import() stanza depending upon your request router:\nmiddleware \"go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin\"\n

                                        \u7136\u540e\u6ce8\u5165 OpenTelemetry \u4e2d\u95f4\u4ef6\uff1a

                                        router.Use(middleware.Middleware(\"my-app\"))\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#opentelemetry-gorillamux","title":"OpenTelemetry gorillamux \u589e\u5f3a","text":"
                                        # Add one line to your import() stanza depending upon your request router:\nmiddleware \"go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux\"\n

                                        \u7136\u540e\u6ce8\u5165 OpenTelemetry \u4e2d\u95f4\u4ef6\uff1a

                                        router.Use(middleware.Middleware(\"my-app\"))\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#grpc","title":"gRPC \u589e\u5f3a","text":"

                                        \u540c\u6837\uff0cOpenTelemetry \u4e5f\u53ef\u4ee5\u5e2e\u52a9\u60a8\u81ea\u52a8\u68c0\u6d4b gRPC \u8bf7\u6c42\u3002\u8981\u68c0\u6d4b\u60a8\u62e5\u6709\u7684\u4efb\u4f55 gRPC \u670d\u52a1\u5668\uff0c\u8bf7\u5c06\u62e6\u622a\u5668\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u7684\u5b9e\u4f8b\u5316\u4e2d\u3002

                                        import (\n  grpcotel \"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc\"\n)\nfunc main() {\n  [...]\n\n    s := grpc.NewServer(\n        grpc.UnaryInterceptor(grpcotel.UnaryServerInterceptor()),\n        grpc.StreamInterceptor(grpcotel.StreamServerInterceptor()),\n    )\n}\n

                                        \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5982\u679c\u4f60\u7684\u7a0b\u5e8f\u91cc\u9762\u4f7f\u7528\u5230\u4e86 Grpc Client \u8c03\u7528\u7b2c\u4e09\u65b9\u670d\u52a1\uff0c\u4f60\u8fd8\u9700\u8981\u5bf9 Grpc Client \u6dfb\u52a0\u62e6\u622a\u5668\uff1a

                                            [...]\n\n    conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(insecure.NewCredentials()),\n        grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor()),\n        grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor()),\n    )\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_4","title":"\u5982\u679c\u4e0d\u4f7f\u7528\u8bf7\u6c42\u8def\u7531","text":"
                                        import (\n  \"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp\"\n)\n

                                        \u5728\u5c06 http.Handler \u4f20\u9012\u7ed9 ServeMux \u7684\u6bcf\u4e2a\u5730\u65b9\uff0c\u60a8\u90fd\u5c06\u5305\u88c5\u5904\u7406\u7a0b\u5e8f\u51fd\u6570\u3002\u4f8b\u5982\uff0c\u5c06\u8fdb\u884c\u4ee5\u4e0b\u66ff\u6362\uff1a

                                        - mux.Handle(\"/path\", h)\n+ mux.Handle(\"/path\", otelhttp.NewHandler(h, \"description of path\"))\n---\n- mux.Handle(\"/path\", http.HandlerFunc(f))\n+ mux.Handle(\"/path\", otelhttp.NewHandler(http.HandlerFunc(f), \"description of path\"))\n

                                        \u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\uff0c\u60a8\u53ef\u4ee5\u786e\u4fdd\u4f7f\u7528 othttp \u5305\u88c5\u7684\u6bcf\u4e2a\u51fd\u6570\u90fd\u4f1a\u81ea\u52a8\u6536\u96c6\u5176\u5143\u6570\u636e\u5e76\u542f\u52a8\u76f8\u5e94\u7684\u8ddf\u8e2a\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_5","title":"\u6570\u636e\u5e93\u8bbf\u95ee\u589e\u5f3a","text":""},{"location":"end-user/insight/quickstart/otel/golang/golang.html#golang-gorm","title":"Golang Gorm","text":"

                                        OpenTelemetry \u793e\u533a\u4e5f\u5f00\u53d1\u4e86\u6570\u636e\u5e93\u8bbf\u95ee\u5e93\u7684\u4e2d\u95f4\u4ef6\uff0c\u6bd4\u5982 Gorm:

                                        import (\n    \"github.com/uptrace/opentelemetry-go-extra/otelgorm\"\n    \"gorm.io/driver/sqlite\"\n    \"gorm.io/gorm\"\n)\n\ndb, err := gorm.Open(sqlite.Open(\"file::memory:?cache=shared\"), &gorm.Config{})\nif err != nil {\n    panic(err)\n}\n\notelPlugin := otelgorm.NewPlugin(otelgorm.WithDBName(\"mydb\"), # \u7f3a\u5931\u4f1a\u5bfc\u81f4\u6570\u636e\u5e93\u76f8\u5173\u62d3\u6251\u5c55\u793a\u4e0d\u5b8c\u6574\n    otelgorm.WithAttributes(semconv.ServerAddress(\"memory\"))) # \u7f3a\u5931\u4f1a\u5bfc\u81f4\u6570\u636e\u5e93\u76f8\u5173\u62d3\u6251\u5c55\u793a\u4e0d\u5b8c\u6574\nif err := db.Use(otelPlugin); err != nil {\n    panic(err)\n}\n

                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#span","title":"\u81ea\u5b9a\u4e49 Span","text":"

                                        \u5f88\u591a\u65f6\u5019\uff0cOpenTelemetry \u63d0\u4f9b\u7684\u4e2d\u95f4\u4ef6\u4e0d\u80fd\u5e2e\u52a9\u6211\u4eec\u8bb0\u5f55\u66f4\u591a\u5185\u90e8\u8c03\u7528\u7684\u51fd\u6570\uff0c\u9700\u8981\u6211\u4eec\u81ea\u5b9a\u4e49 Span \u6765\u8bb0\u5f55

                                         \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n    _, span := otel.Tracer(\"GetServiceDetail\").Start(ctx,\n        \"spanMetricDao.GetServiceDetail\",\n        trace.WithSpanKind(trace.SpanKindInternal))\n    defer span.End()\n  \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#span_1","title":"\u5411 span \u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\u548c\u4e8b\u4ef6","text":"

                                        \u4e5f\u53ef\u4ee5\u5c06\u81ea\u5b9a\u4e49\u5c5e\u6027\u6216\u6807\u7b7e\u8bbe\u7f6e\u4e3a Span\u3002\u8981\u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\u548c\u4e8b\u4ef6\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_6","title":"\u5bfc\u5165\u8ddf\u8e2a\u548c\u5c5e\u6027\u5e93","text":"
                                        import (\n    ...\n    \"go.opentelemetry.io/otel/attribute\"\n    \"go.opentelemetry.io/otel/trace\"\n)\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#span_2","title":"\u4ece\u4e0a\u4e0b\u6587\u4e2d\u83b7\u53d6\u5f53\u524d Span","text":"
                                        span := trace.SpanFromContext(c.Request.Context())\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#span_3","title":"\u5728\u5f53\u524d Span \u4e2d\u8bbe\u7f6e\u5c5e\u6027","text":"
                                        span.SetAttributes(attribute.String(\"controller\", \"books\"))\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#span-event","title":"\u4e3a\u5f53\u524d Span \u6dfb\u52a0 Event","text":"

                                        \u6dfb\u52a0 span \u4e8b\u4ef6\u662f\u4f7f\u7528 span \u5bf9\u8c61\u4e0a\u7684 AddEvent \u5b8c\u6210\u7684\u3002

                                        span.AddEvent(msg)\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_7","title":"\u8bb0\u5f55\u9519\u8bef\u548c\u5f02\u5e38","text":"
                                        import \"go.opentelemetry.io/otel/codes\"\n\n// \u83b7\u53d6\u5f53\u524d span\nspan := trace.SpanFromContext(ctx)\n\n// RecordError \u4f1a\u81ea\u52a8\u5c06\u4e00\u4e2a\u9519\u8bef\u8f6c\u6362\u6210 span even\nspan.RecordError(err)\n\n// \u6807\u8bb0\u8fd9\u4e2a span \u9519\u8bef\nspan.SetStatus(codes.Error, \"internal error\")\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/golang.html#_8","title":"\u53c2\u8003","text":"

                                        \u6709\u5173 Demo \u6f14\u793a\u8bf7\u53c2\u8003\uff1a - opentelemetry-demo/productcatalogservice - opentelemetry-collector-contrib/demo

                                        "},{"location":"end-user/insight/quickstart/otel/golang/meter.html","title":"\u4f7f\u7528 OTel SDK \u4e3a\u5e94\u7528\u7a0b\u5e8f\u66b4\u9732\u6307\u6807","text":"

                                        \u672c\u6587\u4ec5\u4f9b\u5e0c\u671b\u8bc4\u4f30\u6216\u63a2\u7d22\u6b63\u5728\u5f00\u53d1\u7684 OTLP \u6307\u6807\u7684\u7528\u6237\u53c2\u8003\u3002

                                        OpenTelemetry \u9879\u76ee\u8981\u6c42\u4ee5\u5fc5\u987b\u5728 OpenTelemetry \u534f\u8bae (OTLP) \u4e2d\u53d1\u51fa\u6570\u636e\u7684\u8bed\u8a00\u63d0\u4f9b API \u548c SDK\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#golang","title":"\u9488\u5bf9 Golang \u5e94\u7528\u7a0b\u5e8f","text":"

                                        Golang \u53ef\u4ee5\u901a\u8fc7 sdk \u66b4\u9732 runtime \u6307\u6807\uff0c\u5177\u4f53\u6765\u8bf4\uff0c\u5728\u5e94\u7528\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u65b9\u6cd5\u5f00\u542f metrics \u66b4\u9732\u5668\uff1a

                                        "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#_1","title":"\u5b89\u88c5\u76f8\u5173\u4f9d\u8d56","text":"

                                        \u5207\u6362/\u8fdb\u5165\u5230\u5e94\u7528\u7a0b\u5e8f\u6e90\u6587\u4ef6\u5939\u540e\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                        go get go.opentelemetry.io/otel \\\n  go.opentelemetry.io/otel/attribute \\\n  go.opentelemetry.io/otel/exporters/prometheus \\\n  go.opentelemetry.io/otel/metric/global \\\n  go.opentelemetry.io/otel/metric/instrument \\\n  go.opentelemetry.io/otel/sdk/metric\n
                                        "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#otel-sdk_1","title":"\u4f7f\u7528 OTel SDK \u521b\u5efa\u521d\u59cb\u5316\u51fd\u6570","text":"
                                        import (\n    .....\n\n    \"go.opentelemetry.io/otel/attribute\"\n    otelPrometheus \"go.opentelemetry.io/otel/exporters/prometheus\"\n    \"go.opentelemetry.io/otel/metric/global\"\n    \"go.opentelemetry.io/otel/metric/instrument\"\n    \"go.opentelemetry.io/otel/sdk/metric/aggregator/histogram\"\n    controller \"go.opentelemetry.io/otel/sdk/metric/controller/basic\"\n    \"go.opentelemetry.io/otel/sdk/metric/export/aggregation\"\n    processor \"go.opentelemetry.io/otel/sdk/metric/processor/basic\"\n    selector \"go.opentelemetry.io/otel/sdk/metric/selector/simple\"\n)\nfunc (s *insightServer) initMeter() *otelPrometheus.Exporter {\n    s.meter = global.Meter(\"xxx\")\n\n    config := otelPrometheus.Config{\n        DefaultHistogramBoundaries: []float64{1, 2, 5, 10, 20, 50},\n        Gatherer:                   prometheus.DefaultGatherer,\n        Registry:                   prometheus.NewRegistry(),\n        Registerer:                 prometheus.DefaultRegisterer,\n    }\n\n    c := controller.New(\n        processor.NewFactory(\n            selector.NewWithHistogramDistribution(\n                histogram.WithExplicitBoundaries(config.DefaultHistogramBoundaries),\n            ),\n            aggregation.CumulativeTemporalitySelector(),\n            processor.WithMemory(true),\n        ),\n    )\n\n    exporter, err := otelPrometheus.New(config, c)\n    if err != nil {\n        zap.S().Panicf(\"failed to initialize prometheus exporter %v\", err)\n    }\n\n    global.SetMeterProvider(exporter.MeterProvider())\n\n    http.HandleFunc(\"/metrics\", exporter.ServeHTTP)\n\n    go func() {\n        _ = http.ListenAndServe(fmt.Sprintf(\":%d\", 8888), nil)\n    }()\n\n    zap.S().Info(\"Prometheus server running on \", fmt.Sprintf(\":%d\", port))\n    return exporter\n}\n

                                        \u4ee5\u4e0a\u65b9\u6cd5\u4f1a\u4e3a\u60a8\u7684\u5e94\u7528\u66b4\u9732\u4e00\u4e2a\u6307\u6807\u63a5\u53e3: http://localhost:8888/metrics

                                        \u968f\u540e\uff0c\u5728 main.go \u4e2d\u5bf9\u5176\u8fdb\u884c\u521d\u59cb\u5316\uff1a

                                        func main() {\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n    tp := initMeter()\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n}\n

                                        \u6b64\u5916\uff0c\u5982\u679c\u60f3\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6307\u6807\uff0c\u53ef\u4ee5\u53c2\u8003\uff1a

                                        // exposeClusterMetric expose metric like \"insight_logging_count{} 1\"\nfunc (s *insightServer) exposeLoggingMetric(lserver *log.LogService) {\n    s.meter = global.Meter(\"insight.io/basic\")\n\n    var lock sync.Mutex\n    logCounter, err := s.meter.AsyncFloat64().Counter(\"insight_log_total\")\n    if err != nil {\n        zap.S().Panicf(\"failed to initialize instrument: %v\", err)\n    }\n\n    _ = s.meter.RegisterCallback([]instrument.Asynchronous{logCounter}, func(ctx context.Context) {\n        lock.Lock()\n        defer lock.Unlock()\n        count, err := lserver.Count(ctx)\n        if err == nil || count != -1 {\n            logCounter.Observe(ctx, float64(count))\n        }\n    })\n}\n

                                        \u968f\u540e\uff0c\u5728 main.go \u8c03\u7528\u8be5\u65b9\u6cd5\uff1a

                                        \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\ns.exposeLoggingMetric(lservice)\n\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n

                                        \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#java","title":"\u9488\u5bf9 Java \u5e94\u7528\u7a0b\u5e8f","text":"

                                        Java \u5728\u4f7f\u7528 otel agent \u5728\u5b8c\u6210\u94fe\u8def\u7684\u81ea\u52a8\u63a5\u5165\u7684\u57fa\u7840\u4e0a\uff0c\u901a\u8fc7\u6dfb\u52a0\u73af\u5883\u53d8\u91cf\uff1a

                                        OTEL_METRICS_EXPORTER=prometheus\n

                                        \u5c31\u53ef\u4ee5\u76f4\u63a5\u66b4\u9732 JVM \u76f8\u5173\u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

                                        \u968f\u540e\uff0c\u518d\u914d\u5408 prometheus serviceMonitor \u5373\u53ef\u5b8c\u6210\u6307\u6807\u7684\u63a5\u5165\u3002 \u5982\u679c\u60f3\u66b4\u9732\u81ea\u5b9a\u4e49\u6307\u6807\u8bf7\u53c2\u9605 opentelemetry-java-docs/prometheus\u3002

                                        \u4e3b\u8981\u5206\u4ee5\u4e0b\u4e24\u6b65\uff1a

                                        • \u521b\u5efa meter provider\uff0c\u5e76\u6307\u5b9a prometheus \u4f5c\u4e3a exporter\u3002

                                          /*\n* Copyright The OpenTelemetry Authors\n* SPDX-License-Identifier: Apache-2.0\n*/\n\npackage io.opentelemetry.example.prometheus;\n\nimport io.opentelemetry.api.metrics.MeterProvider;\nimport io.opentelemetry.exporter.prometheus.PrometheusHttpServer;\nimport io.opentelemetry.sdk.metrics.SdkMeterProvider;\nimport io.opentelemetry.sdk.metrics.export.MetricReader;\n\npublic final class ExampleConfiguration {\n\n  /**\n  * Initializes the Meter SDK and configures the prometheus collector with all default settings.\n  *\n  * @param prometheusPort the port to open up for scraping.\n  * @return A MeterProvider for use in instrumentation.\n  */\n  static MeterProvider initializeOpenTelemetry(int prometheusPort) {\n    MetricReader prometheusReader = PrometheusHttpServer.builder().setPort(prometheusPort).build();\n\n    return SdkMeterProvider.builder().registerMetricReader(prometheusReader).build();\n  }\n}\n
                                        • \u81ea\u5b9a\u4e49 meter \u5e76\u5f00\u542f http server

                                          package io.opentelemetry.example.prometheus;\n\nimport io.opentelemetry.api.common.Attributes;\nimport io.opentelemetry.api.metrics.Meter;\nimport io.opentelemetry.api.metrics.MeterProvider;\nimport java.util.concurrent.ThreadLocalRandom;\n\n/**\n* Example of using the PrometheusHttpServer to convert OTel metrics to Prometheus format and expose\n* these to a Prometheus instance via a HttpServer exporter.\n*\n* <p>A Gauge is used to periodically measure how many incoming messages are awaiting processing.\n* The Gauge callback gets executed every collection interval.\n*/\npublic final class PrometheusExample {\n  private long incomingMessageCount;\n\n  public PrometheusExample(MeterProvider meterProvider) {\n    Meter meter = meterProvider.get(\"PrometheusExample\");\n    meter\n        .gaugeBuilder(\"incoming.messages\")\n        .setDescription(\"No of incoming messages awaiting processing\")\n        .setUnit(\"message\")\n        .buildWithCallback(result -> result.record(incomingMessageCount, Attributes.empty()));\n  }\n\n  void simulate() {\n    for (int i = 500; i > 0; i--) {\n      try {\n        System.out.println(\n            i + \" Iterations to go, current incomingMessageCount is:  \" + incomingMessageCount);\n        incomingMessageCount = ThreadLocalRandom.current().nextLong(100);\n        Thread.sleep(1000);\n      } catch (InterruptedException e) {\n        // ignored here\n      }\n    }\n  }\n\n  public static void main(String[] args) {\n    int prometheusPort = 8888;\n\n    // it is important to initialize the OpenTelemetry SDK as early as possible in your process.\n    MeterProvider meterProvider = ExampleConfiguration.initializeOpenTelemetry(prometheusPort);\n\n    PrometheusExample prometheusExample = new PrometheusExample(meterProvider);\n\n    prometheusExample.simulate();\n\n    System.out.println(\"Exiting\");\n  }\n}\n

                                        \u968f\u540e\uff0c\u5f85 java \u5e94\u7528\u7a0b\u5e8f\u8fd0\u884c\u4e4b\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee http://localhost:8888/metrics \u6765\u68c0\u67e5\u60a8\u7684\u6307\u6807\u662f\u5426\u6b63\u5e38\u5de5\u4f5c\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#insight","title":"Insight \u91c7\u96c6\u6307\u6807","text":"

                                        \u6700\u540e\u91cd\u8981\u7684\u662f\uff0c\u60a8\u5df2\u7ecf\u5728\u5e94\u7528\u7a0b\u5e8f\u4e2d\u66b4\u9732\u51fa\u4e86\u6307\u6807\uff0c\u73b0\u5728\u9700\u8981 Insight \u6765\u91c7\u96c6\u6307\u6807\u3002

                                        \u63a8\u8350\u7684\u6307\u6807\u66b4\u9732\u65b9\u5f0f\u662f\u901a\u8fc7 servicemonitor \u6216\u8005 podmonitor\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/golang/meter.html#servicemonitorpodmonitor","title":"\u521b\u5efa servicemonitor/podmonitor","text":"

                                        \u6dfb\u52a0\u7684 servicemonitor/podmonitor \u9700\u8981\u6253\u4e0a label\uff1a\"operator.insight.io/managed-by\": \"insight\" \u624d\u4f1a\u88ab Operator \u8bc6\u522b\uff1a

                                        apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: example-app\n  labels:\n    operator.insight.io/managed-by: insight\nspec:\n  selector:\n    matchLabels:\n      app: example-app\n  endpoints:\n  - port: web\n  namespaceSelector:\n    any: true\n
                                        "},{"location":"end-user/insight/quickstart/otel/java/index.html","title":"\u5f00\u59cb\u76d1\u63a7 Java \u5e94\u7528","text":"
                                        1. Java \u5e94\u7528\u94fe\u8def\u63a5\u5165\u4e0e\u76d1\u63a7\u8bf7\u53c2\u8003\u901a\u8fc7 Operator \u5b9e\u73b0\u5e94\u7528\u7a0b\u5e8f\u65e0\u4fb5\u5165\u589e\u5f3a \u6587\u6863\uff0c\u901a\u8fc7\u6ce8\u89e3\u5b9e\u73b0\u81ea\u52a8\u63a5\u5165\u94fe\u8def\u3002

                                        2. Java \u5e94\u7528\u7684 JVM \u8fdb\u884c\u76d1\u63a7\uff1a\u5df2\u7ecf\u66b4\u9732 JVM \u6307\u6807\u548c\u4ecd\u672a\u66b4\u9732 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5982\u4f55\u4e0e\u53ef\u89c2\u6d4b\u6027 Insight \u5bf9\u63a5\u3002

                                          • \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u672a\u5f00\u59cb\u66b4\u9732 JVM \u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u6587\u6863\uff1a

                                            • \u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807
                                            • \u4f7f\u7528 OpenTelemetry Java Agent \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807
                                          • \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u5df2\u7ecf\u66b4\u9732 JVM \u6307\u6807\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003\u5982\u4e0b\u6587\u6863\uff1a

                                            • \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027
                                        3. \u5c06 TraceId \u548c SpanId \u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7, \u5b9e\u73b0\u94fe\u8def\u6570\u636e\u4e0e\u65e5\u5fd7\u6570\u636e\u5173\u8054

                                        "},{"location":"end-user/insight/quickstart/otel/java/mdc.html","title":"\u5c06 TraceId \u548c SpanId \u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7","text":"

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 OpenTelemetry \u5c06 TraceId \u548c SpanId \u81ea\u52a8\u5199\u5165 Java \u5e94\u7528\u65e5\u5fd7\u3002 TraceId \u4e0e SpanId \u5199\u5165\u65e5\u5fd7\u540e\uff0c\u60a8\u53ef\u4ee5\u5c06\u5206\u5e03\u5f0f\u94fe\u8def\u6570\u636e\u4e0e\u65e5\u5fd7\u6570\u636e\u5173\u8054\u8d77\u6765\uff0c\u5b9e\u73b0\u66f4\u9ad8\u6548\u7684\u6545\u969c\u8bca\u65ad\u548c\u6027\u80fd\u5206\u6790\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/java/mdc.html#_1","title":"\u652f\u6301\u7684\u65e5\u5fd7\u5e93","text":"

                                        \u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 Logger MDC auto-instrumentation\u3002

                                        \u65e5\u5fd7\u6846\u67b6 \u652f\u6301\u81ea\u52a8\u57cb\u70b9\u7684\u7248\u672c \u624b\u52a8\u57cb\u70b9\u9700\u8981\u5f15\u5165\u7684\u4f9d\u8d56 Log4j 1 1.2+ \u65e0 Log4j 2 2.7+ opentelemetry-log4j-context-data-2.17-autoconfigure Logback 1.0+ opentelemetry-logback-mdc-1.0"},{"location":"end-user/insight/quickstart/otel/java/mdc.html#logbackspringboot","title":"\u4f7f\u7528 Logback\uff08SpringBoot \u9879\u76ee\uff09","text":"

                                        Spring Boot \u9879\u76ee\u5185\u7f6e\u4e86\u65e5\u5fd7\u6846\u67b6\uff0c\u5e76\u4e14\u9ed8\u8ba4\u4f7f\u7528 Logback \u4f5c\u4e3a\u5176\u65e5\u5fd7\u5b9e\u73b0\u3002\u5982\u679c\u60a8\u7684 Java \u9879\u76ee\u4e3a SpringBoot \u9879\u76ee\uff0c\u53ea\u9700\u5c11\u91cf\u914d\u7f6e\u5373\u53ef\u5c06 TraceId \u5199\u5165\u65e5\u5fd7\u3002

                                        \u5728 application.properties \u4e2d\u8bbe\u7f6e logging.pattern.level\uff0c\u6dfb\u52a0 %mdc{trace_id} \u4e0e %mdc{span_id} \u5230\u65e5\u5fd7\u4e2d\u3002

                                        logging.pattern.level=trace_id=%mdc{trace_id} span_id=%mdc{span_id} %5p ....\u7701\u7565...\n

                                        \u4ee5\u4e0b\u4e3a\u65e5\u5fd7\u793a\u4f8b\uff1a

                                        2024-06-26 10:56:31.200 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'\n2024-06-26 10:56:31.201 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'\n2024-06-26 10:56:31.209 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=1b08f18b8858bb9a  INFO 53724 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 8 ms\n2024-06-26 10:56:31.296 trace_id=8f7ebd8a73f9a8f50e6a00a87a20952a span_id=5743699405074f4e  INFO 53724 --- [nio-8081-exec-1] com.example.httpserver.ot.OTServer       : hello world\n
                                        "},{"location":"end-user/insight/quickstart/otel/java/mdc.html#log4j2","title":"\u4f7f\u7528 Log4j2","text":"
                                        1. \u5728 pom.xml \u4e2d\u6dfb\u52a0 OpenTelemetry Log4j2 \u4f9d\u8d56:

                                          Tip

                                          \u8bf7\u5c06 OPENTELEMETRY_VERSION \u66ff\u6362\u4e3a\u6700\u65b0\u7248\u672c

                                          <dependencies>\n  <dependency>\n    <groupId>io.opentelemetry.instrumentation</groupId>\n    <artifactId>opentelemetry-log4j-context-data-2.17-autoconfigure</artifactId>\n    <version>OPENTELEMETRY_VERSION</version>\n    <scope>runtime</scope>\n  </dependency>\n</dependencies>\n
                                        2. \u4fee\u6539 log4j2.xml \u914d\u7f6e\uff0c\u5728 pattern \u4e2d\u6dfb\u52a0 %X{trace_id} \u4e0e %X{span_id}\uff0c\u53ef\u4ee5\u5c06 TraceId \u4e0e SpanId \u81ea\u52a8\u5199\u5165\u65e5\u5fd7:

                                          <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Configuration>\n  <Appenders>\n    <Console name=\"Console\" target=\"SYSTEM_OUT\">\n      <PatternLayout\n          pattern=\"%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} trace_id=%X{trace_id} span_id=%X{span_id} trace_flags=%X{trace_flags} - %msg%n\"/>\n    </Console>\n  </Appenders>\n  <Loggers>\n    <Root>\n      <AppenderRef ref=\"Console\" level=\"All\"/>\n    </Root>\n  </Loggers>\n</Configuration>\n
                                        3. \u4f7f\u7528 Logback \u5728 pom.xml \u4e2d\u6dfb\u52a0 OpenTelemetry Logback \u4f9d\u8d56\u3002

                                          Tip

                                          \u8bf7\u5c06 OPENTELEMETRY_VERSION \u66ff\u6362\u4e3a\u6700\u65b0\u7248\u672c

                                          <dependencies>\n  <dependency>\n    <groupId>io.opentelemetry.instrumentation</groupId>\n    <artifactId>opentelemetry-logback-mdc-1.0</artifactId>\n    <version>OPENTELEMETRY_VERSION</version>\n  </dependency>\n</dependencies>\n
                                        4. \u4fee\u6539 log4j2.xml \u914d\u7f6e\uff0c\u5728 pattern \u4e2d\u6dfb\u52a0 %X{trace_id} \u4e0e %X{span_id}\uff0c\u53ef\u4ee5\u5c06 TraceId \u4e0e SpanId \u81ea\u52a8\u5199\u5165\u65e5\u5fd7:

                                          <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configuration>\n  <appender name=\"CONSOLE\" class=\"ch.qos.logback.core.ConsoleAppender\">\n    <encoder>\n      <pattern>%d{HH:mm:ss.SSS} trace_id=%X{trace_id} span_id=%X{span_id} trace_flags=%X{trace_flags} %msg%n</pattern>\n    </encoder>\n  </appender>\n\n  <!-- Just wrap your logging appender, for example ConsoleAppender, with OpenTelemetryAppender -->\n  <appender name=\"OTEL\" class=\"io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppender\">\n    <appender-ref ref=\"CONSOLE\"/>\n  </appender>\n\n  <!-- Use the wrapped \"OTEL\" appender instead of the original \"CONSOLE\" one -->\n  <root level=\"INFO\">\n    <appender-ref ref=\"OTEL\"/>\n  </root>\n\n</configuration>\n
                                        "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html","title":"\u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807","text":"

                                        JMX-Exporter \u63d0\u4f9b\u4e86\u4e24\u79cd\u7528\u6cd5:

                                        1. \u542f\u52a8\u72ec\u7acb\u8fdb\u7a0b\u3002JVM \u542f\u52a8\u65f6\u6307\u5b9a\u53c2\u6570\uff0c\u66b4\u9732 JMX \u7684 RMI \u63a5\u53e3\uff0cJMX Exporter \u8c03\u7528 RMI \u83b7\u53d6 JVM \u8fd0\u884c\u65f6\u72b6\u6001\u6570\u636e\uff0c \u8f6c\u6362\u4e3a Prometheus metrics \u683c\u5f0f\uff0c\u5e76\u66b4\u9732\u7aef\u53e3\u8ba9 Prometheus \u91c7\u96c6\u3002
                                        2. JVM \u8fdb\u7a0b\u5185\u542f\u52a8(in-process)\u3002JVM \u542f\u52a8\u65f6\u6307\u5b9a\u53c2\u6570\uff0c\u901a\u8fc7 javaagent \u7684\u5f62\u5f0f\u8fd0\u884c JMX-Exporter \u7684 jar \u5305\uff0c \u8fdb\u7a0b\u5185\u8bfb\u53d6 JVM \u8fd0\u884c\u65f6\u72b6\u6001\u6570\u636e\uff0c\u8f6c\u6362\u4e3a Prometheus metrics \u683c\u5f0f\uff0c\u5e76\u66b4\u9732\u7aef\u53e3\u8ba9 Prometheus \u91c7\u96c6\u3002

                                        Note

                                        \u5b98\u65b9\u4e0d\u63a8\u8350\u4f7f\u7528\u7b2c\u4e00\u79cd\u65b9\u5f0f\uff0c\u4e00\u65b9\u9762\u914d\u7f6e\u590d\u6742\uff0c\u53e6\u4e00\u65b9\u9762\u56e0\u4e3a\u5b83\u9700\u8981\u4e00\u4e2a\u5355\u72ec\u7684\u8fdb\u7a0b\uff0c\u800c\u8fd9\u4e2a\u8fdb\u7a0b\u672c\u8eab\u7684\u76d1\u63a7\u53c8\u6210\u4e86\u65b0\u7684\u95ee\u9898\uff0c \u6240\u4ee5\u672c\u6587\u91cd\u70b9\u56f4\u7ed5\u7b2c\u4e8c\u79cd\u7528\u6cd5\u8bb2\u5982\u4f55\u5728 Kubernetes \u73af\u5883\u4e0b\u4f7f\u7528 JMX Exporter \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807\u3002

                                        \u8fd9\u91cc\u4f7f\u7528\u7b2c\u4e8c\u79cd\u7528\u6cd5\uff0c\u542f\u52a8 JVM \u65f6\u9700\u8981\u6307\u5b9a JMX Exporter \u7684 jar \u5305\u6587\u4ef6\u548c\u914d\u7f6e\u6587\u4ef6\u3002 jar \u5305\u662f\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u4e0d\u597d\u901a\u8fc7 configmap \u6302\u8f7d\uff0c\u914d\u7f6e\u6587\u4ef6\u6211\u4eec\u51e0\u4e4e\u4e0d\u9700\u8981\u4fee\u6539\uff0c \u6240\u4ee5\u5efa\u8bae\u662f\u76f4\u63a5\u5c06 JMX Exporter \u7684 jar \u5305\u548c\u914d\u7f6e\u6587\u4ef6\u90fd\u6253\u5305\u5230\u4e1a\u52a1\u5bb9\u5668\u955c\u50cf\u4e2d\u3002

                                        \u5176\u4e2d\uff0c\u7b2c\u4e8c\u79cd\u65b9\u5f0f\u6211\u4eec\u53ef\u4ee5\u9009\u62e9\u5c06 JMX Exporter \u7684 jar \u6587\u4ef6\u653e\u5728\u4e1a\u52a1\u5e94\u7528\u955c\u50cf\u4e2d\uff0c \u4e5f\u53ef\u4ee5\u9009\u62e9\u5728\u90e8\u7f72\u7684\u65f6\u5019\u6302\u8f7d\u8fdb\u53bb\u3002\u8fd9\u91cc\u5206\u522b\u5bf9\u4e24\u79cd\u65b9\u5f0f\u505a\u4e00\u4e2a\u4ecb\u7ecd\uff1a

                                        "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html#jmx-exporter-jar","title":"\u65b9\u5f0f\u4e00\uff1a\u5c06 JMX Exporter JAR \u6587\u4ef6\u6784\u5efa\u81f3\u4e1a\u52a1\u955c\u50cf\u4e2d","text":"

                                        prometheus-jmx-config.yaml \u5185\u5bb9\u5982\u4e0b\uff1a

                                        prometheus-jmx-config.yaml
                                        ...\nssl: false\nlowercaseOutputName: false\nlowercaseOutputLabelNames: false\nrules:\n- pattern: \".*\"\n

                                        Note

                                        \u66f4\u591a\u914d\u7f6e\u9879\u8bf7\u53c2\u8003\u5e95\u90e8\u4ecb\u7ecd\u6216Prometheus \u5b98\u65b9\u6587\u6863\u3002

                                        \u7136\u540e\u51c6\u5907 jar \u5305\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728 jmx_exporter \u7684 Github \u9875\u9762\u627e\u5230\u6700\u65b0\u7684 jar \u5305\u4e0b\u8f7d\u5730\u5740\u5e76\u53c2\u8003\u5982\u4e0b Dockerfile:

                                        FROM openjdk:11.0.15-jre\nWORKDIR /app/\nCOPY target/my-app.jar ./\nCOPY prometheus-jmx-config.yaml ./\nRUN set -ex; \\\n    curl -L -O https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.17.2/jmx_prometheus_javaagent-0.17.2.jar;\nENV JAVA_TOOL_OPTIONS=-javaagent:/app/jmx_prometheus_javaagent-0.17.2.jar=8088:/app/prometheus-jmx-config.yaml\nEXPOSE 8081 8999 8080 8888\nENTRYPOINT java $JAVA_OPTS -jar my-app.jar\n

                                        \u6ce8\u610f\uff1a

                                        • \u542f\u52a8\u53c2\u6570\u683c\u5f0f\uff1a-javaagent:=:
                                        • \u8fd9\u91cc\u4f7f\u7528\u4e86 8088 \u7aef\u53e3\u66b4\u9732 JVM \u7684\u76d1\u63a7\u6307\u6807\uff0c\u5982\u679c\u548c Java \u5e94\u7528\u51b2\u7a81\uff0c\u53ef\u81ea\u884c\u66f4\u6539
                                        "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/jmx-exporter.html#init-container","title":"\u65b9\u5f0f\u4e8c\uff1a\u901a\u8fc7 init container \u5bb9\u5668\u6302\u8f7d","text":"

                                        \u6211\u4eec\u9700\u8981\u5148\u5c06 JMX exporter \u505a\u6210 Docker \u955c\u50cf, \u4ee5\u4e0b Dockerfile \u4ec5\u4f9b\u53c2\u8003\uff1a

                                        FROM alpine/curl:3.14\nWORKDIR /app/\n# \u5c06\u524d\u9762\u521b\u5efa\u7684 config \u6587\u4ef6\u62f7\u8d1d\u81f3\u955c\u50cf\nCOPY prometheus-jmx-config.yaml ./\n# \u5728\u7ebf\u4e0b\u8f7d jmx prometheus javaagent jar\nRUN set -ex; \\\n    curl -L -O https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.17.2/jmx_prometheus_javaagent-0.17.2.jar;\n

                                        \u6839\u636e\u4e0a\u9762 Dockerfile \u6784\u5efa\u955c\u50cf\uff1a docker build -t my-jmx-exporter .

                                        \u5728 Java \u5e94\u7528\u90e8\u7f72 Yaml \u4e2d\u52a0\u5165\u5982\u4e0b init container\uff1a

                                        \u70b9\u51fb\u5c55\u5f00 YAML \u6587\u4ef6
                                        apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-demo-app\n  labels:\n    app: my-demo-app\nspec:\n  selector:\n    matchLabels:\n      app: my-demo-app\n  template:\n    metadata:\n      labels:\n        app: my-demo-app\n    spec:\n      imagePullSecrets:\n      - name: registry-pull\n      initContainers:\n      - name: jmx-sidecar\n        image: my-jmx-exporter\n        command: [\"cp\", \"-r\", \"/app/jmx_prometheus_javaagent-0.17.2.jar\", \"/target/jmx_prometheus_javaagent-0.17.2.jar\"]  \u278a\n        volumeMounts:\n        - name: sidecar\n          mountPath: /target\n      containers:\n      - image: my-demo-app-image\n        name: my-demo-app\n        resources:\n          requests:\n            memory: \"1000Mi\"\n            cpu: \"500m\"\n          limits:\n            memory: \"1000Mi\"\n            cpu: \"500m\"\n        ports:\n        - containerPort: 18083\n        env:\n        - name: JAVA_TOOL_OPTIONS\n          value: \"-javaagent:/app/jmx_prometheus_javaagent-0.17.2.jar=8088:/app/prometheus-jmx-config.yaml\" \u278b\n        volumeMounts:\n        - name: host-time\n          mountPath: /etc/localtime\n          readOnly: true\n        - name: sidecar\n          mountPath: /sidecar\n      volumes:\n      - name: host-time\n        hostPath:\n          path: /etc/localtime\n      - name: sidecar  #\u5171\u4eab agent \u6587\u4ef6\u5939\n        emptyDir: {}\n      restartPolicy: Always\n

                                        \u7ecf\u8fc7\u5982\u4e0a\u7684\u6539\u9020\u4e4b\u540e\uff0c\u793a\u4f8b\u5e94\u7528 my-demo-app \u5177\u5907\u4e86\u66b4\u9732 JVM \u6307\u6807\u7684\u80fd\u529b\u3002 \u8fd0\u884c\u670d\u52a1\u4e4b\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 http://lcoalhost:8088 \u8bbf\u95ee\u670d\u52a1\u66b4\u9732\u51fa\u6765\u7684 prometheus \u683c\u5f0f\u7684\u6307\u6807\u3002

                                        \u63a5\u7740\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003 \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/legacy-jvm.html","title":"\u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027","text":"

                                        \u5982\u679c\u60a8\u7684 Java \u5e94\u7528\u901a\u8fc7\u5176\u4ed6\u65b9\u5f0f\uff08\u6bd4\u5982 Spring Boot Actuator\uff09\u66b4\u9732\u4e86 JVM \u7684\u76d1\u63a7\u6307\u6807\uff0c \u6211\u4eec\u9700\u8981\u8ba9\u76d1\u63a7\u6570\u636e\u88ab\u91c7\u96c6\u5230\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u6dfb\u52a0\u6ce8\u89e3\uff08Kubernetes Annotations\uff09\u7684\u65b9\u5f0f\u8ba9 Insight \u6765\u91c7\u96c6\u5df2\u6709\u7684 JVM \u6307\u6807\uff1a

                                        annatation: \n  insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n  insight.opentelemetry.io/metric-path: \"/\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n  insight.opentelemetry.io/metric-port: \"9464\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n

                                        \u4f8b\u5982\u4e3a my-deployment-app \u6dfb\u52a0\u6ce8\u89e3\uff1a

                                        apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-deployment-app\nspec:\n  selector:\n    matchLabels:\n      app: my-deployment-app\n      app.kubernetes.io/name: my-deployment-app\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app: my-deployment-app\n        app.kubernetes.io/name: my-deployment-app\n      annotations:\n        insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n        insight.opentelemetry.io/metric-path: \"/\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n        insight.opentelemetry.io/metric-port: \"9464\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n

                                        \u4ee5\u4e0b\u662f\u5b8c\u6574\u793a\u4f8b\uff1a

                                        ---\napiVersion: v1\nkind: Service\nmetadata:\n  name: spring-boot-actuator-prometheus-metrics-demo\nspec:\n  type: NodePort\n  selector:\n    #app: my-deployment-with-aotu-instrumentation-app\n    app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n  ports:\n    - name: http\n      port: 8080\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: spring-boot-actuator-prometheus-metrics-demo\nspec:\n  selector:\n    matchLabels:\n      #app: my-deployment-with-aotu-instrumentation-app\n      app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n  replicas: 1\n  template:\n    metadata:\n      labels:\n        app.kubernetes.io/name: spring-boot-actuator-prometheus-metrics-demo\n      annotations:\n        insight.opentelemetry.io/metric-scrape: \"true\" # \u662f\u5426\u91c7\u96c6\n        insight.opentelemetry.io/metric-path: \"/actuator/prometheus\"      # \u91c7\u96c6\u6307\u6807\u7684\u8def\u5f84\n        insight.opentelemetry.io/metric-port: \"8080\"   # \u91c7\u96c6\u6307\u6807\u7684\u7aef\u53e3\n    spec:\n      containers:\n        - name: myapp\n          image: docker.m.daocloud.io/wutang/spring-boot-actuator-prometheus-metrics-demo\n          ports:\n            - name: http\n              containerPort: 8080\n          resources:\n            limits:\n              cpu: 500m\n              memory: 800Mi\n            requests:\n              cpu: 200m\n              memory: 400Mi\n

                                        \u4ee5\u4e0a\u793a\u4f8b\u4e2d\uff0cInsight \u4f1a\u901a\u8fc7 :8080//actuator/prometheus \u6293\u53d6\u901a\u8fc7 Spring Boot Actuator \u66b4\u9732\u51fa\u6765\u7684 Prometheus \u6307\u6807\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html","title":"\u4f7f\u7528 OpenTelemetry Java Agent \u66b4\u9732 JVM \u76d1\u63a7\u6307\u6807","text":"

                                        \u5728 Opentelemetry Agent v1.20.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u4e2d\uff0cOpentelemetry Agent \u65b0\u589e\u4e86 JMX Metric Insight \u6a21\u5757\uff0c\u5982\u679c\u4f60\u7684\u5e94\u7528\u5df2\u7ecf\u96c6\u6210\u4e86 Opentelemetry Agent \u53bb\u91c7\u96c6\u5e94\u7528\u94fe\u8def\uff0c\u90a3\u4e48\u4f60\u4e0d\u518d\u9700\u8981\u53e6\u5916\u5f15\u5165\u5176\u4ed6 Agent \u53bb\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u66b4\u9732 JMX \u6307\u6807\u3002Opentelemetry Agent \u4e5f\u662f\u901a\u8fc7\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u672c\u5730\u53ef\u7528\u7684 MBean \u516c\u5f00\u7684\u6307\u6807\uff0c\u5bf9\u5176\u8fdb\u884c\u6536\u96c6\u5e76\u66b4\u9732\u6307\u6807\u3002

                                        Opentelemetry Agent \u4e5f\u9488\u5bf9\u5e38\u89c1\u7684 Java Server \u6216\u6846\u67b6\u5185\u7f6e\u4e86\u4e00\u4e9b\u76d1\u63a7\u7684\u6837\u4f8b\uff0c\u8bf7\u53c2\u8003\u9884\u5b9a\u4e49\u7684\u6307\u6807\u3002

                                        \u4f7f\u7528 OpenTelemetry Java Agent \u540c\u6837\u9700\u8981\u8003\u8651\u5982\u4f55\u5c06 JAR \u6302\u8f7d\u8fdb\u5bb9\u5668\uff0c\u9664\u4e86\u53ef\u4ee5\u53c2\u8003\u4e0a\u9762 JMX Exporter \u6302\u8f7d JAR \u6587\u4ef6\u7684\u65b9\u5f0f\u5916\uff0c\u6211\u4eec\u8fd8\u53ef\u4ee5\u501f\u52a9 Opentelemetry \u63d0\u4f9b\u7684 Operator \u7684\u80fd\u529b\u6765\u5b9e\u73b0\u81ea\u52a8\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u5f00\u542f JVM \u6307\u6807\u66b4\u9732\uff1a

                                        \u5982\u679c\u4f60\u7684\u5e94\u7528\u5df2\u7ecf\u96c6\u6210\u4e86 Opentelemetry Agent \u53bb\u91c7\u96c6\u5e94\u7528\u94fe\u8def\uff0c\u90a3\u4e48\u4f60\u4e0d\u518d\u9700\u8981\u53e6\u5916\u5f15\u5165\u5176\u4ed6 Agent \u53bb\u4e3a\u6211\u4eec\u7684\u5e94\u7528\u66b4\u9732 JMX \u6307\u6807\u3002Opentelemetry Agent \u901a\u8fc7\u68c0\u6d4b\u5e94\u7528\u7a0b\u5e8f\u4e2d\u672c\u5730\u53ef\u7528\u7684 MBean \u516c\u5f00\u7684\u6307\u6807\uff0c\u73b0\u5728\u53ef\u4ee5\u672c\u5730\u6536\u96c6\u5e76\u66b4\u9732\u6307\u6807\u63a5\u53e3\u3002

                                        \u4f46\u662f\uff0c\u622a\u81f3\u76ee\u524d\u7248\u672c\uff0c\u4f60\u4ecd\u7136\u9700\u8981\u624b\u52a8\u4e3a\u5e94\u7528\u52a0\u4e0a\u76f8\u5e94\u6ce8\u89e3\u4e4b\u540e\uff0cJVM \u6570\u636e\u624d\u4f1a\u88ab Insight \u91c7\u96c6\u5230\uff0c\u5177\u4f53\u6ce8\u89e3\u5185\u5bb9\u8bf7\u53c2\u8003 \u5df2\u6709 JVM \u6307\u6807\u7684 Java \u5e94\u7528\u5bf9\u63a5\u53ef\u89c2\u6d4b\u6027\u3002

                                        "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html#java","title":"\u4e3a Java \u4e2d\u95f4\u4ef6\u66b4\u9732\u6307\u6807","text":"

                                        Opentelemetry Agent \u4e5f\u5185\u7f6e\u4e86\u4e00\u4e9b\u4e2d\u95f4\u4ef6\u76d1\u63a7\u7684\u6837\u4f8b\uff0c\u8bf7\u53c2\u8003 \u9884\u5b9a\u4e49\u6307\u6807\u3002

                                        \u9ed8\u8ba4\u6ca1\u6709\u6307\u5b9a\u4efb\u4f55\u7c7b\u578b\uff0c\u9700\u8981\u901a\u8fc7 -Dotel.jmx.target.system JVM Options \u6307\u5b9a,\u6bd4\u5982 -Dotel.jmx.target.system=jetty,kafka-broker \u3002

                                        "},{"location":"end-user/insight/quickstart/otel/java/jvm-monitor/otel-java-agent.html#_1","title":"\u53c2\u8003","text":"
                                        • Gaining JMX Metric Insights with the OpenTelemetry Java Agent

                                        • Otel jmx metrics

                                        "},{"location":"end-user/insight/quickstart/other/install-agent-on-ocp.html","title":"OpenShift \u5b89\u88c5 Insight Agent","text":"

                                        \u867d\u7136 OpenShift \u7cfb\u7edf\u81ea\u5e26\u4e86\u4e00\u5957\u76d1\u63a7\u7cfb\u7edf\uff0c\u56e0\u4e3a\u6570\u636e\u91c7\u96c6\u7ea6\u5b9a\u7684\u4e00\u4e9b\u89c4\u5219\uff0c\u6211\u4eec\u8fd8\u662f\u4f1a\u5b89\u88c5 Insight Agent\u3002

                                        \u5176\u4e2d\uff0c\u5b89\u9664\u4e86\u57fa\u7840\u7684\u5b89\u88c5\u914d\u7f6e\u4e4b\u5916\uff0chelm install \u7684\u65f6\u5019\u8fd8\u9700\u8981\u589e\u52a0\u5982\u4e0b\u7684\u53c2\u6570\uff1a

                                        ## \u9488\u5bf9 fluentbit \u76f8\u5173\u7684\u53c2\u6570\uff1b\n--set fluent-bit.ocp.enabled=true \\\n--set fluent-bit.serviceAccount.create=false \\\n--set fluent-bit.securityContext.runAsUser=0 \\\n--set fluent-bit.securityContext.seLinuxOptions.type=spc_t \\\n--set fluent-bit.securityContext.readOnlyRootFilesystem=false \\\n--set fluent-bit.securityContext.allowPrivilegeEscalation=false \\\n\n## \u542f\u7528\u9002\u914d OpenShift4.x \u7684 Prometheus(CR)\n--set compatibility.openshift.prometheus.enabled=true \\\n\n## \u5173\u95ed\u9ad8\u7248\u672c\u7684 Prometheus \u5b9e\u4f8b\n--set kube-prometheus-stack.prometheus.enabled=false \\\n--set kube-prometheus-stack.kubeApiServer.enabled=false \\\n--set kube-prometheus-stack.kubelet.enabled=false \\\n--set kube-prometheus-stack.kubeControllerManager.enabled=false \\\n--set kube-prometheus-stack.coreDns.enabled=false \\\n--set kube-prometheus-stack.kubeDns.enabled=false \\\n--set kube-prometheus-stack.kubeEtcd.enabled=false \\\n--set kube-prometheus-stack.kubeEtcd.enabled=false \\\n--set kube-prometheus-stack.kubeScheduler.enabled=false \\\n--set kube-prometheus-stack.kubeStateMetrics.enabled=false \\\n--set kube-prometheus-stack.nodeExporter.enabled=false \\\n\n## \u9650\u5236 PrometheusOperator \u5904\u7406\u7684 namespace\uff0c\u907f\u514d\u4e0e OpenShift \u81ea\u5e26\u7684 PrometheusOperator \u76f8\u4e92\u7ade\u4e89\n--set kube-prometheus-stack.prometheusOperator.kubeletService.namespace=\"insight-system\" \\\n--set kube-prometheus-stack.prometheusOperator.prometheusInstanceNamespaces=\"insight-system\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[0]=\"openshift-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[1]=\"openshift-user-workload-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[2]=\"openshift-customer-monitoring\" \\\n--set kube-prometheus-stack.prometheusOperator.denyNamespaces[3]=\"openshift-route-monitor-operator\" \\\n
                                        "},{"location":"end-user/insight/quickstart/other/install-agent-on-ocp.html#openshift-prometheus","title":"\u901a\u8fc7 OpenShift \u81ea\u8eab\u673a\u5236\uff0c\u5c06\u7cfb\u7edf\u76d1\u63a7\u6570\u636e\u5199\u5165 Prometheus \u4e2d","text":"
                                        apiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: cluster-monitoring-config\n  namespace: openshift-monitoring\ndata:\n  config.yaml: |\n    prometheusK8s:\n      remoteWrite:\n        - queueConfig:\n            batchSendDeadline: 60s\n            maxBackoff: 5s\n            minBackoff: 30ms\n            minShards: 1\n            capacity: 5000\n            maxSamplesPerSend: 1000\n            maxShards: 100\n          remoteTimeout: 30s\n          url: http://insight-agent-prometheus.insight-system.svc.cluster.local:9090/api/v1/write\n          writeRelabelConfigs:\n            - action: keep\n              regex: etcd|kubelet|node-exporter|apiserver|kube-state-metrics\n              sourceLabels:\n                - job\n
                                        "},{"location":"end-user/insight/quickstart/other/install-agentindce.html","title":"DCE 4.0 \u4e2d\u5b89\u88c5 Insight Agent","text":"

                                        \u5728 AI \u7b97\u529b\u4e2d\u5fc3 \u4e2d\uff0c\u53ef\u4ee5\u5c06\u4ee5\u524d\u7684 DCE 4.0 \u4f5c\u4e3a\u5b50\u96c6\u7fa4\u63a5\u5165\u3002\u672c\u6587\u63d0\u4f9b\u5728 DCE4.0 \u96c6\u7fa4\u4e2d\u5b89\u88c5 insight-agent \u65f6\u53ef\u80fd\u9047\u5230\u7684\u95ee\u9898\u4ee5\u53ca\u89e3\u51b3\u65b9\u6848\u3002

                                        "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_1","title":"\u95ee\u9898\u4e00","text":"

                                        \u7531\u4e8e\u5927\u591a\u6570 DCE 4.0 \u96c6\u7fa4\u5df2\u5b89\u88c5 dx-insight \u4f5c\u4e3a\u76d1\u63a7\u7cfb\u7edf\uff0c\u82e5\u6b64\u65f6\u5b89\u88c5 insight-agent \u4f1a\u4e0e\u96c6\u7fa4\u4e2d\u5df2\u6709\u7684 Prometheus Operator \u51b2\u7a81\uff0c\u5bfc\u81f4\u65e0\u6cd5\u987a\u5229\u5b89\u88c5\u3002

                                        "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_2","title":"\u89e3\u51b3\u65b9\u6848","text":"

                                        \u5f00\u542f prometheus operator \u7684\u53c2\u6570\uff0c\u4fdd\u7559 dx-insight \u4e2d\u7684 prometheus operator\uff0c\u5e76\u517c\u5bb9 5.0 \u4e2d insight-agent \u7684 prometheus operator\u3002

                                        "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u767b\u5f55 DCE 4.0 \u96c6\u7fa4\uff0c\u8fdb\u5165 \u8bbe\u7f6e -> \u7a7a\u95f4\u7ba1\u7406 -> insight-system -> \u8d85\u5356\u7b56\u7565 \u4e2d\u5220\u9664 insight-system \u4e0b\u7684\u8d85\u5356\u7b56\u7565\u3002

                                        2. \u767b\u5f55 DCE 4.0 \u96c6\u7fa4\u7684\u63a7\u5236\u53f0\u3002\u5206\u522b\u5728\u4e24\u4e2a Prometheus Operator \u4e2d\u542f\u7528 --deny-namespaces \u53c2\u6570\u3002 \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff08\u4ee5\u4e0b\u547d\u4ee4\u4ec5\u4f9b\u53c2\u8003\uff0c\u5b9e\u9645\u9700\u66ff\u6362\u547d\u4ee4\u4e2d\u7684 Prometheus Operator \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\uff09\u3002

                                          kubectl edit deploy insight-agent-kube-prometh-operator -n insight-system\n

                                        Note

                                        • \u5982\u4e0a\u56fe dx-insight \u7ec4\u4ef6\u90e8\u7f72\u5728 dx-insight \u79df\u6237\u4e0b\uff0cinsight-agent \u90e8\u7f72\u5728 insight-system \u79df\u6237\u4e0b\u3002 \u5728 dx-insight \u4e2d\u7684 prometheus operator \u4e2d\u6dfb\u52a0 --deny-namespaces=insight-system \uff0c \u5728 insight-agent \u4e2d\u7684 prometheus operator \u4e2d\u6dfb\u52a0 --deny-namespaces=dx-insight \u3002
                                        • \u53ea\u6dfb\u52a0 deny namespace\uff0c\u4e24\u4e2a prometheus operator \u90fd\u53ef\u4ee5\u7ee7\u7eed\u626b\u63cf\u9664\u6b64\u4e4b\u5916\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u800c kube-system \u6216\u5ba2\u6237\u4e1a\u52a1\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u76f8\u5173\u91c7\u96c6\u8d44\u6e90\u4e0d\u53d7\u5f71\u54cd\u3002
                                        • \u8bf7\u6ce8\u610f node exporter \u7aef\u53e3\u51b2\u7a81\u7684\u95ee\u9898\u3002
                                        "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_4","title":"\u8865\u5145\u8bf4\u660e","text":"

                                        \u5f00\u6e90 node-exporter \u9ed8\u8ba4\u5f00\u542f hostnetwork \u4e14\u9ed8\u8ba4\u7aef\u53e3\u4e3a 9100\u3002 \u82e5\u96c6\u7fa4\u5df2\u6709\u7684\u76d1\u63a7\u7cfb\u7edf\u5df2\u5b89\u88c5 node-exporter \uff0c\u5219\u5728\u5b89\u88c5 insight-agent \u65f6\u4f1a\u56e0\u4e3a node-exporter \u7aef\u53e3\u51b2\u7a81\u800c\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\u3002

                                        Note

                                        Insight \u7684 node exporter \u4f1a\u5f00\u542f\u4e00\u4e9b\u7279\u6027\u6765\u91c7\u96c6\u7279\u6b8a\u6307\u6807\uff0c\u6240\u4ee5\u63a8\u8350\u5b89\u88c5\u3002

                                        \u76ee\u524d\u4e0d\u652f\u6301\u5728\u5b89\u88c5\u547d\u4ee4\u4e2d\u4fee\u6539\u7aef\u53e3\uff0c\u9700\u8981\u5728 helm install insight-agent \u4e4b\u540e\u624b\u52a8\u4fee\u6539 insight node-exporter daemonset \u548c svc \u7684\u76f8\u5173\u7aef\u53e3\u3002

                                        "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_5","title":"\u95ee\u9898\u4e8c","text":"

                                        Insight Agent \u90e8\u7f72\u6210\u529f\u540e\uff0cfluentbit \u672a\u91c7\u96c6 DCE 4.0 \u7684\u65e5\u5fd7\u3002

                                        Note

                                        \u8be5\u95ee\u9898\u5df2\u5728 Insight Agent v0.22.0 \u7248\u672c\u4fee\u590d\uff0c\u5b89\u88c5\u6216\u5347\u7ea7\u540e\u5373\u4e0d\u5b58\u5728\u8be5\u95ee\u9898\u3002

                                        "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_6","title":"\u89e3\u51b3\u65b9\u6848","text":"

                                        DCE 4.0 \u7684 Docker \u5b58\u50a8\u76ee\u5f55\u662f /var/lib/containers \uff0c\u4e0e insigh-agent \u7684\u914d\u7f6e\u4e2d\u7684\u8def\u5f84\u4e0d\u540c\uff0c\u6545\u672a\u91c7\u96c6\u65e5\u5fd7\u3002

                                        "},{"location":"end-user/insight/quickstart/other/install-agentindce.html#_7","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u767b\u5f55\u5230\u63a7\u5236\u53f0\u3002
                                        2. \u4fee\u6539 insight-agent Chart \u4e2d\u7684\u5982\u4e0b\u53c2\u6570\u3002

                                          fluent-bit:\ndaemonSetVolumeMounts:\n    - name: varlog\n    mountPath: /var/log\n    - name: varlibdockercontainers\n-     mountPath: /var/lib/docker/containers\n+     mountPath: /var/lib/containers/docker/containers\n    readOnly: true\n    - name: etcmachineid\n    mountPath: /etc/machine-id\n    readOnly: true\n    - name: dmesg\n    mountPath: /var/log/dmesg\n    readOnly: true\n
                                        "},{"location":"end-user/insight/quickstart/res-plan/index.html","title":"\u90e8\u7f72\u5bb9\u91cf\u89c4\u5212","text":"

                                        \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e3a\u4e86\u907f\u514d\u6d88\u8017\u8fc7\u591a\u8d44\u6e90\uff0c\u5df2\u7ecf\u8bbe\u7f6e\u4e86\u8d44\u6e90\u4e0a\u7ebf\uff08resource limit\uff09\uff0c\u53ef\u89c2\u6d4b\u7cfb\u7edf\u9700\u8981\u5904\u7406\u5927\u91cf\u7684\u6570\u636e\uff0c\u5982\u679c\u5bb9\u91cf\u89c4\u5212\u4e0d\u5408\u7406\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7cfb\u7edf\u8d1f\u8f7d\u8fc7\u9ad8\uff0c\u5f71\u54cd\u7a33\u5b9a\u6027\u548c\u53ef\u9760\u6027\u3002

                                        "},{"location":"end-user/insight/quickstart/res-plan/index.html#_2","title":"\u89c2\u6d4b\u7ec4\u4ef6\u7684\u8d44\u6e90\u89c4\u5212","text":"

                                        \u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u5305\u542b Insight \u548c Insight Agent\u3002\u5176\u4e2d\uff0cInsight \u4e3b\u8981\u8d1f\u8d23\u89c2\u6d4b\u6570\u636e\u7684\u5b58\u50a8\uff0c\u5206\u6790\u4e0e\u5c55\u793a\u3002\u800c Insight Agent \u5305\u542b\u4e86\u6570\u636e\u91c7\u96c6\u3001\u6570\u636e\u5904\u7406\u3001\u6570\u636e\u4e0a\u4f20\u7b49\u529f\u80fd\u3002

                                        "},{"location":"end-user/insight/quickstart/res-plan/index.html#_3","title":"\u5b58\u50a8\u7ec4\u4ef6\u7684\u5bb9\u91cf\u89c4\u5212","text":"

                                        Insight \u7684\u5b58\u50a8\u7ec4\u4ef6\u4e3b\u8981\u5305\u62ec ElasticSearch \u548c VictoriaMetrics. \u5176\u4e2d\uff0cElasticSearch \u4e3b\u8981\u8d1f\u8d23\u5b58\u50a8\u548c\u67e5\u8be2\u65e5\u5fd7\u4e0e\u94fe\u8def\u6570\u636e\uff0cVictoriaMetrics \u4e3b\u8981\u8d1f\u8d23\u5b58\u50a8\u548c\u67e5\u8be2\u6307\u6807\u6570\u636e\u3002

                                        • VictoriaMetircs: \u5176\u78c1\u76d8\u7528\u91cf\u4e0e\u5b58\u50a8\u7684\u6307\u6807\u6709\u5173\uff0c\u6839\u636e vmstorage \u7684\u78c1\u76d8\u89c4\u5212 \u9884\u4f30\u5bb9\u91cf\u540e \u8c03\u6574 vmstorage \u78c1\u76d8\u3002
                                        "},{"location":"end-user/insight/quickstart/res-plan/index.html#_4","title":"\u91c7\u96c6\u5668\u7684\u8d44\u6e90\u89c4\u5212","text":"

                                        Insight Agent \u7684\u91c7\u96c6\u5668\u4e2d\u5305\u542b Proemtheus\uff0c\u867d\u7136 Prometheus \u672c\u8eab\u662f\u4e00\u4e2a\u72ec\u7acb\u7684\u7ec4\u4ef6\uff0c\u4f46\u662f\u5728 Insight Agent \u4e2d\uff0cPrometheus \u4f1a\u88ab\u7528\u4e8e\u91c7\u96c6\u6570\u636e\uff0c\u56e0\u6b64\u9700\u8981\u5bf9 Prometheus \u7684\u8d44\u6e90\u8fdb\u884c\u89c4\u5212\u3002

                                        • Prometheus\uff1a\u5176\u8d44\u6e90\u7528\u91cf\u4e0e\u91c7\u96c6\u7684\u6307\u6807\u91cf\u6709\u5173\uff0c\u53ef\u4ee5\u53c2\u8003 Prometheus \u8d44\u6e90\u89c4\u5212 \u8fdb\u884c\u8c03\u6574\u3002
                                        "},{"location":"end-user/insight/quickstart/res-plan/modify-vms-disk.html","title":"vmstorge \u78c1\u76d8\u6269\u5bb9","text":"

                                        \u672c\u6587\u63cf\u8ff0\u4e86 vmstorge \u78c1\u76d8\u6269\u5bb9\u7684\u65b9\u6cd5\uff0c vmstorge \u78c1\u76d8\u89c4\u8303\u8bf7\u53c2\u8003 vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212\u3002

                                        "},{"location":"end-user/insight/quickstart/res-plan/modify-vms-disk.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/insight/quickstart/res-plan/modify-vms-disk.html#_2","title":"\u5f00\u542f\u5b58\u50a8\u6c60\u6269\u5bb9","text":"
                                        1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u70b9\u51fb \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb kpanda-global-cluster \u96c6\u7fa4\u3002

                                        2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230 vmstorage \u7ed1\u5b9a\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                                        3. \u70b9\u51fb\u67d0\u4e2a vmstorage PVC\uff0c\u8fdb\u5165 vmstorage \u7684\u6570\u636e\u5377\u58f0\u660e\u8be6\u60c5\uff0c\u786e\u8ba4\u8be5 PVC \u7ed1\u5b9a\u7684\u5b58\u50a8\u6c60\u3002

                                        4. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) \uff0c\u627e\u5230 local-path \uff0c\u70b9\u51fb\u76ee\u6807\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u7f16\u8f91 \u3002

                                        5. \u5f00\u542f \u6269\u5bb9 \u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                        "},{"location":"end-user/insight/quickstart/res-plan/modify-vms-disk.html#vmstorage","title":"\u66f4\u6539 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf","text":"
                                        1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\u3002

                                        2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u627e\u5230 vmcluster \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                                        3. \u70b9\u51fb\u8be5 vmcluster \u81ea\u5b9a\u4e49\u8d44\u6e90\u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u5207\u6362\u5230 insight-system \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u4ece insight-victoria-metrics-k8s-stack \u53f3\u4fa7\u83dc\u5355\u9009\u62e9 \u7f16\u8f91 YAML \u3002

                                        4. \u6839\u636e\u56fe\u4f8b\u4fee\u6539\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                        5. \u518d\u6b21\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230 vmstorage \u7ed1\u5b9a\u7684\u6570\u636e\u5377\u58f0\u660e\u786e\u8ba4\u4fee\u6539\u5df2\u751f\u6548\u3002\u5728\u67d0\u4e2a PVC \u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u5173\u8054\u5b58\u50a8\u6e90 (PV)\u3002

                                        6. \u6253\u5f00\u6570\u636e\u5377\u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u66f4\u65b0 \u6309\u94ae\u3002

                                        7. \u4fee\u6539 \u5bb9\u91cf \u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u7a0d\u7b49\u7247\u523b\u7b49\u5230\u6269\u5bb9\u6210\u529f\u3002

                                        "},{"location":"end-user/insight/quickstart/res-plan/modify-vms-disk.html#_3","title":"\u514b\u9686\u5b58\u50a8\u5377","text":"

                                        \u82e5\u5b58\u50a8\u5377\u6269\u5bb9\u5931\u8d25\uff0c\u53ef\u53c2\u8003\u4ee5\u4e0b\u65b9\u6cd5\u514b\u9686\u5b58\u50a8\u5377\u3002

                                        1. \u4ee5\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7ba1\u7406\u5458\u6743\u9650\u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\uff0c\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\u3002

                                        2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u627e\u5230 vmstorage \u7684\u6709\u72b6\u6001\u8d1f\u8f7d\uff0c\u70b9\u51fb\u76ee\u6807\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u72b6\u6001 -> \u505c\u6b62 -> \u786e\u5b9a \u3002

                                        3. \u5728\u547d\u4ee4\u884c\u4e2d\u767b\u5f55 kpanda-global-cluster \u96c6\u7fa4\u7684 master \u8282\u70b9\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u590d\u5236 vmstorage \u5bb9\u5668\u4e2d\u7684 vm-data \u76ee\u5f55\u5c06\u6307\u6807\u4fe1\u606f\u5b58\u50a8\u5728\u672c\u5730\uff1a

                                          kubectl cp -n insight-system vmstorage-insight-victoria-metrics-k8s-stack-1:vm-data ./vm-data\n
                                        4. \u767b\u5f55 AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u8fdb\u5165 kpanda-global-cluster \u96c6\u7fa4\u8be6\u60c5\uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u514b\u9686 \uff0c\u5e76\u4fee\u6539\u6570\u636e\u5377\u7684\u5bb9\u91cf\u3002

                                        5. \u5220\u9664\u4e4b\u524d vmstorage \u7684\u6570\u636e\u5377\u3002

                                        6. \u7a0d\u7b49\u7247\u523b\uff0c\u5f85\u5b58\u50a8\u5377\u58f0\u660e\u8ddf\u514b\u9686\u7684\u6570\u636e\u5377\u7ed1\u5b9a\u540e\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u7b2c 3 \u6b65\u4e2d\u5bfc\u51fa\u7684\u6570\u636e\u5bfc\u5165\u5230\u5bf9\u5e94\u7684\u5bb9\u5668\u4e2d\uff0c\u7136\u540e\u5f00\u542f\u4e4b\u524d\u6682\u505c\u7684 vmstorage \u3002

                                          kubectl cp -n insight-system ./vm-data vmstorage-insight-victoria-metrics-k8s-stack-1:vm-data\n
                                        "},{"location":"end-user/insight/quickstart/res-plan/prometheus-res.html","title":"Prometheus \u8d44\u6e90\u89c4\u5212","text":"

                                        Prometheus \u5728\u5b9e\u9645\u4f7f\u7528\u8fc7\u7a0b\u4e2d\uff0c\u53d7\u5230\u96c6\u7fa4\u5bb9\u5668\u6570\u91cf\u4ee5\u53ca\u5f00\u542f Istio \u7684\u5f71\u54cd\uff0c\u4f1a\u5bfc\u81f4 Prometheus \u7684 CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u4f7f\u7528\u91cf\u8d85\u51fa\u8bbe\u5b9a\u7684\u8d44\u6e90\u3002

                                        \u4e3a\u4e86\u4fdd\u8bc1\u4e0d\u540c\u89c4\u6a21\u96c6\u7fa4\u4e0b Prometheus \u7684\u6b63\u5e38\u8fd0\u884c\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u7684\u5b9e\u9645\u89c4\u6a21\u5bf9 Prometheus \u8fdb\u884c\u8d44\u6e90\u8c03\u6574\u3002

                                        "},{"location":"end-user/insight/quickstart/res-plan/prometheus-res.html#_1","title":"\u53c2\u8003\u8d44\u6e90\u89c4\u5212","text":"

                                        \u5728\u672a\u5f00\u542f\u7f51\u683c\u60c5\u51b5\u4e0b\uff0c\u6d4b\u8bd5\u60c5\u51b5\u7edf\u8ba1\u51fa\u7cfb\u7edf Job \u6307\u6807\u91cf\u4e0e Pod \u7684\u5173\u7cfb\u4e3a Series \u6570\u91cf = 800 * Pod \u6570\u91cf

                                        \u5728\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6\uff0c\u5f00\u542f\u529f\u80fd\u540e Pod \u4ea7\u751f\u7684 Istio \u76f8\u5173\u6307\u6807\u6570\u91cf\u7ea7\u4e3a Series \u6570\u91cf = 768 * Pod \u6570\u91cf

                                        "},{"location":"end-user/insight/quickstart/res-plan/prometheus-res.html#_2","title":"\u5f53\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"

                                        \u4ee5\u4e0b\u8d44\u6e90\u89c4\u5212\u4e3a \u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c \u573a\u666f\u4e0b\uff0cPrometheus \u7684\u8d44\u6e90\u89c4\u5212\u63a8\u8350\uff1a

                                        \u96c6\u7fa4\u89c4\u6a21(Pod \u6570) \u6307\u6807\u91cf(\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c) CPU(core) \u5185\u5b58(GB) 100 8w Request: 0.5Limit\uff1a1 Request\uff1a2GBLimit\uff1a4GB 200 16w Request\uff1a1Limit\uff1a1.5 Request\uff1a3GBLimit\uff1a6GB 300 24w Request\uff1a1Limit\uff1a2 Request\uff1a3GBLimit\uff1a6GB 400 32w Request\uff1a1Limit\uff1a2 Request\uff1a4GBLimit\uff1a8GB 500 40w Request\uff1a1.5Limit\uff1a3 Request\uff1a5GBLimit\uff1a10GB 800 64w Request\uff1a2Limit\uff1a4 Request\uff1a8GBLimit\uff1a16GB 1000 80w Request\uff1a2.5Limit\uff1a5 Request\uff1a9GBLimit\uff1a18GB 2000 160w Request\uff1a3.5Limit\uff1a7 Request\uff1a20GBLimit\uff1a40GB 3000 240w Request\uff1a4Limit\uff1a8 Request\uff1a33GBLimit\uff1a66GB"},{"location":"end-user/insight/quickstart/res-plan/prometheus-res.html#_3","title":"\u5f53\u5f00\u542f\u670d\u52a1\u7f51\u683c\u529f\u80fd\u65f6","text":"

                                        \u4ee5\u4e0b\u8d44\u6e90\u89c4\u5212\u4e3a \u5f00\u542f\u670d\u52a1\u7f51\u683c \u573a\u666f\u4e0b\uff0cPrometheus \u7684\u8d44\u6e90\u89c4\u5212\u63a8\u8350\uff1a

                                        \u96c6\u7fa4\u89c4\u6a21(Pod \u6570) \u6307\u6807\u91cf(\u5df2\u5f00\u542f\u670d\u52a1\u7f51\u683c) CPU(core) \u5185\u5b58(GB) 100 15w Request: 1Limit\uff1a2 Request\uff1a3GBLimit\uff1a6GB 200 31w Request\uff1a2Limit\uff1a3 Request\uff1a5GBLimit\uff1a10GB 300 46w Request\uff1a2Limit\uff1a4 Request\uff1a6GBLimit\uff1a12GB 400 62w Request\uff1a2Limit\uff1a4 Request\uff1a8GBLimit\uff1a16GB 500 78w Request\uff1a3Limit\uff1a6 Request\uff1a10GBLimit\uff1a20GB 800 125w Request\uff1a4Limit\uff1a8 Request\uff1a15GBLimit\uff1a30GB 1000 156w Request\uff1a5Limit\uff1a10 Request\uff1a18GBLimit\uff1a36GB 2000 312w Request\uff1a7Limit\uff1a14 Request\uff1a40GBLimit\uff1a80GB 3000 468w Request\uff1a8Limit\uff1a16 Request\uff1a65GBLimit\uff1a130GB

                                        Note

                                        1. \u8868\u683c\u4e2d\u7684 Pod \u6570\u91cf \u6307\u96c6\u7fa4\u4e2d\u57fa\u672c\u7a33\u5b9a\u8fd0\u884c\u7684 Pod \u6570\u91cf\uff0c\u5982\u51fa\u73b0\u5927\u91cf\u7684 Pod \u91cd\u542f\uff0c\u5219\u4f1a\u9020\u6210\u77ed\u65f6\u95f4\u5185\u6307\u6807\u91cf\u7684\u9661\u589e\uff0c\u6b64\u65f6\u8d44\u6e90\u9700\u8981\u8fdb\u884c\u76f8\u5e94\u4e0a\u8c03\u3002
                                        2. Prometheus \u5185\u5b58\u4e2d\u9ed8\u8ba4\u4fdd\u5b58\u4e24\u5c0f\u65f6\u6570\u636e\uff0c\u4e14\u96c6\u7fa4\u4e2d\u5f00\u542f\u4e86 Remote Write \u529f\u80fd\u65f6\uff0c\u4f1a\u5360\u7528\u4e00\u5b9a\u5185\u5b58\uff0c\u8d44\u6e90\u8d85\u914d\u6bd4\u5efa\u8bae\u914d\u7f6e\u4e3a 2\u3002
                                        3. \u8868\u683c\u4e2d\u6570\u636e\u4e3a\u63a8\u8350\u503c\uff0c\u9002\u7528\u4e8e\u901a\u7528\u60c5\u51b5\u3002\u5982\u73af\u5883\u6709\u7cbe\u786e\u7684\u8d44\u6e90\u8981\u6c42\uff0c\u5efa\u8bae\u5728\u96c6\u7fa4\u8fd0\u884c\u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u67e5\u770b\u5bf9\u5e94 Prometheus \u7684\u8d44\u6e90\u5360\u7528\u91cf\u8fdb\u884c\u7cbe\u786e\u914d\u7f6e\u3002
                                        "},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html","title":"vmstorage \u78c1\u76d8\u5bb9\u91cf\u89c4\u5212","text":"

                                        vmstorage \u662f\u8d1f\u8d23\u5b58\u50a8\u53ef\u89c2\u6d4b\u6027\u591a\u96c6\u7fa4\u6307\u6807\u3002 \u4e3a\u4fdd\u8bc1 vmstorage \u7684\u7a33\u5b9a\u6027\uff0c\u9700\u8981\u6839\u636e\u96c6\u7fa4\u6570\u91cf\u53ca\u96c6\u7fa4\u89c4\u6a21\u8c03\u6574 vmstorage \u7684\u78c1\u76d8\u5bb9\u91cf\u3002 \u66f4\u591a\u8d44\u6599\u8bf7\u53c2\u8003 vmstorage \u4fdd\u7559\u671f\u4e0e\u78c1\u76d8\u7a7a\u95f4\u3002

                                        "},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_1","title":"\u6d4b\u8bd5\u7ed3\u679c","text":"

                                        \u7ecf\u8fc7 14 \u5929\u5bf9\u4e0d\u540c\u89c4\u6a21\u7684\u96c6\u7fa4\u7684 vmstorage \u7684\u78c1\u76d8\u89c2\u6d4b\uff0c \u6211\u4eec\u53d1\u73b0 vmstorage \u7684\u78c1\u76d8\u7528\u91cf\u4e0e\u5176\u5b58\u50a8\u7684\u6307\u6807\u91cf\u548c\u5355\u4e2a\u6570\u636e\u70b9\u5360\u7528\u78c1\u76d8\u6b63\u76f8\u5173\u3002

                                        1. \u77ac\u65f6\u5b58\u50a8\u7684\u6307\u6807\u91cf increase(vm_rows{ type != \"indexdb\"}[30s]) \u4ee5\u83b7\u53d6 30s \u5185\u589e\u52a0\u7684\u6307\u6807\u91cf
                                        2. \u5355\u4e2a\u6570\u636e\u70b9 (datapoint) \u7684\u5360\u7528\u78c1\u76d8\uff1a sum(vm_data_size_bytes{type!=\"indexdb\"}) /\u00a0sum(vm_rows{type\u00a0!=\u00a0\"indexdb\"})
                                        "},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_2","title":"\u8ba1\u7b97\u65b9\u6cd5","text":"

                                        \u78c1\u76d8\u7528\u91cf = \u77ac\u65f6\u6307\u6807\u91cf x 2 x \u5355\u4e2a\u6570\u636e\u70b9\u7684\u5360\u7528\u78c1\u76d8 x 60 x 24 x \u5b58\u50a8\u65f6\u95f4 (\u5929)

                                        \u53c2\u6570\u8bf4\u660e\uff1a

                                        1. \u78c1\u76d8\u7528\u91cf\u5355\u4f4d\u4e3a Byte \u3002
                                        2. \u5b58\u50a8\u65f6\u957f(\u5929) x 60 x 24 \u5c06\u65f6\u95f4(\u5929)\u6362\u7b97\u6210\u5206\u949f\u4ee5\u4fbf\u8ba1\u7b97\u78c1\u76d8\u7528\u91cf\u3002
                                        3. Insight Agent \u4e2d Prometheus \u9ed8\u8ba4\u91c7\u96c6\u65f6\u95f4\u4e3a 30s \uff0c\u6545\u5728 1 \u5206\u949f\u5185\u4ea7\u751f\u4e24\u500d\u7684\u6307\u6807\u91cf\u3002
                                        4. vmstorage \u4e2d\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 1 \u4e2a\u6708\uff0c\u4fee\u6539\u914d\u7f6e\u8bf7\u53c2\u8003\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\u3002

                                        Warning

                                        \u8be5\u516c\u5f0f\u4e3a\u901a\u7528\u65b9\u6848\uff0c\u5efa\u8bae\u5728\u8ba1\u7b97\u7ed3\u679c\u4e0a\u9884\u7559\u5197\u4f59\u78c1\u76d8\u5bb9\u91cf\u4ee5\u4fdd\u8bc1 vmstorage \u7684\u6b63\u5e38\u8fd0\u884c\u3002

                                        "},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_3","title":"\u53c2\u8003\u5bb9\u91cf","text":"

                                        \u8868\u683c\u4e2d\u6570\u636e\u662f\u6839\u636e\u9ed8\u8ba4\u5b58\u50a8\u65f6\u95f4\u4e3a\u4e00\u4e2a\u6708 (30 \u5929)\uff0c\u5355\u4e2a\u6570\u636e\u70b9 (datapoint) \u7684\u5360\u7528\u78c1\u76d8\u53d6 0.9 \u8ba1\u7b97\u6240\u5f97\u7ed3\u679c\u3002 \u591a\u96c6\u7fa4\u573a\u666f\u4e0b\uff0cPod \u6570\u91cf\u8868\u793a\u591a\u96c6\u7fa4 Pod \u6570\u91cf\u7684\u603b\u548c\u3002

                                        "},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_4","title":"\u5f53\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"\u96c6\u7fa4\u89c4\u6a21 (Pod \u6570) \u6307\u6807\u91cf \u78c1\u76d8\u5bb9\u91cf 100 8w 6 GiB 200 16w 12 GiB 300 24w 18 GiB 400 32w 24 GiB 500 40w 30 GiB 800 64w 48 GiB 1000 80w 60 GiB 2000 160w 120 GiB 3000 240w 180 GiB"},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_5","title":"\u5f53\u5f00\u542f\u670d\u52a1\u7f51\u683c\u65f6","text":"\u96c6\u7fa4\u89c4\u6a21 (Pod \u6570) \u6307\u6807\u91cf \u78c1\u76d8\u5bb9\u91cf 100 15w 12 GiB 200 31w 24 GiB 300 46w 36 GiB 400 62w 48 GiB 500 78w 60 GiB 800 125w 94 GiB 1000 156w 120 GiB 2000 312w 235 GiB 3000 468w 350 GiB"},{"location":"end-user/insight/quickstart/res-plan/vms-res-plan.html#_6","title":"\u4e3e\u4f8b\u8bf4\u660e","text":"

                                        AI \u7b97\u529b\u4e2d\u5fc3 \u5e73\u53f0\u4e2d\u6709\u4e24\u4e2a\u96c6\u7fa4\uff0c\u5176\u4e2d\u5168\u5c40\u670d\u52a1\u96c6\u7fa4(\u5f00\u542f\u670d\u52a1\u7f51\u683c)\u4e2d\u8fd0\u884c 500 \u4e2a Pod\uff0c\u5de5\u4f5c\u96c6\u7fa4(\u672a\u5f00\u542f\u670d\u52a1\u7f51\u683c)\u8fd0\u884c\u4e86 1000 \u4e2a Pod\uff0c\u9884\u671f\u6307\u6807\u5b58 30 \u5929\u3002

                                        • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u6307\u6807\u91cf\u4e3a 800x500 + 768x500 = 784000
                                        • \u5de5\u4f5c\u96c6\u7fa4\u6307\u6807\u91cf\u4e3a 800x1000 = 800000

                                        \u5219\u5f53\u524d vmstorage \u78c1\u76d8\u7528\u91cf\u5e94\u8bbe\u7f6e\u4e3a (784000+80000)x2x0.9x60x24x31 = 124384896000 byte = 116 GiB

                                        Note

                                        \u96c6\u7fa4\u4e2d\u6307\u6807\u91cf\u4e0e Pod \u6570\u91cf\u7684\u5173\u7cfb\u53ef\u53c2\u8003 Prometheus \u8d44\u6e90\u89c4\u5212\u3002

                                        "},{"location":"end-user/insight/system-config/modify-config.html","title":"\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e","text":"

                                        \u53ef\u89c2\u6d4b\u6027\u4f1a\u9ed8\u8ba4\u6301\u4e45\u5316\u4fdd\u5b58\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u7684\u6570\u636e\uff0c\u60a8\u53ef\u53c2\u9605\u672c\u6587\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\u3002\u8be5\u6587\u6863\u4ec5\u9002\u7528\u4e8e\u5185\u7f6e\u90e8\u7f72\u7684 Elasticsearch\uff0c\u82e5\u4f7f\u7528\u5916\u90e8 Elasticsearch \u53ef\u81ea\u884c\u8c03\u6574\u3002

                                        "},{"location":"end-user/insight/system-config/modify-config.html#_2","title":"\u5982\u4f55\u4fee\u6539\u6307\u6807\u6570\u636e\u4fdd\u7559\u671f\u9650","text":"

                                        \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u6307\u6807\u6570\u636e\u4fdd\u7559\u671f\u9650\u3002

                                        1. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                          kubectl edit vmcluster insight-victoria-metrics-k8s-stack -n insight-system\n
                                        2. \u5728 Yaml \u6587\u4ef6\u4e2d\uff0c retentionPeriod \u7684\u9ed8\u8ba4\u503c\u4e3a 14 \uff0c\u5355\u4f4d\u4e3a \u5929 \u3002\u60a8\u53ef\u6839\u636e\u9700\u6c42\u4fee\u6539\u53c2\u6570\u3002

                                          apiVersion: operator.victoriametrics.com/v1beta1\nkind: VMCluster\nmetadata:\n  annotations:\n    meta.helm.sh/release-name: insight\n    meta.helm.sh/release-namespace: insight-system\n  creationTimestamp: \"2022-08-25T04:31:02Z\"\n  finalizers:\n  - apps.victoriametrics.com/finalizer\n  generation: 2\n  labels:\n    app.kubernetes.io/instance: insight\n    app.kubernetes.io/managed-by: Helm\n    app.kubernetes.io/name: victoria-metrics-k8s-stack\n    app.kubernetes.io/version: 1.77.2\n    helm.sh/chart: victoria-metrics-k8s-stack-0.9.3\n  name: insight-victoria-metrics-k8s-stack\n  namespace: insight-system\n  resourceVersion: \"123007381\"\n  uid: 55cee8d6-c651-404b-b2c9-50603b405b54\nspec:\n  replicationFactor: 1\n  retentionPeriod: \"14\"\n  vminsert:\n    extraArgs:\n      maxLabelsPerTimeseries: \"45\"\n    image:\n      repository: docker.m.daocloud.io/victoriametrics/vminsert\n      tag: v1.80.0-cluster\n      replicaCount: 1\n
                                        3. \u4fdd\u5b58\u4fee\u6539\u540e\uff0c\u8d1f\u8d23\u5b58\u50a8\u6307\u6807\u7684\u7ec4\u4ef6\u7684\u5bb9\u5668\u7ec4\u4f1a\u81ea\u52a8\u91cd\u542f\uff0c\u7a0d\u7b49\u7247\u523b\u5373\u53ef\u3002

                                        "},{"location":"end-user/insight/system-config/modify-config.html#_3","title":"\u5982\u4f55\u4fee\u6539\u65e5\u5fd7\u6570\u636e\u5b58\u50a8\u65f6\u957f","text":"

                                        \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u65e5\u5fd7\u6570\u636e\u4fdd\u7559\u671f\u9650\uff1a

                                        "},{"location":"end-user/insight/system-config/modify-config.html#json","title":"\u65b9\u6cd5\u4e00\uff1a\u4fee\u6539 Json \u6587\u4ef6","text":"
                                        1. \u4fee\u6539\u4ee5\u4e0b\u6587\u4ef6\u4e2d rollover \u5b57\u6bb5\u4e2d\u7684 max_age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002\u6ce8\u610f\u9700\u8981\u4fee\u6539\u7b2c\u4e00\u884c\u4e2d\u7684 Elastic \u7528\u6237\u540d\u548c\u5bc6\u7801\u3001IP \u5730\u5740\u548c\u7d22\u5f15\u3002

                                          curl  --insecure --location -u\"elastic:amyVt4o826e322TUVi13Ezw6\" -X PUT \"https://172.30.47.112:30468/_ilm/policy/insight-es-k8s-logs-policy?pretty\" -H 'Content-Type: application/json' -d'\n{\n    \"policy\": {\n        \"phases\": {\n            \"hot\": {\n                \"min_age\": \"0ms\",\n                \"actions\": {\n                    \"set_priority\": {\n                        \"priority\": 100\n                    },\n                    \"rollover\": {\n                        \"max_age\": \"8d\",\n                        \"max_size\": \"10gb\"\n                    }\n                }\n            },\n            \"warm\": {\n                \"min_age\": \"10d\",\n                \"actions\": {\n                    \"forcemerge\": {\n                        \"max_num_segments\": 1\n                    }\n                }\n            },\n            \"delete\": {\n                \"min_age\": \"30d\",\n                \"actions\": {\n                    \"delete\": {}\n                }\n            }\n        }\n    }\n}'\n
                                        2. \u4fee\u6539\u5b8c\u540e\uff0c\u6267\u884c\u4ee5\u4e0a\u547d\u4ee4\u3002\u5b83\u4f1a\u6253\u5370\u51fa\u5982\u4e0b\u6240\u793a\u5185\u5bb9\uff0c\u5219\u4fee\u6539\u6210\u529f\u3002

                                          {\n\"acknowledged\" : true\n}\n
                                        "},{"location":"end-user/insight/system-config/modify-config.html#ui","title":"\u65b9\u6cd5\u4e8c\uff1a\u4ece UI \u4fee\u6539","text":"
                                        1. \u767b\u5f55 kibana \uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f Stack Management \u3002

                                        2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a Index Lifecycle Polices \uff0c\u5e76\u627e\u5230\u7d22\u5f15 insight-es-k8s-logs-policy \uff0c\u70b9\u51fb\u8fdb\u5165\u8be6\u60c5\u3002

                                        3. \u5c55\u5f00 Hot phase \u914d\u7f6e\u9762\u677f\uff0c\u4fee\u6539 Maximum age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002

                                        4. \u4fee\u6539\u5b8c\u540e\uff0c\u70b9\u51fb\u9875\u9762\u5e95\u90e8\u7684 Save policy \u5373\u4fee\u6539\u6210\u529f\u3002

                                        "},{"location":"end-user/insight/system-config/modify-config.html#_4","title":"\u5982\u4f55\u4fee\u6539\u94fe\u8def\u6570\u636e\u5b58\u50a8\u65f6\u957f","text":"

                                        \u5148 ssh \u767b\u5f55\u5230\u5bf9\u5e94\u7684\u8282\u70b9\uff0c\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u4fee\u6539\u94fe\u8def\u6570\u636e\u4fdd\u7559\u671f\u9650\uff1a

                                        "},{"location":"end-user/insight/system-config/modify-config.html#json_1","title":"\u65b9\u6cd5\u4e00\uff1a\u4fee\u6539 Json \u6587\u4ef6","text":"
                                        1. \u4fee\u6539\u4ee5\u4e0b\u6587\u4ef6\u4e2d rollover \u5b57\u6bb5\u4e2d\u7684 max_age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002\u6ce8\u610f\u9700\u8981\u4fee\u6539\u7b2c\u4e00\u884c\u4e2d\u7684 Elastic \u7528\u6237\u540d\u548c\u5bc6\u7801\u3001IP \u5730\u5740\u548c\u7d22\u5f15\u3002

                                          curl --insecure --location -u\"elastic:amyVt4o826e322TUVi13Ezw6\" -X PUT \"https://172.30.47.112:30468/_ilm/policy/jaeger-ilm-policy?pretty\" -H 'Content-Type: application/json' -d'\n{\n    \"policy\": {\n        \"phases\": {\n            \"hot\": {\n                \"min_age\": \"0ms\",\n                \"actions\": {\n                    \"set_priority\": {\n                        \"priority\": 100\n                    },\n                    \"rollover\": {\n                        \"max_age\": \"6d\",\n                        \"max_size\": \"10gb\"\n                    }\n                }\n            },\n            \"warm\": {\n                \"min_age\": \"10d\",\n                \"actions\": {\n                    \"forcemerge\": {\n                        \"max_num_segments\": 1\n                    }\n                }\n            },\n            \"delete\": {\n                \"min_age\": \"30d\",\n                \"actions\": {\n                    \"delete\": {}\n                }\n            }\n        }\n    }\n}'\n
                                        2. \u4fee\u6539\u5b8c\u540e\uff0c\u5728\u63a7\u5236\u53f0\u6267\u884c\u4ee5\u4e0a\u547d\u4ee4\u3002\u5b83\u4f1a\u6253\u5370\u51fa\u5982\u4e0b\u6240\u793a\u5185\u5bb9\uff0c\u5219\u4fee\u6539\u6210\u529f\u3002

                                          {\n\"acknowledged\" : true\n}\n
                                        "},{"location":"end-user/insight/system-config/modify-config.html#ui_1","title":"\u65b9\u6cd5\u4e8c\uff1a\u4ece UI \u4fee\u6539","text":"
                                        1. \u767b\u5f55 kibana \uff0c\u9009\u62e9\u5de6\u4fa7\u5bfc\u822a\u680f Stack Management \u3002

                                        2. \u9009\u62e9\u5de6\u4fa7\u5bfc\u822a Index Lifecycle Polices \uff0c\u5e76\u627e\u5230\u7d22\u5f15 jaeger-ilm-policy \uff0c\u70b9\u51fb\u8fdb\u5165\u8be6\u60c5\u3002

                                        3. \u5c55\u5f00 Hot phase \u914d\u7f6e\u9762\u677f\uff0c\u4fee\u6539 Maximum age \u53c2\u6570\uff0c\u5e76\u8bbe\u7f6e\u4fdd\u7559\u671f\u9650\uff0c\u9ed8\u8ba4\u5b58\u50a8\u65f6\u957f\u4e3a 7d \u3002

                                        4. \u4fee\u6539\u5b8c\u540e\uff0c\u70b9\u51fb\u9875\u9762\u5e95\u90e8\u7684 Save policy \u5373\u4fee\u6539\u6210\u529f\u3002

                                        "},{"location":"end-user/insight/system-config/system-component.html","title":"\u7cfb\u7edf\u7ec4\u4ef6","text":"

                                        \u5728\u7cfb\u7edf\u7ec4\u4ef6\u9875\u9762\u53ef\u5feb\u901f\u7684\u67e5\u770b\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u72b6\u6001\uff0c\u5f53\u7cfb\u7528\u7ec4\u4ef6\u53d1\u751f\u6545\u969c\u65f6\uff0c\u4f1a\u5bfc\u81f4\u53ef\u89c2\u6d4b\u6a21\u5757\u4e2d\u7684\u90e8\u5206\u529f\u80fd\u4e0d\u53ef\u7528\u3002

                                        1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff0c
                                        2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u7cfb\u7edf\u7ba1\u7406 -> \u7cfb\u7edf\u7ec4\u4ef6 \u3002

                                        "},{"location":"end-user/insight/system-config/system-component.html#_2","title":"\u7ec4\u4ef6\u8bf4\u660e","text":"\u6a21\u5757 \u7ec4\u4ef6\u540d\u79f0 \u8bf4\u660e \u6307\u6807 vminsert-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5c06\u5404\u96c6\u7fa4\u4e2d Prometheus \u91c7\u96c6\u5230\u7684\u6307\u6807\u6570\u636e\u5199\u5165\u5b58\u50a8\u7ec4\u4ef6\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u5199\u5165\u5de5\u4f5c\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u3002 \u6307\u6807 vmalert-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u751f\u6548 VM Rule \u4e2d\u914d\u7f6e\u7684 recording \u548c Alert \u89c4\u5219\uff0c\u5e76\u5c06\u89e6\u53d1\u7684\u544a\u8b66\u89c4\u5219\u53d1\u9001\u7ed9 alertmanager\u3002 \u6307\u6807 vmalertmanager-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5728\u544a\u8b66\u89e6\u65f6\u53d1\u9001\u6d88\u606f\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u53d1\u9001\u544a\u8b66\u4fe1\u606f\u3002 \u6307\u6807 vmselect-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u67e5\u8be2\u6307\u6807\u6570\u636e\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u67e5\u8be2\u6307\u6807\u3002 \u6307\u6807 vmstorage-insight-victoria-metrics-k8s-stack \u8d1f\u8d23\u5b58\u50a8\u591a\u96c6\u7fa4\u7684\u6307\u6807\u6570\u636e\u3002 \u4eea\u8868\u76d8 grafana-deployment \u63d0\u4f9b\u76d1\u63a7\u9762\u677f\u80fd\u529b\u3002\u8be5\u7ec4\u4ef6\u5f02\u5e38\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u67e5\u770b\u5185\u7f6e\u7684\u4eea\u8868\u76d8\u3002 \u94fe\u8def insight-jaeger-collector \u8d1f\u8d23\u63a5\u6536\u00a0opentelemetry-collector\u00a0\u4e2d\u94fe\u8def\u6570\u636e\u5e76\u5c06\u5176\u8fdb\u884c\u5b58\u50a8\u3002 \u94fe\u8def insight-jaeger-query \u8d1f\u8d23\u67e5\u8be2\u5404\u96c6\u7fa4\u4e2d\u91c7\u96c6\u5230\u7684\u94fe\u8def\u6570\u636e\u3002 \u94fe\u8def insight-opentelemetry-collector \u8d1f\u8d23\u63a5\u6536\u5404\u5b50\u96c6\u7fa4\u8f6c\u53d1\u7684\u94fe\u8def\u6570\u636e \u65e5\u5fd7 elasticsearch \u8d1f\u8d23\u5b58\u50a8\u5404\u96c6\u7fa4\u7684\u65e5\u5fd7\u6570\u636e\u3002

                                        Note

                                        \u82e5\u4f7f\u7528\u5916\u90e8 Elasticsearch \u53ef\u80fd\u65e0\u6cd5\u83b7\u53d6\u90e8\u5206\u6570\u636e\u4ee5\u81f4\u4e8e Elasticsearch \u7684\u4fe1\u606f\u4e3a\u7a7a\u3002

                                        "},{"location":"end-user/insight/system-config/system-config.html","title":"\u7cfb\u7edf\u914d\u7f6e","text":"

                                        \u7cfb\u7edf\u914d\u7f6e \u5c55\u793a\u6307\u6807\u3001\u65e5\u5fd7\u3001\u94fe\u8def\u9ed8\u8ba4\u7684\u4fdd\u5b58\u65f6\u957f\u4ee5\u53ca\u9ed8\u8ba4\u7684 Apdex \u9608\u503c\u3002

                                        1. \u70b9\u51fb\u53f3\u4fa7\u5bfc\u822a\u680f\uff0c\u9009\u62e9 \u7cfb\u7edf\u914d\u7f6e\u3002

                                        2. \u4fee\u6539\u5386\u53f2\u544a\u8b66\u5b58\u50a8\u65f6\u957f\uff0c\u70b9\u51fb \u7f16\u8f91 \u8f93\u5165\u76ee\u6807\u65f6\u957f\u3002

                                          \u5f53\u5b58\u50a8\u65f6\u957f\u8bbe\u7f6e\u4e3a \"0\" \u5c06\u4e0d\u6e05\u9664\u5386\u53f2\u544a\u8b66\u3002

                                        3. \u4fee\u6539\u62d3\u6251\u56fe\u6e32\u67d3\u9ed8\u8ba4\u914d\u7f6e\uff0c\u70b9\u51fb \u7f16\u8f91 \u6839\u636e\u9700\u6c42\u5b9a\u4e49\u7cfb\u7edf\u4e2d\u62d3\u6251\u56fe\u9608\u503c\u3002

                                          \u9608\u503c\u8bbe\u7f6e\u5fc5\u987b\u5927\u4e8e 0\uff0c\u524d\u9762\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5c0f\u4e8e\u540e\u9762\u586b\u5199\u7684\u3002\u4e14\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5728\u6700\u5927\u548c\u6700\u5c0f\u7684\u8303\u56f4\u4e4b\u95f4\u3002

                                        Note

                                        \u4fee\u6539\u5176\u4ed6\u914d\u7f6e\uff0c\u8bf7\u70b9\u51fb\u67e5\u770b\u5982\u4f55\u4fee\u6539\u7cfb\u7edf\u914d\u7f6e\uff1f

                                        "},{"location":"end-user/insight/trace/service.html","title":"\u670d\u52a1\u76d1\u63a7","text":"

                                        \u5728 \u53ef\u89c2\u6d4b\u6027 Insight \u4e2d\u670d\u52a1\u662f\u6307\u4f7f\u7528 Opentelemtry SDK \u63a5\u5165\u94fe\u8def\u6570\u636e\uff0c\u670d\u52a1\u76d1\u63a7\u80fd\u591f\u8f85\u52a9\u8fd0\u7ef4\u8fc7\u7a0b\u4e2d\u89c2\u5bdf\u5e94\u7528\u7a0b\u5e8f\u7684\u6027\u80fd\u548c\u72b6\u6001\u3002

                                        \u5982\u4f55\u4f7f\u7528 OpenTelemetry \u8bf7\u53c2\u8003\u4f7f\u7528 OTel \u8d4b\u4e88\u5e94\u7528\u53ef\u89c2\u6d4b\u6027\u3002

                                        "},{"location":"end-user/insight/trace/service.html#_2","title":"\u540d\u8bcd\u89e3\u91ca","text":"
                                        • \u670d\u52a1 \uff1a\u670d\u52a1\u8868\u793a\u4e3a\u4f20\u5165\u8bf7\u6c42\u63d0\u4f9b\u76f8\u540c\u884c\u4e3a\u7684\u4e00\u7ec4\u5de5\u4f5c\u8d1f\u8f7d\u3002\u60a8\u53ef\u4ee5\u5728\u4f7f\u7528 OpenTelemetry SDK \u65f6\u5b9a\u4e49\u670d\u52a1\u540d\u79f0\u6216\u4f7f\u7528 Istio \u4e2d\u5b9a\u4e49\u7684\u540d\u79f0\u3002
                                        • \u64cd\u4f5c \uff1a\u64cd\u4f5c\u662f\u6307\u4e00\u4e2a\u670d\u52a1\u5904\u7406\u7684\u7279\u5b9a\u8bf7\u6c42\u6216\u64cd\u4f5c\uff0c\u6bcf\u4e2a Span \u90fd\u6709\u4e00\u4e2a\u64cd\u4f5c\u540d\u79f0\u3002
                                        • \u51fa\u53e3\u6d41\u91cf \uff1a\u51fa\u53e3\u6d41\u91cf\u662f\u6307\u5f53\u524d\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u7684\u6240\u6709\u6d41\u91cf\u3002
                                        • \u5165\u53e3\u6d41\u91cf \uff1a\u5165\u53e3\u6d41\u91cf\u662f\u6307\u4e0a\u6e38\u670d\u52a1\u5bf9\u5f53\u524d\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u7684\u6240\u6709\u6d41\u91cf\u3002
                                        "},{"location":"end-user/insight/trace/service.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u670d\u52a1\u5217\u8868\u9875\u9762\u5c55\u793a\u4e86\u96c6\u7fa4\u4e2d\u6240\u6709\u5df2\u63a5\u5165\u94fe\u8def\u6570\u636e\u7684\u670d\u52a1\u7684\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u7b49\u5173\u952e\u6307\u6807\u3002 \u60a8\u53ef\u4ee5\u6839\u636e\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\u5bf9\u670d\u52a1\u8fdb\u884c\u8fc7\u6ee4\uff0c\u4e5f\u53ef\u4ee5\u6309\u7167\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u5bf9\u8be5\u5217\u8868\u8fdb\u884c\u6392\u5e8f\u3002\u5217\u8868\u4e2d\u7684\u6307\u6807\u6570\u636e\u9ed8\u8ba4\u65f6\u95f4\u4e3a 1 \u5c0f\u65f6\uff0c\u60a8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002

                                        \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u770b\u670d\u52a1\u76d1\u63a7\u6307\u6807\uff1a

                                        1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\u3002

                                        2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u670d\u52a1 \u3002

                                          Attention

                                          1. \u82e5\u5217\u8868\u4e2d\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u4e3a unknown \u65f6\uff0c\u5219\u8868\u793a\u8be5\u670d\u52a1\u672a\u89c4\u8303\u63a5\u5165\uff0c\u5efa\u8bae\u91cd\u65b0\u63a5\u5165\u3002
                                          2. \u82e5\u63a5\u5165\u7684\u670d\u52a1\u5b58\u5728\u540c\u540d\u4e14\u5747\u672a\u6b63\u786e\u586b\u5199\u73af\u5883\u53d8\u91cf\u4e2d\u7684 \u547d\u540d\u7a7a\u95f4 \u65f6\uff0c\u5217\u8868\u53ca\u670d\u52a1\u8be6\u60c5\u9875\u4e2d\u5c55\u793a\u7684\u76d1\u63a7\u6570\u636e\u4e3a\u591a\u4e2a\u670d\u52a1\u7684\u6c47\u603b\u6570\u636e\u3002
                                        3. \u70b9\u51fb\u670d\u52a1\u540d (\u4ee5 insight-server \u4e3a\u4f8b)\uff0c\u70b9\u51fb\u8fdb\u5165\u670d\u52a1\u8be6\u60c5\u9875\uff0c\u67e5\u770b\u670d\u52a1\u7684\u8be6\u7ec6\u6307\u6807\u548c\u8be5\u670d\u52a1\u7684\u64cd\u4f5c\u6307\u6807\u3002

                                          1. \u5728\u670d\u52a1\u62d3\u6251\u6a21\u5757\u4e2d\uff0c\u60a8\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u6240\u9009\u670d\u52a1\u7684\u4e0a\u4e0b\u5404\u4e00\u5c42\u7684\u670d\u52a1\u62d3\u6251\uff0c\u9f20\u6807\u60ac\u6d6e\u5728\u8282\u70b9\u4e0a\u65f6\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u7684\u4fe1\u606f\u3002
                                          2. \u5728\u6d41\u91cf\u6307\u6807\u6a21\u5757\uff0c\u60a8\u53ef\u67e5\u770b\u5230\u8be5\u670d\u52a1\u9ed8\u8ba4\u4e00\u5c0f\u65f6\u5185\u5168\u90e8\u8bf7\u6c42\uff08\u5305\u542b\u5165\u53e3\u6d41\u91cf\u548c\u51fa\u53e3\u6d41\u91cf\uff09\u7684\u76d1\u63a7\u6307\u6807\u3002
                                          3. \u652f\u6301\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u65f6\u95f4\u9009\u62e9\u5668\u5feb\u901f\u9009\u62e9\u65f6\u95f4\u8303\u56f4\uff0c\u6216\u81ea\u5b9a\u4e49\u65f6\u95f4\u8303\u56f4\u3002
                                          4. \u5728 \u5173\u8054\u5bb9\u5668 \u6a21\u5757\u70b9\u51fb\u5bb9\u5668\u7ec4\u540d\u79f0\uff0c\u53ef\u8df3\u8f6c\u81f3\u5bb9\u5668\u7ec4\u8be6\u60c5\u9875\u3002

                                        4. \u70b9\u51fb Tab \u5207\u6362\u5230 \u64cd\u4f5c\u6307\u6807 \uff0c\u53ef\u67e5\u8be2\u591a\u9009\u670d\u52a1\u76f8\u540c\u64cd\u4f5c\u7684\u805a\u5408\u8d77\u6765\u7684\u6d41\u91cf\u6307\u6807\u3002

                                          1. \u652f\u6301\u5bf9\u64cd\u4f5c\u6307\u6807\u4e2d\u7684\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u3001\u8bf7\u6c42\u5ef6\u65f6\u7b49\u6307\u6807\u8fdb\u884c\u6392\u5e8f\u3002
                                          2. \u70b9\u51fb\u5355\u4e2a\u64cd\u4f5c\u540e\u7684\u56fe\u6807\uff0c\u53ef\u8df3\u8f6c\u81f3 \u8c03\u7528\u94fe \u5feb\u901f\u67e5\u8be2\u76f8\u5173\u94fe\u8def\u3002

                                        "},{"location":"end-user/insight/trace/service.html#_4","title":"\u670d\u52a1\u6307\u6807\u8bf4\u660e","text":"\u53c2\u6570 \u8bf4\u660e \u541e\u5410\u7387 \u5355\u4f4d\u65f6\u95f4\u5185\u5904\u7406\u8bf7\u6c42\u7684\u6570\u91cf\u3002 \u9519\u8bef\u7387 \u67e5\u8be2\u65f6\u95f4\u8303\u56f4\u5185\u9519\u8bef\u8bf7\u6c42\u4e0e\u8bf7\u6c42\u603b\u6570\u7684\u6bd4\u503c\u3002 P50 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 50% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002 P95 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 95% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002 P99 \u8bf7\u6c42\u5ef6\u65f6 \u5728\u6240\u6709\u7684\u8bf7\u6c42\u4e2d\uff0c\u6709 95% \u7684\u8bf7\u6c42\u54cd\u5e94\u65f6\u95f4\u5c0f\u4e8e\u6216\u7b49\u4e8e\u8be5\u503c\u3002"},{"location":"end-user/insight/trace/topology.html","title":"\u670d\u52a1\u62d3\u6251","text":"

                                        \u670d\u52a1\u62d3\u6251\u56fe\u662f\u5bf9\u670d\u52a1\u4e4b\u95f4\u8fde\u63a5\u3001\u901a\u4fe1\u548c\u4f9d\u8d56\u5173\u7cfb\u7684\u53ef\u89c6\u5316\u8868\u793a\u3002\u901a\u8fc7\u53ef\u89c6\u5316\u62d3\u6251\u4e86\u89e3\u670d\u52a1\u95f4\u7684\u8c03\u7528\u5173\u7cfb\uff0c \u67e5\u770b\u670d\u52a1\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u7684\u8c03\u7528\u53ca\u5176\u6027\u80fd\u72b6\u51b5\u3002\u62d3\u6251\u56fe\u7684\u8282\u70b9\u4e4b\u95f4\u7684\u8054\u7cfb\u4ee3\u8868\u4e24\u4e2a\u670d\u52a1\u5728\u67e5\u8be2\u65f6\u95f4\u8303\u56f4\u5185\u670d\u52a1\u4e4b\u95f4\u7684\u5b58\u5728\u8c03\u7528\u5173\u7cfb\u3002

                                        "},{"location":"end-user/insight/trace/topology.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        1. \u96c6\u7fa4\u4e2d\u5df2\u5b89\u88c5 insight-agent \u4e14\u5e94\u7528\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u3002
                                        2. \u670d\u52a1\u5df2\u901a\u8fc7 Operator \u6216 Opentelemetry SDK \u7684\u65b9\u5f0f\u63a5\u5165\u94fe\u8def\u3002
                                        "},{"location":"end-user/insight/trace/topology.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                        1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u6a21\u5757
                                        2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u670d\u52a1\u62d3\u6251
                                        3. \u5728\u62d3\u6251\u56fe\u4e2d\uff0c\u60a8\u53ef\u6309\u9700\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                                          • \u5355\u51fb \u8282\u70b9\uff0c\u4ece\u53f3\u4fa7\u5212\u51fa\u670d\u52a1\u7684\u8be6\u60c5\uff0c\u53ef\u67e5\u770b\u670d\u52a1\u7684\u8bf7\u6c42\u5ef6\u65f6\u3001\u541e\u5410\u7387\u3001\u9519\u8bef\u7387\u7684\u6307\u6807\u3002\u70b9\u51fb\u670d\u52a1\u540d\u79f0\u53ef\u8df3\u8f6c\u81f3\u5bf9\u5e94\u670d\u52a1\u7684\u8be6\u60c5\u9875\u3002
                                          • \u9f20\u6807\u60ac\u6d6e\u5728\u8fde\u7ebf\u4e0a\u65f6\uff0c\u53ef\u67e5\u770b\u4e24\u4e2a\u670d\u52a1\u4e4b\u95f4\u8bf7\u6c42\u7684\u6d41\u91cf\u6307\u6807\u3002
                                          • \u5728 \u663e\u793a\u8bbe\u7f6e \u6a21\u5757\uff0c\u53ef\u914d\u7f6e\u62d3\u6251\u56fe\u4e2d\u7684\u663e\u793a\u5143\u7d20\u3002

                                        4. \u70b9\u51fb\u53f3\u4e0b\u89d2 \u56fe\u4f8b \uff0c\u53ef\u901a\u8fc7 \u4e34\u65f6\u914d\u7f6e \u4fee\u6539\u5f53\u524d\u7684\u62d3\u6251\u56fe\u5b9a\u4e49\u7684\u6e32\u67d3\u9608\u503c\uff0c\u8df3\u51fa\u6216\u5173\u95ed\u8be5\u9875\u9762\u5373\u4f1a\u4e22\u5931\u8be5\u914d\u7f6e\u3002

                                          \u9608\u503c\u8bbe\u7f6e\u5fc5\u987b\u5927\u4e8e 0\uff0c\u524d\u9762\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5c0f\u4e8e\u540e\u9762\u586b\u5199\u7684\u3002\u4e14\u586b\u5199\u7684\u9608\u503c\u5fc5\u987b\u5728\u6700\u5927\u548c\u6700\u5c0f\u7684\u8303\u56f4\u4e4b\u95f4\u3002

                                        "},{"location":"end-user/insight/trace/topology.html#_4","title":"\u5176\u4ed6\u8282\u70b9","text":"

                                        \u5728\u670d\u52a1\u62d3\u6251\u4e2d\u4f1a\u5b58\u5728\u6e38\u79bb\u5728\u96c6\u7fa4\u4e4b\u5916\u7684\u8282\u70b9\uff0c\u8fd9\u4e9b\u6e38\u79bb\u5728\u5916\u7684\u8282\u70b9\u53ef\u5206\u6210\u4e09\u7c7b\uff1a

                                        • \u6570\u636e\u5e93
                                        • \u6d88\u606f\u961f\u5217
                                        • \u865a\u62df\u8282\u70b9

                                        • \u82e5\u670d\u52a1\u53d1\u8d77\u8bf7\u6c42\u5230\u6570\u636e\u5e93\u6216\u6d88\u606f\u961f\u5217\u65f6\uff0c\u62d3\u6251\u56fe\u4e2d\u4f1a\u9ed8\u8ba4\u5c55\u793a\u8fd9\u4e24\u7c7b\u8282\u70b9\u3002 \u800c\u865a\u62df\u670d\u52a1\u8868\u793a\u96c6\u7fa4\u5185\u670d\u52a1\u8bf7\u6c42\u4e86\u96c6\u7fa4\u5916\u7684\u8282\u70b9\u6216\u8005\u672a\u63a5\u5165\u94fe\u8def\u7684\u670d\u52a1\uff0c\u62d3\u6251\u56fe\u4e2d\u9ed8\u8ba4\u4e0d\u4f1a\u5c55\u793a \u865a\u62df\u670d\u52a1\u3002

                                        • \u5f53\u670d\u52a1\u8bf7\u6c42\u5230 MySQL\u3001PostgreSQL\u3001Oracle Database \u8fd9\u4e09\u79cd\u6570\u636e\u5e93\u65f6\uff0c\u5728\u62d3\u6251\u56fe\u4e2d\u53ef\u4ee5\u770b\u5230\u8bf7\u6c42\u7684\u8be6\u7ec6\u6570\u636e\u5e93\u7c7b\u578b\u3002

                                        "},{"location":"end-user/insight/trace/topology.html#_5","title":"\u5f00\u542f\u865a\u62df\u8282\u70b9","text":"
                                        1. \u66f4\u65b0 insight-server chart \u7684 values\uff0c\u627e\u5230\u4e0b\u56fe\u6240\u793a\u53c2\u6570\uff0c\u5c06 false \u6539\u4e3a true\u3002

                                        2. \u5728\u670d\u52a1\u62d3\u6251\u7684\u663e\u793a\u8bbe\u7f6e\u4e2d\u52fe\u9009 \u865a\u62df\u670d\u52a1 \u3002

                                        "},{"location":"end-user/insight/trace/trace.html","title":"\u94fe\u8def\u67e5\u8be2","text":"

                                        \u5728\u94fe\u8def\u67e5\u8be2\u9875\u9762\uff0c\u60a8\u53ef\u4ee5\u8fc7 TraceID \u6216\u7cbe\u786e\u67e5\u8be2\u8c03\u7528\u94fe\u8def\u8be6\u7ec6\u60c5\u51b5\u6216\u7ed3\u5408\u591a\u79cd\u6761\u4ef6\u7b5b\u9009\u67e5\u8be2\u8c03\u7528\u94fe\u8def\u3002

                                        "},{"location":"end-user/insight/trace/trace.html#_2","title":"\u540d\u8bcd\u89e3\u91ca","text":"
                                        • TraceID\uff1a\u7528\u4e8e\u6807\u8bc6\u4e00\u4e2a\u5b8c\u6574\u7684\u8bf7\u6c42\u8c03\u7528\u94fe\u8def\u3002
                                        • \u64cd\u4f5c\uff1a\u63cf\u8ff0 Span \u6240\u4ee3\u8868\u7684\u5177\u4f53\u64cd\u4f5c\u6216\u4e8b\u4ef6\u3002
                                        • \u5165\u53e3 Span\uff1a\u5165\u53e3 Span \u4ee3\u8868\u4e86\u6574\u4e2a\u8bf7\u6c42\u7684\u7b2c\u4e00\u4e2a\u8bf7\u6c42\u3002
                                        • \u5ef6\u65f6\uff1a\u6574\u4e2a\u8c03\u7528\u94fe\u4ece\u5f00\u59cb\u63a5\u6536\u8bf7\u6c42\u5230\u5b8c\u6210\u54cd\u5e94\u7684\u6301\u7eed\u65f6\u95f4\u3002
                                        • Span\uff1a\u6574\u4e2a\u94fe\u8def\u4e2d\u5305\u542b\u7684 Span \u4e2a\u6570\u3002
                                        • \u53d1\u751f\u65f6\u95f4\uff1a\u5f53\u524d\u94fe\u8def\u5f00\u59cb\u7684\u65f6\u95f4\u3002
                                        • Tag\uff1a\u4e00\u7ec4\u952e\u503c\u5bf9\u6784\u6210\u7684 Span \u6807\u7b7e\u96c6\u5408\uff0cTag \u662f\u7528\u6765\u5bf9 Span \u8fdb\u884c\u7b80\u5355\u7684\u6ce8\u89e3\u548c\u8865\u5145\uff0c\u6bcf\u4e2a Span \u53ef\u4ee5\u6709\u591a\u4e2a\u7b80\u76f4\u5bf9\u5f62\u5f0f\u7684 Tag\u3002
                                        "},{"location":"end-user/insight/trace/trace.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u67e5\u8be2\u94fe\u8def\uff1a

                                        1. \u8fdb\u5165 \u53ef\u89c2\u6d4b\u6027 \u4ea7\u54c1\u6a21\u5757\uff0c
                                        2. \u5728\u5de6\u8fb9\u5bfc\u822a\u680f\u9009\u62e9 \u94fe\u8def\u8ffd\u8e2a -> \u8c03\u7528\u94fe\u3002

                                          Note

                                          \u5217\u8868\u4e2d\u652f\u6301\u5bf9 Span \u6570\u3001\u5ef6\u65f6\u3001\u53d1\u751f\u65f6\u95f4\u8fdb\u884c\u6392\u5e8f\u3002

                                        3. \u70b9\u51fb\u7b5b\u9009\u680f\u4e2d\u7684 TraceID \u641c\u7d22 \u5207\u6362\u4f7f\u7528 TraceID \u641c\u7d22\u94fe\u8def\u3002

                                        4. \u4f7f\u7528 TraceID \u641c\u7d22\u8bf7\u8f93\u5165\u5b8c\u6574\u7684 TraceID\u3002

                                        "},{"location":"end-user/insight/trace/trace.html#_4","title":"\u5176\u4ed6\u64cd\u4f5c","text":""},{"location":"end-user/insight/trace/trace.html#_5","title":"\u67e5\u770b\u94fe\u8def\u8be6\u60c5","text":"
                                        1. \u70b9\u51fb\u94fe\u8def\u5217\u8868\u4e2d\u7684\u67d0\u4e00\u94fe\u8def\u7684 TraceID\uff0c\u53ef\u67e5\u770b\u8be5\u94fe\u8def\u7684\u8be6\u60c5\u8c03\u7528\u60c5\u51b5\u3002

                                        "},{"location":"end-user/insight/trace/trace.html#_6","title":"\u67e5\u770b\u5173\u8054\u65e5\u5fd7","text":"
                                        1. \u70b9\u51fb\u94fe\u8def\u6570\u636e\u53f3\u4fa7\u7684\u56fe\u6807\uff0c\u53ef\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u5173\u8054\u65e5\u5fd7\u3002

                                          • \u9ed8\u8ba4\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u6301\u7eed\u65f6\u95f4\u53ca\u5176\u7ed3\u675f\u4e4b\u540e\u4e00\u5206\u949f\u5185\u7684\u65e5\u5fd7\u6570\u636e\u3002
                                          • \u67e5\u8be2\u7684\u65e5\u5fd7\u5185\u5bb9\u4e3a\u65e5\u5fd7\u6587\u672c\u4e2d\u5305\u542b\u8be5\u94fe\u8def\u7684 TraceID \u7684\u65e5\u5fd7\u548c\u94fe\u8def\u8c03\u7528\u8fc7\u7a0b\u4e2d\u76f8\u5173\u7684\u5bb9\u5668\u65e5\u5fd7\u3002
                                        2. \u70b9\u51fb \u67e5\u770b\u66f4\u591a \u540e\u53ef\u5e26\u6761\u4ef6\u8df3\u8f6c\u5230 \u65e5\u5fd7\u67e5\u8be2 \u7684\u9875\u9762\u3002

                                        3. \u9ed8\u8ba4\u641c\u7d22\u5168\u90e8\u65e5\u5fd7\uff0c\u4f46\u53ef\u4e0b\u62c9\u6839\u636e\u94fe\u8def\u7684 TraceID \u6216\u94fe\u8def\u8c03\u7528\u8fc7\u7a0b\u4e2d\u76f8\u5173\u7684\u5bb9\u5668\u65e5\u5fd7\u8fdb\u884c\u8fc7\u6ee4\u3002

                                          Note

                                          \u7531\u4e8e\u94fe\u8def\u4f1a\u8de8\u96c6\u7fa4\u6216\u8de8\u547d\u540d\u7a7a\u95f4\uff0c\u82e5\u7528\u6237\u6743\u9650\u4e0d\u8db3\uff0c\u5219\u65e0\u6cd5\u67e5\u8be2\u8be5\u94fe\u8def\u7684\u5173\u8054\u65e5\u5fd7\u3002

                                        "},{"location":"end-user/k8s/add-node.html","title":"\u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9","text":"

                                        \u5982\u679c\u8282\u70b9\u4e0d\u591f\u7528\u4e86\uff0c\u53ef\u4ee5\u6dfb\u52a0\u66f4\u591a\u8282\u70b9\u5230\u96c6\u7fa4\u4e2d\u3002

                                        "},{"location":"end-user/k8s/add-node.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                        • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u5e10\u53f7
                                        • \u5df2\u521b\u5efa\u5e26 GPU \u8282\u70b9\u7684\u96c6\u7fa4
                                        • \u51c6\u5907\u4e00\u53f0\u4e91\u4e3b\u673a
                                        "},{"location":"end-user/k8s/add-node.html#_3","title":"\u6dfb\u52a0\u6b65\u9aa4","text":"
                                        1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                        2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0

                                        3. \u8fdb\u5165\u96c6\u7fa4\u6982\u89c8\u9875\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u63a5\u5165\u8282\u70b9 \u6309\u94ae

                                        4. \u6309\u7167\u5411\u5bfc\uff0c\u586b\u5199\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                                          \u57fa\u672c\u4fe1\u606f\u53c2\u6570\u914d\u7f6e

                                        5. \u5728\u5f39\u7a97\u4e2d\u70b9\u51fb \u786e\u5b9a

                                        6. \u8fd4\u56de\u8282\u70b9\u5217\u8868\uff0c\u65b0\u63a5\u5165\u7684\u8282\u70b9\u72b6\u6001\u4e3a \u63a5\u5165\u4e2d \uff0c\u7b49\u5f85\u51e0\u5206\u949f\u540e\u72b6\u6001\u53d8\u4e3a \u5065\u5eb7 \u5219\u8868\u793a\u63a5\u5165\u6210\u529f\u3002

                                        Tip

                                        \u5bf9\u4e8e\u521a\u63a5\u5165\u6210\u529f\u7684\u8282\u70b9\uff0c\u53ef\u80fd\u8fd8\u8981\u7b49 2-3 \u5206\u949f\u624d\u80fd\u8bc6\u522b\u51fa GPU\u3002

                                        "},{"location":"end-user/k8s/create-k8s.html","title":"\u521b\u5efa\u4e91\u4e0a Kubernetes \u96c6\u7fa4","text":"

                                        \u90e8\u7f72 Kubernetes \u96c6\u7fa4\u662f\u4e3a\u4e86\u652f\u6301\u9ad8\u6548\u7684 AI \u7b97\u529b\u8c03\u5ea6\u548c\u7ba1\u7406\uff0c\u5b9e\u73b0\u5f39\u6027\u4f38\u7f29\uff0c\u63d0\u4f9b\u9ad8\u53ef\u7528\u6027\uff0c\u4ece\u800c\u4f18\u5316\u6a21\u578b\u8bad\u7ec3\u548c\u63a8\u7406\u8fc7\u7a0b\u3002

                                        "},{"location":"end-user/k8s/create-k8s.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0\u5df2
                                        • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u6743\u9650\u7684\u8d26\u53f7
                                        • \u51c6\u5907\u4e00\u53f0\u5e26 GPU \u7684\u7269\u7406\u673a
                                        • \u5206\u914d\u4e24\u6bb5 IP \u5730\u5740\uff08Pod CIDR 18 \u4f4d\u3001SVC CIDR 18 \u4f4d\uff0c\u4e0d\u80fd\u4e0e\u73b0\u6709\u7f51\u6bb5\u51b2\u7a81\uff09
                                        "},{"location":"end-user/k8s/create-k8s.html#_2","title":"\u521b\u5efa\u6b65\u9aa4","text":"
                                        1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                        2. \u521b\u5efa\u5e76\u542f\u52a8 3 \u53f0\u4e0d\u5e26 GPU \u7684\u4e91\u4e3b\u673a\u7528\u4f5c\u96c6\u7fa4\u7684 Master \u8282\u70b9

                                          • \u914d\u7f6e\u8d44\u6e90\uff0cCPU 16 \u6838\uff0c\u5185\u5b58 32 GB\uff0c\u7cfb\u7edf\u76d8 200 GB\uff08ReadWriteOnce\uff09
                                          • \u7f51\u7edc\u6a21\u5f0f\u9009\u62e9 Bridge\uff08\u6865\u63a5\uff09
                                          • \u8bbe\u7f6e root \u5bc6\u7801\u6216\u6dfb\u52a0 SSH \u516c\u94a5\uff0c\u65b9\u4fbf\u4ee5 SSH \u8fde\u63a5
                                          • \u8bb0\u5f55\u597d 3 \u53f0\u4e3b\u673a\u7684 IP
                                        3. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa\u96c6\u7fa4 \u6309\u94ae

                                        4. \u6309\u7167\u5411\u5bfc\uff0c\u914d\u7f6e\u96c6\u7fa4\u7684\u5404\u9879\u53c2\u6570

                                          \u57fa\u672c\u4fe1\u606f\u8282\u70b9\u914d\u7f6e\u7f51\u7edc\u914d\u7f6eAddon \u914d\u7f6e\u9ad8\u7ea7\u914d\u7f6e

                                          \u914d\u7f6e\u5b8c\u8282\u70b9\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u5f00\u59cb\u68c0\u67e5 \uff0c

                                          \u6bcf\u4e2a\u8282\u70b9\u9ed8\u8ba4\u53ef\u8fd0\u884c 110 \u4e2a Pod\uff08\u5bb9\u5668\u7ec4\uff09\uff0c\u5982\u679c\u8282\u70b9\u914d\u7f6e\u6bd4\u8f83\u9ad8\uff0c\u53ef\u4ee5\u8c03\u6574\u5230 200 \u6216 300 \u4e2a Pod\u3002

                                        5. \u7b49\u5f85\u96c6\u7fa4\u521b\u5efa\u5b8c\u6210\u3002

                                        6. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u627e\u5230\u521a\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u5bfc\u822a\u5230 Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u641c\u7d22\u6846\u5185\u641c\u7d22 metax-gpu-extensions\uff0c\u70b9\u51fb\u5361\u7247

                                        7. \u70b9\u51fb\u53f3\u4fa7\u7684 \u5b89\u88c5 \u6309\u94ae\uff0c\u5f00\u59cb\u5b89\u88c5 GPU \u63d2\u4ef6

                                          \u5e94\u7528\u8bbe\u7f6eKubernetes \u7f16\u6392\u786e\u8ba4

                                          \u8f93\u5165\u540d\u79f0\uff0c\u9009\u62e9\u547d\u540d\u7a7a\u95f4\uff0c\u5728 YAMl \u4e2d\u4fee\u6539\u955c\u50cf\u5730\u5740\uff1a

                                        8. \u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u7b49\u5f85 metax-gpu-extensions \u72b6\u6001\u53d8\u4e3a \u5df2\u90e8\u7f72

                                        9. \u5230\u6b64\u96c6\u7fa4\u521b\u5efa\u6210\u529f\uff0c\u53ef\u4ee5\u53bb\u67e5\u770b\u96c6\u7fa4\u6240\u5305\u542b\u7684\u8282\u70b9\u3002\u4f60\u53ef\u4ee5\u53bb\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d\u5e76\u4f7f\u7528 GPU \u4e86\u3002

                                        \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d

                                        "},{"location":"end-user/k8s/remove-node.html","title":"\u79fb\u9664 GPU \u5de5\u4f5c\u8282\u70b9","text":"

                                        GPU \u8d44\u6e90\u7684\u6210\u672c\u76f8\u5bf9\u8f83\u9ad8\uff0c\u5982\u679c\u6682\u65f6\u7528\u4e0d\u5230 GPU\uff0c\u53ef\u4ee5\u5c06\u5e26 GPU \u7684\u5de5\u4f5c\u8282\u70b9\u79fb\u9664\u3002 \u4ee5\u4e0b\u6b65\u9aa4\u4e5f\u540c\u6837\u9002\u7528\u4e8e\u79fb\u9664\u666e\u901a\u5de5\u4f5c\u8282\u70b9\u3002

                                        "},{"location":"end-user/k8s/remove-node.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                        • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                        • \u6709\u4e00\u4e2a\u7ba1\u7406\u5458\u5e10\u53f7
                                        • \u5df2\u521b\u5efa\u5e26 GPU \u8282\u70b9\u7684\u96c6\u7fa4
                                        "},{"location":"end-user/k8s/remove-node.html#_2","title":"\u79fb\u9664\u6b65\u9aa4","text":"
                                        1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                        2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u5217\u8868 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0

                                        3. \u8fdb\u5165\u96c6\u7fa4\u6982\u89c8\u9875\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u8981\u79fb\u9664\u7684\u8282\u70b9\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u79fb\u9664\u8282\u70b9

                                        4. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u8282\u70b9\u540d\u79f0\uff0c\u786e\u8ba4\u65e0\u8bef\u540e\u70b9\u51fb \u5220\u9664

                                        5. \u81ea\u52a8\u8fd4\u56de\u8282\u70b9\u5217\u8868\uff0c\u72b6\u6001\u4e3a \u79fb\u9664\u4e2d \uff0c\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\uff0c\u8282\u70b9\u4e0d\u5728\u4e86\uff0c\u8bf4\u660e\u8282\u70b9\u88ab\u6210\u529f\u79fb\u9664

                                        6. \u4ece UI \u5217\u8868\u79fb\u9664\u8282\u70b9\u540e\uff0c\u901a\u8fc7 SSH \u767b\u5f55\u5230\u5df2\u79fb\u9664\u7684\u8282\u70b9\u4e3b\u673a\uff0c\u6267\u884c\u5173\u673a\u547d\u4ee4\u3002

                                        Tip

                                        \u5728 UI \u4e0a\u79fb\u9664\u8282\u70b9\u5e76\u5c06\u5176\u5173\u673a\u540e\uff0c\u8282\u70b9\u4e0a\u7684\u6570\u636e\u5e76\u672a\u88ab\u7acb\u5373\u5220\u9664\uff0c\u8282\u70b9\u6570\u636e\u4f1a\u88ab\u4fdd\u7559\u4e00\u6bb5\u65f6\u95f4\u3002

                                        "},{"location":"end-user/kpanda/backup/index.html","title":"\u5907\u4efd\u6062\u590d","text":"

                                        \u5907\u4efd\u6062\u590d\u5206\u4e3a\u5907\u4efd\u548c\u6062\u590d\u4e24\u65b9\u9762\uff0c\u5b9e\u9645\u5e94\u7528\u65f6\u9700\u8981\u5148\u5907\u4efd\u7cfb\u7edf\u5728\u67d0\u4e00\u65f6\u70b9\u7684\u6570\u636e\uff0c\u7136\u540e\u5b89\u5168\u5b58\u50a8\u5730\u5907\u4efd\u6570\u636e\u3002\u540e\u7eed\u5982\u679c\u51fa\u73b0\u6570\u636e\u635f\u574f\u3001\u4e22\u5931\u3001\u8bef\u5220\u7b49\u4e8b\u6545\uff0c\u5c31\u53ef\u4ee5\u57fa\u4e8e\u4e4b\u524d\u7684\u6570\u636e\u5907\u4efd\u5feb\u901f\u8fd8\u539f\u7cfb\u7edf\uff0c\u7f29\u77ed\u6545\u969c\u65f6\u95f4\uff0c\u51cf\u5c11\u635f\u5931\u3002

                                        • \u5728\u771f\u5b9e\u7684\u751f\u4ea7\u73af\u5883\u4e2d\uff0c\u670d\u52a1\u53ef\u80fd\u5206\u5e03\u5f0f\u5730\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u4e91\u3001\u4e0d\u540c\u533a\u57df\u6216\u53ef\u7528\u533a\uff0c\u5982\u679c\u67d0\u4e00\u4e2a\u57fa\u7840\u8bbe\u65bd\u81ea\u8eab\u51fa\u73b0\u6545\u969c\uff0c\u4f01\u4e1a\u9700\u8981\u5728\u5176\u4ed6\u53ef\u7528\u73af\u5883\u4e2d\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u8de8\u4e91/\u8de8\u96c6\u7fa4\u7684\u5907\u4efd\u6062\u590d\u663e\u5f97\u975e\u5e38\u91cd\u8981\u3002
                                        • \u5728\u5927\u89c4\u6a21\u7cfb\u7edf\u4e2d\u5f80\u5f80\u6709\u5f88\u591a\u89d2\u8272\u548c\u7528\u6237\uff0c\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u590d\u6742\uff0c\u64cd\u4f5c\u8005\u4f17\u591a\uff0c\u96be\u514d\u6709\u4eba\u8bef\u64cd\u4f5c\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4e5f\u9700\u8981\u80fd\u591f\u901a\u8fc7\u4e4b\u524d\u5907\u4efd\u7684\u6570\u636e\u5feb\u901f\u56de\u6eda\u7cfb\u7edf\uff0c\u5426\u5219\u5982\u679c\u4f9d\u8d56\u4eba\u4e3a\u6392\u67e5\u6545\u969c\u3001\u4fee\u590d\u6545\u969c\u3001\u6062\u590d\u7cfb\u7edf\u5c31\u4f1a\u8017\u8d39\u5927\u91cf\u65f6\u95f4\uff0c\u7cfb\u7edf\u4e0d\u53ef\u7528\u65f6\u95f4\u8d8a\u957f\uff0c\u4f01\u4e1a\u7684\u635f\u5931\u8d8a\u5927\u3002
                                        • \u6b64\u5916\uff0c\u8fd8\u6709\u7f51\u7edc\u653b\u51fb\u3001\u81ea\u7136\u707e\u5bb3\u3001\u8bbe\u5907\u6545\u969c\u7b49\u5404\u79cd\u56e0\u7d20\u4e5f\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u4e8b\u6545

                                        \u56e0\u6b64\uff0c\u5907\u4efd\u6062\u590d\u975e\u5e38\u91cd\u8981\uff0c\u53ef\u4ee5\u89c6\u4e4b\u4e3a\u7ef4\u62a4\u7cfb\u7edf\u7a33\u5b9a\u548c\u6570\u636e\u5b89\u5168\u7684\u6700\u540e\u4e00\u9053\u4fdd\u9669\u3002

                                        \u5907\u4efd\u901a\u5e38\u5206\u4e3a\u5168\u91cf\u5907\u4efd\u3001\u589e\u91cf\u5907\u4efd\u3001\u5dee\u5f02\u5907\u4efd\u4e09\u79cd\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u76ee\u524d\u652f\u6301\u5168\u91cf\u5907\u4efd\u548c\u589e\u91cf\u5907\u4efd\u3002

                                        \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u7684\u5907\u4efd\u6062\u590d\u53ef\u4ee5\u5206\u4e3a \u5e94\u7528\u5907\u4efd \u548c ETCD \u5907\u4efd \u4e24\u79cd\uff0c\u652f\u6301\u624b\u52a8\u5907\u4efd\uff0c\u6216\u57fa\u4e8e CronJob \u5b9a\u65f6\u81ea\u52a8\u5907\u4efd\u3002

                                        • \u5e94\u7528\u5907\u4efd

                                          \u5e94\u7528\u5907\u4efd\u6307\uff0c\u5907\u4efd\u96c6\u7fa4\u4e2d\u7684\u67d0\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\uff0c\u7136\u540e\u5c06\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6062\u590d\u5230\u672c\u96c6\u7fa4\u6216\u8005\u5176\u4ed6\u96c6\u7fa4\u3002\u652f\u6301\u5907\u4efd\u6574\u4e2a\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u8d44\u6e90\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u8fc7\u6ee4\uff0c\u4ec5\u5907\u4efd\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8d44\u6e90\u3002

                                          \u5e94\u7528\u5907\u4efd\u652f\u6301\u8de8\u96c6\u7fa4\u5907\u4efd\u6709\u72b6\u6001\u5e94\u7528\uff0c\u5177\u4f53\u6b65\u9aa4\u53ef\u53c2\u8003MySQL \u5e94\u7528\u53ca\u6570\u636e\u7684\u8de8\u96c6\u7fa4\u5907\u4efd\u6062\u590d\u3002

                                        • ETCD \u5907\u4efd

                                          etcd \u662f Kubernetes \u7684\u6570\u636e\u5b58\u50a8\u7ec4\u4ef6\uff0cKubernetes \u5c06\u81ea\u8eab\u7684\u7ec4\u4ef6\u6570\u636e\u548c\u5176\u4e2d\u7684\u5e94\u7528\u6570\u636e\u90fd\u5b58\u50a8\u5728 etcd \u4e2d\u3002\u56e0\u6b64\uff0c\u5907\u4efd etcd \u5c31\u76f8\u5f53\u4e8e\u5907\u4efd\u6574\u4e2a\u96c6\u7fa4\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u5728\u6545\u969c\u65f6\u5feb\u901f\u5c06\u96c6\u7fa4\u6062\u590d\u5230\u4e4b\u524d\u67d0\u4e00\u65f6\u70b9\u7684\u72b6\u6001\u3002

                                          \u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u76ee\u524d\u4ec5\u652f\u6301\u5c06 etcd \u5907\u4efd\u6570\u636e\u6062\u590d\u5230\u540c\u4e00\u96c6\u7fa4\uff08\u539f\u96c6\u7fa4\uff09\u3002

                                        "},{"location":"end-user/kpanda/backup/deployment.html","title":"\u5e94\u7528\u5907\u4efd","text":"

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4e3a\u5e94\u7528\u505a\u5907\u4efd\uff0c\u672c\u6559\u7a0b\u4e2d\u4f7f\u7528\u7684\u6f14\u793a\u5e94\u7528\u540d\u4e3a dao-2048 \uff0c\u5c5e\u4e8e\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

                                        "},{"location":"end-user/kpanda/backup/deployment.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5728\u5bf9\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u5907\u4efd\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u5b89\u88c5 velero \u7ec4\u4ef6\uff0c\u4e14 velero \u7ec4\u4ef6\u8fd0\u884c\u6b63\u5e38\u3002

                                        • \u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\uff08\u672c\u6559\u7a0b\u4e2d\u7684\u8d1f\u8f7d\u540d\u4e3a dao-2048 \uff09\uff0c\u5e76\u4e3a\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6253\u4e0a app: dao-2048 \u7684\u6807\u7b7e\u3002

                                        "},{"location":"end-user/kpanda/backup/deployment.html#_3","title":"\u5907\u4efd\u5de5\u4f5c\u8d1f\u8f7d","text":"

                                        \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u5907\u4efd\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d dao-2048 \u3002

                                        1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c \u70b9\u51fb \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d \u3002

                                        2. \u8fdb\u5165 \u5e94\u7528\u5907\u4efd \u5217\u8868\u9875\u9762\uff0c\u4ece\u96c6\u7fa4\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u5df2\u5b89\u88c5\u4e86 velero \u548c dao-2048 \u7684\u96c6\u7fa4\u3002 \u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa\u5907\u4efd\u8ba1\u5212 \u6309\u94ae\u3002

                                        3. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u586b\u5199\u5907\u4efd\u914d\u7f6e\u3002

                                        4. \u53c2\u8003\u4e0b\u65b9\u8bf4\u660e\u8bbe\u7f6e\u5907\u4efd\u6267\u884c\u9891\u7387\uff0c\u7136\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                          • \u5907\u4efd\u9891\u7387\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49 \u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002
                                          • \u7559\u5b58\u65f6\u957f\uff08\u5929\uff09\uff1a\u8bbe\u7f6e\u5907\u4efd\u8d44\u6e90\u4fdd\u5b58\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 30 \u5929\uff0c\u8fc7\u671f\u540e\u5c06\u4f1a\u88ab\u5220\u9664\u3002
                                          • \u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\uff1a\u662f\u5426\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\uff0c\u652f\u6301\u76f4\u63a5\u590d\u5236\u548c\u4f7f\u7528 CSI \u5feb\u7167\u4e24\u79cd\u65b9\u5f0f\u3002
                                            • \u76f4\u63a5\u590d\u5236\uff1a\u76f4\u63a5\u590d\u5236\u6570\u636e\u5377\uff08PV\uff09\u4e2d\u7684\u6570\u636e\u7528\u4e8e\u5907\u4efd\uff1b
                                            • \u4f7f\u7528 CSI \u5feb\u7167\uff1a\u4f7f\u7528 CSI \u5feb\u7167\u6765\u5907\u4efd\u6570\u636e\u5377\uff08PV\uff09\u3002\u9700\u8981\u96c6\u7fa4\u4e2d\u6709\u53ef\u7528\u4e8e\u5907\u4efd\u7684 CSI \u5feb\u7167\u7c7b\u578b\u3002

                                        5. \u70b9\u51fb \u786e\u5b9a \uff0c\u9875\u9762\u4f1a\u81ea\u52a8\u8fd4\u56de\u5e94\u7528\u5907\u4efd\u8ba1\u5212\u5217\u8868\u3002\u60a8\u53ef\u4ee5\u627e\u5230\u65b0\u5efa\u7684 dao-2048 \u5907\u4efd\u8ba1\u5212\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u9009\u62e9 \u7acb\u5373\u6267\u884c \u5f00\u59cb\u5907\u4efd\u3002

                                        6. \u6b64\u65f6\u96c6\u7fa4\u7684 \u4e0a\u4e00\u6b21\u6267\u884c\u72b6\u6001 \u5c06\u8f6c\u53d8\u4e3a \u5907\u4efd\u4e2d \u3002\u7b49\u5f85\u5907\u4efd\u5b8c\u6210\u540e\u53ef\u4ee5\u70b9\u51fb\u5907\u4efd\u8ba1\u5212\u7684\u540d\u79f0\uff0c\u67e5\u770b\u5907\u4efd\u8ba1\u5212\u8be6\u60c5\u3002

                                        Note

                                        \u5982\u679c Job \u7c7b\u578b\u7684\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u4e3a \u6267\u884c\u5b8c\u6210 \uff0c\u5219\u4e0d\u652f\u6301\u5907\u4efd\u3002

                                        "},{"location":"end-user/kpanda/backup/etcd-backup.html","title":"etcd \u5907\u4efd","text":"

                                        etcd \u5907\u4efd\u662f\u4ee5\u96c6\u7fa4\u6570\u636e\u4e3a\u6838\u5fc3\u7684\u5907\u4efd\u3002\u5728\u786c\u4ef6\u8bbe\u5907\u635f\u574f\uff0c\u5f00\u53d1\u6d4b\u8bd5\u914d\u7f6e\u9519\u8bef\u7b49\u573a\u666f\u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7 etcd \u5907\u4efd\u6062\u590d\u96c6\u7fa4\u6570\u636e\u3002

                                        \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e3a\u96c6\u7fa4\u5236\u4f5c etcd \u5907\u4efd\u3002

                                        "},{"location":"end-user/kpanda/backup/etcd-backup.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                        • \u63a5\u5165\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        • \u51c6\u5907\u4e00\u4e2a MinIO \u5b9e\u4f8b\u3002

                                        "},{"location":"end-user/kpanda/backup/etcd-backup.html#etcd_1","title":"\u521b\u5efa etcd \u5907\u4efd","text":"

                                        \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa etcd \u5907\u4efd\u3002

                                        1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u5907\u4efd\u7b56\u7565 \u3002

                                        2. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199 \u57fa\u672c\u4fe1\u606f \u3002\u586b\u5199\u5b8c\u6bd5\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u6821\u9a8c etcd \u7684\u8054\u901a\u6027\uff0c\u6821\u9a8c\u901a\u8fc7\u4e4b\u540e\u53ef\u4ee5\u8fdb\u884c\u4e0b\u4e00\u6b65\u3002

                                          • \u5907\u4efd\u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u5907\u4efd\u54ea\u4e2a\u96c6\u7fa4\u7684 etcd \u6570\u636e\uff0c\u5e76\u5728\u7ec8\u7aef\u767b\u5f55
                                          • etcd \u5730\u5740\uff1a\u683c\u5f0f\u4e3a https://${\u8282\u70b9IP}:${\u7aef\u53e3\u53f7}

                                            • \u5728\u6807\u51c6 Kubernetes \u96c6\u7fa4\u4e2d\uff0cetcd \u7684\u9ed8\u8ba4\u7aef\u53e3\u53f7\u4e3a 2379
                                            • \u5728\u516c\u6709\u4e91\u6258\u7ba1\u96c6\u7fa4\u4e2d\uff0c\u9700\u8981\u8054\u7cfb\u76f8\u5173\u5f00\u53d1\u4eba\u5458\u83b7\u53d6 etcd \u7684\u7aef\u53e3\u53f7\u3002 \u8fd9\u662f\u56e0\u4e3a\u516c\u6709\u4e91\u96c6\u7fa4\u7684\u63a7\u5236\u9762\u7ec4\u4ef6\u7531\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u7ef4\u62a4\u548c\u7ba1\u7406\uff0c\u7528\u6237\u65e0\u6cd5\u76f4\u63a5\u8bbf\u95ee\u6216\u67e5\u770b\u8fd9\u4e9b\u7ec4\u4ef6\uff0c \u4e5f\u65e0\u6cd5\u901a\u8fc7\u5e38\u89c4\u547d\u4ee4\uff08\u5982 kubectl\uff09\u65e0\u6cd5\u83b7\u53d6\u5230\u63a7\u5236\u9762\u7684\u7aef\u53e3\u7b49\u4fe1\u606f\u3002
                                            \u83b7\u53d6\u7aef\u53e3\u53f7\u7684\u65b9\u5f0f
                                            1. \u5728 kube-system \u547d\u540d\u7a7a\u95f4\u4e0b\u67e5\u627e etcd Pod

                                              kubectl get po -n kube-system | grep etcd\n
                                            2. \u83b7\u53d6 etcd Pod \u7684 listen-client-urls \u4e2d\u7684\u7aef\u53e3\u53f7

                                              kubectl get po -n kube-system ${etcd_pod_name} -oyaml | grep listen-client-urls # (1)!\n
                                              1. \u5c06 etcd_pod_name \u66ff\u6362\u4e3a\u5b9e\u9645\u7684 Pod \u540d\u79f0

                                              \u9884\u671f\u8f93\u51fa\u7ed3\u679c\u5982\u4e0b\uff0c\u8282\u70b9 IP \u540e\u7684\u6570\u5b57\u5373\u4e3a\u7aef\u53e3\u53f7:

                                              - --listen-client-urls=https://127.0.0.1:2379,https://10.6.229.191:2379\n
                                          • CA \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                                            cat /etc/kubernetes/ssl/etcd/ca.crt\n
                                          • Cert \u8bc1\u4e66\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                                            cat /etc/kubernetes/ssl/apiserver-etcd-client.crt\n
                                          • Key\uff1a\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\uff0c\u7136\u540e\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u7c98\u8d34\u5230\u5bf9\u5e94\u4f4d\u7f6e\uff1a

                                            cat /etc/kubernetes/ssl/apiserver-etcd-client.key\n

                                          Note

                                          \u70b9\u51fb\u8f93\u5165\u6846\u4e0b\u65b9\u7684 \u5982\u4f55\u83b7\u53d6 \u53ef\u4ee5\u5728 UI \u9875\u9762\u67e5\u770b\u83b7\u53d6\u5bf9\u5e94\u4fe1\u606f\u7684\u65b9\u5f0f\u3002

                                        3. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5907\u4efd\u7b56\u7565 \u3002

                                          • \u5907\u4efd\u65b9\u5f0f\uff1a\u9009\u62e9\u624b\u52a8\u5907\u4efd\u6216\u5b9a\u65f6\u5907\u4efd

                                            • \u624b\u52a8\u5907\u4efd\uff1a\u57fa\u4e8e\u5907\u4efd\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21 etcd \u5168\u91cf\u6570\u636e\u7684\u5907\u4efd\u3002
                                            • \u5b9a\u65f6\u5907\u4efd\uff1a\u6309\u7167\u8bbe\u7f6e\u7684\u5907\u4efd\u9891\u7387\u5bf9 etcd \u6570\u636e\u8fdb\u884c\u5468\u671f\u6027\u5168\u91cf\u5907\u4efd\u3002
                                          • \u5907\u4efd\u94fe\u957f\u5ea6\uff1a\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5907\u4efd\u6570\u636e\u3002\u9ed8\u8ba4\u4e3a 30 \u6761\u3002

                                          • \u5907\u4efd\u9891\u7387\uff1a\u652f\u6301\u5c0f\u65f6\u3001\u65e5\u3001\u5468\u3001\u6708\u7ea7\u522b\u548c\u81ea\u5b9a\u4e49\u65b9\u5f0f\u3002

                                        4. \u53c2\u8003\u4ee5\u4e0b\u4fe1\u606f\u586b\u5199 \u5b58\u50a8\u4f4d\u7f6e \u3002

                                          • \u5b58\u50a8\u4f9b\u5e94\u5546\uff1a\u9ed8\u8ba4\u9009\u62e9 S3 \u5b58\u50a8
                                          • \u5bf9\u8c61\u5b58\u50a8\u8bbf\u95ee\u5730\u5740\uff1aMinIO \u7684\u8bbf\u95ee\u5730\u5740
                                          • \u5b58\u50a8\u6876\uff1a\u5728 MinIO \u4e2d\u521b\u5efa\u4e00\u4e2a Bucket\uff0c\u586b\u5199 Bucket \u7684\u540d\u79f0
                                          • \u7528\u6237\u540d\uff1aMinIO \u7684\u767b\u5f55\u7528\u6237\u540d
                                          • \u5bc6\u7801\uff1aMinIO \u7684\u767b\u5f55\u5bc6\u7801

                                        5. \u70b9\u51fb \u786e\u5b9a \u540e\u9875\u9762\u81ea\u52a8\u8df3\u8f6c\u5230\u5907\u4efd\u7b56\u7565\u5217\u8868\uff0c\u53ef\u4ee5\u67e5\u770b\u76ee\u524d\u521b\u5efa\u597d\u7684\u6240\u6709\u7b56\u7565\u3002

                                          • \u5728\u7b56\u7565\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u3001\u67e5\u770b YAML\u3001\u66f4\u65b0\u7b56\u7565\u3001\u505c\u6b62\u7b56\u7565\u3001\u7acb\u5373\u6267\u884c\u7b56\u7565\u7b49\u3002
                                          • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u624b\u52a8\u65f6\uff0c\u53ef\u4ee5\u70b9\u51fb \u7acb\u5373\u6267\u884c \u8fdb\u884c\u5907\u4efd\u3002
                                          • \u5f53\u5907\u4efd\u65b9\u5f0f\u4e3a\u5b9a\u65f6\u5907\u4efd\u65f6\uff0c\u5219\u4f1a\u6839\u636e\u914d\u7f6e\u7684\u65f6\u95f4\u8fdb\u884c\u5907\u4efd\u3002

                                        "},{"location":"end-user/kpanda/backup/etcd-backup.html#_2","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u65e5\u5fd7","text":"

                                        \u70b9\u51fb \u65e5\u5fd7 \u53ef\u4ee5\u67e5\u770b\u65e5\u5fd7\u5185\u5bb9\uff0c\u9ed8\u8ba4\u5c55\u793a 100 \u884c\u3002\u82e5\u60f3\u67e5\u770b\u66f4\u591a\u65e5\u5fd7\u4fe1\u606f\u6216\u8005\u4e0b\u8f7d\u65e5\u5fd7\uff0c\u53ef\u5728\u65e5\u5fd7\u4e0a\u65b9\u6839\u636e\u63d0\u793a\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u3002

                                        "},{"location":"end-user/kpanda/backup/etcd-backup.html#_3","title":"\u67e5\u770b\u5907\u4efd\u7b56\u7565\u8be6\u60c5","text":"

                                        \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u7b56\u7565 \u9875\u7b7e\uff0c\u63a5\u7740\u70b9\u51fb\u7b56\u7565\u540d\u79f0\u53ef\u4ee5\u67e5\u770b\u7b56\u7565\u8be6\u60c5\u3002

                                        "},{"location":"end-user/kpanda/backup/etcd-backup.html#_4","title":"\u67e5\u770b\u5907\u4efd\u70b9","text":"
                                        1. \u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5907\u4efd\u6062\u590d -> etcd \u5907\u4efd \uff0c\u70b9\u51fb \u5907\u4efd\u70b9 \u9875\u7b7e\u3002
                                        2. \u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u96c6\u7fa4\u4e0b\u6240\u6709\u5907\u4efd\u4fe1\u606f\u3002

                                          \u6bcf\u6267\u884c\u4e00\u6b21\u5907\u4efd\uff0c\u5bf9\u5e94\u751f\u6210\u4e00\u4e2a\u5907\u4efd\u70b9\uff0c\u53ef\u901a\u8fc7\u6210\u529f\u72b6\u6001\u7684\u5907\u4efd\u70b9\u5feb\u901f\u6062\u590d\u5e94\u7528\u3002

                                        "},{"location":"end-user/kpanda/backup/install-velero.html","title":"\u5b89\u88c5 velero \u63d2\u4ef6","text":"

                                        velero \u662f\u4e00\u4e2a\u5907\u4efd\u548c\u6062\u590d Kubernetes \u96c6\u7fa4\u8d44\u6e90\u7684\u5f00\u6e90\u5de5\u5177\u3002\u5b83\u53ef\u4ee5\u5c06 Kubernetes \u96c6\u7fa4\u4e2d\u7684\u8d44\u6e90\u5907\u4efd\u5230\u4e91\u5b58\u50a8\u670d\u52a1\u3001\u672c\u5730\u5b58\u50a8\u6216\u5176\u4ed6\u4f4d\u7f6e\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728\u9700\u8981\u65f6\u5c06\u8fd9\u4e9b\u8d44\u6e90\u6062\u590d\u5230\u540c\u4e00\u6216\u4e0d\u540c\u7684\u96c6\u7fa4\u4e2d\u3002

                                        \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528 Helm \u5e94\u7528 \u90e8\u7f72 velero \u63d2\u4ef6\u3002

                                        "},{"location":"end-user/kpanda/backup/install-velero.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                        \u5b89\u88c5 velero \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                        • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                        • \u521b\u5efa velero \u547d\u540d\u7a7a\u95f4\u3002

                                        • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                        "},{"location":"end-user/kpanda/backup/install-velero.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                        \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 velero \u63d2\u4ef6\u3002

                                        1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5 velero \u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u641c\u7d22\u680f\u8f93\u5165 velero \u8fdb\u884c\u641c\u7d22\u3002

                                        2. \u9605\u8bfb velero \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u5b89\u88c5 4.0.2 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                                        3. \u586b\u5199\u548c\u914d\u7f6e\u53c2\u6570\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65

                                          \u57fa\u672c\u53c2\u6570\u53c2\u6570\u914d\u7f6e

                                          • \u540d\u79f0\uff1a\u5fc5\u586b\u53c2\u6570\uff0c\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09,\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
                                          • \u547d\u540d\u7a7a\u95f4\uff1a\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a velero \u547d\u540d\u7a7a\u95f4\u3002
                                          • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.0.2 \u7248\u672c\u4e3a\u4f8b\u3002
                                          • \u5c31\u7eea\u7b49\u5f85\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                                          • \u5931\u8d25\u5220\u9664\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
                                          • \u8be6\u60c5\u65e5\u5fd7\uff1a\u53ef\u9009\u53c2\u6570\uff0c\u5f00\u542f\u540e\u5c06\u8f93\u51fa\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                                          Note

                                          \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                                          • S3 Credentials\uff1a

                                            • Use secret \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true \u3002
                                            • Secret name \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e velero-s3-credential \u3002
                                            • SecretContents.aws_access_key_id = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u7528\u6237\u540d\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002
                                            • SecretContents.aws_secret_access_key = \uff1a\u914d\u7f6e\u8bbf\u95ee\u5bf9\u8c61\u5b58\u50a8\u7684\u5bc6\u7801\uff0c\u66ff\u6362 \u4e3a\u771f\u5b9e\u53c2\u6570\u3002

                                              config \"SecretContents \u6837\u4f8b\" [default] aws_access_key_id = minio aws_secret_access_key = minio123

                                            • Velero Configuration\uff1a

                                              • Backupstoragelocation \uff1avelero \u5907\u4efd\u6570\u636e\u5b58\u50a8\u7684\u4f4d\u7f6e
                                              • S3 bucket \uff1a\u7528\u4e8e\u4fdd\u5b58\u5907\u4efd\u6570\u636e\u7684\u5b58\u50a8\u6876\u540d\u79f0(\u9700\u4e3a minio \u5df2\u7ecf\u5b58\u5728\u7684\u771f\u5b9e\u5b58\u50a8\u6876)
                                              • Is default BackupStorage \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
                                              • S3 access mode \uff1avelero \u5bf9\u6570\u636e\u7684\u8bbf\u95ee\u6a21\u5f0f\uff0c\u53ef\u4ee5\u9009\u62e9
                                                • ReadWrite \uff1a\u5141\u8bb8 velero \u8bfb\u5199\u5907\u4efd\u6570\u636e
                                                • ReadOnly \uff1a\u5141\u8bb8 velero \u8bfb\u53d6\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u4fee\u6539\u5907\u4efd\u6570\u636e
                                                • WriteOnly \uff1a\u53ea\u5141\u8bb8 velero \u5199\u5165\u5907\u4efd\u6570\u636e\uff0c\u4e0d\u80fd\u8bfb\u53d6\u5907\u4efd\u6570\u636e
                                              • S3 Configs \uff1aS3 \u5b58\u50a8\uff08minio\uff09\u7684\u8be6\u7ec6\u914d\u7f6e
                                              • S3 region \uff1a\u4e91\u5b58\u50a8\u7684\u5730\u7406\u533a\u57df\u3002\u9ed8\u8ba4\u4f7f\u7528 us-east-1 \u53c2\u6570\uff0c\u7531\u7cfb\u7edf\u7ba1\u7406\u5458\u63d0\u4f9b
                                              • S3 force path style \uff1a\u4fdd\u6301\u9ed8\u8ba4\u914d\u7f6e true
                                              • S3 server URL \uff1a\u5bf9\u8c61\u5b58\u50a8\uff08minio\uff09\u7684\u63a7\u5236\u53f0\u8bbf\u95ee\u5730\u5740\uff0cminio \u4e00\u822c\u63d0\u4f9b\u4e86 UI \u8bbf\u95ee\u548c\u63a7\u5236\u53f0\u8bbf\u95ee\u4e24\u4e2a\u670d\u52a1\uff0c\u6b64\u5904\u8bf7\u4f7f\u7528\u63a7\u5236\u53f0\u8bbf\u95ee\u7684\u5730\u5740

                                              Note

                                              \u8bf7\u786e\u4fdd s3 \u5b58\u50a8\u670d\u52a1\u65f6\u95f4\u8ddf\u5907\u4efd\u8fd8\u539f\u96c6\u7fa4\u65f6\u95f4\u5dee\u572810\u5206\u949f\u4ee5\u5185\uff0c\u6700\u597d\u662f\u65f6\u95f4\u4fdd\u6301\u540c\u6b65\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u6267\u884c\u5907\u4efd\u64cd\u4f5c\u3002

                                            • migration plugin configuration\uff1a\u542f\u7528\u4e4b\u540e\uff0c\u5c06\u5728\u4e0b\u4e00\u6b65\u7684 YAML \u4ee3\u7801\u6bb5\u4e2d\u65b0\u589e\uff1a

                                              ...\ninitContainers:\n  - image: 'release.daocloud.io/kcoral/velero-plugin-for-migration:v0.3.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-migration\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-csi:v0.7.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-csi\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n  - image: 'docker.m.daocloud.io/velero/velero-plugin-for-aws:v1.9.0'\n    imagePullPolicy: IfNotPresent\n    name: velero-plugin-for-aws\n    volumeMounts:\n      - mountPath: /target\n        name: plugins\n...\n
                                            • \u786e\u8ba4 YAML \u65e0\u8bef\u540e\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 velero \u63d2\u4ef6\u7684\u5b89\u88c5\u3002 \u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c\u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                                            • "},{"location":"end-user/kpanda/clusterops/cluster-oversold.html","title":"\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356","text":"

                                              \u76ee\u524d\uff0c\u8bb8\u591a\u4e1a\u52a1\u5b58\u5728\u5cf0\u503c\u548c\u4f4e\u8c37\u7684\u73b0\u8c61\u3002\u4e3a\u4e86\u786e\u4fdd\u670d\u52a1\u7684\u6027\u80fd\u548c\u7a33\u5b9a\u6027\uff0c\u5728\u90e8\u7f72\u670d\u52a1\u65f6\uff0c\u901a\u5e38\u4f1a\u6839\u636e\u5cf0\u503c\u9700\u6c42\u6765\u7533\u8bf7\u8d44\u6e90\u3002 \u7136\u800c\uff0c\u5cf0\u503c\u671f\u53ef\u80fd\u975e\u5e38\u77ed\u6682\uff0c\u5bfc\u81f4\u5728\u975e\u5cf0\u503c\u671f\u65f6\u8d44\u6e90\u88ab\u6d6a\u8d39\u3002 \u96c6\u7fa4\u8d44\u6e90\u8d85\u5356 \u5c31\u662f\u5c06\u8fd9\u4e9b\u7533\u8bf7\u4e86\u800c\u672a\u4f7f\u7528\u7684\u8d44\u6e90\uff08\u5373\u7533\u8bf7\u91cf\u4e0e\u4f7f\u7528\u91cf\u7684\u5dee\u503c\uff09\u5229\u7528\u8d77\u6765\uff0c\u4ece\u800c\u63d0\u5347\u96c6\u7fa4\u8d44\u6e90\u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u6d6a\u8d39\u3002

                                              \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u529f\u80fd\u3002

                                              "},{"location":"end-user/kpanda/clusterops/cluster-oversold.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                              • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 Cluster Admin \uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u6388\u6743\u3002
                                              "},{"location":"end-user/kpanda/clusterops/cluster-oversold.html#_3","title":"\u5f00\u542f\u96c6\u7fa4\u8d85\u5356","text":"
                                              1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762

                                              2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e \uff0c\u7136\u540e\u9009\u62e9 \u9ad8\u7ea7\u914d\u7f6e \u9875\u7b7e

                                              3. \u6253\u5f00\u96c6\u7fa4\u8d85\u5356\uff0c\u8bbe\u7f6e\u8d85\u5356\u6bd4

                                                • \u82e5\u672a\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u70b9\u51fb \u7acb\u5373\u5b89\u88c5 \u6309\u94ae\uff0c\u5b89\u88c5\u6d41\u7a0b\u53c2\u8003\u7ba1\u7406 Helm \u5e94\u7528
                                                • \u82e5\u5df2\u5b89\u88c5 cro-operator \u63d2\u4ef6\uff0c\u6253\u5f00\u96c6\u7fa4\u8d85\u5356\u5f00\u5173\uff0c\u5219\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356\u529f\u80fd\u3002

                                                Note

                                                \u9700\u8981\u5728\u96c6\u7fa4\u4e0b\u5bf9\u5e94\u7684 namespace \u6253\u4e0a\u5982\u4e0b\u6807\u7b7e\uff0c\u96c6\u7fa4\u8d85\u5356\u7b56\u7565\u624d\u80fd\u751f\u6548\u3002

                                                clusterresourceoverrides.admission.autoscaling.openshift.io/enabled: \"true\"\n

                                              "},{"location":"end-user/kpanda/clusterops/cluster-oversold.html#_4","title":"\u4f7f\u7528\u96c6\u7fa4\u8d85\u5356","text":"

                                              \u8bbe\u7f6e\u597d\u96c6\u7fa4\u52a8\u6001\u8d44\u6e90\u8d85\u5356\u6bd4\u540e\uff0c\u4f1a\u5728\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u65f6\u751f\u6548\u3002\u4e0b\u6587\u4ee5 niginx \u4e3a\u4f8b\uff0c\u9a8c\u8bc1\u4f7f\u7528\u8d44\u6e90\u8d85\u5356\u80fd\u529b\u3002

                                              1. \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d nginx \u5e76\u8bbe\u7f6e\u5bf9\u5e94\u7684\u8d44\u6e90\u9650\u5236\u503c\uff0c\u521b\u5efa\u6d41\u7a0b\u53c2\u8003\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09

                                              2. \u67e5\u770b\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u8d44\u6e90\u7533\u8bf7\u503c\u4e0e\u9650\u5236\u503c\u7684\u6bd4\u503c\u662f\u5426\u7b26\u5408\u8d85\u552e\u6bd4

                                              "},{"location":"end-user/kpanda/clusterops/cluster-settings.html","title":"\u96c6\u7fa4\u8bbe\u7f6e","text":"

                                              \u96c6\u7fa4\u8bbe\u7f6e\u7528\u4e8e\u4e3a\u60a8\u7684\u96c6\u7fa4\u81ea\u5b9a\u4e49\u9ad8\u7ea7\u7279\u6027\u8bbe\u7f6e\uff0c\u5305\u62ec\u662f\u5426\u542f\u7528 GPU\u3001Helm \u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001Helm \u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u7b49\u3002

                                              • \u542f\u7528 GPU\uff1a\u9700\u8981\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU \u5361\u53ca\u5bf9\u5e94\u9a71\u52a8\u63d2\u4ef6\u3002

                                                \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \u3002

                                              • Helm \u64cd\u4f5c\u57fa\u7840\u955c\u50cf\u3001\u4ed3\u5e93\u5237\u65b0\u5468\u671f\u3001\u64cd\u4f5c\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\u3001\u662f\u5426\u5f00\u542f\u96c6\u7fa4\u5220\u9664\u4fdd\u62a4\uff08\u5f00\u542f\u540e\u96c6\u7fa4\u5c06\u4e0d\u80fd\u76f4\u63a5\u5378\u8f7d\uff09

                                              "},{"location":"end-user/kpanda/clusterops/latest-operations.html","title":"\u6700\u8fd1\u64cd\u4f5c","text":"

                                              \u5728\u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u6700\u8fd1\u7684\u96c6\u7fa4\u64cd\u4f5c\u8bb0\u5f55\u548c Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u4ee5\u53ca\u5404\u9879\u64cd\u4f5c\u7684 YAML \u6587\u4ef6\u548c\u65e5\u5fd7\uff0c\u4e5f\u53ef\u4ee5\u5220\u9664\u67d0\u4e00\u6761\u8bb0\u5f55\u3002

                                              \u8bbe\u7f6e Helm \u64cd\u4f5c\u7684\u4fdd\u7559\u6761\u6570\uff1a

                                              \u7cfb\u7edf\u9ed8\u8ba4\u4fdd\u7559\u6700\u8fd1 100 \u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\u3002\u82e5\u4fdd\u7559\u6761\u6570\u592a\u591a\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u6570\u636e\u5197\u4f59\uff0c\u4fdd\u7559\u6761\u6570\u592a\u5c11\u53ef\u80fd\u4f1a\u9020\u6210\u60a8\u6240\u9700\u8981\u7684\u5173\u952e\u64cd\u4f5c\u8bb0\u5f55\u7684\u7f3a\u5931\u3002\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8bbe\u7f6e\u5408\u7406\u7684\u4fdd\u7559\u6570\u91cf\u3002\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a

                                              1. \u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6700\u8fd1\u64cd\u4f5c -> Helm \u64cd\u4f5c -> \u8bbe\u7f6e\u4fdd\u7559\u6761\u6570 \u3002

                                              2. \u8bbe\u7f6e\u9700\u8981\u4fdd\u7559\u591a\u5c11\u6761 Helm \u64cd\u4f5c\u8bb0\u5f55\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                                              "},{"location":"end-user/kpanda/clusters/access-cluster.html","title":"\u8bbf\u95ee\u96c6\u7fa4","text":"

                                              \u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u76f4\u63a5\u8bbf\u95ee\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5176\u4ed6\u4e24\u79cd\u65b9\u5f0f\u8fdb\u884c\u8bbf\u95ee\u63a7\u5236\uff1a

                                              • \u901a\u8fc7 CloudShell \u5728\u7ebf\u8bbf\u95ee
                                              • \u4e0b\u8f7d\u96c6\u7fa4\u8bc1\u4e66\u540e\u901a\u8fc7 kubectl \u8fdb\u884c\u8bbf\u95ee

                                              Note

                                              \u8bbf\u95ee\u96c6\u7fa4\u65f6\uff0c\u7528\u6237\u5e94\u5177\u6709 Cluster Admin \u6743\u9650\u6216\u66f4\u9ad8\u6743\u9650\u3002

                                              "},{"location":"end-user/kpanda/clusters/access-cluster.html#cloudshell","title":"\u901a\u8fc7 CloudShell \u8bbf\u95ee","text":"
                                              1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u901a\u8fc7 CloudShell \u8bbf\u95ee\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u63a7\u5236\u53f0 \u3002

                                              2. \u5728 CloudShell \u63a7\u5236\u53f0\u6267\u884c kubectl get node \u547d\u4ee4\uff0c\u9a8c\u8bc1 CloudShell \u4e0e\u96c6\u7fa4\u7684\u8fde\u901a\u6027\u3002\u5982\u56fe\uff0c\u63a7\u5236\u53f0\u5c06\u8fd4\u56de\u96c6\u7fa4\u4e0b\u7684\u8282\u70b9\u4fe1\u606f\u3002

                                              \u73b0\u5728\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 CloudShell \u6765\u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

                                              "},{"location":"end-user/kpanda/clusters/access-cluster.html#kubectl","title":"\u901a\u8fc7 kubectl \u8bbf\u95ee","text":"

                                              \u901a\u8fc7\u672c\u5730\u8282\u70b9\u8bbf\u95ee\u5e76\u7ba1\u7406\u4e91\u7aef\u96c6\u7fa4\u65f6\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\uff1a

                                              • \u672c\u5730\u8282\u70b9\u548c\u4e91\u7aef\u96c6\u7fa4\u7684\u7f51\u7edc\u4e92\u8054\u4e92\u901a\u3002
                                              • \u5df2\u7ecf\u5c06\u96c6\u7fa4\u8bc1\u4e66\u4e0b\u8f7d\u5230\u4e86\u672c\u5730\u8282\u70b9\u3002
                                              • \u672c\u5730\u8282\u70b9\u5df2\u7ecf\u5b89\u88c5\u4e86 kubectl \u5de5\u5177\u3002\u5173\u4e8e\u8be6\u7ec6\u7684\u5b89\u88c5\u65b9\u5f0f\uff0c\u8bf7\u53c2\u9605\u5b89\u88c5 kubectl\u3002

                                              \u6ee1\u8db3\u4e0a\u8ff0\u6761\u4ef6\u540e\uff0c\u6309\u7167\u4e0b\u65b9\u6b65\u9aa4\u4ece\u672c\u5730\u8bbf\u95ee\u4e91\u7aef\u96c6\u7fa4\uff1a

                                              1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u4e0b\u8f7d\u8bc1\u4e66\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \uff0c\u5e76\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u8bc1\u4e66\u83b7\u53d6 \u3002

                                              2. \u9009\u62e9\u8bc1\u4e66\u6709\u6548\u671f\u5e76\u70b9\u51fb \u4e0b\u8f7d\u8bc1\u4e66 \u3002

                                              3. \u6253\u5f00\u4e0b\u8f7d\u597d\u7684\u96c6\u7fa4\u8bc1\u4e66\uff0c\u5c06\u8bc1\u4e66\u5185\u5bb9\u590d\u5236\u81f3\u672c\u5730\u8282\u70b9\u7684 config \u6587\u4ef6\u3002

                                                kubectl \u5de5\u5177\u9ed8\u8ba4\u4f1a\u4ece\u672c\u5730\u8282\u70b9\u7684 $HOME/.kube \u76ee\u5f55\u4e0b\u67e5\u627e\u540d\u4e3a config \u7684\u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u5b58\u50a8\u4e86\u76f8\u5173\u96c6\u7fa4\u7684\u8bbf\u95ee\u51ed\u8bc1\uff0ckubectl \u53ef\u4ee5\u51ed\u8be5\u914d\u7f6e\u6587\u4ef6\u8fde\u63a5\u81f3\u96c6\u7fa4\u3002

                                              4. \u5728\u672c\u5730\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u9a8c\u8bc1\u96c6\u7fa4\u7684\u8fde\u901a\u6027\uff1a

                                                kubectl get pod -n default\n

                                                \u9884\u671f\u7684\u8f93\u51fa\u7c7b\u4f3c\u4e8e:

                                                NAME                            READY   STATUS      RESTARTS    AGE\ndao-2048-2048-58c7f7fc5-mq7h4   1/1     Running     0           30h\n

                                              \u73b0\u5728\u60a8\u53ef\u4ee5\u5728\u672c\u5730\u901a\u8fc7 kubectl \u8bbf\u95ee\u5e76\u7ba1\u7406\u8be5\u96c6\u7fa4\u4e86\u3002

                                              "},{"location":"end-user/kpanda/clusters/cluster-role.html","title":"\u96c6\u7fa4\u89d2\u8272","text":"

                                              \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u57fa\u4e8e\u96c6\u7fa4\u7684\u4e0d\u540c\u529f\u80fd\u5b9a\u4f4d\u5bf9\u96c6\u7fa4\u8fdb\u884c\u4e86\u89d2\u8272\u5206\u7c7b\uff0c\u5e2e\u52a9\u7528\u6237\u66f4\u597d\u5730\u7ba1\u7406 IT \u57fa\u7840\u8bbe\u65bd\u3002

                                              "},{"location":"end-user/kpanda/clusters/cluster-role.html#_2","title":"\u5168\u5c40\u670d\u52a1\u96c6\u7fa4","text":"

                                              \u6b64\u96c6\u7fa4\u7528\u4e8e\u8fd0\u884c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7ec4\u4ef6\uff0c\u4f8b\u5982\u5bb9\u5668\u7ba1\u7406\u3001\u5168\u5c40\u7ba1\u7406\u3001\u53ef\u89c2\u6d4b\u6027\u3001\u955c\u50cf\u4ed3\u5e93\u7b49\u3002 \u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

                                              \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"end-user/kpanda/clusters/cluster-role.html#_3","title":"\u7ba1\u7406\u96c6\u7fa4","text":"

                                              \u6b64\u96c6\u7fa4\u7528\u4e8e\u7ba1\u7406\u5de5\u4f5c\u96c6\u7fa4\uff0c\u4e00\u822c\u4e0d\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002

                                              • \u7ecf\u5178\u6a21\u5f0f\u5c06\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u548c\u7ba1\u7406\u96c6\u7fa4\u90e8\u7f72\u5728\u4e0d\u540c\u7684\u96c6\u7fa4\uff0c\u9002\u7528\u4e8e\u4f01\u4e1a\u591a\u6570\u636e\u4e2d\u5fc3\u3001\u591a\u67b6\u6784\u7684\u573a\u666f\u3002
                                              • \u7b80\u7ea6\u6a21\u5f0f\u5c06\u7ba1\u7406\u96c6\u7fa4\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u90e8\u7f72\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u3002
                                              \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.22+ \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"end-user/kpanda/clusters/cluster-role.html#_4","title":"\u5de5\u4f5c\u96c6\u7fa4","text":"

                                              \u8fd9\u662f\u4f7f\u7528\u5bb9\u5668\u7ba1\u7406\u521b\u5efa\u7684\u96c6\u7fa4\uff0c\u4e3b\u8981\u7528\u4e8e\u627f\u8f7d\u4e1a\u52a1\u8d1f\u8f7d\u3002\u8be5\u96c6\u7fa4\u7531\u7ba1\u7406\u96c6\u7fa4\u8fdb\u884c\u7ba1\u7406\u3002

                                              \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c \u652f\u6301 K8s 1.22 \u53ca\u4ee5\u4e0a\u7248\u672c \u64cd\u4f5c\u7cfb\u7edf RedHat 7.6 x86/ARM, RedHat 7.9 x86, RedHat 8.4 x86/ARM, RedHat 8.6 x86\uff1bUbuntu 18.04 x86, Ubuntu 20.04 x86\uff1bCentOS 7.6 x86/AMD, CentOS 7.9 x86/AMD \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc Calico\u3001Cillium\u3001Multus \u548c\u5176\u5b83 CNI \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565"},{"location":"end-user/kpanda/clusters/cluster-role.html#_5","title":"\u63a5\u5165\u96c6\u7fa4","text":"

                                              \u6b64\u96c6\u7fa4\u7528\u4e8e\u63a5\u5165\u5df2\u6709\u7684\u6807\u51c6 K8s \u96c6\u7fa4\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u672c\u5730\u6570\u636e\u4e2d\u5fc3\u81ea\u5efa\u96c6\u7fa4\u3001\u516c\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u79c1\u6709\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u96c6\u7fa4\u3001\u8fb9\u7f18\u96c6\u7fa4\u3001\u4fe1\u521b\u96c6\u7fa4\u3001\u5f02\u6784\u96c6\u7fa4\u3002\u4e3b\u8981\u7528\u4e8e\u627f\u62c5\u4e1a\u52a1\u8d1f\u8f7d\u3002

                                              \u652f\u6301\u7684\u529f\u80fd \u63cf\u8ff0 K8s \u7248\u672c 1.18+ \u652f\u6301\u53cb\u5546 Vmware Tanzu\u3001Amazon EKS\u3001Redhat Openshift\u3001SUSE Rancher\u3001\u963f\u91cc ACK\u3001\u534e\u4e3a CCE\u3001\u817e\u8baf TKE\u3001\u6807\u51c6 K8s \u96c6\u7fa4\u3001\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u96c6\u7fa4\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406 \u4e0d\u652f\u6301 K8s \u8d44\u6e90\u7ba1\u7406 \u652f\u6301 \u4e91\u539f\u751f\u5b58\u50a8 \u652f\u6301 \u4e91\u539f\u751f\u7f51\u7edc \u4f9d\u8d56\u4e8e\u63a5\u5165\u96c6\u7fa4\u53d1\u884c\u7248\u7f51\u7edc\u6a21\u5f0f \u7b56\u7565\u7ba1\u7406 \u652f\u6301\u7f51\u7edc\u7b56\u7565\u3001\u914d\u989d\u7b56\u7565\u3001\u8d44\u6e90\u9650\u5236\u3001\u707e\u5907\u7b56\u7565\u3001\u5b89\u5168\u7b56\u7565

                                              Note

                                              \u4e00\u4e2a\u96c6\u7fa4\u53ef\u4ee5\u6709\u591a\u4e2a\u96c6\u7fa4\u89d2\u8272\uff0c\u4f8b\u5982\u4e00\u4e2a\u96c6\u7fa4\u65e2\u53ef\u4ee5\u662f\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\uff0c\u4e5f\u53ef\u4ee5\u662f\u7ba1\u7406\u96c6\u7fa4\u6216\u5de5\u4f5c\u96c6\u7fa4\u3002

                                              "},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html","title":"\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u8c03\u5ea6\u5668 scheduler-plugins","text":"

                                              \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u7b2c\u4e8c\u4e2a\u8c03\u5ea6\u5668 scheduler-plugins\u3002

                                              "},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_1","title":"\u4e3a\u4ec0\u4e48\u9700\u8981 scheduler-plugins\uff1f","text":"

                                              \u901a\u8fc7\u5e73\u53f0\u521b\u5efa\u7684\u96c6\u7fa4\u4e2d\u4f1a\u5b89\u88c5 K8s \u539f\u751f\u7684\u8c03\u5ea6\u5668\uff0c\u4f46\u662f\u539f\u751f\u7684\u8c03\u5ea6\u5668\u5b58\u5728\u5f88\u591a\u7684\u5c40\u9650\u6027\uff1a

                                              • \u539f\u751f\u7684\u8c03\u5ea6\u5668\u65e0\u6cd5\u6ee1\u8db3\u8c03\u5ea6\u9700\u6c42\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528 CoScheduling\u3001 CapacityScheduling \u7b49 scheduler-plugins \u63d2\u4ef6\u3002
                                              • \u5728\u7279\u6b8a\u7684\u573a\u666f\uff0c\u9700\u8981\u65b0\u7684\u8c03\u5ea6\u5668\u6765\u5b8c\u6210\u8c03\u5ea6\u4efb\u52a1\u800c\u4e0d\u5f71\u54cd\u539f\u751f\u8c03\u5ea6\u5668\u7684\u6d41\u7a0b\u3002
                                              • \u533a\u5206\u4e0d\u540c\u529f\u80fd\u7684\u8c03\u5ea6\u5668\uff0c\u901a\u8fc7\u5207\u6362\u8c03\u5ea6\u5668\u540d\u79f0\u6765\u5b9e\u73b0\u4e0d\u540c\u7684\u8c03\u5ea6\u573a\u666f\u3002

                                              \u672c\u6587\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u7684\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u5e76\u4f7f\u7528 scheduler-plugins\u3002

                                              "},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_2","title":"\u5b89\u88c5 scheduler-plugins","text":""},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                              • kubean \u662f\u5728 v0.13.0 \u7248\u672c\u63a8\u51fa\u7684\u65b0\u529f\u80fd\uff0c\u9009\u62e9\u7ba1\u7406\u96c6\u7fa4\u65f6\u8bf7\u786e\u4fdd\u7248\u672c\u4e0d\u4f4e\u4e8e\u6b64\u7248\u672c\u3002
                                              • \u5b89\u88c5 scheduler-plugins \u7248\u672c\u4e3a v0.27.8\uff0c\u8bf7\u786e\u4fdd\u96c6\u7fa4\u7248\u672c\u662f\u5426\u4e0e\u5b83\u517c\u5bb9\u3002 \u53c2\u8003\u6587\u6863 Compatibility Matrix\u3002
                                              "},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html#_2","title":"\u5b89\u88c5\u6d41\u7a0b","text":"
                                              1. \u5728 \u521b\u5efa\u96c6\u7fa4 -> \u9ad8\u7ea7\u914d\u7f6e -> \u81ea\u5b9a\u4e49\u53c2\u6570 \u4e2d\u6dfb\u52a0 scheduler-plugins \u53c2\u6570

                                                scheduler_plugins_enabled:true\nscheduler_plugins_plugin_config:\n  - name: Coscheduling\n    args:\n      permitWaitingTimeSeconds: 10 # default is 60\n

                                                \u53c2\u6570\u8bf4\u660e\uff1a

                                                • scheduler_plugins_enabled \u8bbe\u7f6e\u4e3a true \u65f6\uff0c\u5f00\u542f scheduler-plugins \u63d2\u4ef6\u80fd\u529b\u3002
                                                • \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e scheduler_plugins_enabled_plugins \u6216 scheduler_plugins_disabled_plugins \u9009\u9879\u6765\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u63d2\u4ef6\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u540d\u79f0\u3002
                                                • \u5982\u679c\u9700\u8981\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u63d2\u4ef6\u7684\u53c2\u6570\u8bf7\u914d\u7f6e scheduler_plugins_plugin_config\uff0c\u4f8b\u5982\uff1a\u8bbe\u7f6e coscheduling \u7684 permitWaitingTimeoutSeconds \u53c2\u6570\u3002 \u53c2\u9605 K8s \u5b98\u65b9\u63d2\u4ef6\u914d\u7f6e\u9879
                                              2. \u96c6\u7fa4\u521b\u5efa\u6210\u529f\u540e\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5b89\u88c5 scheduler-plugins \u548c controller \u7ec4\u4ef6\u8d1f\u8f7d\uff0c\u53ef\u4ee5\u5728\u5bf9\u5e94\u96c6\u7fa4\u7684\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e2d\u67e5\u770b\u8d1f\u8f7d\u72b6\u6001\u3002

                                              "},{"location":"end-user/kpanda/clusters/cluster-scheduler-plugin.html#scheduler-plugins_3","title":"\u4f7f\u7528 scheduler-plugins","text":"

                                              \u4ee5\u4e0b\u4ee5\u4f7f\u7528 vgpu \u8c03\u5ea6\u5668\u7684\u540c\u65f6\uff0c\u60f3\u7ed3\u5408 scheduler-plugins \u7684 coscheduling \u63d2\u4ef6\u80fd\u529b\u573a\u666f\u4e3a\u793a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528 scheduler-plugins\u3002

                                              1. \u5728 Helm \u6a21\u677f\u4e2d\u5b89\u88c5 vgpu\uff0c\u8bbe\u7f6e values.yaml \u53c2\u6570\u3002

                                                • schedulerName: scheduler-plugins-scheduler\uff0c\u8fd9\u662f kubean \u9ed8\u8ba4\u5b89\u88c5\u7684 scheduler-plugins \u7684 scheduler \u540d\u79f0\uff0c\u76ee\u524d\u4e0d\u80fd\u4fee\u6539\u3002
                                                • scheduler.kubeScheduler.enabled: false\uff0c\u4e0d\u5b89\u88c5 kube-scheduler\uff0c\u5c06 vgpu-scheduler \u4f5c\u4e3a\u5355\u72ec\u7684 extender\u3002
                                              2. \u5728 scheduler-plugins \u4e0a\u6269\u5c55 vgpu-scheduler\u3002

                                                [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
                                                apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\n

                                                \u4fee\u6539 scheduler-plugins \u7684 scheduler-config \u7684 configmap \u53c2\u6570\uff0c\u5982\u4e0b\uff1a

                                                [root@master01 charts]# kubectl get cm -n scheduler-plugins scheduler-config -ojsonpath=\"{.data.scheduler-config\\.yaml}\"\n
                                                apiVersion: kubescheduler.config.k8s.io/v1\nkind: KubeSchedulerConfiguration\nleaderElection:\n  leaderElect: false\nprofiles:\n  # Compose all plugins in one profile\n  - schedulerName: scheduler-plugins-scheduler\n    plugins:\n      multiPoint:\n        enabled:\n          - name: Coscheduling\n          - name: CapacityScheduling\n          - name: NodeResourceTopologyMatch\n          - name: NodeResourcesAllocatable\n        disabled:\n          - name: PrioritySort\npluginConfig:\n  - args:\n      permitWaitingTimeSeconds: 10\n    name: Coscheduling\nextenders:\n  - urlPrefix: \"${urlPrefix}\"\n    filterVerb: filter\n    bindVerb: bind\n    nodeCacheCapable: true\n    ignorable: true\n    httpTimeout: 30s\n    weight: 1\n    enableHTTPS: true\n    tlsConfig:\n      insecure: true\n    managedResources:\n      - name: nvidia.com/vgpu\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem\n        ignoredByScheduler: true\n      - name: nvidia.com/gpucores\n        ignoredByScheduler: true\n      - name: nvidia.com/gpumem-percentage\n        ignoredByScheduler: true\n      - name: nvidia.com/priority\n        ignoredByScheduler: true\n      - name: cambricon.com/mlunum\n        ignoredByScheduler: true\n
                                              3. \u5b89\u88c5\u5b8c vgpu-scheduler \u540e\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u521b\u5efa svc\uff0curlPrefix \u6307\u5b9a svc \u7684 URL\u3002

                                                Note

                                                • svc \u6307 pod \u670d\u52a1\u8d1f\u8f7d\uff0c\u60a8\u53ef\u4ee5\u5230\u5b89\u88c5\u4e86 nvidia-vgpu \u63d2\u4ef6\u7684\u547d\u540d\u7a7a\u95f4\u4e0b\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u62ff\u5230 443 \u7aef\u53e3\u5bf9\u5e94\u7684\u5916\u90e8\u8bbf\u95ee\u4fe1\u606f\u3002

                                                  kubectl get svc -n ${namespace} \n
                                                • urlprifix \u683c\u5f0f\u4e3a https://${ip \u5730\u5740}:${\u7aef\u53e3}

                                              4. \u5c06 scheduler-plugins \u7684 scheduler Pod \u91cd\u542f\uff0c\u52a0\u8f7d\u65b0\u7684\u914d\u7f6e\u6587\u4ef6\u3002

                                                Note

                                                \u5728\u521b\u5efa vgpu \u5e94\u7528\u65f6\u4e0d\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u540d\u79f0\uff0cvgpu-scheduler \u7684 Webhook \u4f1a\u81ea\u52a8\u5c06 Scheduler \u7684\u540d\u79f0\u4fee\u6539\u4e3a scheduler-plugins-scheduler\uff0c\u4e0d\u7528\u624b\u52a8\u6307\u5b9a\u3002

                                              "},{"location":"end-user/kpanda/clusters/cluster-status.html","title":"\u96c6\u7fa4\u72b6\u6001","text":"

                                              \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u7eb3\u7ba1\u4e24\u79cd\u7c7b\u578b\u7684\u96c6\u7fa4\uff1a\u63a5\u5165\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u3002 \u5173\u4e8e\u96c6\u7fa4\u7eb3\u7ba1\u7c7b\u578b\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1\u96c6\u7fa4\u89d2\u8272\u3002

                                              \u8fd9\u4e24\u79cd\u96c6\u7fa4\u7684\u72b6\u6001\u5982\u4e0b\u6240\u8ff0\u3002

                                              "},{"location":"end-user/kpanda/clusters/cluster-status.html#_2","title":"\u63a5\u5165\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u63a5\u5165\u4e2d\uff08Joining\uff09 \u96c6\u7fa4\u6b63\u5728\u63a5\u5165 \u89e3\u9664\u63a5\u5165\u4e2d\uff08Removing\uff09 \u96c6\u7fa4\u6b63\u5728\u89e3\u9664\u63a5\u5165 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002"},{"location":"end-user/kpanda/clusters/cluster-status.html#_3","title":"\u81ea\u5efa\u96c6\u7fa4","text":"\u72b6\u6001 \u63cf\u8ff0 \u521b\u5efa\u4e2d\uff08Creating\uff09 \u96c6\u7fa4\u6b63\u5728\u521b\u5efa \u66f4\u65b0\u4e2d\uff08Updating\uff09 \u66f4\u65b0\u96c6\u7fa4 Kubernetes \u7248\u672c \u5220\u9664\u4e2d\uff08Deleting\uff09 \u96c6\u7fa4\u6b63\u5728\u5220\u9664 \u8fd0\u884c\u4e2d\uff08Running\uff09 \u96c6\u7fa4\u6b63\u5e38\u8fd0\u884c \u672a\u77e5\uff08Unknown\uff09 \u96c6\u7fa4\u5df2\u5931\u8054\uff0c\u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\uff0c\u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002 \u521b\u5efa\u5931\u8d25\uff08Failed\uff09 \u96c6\u7fa4\u521b\u5efa\u5931\u8d25\uff0c\u8bf7\u67e5\u770b\u65e5\u5fd7\u4ee5\u83b7\u53d6\u8be6\u7ec6\u5931\u8d25\u539f\u56e0"},{"location":"end-user/kpanda/clusters/cluster-version.html","title":"\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4","text":"

                                              \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c\u63a5\u5165\u578b\u96c6\u7fa4\u548c\u81ea\u5efa\u96c6\u7fa4\u91c7\u53d6\u4e0d\u540c\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

                                              \u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u81ea\u5efa\u96c6\u7fa4\u7684\u7248\u672c\u652f\u6301\u673a\u5236\u3002

                                              Kubernetes \u793e\u533a\u652f\u6301 3 \u4e2a\u7248\u672c\u8303\u56f4\uff0c\u5982 1.26\u30011.27\u30011.28\u3002\u5f53\u793e\u533a\u65b0\u7248\u672c\u53d1\u5e03\u4e4b\u540e\uff0c\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u5c06\u4f1a\u8fdb\u884c\u9012\u589e\u3002 \u5982\u793e\u533a\u6700\u65b0\u7684 1.29 \u7248\u672c\u5df2\u7ecf\u53d1\u5e03\uff0c\u6b64\u65f6\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.27\u30011.28\u30011.29\u3002

                                              \u4f8b\u5982\uff0c\u793e\u533a\u652f\u6301\u7684\u7248\u672c\u8303\u56f4\u662f 1.25\u30011.26\u30011.27\uff0c\u5219\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u662f 1.24\u30011.25\u30011.26\uff0c\u5e76\u4e14\u4f1a\u4e3a\u7528\u6237\u63a8\u8350\u4e00\u4e2a\u7a33\u5b9a\u7684\u7248\u672c\uff0c\u5982 1.24.7\u3002

                                              \u9664\u6b64\u4e4b\u5916\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e0e\u793e\u533a\u4fdd\u6301\u9ad8\u5ea6\u540c\u6b65\uff0c\u5f53\u793e\u533a\u7248\u672c\u8fdb\u884c\u9012\u589e\u540e\uff0c\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u754c\u9762\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u7248\u672c\u8303\u56f4\u4e5f\u4f1a\u540c\u6b65\u9012\u589e\u4e00\u4e2a\u7248\u672c\u3002

                                              "},{"location":"end-user/kpanda/clusters/cluster-version.html#kubernetes","title":"Kubernetes \u7248\u672c\u652f\u6301\u8303\u56f4","text":"Kubernetes \u793e\u533a\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4 \u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u63a8\u8350\u7248\u672c \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5b89\u88c5\u5668 \u53d1\u5e03\u65f6\u95f4
                                              • 1.26
                                              • 1.27
                                              • 1.28
                                              • 1.25
                                              • 1.26
                                              • 1.27
                                              1.27.5 v0.13.0 2023.11.30"},{"location":"end-user/kpanda/clusters/create-cluster.html","title":"\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4","text":"

                                              \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\uff0c\u96c6\u7fa4\u89d2\u8272\u5206\u56db\u7c7b\uff1a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3001\u7ba1\u7406\u96c6\u7fa4\u3001\u5de5\u4f5c\u96c6\u7fa4\u3001\u63a5\u5165\u96c6\u7fa4\u3002 \u5176\u4e2d\uff0c\u63a5\u5165\u96c6\u7fa4\u53ea\u80fd\u4ece\u7b2c\u4e09\u65b9\u5382\u5546\u63a5\u5165\uff0c\u53c2\u89c1\u63a5\u5165\u96c6\u7fa4\u3002

                                              \u672c\u9875\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de5\u4f5c\u96c6\u7fa4\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u65b0\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u9700\u8981\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4fdd\u6301\u4e00\u81f4\u3002 \u5982\u9700\u4f7f\u7528\u533a\u522b\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 OS \u6216\u67b6\u6784\u7684\u8282\u70b9\u521b\u5efa\u96c6\u7fa4\uff0c\u53c2\u9605\u5728 centos \u7ba1\u7406\u5e73\u53f0\u4e0a\u521b\u5efa ubuntu \u5de5\u4f5c\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

                                              \u63a8\u8350\u4f7f\u7528 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684\u64cd\u4f5c\u7cfb\u7edf\u6765\u521b\u5efa\u96c6\u7fa4\u3002 \u5982\u60a8\u672c\u5730\u8282\u70b9\u4e0d\u5728\u4e0a\u8ff0\u652f\u6301\u8303\u56f4\uff0c\u53ef\u53c2\u8003\u5728\u975e\u4e3b\u6d41\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u521b\u5efa\u96c6\u7fa4\u8fdb\u884c\u521b\u5efa\u3002

                                              "},{"location":"end-user/kpanda/clusters/create-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                              \u521b\u5efa\u96c6\u7fa4\u4e4b\u524d\u9700\u8981\u6ee1\u8db3\u4e00\u5b9a\u7684\u524d\u63d0\u6761\u4ef6\uff1a

                                              • \u6839\u636e\u4e1a\u52a1\u9700\u6c42\u51c6\u5907\u4e00\u5b9a\u6570\u91cf\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9 OS \u7c7b\u578b\u548c CPU \u67b6\u6784\u4e00\u81f4\u3002
                                              • \u63a8\u8350 Kubernetes \u7248\u672c 1.29.5\uff0c\u5177\u4f53\u7248\u672c\u8303\u56f4\uff0c\u53c2\u9605 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u96c6\u7fa4\u7248\u672c\u652f\u6301\u4f53\u7cfb\uff0c \u76ee\u524d\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u81ea\u5efa\u5de5\u4f5c\u96c6\u7fa4\u7248\u672c\u8303\u56f4\u5728 v1.28.0-v1.30.2\u3002\u5982\u9700\u521b\u5efa\u4f4e\u7248\u672c\u7684\u96c6\u7fa4\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u7248\u672c\u652f\u6301\u8303\u56f4\u3001\u90e8\u7f72\u4e0e\u5347\u7ea7 Kubean \u5411\u4e0b\u517c\u5bb9\u7248\u672c\u3002
                                              • \u76ee\u6807\u4e3b\u673a\u9700\u8981\u5141\u8bb8 IPv4 \u8f6c\u53d1\u3002\u5982\u679c Pod \u548c Service \u4f7f\u7528\u7684\u662f IPv6\uff0c\u5219\u76ee\u6807\u670d\u52a1\u5668\u9700\u8981\u5141\u8bb8 IPv6 \u8f6c\u53d1\u3002
                                              • \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u6682\u4e0d\u63d0\u4f9b\u5bf9\u9632\u706b\u5899\u7684\u7ba1\u7406\u529f\u80fd\uff0c\u60a8\u9700\u8981\u9884\u5148\u81ea\u884c\u5b9a\u4e49\u76ee\u6807\u4e3b\u673a\u9632\u706b\u5899\u89c4\u5219\u3002\u4e3a\u4e86\u907f\u514d\u521b\u5efa\u96c6\u7fa4\u7684\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u95ee\u9898\uff0c\u5efa\u8bae\u7981\u7528\u76ee\u6807\u4e3b\u673a\u7684\u9632\u706b\u5899\u3002
                                              • \u53c2\u9605\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5\u3002
                                              "},{"location":"end-user/kpanda/clusters/create-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                              1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u4e2d\uff0c\u70b9\u51fb \u521b\u5efa\u96c6\u7fa4 \u6309\u94ae\u3002

                                              2. \u53c2\u8003\u4e0b\u5217\u8981\u6c42\u586b\u5199\u96c6\u7fa4\u57fa\u672c\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                                • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u53ea\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u8fde\u5b57\u7b26\uff08\"-\"\uff09\uff0c\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u8005\u6570\u5b57\u5f00\u5934\u548c\u7ed3\u5c3e\uff0c\u6700\u957f 63 \u4e2a\u5b57\u7b26\u3002
                                                • \u88ab\u7eb3\u7ba1\uff1a\u9009\u62e9\u7531\u54ea\u4e2a\u96c6\u7fa4\u6765\u7ba1\u7406\u6b64\u96c6\u7fa4\uff0c\u4f8b\u5982\u5728\u96c6\u7fa4\u751f\u547d\u5468\u671f\u4e2d\u521b\u5efa\u3001\u5347\u7ea7\u3001\u8282\u70b9\u6269\u7f29\u5bb9\u3001\u5220\u9664\u96c6\u7fa4\u7b49\u3002
                                                • \u8fd0\u884c\u65f6\uff1a\u9009\u62e9\u96c6\u7fa4\u7684\u8fd0\u884c\u65f6\u73af\u5883\uff0c\u76ee\u524d\u652f\u6301 containerd \u548c docker\uff0c\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6\u3002
                                                • Kubernetes \u7248\u672c\uff1a\u652f\u6301 3 \u4e2a\u7248\u672c\u8de8\u5ea6\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u88ab\u7eb3\u7ba1\u96c6\u7fa4\u6240\u652f\u6301\u7684\u7248\u672c\u3002

                                              3. \u586b\u5199\u8282\u70b9\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                                • \u9ad8\u53ef\u7528\uff1a\u5f00\u542f\u540e\u9700\u8981\u63d0\u4f9b\u81f3\u5c11 3 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u3002\u5173\u95ed\u540e\uff0c\u53ea\u63d0\u4f9b 1 \u4e2a\u63a7\u5236\u5668\u8282\u70b9\u5373\u53ef\u3002

                                                  \u751f\u4ea7\u73af\u5883\u4e2d\u5efa\u8bae\u4f7f\u7528\u9ad8\u53ef\u7528\u6a21\u5f0f\u3002

                                                • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u9009\u62e9\u901a\u8fc7\u7528\u6237\u540d/\u5bc6\u7801\u8fd8\u662f\u516c\u79c1\u94a5\u8bbf\u95ee\u8282\u70b9\u3002

                                                  \u5982\u679c\u4f7f\u7528\u516c\u79c1\u94a5\u65b9\u5f0f\u8bbf\u95ee\u8282\u70b9\uff0c\u9700\u8981\u9884\u5148\u914d\u7f6e\u8282\u70b9\u7684 SSH \u5bc6\u94a5\u3002\u53c2\u9605\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9\u3002

                                                • \u4f7f\u7528\u7edf\u4e00\u7684\u5bc6\u7801\uff1a\u5f00\u542f\u540e\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u7684\u8bbf\u95ee\u5bc6\u7801\u90fd\u76f8\u540c\uff0c\u9700\u8981\u5728\u4e0b\u65b9\u8f93\u5165\u8bbf\u95ee\u6240\u6709\u8282\u70b9\u7684\u7edf\u4e00\u5bc6\u7801\u3002\u5982\u679c\u5173\u95ed\uff0c\u5219\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u8282\u70b9\u8bbe\u7f6e\u5355\u72ec\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002

                                                • \u8282\u70b9\u4fe1\u606f\uff1a\u586b\u5199\u8282\u70b9\u540d\u79f0\u548c IP \u5730\u5740\u3002

                                                • \u81ea\u5b9a\u4e49\u53c2\u6570\uff1a\u8bbe\u7f6e\u53d8\u91cf\u63a7\u5236 Ansible \u4e0e\u8fdc\u7a0b\u4e3b\u673a\u4ea4\u4e92\u3002\u53ef\u8bbe\u7f6e\u53d8\u91cf\u53c2\u8003\u8fde\u63a5\u5230\u4e3b\u673a\uff1a\u884c\u4e3a\u6e05\u5355\u53c2\u6570
                                                • NTP \u65f6\u95f4\u540c\u6b65\uff1a\u5f00\u542f\u540e\u4f1a\u81ea\u52a8\u540c\u6b65\u5404\u4e2a\u8282\u70b9\u4e0a\u7684\u65f6\u95f4\uff0c\u9700\u8981\u63d0\u4f9b NTP \u670d\u52a1\u5668\u5730\u5740\u3002

                                              4. \u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb\u8282\u70b9\u68c0\u67e5\u3002\u5982\u679c\u68c0\u67e5\u901a\u8fc7\u5219\u7ee7\u7eed\u4e0b\u4e00\u6b65\u64cd\u4f5c\u3002\u5982\u679c\u68c0\u67e5\u672a\u901a\u8fc7\uff0c\u5219\u66f4\u65b0 \u8282\u70b9\u4fe1\u606f \u5e76\u518d\u6b21\u6267\u884c\u68c0\u67e5\u3002

                                              5. \u586b\u5199\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                                • \u7f51\u7edc\u63d2\u4ef6\uff1a\u8d1f\u8d23\u4e3a\u96c6\u7fa4\u5185\u7684 Pod \u63d0\u4f9b\u7f51\u7edc\u670d\u52a1\uff0c\u521b\u5efa\u96c6\u7fa4\u540e\u4e0d\u53ef\u66f4\u6539\u7f51\u7edc\u63d2\u4ef6\u3002\u652f\u6301 cilium \u548c calico\u3002\u9009\u62e9 none \u8868\u793a\u6682\u4e0d\u5b89\u88c5\u7f51\u7edc\u63d2\u4ef6\u3002

                                                • \u5bb9\u5668\u7f51\u6bb5\uff1a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4f7f\u7528\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a\u96c6\u7fa4\u4e0b\u5bb9\u5668\u7684\u6570\u91cf\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

                                                • \u670d\u52a1\u7f51\u6bb5\uff1a\u540c\u4e00\u96c6\u7fa4\u4e0b\u5bb9\u5668\u4e92\u76f8\u8bbf\u95ee\u65f6\u4f7f\u7528\u7684 Service \u8d44\u6e90\u7684\u7f51\u6bb5\uff0c\u51b3\u5b9a Service \u8d44\u6e90\u7684\u4e0a\u9650\u3002\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002

                                              6. \u586b\u5199\u63d2\u4ef6\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                              7. \u586b\u5199\u9ad8\u7ea7\u914d\u7f6e\u4fe1\u606f\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                                                • kubelet_max_pods \uff1a\u8bbe\u7f6e\u6bcf\u4e2a\u8282\u70b9\u7684\u6700\u5927 Pod \u6570\u91cf\uff0c\u9ed8\u8ba4\u4e3a 110 \u4e2a\u3002
                                                • hostname_overide \uff1a\u91cd\u7f6e\u4e3b\u673a\u540d\uff0c\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u503c\uff0c\u91c7\u7528\u7cfb\u7edf\u9ed8\u8ba4\u751f\u6210\u7684\u540d\u79f0\u4f5c\u4e3a\u4e3b\u673a\u540d\u79f0\u3002
                                                • kubernetes_audit \uff1aKubernetes \u7684\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                                                • auto_renew_certificate \uff1a\u5728\u6bcf\u6708\u7b2c\u4e00\u4e2a\u661f\u671f\u4e00\u81ea\u52a8\u66f4\u65b0 Kubernetes \u63a7\u5236\u5e73\u9762\u8bc1\u4e66\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002
                                                • disable_firewalld&ufw \uff1a\u7981\u7528\u9632\u706b\u5899\uff0c\u907f\u514d\u8282\u70b9\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u8bbf\u95ee\u3002
                                                • Insecure_registries \uff1a\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u914d\u7f6e\u3002\u4f7f\u7528\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u521b\u5efa\u96c6\u7fa4\u65f6\uff0c\u4e3a\u4e86\u907f\u514d\u8bc1\u4e66\u95ee\u9898\u5bfc\u81f4\u5bb9\u5668\u5f15\u64ce\u62d2\u7edd\u8bbf\u95ee\uff0c\u9700\u8981\u5728\u8fd9\u91cc\u586b\u5199\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u5730\u5740\uff0c\u4ee5\u7ed5\u8fc7\u5bb9\u5668\u5f15\u64ce\u7684\u8bc1\u4e66\u8ba4\u8bc1\u800c\u83b7\u53d6\u955c\u50cf\u3002
                                                • yum_repos \uff1a\u586b\u5199 Yum \u6e90\u4ed3\u5e93\u5730\u5740\u3002\u79bb\u7ebf\u73af\u5883\u4e0b\uff0c\u9ed8\u8ba4\u7ed9\u51fa\u7684\u5730\u5740\u9009\u9879\u4ec5\u4f9b\u53c2\u8003\uff0c\u8bf7\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u586b\u5199\u3002

                                              Success

                                              • \u586b\u5199\u6b63\u786e\u4fe1\u606f\u5e76\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u9875\u9762\u4f1a\u63d0\u793a\u96c6\u7fa4\u6b63\u5728\u521b\u5efa\u4e2d\u3002
                                              • \u521b\u5efa\u96c6\u7fa4\u8017\u65f6\u8f83\u957f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u5f85\u3002\u5176\u95f4\uff0c\u53ef\u4ee5\u70b9\u51fb \u8fd4\u56de\u96c6\u7fa4\u5217\u8868 \u6309\u94ae\u8ba9\u5b89\u88c5\u8fc7\u7a0b\u540e\u53f0\u8fd0\u884c\u3002
                                              • \u5982\u9700\u67e5\u770b\u5f53\u524d\u72b6\u6001\uff0c\u53ef\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u3002

                                              Note

                                              • \u5f53\u96c6\u7fa4\u51fa\u73b0\u672a\u77e5\u72b6\u6001\u65f6\uff0c\u8868\u793a\u5f53\u524d\u96c6\u7fa4\u5df2\u5931\u8054\u3002
                                              • \u7cfb\u7edf\u5c55\u793a\u6570\u636e\u4e3a\u5931\u8054\u524d\u7f13\u5b58\u6570\u636e\uff0c\u4e0d\u4ee3\u8868\u771f\u5b9e\u6570\u636e\u3002
                                              • \u540c\u65f6\u5931\u8054\u72b6\u6001\u4e0b\u6267\u884c\u7684\u4efb\u4f55\u64cd\u4f5c\u90fd\u5c06\u4e0d\u751f\u6548\uff0c\u8bf7\u68c0\u67e5\u96c6\u7fa4\u7f51\u7edc\u8fde\u901a\u6027\u6216\u4e3b\u673a\u72b6\u6001\u3002

                                              "},{"location":"end-user/kpanda/clusters/delete-cluster.html","title":"\u5378\u8f7d/\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

                                              \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0 \u521b\u5efa\u7684\u96c6\u7fa4 \u652f\u6301 \u5378\u8f7d\u96c6\u7fa4 \u6216 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\uff0c\u4ece\u5176\u4ed6\u73af\u5883\u76f4\u63a5 \u63a5\u5165\u7684\u96c6\u7fa4 \u4ec5\u652f\u6301 \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u3002

                                              Info

                                              \u5982\u679c\u60f3\u5f7b\u5e95\u5220\u9664\u4e00\u4e2a\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u9700\u8981\u524d\u5f80\u521b\u5efa\u8be5\u96c6\u7fa4\u7684\u539f\u59cb\u5e73\u53f0\u64cd\u4f5c\u3002\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0d\u652f\u6301\u5220\u9664\u63a5\u5165\u7684\u96c6\u7fa4\u3002

                                              \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\uff0c \u5378\u8f7d\u96c6\u7fa4 \u548c \u89e3\u9664\u63a5\u5165 \u7684\u533a\u522b\u5728\u4e8e\uff1a

                                              • \u5378\u8f7d\u96c6\u7fa4 \u64cd\u4f5c\u4f1a\u9500\u6bc1\u8be5\u96c6\u7fa4\uff0c\u5e76\u91cd\u7f6e\u96c6\u7fa4\u4e0b\u6240\u6709\u8282\u70b9\u7684\u6570\u636e\u3002\u6240\u6709\u6570\u636e\u90fd\u5c06\u88ab\u9500\u6bc1\uff0c\u5efa\u8bae\u505a\u597d\u5907\u4efd\u3002\u540e\u671f\u9700\u8981\u65f6\u5fc5\u987b\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u96c6\u7fa4\u3002
                                              • \u89e3\u9664\u63a5\u5165 \u64cd\u4f5c\u4f1a\u5c06\u5f53\u524d\u96c6\u7fa4\u4ece\u5e73\u53f0\u4e2d\u79fb\u9664\uff0c\u4e0d\u4f1a\u6467\u6bc1\u96c6\u7fa4\uff0c\u4e5f\u4e0d\u4f1a\u9500\u6bc1\u6570\u636e\u3002
                                              "},{"location":"end-user/kpanda/clusters/delete-cluster.html#_2","title":"\u5378\u8f7d\u96c6\u7fa4","text":"

                                              Note

                                              • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u5378\u8f7d\u96c6\u7fa4\u7684\u64cd\u4f5c\u3002
                                              • \u5378\u8f7d\u96c6\u7fa4\u4e4b\u524d\uff0c\u5e94\u8be5\u5148\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u5728 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \u4e2d\u5173\u95ed \u96c6\u7fa4\u5220\u9664\u4fdd\u62a4 \uff0c \u5426\u5219\u4e0d\u663e\u793a \u5378\u8f7d\u96c6\u7fa4 \u7684\u9009\u9879\u3002
                                              • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u5378\u8f7d\u6216\u79fb\u9664\u64cd\u4f5c\u3002
                                              1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u5378\u8f7d\u96c6\u7fa4 \u3002

                                              2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u3002

                                                \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u6267\u884c\u5378\u8f7d\u64cd\u4f5c\u3002

                                              3. \u8fd4\u56de \u96c6\u7fa4\u5217\u8868 \u9875\u53ef\u4ee5\u770b\u5230\u8be5\u96c6\u7fa4\u7684\u72b6\u6001\u5df2\u7ecf\u53d8\u6210 \u5220\u9664\u4e2d \u3002\u5378\u8f7d\u96c6\u7fa4\u53ef\u80fd\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5019\u3002

                                              "},{"location":"end-user/kpanda/clusters/delete-cluster.html#_3","title":"\u89e3\u9664\u63a5\u5165\u96c6\u7fa4","text":"

                                              Note

                                              • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 Admin \u6216 Kpanda Owner \u6743\u9650\u624d\u80fd\u6267\u884c\u89e3\u9664\u63a5\u5165\u7684\u64cd\u4f5c\u3002
                                              • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4 \u4e0d\u652f\u6301\u89e3\u9664\u63a5\u5165\u3002
                                              1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u9700\u8981\u5378\u8f7d\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

                                              2. \u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u89e3\u9664\u63a5\u5165 \u3002

                                                \u5982\u679c\u63d0\u793a\u96c6\u7fa4\u4e2d\u8fd8\u6709\u4e00\u4e9b\u6b8b\u7559\u7684\u8d44\u6e90\uff0c\u5219\u9700\u8981\u6309\u63d0\u793a\u5220\u9664\u76f8\u5173\u8d44\u6e90\u540e\u624d\u80fd\u89e3\u9664\u63a5\u5165\u3002

                                              "},{"location":"end-user/kpanda/clusters/delete-cluster.html#_4","title":"\u6e05\u7406\u89e3\u9664\u63a5\u5165\u96c6\u7fa4\u914d\u7f6e\u6570\u636e","text":"

                                              \u96c6\u7fa4\u88ab\u79fb\u9664\u540e\uff0c\u96c6\u7fa4\u4e2d\u539f\u6709\u7684\u7ba1\u7406\u5e73\u53f0\u6570\u636e\u4e0d\u4f1a\u88ab\u81ea\u52a8\u6e05\u9664\uff0c\u5982\u9700\u5c06\u96c6\u7fa4\u63a5\u5165\u81f3\u65b0\u7ba1\u7406\u5e73\u53f0\u5219\u9700\u8981\u624b\u52a8\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

                                              \u5220\u9664 kpanda-system\u3001insight-system \u547d\u540d\u7a7a\u95f4

                                              kubectl delete ns kpanda-system insight-system\n
                                              "},{"location":"end-user/kpanda/clusters/integrate-cluster.html","title":"\u63a5\u5165\u96c6\u7fa4","text":"

                                              \u901a\u8fc7\u63a5\u5165\u96c6\u7fa4\u64cd\u4f5c\uff0c\u80fd\u591f\u5bf9\u4f17\u591a\u4e91\u670d\u52a1\u5e73\u53f0\u96c6\u7fa4\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u8fdb\u884c\u7edf\u4e00\u7eb3\u7ba1\uff0c\u5f62\u6210\u7edf\u4e00\u6cbb\u7406\u5e73\u53f0\uff0c\u6709\u6548\u907f\u514d\u4e86\u88ab\u5382\u5546\u9501\u5b9a\u98ce\u9669\uff0c\u52a9\u529b\u4f01\u4e1a\u4e1a\u52a1\u5b89\u5168\u4e0a\u4e91\u3002

                                              \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u63a5\u5165\u591a\u79cd\u4e3b\u6d41\u7684\u5bb9\u5668\u96c6\u7fa4\uff0c\u4f8b\u5982 Redhat Openshift, SUSE Rancher, VMware Tanzu, Amazon EKS, Aliyun ACK, Huawei CCE, Tencent TKE, \u6807\u51c6 Kubernetes \u96c6\u7fa4\u3002

                                              "},{"location":"end-user/kpanda/clusters/integrate-cluster.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              • \u51c6\u5907\u4e00\u4e2a\u5f85\u63a5\u5165\u7684\u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\uff0c\u5e76\u4e14\u96c6\u7fa4\u7684 Kubernetes \u7248\u672c 1.22+\u3002
                                              • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
                                              "},{"location":"end-user/kpanda/clusters/integrate-cluster.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                              1. \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u63a5\u5165\u96c6\u7fa4 \u6309\u94ae\u3002

                                              2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                                                • \u96c6\u7fa4\u540d\u79f0\uff1a\u540d\u79f0\u5e94\u5177\u6709\u552f\u4e00\u6027\uff0c\u8bbe\u7f6e\u540e\u4e0d\u53ef\u66f4\u6539\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26(\"-\")\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002
                                                • \u96c6\u7fa4\u522b\u540d\uff1a\u53ef\u8f93\u5165\u4efb\u610f\u5b57\u7b26\uff0c\u4e0d\u8d85\u8fc7 60 \u4e2a\u5b57\u7b26\u3002
                                                • \u53d1\u884c\u7248\uff1a\u96c6\u7fa4\u7684\u53d1\u884c\u5382\u5546\uff0c\u5305\u62ec\u5e02\u573a\u4e3b\u6d41\u4e91\u5382\u5546\u548c\u672c\u5730\u79c1\u6709\u7269\u7406\u96c6\u7fa4\u3002
                                              3. \u586b\u5199\u76ee\u6807\u96c6\u7fa4\u7684 KubeConfig\uff0c\u70b9\u51fb \u9a8c\u8bc1 Config \uff0c\u9a8c\u8bc1\u901a\u8fc7\u540e\u624d\u80fd\u6210\u529f\u63a5\u5165\u96c6\u7fa4\u3002

                                                \u5982\u679c\u4e0d\u77e5\u9053\u5982\u4f55\u83b7\u53d6\u96c6\u7fa4\u7684 KubeConfig \u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u8f93\u5165\u6846\u53f3\u4e0a\u89d2\u70b9\u51fb \u5982\u4f55\u83b7\u53d6 kubeConfig \u67e5\u770b\u5bf9\u5e94\u6b65\u9aa4\u3002

                                              4. \u786e\u8ba4\u6240\u6709\u53c2\u6570\u586b\u5199\u6b63\u786e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

                                              Note

                                              • \u65b0\u63a5\u5165\u7684\u96c6\u7fa4\u72b6\u6001\u4e3a \u63a5\u5165\u4e2d \uff0c\u63a5\u5165\u6210\u529f\u540e\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002
                                              • \u5982\u679c\u96c6\u7fa4\u72b6\u6001\u4e00\u76f4\u5904\u4e8e \u63a5\u5165\u4e2d \uff0c\u8bf7\u786e\u8ba4\u63a5\u5165\u811a\u672c\u662f\u5426\u5728\u5bf9\u5e94\u96c6\u7fa4\u4e0a\u6267\u884c\u6210\u529f\u3002\u6709\u5173\u96c6\u7fa4\u72b6\u6001\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u8003\u96c6\u7fa4\u72b6\u6001\u3002
                                              "},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html","title":"\u63a5\u5165 rancher \u96c6\u7fa4","text":"

                                              \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u63a5\u5165 rancher \u96c6\u7fa4\u3002

                                              "},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              • \u51c6\u5907\u4e00\u4e2a\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u5f85\u63a5\u5165 ranhcer \u96c6\u7fa4\uff0c\u786e\u4fdd\u5bb9\u5668\u7ba1\u7406\u96c6\u7fa4\u548c\u5f85\u63a5\u5165\u96c6\u7fa4\u4e4b\u95f4\u7f51\u7edc\u901a\u7545\u3002
                                              • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 Kpanda Owner \u6216\u66f4\u9ad8\u6743\u9650\u3002
                                              "},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html#rancher-serviceaccount","title":"\u6b65\u9aa4\u4e00\uff1a\u5728 rancher \u96c6\u7fa4\u521b\u5efa\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684 ServiceAccount \u7528\u6237","text":"
                                              1. \u4f7f\u7528\u5177\u6709\u7ba1\u7406\u5458\u6743\u9650\u7684\u89d2\u8272\u8fdb\u5165 rancher \u96c6\u7fa4\uff0c\u5e76\u4f7f\u7528\u7ec8\u7aef\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a sa.yaml \u7684\u6587\u4ef6\u3002

                                                vi sa.yaml\n

                                                \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

                                                sa.yaml
                                                apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: rancher-rke\nrules:\n  - apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n  - nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n---\napiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n  name: rancher-rke\nroleRef:\n    apiGroup: rbac.authorization.k8s.io\n    kind: ClusterRole\n    name: rancher-rke\n  subjects:\n  - kind: ServiceAccount\n    name: rancher-rke\n    namespace: kube-system\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  name: rancher-rke\n  namespace: kube-system\n

                                                \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

                                              2. \u5728\u5f53\u524d\u8def\u5f84\u4e0b\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u65b0\u5efa\u540d\u4e3a rancher-rke \u7684 ServiceAccount\uff08\u4ee5\u4e0b\u7b80\u79f0\u4e3a SA \uff09\uff1a

                                                kubectl apply -f sa.yaml\n

                                                \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                clusterrole.rbac.authorization.k8s.io/rancher-rke created\nclusterrolebinding.rbac.authorization.k8s.io/rancher-rke created\nserviceaccount/rancher-rke created\n
                                              3. \u521b\u5efa\u540d\u4e3a rancher-rke-secret \u7684\u5bc6\u94a5\uff0c\u5e76\u5c06\u5bc6\u94a5\u548c rancher-rke SA \u7ed1\u5b9a\u3002

                                                kubectl apply -f - <<EOF\napiVersion: v1\nkind: Secret\nmetadata:\n  name: rancher-rke-secret\n  namespace: kube-system\n  annotations:\n    kubernetes.io/service-account.name: rancher-rke\n  type: kubernetes.io/service-account-token\nEOF\n

                                                \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                secret/rancher-rke-secret created\n

                                                Note

                                                \u5982\u679c\u60a8\u7684\u96c6\u7fa4\u7248\u672c\u4f4e\u4e8e 1.24\uff0c\u8bf7\u5ffd\u7565\u6b64\u6b65\u9aa4\uff0c\u76f4\u63a5\u524d\u5f80\u4e0b\u4e00\u6b65\u3002

                                              4. \u67e5\u627e rancher-rke SA \u7684\u5bc6\u94a5\uff1a

                                                kubectl -n kube-system get secret | grep rancher-rke | awk '{print $1}'\n

                                                \u9884\u671f\u8f93\u51fa\uff1a

                                                rancher-rke-secret\n

                                                \u67e5\u770b\u5bc6\u94a5 rancher-rke-secret \u7684\u8be6\u60c5\uff1a

                                                kubectl -n kube-system describe secret rancher-rke-secret\n

                                                \u9884\u671f\u8f93\u51fa\uff1a

                                                Name:         rancher-rke-secret\nNamespace:    kube-system\nLabels:       <none>\nAnnotations:  kubernetes.io/service-account.name: rancher-rke\n            kubernetes.io/service-account.uid: d83df5d9-bd7d-488d-a046-b740618a0174\n\nType:  kubernetes.io/service-account-token\n\nData\n====\nca.crt:     570 bytes\nnamespace:  11 bytes\ntoken:      eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
                                              "},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html#rancher-rke-sa-kubeconfig","title":"\u6b65\u9aa4\u4e8c\uff1a\u5728\u672c\u5730\u4f7f\u7528 rancher-rke SA \u7684\u8ba4\u8bc1\u4fe1\u606f\u66f4\u65b0 kubeconfig \u6587\u4ef6","text":"

                                              \u5728\u4efb\u610f\u4e00\u53f0\u5b89\u88c5\u4e86 kubelet \u7684\u672c\u5730\u8282\u70b9\u6267\u884c\u5982\u4e0b\u64cd\u4f5c\uff1a

                                              1. \u914d\u7f6e kubelet token\uff1a

                                                kubectl config set-credentials rancher-rke --token=`rancher-rke-secret` \u91cc\u9762\u7684 token \u4fe1\u606f\n

                                                \u4f8b\u5982\uff1a

                                                kubectl config set-credentials eks-admin --token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjUtNE9nUWZLRzVpbEJORkZaNmtCQXhqVzRsZHU4MHhHcDBfb0VCaUo0V1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJyYW5jaGVyLXJrZS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicmFuY2hlci1ya2UiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJkODNkZjVkOS1iZDdkLTQ4OGQtYTA0Ni1iNzQwNjE4YTAxNzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cmFuY2hlci1ya2UifQ.VNsMtPEFOdDDeGt_8VHblcMRvjOwPXMM-79o9UooHx6q-VkHOcIOp3FOT2hnEdNnIsyODZVKCpEdCgyozX-3y5x2cZSZpocnkMcBbQm-qfTyUcUhAY7N5gcYUtHUhvRAsNWJcsDCn6d96gT_qo-ddo_cT8Ri39Lc123FDYOnYG-YGFKSgRQVy7Vyv34HIajZCCjZzy7i--eE_7o4DXeTjNqAFMFstUxxHBOXI3Rdn1zKQKqh5Jhg4ES7X-edSviSUfJUX-QV_LlAw5DuAyGPH7bDH4QaQ5k-p6cIctmpWZE-9wRDlKA4LYRblKE7MJcI6OmM4ldlMM0Jc8N-gCtl4w\n
                                              2. \u914d\u7f6e kubelet APIServer \u4fe1\u606f\uff1a

                                                kubectl config set-cluster {\u96c6\u7fa4\u540d} --insecure-skip-tls-verify=true --server={APIServer}\n
                                                • {\u96c6\u7fa4\u540d} \uff1a\u6307 rancher \u96c6\u7fa4\u7684\u540d\u79f0\u3002
                                                • {APIServer} \uff1a\u6307\u96c6\u7fa4\u7684\u8bbf\u95ee\u5730\u5740\uff0c\u4e00\u822c\u4e3a\u96c6\u7fa4\u63a7\u5236\u8282\u70b9 IP + 6443 \u7aef\u53e3\uff0c\u5982 https://10.X.X.X:6443

                                                \u4f8b\u5982\uff1a

                                                kubectl config set-cluster rancher-rke --insecure-skip-tls-verify=true --server=https://10.X.X.X:6443\n
                                              3. \u914d\u7f6e kubelet \u4e0a\u4e0b\u6587\u4fe1\u606f\uff1a

                                                kubectl config set-context {\u4e0a\u4e0b\u6587\u540d\u79f0} --cluster={\u96c6\u7fa4\u540d} --user={SA \u7528\u6237\u540d}\n

                                                \u4f8b\u5982\uff1a

                                                kubectl config set-context rancher-rke-context --cluster=rancher-rke --user=rancher-rke\n
                                              4. \u5728 kubelet \u4e2d\u6307\u5b9a\u6211\u4eec\u521a\u521a\u65b0\u5efa\u7684\u4e0a\u4e0b\u6587 rancher-rke-context \uff1a

                                                kubectl config use-context rancher-rke-context\n
                                              5. \u83b7\u53d6\u4e0a\u4e0b\u6587 rancher-rke-context \u4e2d\u7684 kubeconfig \u4fe1\u606f\u3002

                                                kubectl config view --minify --flatten --raw\n

                                                \u9884\u671f\u8f93\u51fa\uff1a

                                                apiVersion: v1\n  clusters:\n  - cluster:\n    insecure-skip-tls-verify: true\n    server: https://77C321BCF072682C70C8665ED4BFA10D.gr7.ap-southeast-1.eks.amazonaws.com\n  name: joincluster\n  contexts:\n  - context:\n    cluster: joincluster\n    user: eks-admin\n  name: ekscontext\n  current-context: ekscontext\n  kind: Config\n  preferences: {}\n  users:\n  - name: eks-admin\n  user:\n    token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImcxTjJwNkktWm5IbmRJU1RFRExvdWY1TGFWVUtGQ3VIejFtNlFQcUNFalEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2V\n
                                              "},{"location":"end-user/kpanda/clusters/integrate-rancher-cluster.html#ai","title":"\u6b65\u9aa4\u4e09\uff1a\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u754c\u9762\u63a5\u5165\u96c6\u7fa4","text":"

                                              \u4f7f\u7528\u521a\u521a\u83b7\u53d6\u7684 kubeconfig \u6587\u4ef6\uff0c\u53c2\u8003\u63a5\u5165\u96c6\u7fa4\u6587\u6863\uff0c\u5c06 rancher \u96c6\u7fa4\u63a5\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u3002

                                              "},{"location":"end-user/kpanda/clusters/k8s-cert.html","title":"Kubernetes \u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0","text":"

                                              \u4e3a\u4fdd\u8bc1 Kubernetes \u5404\u7ec4\u4ef6\u4e4b\u95f4\u7684\u901a\u4fe1\u5b89\u5168\uff0c\u7ec4\u4ef6\u4e4b\u95f4\u7684\u8c03\u7528\u4f1a\u8fdb\u884c TLS \u8eab\u4efd\u9a8c\u8bc1\uff0c\u6267\u884c\u9a8c\u8bc1\u64cd\u4f5c\u9700\u8981\u914d\u7f6e\u96c6\u7fa4 PKI \u8bc1\u4e66\u3002

                                              \u96c6\u7fa4\u8bc1\u4e66\u6709\u6548\u671f\u4e3a1\u5e74\uff0c\u4e3a\u907f\u514d\u8bc1\u4e66\u8fc7\u671f\u5bfc\u81f4\u4e1a\u52a1\u65e0\u6cd5\u4f7f\u7528\uff0c\u8bf7\u53ca\u65f6\u66f4\u65b0\u8bc1\u4e66\u3002

                                              \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u8fdb\u884c\u8bc1\u4e66\u66f4\u65b0\u3002

                                              "},{"location":"end-user/kpanda/clusters/k8s-cert.html#_1","title":"\u68c0\u67e5\u8bc1\u4e66\u662f\u5426\u8fc7\u671f","text":"

                                              \u60a8\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770b\u8bc1\u4e66\u662f\u5426\u8fc7\u671f\uff1a

                                              kubeadm certs check-expiration\n

                                              \u8f93\u51fa\u7c7b\u4f3c\u4e8e\u4ee5\u4e0b\u5185\u5bb9\uff1a

                                              CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED\nadmin.conf                 Dec 14, 2024 07:26 UTC   204d                                    no      \napiserver                  Dec 14, 2024 07:26 UTC   204d            ca                      no      \napiserver-etcd-client      Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \napiserver-kubelet-client   Dec 14, 2024 07:26 UTC   204d            ca                      no      \ncontroller-manager.conf    Dec 14, 2024 07:26 UTC   204d                                    no      \netcd-healthcheck-client    Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-peer                  Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \netcd-server                Dec 14, 2024 07:26 UTC   204d            etcd-ca                 no      \nfront-proxy-client         Dec 14, 2024 07:26 UTC   204d            front-proxy-ca          no      \nscheduler.conf             Dec 14, 2024 07:26 UTC   204d                                    no      \n\nCERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED\nca                      Dec 12, 2033 07:26 UTC   9y              no      \netcd-ca                 Dec 12, 2033 07:26 UTC   9y              no      \nfront-proxy-ca          Dec 12, 2033 07:26 UTC   9y              no      \n
                                              "},{"location":"end-user/kpanda/clusters/k8s-cert.html#_2","title":"\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

                                              \u60a8\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u624b\u52a8\u66f4\u65b0\u8bc1\u4e66\uff0c\u53ea\u9700\u5e26\u4e0a\u5408\u9002\u7684\u547d\u4ee4\u884c\u9009\u9879\u3002\u66f4\u65b0\u8bc1\u4e66\u524d\u8bf7\u5148\u5907\u4efd\u5f53\u524d\u8bc1\u4e66\u3002

                                              \u66f4\u65b0\u6307\u5b9a\u8bc1\u4e66\uff1a

                                              kubeadm certs renew\n

                                              \u66f4\u65b0\u5168\u90e8\u8bc1\u4e66\uff1a

                                              kubeadm certs renew all\n

                                              \u66f4\u65b0\u540e\u7684\u8bc1\u4e66\u53ef\u4ee5\u5728 /etc/kubernetes/pki \u76ee\u5f55\u4e0b\u67e5\u770b\uff0c\u6709\u6548\u671f\u5ef6\u7eed 1 \u5e74\u3002 \u4ee5\u4e0b\u5bf9\u5e94\u7684\u51e0\u4e2a\u914d\u7f6e\u6587\u4ef6\u4e5f\u4f1a\u540c\u6b65\u66f4\u65b0\uff1a

                                              • /etc/kubernetes/admin.conf
                                              • /etc/kubernetes/controller-manager.conf
                                              • /etc/kubernetes/scheduler.conf

                                              Note

                                              • \u5982\u679c\u60a8\u90e8\u7f72\u7684\u662f\u4e00\u4e2a\u9ad8\u53ef\u7528\u96c6\u7fa4\uff0c\u8fd9\u4e2a\u547d\u4ee4\u9700\u8981\u5728\u6240\u6709\u63a7\u5236\u8282\u70b9\u4e0a\u6267\u884c\u3002
                                              • \u6b64\u547d\u4ee4\u7528 CA\uff08\u6216\u8005 front-proxy-CA \uff09\u8bc1\u4e66\u548c\u5b58\u50a8\u5728 /etc/kubernetes/pki \u4e2d\u7684\u5bc6\u94a5\u6267\u884c\u66f4\u65b0\u3002
                                              "},{"location":"end-user/kpanda/clusters/k8s-cert.html#_3","title":"\u91cd\u542f\u670d\u52a1","text":"

                                              \u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u4e4b\u540e\uff0c\u4f60\u9700\u8981\u91cd\u542f\u63a7\u5236\u9762 Pod\u3002\u56e0\u4e3a\u52a8\u6001\u8bc1\u4e66\u91cd\u8f7d\u76ee\u524d\u8fd8\u4e0d\u88ab\u6240\u6709\u7ec4\u4ef6\u548c\u8bc1\u4e66\u652f\u6301\uff0c\u6240\u6709\u8fd9\u9879\u64cd\u4f5c\u662f\u5fc5\u987b\u7684\u3002

                                              \u9759\u6001 Pod \u662f\u88ab\u672c\u5730 kubelet \u800c\u4e0d\u662f API \u670d\u52a1\u5668\u7ba1\u7406\uff0c\u6240\u4ee5 kubectl \u4e0d\u80fd\u7528\u6765\u5220\u9664\u6216\u91cd\u542f\u4ed6\u4eec\u3002

                                              \u8981\u91cd\u542f\u9759\u6001 Pod\uff0c\u4f60\u53ef\u4ee5\u4e34\u65f6\u5c06\u6e05\u5355\u6587\u4ef6\u4ece /etc/kubernetes/manifests/ \u79fb\u9664\u5e76\u7b49\u5f85 20 \u79d2\u3002 \u53c2\u8003 KubeletConfiguration \u7ed3\u6784\u4e2d\u7684 fileCheckFrequency \u503c\u3002

                                              \u5982\u679c Pod \u4e0d\u5728\u6e05\u5355\u76ee\u5f55\u91cc\uff0ckubelet \u5c06\u4f1a\u7ec8\u6b62\u5b83\u3002 \u5728\u53e6\u4e00\u4e2a fileCheckFrequency \u5468\u671f\u4e4b\u540e\u4f60\u53ef\u4ee5\u5c06\u6587\u4ef6\u79fb\u56de\u53bb\uff0ckubelet \u53ef\u4ee5\u5b8c\u6210 Pod \u7684\u91cd\u5efa\uff0c\u800c\u7ec4\u4ef6\u7684\u8bc1\u4e66\u66f4\u65b0\u64cd\u4f5c\u4e5f\u5f97\u4ee5\u5b8c\u6210\u3002

                                              mv ./manifests/* ./temp/\nmv ./temp/* ./manifests/\n

                                              Note

                                              \u5982\u679c\u5bb9\u5668\u670d\u52a1\u4f7f\u7528\u7684\u662f Docker\uff0c\u4e3a\u4e86\u8ba9\u8bc1\u4e66\u751f\u6548\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5bf9\u6d89\u53ca\u5230\u8bc1\u4e66\u4f7f\u7528\u7684\u51e0\u4e2a\u670d\u52a1\u8fdb\u884c\u91cd\u542f\uff1a

                                              docker ps | grep -E 'k8s_kube-apiserver|k8s_kube-controller-manager|k8s_kube-scheduler|k8s_etcd_etcd' | awk -F ' ' '{print $1}' | xargs docker restart\n
                                              "},{"location":"end-user/kpanda/clusters/k8s-cert.html#kubeconfig","title":"\u66f4\u65b0 KubeConfig","text":"

                                              \u6784\u5efa\u96c6\u7fa4\u65f6\u901a\u5e38\u4f1a\u5c06 admin.conf \u8bc1\u4e66\u590d\u5236\u5230 $HOME/.kube/config \u4e2d\uff0c\u4e3a\u4e86\u5728\u66f4\u65b0 admin.conf \u540e\u66f4\u65b0 $HOME/.kube/config \u7684\u5185\u5bb9\uff0c \u5fc5\u987b\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

                                              sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n
                                              "},{"location":"end-user/kpanda/clusters/k8s-cert.html#kubelet","title":"\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362","text":"

                                              \u5b8c\u6210\u4ee5\u4e0a\u64cd\u4f5c\u540e\uff0c\u57fa\u672c\u5b8c\u6210\u4e86\u96c6\u7fa4\u6240\u6709\u8bc1\u4e66\u7684\u66f4\u65b0\uff0c\u4f46\u4e0d\u5305\u62ec kubelet\u3002

                                              \u56e0\u4e3a kubernetes \u5305\u542b\u7279\u6027 kubelet \u8bc1\u4e66\u8f6e\u6362\uff0c \u5728\u5f53\u524d\u8bc1\u4e66\u5373\u5c06\u8fc7\u671f\u65f6\uff0c \u5c06\u81ea\u52a8\u751f\u6210\u65b0\u7684\u79d8\u94a5\uff0c\u5e76\u4ece Kubernetes API \u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002 \u4e00\u65e6\u65b0\u7684\u8bc1\u4e66\u53ef\u7528\uff0c\u5b83\u5c06\u88ab\u7528\u4e8e\u4e0e Kubernetes API \u95f4\u7684\u8fde\u63a5\u8ba4\u8bc1\u3002

                                              Note

                                              \u6b64\u7279\u6027\u9002\u7528\u4e8e Kubernetes 1.8.0 \u6216\u66f4\u9ad8\u7684\u7248\u672c\u3002

                                              \u542f\u7528\u5ba2\u6237\u7aef\u8bc1\u4e66\u8f6e\u6362\uff0c\u914d\u7f6e\u53c2\u6570\u5982\u4e0b\uff1a

                                              • kubelet \u8fdb\u7a0b\u63a5\u6536 --rotate-certificates \u53c2\u6570\uff0c\u8be5\u53c2\u6570\u51b3\u5b9a kubelet \u5728\u5f53\u524d\u4f7f\u7528\u7684 \u8bc1\u4e66\u5373\u5c06\u5230\u671f\u65f6\uff0c\u662f\u5426\u4f1a\u81ea\u52a8\u7533\u8bf7\u65b0\u7684\u8bc1\u4e66\u3002

                                              • kube-controller-manager \u8fdb\u7a0b\u63a5\u6536 --cluster-signing-duration \u53c2\u6570 \uff08\u5728 1.19 \u7248\u672c\u4e4b\u524d\u4e3a --experimental-cluster-signing-duration\uff09\uff0c\u7528\u6765\u63a7\u5236\u7b7e\u53d1\u8bc1\u4e66\u7684\u6709\u6548\u671f\u9650\u3002

                                              \u66f4\u591a\u8be6\u60c5\u53c2\u8003\u4e3a kubelet \u914d\u7f6e\u8bc1\u4e66\u8f6e\u6362\u3002

                                              "},{"location":"end-user/kpanda/clusters/k8s-cert.html#_4","title":"\u81ea\u52a8\u66f4\u65b0\u8bc1\u4e66","text":"

                                              \u4e3a\u4e86\u66f4\u9ad8\u6548\u4fbf\u6377\u5904\u7406\u5df2\u8fc7\u671f\u6216\u8005\u5373\u5c06\u8fc7\u671f\u7684 kubernetes \u96c6\u7fa4\u8bc1\u4e66\uff0c\u53ef\u53c2\u8003 k8s \u7248\u672c\u96c6\u7fa4\u8bc1\u4e66\u66f4\u65b0\u3002

                                              "},{"location":"end-user/kpanda/clusters/runtime.html","title":"\u5982\u4f55\u9009\u62e9\u5bb9\u5668\u8fd0\u884c\u65f6","text":"

                                              \u5bb9\u5668\u8fd0\u884c\u65f6\u662f kubernetes \u4e2d\u5bf9\u5bb9\u5668\u548c\u5bb9\u5668\u955c\u50cf\u751f\u547d\u5468\u671f\u8fdb\u884c\u7ba1\u7406\u7684\u91cd\u8981\u7ec4\u4ef6\u3002 kubernetes \u5728 1.19 \u7248\u672c\u4e2d\u5c06 containerd \u8bbe\u4e3a\u9ed8\u8ba4\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u5e76\u5728 1.24 \u7248\u672c\u4e2d\u79fb\u9664\u4e86 Dockershim \u7ec4\u4ef6\u7684\u652f\u6301\u3002

                                              \u56e0\u6b64\u76f8\u8f83\u4e8e Docker \u8fd0\u884c\u65f6\uff0c\u6211\u4eec\u66f4\u52a0 \u63a8\u8350\u60a8\u4f7f\u7528\u8f7b\u91cf\u7684 containerd \u4f5c\u4e3a\u60a8\u7684\u5bb9\u5668\u8fd0\u884c\u65f6\uff0c\u56e0\u4e3a\u8fd9\u5df2\u7ecf\u6210\u4e3a\u5f53\u524d\u4e3b\u6d41\u7684\u8fd0\u884c\u65f6\u9009\u62e9\u3002

                                              \u9664\u6b64\u4e4b\u5916\uff0c\u4e00\u4e9b\u64cd\u4f5c\u7cfb\u7edf\u53d1\u884c\u5382\u5546\u5bf9 Docker \u8fd0\u884c\u65f6\u7684\u517c\u5bb9\u4e5f\u4e0d\u591f\u53cb\u597d\uff0c\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u8fd0\u884c\u65f6\u7684\u652f\u6301\u5982\u4e0b\u8868\uff1a

                                              "},{"location":"end-user/kpanda/clusters/runtime.html#_2","title":"\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u548c\u63a8\u8350\u7684\u8fd0\u884c\u65f6\u7248\u672c\u5bf9\u5e94\u5173\u7cfb","text":"\u64cd\u4f5c\u7cfb\u7edf \u63a8\u8350\u7684 containerd \u7248\u672c \u63a8\u8350\u7684 Docker \u7248\u672c CentOS 1.7.5 20.10 RedHatOS 1.7.5 20.10 KylinOS 1.7.5 19.03\uff08\u4ec5 ARM \u67b6\u6784\u652f\u6301 \uff0c\u5728 x86 \u67b6\u6784\u4e0b\u4e0d\u652f\u6301\u4f7f\u7528 Docker \u4f5c\u4e3a\u8fd0\u884c\u65f6\uff09

                                              \u66f4\u591a\u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 RedHatOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c \u548c KylinOS \u652f\u6301\u7684\u8fd0\u884c\u65f6\u7248\u672c

                                              Note

                                              \u5728\u79bb\u7ebf\u5b89\u88c5\u6a21\u5f0f\u4e0b\uff0c\u9700\u8981\u63d0\u524d\u51c6\u5907\u76f8\u5173\u64cd\u4f5c\u7cfb\u7edf\u7684\u8fd0\u884c\u65f6\u79bb\u7ebf\u5305\u3002

                                              "},{"location":"end-user/kpanda/clusters/upgrade-cluster.html","title":"\u96c6\u7fa4\u5347\u7ea7","text":"

                                              Kubernetes \u793e\u533a\u6bcf\u4e2a\u5b63\u5ea6\u90fd\u4f1a\u53d1\u5e03\u4e00\u6b21\u5c0f\u7248\u672c\uff0c\u6bcf\u4e2a\u7248\u672c\u7684\u7ef4\u62a4\u5468\u671f\u5927\u6982\u53ea\u6709 9 \u4e2a\u6708\u3002 \u7248\u672c\u505c\u6b62\u7ef4\u62a4\u540e\u5c31\u4e0d\u4f1a\u518d\u66f4\u65b0\u4e00\u4e9b\u91cd\u5927\u6f0f\u6d1e\u6216\u5b89\u5168\u6f0f\u6d1e\u3002\u624b\u52a8\u5347\u7ea7\u96c6\u7fa4\u64cd\u4f5c\u8f83\u4e3a\u7e41\u7410\uff0c\u7ed9\u7ba1\u7406\u4eba\u5458\u5e26\u6765\u4e86\u6781\u5927\u7684\u5de5\u4f5c\u8d1f\u62c5\u3002

                                              \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728\u901a\u8fc7 Web UI \u754c\u9762\u4e00\u952e\u5f0f\u5728\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4 Kubernetes \u7248\u672c\uff0c \u5982\u9700\u79bb\u7ebf\u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u7684 kubernetes \u7248\u672c\uff0c\u8bf7\u53c2\u9605\u5de5\u4f5c\u96c6\u7fa4\u79bb\u7ebf\u5347\u7ea7\u6307\u5357\u8fdb\u884c\u5347\u7ea7\u3002

                                              Danger

                                              \u7248\u672c\u5347\u7ea7\u540e\u5c06\u65e0\u6cd5\u56de\u9000\u5230\u4e4b\u524d\u7684\u7248\u672c\uff0c\u8bf7\u8c28\u614e\u64cd\u4f5c\u3002

                                              Note

                                              • Kubernetes \u7248\u672c\u4ee5 x.y.z \u8868\u793a\uff0c\u5176\u4e2d x \u662f\u4e3b\u8981\u7248\u672c\uff0c y \u662f\u6b21\u8981\u7248\u672c\uff0c z \u662f\u8865\u4e01\u7248\u672c\u3002
                                              • \u4e0d\u5141\u8bb8\u8de8\u6b21\u8981\u7248\u672c\u5bf9\u96c6\u7fa4\u8fdb\u884c\u5347\u7ea7\uff0c\u4f8b\u5982\u4e0d\u80fd\u4ece 1.23 \u76f4\u63a5\u5347\u7ea7\u5230 1.25\u3002
                                              • \u63a5\u5165\u96c6\u7fa4 \u4e0d\u652f\u6301\u7248\u672c\u5347\u7ea7\u3002\u5982\u679c\u5de6\u4fa7\u5bfc\u822a\u680f\u6ca1\u6709 \u96c6\u7fa4\u5347\u7ea7 \uff0c\u8bf7\u68c0\u67e5\u8be5\u96c6\u7fa4\u662f\u5426\u4e3a \u63a5\u5165\u96c6\u7fa4 \u3002
                                              • \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u53ea\u80fd\u901a\u8fc7\u7ec8\u7aef\u8fdb\u884c\u5347\u7ea7\u3002
                                              • \u5347\u7ea7\u5de5\u4f5c\u96c6\u7fa4\u65f6\uff0c\u8be5\u5de5\u4f5c\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u5e94\u8be5\u5df2\u7ecf\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u5e76\u4e14\u5904\u4e8e\u6b63\u5e38\u8fd0\u884c\u4e2d\u3002
                                              • \u5982\u679c\u9700\u8981\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u5347\u7ea7\u76f8\u540c\u7248\u672c\u7684\u65b9\u5f0f\u5b9e\u73b0\uff0c\u5177\u4f53\u64cd\u4f5c\u53c2\u8003\u4e0b\u6587\u3002
                                              1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                              2. \u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u5347\u7ea7 \uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u7248\u672c\u5347\u7ea7 \u3002

                                              3. \u9009\u62e9\u53ef\u5347\u7ea7\u7684\u7248\u672c\uff0c\u8f93\u5165\u96c6\u7fa4\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\u3002

                                                Note

                                                \u5982\u679c\u60a8\u662f\u60f3\u901a\u8fc7\u5347\u7ea7\u65b9\u5f0f\u6765\u4fee\u6539\u96c6\u7fa4\u53c2\u6570\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff1a

                                                1. \u627e\u5230\u96c6\u7fa4\u5bf9\u5e94\u7684 ConfigMap\uff0c\u60a8\u53ef\u4ee5\u767b\u5f55\u63a7\u5236\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u627e\u5230 varsConfRef \u4e2d\u7684 ConfigMap \u540d\u79f0\u3002

                                                  kubectl get cluster.kubean.io <clustername> -o yaml\n
                                                2. \u6839\u636e\u9700\u8981\uff0c\u4fee\u6539 ConfigMap \u4e2d\u7684\u53c2\u6570\u4fe1\u606f\u3002

                                                3. \u5728\u6b64\u5904\u9009\u62e9\u76f8\u540c\u7248\u672c\u8fdb\u884c\u5347\u7ea7\u64cd\u4f5c\uff0c\u5347\u7ea7\u5b8c\u6210\u5373\u53ef\u6210\u529f\u66f4\u65b0\u5bf9\u5e94\u7684\u96c6\u7fa4\u53c2\u6570\u3002

                                              4. \u70b9\u51fb \u786e\u5b9a \u540e\uff0c\u53ef\u4ee5\u770b\u5230\u96c6\u7fa4\u7684\u5347\u7ea7\u8fdb\u5ea6\u3002

                                              5. \u96c6\u7fa4\u5347\u7ea7\u9884\u8ba1\u9700\u8981 30 \u5206\u949f\uff0c\u53ef\u4ee5\u70b9\u51fb \u5b9e\u65f6\u65e5\u5fd7 \u6309\u94ae\u67e5\u770b\u96c6\u7fa4\u5347\u7ea7\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/configmap-hot-loading.html","title":"configmap/secret \u70ed\u52a0\u8f7d","text":"

                                              configmap/secret \u70ed\u52a0\u8f7d\u662f\u6307\u5c06 configmap/secret \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u5728\u5bb9\u5668\u4e2d\u6302\u8f7d\u65f6\uff0c\u5f53\u914d\u7f6e\u53d1\u751f\u6539\u53d8\u65f6\uff0c\u5bb9\u5668\u5c06\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u800c\u65e0\u9700\u91cd\u542f Pod\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/configmap-hot-loading.html#_1","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                              1. \u53c2\u8003\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d - \u5bb9\u5668\u914d\u7f6e\uff0c\u914d\u7f6e\u5bb9\u5668\u6570\u636e\u5b58\u50a8\uff0c\u9009\u62e9 Configmap \u3001 Configmap Key \u3001 Secret \u3001 Secret Key \u4f5c\u4e3a\u6570\u636e\u5377\u6302\u8f7d\u81f3\u5bb9\u5668\u3002

                                                Note

                                                \u4f7f\u7528\u5b50\u8def\u5f84\uff08SubPath\uff09\u65b9\u5f0f\u6302\u8f7d\u7684\u914d\u7f6e\u6587\u4ef6\u4e0d\u652f\u6301\u70ed\u52a0\u8f7d\u3002

                                              2. \u8fdb\u5165\u3010\u914d\u7f6e\u4e0e\u5bc6\u94a5\u3011\u9875\u9762\uff0c\u8fdb\u5165\u914d\u7f6e\u9879\u8be6\u60c5\u9875\u9762\uff0c\u5728\u3010\u5173\u8054\u8d44\u6e90\u3011\u4e2d\u627e\u5230\u5bf9\u5e94\u7684 container \u8d44\u6e90\uff0c\u70b9\u51fb \u7acb\u5373\u52a0\u8f7d \u6309\u94ae\uff0c\u8fdb\u5165\u914d\u7f6e\u70ed\u52a0\u8f7d\u9875\u9762\u3002

                                                Note

                                                \u5982\u679c\u60a8\u7684\u5e94\u7528\u652f\u6301\u81ea\u52a8\u8bfb\u53d6 configmap/secret \u66f4\u65b0\u540e\u7684\u914d\u7f6e\uff0c\u5219\u65e0\u9700\u624b\u52a8\u6267\u884c\u70ed\u52a0\u8f7d\u64cd\u4f5c\u3002

                                              3. \u5728\u70ed\u52a0\u8f7d\u914d\u7f6e\u5f39\u7a97\u4e2d\uff0c\u8f93\u5165\u8fdb\u5165\u5bb9\u5668\u5185\u7684 \u6267\u884c\u547d\u4ee4 \u5e76\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u4ee5\u91cd\u8f7d\u914d\u7f6e\u3002\u4f8b\u5982\uff0c\u5728 nginx \u5bb9\u5668\u4e2d\uff0c\u4ee5 root \u7528\u6237\u6743\u9650\uff0c\u6267\u884c nginx -s reload \u547d\u4ee4\u6765\u91cd\u8f7d\u914d\u7f6e\u3002

                                              4. \u5728\u754c\u9762\u5f39\u51fa\u7684 web \u7ec8\u7aef\u4e2d\u67e5\u770b\u5e94\u7528\u91cd\u8f7d\u60c5\u51b5\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/create-configmap.html","title":"\u521b\u5efa\u914d\u7f6e\u9879","text":"

                                              \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u4ee5\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u5b58\u50a8\u975e\u673a\u5bc6\u6027\u6570\u636e\uff0c\u5b9e\u73b0\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u4ee3\u7801\u76f8\u4e92\u89e3\u8026\u7684\u6548\u679c\u3002\u914d\u7f6e\u9879\u53ef\u7528\u4f5c\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002

                                              Note

                                              • \u5728\u914d\u7f6e\u9879\u4e2d\u4fdd\u5b58\u7684\u6570\u636e\u4e0d\u53ef\u8d85\u8fc7 1 MiB\u3002\u5982\u679c\u9700\u8981\u5b58\u50a8\u4f53\u79ef\u66f4\u5927\u7684\u6570\u636e\uff0c\u5efa\u8bae\u6302\u8f7d\u5b58\u50a8\u5377\u6216\u8005\u4f7f\u7528\u72ec\u7acb\u7684\u6570\u636e\u5e93\u6216\u8005\u6587\u4ef6\u670d\u52a1\u3002

                                              • \u914d\u7f6e\u9879\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u52a0\u5bc6\u6570\u636e\uff0c\u5efa\u8bae\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\u3002

                                              \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

                                              • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
                                              • YAML \u521b\u5efa
                                              "},{"location":"end-user/kpanda/configmaps-secrets/create-configmap.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                                              • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/create-configmap.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
                                              1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                              2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u914d\u7f6e\u9879 \u6309\u94ae\u3002

                                              3. \u5728 \u521b\u5efa\u914d\u7f6e\u9879 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                                Note

                                                \u70b9\u51fb \u4e0a\u4f20\u6587\u4ef6 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002

                                              4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/create-configmap.html#yaml","title":"YAML \u521b\u5efa","text":"
                                              1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                              2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u914d\u7f6e\u9879 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                                              3. \u586b\u5199\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u3002

                                                Note

                                                • \u70b9\u51fb \u5bfc\u5165 \u53ef\u4ee5\u4ece\u672c\u5730\u5bfc\u5165\u5df2\u6709\u7684\u6587\u4ef6\uff0c\u5feb\u901f\u521b\u5efa\u914d\u7f6e\u9879\u3002
                                                • \u586b\u5199\u6570\u636e\u4e4b\u540e\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u914d\u7f6e\u6587\u4ef6\u4fdd\u5b58\u5728\u672c\u5730\u3002

                                              4. \u521b\u5efa\u5b8c\u6210\u540e\u5728\u914d\u7f6e\u9879\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u53ef\u4ee5\uff0c\u53ef\u4ee5\u7f16\u8f91 YAML\u3001\u66f4\u65b0\u3001\u5bfc\u51fa\u3001\u5220\u9664\u7b49\u64cd\u4f5c\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/create-configmap.html#yaml_1","title":"\u914d\u7f6e\u9879 YAML \u793a\u4f8b","text":"
                                              ```yaml\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: kube-root-ca.crt\n  namespace: default\n  annotations:\ndata:\n  version: '1.0'\n```\n

                                              \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u914d\u7f6e\u9879

                                              "},{"location":"end-user/kpanda/configmaps-secrets/create-secret.html","title":"\u521b\u5efa\u5bc6\u94a5","text":"

                                              \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

                                              \u5bc6\u94a5\u4f7f\u7528\u573a\u666f\uff1a

                                              • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
                                              • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
                                              • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

                                              \u652f\u6301\u4e24\u79cd\u521b\u5efa\u65b9\u5f0f\uff1a

                                              • \u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa
                                              • YAML \u521b\u5efa
                                              "},{"location":"end-user/kpanda/configmaps-secrets/create-secret.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                                              • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/create-secret.html#_3","title":"\u56fe\u5f62\u5316\u8868\u5355\u521b\u5efa","text":"
                                              1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                              2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u5bc6\u94a5 \u6309\u94ae\u3002

                                              3. \u5728 \u521b\u5efa\u5bc6\u94a5 \u9875\u9762\u4e2d\u586b\u5199\u914d\u7f6e\u4fe1\u606f\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                                \u586b\u5199\u914d\u7f6e\u65f6\u9700\u8981\u6ce8\u610f\uff1a

                                                • \u5bc6\u94a5\u7684\u540d\u79f0\u5728\u540c\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u5fc5\u987b\u5177\u6709\u552f\u4e00\u6027
                                                • \u5bc6\u94a5\u7c7b\u578b\uff1a
                                                  • \u9ed8\u8ba4\uff08Opaque\uff09\uff1aKubernetes \u9ed8\u8ba4\u7684\u5bc6\u94a5\u7c7b\u578b\uff0c\u652f\u6301\u7528\u6237\u5b9a\u4e49\u7684\u4efb\u610f\u6570\u636e\u3002
                                                  • TLS (kubernetes.io/tls)\uff1a\u7528\u4e8e TLS \u5ba2\u6237\u7aef\u6216\u8005\u670d\u52a1\u5668\u7aef\u6570\u636e\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
                                                  • \u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u7528\u4e8e\u955c\u50cf\u4ed3\u5e93\u8bbf\u95ee\u7684\u51ed\u8bc1\u3002
                                                  • \u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u7528\u4e8e\u57fa\u672c\u8eab\u4efd\u8ba4\u8bc1\u7684\u51ed\u8bc1\u3002
                                                  • \u81ea\u5b9a\u4e49\uff1a\u7528\u6237\u6839\u636e\u4e1a\u52a1\u9700\u8981\u81ea\u5b9a\u4e49\u7684\u7c7b\u578b\u3002
                                                • \u5bc6\u94a5\u6570\u636e\uff1a\u5bc6\u94a5\u6240\u5b58\u50a8\u7684\u6570\u636e\uff0c\u4e0d\u540c\u6570\u636e\u9700\u8981\u586b\u5199\u7684\u53c2\u6570\u6709\u6240\u4e0d\u540c
                                                  • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u9ed8\u8ba4\uff08Opaque\uff09/\u81ea\u5b9a\u4e49\uff1a\u53ef\u4ee5\u586b\u5165\u591a\u4e2a\u952e\u503c\u5bf9\u6570\u636e\u3002
                                                  • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a TLS (kubernetes.io/tls)\uff1a\u9700\u8981\u586b\u5165\u8bc1\u4e66\u51ed\u8bc1\u548c\u79c1\u94a5\u6570\u636e\u3002\u8bc1\u4e66\u662f\u81ea\u7b7e\u540d\u6216 CA \u7b7e\u540d\u8fc7\u7684\u51ed\u636e\uff0c\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u8ba4\u8bc1\u3002\u8bc1\u4e66\u8bf7\u6c42\u662f\u5bf9\u7b7e\u540d\u7684\u8bf7\u6c42\uff0c\u9700\u8981\u4f7f\u7528\u79c1\u94a5\u8fdb\u884c\u7b7e\u540d\u3002
                                                  • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u955c\u50cf\u4ed3\u5e93\u4fe1\u606f (kubernetes.io/dockerconfigjson)\uff1a\u9700\u8981\u586b\u5165\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u7684\u8d26\u53f7\u548c\u5bc6\u7801\u3002
                                                  • \u5f53\u5bc6\u94a5\u7c7b\u578b\u4e3a\u7528\u6237\u540d\u548c\u5bc6\u7801\uff08kubernetes.io/basic-auth\uff09\uff1a\u9700\u8981\u6307\u5b9a\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
                                              "},{"location":"end-user/kpanda/configmaps-secrets/create-secret.html#yaml","title":"YAML \u521b\u5efa","text":"
                                              1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u67d0\u4e2a\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                              2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u914d\u7f6e\u4e0e\u5bc6\u94a5 -> \u5bc6\u94a5 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                                              3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\u586b\u5199 YAML \u914d\u7f6e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                                \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/create-secret.html#yaml_1","title":"\u5bc6\u94a5 YAML \u793a\u4f8b","text":"
                                              ```yaml\napiVersion: v1\nkind: Secret\nmetadata:\n  name: secretdemo\ntype: Opaque\ndata:\n  username: ******\n  password: ******\n```\n

                                              \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528\u5bc6\u94a5

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html","title":"\u4f7f\u7528\u914d\u7f6e\u9879","text":"

                                              \u914d\u7f6e\u9879\uff08ConfigMap\uff09\u662f Kubernetes \u7684\u4e00\u79cd API \u5bf9\u8c61\uff0c\u7528\u6765\u5c06\u975e\u673a\u5bc6\u6027\u7684\u6570\u636e\u4fdd\u5b58\u5230\u952e\u503c\u5bf9\u4e2d\uff0c\u53ef\u4ee5\u5b58\u50a8\u5176\u4ed6\u5bf9\u8c61\u6240\u9700\u8981\u4f7f\u7528\u7684\u914d\u7f6e\u3002 \u4f7f\u7528\u65f6\uff0c \u5bb9\u5668\u53ef\u4ee5\u5c06\u5176\u7528\u4f5c\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u6216\u8005\u5b58\u50a8\u5377\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u3002\u901a\u8fc7\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u80fd\u591f\u5c06\u914d\u7f6e\u6570\u636e\u548c\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u5206\u5f00\uff0c\u4e3a\u5e94\u7528\u914d\u7f6e\u7684\u4fee\u6539\u63d0\u4f9b\u66f4\u52a0\u7075\u6d3b\u7684\u9014\u5f84\u3002

                                              Note

                                              \u914d\u7f6e\u9879\u5e76\u4e0d\u63d0\u4f9b\u4fdd\u5bc6\u6216\u8005\u52a0\u5bc6\u529f\u80fd\u3002\u5982\u679c\u8981\u5b58\u50a8\u7684\u6570\u636e\u662f\u673a\u5bc6\u7684\uff0c\u8bf7\u4f7f\u7528\u5bc6\u94a5\uff0c\u6216\u8005\u4f7f\u7528\u5176\u4ed6\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u4fdd\u8bc1\u6570\u636e\u7684\u79c1\u5bc6\u6027\uff0c\u800c\u4e0d\u662f\u7528\u914d\u7f6e\u9879\u3002 \u6b64\u5916\u5728\u5bb9\u5668\u91cc\u4f7f\u7528\u914d\u7f6e\u9879\u65f6\uff0c\u5bb9\u5668\u548c\u914d\u7f6e\u9879\u5fc5\u987b\u5904\u4e8e\u540c\u4e00\u96c6\u7fa4\u7684\u547d\u540d\u7a7a\u95f4\u4e2d\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

                                              \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u914d\u7f6e\u9879\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

                                              • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf

                                              • \u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570

                                              • \u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_3","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

                                              \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                                              Note

                                              \u914d\u7f6e\u9879\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\u662f\u5c06\u914d\u7f6e\u9879\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_4","title":"\u56fe\u5f62\u5316\u754c\u9762\u64cd\u4f5c","text":"

                                              \u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                                              1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

                                              2. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879\u5bfc\u5165 \u6216 \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u3002

                                                • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u540d\u79f0\u3001 \u914d\u7f6e\u9879 \u7684\u540d\u79f0\u3002

                                                • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u914d\u7f6e\u9879 \u540d\u79f0\u3001 \u952e \u7684\u540d\u79f0\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                                              \u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u914d\u7f6e\u9879\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 ConfigMap \u4e2d\u7684 Key/Value\u3002

                                              apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-1\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"env\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:                  # (1)!\n            configMapKeyRef:\n              name: kpanda-configmap  # (2)!\n              key: SPECIAL_LEVEL      # (3)!\n  restartPolicy: Never\n
                                              1. \u4f7f\u7528 valueFrom \u6765\u6307\u5b9a env \u5f15\u7528\u914d\u7f6e\u9879\u7684 value \u503c
                                              2. \u5f15\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u540d\u79f0
                                              3. \u5f15\u7528\u7684\u914d\u7f6e\u9879 key
                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_6","title":"\u8bbe\u7f6e\u5bb9\u5668\u7684\u547d\u4ee4\u884c\u53c2\u6570","text":"

                                              \u60a8\u53ef\u4ee5\u4f7f\u7528\u914d\u7f6e\u9879\u8bbe\u7f6e\u5bb9\u5668\u4e2d\u7684\u547d\u4ee4\u6216\u8005\u53c2\u6570\u503c\uff0c\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u66ff\u6362\u8bed\u6cd5 $(VAR_NAME) \u6765\u8fdb\u884c\u3002\u5982\u4e0b\u6240\u793a\u3002

                                              apiVersion: v1\nkind: Pod\nmetadata:\n  name: configmap-pod-3\nspec:\n  containers:\n    - name: test-container\n      image: busybox\n      command: [ \"/bin/sh\", \"-c\", \"echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)\" ]\n      env:\n        - name: SPECIAL_LEVEL_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_LEVEL\n        - name: SPECIAL_TYPE_KEY\n          valueFrom:\n            configMapKeyRef:\n              name: kpanda-configmap\n              key: SPECIAL_TYPE\n  restartPolicy: Never\n

                                              \u8fd9\u4e2a Pod \u8fd0\u884c\u540e\uff0c\u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\u3002

                                              Hello Kpanda\n
                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_7","title":"\u7528\u4f5c\u5bb9\u5668\u6570\u636e\u5377","text":"

                                              \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

                                              \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u914d\u7f6e\u9879 \uff0c\u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                                              1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u4e2d\uff0c\u5728 \u5bb9\u5668\u914d\u7f6e \u8fd9\u4e00\u6b65\u4e2d\uff0c\u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

                                              2. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u914d\u7f6e\u9879 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-configmap.html#_9","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                                              \u8981\u5728\u4e00\u4e2a Pod \u7684\u5b58\u50a8\u5377\u4e2d\u4f7f\u7528 ConfigMap\u3002

                                              \u4e0b\u9762\u662f\u4e00\u4e2a\u5c06 ConfigMap \u4ee5\u5377\u7684\u5f62\u5f0f\u8fdb\u884c\u6302\u8f7d\u7684 Pod \u793a\u4f8b\uff1a

                                              apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    configMap:\n      name: myconfigmap\n

                                              \u5982\u679c Pod \u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u90fd\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4f46\u9488\u5bf9\u6bcf\u4e2a ConfigMap\uff0c\u60a8\u53ea\u9700\u8981\u8bbe\u7f6e\u4e00\u4e2a spec.volumes \u5757\u3002

                                              Note

                                              \u5c06\u914d\u7f6e\u9879\u4f5c\u4e3a\u5bb9\u5668\u6302\u8f7d\u7684\u6570\u636e\u5377\u65f6\uff0c\u914d\u7f6e\u9879\u53ea\u80fd\u4f5c\u4e3a\u53ea\u8bfb\u6587\u4ef6\u8fdb\u884c\u8bfb\u53d6\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html","title":"\u4f7f\u7528\u5bc6\u94a5","text":"

                                              \u5bc6\u94a5\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u548c\u7ba1\u7406\u5bc6\u7801\u3001OAuth \u4ee4\u724c\u3001SSH\u3001TLS \u51ed\u636e\u7b49\u654f\u611f\u4fe1\u606f\u7684\u8d44\u6e90\u5bf9\u8c61\u3002\u4f7f\u7528\u5bc6\u94a5\u610f\u5473\u7740\u60a8\u4e0d\u9700\u8981\u5728\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u5305\u542b\u654f\u611f\u7684\u673a\u5bc6\u6570\u636e\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"

                                              \u60a8\u53ef\u4ee5\u5728 Pod \u4e2d\u4f7f\u7528\u5bc6\u94a5\uff0c\u6709\u591a\u79cd\u4f7f\u7528\u573a\u666f\uff0c\u4e3b\u8981\u5305\u62ec\uff1a

                                              • \u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u4f7f\u7528\uff0c\u63d0\u4f9b\u5bb9\u5668\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u6240\u9700\u7684\u4e00\u4e9b\u5fc5\u8981\u4fe1\u606f\u3002
                                              • \u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377\u3002
                                              • \u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u4f7f\u7528\u3002
                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_3","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbe\u7f6e\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf","text":"

                                              \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf\u3002

                                              Note

                                              \u5bc6\u94a5\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff1b\u5bc6\u94a5\u952e\u503c\u5bfc\u5165\u662f\u5c06\u5bc6\u94a5\u4e2d\u67d0\u4e00\u53c2\u6570\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_4","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

                                              \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u5728 \u73af\u5883\u53d8\u91cf \u754c\u9762\u901a\u8fc7\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u4e3a\u5bb9\u5668\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                                              1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                                              2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u73af\u5883\u53d8\u91cf \u914d\u7f6e\uff0c\u70b9\u51fb \u6dfb\u52a0\u73af\u5883\u53d8\u91cf \u6309\u94ae\u3002

                                              3. \u5728\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5\u5bfc\u5165 \u6216 \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u3002

                                                • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u524d\u7f00 \u3001 \u5bc6\u94a5 \u7684\u540d\u79f0\u3002

                                                • \u5f53\u73af\u5883\u53d8\u91cf\u7c7b\u578b\u9009\u62e9\u4e3a \u5bc6\u94a5\u952e\u503c\u5bfc\u5165 \u65f6\uff0c\u4f9d\u6b21\u8f93\u5165 \u53d8\u91cf\u540d \u3001 \u5bc6\u94a5 \u3001 \u952e \u7684\u540d\u79f0\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_5","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                                              \u5982\u4e0b\u4f8b\u6240\u793a\uff0c\u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u5c06\u5bc6\u94a5\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\uff0c\u4f7f\u7528 valueFrom \u53c2\u6570\u5f15\u7528 Secret \u4e2d\u7684 Key/Value\u3002

                                              apiVersion: v1\nkind: Pod\nmetadata:\n  name: secret-env-pod\nspec:\n  containers:\n  - name: mycontainer\n    image: redis\n    env:\n      - name: SECRET_USERNAME\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: username\n            optional: false # (1)!\n      - name: SECRET_PASSWORD\n        valueFrom:\n          secretKeyRef:\n            name: mysecret\n            key: password\n            optional: false # (2)!\n
                                              1. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"username\" \u7684\u4e3b\u952e
                                              2. \u6b64\u503c\u4e3a\u9ed8\u8ba4\u503c\uff1b\u610f\u5473\u7740 \"mysecret\"\uff0c\u5fc5\u987b\u5b58\u5728\u4e14\u5305\u542b\u540d\u4e3a \"password\" \u7684\u4e3b\u952e
                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#pod","title":"\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a Pod \u7684\u6570\u636e\u5377","text":""},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_6","title":"\u56fe\u5f62\u754c\u9762\u64cd\u4f5c","text":"

                                              \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                                              1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                                              2. \u5728 \u5bb9\u5668\u914d\u7f6e \u9009\u62e9 \u6570\u636e\u5b58\u50a8 \u914d\u7f6e\uff0c\u5728 \u8282\u70b9\u8def\u5f84\u6620\u5c04 \u5217\u8868\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u3002

                                              3. \u5728\u5b58\u50a8\u7c7b\u578b\u5904\u9009\u62e9 \u5bc6\u94a5 \uff0c\u5e76\u4f9d\u6b21\u8f93\u5165 \u5bb9\u5668\u8def\u5f84 \u3001 \u5b50\u8def\u5f84 \u7b49\u4fe1\u606f\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_7","title":"\u547d\u4ee4\u884c\u64cd\u4f5c","text":"

                                              \u4e0b\u9762\u662f\u4e00\u4e2a\u901a\u8fc7\u6570\u636e\u5377\u6765\u6302\u8f7d\u540d\u4e3a mysecret \u7684 Secret \u7684 Pod \u793a\u4f8b\uff1a

                                              apiVersion: v1\nkind: Pod\nmetadata:\n  name: mypod\nspec:\n  containers:\n  - name: mypod\n    image: redis\n    volumeMounts:\n    - name: foo\n      mountPath: \"/etc/foo\"\n      readOnly: true\n  volumes:\n  - name: foo\n    secret:\n      secretName: mysecret\n      optional: false # (1)!\n
                                              1. \u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u610f\u5473\u7740 \"mysecret\" \u5fc5\u987b\u5df2\u7ecf\u5b58\u5728

                                              \u5982\u679c Pod \u4e2d\u5305\u542b\u591a\u4e2a\u5bb9\u5668\uff0c\u5219\u6bcf\u4e2a\u5bb9\u5668\u9700\u8981\u81ea\u5df1\u7684 volumeMounts \u5757\uff0c\u4e0d\u8fc7\u9488\u5bf9\u6bcf\u4e2a Secret \u800c\u8a00\uff0c\u53ea\u9700\u8981\u4e00\u4efd .spec.volumes \u8bbe\u7f6e\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#kubelet","title":"\u5728 kubelet \u62c9\u53d6\u5bb9\u5668\u955c\u50cf\u65f6\u7528\u4f5c\u955c\u50cf\u4ed3\u5e93\u7684\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1","text":"

                                              \u60a8\u53ef\u4ee5\u901a\u8fc7\u56fe\u5f62\u5316\u754c\u9762\u6216\u8005\u7ec8\u7aef\u547d\u4ee4\u884c\u6765\u4f7f\u7528\u5bc6\u94a5\u4f5c\u4e3a\u955c\u50cf\u4ed3\u5e93\u8eab\u4efd\u8ba4\u8bc1\u51ed\u8bc1\u3002

                                              "},{"location":"end-user/kpanda/configmaps-secrets/use-secret.html#_8","title":"\u56fe\u5f62\u5316\u64cd\u4f5c","text":"

                                              \u5728\u901a\u8fc7\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728 \u6570\u636e\u5b58\u50a8 \u754c\u9762\u9009\u62e9\u5b58\u50a8\u7c7b\u578b\u4e3a \u5bc6\u94a5 \uff0c\u5c06\u5bc6\u94a5\u4f5c\u4e3a\u5bb9\u5668\u7684\u6570\u636e\u5377\u3002

                                              1. \u8fdb\u5165\u955c\u50cf\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u3002

                                              2. \u5728\u7b2c\u4e8c\u6b65 \u5bb9\u5668\u914d\u7f6e \u65f6\u9009\u62e9 \u57fa\u672c\u4fe1\u606f \u914d\u7f6e\uff0c\u70b9\u51fb \u9009\u62e9\u955c\u50cf \u6309\u94ae\u3002

                                              3. \u5728\u5f39\u6846\u7684 \u955c\u50cf\u4ed3\u5e93 \u4e0b\u62c9\u9009\u62e9\u79c1\u6709\u955c\u50cf\u4ed3\u5e93\u540d\u79f0\u3002\u5173\u4e8e\u79c1\u6709\u955c\u50cf\u5bc6\u94a5\u521b\u5efa\u8bf7\u67e5\u770b\u521b\u5efa\u5bc6\u94a5\u4e86\u89e3\u8be6\u60c5\u3002

                                              4. \u8f93\u5165\u79c1\u6709\u4ed3\u5e93\u5185\u7684\u955c\u50cf\u540d\u79f0\uff0c\u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u955c\u50cf\u9009\u62e9\u3002

                                              Note

                                              \u521b\u5efa\u5bc6\u94a5\u65f6\uff0c\u9700\u8981\u786e\u4fdd\u8f93\u5165\u6b63\u786e\u7684\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u3001\u7528\u6237\u540d\u79f0\u3001\u5bc6\u7801\u5e76\u9009\u62e9\u6b63\u786e\u7684\u955c\u50cf\u540d\u79f0\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u83b7\u53d6\u955c\u50cf\u4ed3\u5e93\u4e2d\u7684\u955c\u50cf\u3002

                                              "},{"location":"end-user/kpanda/custom-resources/create.html","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90 (CRD)","text":"

                                              \u5728 Kubernetes \u4e2d\u4e00\u5207\u5bf9\u8c61\u90fd\u88ab\u62bd\u8c61\u4e3a\u8d44\u6e90\uff0c\u5982 Pod\u3001Deployment\u3001Service\u3001Volume \u7b49\u662f Kubernetes \u63d0\u4f9b\u7684\u9ed8\u8ba4\u8d44\u6e90\uff0c \u8fd9\u4e3a\u6211\u4eec\u7684\u65e5\u5e38\u8fd0\u7ef4\u548c\u7ba1\u7406\u5de5\u4f5c\u63d0\u4f9b\u4e86\u91cd\u8981\u652f\u6491\uff0c\u4f46\u662f\u5728\u4e00\u4e9b\u7279\u6b8a\u7684\u573a\u666f\u4e2d\uff0c\u73b0\u6709\u7684\u9884\u7f6e\u8d44\u6e90\u5e76\u4e0d\u80fd\u6ee1\u8db3\u4e1a\u52a1\u7684\u9700\u8981\uff0c \u56e0\u6b64\u6211\u4eec\u5e0c\u671b\u53bb\u6269\u5c55 Kubernetes API \u7684\u80fd\u529b\uff0c\u81ea\u5b9a\u4e49\u8d44\u6e90\uff08CustomResourceDefinition, CRD\uff09\u6b63\u662f\u57fa\u4e8e\u8fd9\u6837\u7684\u9700\u6c42\u5e94\u8fd0\u800c\u751f\u3002

                                              \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9\u81ea\u5b9a\u4e49\u8d44\u6e90\u7684\u754c\u9762\u5316\u7ba1\u7406\uff0c\u4e3b\u8981\u529f\u80fd\u5982\u4e0b\uff1a

                                              • \u83b7\u53d6\u96c6\u7fa4\u4e0b\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u548c\u8be6\u7ec6\u4fe1\u606f
                                              • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u8d44\u6e90
                                              • \u57fa\u4e8e YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b CR\uff08Custom Resource\uff09
                                              • \u5220\u9664\u81ea\u5b9a\u4e49\u8d44\u6e90
                                              "},{"location":"end-user/kpanda/custom-resources/create.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                                              • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a Cluster Admin \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743

                                              "},{"location":"end-user/kpanda/custom-resources/create.html#yaml","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90","text":"
                                              1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                              2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                                              3. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                              4. \u8fd4\u56de\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                                              \u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b\uff1a

                                              CRD example
                                              apiVersion: apiextensions.k8s.io/v1\nkind: CustomResourceDefinition\nmetadata:\n  name: crontabs.stable.example.com\nspec:\n  group: stable.example.com\n  versions:\n    - name: v1\n      served: true\n      storage: true\n      schema:\n        openAPIV3Schema:\n          type: object\n          properties:\n            spec:\n              type: object\n              properties:\n                cronSpec:\n                  type: string\n                image:\n                  type: string\n                replicas:\n                  type: integer\n  scope: Namespaced\n  names:\n    plural: crontabs\n    singular: crontab\n    kind: CronTab\n    shortNames:\n    - ct\n
                                              "},{"location":"end-user/kpanda/custom-resources/create.html#yaml_1","title":"\u901a\u8fc7 YAML \u521b\u5efa\u81ea\u5b9a\u4e49\u8d44\u6e90\u793a\u4f8b","text":"
                                              1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                              2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u81ea\u5b9a\u4e49\u8d44\u6e90 \uff0c\u8fdb\u5165\u81ea\u5b9a\u4e49\u8d44\u6e90\u5217\u8868\u9875\u9762\u3002

                                              3. \u70b9\u51fb\u540d\u4e3a crontabs.stable.example.com \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\uff0c\u8fdb\u5165\u8be6\u60c5\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 YAML \u521b\u5efa \u6309\u94ae\u3002

                                              4. \u5728 YAML \u521b\u5efa \u9875\u9762\u4e2d\uff0c\u586b\u5199 YAML \u8bed\u53e5\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                              5. \u8fd4\u56de crontabs.stable.example.com \u7684\u8be6\u60c5\u9875\u9762\uff0c\u5373\u53ef\u67e5\u770b\u521a\u521a\u521b\u5efa\u7684\u540d\u4e3a my-new-cron-object \u7684\u81ea\u5b9a\u4e49\u8d44\u6e90\u3002

                                              CR \u793a\u4f8b\uff1a

                                              CR example
                                              apiVersion: \"stable.example.com/v1\"\nkind: CronTab\nmetadata:\n  name: my-new-cron-object\nspec:\n  cronSpec: \"* * * * */5\"\n  image: my-awesome-cron-image\n
                                              "},{"location":"end-user/kpanda/gpu/index.html","title":"GPU \u7ba1\u7406\u6982\u8ff0","text":"

                                              \u672c\u6587\u4ecb\u7ecd \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5bf9 GPU\u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8d44\u6e90\u7edf\u4e00\u8fd0\u7ef4\u7ba1\u7406\u80fd\u529b\u3002

                                              "},{"location":"end-user/kpanda/gpu/index.html#_1","title":"\u80cc\u666f","text":"

                                              \u968f\u7740 AI \u5e94\u7528\u3001\u5927\u6a21\u578b\u3001\u4eba\u5de5\u667a\u80fd\u3001\u81ea\u52a8\u9a7e\u9a76\u7b49\u65b0\u5174\u6280\u672f\u7684\u5feb\u901f\u53d1\u5c55\uff0c\u4f01\u4e1a\u9762\u4e34\u7740\u8d8a\u6765\u8d8a\u591a\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4efb\u52a1\u548c\u6570\u636e\u5904\u7406\u9700\u6c42\u3002 \u4ee5 CPU \u4e3a\u4ee3\u8868\u7684\u4f20\u7edf\u8ba1\u7b97\u67b6\u6784\u5df2\u65e0\u6cd5\u6ee1\u8db3\u4f01\u4e1a\u65e5\u76ca\u589e\u957f\u7684\u8ba1\u7b97\u9700\u6c42\u3002\u6b64\u65f6\uff0c\u4ee5 GPU \u4e3a\u4ee3\u8868\u7684\u5f02\u6784\u8ba1\u7b97\u56e0\u5728\u5904\u7406\u5927\u89c4\u6a21\u6570\u636e\u3001\u8fdb\u884c\u590d\u6742\u8ba1\u7b97\u548c\u5b9e\u65f6\u56fe\u5f62\u6e32\u67d3\u65b9\u9762\u5177\u6709\u72ec\u7279\u7684\u4f18\u52bf\u88ab\u5e7f\u6cdb\u5e94\u7528\u3002

                                              \u4e0e\u6b64\u540c\u65f6\uff0c\u7531\u4e8e\u7f3a\u4e4f\u5f02\u6784\u8d44\u6e90\u8c03\u5ea6\u7ba1\u7406\u7b49\u65b9\u9762\u7684\u7ecf\u9a8c\u548c\u4e13\u4e1a\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u5bfc\u81f4\u4e86 GPU \u8bbe\u5907\u7684\u8d44\u6e90\u5229\u7528\u7387\u6781\u4f4e\uff0c\u7ed9\u4f01\u4e1a\u5e26\u6765\u4e86\u9ad8\u6602\u7684 AI \u751f\u4ea7\u6210\u672c\u3002 \u5982\u4f55\u964d\u672c\u589e\u6548\uff0c\u63d0\u9ad8 GPU \u7b49\u5f02\u6784\u8d44\u6e90\u7684\u5229\u7528\u6548\u7387\uff0c\u6210\u4e3a\u4e86\u5f53\u524d\u4f17\u591a\u4f01\u4e1a\u4e9f\u9700\u8de8\u8d8a\u7684\u4e00\u9053\u96be\u9898\u3002

                                              "},{"location":"end-user/kpanda/gpu/index.html#gpu_1","title":"GPU \u80fd\u529b\u4ecb\u7ecd","text":"

                                              \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u652f\u6301\u5bf9 GPU\u3001NPU \u7b49\u5f02\u6784\u8d44\u6e90\u8fdb\u884c\u7edf\u4e00\u8c03\u5ea6\u548c\u8fd0\u7ef4\u7ba1\u7406\uff0c\u5145\u5206\u91ca\u653e GPU \u8d44\u6e90\u7b97\u529b\uff0c\u52a0\u901f\u4f01\u4e1a AI \u7b49\u65b0\u5174\u5e94\u7528\u53d1\u5c55\u3002GPU \u7ba1\u7406\u80fd\u529b\u5982\u4e0b\uff1a

                                              • \u652f\u6301\u7edf\u4e00\u7eb3\u7ba1 NVIDIA\u3001\u534e\u4e3a\u6607\u817e\u3001\u5929\u6570\u7b49\u56fd\u5185\u5916\u5382\u5546\u7684\u5f02\u6784\u8ba1\u7b97\u8d44\u6e90\u3002
                                              • \u652f\u6301\u540c\u4e00\u96c6\u7fa4\u591a\u5361\u5f02\u6784\u8c03\u5ea6\uff0c\u5e76\u652f\u6301\u96c6\u7fa4 GPU \u5361\u81ea\u52a8\u8bc6\u522b\u3002
                                              • \u652f\u6301 NVIDIA GPU\u3001vGPU\u3001MIG \u7b49 GPU \u539f\u751f\u7ba1\u7406\u65b9\u6848\uff0c\u5e76\u63d0\u4f9b\u4e91\u539f\u751f\u80fd\u529b\u3002
                                              • \u652f\u6301\u5355\u5757\u7269\u7406\u5361\u5207\u5206\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u4f7f\u7528\uff0c\u5e76\u652f\u6301\u5bf9\u79df\u6237\u548c\u5bb9\u5668\u4f7f\u7528 GPU \u8d44\u6e90\u6309\u7167\u7b97\u529b\u3001\u663e\u5b58\u8fdb\u884c GPU \u8d44\u6e90\u914d\u989d\u3002
                                              • \u652f\u6301\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5e94\u7528\u7b49\u591a\u7ef4\u5ea6 GPU \u8d44\u6e90\u76d1\u63a7\uff0c\u5e2e\u52a9\u8fd0\u7ef4\u4eba\u5458\u7ba1\u7406 GPU \u8d44\u6e90\u3002
                                              • \u517c\u5bb9 TensorFlow\u3001pytorch \u7b49\u591a\u79cd\u8bad\u7ec3\u6846\u67b6\u3002
                                              "},{"location":"end-user/kpanda/gpu/index.html#gpu-operator","title":"GPU Operator \u4ecb\u7ecd","text":"

                                              \u540c\u666e\u901a\u8ba1\u7b97\u673a\u786c\u4ef6\u4e00\u6837\uff0cNVIDIA GPU \u5361\u4f5c\u4e3a\u7269\u7406\u786c\u4ef6\uff0c\u5fc5\u987b\u5b89\u88c5 NVIDIA GPU \u9a71\u52a8\u540e\u624d\u80fd\u4f7f\u7528\u3002 \u4e3a\u4e86\u964d\u4f4e\u7528\u6237\u5728 kuberneets \u4e0a\u4f7f\u7528 GPU \u7684\u6210\u672c\uff0cNVIDIA \u5b98\u65b9\u63d0\u4f9b\u4e86 NVIDIA GPU Operator \u7ec4\u4ef6\u6765\u7ba1\u7406\u4f7f\u7528 NVIDIA GPU \u6240\u4f9d\u8d56\u7684\u5404\u79cd\u7ec4\u4ef6\u3002 \u8fd9\u4e9b\u7ec4\u4ef6\u5305\u62ec NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff08\u7528\u4e8e\u542f\u7528 CUDA\uff09\u3001NVIDIA \u5bb9\u5668\u8fd0\u884c\u65f6\u3001GPU \u8282\u70b9\u6807\u8bb0\u3001\u57fa\u4e8e DCGM \u7684\u76d1\u63a7\u7b49\u3002 \u7406\u8bba\u4e0a\u6765\u8bf4\u7528\u6237\u53ea\u9700\u8981\u5c06 GPU \u5361\u63d2\u5728\u5df2\u7ecf\u88ab kubernetes \u6240\u7eb3\u7ba1\u7684\u8ba1\u7b97\u8bbe\u5907\u4e0a\uff0c\u7136\u540e\u901a\u8fc7 GPU Operator \u5c31\u80fd\u4f7f\u7528 NVIDIA GPU \u7684\u6240\u6709\u80fd\u529b\u4e86\u3002 \u4e86\u89e3\u66f4\u591a NVIDIA GPU Operator \u76f8\u5173\u4fe1\u606f\uff0c\u8bf7\u53c2\u8003 NVIDIA \u5b98\u65b9\u6587\u6863\u3002 \u5982\u4f55\u90e8\u7f72\u8bf7\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5

                                              NVIDIA GPU Operator \u67b6\u6784\u56fe\uff1a

                                              "},{"location":"end-user/kpanda/gpu/FAQ.html","title":"GPU \u76f8\u5173 FAQ","text":""},{"location":"end-user/kpanda/gpu/FAQ.html#pod-nvidia-smi-gpu","title":"Pod \u5185 nvidia-smi \u770b\u4e0d\u5230 GPU \u8fdb\u7a0b","text":"

                                              Q: \u5728\u4f7f\u7528 GPU \u7684 Pod \u5185\u6267\u884c nvidia-smi \u547d\u4ee4\u770b\u4e0d\u5230\u4f7f\u7528 GPU \u7684\u8fdb\u7a0b\u4fe1\u606f\uff0c\u5305\u62ec\u6574\u5361\u6a21\u5f0f\u3001vGPU \u6a21\u5f0f\u7b49\u3002

                                              A: \u56e0\u4e3a\u6709 PID namespace \u9694\u79bb\uff0c\u5bfc\u81f4\u5728 Pod \u5185\u67e5\u770b\u4e0d\u5230 GPU \u8fdb\u7a0b\uff0c\u5982\u679c\u8981\u67e5\u770b GPU \u8fdb\u7a0b\u6709\u5982\u4e0b\u51e0\u79cd\u65b9\u6cd5\uff1a

                                              • \u5728\u4f7f\u7528 GPU \u7684\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e hostPID: true\uff0c\u4f7f\u5176\u53ef\u4ee5\u67e5\u770b\u5230\u5bbf\u4e3b\u673a\u4e0a\u7684 PID
                                              • \u5728 gpu-operator \u7684 driver Pod \u4e2d\u6267\u884c nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
                                              • \u5728\u5bbf\u4e3b\u673a\u4e0a\u6267\u884c chroot /run/nvidia/driver nvidia-smi \u547d\u4ee4\u67e5\u770b\u8fdb\u7a0b
                                              "},{"location":"end-user/kpanda/gpu/Iluvatar_usage.html","title":"App \u4f7f\u7528\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"

                                              \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u5929\u6570\u667a\u82af\u865a\u62df GPU\u3002

                                              "},{"location":"end-user/kpanda/gpu/Iluvatar_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                                              • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                              • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5929\u6570\u667a\u82af GPU \u9a71\u52a8\uff0c\u9a71\u52a8\u5b89\u88c5\u8bf7\u53c2\u8003\u5929\u6570\u667a\u82af\u5b98\u65b9\u6587\u6863\u3002
                                              • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u4e14\u672a\u88ab\u5176\u5b83 App \u5360\u7528\u3002
                                              "},{"location":"end-user/kpanda/gpu/Iluvatar_usage.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/gpu/Iluvatar_usage.html#_3","title":"\u4f7f\u7528\u754c\u9762\u914d\u7f6e","text":"
                                              1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Iluvatar \u3002

                                              2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Iluvatar\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

                                                • \u7269\u7406\u5361\u6570\u91cf\uff08iluvatar.ai/vcuda-core\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                                                • \u663e\u5b58\u4f7f\u7528\u6570\u91cf\uff08iluvatar.ai/vcuda-memory\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                                                \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                                              "},{"location":"end-user/kpanda/gpu/Iluvatar_usage.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                                              \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0iluvatar.ai/vcuda-core: 1\u3001iluvatar.ai/vcuda-memory: 200 \u53c2\u6570\uff0c\u914d\u7f6e App \u4f7f\u7528\u7269\u7406\u5361\u7684\u8d44\u6e90\u3002

                                              apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-iluvatar-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-iluvatar-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-iluvatar-gpu-demo\n    spec:\n      containers:\n      - image: nginx:perl\n        name: container-0\n        resources:\n          limits:\n            cpu: 250m\n            iluvatar.ai/vcuda-core: '1'\n            iluvatar.ai/vcuda-memory: '200'\n            memory: 512Mi\n          requests:\n            cpu: 250m\n            memory: 512Mi\n      imagePullSecrets:\n      - name: default-secret\n
                                              "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html","title":"GPU \u8d44\u6e90\u52a8\u6001\u8c03\u8282","text":"

                                              \u63d0\u4f9b GPU \u8d44\u6e90\u52a8\u6001\u8c03\u6574\u529f\u80fd\uff0c\u5141\u8bb8\u60a8\u5728\u65e0\u9700\u91cd\u65b0\u52a0\u8f7d\u3001\u91cd\u7f6e\u6216\u91cd\u542f\u6574\u4e2a\u8fd0\u884c\u73af\u5883\u7684\u60c5\u51b5\u4e0b\uff0c\u5bf9\u5df2\u7ecf\u5206\u914d\u7684 vGPU \u8d44\u6e90\u8fdb\u884c\u5b9e\u65f6\u3001\u52a8\u6001\u7684\u8c03\u6574\u3002 \u8fd9\u4e00\u529f\u80fd\u65e8\u5728\u6700\u5927\u7a0b\u5ea6\u5730\u51cf\u5c11\u5bf9\u4e1a\u52a1\u8fd0\u884c\u7684\u5f71\u54cd\uff0c\u786e\u4fdd\u60a8\u7684\u4e1a\u52a1\u80fd\u591f\u6301\u7eed\u7a33\u5b9a\u5730\u8fd0\u884c\uff0c\u540c\u65f6\u6839\u636e\u5b9e\u9645\u9700\u6c42\u7075\u6d3b\u8c03\u6574 GPU \u8d44\u6e90\u3002

                                              "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"
                                              • \u5f39\u6027\u8d44\u6e90\u5206\u914d \uff1a\u5f53\u4e1a\u52a1\u9700\u6c42\u6216\u5de5\u4f5c\u8d1f\u8f7d\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u5feb\u901f\u8c03\u6574 GPU \u8d44\u6e90\u4ee5\u6ee1\u8db3\u65b0\u7684\u6027\u80fd\u8981\u6c42\u3002
                                              • \u5373\u65f6\u54cd\u5e94 \uff1a\u5728\u9762\u5bf9\u7a81\u53d1\u7684\u9ad8\u8d1f\u8f7d\u6216\u4e1a\u52a1\u9700\u6c42\u65f6\uff0c\u53ef\u4ee5\u8fc5\u901f\u589e\u52a0 GPU \u8d44\u6e90\u800c\u65e0\u9700\u4e2d\u65ad\u4e1a\u52a1\u8fd0\u884c\uff0c\u4ee5\u786e\u4fdd\u670d\u52a1\u7684\u7a33\u5b9a\u6027\u548c\u6027\u80fd\u3002
                                              "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                              \u4ee5\u4e0b\u662f\u4e00\u4e2a\u5177\u4f53\u7684\u64cd\u4f5c\u793a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u8c03\u6574 vGPU \u7684\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff1a

                                              "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html#vgpu-pod","title":"\u521b\u5efa\u4e00\u4e2a vGPU Pod","text":"

                                              \u9996\u5148\uff0c\u6211\u4eec\u4f7f\u7528\u4ee5\u4e0b YAML \u521b\u5efa\u4e00\u4e2a vGPU Pod\uff0c\u5176\u7b97\u529b\u521d\u59cb\u4e0d\u9650\u5236\uff0c\u663e\u5b58\u9650\u5236\u4e3a 200Mb\u3002

                                              kind: Deployment\napiVersion: apps/v1\nmetadata:\n  name: gpu-burn-test\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: gpu-burn-test\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: gpu-burn-test\n    spec:\n      containers:\n        - name: container-1\n          image: docker.io/chrstnhntschl/gpu_burn:latest\n          command:\n            - sleep\n            - '100000'\n          resources:\n            limits:\n              cpu: 1m\n              memory: 1Gi\n              nvidia.com/gpucores: '0'\n              nvidia.com/gpumem: '200'\n              nvidia.com/vgpu: '1'\n

                                              \u8c03\u6574\u524d\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

                                              "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html#_3","title":"\u52a8\u6001\u8c03\u6574\u7b97\u529b","text":"

                                              \u5982\u679c\u9700\u8981\u4fee\u6539\u7b97\u529b\u4e3a 10%\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                                              1. \u8fdb\u5165\u5bb9\u5668\uff1a

                                                kubectl exec -it <pod-name> -- /bin/bash\n
                                              2. \u6267\u884c\uff1a

                                                export CUDA_DEVICE_SM_LIMIT=10\n
                                              3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

                                                ./gpu_burn 60\n

                                                \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u6ce8\u610f\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

                                              "},{"location":"end-user/kpanda/gpu/dynamic-regulation.html#_4","title":"\u52a8\u6001\u8c03\u6574\u663e\u5b58","text":"

                                              \u5982\u679c\u9700\u8981\u4fee\u6539\u663e\u5b58\u4e3a 300 MB\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

                                              1. \u8fdb\u5165\u5bb9\u5668\uff1a

                                                kubectl exec -it <pod-name> -- /bin/bash\n
                                              2. \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6765\u8bbe\u7f6e\u663e\u5b58\u9650\u5236\uff1a

                                                export CUDA_DEVICE_MEMORY_LIMIT_0=300m\nexport CUDA_DEVICE_MEMORY_SHARED_CACHE=/usr/local/vgpu/d.cache\n

                                                Note

                                                \u6bcf\u6b21\u4fee\u6539\u663e\u5b58\u5927\u5c0f\u65f6\uff0cd.cache \u8fd9\u4e2a\u6587\u4ef6\u540d\u5b57\u90fd\u9700\u8981\u4fee\u6539\uff0c\u6bd4\u5982\u6539\u4e3a a.cache\u30011.cache \u7b49\uff0c\u4ee5\u907f\u514d\u7f13\u5b58\u51b2\u7a81\u3002

                                              3. \u5728\u5f53\u524d\u7ec8\u7aef\u76f4\u63a5\u8fd0\u884c\uff1a

                                                ./gpu_burn 60\n

                                                \u7a0b\u5e8f\u5373\u53ef\u751f\u6548\u3002\u540c\u6837\u5730\uff0c\u4e0d\u80fd\u9000\u51fa\u5f53\u524d Bash \u7ec8\u7aef\u3002

                                              \u8c03\u6574\u540e\u67e5\u770b Pod \u4e2d\u7684\u8d44\u6e90 GPU \u5206\u914d\u8d44\u6e90\uff1a

                                              \u901a\u8fc7\u4e0a\u8ff0\u6b65\u9aa4\uff0c\u60a8\u53ef\u4ee5\u5728\u4e0d\u91cd\u542f vGPU Pod \u7684\u60c5\u51b5\u4e0b\u52a8\u6001\u5730\u8c03\u6574\u5176\u7b97\u529b\u548c\u663e\u5b58\u8d44\u6e90\uff0c\u4ece\u800c\u66f4\u7075\u6d3b\u5730\u6ee1\u8db3\u4e1a\u52a1\u9700\u6c42\u5e76\u4f18\u5316\u8d44\u6e90\u5229\u7528\u3002

                                              "},{"location":"end-user/kpanda/gpu/gpu_matrix.html","title":"GPU \u652f\u6301\u77e9\u9635","text":"

                                              \u672c\u9875\u8bf4\u660e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684 GPU \u53ca\u64cd\u4f5c\u7cfb\u7edf\u6240\u5bf9\u5e94\u7684\u77e9\u9635\u3002

                                              "},{"location":"end-user/kpanda/gpu/gpu_matrix.html#nvidia-gpu","title":"NVIDIA GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 NVIDIA GPU\uff08\u6574\u5361/vGPU\uff09 NVIDIA Fermi (2.1) \u67b6\u6784 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160\u5185\u6838\u53c2\u8003\u6587\u6863\u5efa\u8bae\u4f7f\u7528\u64cd\u4f5c\u7cfb\u7edf\u5bf9\u5e94 Kernel \u7248\u672c \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 NVIDIA GeForce 400 \u7cfb\u5217 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA Quadro 4000 \u7cfb\u5217 Ubuntu 20.04 Kernel 5.4 NVIDIA Tesla 20 \u7cfb\u5217 Ubuntu 22.04 Kernel 5.19 NVIDIA Ampere \u67b6\u6784\u7cfb\u5217(A100;A800;H100) RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348 NVIDIA MIG NVIDIA Ampere \u67b6\u6784\u7cfb\u5217\uff08A100\u3001A800\u3001H100\uff09 CentOS 7 Kernel 3.10.0-123 ~ 3.10.0-1160 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 GPU Operator \u79bb\u7ebf\u5b89\u88c5 CentOS 8 Kernel 4.18.0-80 ~ 4.18.0-348 Ubuntu 20.04 Kernel 5.4 Ubuntu 22.04 Kernel 5.19 RHEL 7 Kernel 3.10.0-123 ~ 3.10.0-1160 RHEL 8 Kernel 4.18.0-80 ~ 4.18.0-348"},{"location":"end-user/kpanda/gpu/gpu_matrix.html#ascendnpu","title":"\u6607\u817e\uff08Ascend\uff09NPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301 NPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6607\u817e\uff08Ascend 310\uff09 Ascend 310 Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\uff1a\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 300 \u548c 310P \u9a71\u52a8\u6587\u6863 Ascend 310P\uff1b CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf \u6607\u817e\uff08Ascend 910\uff09 Ascend 910B Ubuntu 20.04 \u8be6\u60c5\u53c2\u8003\u5185\u6838\u7248\u672c\u8981\u6c42 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a3.10.0-1160 910 \u9a71\u52a8\u6587\u6863 CentOS 7.6 CentOS 8.2 KylinV10SP1 \u64cd\u4f5c\u7cfb\u7edf openEuler \u64cd\u4f5c\u7cfb\u7edf"},{"location":"end-user/kpanda/gpu/gpu_matrix.html#iluvatargpu","title":"\u5929\u6570\u667a\u82af\uff08Iluvatar\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u5929\u6570\u667a\u82af(Iluvatar vGPU) BI100 CentOS 7 Kernel 3.10.0-957.el7.x86_64 ~ 3.10.0-1160.42.2.el7.x86_64 \u64cd\u4f5c\u7cfb\u7edf\uff1aCentOS 7.9\uff1b\u5185\u6838\u7248\u672c\uff1a 3.10.0-1160 \u8865\u5145\u4e2d MR100\uff1b CentOS 8 Kernel 4.18.0-80.el8.x86_64 ~ 4.18.0-305.19.1.el8_4.x86_64 Ubuntu 20.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic Ubuntu 21.04 Kernel 4.15.0-20-generic ~ 4.15.0-160-generic Kernel 5.4.0-26-generic ~ 5.4.0-89-generic Kernel 5.8.0-23-generic ~ 5.8.0-63-generic openEuler 22.03 LTS Kernel \u7248\u672c\u5927\u4e8e\u7b49\u4e8e 5.1 \u4e14\u5c0f\u4e8e\u7b49\u4e8e 5.10"},{"location":"end-user/kpanda/gpu/gpu_matrix.html#metaxgpu","title":"\u6c90\u66e6\uff08Metax\uff09GPU","text":"GPU \u5382\u5546\u53ca\u7c7b\u578b \u652f\u6301\u7684 GPU \u578b\u53f7 \u9002\u914d\u7684\u64cd\u4f5c\u7cfb\u7edf\uff08\u5728\u7ebf\uff09 \u63a8\u8350\u5185\u6838 \u63a8\u8350\u7684\u64cd\u4f5c\u7cfb\u7edf\u53ca\u5185\u6838 \u5b89\u88c5\u6587\u6863 \u6c90\u66e6Metax\uff08\u6574\u5361/vGPU\uff09 \u66e6\u4e91 C500 \u6c90\u66e6 GPU \u5b89\u88c5\u4f7f\u7528"},{"location":"end-user/kpanda/gpu/gpu_scheduler_config.html","title":"GPU \u8c03\u5ea6\u914d\u7f6e\uff08Binpack \u548c Spread \uff09","text":"

                                              \u672c\u6587\u4ecb\u7ecd\u4f7f\u7528 NVIDIA vGPU \u65f6\uff0c\u5982\u4f55\u901a\u8fc7 Binpack \u548c Spread \u7684 GPU \u8c03\u5ea6\u914d\u7f6e\u51cf\u5c11 GPU \u8d44\u6e90\u788e\u7247\u3001\u9632\u6b62\u5355\u70b9\u6545\u969c\u7b49\uff0c\u5b9e\u73b0 vGPU \u7684\u9ad8\u7ea7\u8c03\u5ea6\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u4e86\u96c6\u7fa4\u548c\u5de5\u4f5c\u8d1f\u8f7d\u4e24\u79cd\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5206\u522b\u6ee1\u8db3\u4e0d\u540c\u573a\u666f\u4e0b\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                              "},{"location":"end-user/kpanda/gpu/gpu_scheduler_config.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                              • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907\u3002
                                              • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6 \u548c Nvidia-vgpu \u7ec4\u4ef6\u3002
                                              • \u96c6\u7fa4\u8282\u70b9\u5217\u8868\u4e2d\uff0cGPU \u6a21\u5f0f\u4e0b\u5b58\u5728 NVIDIA-vGPU \u7c7b\u578b\u3002
                                              "},{"location":"end-user/kpanda/gpu/gpu_scheduler_config.html#_2","title":"\u4f7f\u7528\u573a\u666f","text":"
                                              • \u57fa\u4e8e GPU \u5361\u7ef4\u5ea6\u8c03\u5ea6\u7b56\u7565

                                                • Binpack\uff1a\u4f18\u5148\u9009\u62e9\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
                                                • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u5361\u6545\u969c\u3002
                                              • \u57fa\u4e8e\u8282\u70b9\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565

                                                • Binpack\uff1a \u591a\u4e2a Pod \u4f1a\u4f18\u5148\u9009\u62e9\u540c\u4e00\u4e2a\u8282\u70b9\uff0c\u9002\u7528\u4e8e\u63d0\u9ad8 GPU \u5229\u7528\u7387\uff0c\u51cf\u5c11\u8d44\u6e90\u788e\u7247\u3002
                                                • Spread\uff1a\u591a\u4e2a Pod \u4f1a\u5206\u6563\u5728\u4e0d\u540c\u8282\u70b9\u4e0a\uff0c\u9002\u7528\u4e8e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u907f\u514d\u5355\u8282\u70b9\u6545\u969c\u3002
                                              "},{"location":"end-user/kpanda/gpu/gpu_scheduler_config.html#binpack-spread","title":"\u96c6\u7fa4\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

                                              Note

                                              \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u4f1a\u9075\u5faa\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e\u3002 \u82e5\u5de5\u4f5c\u8d1f\u8f7d\u5355\u72ec\u8bbe\u7f6e\u4e86\u4e0e\u96c6\u7fa4\u4e0d\u4e00\u81f4\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u5219\u8be5\u5de5\u4f5c\u8d1f\u8f7d\u4f18\u5148\u9075\u5faa\u5176\u672c\u8eab\u7684\u8c03\u5ea6\u7b56\u7565\u3002

                                              1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9009\u62e9\u9700\u8981\u8c03\u6574 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u70b9\u51fb GPU \u8c03\u5ea6\u914d\u7f6e \u3002

                                              2. \u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\uff0c\u5e76\u70b9\u51fb \u786e\u5b9a \u540e\u4fdd\u5b58\u3002

                                              "},{"location":"end-user/kpanda/gpu/gpu_scheduler_config.html#binpack-spread_1","title":"\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u4f7f\u7528 Binpack \u548c Spread \u8c03\u5ea6\u914d\u7f6e","text":"

                                              Note

                                              \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684 Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684\u914d\u7f6e\u51b2\u7a81\u65f6\uff0c\u4f18\u5148\u9075\u5faa\u5de5\u4f5c\u8d1f\u8f7d\u7ef4\u5ea6\u7684\u914d\u7f6e\u3002

                                              \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\uff0c\u5e76\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e Binpack \u548c Spread \u8c03\u5ea6\u7b56\u7565 \u3002

                                              1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                              2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                              3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\uff0c\u5e76\u5728 \u5bb9\u5668\u914d\u7f6e \u4e2d\u542f\u7528 GPU \u914d\u7f6e\uff0c\u9009\u62e9 GPU \u7c7b\u578b\u4e3a NVIDIA vGPU\uff0c \u70b9\u51fb \u9ad8\u7ea7\u8bbe\u7f6e \uff0c\u542f\u7528 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\uff0c\u6839\u636e\u4e1a\u52a1\u573a\u666f\u8c03\u6574 GPU \u8c03\u5ea6\u914d\u7f6e\u3002\u914d\u7f6e\u5b8c\u6210\u540e\u70b9\u51fb \u4e0b\u4e00\u6b65 \uff0c \u8fdb\u5165 \u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                              "},{"location":"end-user/kpanda/gpu/vgpu_quota.html","title":"GPU \u914d\u989d\u7ba1\u7406","text":"

                                              \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

                                              "},{"location":"end-user/kpanda/gpu/vgpu_quota.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                              \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u6216\u624b\u52a8\u65b9\u5f0f\u90e8\u7f72\u5bf9\u5e94\u7c7b\u578b GPU \u9a71\u52a8\uff08NVIDIA GPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\uff09

                                              "},{"location":"end-user/kpanda/gpu/vgpu_quota.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                              1. \u8fdb\u5165 Namespaces \u4e2d\uff0c\u70b9\u51fb \u914d\u989d\u7ba1\u7406 \u53ef\u4ee5\u914d\u7f6e\u5f53\u524d Namespace \u53ef\u4ee5\u4f7f\u7528\u7684 GPU \u8d44\u6e90\u3002

                                              2. \u5f53\u524d\u547d\u540d\u7a7a\u95f4\u914d\u989d\u7ba1\u7406\u8986\u76d6\u7684\u5361\u7c7b\u578b\u4e3a\uff1aNVIDIA vGPU\u3001NVIDIA MIG\u3001\u5929\u6570\u3001\u6607\u817e\u3002

                                                NVIDIA vGPU \u914d\u989d\u7ba1\u7406 \uff1a\u914d\u7f6e\u5177\u4f53\u53ef\u4ee5\u4f7f\u7528\u7684\u914d\u989d\uff0c\u4f1a\u521b\u5efa ResourcesQuota CR\uff1a

                                                • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d POD \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u5e76\u4e14\u8981 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                                                • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b\u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c\u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a 100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
                                                • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09\uff1a\u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html","title":"\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5","text":"

                                              \u672c\u7ae0\u8282\u63d0\u4f9b\u6607\u817e NPU \u9a71\u52a8\u3001Device Plugin\u3001NPU-Exporter \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u3002

                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u652f\u6301\u7684 NPU \u578b\u53f7\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
                                              2. \u8bf7\u786e\u8ba4 \u5bf9\u5e94 NPU \u578b\u53f7\u6240\u8981\u6c42\u7684\u5185\u6838\u7248\u672c\u662f\u5426\u5339\u914d\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u6607\u817e NPU \u77e9\u9635
                                              3. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#_2","title":"\u5b89\u88c5\u6b65\u9aa4","text":"

                                              \u4f7f\u7528 NPU \u8d44\u6e90\u4e4b\u524d\uff0c\u9700\u8981\u5b8c\u6210\u56fa\u4ef6\u5b89\u88c5\u3001NPU \u9a71\u52a8\u5b89\u88c5\u3001 Docker Runtime \u5b89\u88c5\u3001\u7528\u6237\u521b\u5efa\u3001\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa\u4ee5\u53ca NPU Device Plugin \u5b89\u88c5\uff0c\u8be6\u60c5\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u3002

                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#_3","title":"\u5b89\u88c5\u56fa\u4ef6","text":"
                                              1. \u5b89\u88c5\u524d\u8bf7\u786e\u8ba4\u5185\u6838\u7248\u672c\u5728\u201c\u4e8c\u8fdb\u5236\u5b89\u88c5\u201d\u5b89\u88c5\u65b9\u5f0f\u5bf9\u5e94\u7684\u7248\u672c\u8303\u56f4\u5185\uff0c\u5219\u53ef\u4ee5\u76f4\u63a5\u5b89\u88c5NPU\u9a71\u52a8\u56fa\u4ef6\u3002
                                              2. \u56fa\u4ef6\u4e0e\u9a71\u52a8\u4e0b\u8f7d\u8bf7\u53c2\u8003\u56fa\u4ef6\u4e0b\u8f7d\u5730\u5740
                                              3. \u56fa\u4ef6\u5b89\u88c5\u8bf7\u53c2\u8003\u5b89\u88c5 NPU \u9a71\u52a8\u56fa\u4ef6
                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#npu_1","title":"\u5b89\u88c5 NPU \u9a71\u52a8","text":"
                                              1. \u5982\u9a71\u52a8\u672a\u5b89\u88c5\uff0c\u8bf7\u53c2\u8003\u6607\u817e\u5b98\u65b9\u6587\u6863\u8fdb\u884c\u5b89\u88c5\u3002\u4f8b\u5982 Ascend910\uff0c\u53c2\u8003 910 \u9a71\u52a8\u5b89\u88c5\u6587\u6863\u3002
                                              2. \u8fd0\u884c npu-smi info \u547d\u4ee4\uff0c\u5e76\u4e14\u80fd\u591f\u6b63\u5e38\u8fd4\u56de NPU \u4fe1\u606f\uff0c\u8868\u793a NPU \u9a71\u52a8\u4e0e\u56fa\u4ef6\u5df2\u5c31\u7eea\u3002
                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#docker-runtime","title":"\u5b89\u88c5 Docker Runtime","text":"
                                              1. \u4e0b\u8f7d Ascend Docker Runtime

                                                \u793e\u533a\u7248\u4e0b\u8f7d\u5730\u5740\uff1ahttps://www.hiascend.com/zh/software/mindx-dl/community

                                                wget -c https://mindx.obs.cn-south-1.myhuaweicloud.com/OpenSource/MindX/MindX%205.0.RC2/MindX%20DL%205.0.RC2/Ascend-docker-runtime_5.0.RC2_linux-x86_64.run\n

                                                \u5b89\u88c5\u5230\u6307\u5b9a\u8def\u5f84\u4e0b\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b\u4e24\u6761\u547d\u4ee4\uff0c\u53c2\u6570\u4e3a\u6307\u5b9a\u7684\u5b89\u88c5\u8def\u5f84:

                                                chmod u+x Ascend-docker-runtime_5.0.RC2_linux-x86_64.run \n./Ascend-docker-runtime_{version}_linux-{arch}.run --install --install-path=<path>\n
                                              2. \u4fee\u6539 containerd \u914d\u7f6e\u6587\u4ef6

                                                containerd \u65e0\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6\u65f6\uff0c\u4f9d\u6b21\u6267\u884c\u4ee5\u4e0b3\u6761\u547d\u4ee4\uff0c\u521b\u5efa\u914d\u7f6e\u6587\u4ef6\uff1a

                                                mkdir /etc/containerd \ncontainerd config default > /etc/containerd/config.toml \nvim /etc/containerd/config.toml\n

                                                containerd \u6709\u914d\u7f6e\u6587\u4ef6\u65f6\uff1a

                                                vim /etc/containerd/config.toml\n

                                                \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u4fee\u6539 runtime \u7684\u5b89\u88c5\u8def\u5f84\uff0c\u4e3b\u8981\u4fee\u6539 runtime \u5b57\u6bb5\uff1a

                                                ... \n[plugins.\"io.containerd.monitor.v1.cgroups\"]\n   no_prometheus = false  \n[plugins.\"io.containerd.runtime.v1.linux\"]\n   shim = \"containerd-shim\"\n   runtime = \"/usr/local/Ascend/Ascend-Docker-Runtime/ascend-docker-runtime\"\n   runtime_root = \"\"\n   no_shim = false\n   shim_debug = false\n [plugins.\"io.containerd.runtime.v2.task\"]\n   platforms = [\"linux/amd64\"]\n...\n

                                                \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u91cd\u542f containerd\uff1a

                                                systemctl restart containerd\n
                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#_4","title":"\u7528\u6237\u521b\u5efa","text":"

                                              \u5728\u5bf9\u5e94\u7ec4\u4ef6\u5b89\u88c5\u7684\u8282\u70b9\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u521b\u5efa\u7528\u6237\u3002

                                              # Ubuntu \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /usr/sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n# Centos \u64cd\u4f5c\u7cfb\u7edf\nuseradd -d /home/hwMindX -u 9000 -m -s /sbin/nologin hwMindX\nusermod -a -G HwHiAiUser hwMindX\n
                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#_5","title":"\u65e5\u5fd7\u76ee\u5f55\u521b\u5efa","text":"

                                              \u5728\u5bf9\u5e94\u8282\u70b9\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u548c\u5404\u7ec4\u4ef6\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5e76\u8bbe\u7f6e\u76ee\u5f55\u5bf9\u5e94\u5c5e\u4e3b\u548c\u6743\u9650\u3002\u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa\u7ec4\u4ef6\u65e5\u5fd7\u7236\u76ee\u5f55\u3002

                                              mkdir -m 755 /var/log/mindx-dl\nchown root:root /var/log/mindx-dl\n

                                              \u6267\u884c\u4e0b\u8ff0\u547d\u4ee4\uff0c\u521b\u5efa Device Plugin \u7ec4\u4ef6\u65e5\u5fd7\u76ee\u5f55\u3002

                                              mkdir -m 750 /var/log/mindx-dl/devicePlugin\nchown root:root /var/log/mindx-dl/devicePlugin\n

                                              Note

                                              \u8bf7\u5206\u522b\u4e3a\u6240\u9700\u7ec4\u4ef6\u521b\u5efa\u5bf9\u5e94\u7684\u65e5\u5fd7\u76ee\u5f55\uff0c\u5f53\u524d\u6848\u4f8b\u4e2d\u53ea\u9700\u8981 Device Plugin \u7ec4\u4ef6\u3002 \u5982\u679c\u6709\u5176\u4ed6\u7ec4\u4ef6\u9700\u6c42\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863

                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#label","title":"\u521b\u5efa\u8282\u70b9 Label","text":"

                                              \u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\u5728\u5bf9\u5e94\u8282\u70b9\u4e0a\u521b\u5efa Label\uff1a

                                              # \u5728\u5b89\u88c5\u4e86\u9a71\u52a8\u7684\u8ba1\u7b97\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} huawei.com.ascend/Driver=installed\nkubectl label node {nodename} node-role.kubernetes.io/worker=worker\nkubectl label node {nodename} workerselector=dls-worker-node\nkubectl label node {nodename} host-arch=huawei-arm //\u6216\u8005host-arch=huawei-x86 \uff0c\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\nkubectl label node {nodename} accelerator=huawei-Ascend910 //\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u9009\u62e9\n# \u5728\u63a7\u5236\u8282\u70b9\u521b\u5efa\u6b64\u6807\u7b7e\nkubectl label node {nodename} masterselector=dls-master-node\n
                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_driver_install.html#device-plugin-npuexporter","title":"\u5b89\u88c5 Device Plugin \u548c NpuExporter","text":"

                                              \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 ascend-mindxdl \u3002

                                              • DevicePlugin \uff1a\u901a\u8fc7\u63d0\u4f9b\u901a\u7528\u8bbe\u5907\u63d2\u4ef6\u673a\u5236\u548c\u6807\u51c6\u7684\u8bbe\u5907API\u63a5\u53e3\uff0c\u4f9bKubernetes\u4f7f\u7528\u8bbe\u5907\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
                                              • NpuExporter \uff1a\u57fa\u4e8ePrometheus/Telegraf\u751f\u6001\uff0c\u8be5\u7ec4\u4ef6\u63d0\u4f9b\u63a5\u53e3\uff0c\u5e2e\u52a9\u7528\u6237\u80fd\u591f\u5173\u6ce8\u5230\u6607\u817e\u7cfb\u5217AI\u5904\u7406\u5668\u4ee5\u53ca\u5bb9\u5668\u7ea7\u5206\u914d\u72b6\u6001\u3002\u5efa\u8bae\u4f7f\u7528\u9ed8\u8ba4\u7684\u955c\u50cf\u53ca\u7248\u672c\u3002
                                              • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b NPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 ascend-mindxdl \u5b89\u88c5\u5931\u8d25\u3002
                                              • isVirtualMachine \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5982\u679c NPU \u8282\u70b9\u4e3a\u4e91\u4e3b\u673a\u573a\u666f\uff0c\u8bf7\u5f00\u542f\u00a0isVirtualMachine \u53c2\u6570\u3002

                                              \u5b89\u88c5\u6210\u529f\u540e\uff0c\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u4f1a\u51fa\u73b0\u4e24\u4e2a\u7ec4\u4ef6\uff0c\u5982\u4e0b\u56fe\uff1a

                                              \u540c\u65f6\u8282\u70b9\u4fe1\u606f\u4e0a\u4e5f\u4f1a\u51fa\u73b0\u5bf9\u5e94 NPU \u7684\u4fe1\u606f\uff1a

                                              \u4e00\u5207\u5c31\u7eea\u540e\uff0c\u6211\u4eec\u901a\u8fc7\u9875\u9762\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5c31\u80fd\u591f\u9009\u62e9\u5230\u5bf9\u5e94\u7684 NPU \u8bbe\u5907\uff0c\u5982\u4e0b\u56fe\uff1a

                                              Note

                                              \u6709\u5173\u8be6\u7ec6\u4f7f\u7528\u6b65\u9aa4\uff0c\u8bf7\u53c2\u7167\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU\u3002

                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_usage.html","title":"\u5e94\u7528\u4f7f\u7528\u6607\u817e\uff08Ascend\uff09NPU","text":"

                                              \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u6607\u817e GPU\u3002

                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
                                              • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
                                              • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
                                              • \u5f53\u524d\u96c6\u7fa4\u5185 NPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002

                                              \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_usage.html#_2","title":"\u5feb\u901f\u4f7f\u7528","text":"

                                              \u672c\u6587\u4f7f\u7528\u6607\u817e\u793a\u4f8b\u5e93\u4e2d\u7684 AscentCL \u56fe\u7247\u5206\u7c7b\u5e94\u7528\u793a\u4f8b\u3002

                                              1. \u4e0b\u8f7d\u6607\u817e\u4ee3\u7801\u5e93

                                                \u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u4e0b\u8f7d\u6607\u817e Demo \u793a\u4f8b\u4ee3\u7801\u5e93\uff0c\u5e76\u4e14\u8bf7\u8bb0\u4f4f\u4ee3\u7801\u5b58\u653e\u7684\u4f4d\u7f6e\uff0c\u540e\u7eed\u9700\u8981\u4f7f\u7528\u3002

                                                git clone https://gitee.com/ascend/samples.git\n
                                              2. \u51c6\u5907\u57fa\u7840\u955c\u50cf

                                                \u6b64\u4f8b\u4f7f\u7528 Ascent-pytorch \u57fa\u7840\u955c\u50cf\uff0c\u53ef\u8bbf\u95ee\u6607\u817e\u955c\u50cf\u4ed3\u5e93\u83b7\u53d6\u3002

                                              3. \u51c6\u5907 YAML

                                                ascend-demo.yaml
                                                apiVersion: batch/v1\nkind: Job\nmetadata:\n  name: resnetinfer1-1-1usoc\nspec:\n  template:\n    spec:\n      containers:\n        - image: ascendhub.huawei.com/public-ascendhub/ascend-pytorch:23.0.RC2-ubuntu18.04 # Inference image name\n          imagePullPolicy: IfNotPresent\n          name: resnet50infer\n          securityContext:\n            runAsUser: 0\n          command:\n            - \"/bin/bash\"\n            - \"-c\"\n            - |\n              source /usr/local/Ascend/ascend-toolkit/set_env.sh &&\n              TEMP_DIR=/root/samples_copy_$(date '+%Y%m%d_%H%M%S_%N') &&\n              cp -r /root/samples \"$TEMP_DIR\" &&\n              cd \"$TEMP_DIR\"/inference/modelInference/sampleResnetQuickStart/python/model &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/resnet50/resnet50.onnx &&\n              atc --model=resnet50.onnx --framework=5 --output=resnet50 --input_shape=\"actual_input_1:1,3,224,224\"  --soc_version=Ascend910 &&\n              cd ../data &&\n              wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg &&\n              cd ../scripts &&\n              bash sample_run.sh\n          resources:\n            requests:\n              huawei.com/Ascend910: 1 # Number of the Ascend 910 Processors\n            limits:\n              huawei.com/Ascend910: 1 # The value should be the same as that of requests\n          volumeMounts:\n            - name: hiai-driver\n              mountPath: /usr/local/Ascend/driver\n              readOnly: true\n            - name: slog\n              mountPath: /var/log/npu/conf/slog/slog.conf\n            - name: localtime # The container time must be the same as the host time\n              mountPath: /etc/localtime\n            - name: dmp\n              mountPath: /var/dmp_daemon\n            - name: slogd\n              mountPath: /var/slogd\n            - name: hbasic\n              mountPath: /etc/hdcBasic.cfg\n            - name: sys-version\n              mountPath: /etc/sys_version.conf\n            - name: aicpu\n              mountPath: /usr/lib64/aicpu_kernels\n            - name: tfso\n              mountPath: /usr/lib64/libtensorflow.so\n            - name: sample-path\n              mountPath: /root/samples\n      volumes:\n        - name: hiai-driver\n          hostPath:\n            path: /usr/local/Ascend/driver\n        - name: slog\n          hostPath:\n            path: /var/log/npu/conf/slog/slog.conf\n        - name: localtime\n          hostPath:\n            path: /etc/localtime\n        - name: dmp\n          hostPath:\n            path: /var/dmp_daemon\n        - name: slogd\n          hostPath:\n            path: /var/slogd\n        - name: hbasic\n          hostPath:\n            path: /etc/hdcBasic.cfg\n        - name: sys-version\n          hostPath:\n            path: /etc/sys_version.conf\n        - name: aicpu\n          hostPath:\n            path: /usr/lib64/aicpu_kernels\n        - name: tfso\n          hostPath:\n            path: /usr/lib64/libtensorflow.so\n        - name: sample-path\n          hostPath:\n            path: /root/samples\n      restartPolicy: OnFailure\n

                                                \u4ee5\u4e0a YAML \u4e2d\u6709\u4e00\u4e9b\u5b57\u6bb5\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u4fee\u6539\uff1a

                                                1. atc ... --soc_version=Ascend910 \u4f7f\u7528\u7684\u662f Ascend910 \uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u4e3b \u60a8\u53ef\u4ee5\u4f7f\u7528 npu-smi info \u547d\u4ee4\u67e5\u770b\u663e\u5361\u578b\u53f7\u7136\u540e\u52a0\u4e0a Ascend \u524d\u7f00\u5373\u53ef
                                                2. samples-path \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
                                                3. resources \u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6
                                              4. \u90e8\u7f72 Job \u5e76\u67e5\u770b\u7ed3\u679c

                                                \u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u521b\u5efa Job\uff1a

                                                kubectl apply -f ascend-demo.yaml\n

                                                \u67e5\u770b Pod \u8fd0\u884c\u72b6\u6001\uff1a

                                                Pod \u6210\u529f\u8fd0\u884c\u540e\uff0c\u67e5\u770b\u65e5\u5fd7\u7ed3\u679c\u3002\u5728\u5c4f\u5e55\u4e0a\u7684\u5173\u952e\u63d0\u793a\u4fe1\u606f\u793a\u4f8b\u5982\u4e0b\u56fe\uff0c\u63d0\u793a\u4fe1\u606f\u4e2d\u7684 Label \u8868\u793a\u7c7b\u522b\u6807\u8bc6\uff0c Conf \u8868\u793a\u8be5\u5206\u7c7b\u7684\u6700\u5927\u7f6e\u4fe1\u5ea6\uff0cClass \u8868\u793a\u6240\u5c5e\u7c7b\u522b\u3002\u8fd9\u4e9b\u503c\u53ef\u80fd\u4f1a\u6839\u636e\u7248\u672c\u3001\u73af\u5883\u6709\u6240\u4e0d\u540c\uff0c\u8bf7\u4ee5\u5b9e\u9645\u60c5\u51b5\u4e3a\u51c6\uff1a

                                                \u7ed3\u679c\u56fe\u7247\u5c55\u793a\uff1a

                                              "},{"location":"end-user/kpanda/gpu/ascend/ascend_usage.html#_3","title":"\u754c\u9762\u4f7f\u7528","text":"
                                              1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Ascend \u3002

                                              2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Ascend\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

                                                \u7269\u7406\u5361\u6570\u91cf\uff08huawei.com/Ascend910\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14**\u5c0f\u4e8e\u7b49\u4e8e**\u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

                                                \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                                              "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html","title":"\u542f\u7528\u6607\u817e\u865a\u62df\u5316","text":"

                                              \u6607\u817e\u865a\u62df\u5316\u5206\u4e3a\u52a8\u6001\u865a\u62df\u5316\u548c\u9759\u6001\u865a\u62df\u5316\uff0c\u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f\u5e76\u4f7f\u7528\u6607\u817e\u9759\u6001\u865a\u62df\u5316\u80fd\u529b\u3002

                                              "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              • Kubernetes \u96c6\u7fa4\u73af\u5883\u642d\u5efa\u3002
                                              • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5\u6607\u817e \uff08Ascend\uff09\u9a71\u52a8\u3002
                                              • \u5f53\u524d NPU \u8282\u70b9\u5df2\u5b89\u88c5 Ascend-Docker-Runtime \u7ec4\u4ef6\u3002
                                              • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5 NPU MindX DL \u5957\u4ef6\u3002
                                              • \u652f\u6301\u7684 NPU \u5361\u578b\u53f7\uff1a

                                                • Ascend 310P\uff0c\u5df2\u9a8c\u8bc1
                                                • Ascend 910b\uff0820 \u6838\uff09\uff0c\u5df2\u9a8c\u8bc1
                                                • Ascend 910\uff0832 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1
                                                • Ascend 910\uff0830 \u6838\uff09\uff0c\u5b98\u65b9\u4ecb\u7ecd\u652f\u6301\uff0c\u672a\u5b9e\u9645\u9a8c\u8bc1

                                                \u66f4\u591a\u7ec6\u8282\u53c2\u9605\u5b98\u65b9\u865a\u62df\u5316\u786c\u4ef6\u8bf4\u660e\u3002

                                              \u8bf7\u53c2\u8003\u6607\u817e NPU \u7ec4\u4ef6\u5b89\u88c5\u6587\u6863\u5b89\u88c5\u57fa\u7840\u73af\u5883\u3002

                                              "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html#_3","title":"\u5f00\u542f\u865a\u62df\u5316\u80fd\u529b","text":"

                                              \u5f00\u542f\u865a\u62df\u5316\u80fd\u529b\u9700\u8981\u624b\u52a8\u4fee\u6539\u00a0ascend-device-plugin-daemonset \u7ec4\u4ef6\u7684\u542f\u52a8\u53c2\u6570\uff0c\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

                                              - device-plugin -useAscendDocker=true -volcanoType=false -presetVirtualDevice=true\n- logFile=/var/log/mindx-dl/devicePlugin/devicePlugin.log -logLevel=0\n
                                              "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html#vnpu","title":"\u5207\u5206 VNPU \u5b9e\u4f8b","text":"

                                              \u9759\u6001\u865a\u62df\u5316\u9700\u8981\u624b\u52a8\u5bf9 VNPU \u5b9e\u4f8b\u7684\u5207\u5206\uff0c\u8bf7\u53c2\u8003\u4e0b\u8ff0\u547d\u4ee4\uff1a

                                              npu-smi set -t create-vnpu -i 13 -c 0 -f vir02\n
                                              • i \u6307\u7684\u662f card id
                                              • c \u6307\u7684\u662f chip id
                                              • vir02 \u6307\u7684\u662f\u5207\u5206\u89c4\u683c\u6a21\u677f

                                              \u5173\u4e8e card id \u548c chip id\uff0c\u53ef\u4ee5\u901a\u8fc7 npu-smi info \u67e5\u8be2\uff0c\u5207\u5206\u89c4\u683c\u53ef\u901a\u8fc7 ascend \u5b98\u65b9\u6a21\u677f\u8fdb\u884c\u67e5\u8be2\u3002

                                              \u5207\u5206\u5b9e\u4f8b\u8fc7\u540e\u53ef\u901a\u8fc7\u4e0b\u8ff0\u547d\u4ee4\u67e5\u8be2\u5207\u5206\u7ed3\u679c\uff1a

                                              npu-smi info -t info-vnpu -i 13 -c 0\n

                                              \u67e5\u8be2\u7ed3\u679c\u5982\u4e0b\uff1a

                                              "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html#ascend-device-plugin-daemonset","title":"\u91cd\u542f\u00a0ascend-device-plugin-daemonset","text":"

                                              \u5207\u5206\u5b9e\u4f8b\u540e\u624b\u52a8\u91cd\u542f device-plugin pod\uff0c\u7136\u540e\u4f7f\u7528 kubectl describe \u547d\u4ee4\u67e5\u770b\u5df2\u6ce8\u518c node \u7684\u8d44\u6e90\uff1a

                                              kubectl describe node {{nodename}}\n

                                              "},{"location":"end-user/kpanda/gpu/ascend/vnpu.html#_4","title":"\u5982\u4f55\u4f7f\u7528\u8bbe\u5907","text":"

                                              \u5728\u521b\u5efa\u5e94\u7528\u65f6\uff0c\u6307\u5b9a\u8d44\u6e90 key\uff0c\u53c2\u8003\u4e0b\u8ff0 YAML\uff1a

                                              ......\nresources:\n  requests:\n    huawei.com/Ascend310P-2c: 1\n  limits:\n    huawei.com/Ascend310P-2c: 1\n......\n
                                              "},{"location":"end-user/kpanda/gpu/metax/usemetax.html","title":"\u6c90\u66e6 GPU \u7ec4\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528","text":"

                                              \u672c\u7ae0\u8282\u63d0\u4f9b\u6c90\u66e6 gpu-extensions\u3001gpu-operator \u7b49\u7ec4\u4ef6\u7684\u5b89\u88c5\u6307\u5bfc\u548c\u6c90\u66e6 GPU \u6574\u5361\u548c vGPU \u4e24\u79cd\u6a21\u5f0f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002

                                              "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                              1. \u5df2\u5728\u6c90\u66e6\u8f6f\u4ef6\u4e2d\u5fc3\u4e0b\u8f7d\u5e76\u5b89\u88c5\u6240\u9700\u7684 tar \u5305\uff0c \u672c\u6587\u4ee5 metax-gpu-k8s-package.0.7.10.tar.gz \u4e3a\u4f8b\u3002
                                              2. \u51c6\u5907 Kubernetes \u57fa\u7840\u73af\u5883
                                              "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#_2","title":"\u7ec4\u4ef6\u4ecb\u7ecd","text":"

                                              Metax \u63d0\u4f9b\u4e86\u4e24\u4e2a helm-chart \u5305\uff0c\u4e00\u4e2a\u662f metax-extensions\uff0c\u4e00\u4e2a\u662f gpu-operator\uff0c\u6839\u636e\u4f7f\u7528\u573a\u666f\u53ef\u9009\u62e9\u5b89\u88c5\u4e0d\u540c\u7684\u7ec4\u4ef6\u3002

                                              1. Metax-extensions\uff1a\u5305\u542b gpu-device \u548c gpu-label \u4e24\u4e2a\u7ec4\u4ef6\u3002\u5728\u4f7f\u7528 Metax-extensions \u65b9\u6848\u65f6\uff0c\u7528\u6237\u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u9700\u8981\u57fa\u4e8e MXMACA\u00ae \u57fa\u7840\u955c\u50cf\u6784\u5efa\u3002\u4e14 Metax-extensions \u4ec5\u9002\u7528\u4e8e GPU \u6574\u5361\u4f7f\u7528\u573a\u666f\u3002
                                              2. gpu-operator\uff1a\u5305\u542b gpu-device\u3001gpu-label\u3001driver-manager\u3001container-runtime\u3001operator-controller \u8fd9\u4e9b\u7ec4\u4ef6\u3002 \u4f7f\u7528 gpu-operator \u65b9\u6848\u65f6\uff0c\u7528\u6237\u53ef\u9009\u62e9\u5236\u4f5c\u4e0d\u5305\u542b MXMACA\u00ae SDK \u7684\u5e94\u7528\u5bb9\u5668\u955c\u50cf\u3002gpu-operator \u9002\u7528\u4e8e GPU \u6574\u5361\u548c vGPU \u573a\u666f\u3002
                                              "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                              1. \u4ece /home/metax/metax-docs/k8s/metax-gpu-k8s-package.0.7.10.tar.gz \u6587\u4ef6\u4e2d\u89e3\u538b\u51fa

                                                • deploy-gpu-extensions.yaml # \u90e8\u7f72yaml
                                                • metax-gpu-extensions-0.7.10.tgz\u3001metax-operator-0.7.10.tgz # helm chart\u6587\u4ef6
                                                • metax-k8s-images.0.7.10.run # \u79bb\u7ebf\u955c\u50cf
                                              2. \u67e5\u770b\u7cfb\u7edf\u662f\u5426\u5b89\u88c5\u9a71\u52a8

                                                $ lsmod | grep metax \nmetax 1605632 0 \nttm 86016 3 drm_vram_helper,metax,drm_ttm_helper \ndrm 618496 7 drm_kms_helper,drm_vram_helper,ast,metax,drm_ttm_helper,ttm\n
                                                • \u5982\u6ca1\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5c31\u8868\u793a\u6ca1\u6709\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002\u5982\u6709\u5185\u5bb9\u663e\u793a\uff0c\u5219\u8868\u793a\u5b89\u88c5\u8fc7\u8f6f\u4ef6\u5305\u3002
                                                • \u4f7f\u7528 metax-opeartor \u65f6\uff0c\u4e0d\u63a8\u8350\u5728\u5de5\u4f5c\u8282\u70b9\u9884\u5b89\u88c5 MXMACA \u5185\u6838\u6001\u9a71\u52a8\uff0c\u82e5\u5df2\u5b89\u88c5\u4e5f\u65e0\u9700\u5378\u8f7d\u3002
                                              3. \u5b89\u88c5\u9a71\u52a8

                                              "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#gpu-extensions","title":"gpu-extensions","text":"
                                              1. \u63a8\u9001\u955c\u50cf

                                                tar -xf metax-gpu-k8s-package.0.7.10.tar.gz\n./metax-k8s-images.0.7.10.run push {registry}/metax\n
                                              2. \u63a8\u9001 Helm Chart

                                                helm plugin install https://github.com/chartmuseum/helm-push\nhelm repo add  --username rootuser --password rootpass123  metax http://172.16.16.5:8081\nhelm cm-push metax-operator-0.7.10.tgz metax\nhelm cm-push metax-gpu-extensions-0.7.10.tgz metax\n
                                              3. \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u5b89\u88c5 metax-gpu-extensions

                                                \u90e8\u7f72\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u67e5\u770b\u5230\u8d44\u6e90\u3002

                                              4. \u4fee\u6539\u6210\u529f\u4e4b\u540e\u5c31\u53ef\u4ee5\u5728\u8282\u70b9\u4e0a\u770b\u5230\u5e26\u6709 Metax GPU \u7684\u6807\u7b7e

                                              "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#gpu-operator","title":"gpu-operator","text":"

                                              \u5b89\u88c5 gpu-opeartor \u65f6\u7684\u5df2\u77e5\u95ee\u9898\uff1a

                                              1. metax-operator\u3001gpu-label\u3001gpu-device \u3001container-runtime \u8fd9\u51e0\u4e2a\u7ec4\u4ef6\u955c\u50cf\u8981\u5e26\u6709 amd64 \u540e\u7f00\u3002

                                              2. metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u4e0d\u5728 metax-k8s-images.0.7.13.run \u5305\u91cc\u9762\uff0c\u9700\u8981\u5355\u72ec\u4e0b\u8f7d maca-mxc500-2.23.0.23-ubuntu20.04-x86_64.tar.xz \u8fd9\u7c7b\u955c\u50cf\uff0cload \u4e4b\u540e\u91cd\u65b0\u4fee\u6539 metax-maca \u7ec4\u4ef6\u7684\u955c\u50cf\u3002

                                              3. metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u9700\u8981\u4ece https://pub-docstore.metax-tech.com:7001 \u8fd9\u4e2a\u7f51\u7ad9\u4e0b\u8f7d k8s-driver-image.2.23.0.25.run \u6587\u4ef6\uff0c\u7136\u540e\u6267\u884c k8s-driver-image.2.23.0.25.run push {registry}/metax \u547d\u4ee4\u628a\u955c\u50cf\u63a8\u9001\u5230\u955c\u50cf\u4ed3\u5e93\u3002\u63a8\u9001\u4e4b\u540e\u4fee\u6539 metax-driver \u7ec4\u4ef6\u7684\u955c\u50cf\u5730\u5740\u3002

                                              "},{"location":"end-user/kpanda/gpu/metax/usemetax.html#gpu_1","title":"\u4f7f\u7528 GPU","text":"

                                              \u5b89\u88c5\u540e\u53ef\u5728\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u4f7f\u7528\u6c90\u66e6 GPU\u3002\u6ce8\u610f\u542f\u7528 GPU \u540e\uff0c\u9700\u9009\u62e9GPU\u7c7b\u578b\u4e3a Metax GPU

                                              \u8fdb\u5165\u5bb9\u5668\uff0c\u6267\u884c mx-smi \u53ef\u67e5\u770b GPU \u7684\u4f7f\u7528\u60c5\u51b5.

                                              "},{"location":"end-user/kpanda/gpu/mlu/use-mlu.html","title":"\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU","text":"

                                              \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528\u5bd2\u6b66\u7eaa GPU\u3002

                                              "},{"location":"end-user/kpanda/gpu/mlu/use-mlu.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                              • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                                              • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                              • \u5f53\u524d\u96c6\u7fa4\u5df2\u5b89\u88c5\u5bd2\u6b66\u7eaa\u56fa\u4ef6\u3001\u9a71\u52a8\u4ee5\u53caDevicePlugin\u7ec4\u4ef6\uff0c\u5b89\u88c5\u8be6\u60c5\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\uff1a
                                                • \u9a71\u52a8\u56fa\u4ef6\u5b89\u88c5
                                                • DevicePlugin \u5b89\u88c5

                                              \u5728\u5b89\u88c5 DevicePlugin \u65f6\u8bf7\u5173\u95ed --enable-device-type \u53c2\u6570\uff0c\u5426\u5219\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06\u65e0\u6cd5\u6b63\u786e\u8bc6\u522b\u5bd2\u6b66\u7eaa GPU\u3002

                                              "},{"location":"end-user/kpanda/gpu/mlu/use-mlu.html#gpu_1","title":"\u5bd2\u6b66\u7eaa GPU \u6a21\u5f0f\u4ecb\u7ecd","text":"

                                              \u5bd2\u6b66\u7eaa GPU \u6709\u4ee5\u4e0b\u51e0\u79cd\u6a21\u5f0f\uff1a

                                              • \u6574\u5361\u6a21\u5f0f\uff1a\u5c06\u5bd2\u6b66\u7eaaGPU\u4ee5\u6574\u5361\u7684\u65b9\u5f0f\u6ce8\u518c\u5230\u96c6\u7fa4\u5f53\u4e2d\u8fdb\u884c\u4f7f\u7528\u3002
                                              • Share \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u4e00\u5f20\u5bd2\u6b66\u7eaaGPU\u5171\u4eab\u7ed9\u591a\u4e2a Pod \u8fdb\u884c\u4f7f\u7528\uff0c\u53ef\u4ee5\u901a\u8fc7 virtualization-num \u53c2\u6570\u8fdb\u884c\u8bbe\u7f6e\u53ef\u5171\u4eab\u5bb9\u5668\u7684\u6570\u91cf\u3002
                                              • Dynamic smlu \u6a21\u5f0f\uff1a\u8fdb\u4e00\u6b65\u5bf9\u8d44\u6e90\u8fdb\u884c\u4e86\u7ec6\u5316\uff0c\u53ef\u4ee5\u63a7\u5236\u5206\u914d\u7ed9\u5bb9\u5668\u7684\u663e\u5b58\u3001\u7b97\u529b\u7684\u5927\u5c0f\u3002
                                              • Mim \u6a21\u5f0f\uff1a\u53ef\u4ee5\u5c06\u5bd2\u6b66\u7eaa GPU \u6309\u7167\u56fa\u5b9a\u7684\u89c4\u683c\u5207\u5206\u6210\u591a\u5f20 GPU \u8fdb\u884c\u4f7f\u7528\u3002
                                              "},{"location":"end-user/kpanda/gpu/mlu/use-mlu.html#ai","title":"\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528\u5bd2\u6b66\u7eaa","text":"

                                              \u8fd9\u91cc\u4ee5 Dynamic smlu \u6a21\u5f0f\u4e3a\u4f8b\uff1a

                                              1. \u5728\u6b63\u786e\u5b89\u88c5 DevicePlugin \u7b49\u7ec4\u4ef6\u540e\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8fd0\u7ef4-> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002

                                              2. \u70b9\u51fb\u8282\u70b9\u7ba1\u7406\u9875\u9762\uff0c\u67e5\u770b\u8282\u70b9\u662f\u5426\u5df2\u7ecf\u6b63\u786e\u8bc6\u522b\u5230\u5bf9\u5e94\u7684GPU\u7c7b\u578b\u3002

                                              3. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08MLU VGPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e App \u4f7f\u7528\u7684 GPU \u8d44\u6e90\uff1a

                                                • GPU \u7b97\u529b\uff08cambricon.com/mlu.smlu.vcore\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u4f7f\u7528\u6838\u5fc3\u7684\u767e\u5206\u6bd4\u6570\u91cf\u3002
                                                • GPU \u663e\u5b58\uff08cambricon.com/mlu.smlu.vmemory\uff09\uff1a\u8868\u793a\u5f53\u524dPod\u9700\u8981\u4f7f\u7528\u663e\u5b58\u7684\u5927\u5c0f\uff0c\u5355\u4f4d\u662fMB\u3002

                                              "},{"location":"end-user/kpanda/gpu/mlu/use-mlu.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                                              \u53c2\u8003 YAML \u6587\u4ef6\u5982\u4e0b\uff1a

                                              apiVersion: v1  \nkind: Pod  \nmetadata:  \n  name: pod1  \nspec:  \n  restartPolicy: OnFailure  \n  containers:  \n    - image: ubuntu:16.04  \n      name: pod1-ctr  \n      command: [\"sleep\"]  \n      args: [\"100000\"]  \n      resources:  \n        limits:  \n          cambricon.com/mlu: \"1\" # use this when device type is not enabled, else delete this line.  \n          #cambricon.com/mlu: \"1\" #uncomment to use when device type is enabled  \n          #cambricon.com/mlu.share: \"1\" #uncomment to use device with env-share mode  \n          #cambricon.com/mlu.mim-2m.8gb: \"1\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vcore: \"100\" #uncomment to use device with mim mode  \n          #cambricon.com/mlu.smlu.vmemory: \"1024\" #uncomment to use device with mim mode\n
                                              "},{"location":"end-user/kpanda/gpu/nvidia/index.html","title":"NVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f","text":"

                                              NVIDIA \u4f5c\u4e3a\u4e1a\u5185\u77e5\u540d\u7684\u56fe\u5f62\u8ba1\u7b97\u4f9b\u5e94\u5546\uff0c\u4e3a\u7b97\u529b\u7684\u63d0\u5347\u63d0\u4f9b\u4e86\u8bf8\u591a\u8f6f\u786c\u4ef6\u89e3\u51b3\u65b9\u6848\uff0c\u5176\u4e2d NVIDIA \u5728 GPU \u7684\u4f7f\u7528\u65b9\u5f0f\u4e0a\u63d0\u4f9b\u4e86\u5982\u4e0b\u4e09\u79cd\u89e3\u51b3\u65b9\u6848\uff1a

                                              "},{"location":"end-user/kpanda/gpu/nvidia/index.html#full-gpu","title":"\u6574\u5361\uff08Full GPU\uff09","text":"

                                              \u6574\u5361\u662f\u6307\u5c06\u6574\u4e2a NVIDIA GPU \u5206\u914d\u7ed9\u5355\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u3002\u5728\u8fd9\u79cd\u914d\u7f6e\u4e0b\uff0c\u5e94\u7528\u53ef\u4ee5\u5b8c\u5168\u5360\u7528 GPU \u7684\u6240\u6709\u8d44\u6e90\uff0c \u5e76\u83b7\u5f97\u6700\u5927\u7684\u8ba1\u7b97\u6027\u80fd\u3002\u6574\u5361\u9002\u7528\u4e8e\u9700\u8981\u5927\u91cf\u8ba1\u7b97\u8d44\u6e90\u548c\u5185\u5b58\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5982\u6df1\u5ea6\u5b66\u4e60\u8bad\u7ec3\u3001\u79d1\u5b66\u8ba1\u7b97\u7b49\u3002

                                              "},{"location":"end-user/kpanda/gpu/nvidia/index.html#vgpuvirtual-gpu","title":"vGPU\uff08Virtual GPU\uff09","text":"

                                              vGPU \u662f\u4e00\u79cd\u865a\u62df\u5316\u6280\u672f\uff0c\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u865a\u62df GPU\uff0c\u6bcf\u4e2a\u865a\u62df GPU \u5206\u914d\u7ed9\u4e0d\u540c\u7684\u4e91\u4e3b\u673a\u6216\u7528\u6237\u3002 vGPU \u4f7f\u591a\u4e2a\u7528\u6237\u53ef\u4ee5\u5171\u4eab\u540c\u4e00\u53f0\u7269\u7406 GPU\uff0c\u5e76\u5728\u5404\u81ea\u7684\u865a\u62df\u73af\u5883\u4e2d\u72ec\u7acb\u4f7f\u7528 GPU \u8d44\u6e90\u3002 \u6bcf\u4e2a\u865a\u62df GPU \u53ef\u4ee5\u83b7\u5f97\u4e00\u5b9a\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002vGPU \u9002\u7528\u4e8e\u865a\u62df\u5316\u73af\u5883\u548c\u4e91\u8ba1\u7b97\u573a\u666f\uff0c\u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8d44\u6e90\u5229\u7528\u7387\u548c\u7075\u6d3b\u6027\u3002

                                              "},{"location":"end-user/kpanda/gpu/nvidia/index.html#migmulti-instance-gpu","title":"MIG\uff08Multi-Instance GPU\uff09","text":"

                                              MIG \u662f NVIDIA Ampere \u67b6\u6784\u5f15\u5165\u7684\u4e00\u9879\u529f\u80fd\uff0c\u5b83\u5141\u8bb8\u5c06\u4e00\u4e2a\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u7269\u7406 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u7528\u6237\u6216\u5de5\u4f5c\u8d1f\u8f7d\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u5177\u6709\u81ea\u5df1\u7684\u8ba1\u7b97\u8d44\u6e90\u3001\u663e\u5b58\u548c PCIe \u5e26\u5bbd\uff0c\u5c31\u50cf\u4e00\u4e2a\u72ec\u7acb\u7684\u865a\u62df GPU\u3002 MIG \u63d0\u4f9b\u4e86\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u52a8\u6001\u8c03\u6574\u5b9e\u4f8b\u7684\u6570\u91cf\u548c\u5927\u5c0f\u3002 MIG \u9002\u7528\u4e8e\u591a\u79df\u6237\u73af\u5883\u3001\u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f\u548c\u6279\u5904\u7406\u4f5c\u4e1a\u7b49\u573a\u666f\u3002

                                              \u65e0\u8bba\u662f\u5728\u865a\u62df\u5316\u73af\u5883\u4e2d\u4f7f\u7528 vGPU\uff0c\u8fd8\u662f\u5728\u7269\u7406 GPU \u4e0a\u4f7f\u7528 MIG\uff0cNVIDIA \u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u9009\u62e9\u548c\u4f18\u5316 GPU \u8d44\u6e90\u7684\u65b9\u5f0f\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\u5168\u9762\u517c\u5bb9\u4e86\u4e0a\u8ff0 NVIDIA \u7684\u80fd\u529b\u7279\u6027\uff0c\u7528\u6237\u53ea\u9700\u901a\u8fc7\u7b80\u5355\u7684\u754c\u9762\u64cd\u4f5c\uff0c\u5c31\u80fd\u591f\u83b7\u5f97\u5168\u90e8 NVIDIA GPU \u7684\u8ba1\u7b97\u80fd\u529b\uff0c\u4ece\u800c\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387\u5e76\u964d\u4f4e\u6210\u672c\u3002

                                              • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\uff0c\u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a
                                                • \u5c5e\u4e8e\u540c\u4e00\u4e2a\u578b\u53f7\uff08\u4f8b\u5982 A100-SXM-40GB\uff09\uff0c\u53ea\u6709\u540c\u4e00\u578b\u53f7 GPU \u7684 MIG Profile \u624d\u662f\u4e00\u6837\u7684
                                                • \u542f\u7528 MIG \u914d\u7f6e\uff0c\u9700\u8981\u91cd\u542f\u673a\u5668\u624d\u80fd\u751f\u6548
                                                • \u4e3a\u5728\u6240\u6709\u4ea7\u54c1\u4e2d\u516c\u5f00\u201c\u5b8c\u5168\u76f8\u540c\u201d\u7684 MIG \u8bbe\u5907\u7c7b\u578b\uff0c\u521b\u5efa\u76f8\u540c\u7684GI \u548c CI
                                              • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002\u8bf7\u6c42\u7279\u5b9a\u7684 MIG \u8bbe\u5907\u7c7b\u578b\u9700\u8981\u8bbe\u5907\u7c7b\u578b\u63d0\u4f9b\u7684\u8ba1\u7b97\u5207\u7247\u6570\u91cf\u548c\u5185\u5b58\u603b\u91cf\u3002
                                                • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
                                                • \u6bcf\u4e2a GPU \u53ef\u542f\u7528\u6216\u4e0d\u542f\u7528 MIG\uff0c\u5e76\u4e14\u53ef\u4ee5\u81ea\u7531\u914d\u7f6e\u4efb\u4f55\u53ef\u7528 MIG \u8bbe\u5907\u7c7b\u578b\u7684\u6df7\u5408\u642d\u914d\u3002
                                                • \u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 k8s-device-plugin \u5c06\uff1a
                                                  • \u4f7f\u7528\u4f20\u7edf\u7684 nvidia.com/gpu \u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u4efb\u4f55\u4e0d\u5904\u4e8e MIG \u6a21\u5f0f\u7684 GPU
                                                  • \u4f7f\u7528\u9075\u5faa\u67b6\u6784 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                                                    \u5f00\u542f\u914d\u7f6e\u8be6\u60c5\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/index.html#_1","title":"\u5982\u4f55\u4f7f\u7528","text":"

                                                    \u60a8\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u94fe\u63a5\uff0c\u5feb\u901f\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5173\u4e8e NVIDIA GPU \u5361\u7684\u7ba1\u7406\u80fd\u529b\u3002

                                                    • NVIDIA GPU \u6574\u5361\u4f7f\u7528
                                                    • NVIDIA vGPU \u4f7f\u7528
                                                    • NVIDIA MIG \u4f7f\u7528
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/full_gpu_userguide.html","title":"\u5e94\u7528\u4f7f\u7528 GPU \u6574\u5361","text":"

                                                    \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06\u6574\u4e2a NVIDIA GPU \u5361\u5206\u914d\u7ed9\u5355\u4e2a\u5e94\u7528\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/full_gpu_userguide.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                                                    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                                    • \u5f53\u524d\u96c6\u7fa4\u5df2\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u5e76\u5df2\u542f\u7528 NVIDIA DevicePlugin \uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                                                    • \u5f53\u524d\u96c6\u7fa4\u5185 GPU \u5361\u672a\u8fdb\u884c\u4efb\u4f55\u865a\u62df\u5316\u64cd\u4f5c\u6216\u88ab\u5176\u5b83\u5e94\u7528\u5360\u7528\u3002
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/full_gpu_userguide.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/gpu/nvidia/full_gpu_userguide.html#ui","title":"\u4f7f\u7528 UI \u754c\u9762\u914d\u7f6e","text":"
                                                    1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia GPU \u3002

                                                    2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia GPU\uff09\u4e4b\u540e\uff0c\u9700\u8981\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7684\u7269\u7406\u5361\u6570\u91cf\uff1a

                                                      \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/gpu\uff09 \uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002

                                                      \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/full_gpu_userguide.html#yaml","title":"\u4f7f\u7528 YAML \u914d\u7f6e","text":"

                                                    \u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u7533\u8bf7 GPU \u8d44\u6e90\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/gpu: 1 \u53c2\u6570\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                                                    apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-gpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-gpu-demo\n  template:\n    metadata:\n      labels:\n        app: full-gpu-demo\n    spec:\n      containers:\n      - image: chrstnhntschl/gpu_burn\n        name: container-0\n        resources:\n          requests:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # \u7533\u8bf7 GPU \u7684\u6570\u91cf\n          limits:\n            cpu: 250m\n            memory: 512Mi\n            nvidia.com/gpu: 1   # GPU \u6570\u91cf\u7684\u4f7f\u7528\u4e0a\u9650\n      imagePullSecrets:\n      - name: default-secret\n

                                                    Note

                                                    \u4f7f\u7528 nvidia.com/gpu \u53c2\u6570\u6307\u5b9a GPU \u6570\u91cf\u65f6\uff0crequests \u548c limits \u503c\u9700\u8981\u4fdd\u6301\u4e00\u81f4\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html","title":"GPU Operator \u79bb\u7ebf\u5b89\u88c5","text":"

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 Ubuntu22.04\u3001Ubuntu20.04\u3001CentOS 7.9 \u8fd9\u4e09\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\uff0c\u9a71\u52a8\u7248\u672c\u662f 535.104.12\uff1b \u5e76\u4e14\u5185\u7f6e\u4e86\u5404\u64cd\u4f5c\u7cfb\u7edf\u6240\u9700\u7684 Toolkit \u955c\u50cf\uff0c\u7528\u6237\u4e0d\u518d\u9700\u8981\u624b\u52a8\u79bb\u7ebf Toolkit \u955c\u50cf\u3002

                                                    \u672c\u6587\u4f7f\u7528 AMD \u67b6\u6784\u7684 CentOS 7.9\uff083.10.0-1160\uff09\u8fdb\u884c\u6f14\u793a\u3002\u5982\u9700\u4f7f\u7528 Red Hat 8.4 \u90e8\u7f72\uff0c \u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u548c\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5f85\u90e8\u7f72 gpu-operator \u7684\u96c6\u7fa4\u8282\u70b9\u5185\u6838\u7248\u672c\u5fc5\u987b\u5b8c\u5168\u4e00\u81f4\u3002\u8282\u70b9\u6240\u5728\u7684\u53d1\u884c\u7248\u548c GPU \u5361\u578b\u53f7\u5728 GPU \u652f\u6301\u77e9\u9635\u7684\u8303\u56f4\u5185\u3002
                                                    • \u5b89\u88c5 gpu-operator \u65f6\u9009\u62e9 v23.9.0+2 \u53ca\u4ee5\u4e0a\u7248\u672c
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                                    \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 gpu-operator \u63d2\u4ef6\u3002

                                                    1. \u767b\u5f55\u5e73\u53f0\uff0c\u8fdb\u5165 \u5bb9\u5668\u7ba1\u7406 -> \u5f85\u5b89\u88c5 gpu-operator \u7684\u96c6\u7fa4 -> \u8fdb\u5165\u96c6\u7fa4\u8be6\u60c5\u3002

                                                    2. \u5728 Helm \u6a21\u677f \u9875\u9762\uff0c\u9009\u62e9 \u5168\u90e8\u4ed3\u5e93 \uff0c\u641c\u7d22 gpu-operator \u3002

                                                    3. \u9009\u62e9 gpu-operator \uff0c\u70b9\u51fb \u5b89\u88c5 \u3002

                                                    4. \u53c2\u8003\u4e0b\u6587\u53c2\u6570\u914d\u7f6e\uff0c\u914d\u7f6e gpu-operator \u5b89\u88c5\u53c2\u6570\uff0c\u5b8c\u6210 gpu-operator \u7684\u5b89\u88c5\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_3","title":"\u53c2\u6570\u914d\u7f6e","text":"
                                                    • systemOS \uff1a\u9009\u62e9\u673a\u5668\u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5f53\u524d\u5185\u7f6e\u4e86 Ubuntu 22.04\u3001Ubuntu20.04\u3001Centos7.9 \u3001other \u56db\u4e2a\u9009\u9879\uff0c\u8bf7\u6b63\u786e\u7684\u9009\u62e9\u64cd\u4f5c\u7cfb\u7edf\u3002
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_4","title":"\u57fa\u672c\u53c2\u6570\u914d\u7f6e","text":"
                                                    • \u540d\u79f0 \uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\u3002
                                                    • \u547d\u540d\u7a7a\u95f4 \uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                                    • \u7248\u672c \uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 v23.9.0+2 \u7248\u672c\u4e3a\u4f8b\u3002
                                                    • \u5931\u8d25\u5220\u9664 \uff1a\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                                                    • \u5c31\u7eea\u7b49\u5f85 \uff1a\u542f\u7528\u540e\uff0c\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                                                    • \u8be6\u60c5\u65e5\u5fd7 \uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_5","title":"\u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e","text":""},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#operator","title":"Operator \u53c2\u6570\u914d\u7f6e","text":"
                                                    • InitContainer.image \uff1a\u914d\u7f6e CUDA \u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/cuda
                                                    • InitContainer.repository \uff1aCUDA \u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvcr.m.daocloud.io \u4ed3\u5e93
                                                    • InitContainer.version : CUDA \u955c\u50cf\u7684\u7248\u672c\uff0c\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#driver","title":"Driver \u53c2\u6570\u914d\u7f6e","text":"
                                                    • Driver.enable \uff1a\u914d\u7f6e\u662f\u5426\u5728\u8282\u70b9\u4e0a\u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u9ed8\u8ba4\u5f00\u542f\uff0c\u5982\u679c\u60a8\u5728\u4f7f\u7528 GPU Operator \u90e8\u7f72\u524d\uff0c\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u90e8\u7f72\u4e86 NVIDIA \u9a71\u52a8\u7a0b\u5e8f\uff0c\u8bf7\u5173\u95ed\u3002\uff08\u82e5\u624b\u52a8\u90e8\u7f72\u9a71\u52a8\u7a0b\u5e8f\u9700\u8981\u5173\u6ce8 CUDA Toolkit \u4e0e Toolkit Driver Version \u7684\u9002\u914d\u5173\u7cfb\uff0c\u901a\u8fc7 GPU operator \u5b89\u88c5\u5219\u65e0\u9700\u5173\u6ce8\uff09\u3002
                                                    • Driver.usePrecompiled \uff1a\u542f\u7528\u9884\u7f16\u8bd1\u7684GPU\u9a71\u52a8
                                                    • Driver.image \uff1a\u914d\u7f6e GPU \u9a71\u52a8\u955c\u50cf\uff0c\u63a8\u8350\u9ed8\u8ba4\u955c\u50cf\uff1a nvidia/driver \u3002
                                                    • Driver.repository \uff1aGPU \u9a71\u52a8\u955c\u50cf\u6240\u5728\u7684\u955c\u50cf\u4ed3\u5e93\uff0c\u9ed8\u8ba4\u4e3a nvidia \u7684 nvcr.io \u4ed3\u5e93\u3002
                                                    • Driver.usePrecompiled \uff1a\u5f00\u542f\u9884\u7f16\u8bd1\u6a21\u5f0f\u5b89\u88c5\u9a71\u52a8\u3002
                                                    • Driver.version \uff1aGPU \u9a71\u52a8\u955c\u50cf\u7684\u7248\u672c\uff0c\u79bb\u7ebf\u90e8\u7f72\u8bf7\u4f7f\u7528\u9ed8\u8ba4\u53c2\u6570\uff0c\u4ec5\u5728\u7ebf\u5b89\u88c5\u65f6\u9700\u914d\u7f6e\u3002\u4e0d\u540c\u7c7b\u578b\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver \u955c\u50cf\u7684\u7248\u672c\u5b58\u5728\u5982\u4e0b\u5dee\u5f02\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\uff1aNvidia GPU Driver \u7248\u672c\u3002 \u5982\u4e0b\u4e0d\u540c\u64cd\u4f5c\u7cfb\u7edf\u7684 Driver Version \u793a\u4f8b\uff1a

                                                      Note

                                                      \u4f7f\u7528\u5185\u7f6e\u7684\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u65e0\u9700\u4fee\u6539\u955c\u50cf\u7248\u672c\uff0c\u5176\u4ed6\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u8bf7\u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u955c\u50cf\u3002 \u6ce8\u610f\u7248\u672c\u53f7\u540e\u65e0\u9700\u586b\u5199 Ubuntu\u3001CentOS\u3001Red Hat \u7b49\u64cd\u4f5c\u7cfb\u7edf\u540d\u79f0\uff0c\u82e5\u5b98\u65b9\u955c\u50cf\u542b\u6709\u64cd\u4f5c\u7cfb\u7edf\u540e\u7f00\uff0c\u8bf7\u624b\u52a8\u79fb\u9664\u3002

                                                      • Red Hat \u7cfb\u7edf\uff0c\u4f8b\u5982 525.105.17
                                                      • Ubuntu \u7cfb\u7edf\uff0c\u4f8b\u5982 535-5.15.0-1043-nvidia
                                                      • CentOS \u7cfb\u7edf\uff0c\u4f8b\u5982 525.147.05
                                                    • Driver.RepoConfig.ConfigMapName \uff1a\u7528\u6765\u8bb0\u5f55 GPU Operator \u7684\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\uff0c \u5f53\u4f7f\u7528\u9884\u7f6e\u7684\u79bb\u7ebf\u5305\u65f6\uff0c\u5404\u7c7b\u578b\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bf7\u53c2\u8003\u5982\u4e0b\u7684\u6587\u6863\u3002

                                                      • \u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90
                                                      • \u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#toolkit","title":"Toolkit \u914d\u7f6e\u53c2\u6570","text":"

                                                    Toolkit.enable \uff1a\u9ed8\u8ba4\u5f00\u542f\uff0c\u8be5\u7ec4\u4ef6\u8ba9 conatainerd/docker \u652f\u6301\u8fd0\u884c\u9700\u8981 GPU \u7684\u5bb9\u5668\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#mig","title":"MIG \u914d\u7f6e\u53c2\u6570","text":"

                                                    \u8be6\u7ec6\u914d\u7f6e\u65b9\u5f0f\u8bf7\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd

                                                    MigManager.Config.name \uff1aMIG \u7684\u5207\u5206\u914d\u7f6e\u6587\u4ef6\u540d\uff0c\u7528\u4e8e\u5b9a\u4e49 MIG \u7684\uff08GI, CI\uff09\u5207\u5206\u7b56\u7565\u3002 \u9ed8\u8ba4\u4e3a default-mig-parted-config \u3002\u81ea\u5b9a\u4e49\u53c2\u6570\u53c2\u8003\u5f00\u542f MIG \u529f\u80fd\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/install_nvidia_driver_of_operator.html#_6","title":"\u4e0b\u4e00\u6b65\u64cd\u4f5c","text":"

                                                    \u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff1a

                                                    • \u5982\u679c\u4f7f\u7528 \u6574\u5361\u6a21\u5f0f\uff0c\u5e94\u7528\u521b\u5efa\u65f6\u53ef\u4f7f\u7528 GPU \u8d44\u6e90

                                                    • \u5982\u679c\u4f7f\u7528 vGPU \u6a21\u5f0f \uff0c\u5b8c\u6210\u4e0a\u8ff0\u76f8\u5173\u53c2\u6570\u914d\u7f6e\u548c\u521b\u5efa\u540e\uff0c\u4e0b\u4e00\u6b65\u8bf7\u5b8c\u6210 vGPU Addon \u5b89\u88c5

                                                    • \u5982\u679c\u4f7f\u7528 MIG \u6a21\u5f0f\uff0c\u5e76\u4e14\u9700\u8981\u7ed9\u4e2a\u522b GPU \u8282\u70b9\u6309\u7167\u67d0\u79cd\u5207\u5206\u89c4\u683c\u8fdb\u884c\u4f7f\u7528\uff0c \u5426\u5219\u6309\u7167 MigManager.Config \u4e2d\u7684 default \u503c\u8fdb\u884c\u5207\u5206\u3002

                                                      • single \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                                                        kubectl label nodes {node} nvidia.com/mig.config=\"all-1g.10gb\" --overwrite\n
                                                      • mixed \u6a21\u5f0f\u8bf7\u7ed9\u5bf9\u5e94\u8282\u70b9\u6253\u4e0a\u5982\u4e0b Label\uff1a

                                                        kubectl label nodes {node} nvidia.com/mig.config=\"custom-config\" --overwrite\n

                                                    \u200b \u5207\u5206\u540e\uff0c\u5e94\u7528\u53ef\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html","title":"\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                                                    \u672c\u6587\u4ee5 Red Hat 8.4 \u7684 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20\u79bb\u7ebf\u955c\u50cf\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    1. \u706b\u79cd\u8282\u70b9\u53ca\u5176\u7ec4\u4ef6\u72b6\u6001\u8fd0\u884c\u6b63\u5e38\u3002
                                                    2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u706b\u79cd\u8282\u70b9\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html#_3","title":"\u5728\u8054\u7f51\u8282\u70b9\u83b7\u53d6\u79bb\u7ebf\u955c\u50cf","text":"

                                                    \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                                                    1. \u5728\u8054\u7f51\u673a\u5668\u4e0a\u62c9\u53d6 nvcr.io/nvidia/driver:525.105.17-rhel8.4 \u79bb\u7ebf\u9a71\u52a8\u955c\u50cf\uff1a

                                                      docker pull nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                                                    2. \u955c\u50cf\u62c9\u53d6\u5b8c\u6210\u540e\uff0c\u6253\u5305\u955c\u50cf\u4e3a nvidia-driver.tar \u538b\u7f29\u5305\uff1a

                                                      docker save nvcr.io/nvidia/driver:525.105.17-rhel8.4 > nvidia-driver.tar\n
                                                    3. \u62f7\u8d1d nvidia-driver.tar \u955c\u50cf\u538b\u7f29\u5305\u5230\u706b\u79cd\u8282\u70b9\uff1a

                                                      scp  nvidia-driver.tar user@ip:/root\n

                                                      \u4f8b\u5982\uff1a

                                                      scp  nvidia-driver.tar root@10.6.175.10:/root\n
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html#_4","title":"\u63a8\u9001\u955c\u50cf\u5230\u706b\u79cd\u8282\u70b9\u4ed3\u5e93","text":"

                                                    \u4ee5\u4e0b\u64cd\u4f5c\u5728\u706b\u79cd\u8282\u70b9\u4e0a\u8fdb\u884c\u3002

                                                    1. \u767b\u5f55\u706b\u79cd\u8282\u70b9\uff0c\u5c06\u8054\u7f51\u8282\u70b9\u62f7\u8d1d\u7684\u955c\u50cf\u538b\u7f29\u5305 nvidia-driver.tar \u5bfc\u5165\u672c\u5730\uff1a

                                                      docker load -i nvidia-driver.tar\n
                                                    2. \u67e5\u770b\u521a\u521a\u5bfc\u5165\u7684\u955c\u50cf\uff1a

                                                      docker images -a |grep nvidia\n

                                                      \u9884\u671f\u8f93\u51fa\uff1a

                                                      nvcr.io/nvidia/driver                 e3ed7dee73e9   1 days ago   1.02GB\n
                                                    3. \u91cd\u65b0\u6807\u8bb0\u955c\u50cf\uff0c\u4f7f\u5176\u4e0e\u8fdc\u7a0b Registry \u4ed3\u5e93\u4e2d\u7684\u76ee\u6807\u4ed3\u5e93\u5bf9\u5e94\uff1a

                                                      docker tag <image-name> <registry-url>/<repository-name>:<tag>\n
                                                      • <image-name> \u662f\u4e0a\u4e00\u6b65 nvidia \u955c\u50cf\u7684\u540d\u79f0\uff0c
                                                      • <registry-url> \u662f\u706b\u79cd\u8282\u70b9\u4e0a Registry \u670d\u52a1\u7684\u5730\u5740\uff0c
                                                      • <repository-name> \u662f\u60a8\u8981\u63a8\u9001\u5230\u7684\u4ed3\u5e93\u540d\u79f0\uff0c
                                                      • <tag> \u662f\u60a8\u4e3a\u955c\u50cf\u6307\u5b9a\u7684\u6807\u7b7e\u3002

                                                      \u4f8b\u5982\uff1a

                                                      registry\uff1adocker tag nvcr.io/nvidia/driver 10.6.10.5/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                                                    4. \u5c06\u955c\u50cf\u63a8\u9001\u5230\u706b\u79cd\u8282\u70b9\u955c\u50cf\u4ed3\u5e93\uff1a

                                                      docker push {ip}/nvcr.io/nvidia/driver:525.105.17-rhel8.4\n
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/push_image_to_repo.html#_5","title":"\u63a5\u4e0b\u6765","text":"

                                                    \u53c2\u8003\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u548c GPU Operator \u79bb\u7ebf\u5b89\u88c5\u6765\u4e3a\u96c6\u7fa4\u90e8\u7f72 GPU Operator\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html","title":"RHEL 9.2 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                                                    \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                                                    RHEL 9.2 \u9a71\u52a8\u955c\u50cf\u4e0d\u80fd\u76f4\u63a5\u5b89\u88c5\uff0c\u5b98\u65b9\u7684\u9a71\u52a8\u811a\u672c\u5b58\u5728\u4e00\u70b9\u95ee\u9898\uff0c\u5728\u5b98\u65b9\u4fee\u590d\u4e4b\u524d\uff0c\u63d0\u4f9b\u5982\u4e0b\u7684\u6b65\u9aa4\u6765\u5b9e\u73b0\u79bb\u7ebf\u5b89\u88c5\u9a71\u52a8\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#nouveau","title":"\u7981\u7528nouveau\u9a71\u52a8","text":"

                                                    \u5728 RHEL 9.2 \u4e2d\u5b58\u5728 nouveau \u975e\u5b98\u65b9\u7684 Nvidia \u9a71\u52a8\uff0c\u56e0\u6b64\u9700\u8981\u5148\u7981\u7528\u3002

                                                    # \u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6\nsudo vi /etc/modprobe.d/blacklist-nouveau.conf\n# \u6dfb\u52a0\u4ee5\u4e0b\u4e24\u884c\u5185\u5bb9:\nblacklist nouveau\noptions nouveau modeset=0\n# \u7981\u7528Nouveau\nsudo dracut --force\n# \u91cd\u542fvm\nsudo reboot\n# \u68c0\u67e5\u662f\u5426\u5df2\u7ecf\u6210\u529f\u7981\u7528\nlsmod | grep nouveau\n
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#_1","title":"\u81ea\u5b9a\u4e49\u9a71\u52a8\u955c\u50cf","text":"

                                                    \u5148\u5728\u672c\u5730\u521b\u5efa nvidia-driver \u6587\u4ef6\uff1a

                                                    \u70b9\u51fb\u67e5\u770b\u5b8c\u6574\u7684 nvidia-driver \u6587\u4ef6\u5185\u5bb9
                                                    #! /bin/bash -x\n# Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.\n\nset -eu\n\nRUN_DIR=/run/nvidia\nPID_FILE=${RUN_DIR}/${0##*/}.pid\nDRIVER_VERSION=${DRIVER_VERSION:?\"Missing DRIVER_VERSION env\"}\nKERNEL_UPDATE_HOOK=/run/kernel/postinst.d/update-nvidia-driver\nNUM_VGPU_DEVICES=0\nNVIDIA_MODULE_PARAMS=()\nNVIDIA_UVM_MODULE_PARAMS=()\nNVIDIA_MODESET_MODULE_PARAMS=()\nNVIDIA_PEERMEM_MODULE_PARAMS=()\nTARGETARCH=${TARGETARCH:?\"Missing TARGETARCH env\"}\nUSE_HOST_MOFED=\"${USE_HOST_MOFED:-false}\"\nDNF_RELEASEVER=${DNF_RELEASEVER:-\"\"}\nRHEL_VERSION=${RHEL_VERSION:-\"\"}\nRHEL_MAJOR_VERSION=9\n\nOPEN_KERNEL_MODULES_ENABLED=${OPEN_KERNEL_MODULES_ENABLED:-false}\n[[ \"${OPEN_KERNEL_MODULES_ENABLED}\" == \"true\" ]] && KERNEL_TYPE=kernel-open || KERNEL_TYPE=kernel\n\nDRIVER_ARCH=${TARGETARCH/amd64/x86_64} && DRIVER_ARCH=${DRIVER_ARCH/arm64/aarch64}\necho \"DRIVER_ARCH is $DRIVER_ARCH\"\n\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\nsource $SCRIPT_DIR/common.sh\n\n_update_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Updating the package cache...\"\n        if ! yum -q makecache; then\n            echo \"FATAL: failed to reach RHEL package repositories. \"\\\n                 \"Ensure that the cluster can access the proper networks.\"\n            exit 1\n        fi\n    fi\n}\n\n_cleanup_package_cache() {\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        echo \"Cleaning up the package cache...\"\n        rm -rf /var/cache/yum/*\n    fi\n}\n\n_get_rhel_version_from_kernel() {\n    local rhel_version_underscore rhel_version_arr\n    rhel_version_underscore=$(echo \"${KERNEL_VERSION}\" | sed 's/.*el\\([0-9]\\+_[0-9]\\+\\).*/\\1/g')\n    # For e.g. :- from the kernel version 4.18.0-513.9.1.el8_9, we expect to extract the string \"8_9\"\n    if [[ ! ${rhel_version_underscore} =~ ^[0-9]+_[0-9]+$ ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    IFS='_' read -r -a rhel_version_arr <<< \"$rhel_version_underscore\"\n    if [[ ${#rhel_version_arr[@]} -ne 2 ]]; then\n        echo \"Unable to resolve RHEL version from kernel version\" >&2\n        return 1\n    fi\n    RHEL_VERSION=\"${rhel_version_arr[0]}.${rhel_version_arr[1]}\"\n    echo \"RHEL VERSION successfully resolved from kernel: ${RHEL_VERSION}\"\n    return 0\n}\n\n_resolve_rhel_version() {\n    _get_rhel_version_from_kernel || RHEL_VERSION=\"${RHEL_MAJOR_VERSION}\"\n    # set dnf release version as rhel version by default\n    if [[ -z \"${DNF_RELEASEVER}\" ]]; then\n        DNF_RELEASEVER=\"${RHEL_VERSION}\"\n    fi\n    return 0\n}\n\n# Resolve the kernel version to the form major.minor.patch-revision.\n_resolve_kernel_version() {\n    echo \"Resolving Linux kernel version...\"\n    local version=$(yum -q list available --showduplicates kernel-headers |\n      awk -v arch=$(uname -m) 'NR>1 {print $2\".\"arch}' | tac | grep -E -m1 \"^${KERNEL_VERSION/latest/.*}\")\n\n    if [ -z \"${version}\" ]; then\n        echo \"Could not resolve Linux kernel version\" >&2\n        return 1\n    fi\n    KERNEL_VERSION=\"${version}\"\n    echo \"Proceeding with Linux kernel version ${KERNEL_VERSION}\"\n    return 0\n}\n\n# Install the kernel modules header/builtin/order files and generate the kernel version string.\n_install_prerequisites() (\n    local tmp_dir=$(mktemp -d)\n\n    trap \"rm -rf ${tmp_dir}\" EXIT\n    cd ${tmp_dir}\n\n    echo \"Installing elfutils...\"\n    if ! dnf install -q -y elfutils-libelf.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi\n    if ! dnf install -q -y elfutils-libelf-devel.$DRIVER_ARCH; then\n        echo \"FATAL: failed to install elfutils packages. RHEL entitlement may be improperly deployed.\"\n        exit 1\n    fi    \n\n    rm -rf /lib/modules/${KERNEL_VERSION}\n    mkdir -p /lib/modules/${KERNEL_VERSION}/proc\n\n    echo \"Enabling RHOCP and EUS RPM repos...\"\n    if [ -n \"${OPENSHIFT_VERSION:-}\" ]; then\n        dnf config-manager --set-enabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhocp-${OPENSHIFT_VERSION}-for-rhel-9-$DRIVER_ARCH-rpms || true\n        fi\n    fi\n\n    dnf config-manager --set-enabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms  || true\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n            dnf config-manager --set-disabled rhel-9-for-$DRIVER_ARCH-baseos-eus-rpms || true\n    fi\n\n    # try with EUS disabled, if it does not work, then try just major version\n    if ! dnf makecache --releasever=${DNF_RELEASEVER}; then\n      # If pointing to DNF_RELEASEVER does not work, we point to the RHEL_MAJOR_VERSION as a last resort\n      if ! dnf makecache --releasever=${RHEL_MAJOR_VERSION}; then\n        echo \"FATAL: failed to update the dnf metadata cache after multiple attempts with releasevers ${DNF_RELEASEVER}, ${RHEL_MAJOR_VERSION}\"\n        exit 1\n      else\n        DNF_RELEASEVER=${RHEL_MAJOR_VERSION}\n      fi\n    fi\n\n    echo \"Installing Linux kernel headers...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} --allowerasing > /dev/null\n    ln -s /usr/src/kernels/${KERNEL_VERSION} /lib/modules/${KERNEL_VERSION}/build\n\n    echo \"Installing Linux kernel module files...\"\n    dnf -q -y --releasever=${DNF_RELEASEVER} install kernel-core-${KERNEL_VERSION} > /dev/null\n\n    # Prevent depmod from giving a WARNING about missing files\n    touch /lib/modules/${KERNEL_VERSION}/modules.order\n    touch /lib/modules/${KERNEL_VERSION}/modules.builtin\n\n    depmod ${KERNEL_VERSION}\n\n    echo \"Generating Linux kernel version string...\"\n    if [ \"$TARGETARCH\" = \"arm64\" ]; then\n        gunzip -c /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    else\n        extract-vmlinux /lib/modules/${KERNEL_VERSION}/vmlinuz | strings | grep -E '^Linux version' | sed 's/^\\(.*\\)\\s\\+(.*)$/\\1/' > version\n    fi\n    if [ -z \"$(<version)\" ]; then\n        echo \"Could not locate Linux kernel version string\" >&2\n        return 1\n    fi\n    mv version /lib/modules/${KERNEL_VERSION}/proc\n\n    # Parse gcc version\n    # gcc_version is expected to match x.y.z\n    # current_gcc is expected to match 'gcc-x.y.z-rel.el8.x86_64\n    local gcc_version=$(cat /lib/modules/${KERNEL_VERSION}/proc/version | grep -Eo \"gcc \\(GCC\\) ([0-9\\.]+)\" | grep -Eo \"([0-9\\.]+)\")\n    local current_gcc=$(rpm -qa gcc)\n    echo \"kernel requires gcc version: 'gcc-${gcc_version}', current gcc version is '${current_gcc}'\"\n\n    if ! [[ \"${current_gcc}\" =~ \"gcc-${gcc_version}\"-.* ]]; then\n        dnf install -q -y --releasever=${DNF_RELEASEVER} \"gcc-${gcc_version}\"\n    fi\n)\n\n# Cleanup the prerequisites installed above.\n_remove_prerequisites() {\n    true\n    if [ \"${PACKAGE_TAG:-}\" != \"builtin\" ]; then\n        dnf -q -y remove kernel-headers-${KERNEL_VERSION} kernel-devel-${KERNEL_VERSION} > /dev/null\n        # TODO remove module files not matching an existing driver package.\n    fi\n}\n\n# Check if the kernel version requires a new precompiled driver packages.\n_kernel_requires_package() {\n    local proc_mount_arg=\"\"\n\n    echo \"Checking NVIDIA driver packages...\"\n\n    [[ ! -d /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE} ]] && return 0\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    proc_mount_arg=\"--proc-mount-point /lib/modules/${KERNEL_VERSION}/proc\"\n    for pkg_name in $(ls -d -1 precompiled/** 2> /dev/null); do\n        is_match=$(../mkprecompiled --match ${pkg_name} ${proc_mount_arg})\n        if [ \"${is_match}\" == \"kernel interface matches.\" ]; then\n            echo \"Found NVIDIA driver package ${pkg_name##*/}\"\n            return 1\n        fi\n    done\n    return 0\n}\n\n# Compile the kernel modules, optionally sign them, and generate a precompiled package for use by the nvidia-installer.\n_create_driver_package() (\n    local pkg_name=\"nvidia-modules-${KERNEL_VERSION%%-*}${PACKAGE_TAG:+-${PACKAGE_TAG}}\"\n    local nvidia_sign_args=\"\"\n    local nvidia_modeset_sign_args=\"\"\n    local nvidia_uvm_sign_args=\"\"\n\n    trap \"make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build clean > /dev/null\" EXIT\n\n    echo \"Compiling NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}/${KERNEL_TYPE}\n\n    if _gpu_direct_rdma_enabled; then\n        ln -s /run/mellanox/drivers/usr/src/ofa_kernel /usr/src/\n        # if arch directory exists(MOFED >=5.5) then create a symlink as expected by GPU driver installer\n        # This is required as currently GPU driver installer doesn't expect headers in x86_64 folder, but only in either default or kernel-version folder.\n        # ls -ltr /usr/src/ofa_kernel/\n        # lrwxrwxrwx 1 root root   36 Dec  8 20:10 default -> /etc/alternatives/ofa_kernel_headers\n        # drwxr-xr-x 4 root root 4096 Dec  8 20:14 x86_64\n        # lrwxrwxrwx 1 root root   44 Dec  9 19:05 5.4.0-90-generic -> /usr/src/ofa_kernel/x86_64/5.4.0-90-generic/\n        if [[ -d \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" ]]; then\n            if [[ ! -e \"/usr/src/ofa_kernel/$(uname -r)\" ]]; then\n                ln -s \"/run/mellanox/drivers/usr/src/ofa_kernel/$(uname -m)/$(uname -r)\" /usr/src/ofa_kernel/\n            fi\n        fi\n    fi\n\n    make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build nv-linux.o nv-modeset-linux.o > /dev/null\n\n    echo \"Relinking NVIDIA driver kernel modules...\"\n    rm -f nvidia.ko nvidia-modeset.ko\n    ld -d -r -o nvidia.ko ./nv-linux.o ./nvidia/nv-kernel.o_binary\n    ld -d -r -o nvidia-modeset.ko ./nv-modeset-linux.o ./nvidia-modeset/nv-modeset-kernel.o_binary\n\n    if [ -n \"${PRIVATE_KEY}\" ]; then\n        echo \"Signing NVIDIA driver kernel modules...\"\n        donkey get ${PRIVATE_KEY} sh -c \"PATH=${PATH}:/usr/src/linux-headers-${KERNEL_VERSION}/scripts && \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia.ko nvidia.ko.sign &&                          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-modeset.ko nvidia-modeset.ko.sign &&          \\\n          sign-file sha512 \\$DONKEY_FILE pubkey.x509 nvidia-uvm.ko\"\n        nvidia_sign_args=\"--linked-module nvidia.ko --signed-module nvidia.ko.sign\"\n        nvidia_modeset_sign_args=\"--linked-module nvidia-modeset.ko --signed-module nvidia-modeset.ko.sign\"\n        nvidia_uvm_sign_args=\"--signed\"\n    fi\n\n    echo \"Building NVIDIA driver package ${pkg_name}...\"\n    ../mkprecompiled --pack ${pkg_name} --description ${KERNEL_VERSION}                              \\\n                                        --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc       \\\n                                        --driver-version ${DRIVER_VERSION}                           \\\n                                        --kernel-interface nv-linux.o                                \\\n                                        --linked-module-name nvidia.ko                               \\\n                                        --core-object-name nvidia/nv-kernel.o_binary                 \\\n                                        ${nvidia_sign_args}                                          \\\n                                        --target-directory .                                         \\\n                                        --kernel-interface nv-modeset-linux.o                        \\\n                                        --linked-module-name nvidia-modeset.ko                       \\\n                                        --core-object-name nvidia-modeset/nv-modeset-kernel.o_binary \\\n                                        ${nvidia_modeset_sign_args}                                  \\\n                                        --target-directory .                                         \\\n                                        --kernel-module nvidia-uvm.ko                                \\\n                                        ${nvidia_uvm_sign_args}                                      \\\n                                        --target-directory .\n    mkdir -p precompiled\n    mv ${pkg_name} precompiled\n)\n\n_assert_nvswitch_system() {\n    [ -d /proc/driver/nvidia-nvswitch ] || return 1\n    entries=$(ls -1 /proc/driver/nvidia-nvswitch/devices/*)\n    if [ -z \"${entries}\" ]; then\n        return 1\n    fi\n    return 0\n}\n\n# For each kernel module configuration file mounted into the container,\n# parse the file contents and extract the custom module parameters that\n# are to be passed as input to 'modprobe'.\n#\n# Assumptions:\n# - Configuration files are named <module-name>.conf (i.e. nvidia.conf, nvidia-uvm.conf).\n# - Configuration files are mounted inside the container at /drivers.\n# - Each line in the file contains at least one parameter, where parameters on the same line\n#   are space delimited. It is up to the user to properly format the file to ensure\n#   the correct set of parameters are passed to 'modprobe'.\n_get_module_params() {\n    local base_path=\"/drivers\"\n    # nvidia\n    if [ -f \"${base_path}/nvidia.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia.conf\"\n       echo \"Module parameters provided for nvidia: ${NVIDIA_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-uvm\n    if [ -f \"${base_path}/nvidia-uvm.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_UVM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-uvm.conf\"\n       echo \"Module parameters provided for nvidia-uvm: ${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-modeset\n    if [ -f \"${base_path}/nvidia-modeset.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_MODESET_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-modeset.conf\"\n       echo \"Module parameters provided for nvidia-modeset: ${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    fi\n    # nvidia-peermem\n    if [ -f \"${base_path}/nvidia-peermem.conf\" ]; then\n       while IFS=\"\" read -r param || [ -n \"$param\" ]; do\n           NVIDIA_PEERMEM_MODULE_PARAMS+=(\"$param\")\n       done <\"${base_path}/nvidia-peermem.conf\"\n       echo \"Module parameters provided for nvidia-peermem: ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n    fi\n}\n\n# Load the kernel modules and start persistenced.\n_load_driver() {\n    echo \"Parsing kernel module parameters...\"\n    _get_module_params\n\n    local nv_fw_search_path=\"$RUN_DIR/driver/lib/firmware\"\n    local set_fw_path=\"true\"\n    local fw_path_config_file=\"/sys/module/firmware_class/parameters/path\"\n    for param in \"${NVIDIA_MODULE_PARAMS[@]}\"; do\n        if [[ \"$param\" == \"NVreg_EnableGpuFirmware=0\" ]]; then\n          set_fw_path=\"false\"\n        fi\n    done\n\n    if [[ \"$set_fw_path\" == \"true\" ]]; then\n        echo \"Configuring the following firmware search path in '$fw_path_config_file': $nv_fw_search_path\"\n        if [[ ! -z $(grep '[^[:space:]]' $fw_path_config_file) ]]; then\n            echo \"WARNING: A search path is already configured in $fw_path_config_file\"\n            echo \"         Retaining the current configuration\"\n        else\n            echo -n \"$nv_fw_search_path\" > $fw_path_config_file || echo \"WARNING: Failed to configure the firmware search path\"\n        fi\n    fi\n\n    echo \"Loading ipmi and i2c_core kernel modules...\"\n    modprobe -a i2c_core ipmi_msghandler ipmi_devintf\n\n    echo \"Loading NVIDIA driver kernel modules...\"\n    set -o xtrace +o nounset\n    modprobe nvidia \"${NVIDIA_MODULE_PARAMS[@]}\"\n    modprobe nvidia-uvm \"${NVIDIA_UVM_MODULE_PARAMS[@]}\"\n    modprobe nvidia-modeset \"${NVIDIA_MODESET_MODULE_PARAMS[@]}\"\n    set +o xtrace -o nounset\n\n    if _gpu_direct_rdma_enabled; then\n        echo \"Loading NVIDIA Peer Memory kernel module...\"\n        set -o xtrace +o nounset\n        modprobe -a nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"\n        set +o xtrace -o nounset\n    fi\n\n    echo \"Starting NVIDIA persistence daemon...\"\n    nvidia-persistenced --persistence-mode\n\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        echo \"Copying gridd.conf...\"\n        cp /drivers/gridd.conf /etc/nvidia/gridd.conf\n        if [ \"${VGPU_LICENSE_SERVER_TYPE}\" = \"NLS\" ]; then\n            echo \"Copying ClientConfigToken...\"\n            mkdir -p  /etc/nvidia/ClientConfigToken/\n            cp /drivers/ClientConfigToken/* /etc/nvidia/ClientConfigToken/\n        fi\n\n        echo \"Starting nvidia-gridd..\"\n        LD_LIBRARY_PATH=/usr/lib64/nvidia/gridd nvidia-gridd\n\n        # Start virtual topology daemon\n        _start_vgpu_topology_daemon\n    fi\n\n    if _assert_nvswitch_system; then\n        echo \"Starting NVIDIA fabric manager daemon...\"\n        nv-fabricmanager -c /usr/share/nvidia/nvswitch/fabricmanager.cfg\n    fi\n}\n\n# Stop persistenced and unload the kernel modules if they are currently loaded.\n_unload_driver() {\n    local rmmod_args=()\n    local nvidia_deps=0\n    local nvidia_refs=0\n    local nvidia_uvm_refs=0\n    local nvidia_modeset_refs=0\n    local nvidia_peermem_refs=0\n\n    echo \"Stopping NVIDIA persistence daemon...\"\n    if [ -f /var/run/nvidia-persistenced/nvidia-persistenced.pid ]; then\n        local pid=$(< /var/run/nvidia-persistenced/nvidia-persistenced.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA persistence daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-gridd/nvidia-gridd.pid ]; then\n        echo \"Stopping NVIDIA grid daemon...\"\n        local pid=$(< /var/run/nvidia-gridd/nvidia-gridd.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 10); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 10 ]; then\n            echo \"Could not stop NVIDIA Grid daemon\" >&2\n            return 1\n        fi\n    fi\n\n    if [ -f /var/run/nvidia-fabricmanager/nv-fabricmanager.pid ]; then\n        echo \"Stopping NVIDIA fabric manager daemon...\"\n        local pid=$(< /var/run/nvidia-fabricmanager/nv-fabricmanager.pid)\n\n        kill -SIGTERM \"${pid}\"\n        for i in $(seq 1 50); do\n            kill -0 \"${pid}\" 2> /dev/null || break\n            sleep 0.1\n        done\n        if [ $i -eq 50 ]; then\n            echo \"Could not stop NVIDIA fabric manager daemon\" >&2\n            return 1\n        fi\n    fi\n\n    echo \"Unloading NVIDIA driver kernel modules...\"\n    if [ -f /sys/module/nvidia_modeset/refcnt ]; then\n        nvidia_modeset_refs=$(< /sys/module/nvidia_modeset/refcnt)\n        rmmod_args+=(\"nvidia-modeset\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia_uvm/refcnt ]; then\n        nvidia_uvm_refs=$(< /sys/module/nvidia_uvm/refcnt)\n        rmmod_args+=(\"nvidia-uvm\")\n        ((++nvidia_deps))\n    fi\n    if [ -f /sys/module/nvidia/refcnt ]; then\n        nvidia_refs=$(< /sys/module/nvidia/refcnt)\n        rmmod_args+=(\"nvidia\")\n    fi\n    if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n        nvidia_peermem_refs=$(< /sys/module/nvidia_peermem/refcnt)\n        rmmod_args+=(\"nvidia-peermem\")\n        ((++nvidia_deps))\n    fi\n    if [ ${nvidia_refs} -gt ${nvidia_deps} ] || [ ${nvidia_uvm_refs} -gt 0 ] || [ ${nvidia_modeset_refs} -gt 0 ] || [ ${nvidia_peermem_refs} -gt 0 ]; then\n        echo \"Could not unload NVIDIA driver kernel modules, driver is in use\" >&2\n        return 1\n    fi\n\n    if [ ${#rmmod_args[@]} -gt 0 ]; then\n        rmmod ${rmmod_args[@]}\n    fi\n    return 0\n}\n\n# Link and install the kernel modules from a precompiled package using the nvidia-installer.\n_install_driver() {\n    local install_args=()\n\n    echo \"Installing NVIDIA driver kernel modules...\"\n    cd /usr/src/nvidia-${DRIVER_VERSION}\n    rm -rf /lib/modules/${KERNEL_VERSION}/video\n\n    if [ \"${ACCEPT_LICENSE}\" = \"yes\" ]; then\n        install_args+=(\"--accept-license\")\n    fi\n    IGNORE_CC_MISMATCH=1 nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check -m=${KERNEL_TYPE} ${install_args[@]+\"${install_args[@]}\"}\n    # May need to add no-cc-check for Rhel, otherwise it complains about cc missing in path\n    # /proc/version and lib/modules/KERNEL_VERSION/proc are different, by default installer looks at /proc/ so, added the proc-mount-point\n    # TODO: remove the -a flag. its not needed. in the new driver version, license-acceptance is implicit\n    #nvidia-installer --kernel-module-only --no-drm --ui=none --no-nouveau-check --no-cc-version-check --proc-mount-point /lib/modules/${KERNEL_VERSION}/proc ${install_args[@]+\"${install_args[@]}\"}\n}\n\n# Mount the driver rootfs into the run directory with the exception of sysfs.\n_mount_rootfs() {\n    echo \"Mounting NVIDIA driver rootfs...\"\n    mount --make-runbindable /sys\n    mount --make-private /sys\n    mkdir -p ${RUN_DIR}/driver\n    mount --rbind / ${RUN_DIR}/driver\n\n    echo \"Check SELinux status\"\n    if [ -e /sys/fs/selinux ]; then\n        echo \"SELinux is enabled\"\n        echo \"Change device files security context for selinux compatibility\"\n        chcon -R -t container_file_t ${RUN_DIR}/driver/dev\n    else\n        echo \"SELinux is disabled, skipping...\"\n    fi\n}\n\n# Unmount the driver rootfs from the run directory.\n_unmount_rootfs() {\n    echo \"Unmounting NVIDIA driver rootfs...\"\n    if findmnt -r -o TARGET | grep \"${RUN_DIR}/driver\" > /dev/null; then\n        umount -l -R ${RUN_DIR}/driver\n    fi\n}\n\n# Write a kernel postinst.d script to automatically precompile packages on kernel update (similar to DKMS).\n_write_kernel_update_hook() {\n    if [ ! -d ${KERNEL_UPDATE_HOOK%/*} ]; then\n        return\n    fi\n\n    echo \"Writing kernel update hook...\"\n    cat > ${KERNEL_UPDATE_HOOK} <<'EOF'\n#!/bin/bash\n\nset -eu\ntrap 'echo \"ERROR: Failed to update the NVIDIA driver\" >&2; exit 0' ERR\n\nNVIDIA_DRIVER_PID=$(< /run/nvidia/nvidia-driver.pid)\n\nexport \"$(grep -z DRIVER_VERSION /proc/${NVIDIA_DRIVER_PID}/environ)\"\nnsenter -t \"${NVIDIA_DRIVER_PID}\" -m -- nvidia-driver update --kernel \"$1\"\nEOF\n    chmod +x ${KERNEL_UPDATE_HOOK}\n}\n\n_shutdown() {\n    if _unload_driver; then\n        _unmount_rootfs\n        rm -f ${PID_FILE} ${KERNEL_UPDATE_HOOK}\n        return 0\n    fi\n    return 1\n}\n\n_find_vgpu_driver_version() {\n    local count=\"\"\n    local version=\"\"\n    local drivers_path=\"/drivers\"\n\n    if [ \"${DISABLE_VGPU_VERSION_CHECK}\" = \"true\" ]; then\n        echo \"vgpu version compatibility check is disabled\"\n        return 0\n    fi\n    # check if vgpu devices are present\n    count=$(vgpu-util count)\n    if [ $? -ne 0 ]; then\n         echo \"cannot find vgpu devices on host, pleae check /var/log/vgpu-util.log for more details...\"\n         return 0\n    fi\n    NUM_VGPU_DEVICES=$(echo \"$count\" | awk -F= '{print $2}')\n    if [ $NUM_VGPU_DEVICES -eq 0 ]; then\n        # no vgpu devices found, treat as passthrough\n        return 0\n    fi\n    echo \"found $NUM_VGPU_DEVICES vgpu devices on host\"\n\n    # find compatible guest driver using driver catalog\n    if [ -d \"/mnt/shared-nvidia-driver-toolkit/drivers\" ]; then\n        drivers_path=\"/mnt/shared-nvidia-driver-toolkit/drivers\"\n    fi\n    version=$(vgpu-util match -i \"${drivers_path}\" -c \"${drivers_path}/vgpuDriverCatalog.yaml\")\n    if [ $? -ne 0 ]; then\n        echo \"cannot find match for compatible vgpu driver from available list, please check /var/log/vgpu-util.log for more details...\"\n        return 1\n    fi\n    DRIVER_VERSION=$(echo \"$version\" | awk -F= '{print $2}')\n    echo \"vgpu driver version selected: ${DRIVER_VERSION}\"\n    return 0\n}\n\n_start_vgpu_topology_daemon() {\n    type nvidia-topologyd > /dev/null 2>&1 || return 0\n    echo \"Starting nvidia-topologyd..\"\n    nvidia-topologyd\n}\n\n_prepare() {\n    if [ \"${DRIVER_TYPE}\" = \"vgpu\" ]; then\n        _find_vgpu_driver_version || exit 1\n    fi\n\n    # Install the userspace components and copy the kernel module sources.\n    sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n        cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n        sh /tmp/install.sh nvinstall && \\\n        mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n        mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n        sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n\n    echo -e \"\\n========== NVIDIA Software Installer ==========\\n\"\n    echo -e \"Starting installation of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n}\n\n_prepare_exclusive() {\n    _prepare\n\n    exec 3> ${PID_FILE}\n    if ! flock -n 3; then\n        echo \"An instance of the NVIDIA driver is already running, aborting\"\n        exit 1\n    fi\n    echo $$ >&3\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n    trap \"_shutdown\" EXIT\n\n    _unload_driver || exit 1\n    _unmount_rootfs\n}\n\n_build() {\n    # Install dependencies\n    if _kernel_requires_package; then\n        _update_package_cache\n        _install_prerequisites\n        _create_driver_package\n        #_remove_prerequisites\n        _cleanup_package_cache\n    fi\n\n    # Build the driver\n    _install_driver\n}\n\n_load() {\n    _load_driver\n    _mount_rootfs\n    _write_kernel_update_hook\n\n    echo \"Done, now waiting for signal\"\n    sleep infinity &\n    trap \"echo 'Caught signal'; _shutdown && { kill $!; exit 0; }\" HUP INT QUIT PIPE TERM\n    trap - EXIT\n    while true; do wait $! || continue; done\n    exit 0\n}\n\ninit() {\n    _prepare_exclusive\n\n    _build\n\n    _load\n}\n\nbuild() {\n    _prepare\n\n    _build\n}\n\nload() {\n    _prepare_exclusive\n\n    _load\n}\n\nupdate() {\n    exec 3>&2\n    if exec 2> /dev/null 4< ${PID_FILE}; then\n        if ! flock -n 4 && read pid <&4 && kill -0 \"${pid}\"; then\n            exec > >(tee -a \"/proc/${pid}/fd/1\")\n            exec 2> >(tee -a \"/proc/${pid}/fd/2\" >&3)\n        else\n            exec 2>&3\n        fi\n        exec 4>&-\n    fi\n    exec 3>&-\n\n    # vgpu driver version is chosen dynamically during runtime, so pre-compile modules for\n    # only non-vgpu driver types\n    if [ \"${DRIVER_TYPE}\" != \"vgpu\" ]; then\n        # Install the userspace components and copy the kernel module sources.\n        if [ ! -e /usr/src/nvidia-${DRIVER_VERSION}/mkprecompiled ]; then\n            sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \\\n                cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \\\n                sh /tmp/install.sh nvinstall && \\\n                mkdir -p /usr/src/nvidia-$DRIVER_VERSION && \\\n                mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-$DRIVER_VERSION && \\\n                sed '9,${/^\\(kernel\\|LICENSE\\)/!d}' .manifest > /usr/src/nvidia-$DRIVER_VERSION/.manifest\n        fi\n    fi\n\n    echo -e \"\\n========== NVIDIA Software Updater ==========\\n\"\n    echo -e \"Starting update of NVIDIA driver version ${DRIVER_VERSION} for Linux kernel version ${KERNEL_VERSION}\\n\"\n\n    trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n\n    _update_package_cache\n    _resolve_kernel_version || exit 1\n    _install_prerequisites\n    if _kernel_requires_package; then\n        _create_driver_package\n    fi\n    _remove_prerequisites\n    _cleanup_package_cache\n\n    echo \"Done\"\n    exit 0\n}\n\n# Wait for MOFED drivers to be loaded and load nvidia-peermem whenever it gets unloaded during MOFED driver updates\nreload_nvidia_peermem() {\n    if [ \"$USE_HOST_MOFED\" = \"true\" ]; then\n        until  lsmod | grep mlx5_core > /dev/null 2>&1 && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    else\n        # use driver readiness flag created by MOFED container\n        until  [ -f /run/mellanox/drivers/.driver-ready ] && [ -f /run/nvidia/validations/.driver-ctr-ready ];\n        do\n            echo \"waiting for mellanox ofed and nvidia drivers to be installed\"\n            sleep 10\n        done\n    fi\n    # get any parameters provided for nvidia-peermem\n    _get_module_params && set +o nounset\n    if chroot /run/nvidia/driver modprobe nvidia-peermem \"${NVIDIA_PEERMEM_MODULE_PARAMS[@]}\"; then\n        if [ -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"successfully loaded nvidia-peermem module, now waiting for signal\"\n            sleep inf\n            trap \"echo 'Caught signal'; exit 1\" HUP INT QUIT PIPE TERM\n        fi\n    fi\n    echo \"failed to load nvidia-peermem module\"\n    exit 1\n}\n\n# probe by gpu-operator for liveness/startup checks for nvidia-peermem module to be loaded when MOFED drivers are ready\nprobe_nvidia_peermem() {\n    if lsmod | grep mlx5_core > /dev/null 2>&1; then\n        if [ ! -f /sys/module/nvidia_peermem/refcnt ]; then\n            echo \"nvidia-peermem module is not loaded\"\n            return 1\n        fi\n    else\n        echo \"MOFED drivers are not ready, skipping probe to avoid container restarts...\"\n    fi\n    return 0\n}\n\nusage() {\n    cat >&2 <<EOF\nUsage: $0 COMMAND [ARG...]\n\nCommands:\n  init   [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  build  [-a | --accept-license] [-m | --max-threads MAX_THREADS]\n  load\n  update [-k | --kernel VERSION] [-s | --sign KEYID] [-t | --tag TAG] [-m | --max-threads MAX_THREADS]\nEOF\n    exit 1\n}\n\nif [ $# -eq 0 ]; then\n    usage\nfi\ncommand=$1; shift\ncase \"${command}\" in\n    init) options=$(getopt -l accept-license,max-threads: -o am: -- \"$@\") ;;\n    build) options=$(getopt -l accept-license,tag:,max-threads: -o a:t:m: -- \"$@\") ;;\n    load) options=\"\" ;;\n    update) options=$(getopt -l kernel:,sign:,tag:,max-threads: -o k:s:t:m: -- \"$@\") ;;\n    reload_nvidia_peermem) options=\"\" ;;\n    probe_nvidia_peermem) options=\"\" ;;\n    *) usage ;;\nesac\nif [ $? -ne 0 ]; then\n    usage\nfi\neval set -- \"${options}\"\n\nACCEPT_LICENSE=\"\"\nMAX_THREADS=\"\"\nKERNEL_VERSION=$(uname -r)\nPRIVATE_KEY=\"\"\nPACKAGE_TAG=\"\"\n\nfor opt in ${options}; do\n    case \"$opt\" in\n    -a | --accept-license) ACCEPT_LICENSE=\"yes\"; shift 1 ;;\n    -k | --kernel) KERNEL_VERSION=$2; shift 2 ;;\n    -m | --max-threads) MAX_THREADS=$2; shift 2 ;;\n    -s | --sign) PRIVATE_KEY=$2; shift 2 ;;\n    -t | --tag) PACKAGE_TAG=$2; shift 2 ;;\n    --) shift; break ;;\n    esac\ndone\nif [ $# -ne 0 ]; then\n    usage\nfi\n\n_resolve_rhel_version || exit 1\n\n$command\n

                                                    \u4f7f\u7528\u5b98\u65b9\u7684\u955c\u50cf\u6765\u4e8c\u6b21\u6784\u5efa\u81ea\u5b9a\u4e49\u955c\u50cf\uff0c\u5982\u4e0b\u662f\u4e00\u4e2a Dockerfile \u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                                                    FROM nvcr.io/nvidia/driver:535.183.06-rhel9.2\nCOPY nvidia-driver /usr/local/bin\nRUN chmod +x /usr/local/bin/nvidia-driver\nCMD [\"/bin/bash\", \"-c\"]\n

                                                    \u6784\u5efa\u547d\u4ee4\u5e76\u63a8\u9001\u5230\u706b\u79cd\u96c6\u7fa4\uff1a

                                                    docker build -t {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2 -f Dockerfile .\ndocker push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535.183.06-01-rhel9.2\n
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/rhel9.2_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                                                    1. \u5b89\u88c5 gpu-operator addon
                                                    2. \u8bbe\u7f6e driver.version=535.183.06-01
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html","title":"Ubuntu22.04 \u79bb\u7ebf\u5b89\u88c5 gpu-operator \u9a71\u52a8","text":"

                                                    \u524d\u63d0\u6761\u4ef6\uff1a\u5df2\u5b89\u88c5 gpu-operator v23.9.0+2 \u53ca\u66f4\u9ad8\u7248\u672c

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_1","title":"\u51c6\u5907\u79bb\u7ebf\u955c\u50cf","text":"
                                                    1. \u67e5\u770b\u5185\u6838\u7248\u672c

                                                      $ uname -r\n5.15.0-78-generic\n
                                                    2. \u67e5\u770b\u5185\u6838\u5bf9\u5e94\u7684 GPU Driver \u955c\u50cf\u7248\u672c\uff0c https://catalog.ngc.nvidia.com/orgs/nvidia/containers/driver/tags\u3002 \u4f7f\u7528\u5185\u6838\u67e5\u8be2\u955c\u50cf\u7248\u672c\uff0c\u901a\u8fc7 ctr export \u4fdd\u5b58\u955c\u50cf\u3002

                                                      ctr i pull nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i export --all-platforms driver.tar.gz nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 \n
                                                    3. \u628a\u955c\u50cf\u5bfc\u5165\u5230\u706b\u79cd\u96c6\u7fa4\u7684\u955c\u50cf\u4ed3\u5e93\u4e2d

                                                      ctr i import driver.tar.gz\nctr i tag nvcr.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04\nctr i push {\u706b\u79cdregistry}/nvcr.m.daocloud.io/nvidia/driver:535-5.15.0-78-generic-ubuntu22.04 --skip-verify=true\n
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/ubuntu22.04_offline_install_driver.html#_2","title":"\u5b89\u88c5\u9a71\u52a8","text":"
                                                    1. \u5b89\u88c5 gpu-operator addon
                                                    2. \u82e5\u4f7f\u7528\u9884\u7f16\u8bd1\u6a21\u5f0f\uff0c\u5219\u8bbe\u7f6e driver.usePrecompiled=true,\u5e76\u8bbe\u7f6e driver.version=535\uff0c\u8fd9\u91cc\u8981\u6ce8\u610f\uff0c\u5199\u7684\u662f 535\uff0c\u4e0d\u662f 535.104.12\u3002\uff08\u975e\u9884\u7f16\u8bd1\u6a21\u5f0f\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u5b89\u88c5\u5373\u53ef\uff09
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html","title":"\u6784\u5efa CentOS 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                                                    \u5f53\u5de5\u4f5c\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u4e0e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u5185\u6838\u7248\u672c\u6216 OS \u7c7b\u578b\u4e0d\u4e00\u81f4\u65f6\uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                                                    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa\u79bb\u7ebf yum \u6e90\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                                                    2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                                                    3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                                    \u672c\u6587\u4ee5\u5185\u6838\u7248\u672c\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684 CentOS 7.9 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u6784\u5efa GPU operator \u79bb\u7ebf\u5305\u7684 yum \u6e90\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#os","title":"\u68c0\u67e5\u96c6\u7fa4\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c","text":"

                                                    \u5206\u522b\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u548c\u5185\u6838\u7248\u672c\u4e00\u81f4\u5219\u65e0\u9700\u6784\u5efa yum \u6e90\uff0c \u53ef\u53c2\u8003\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u6587\u6863\u76f4\u63a5\u5b89\u88c5\uff1b\u82e5\u4e24\u4e2a\u8282\u70b9\u7684 OS \u6216\u5185\u6838\u7248\u672c\u4e0d\u4e00\u81f4\uff0c\u8bf7\u6267\u884c\u4e0b\u4e00\u6b65\u3002

                                                    1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u53d1\u884c\u7248\u540d\u79f0\u548c\u7248\u672c\u53f7\u3002

                                                      cat /etc/redhat-release\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      CentOS Linux release 7.9 (Core)\n

                                                      \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c CentOS 7.9 \u3002

                                                    2. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u96c6\u7fa4\u4e0b\u5f85\u90e8\u7f72 GPU Operator \u8282\u70b9\u7684\u5185\u6838\u7248\u672c\u3002

                                                      uname -a\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      Linux localhost.localdomain 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux\n

                                                      \u8f93\u51fa\u7ed3\u679c\u4e3a\u5f53\u524d\u8282\u70b9\u5185\u6838\u7248\u672c 3.10.0-1160.el7.x86_64\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum","title":"\u5236\u4f5c\u79bb\u7ebf yum \u6e90","text":"

                                                    \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                                                    1. \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a yum.sh \u7684\u811a\u672c\u6587\u4ef6\u3002

                                                      vi yum.sh\n

                                                      \u7136\u540e\u6309\u4e0b i \u952e\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\uff0c\u8f93\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a

                                                      export TARGET_KERNEL_VERSION=$1\n\ncat >> run.sh << \\EOF\n#! /bin/bash\necho \"start install kernel repo\"\necho ${KERNEL_VERSION}\nmkdir centos-base\n\nif [ \"$OS\" -eq 7 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el7.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el7.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelif [ \"$OS\" -eq 8 ]; then\n    yum install --downloadonly --downloaddir=./centos-base perl\n    yum install --downloadonly --downloaddir=./centos-base elfutils-libelf.x86_64\n    yum install --downloadonly --downloaddir=./redhat-base elfutils-libelf-devel.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-headers-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-devel-${KERNEL_VERSION}.el8.x86_64\n    yum install --downloadonly --downloaddir=./centos-base kernel-${KERNEL_VERSION}.el8.x86_64\n    yum install  -y --downloadonly --downloaddir=./centos-base groff-base\nelse\n    echo \"Error os version\"\nfi\n\ncreaterepo centos-base/\nls -lh centos-base/\ntar -zcf centos-base.tar.gz centos-base/\necho \"end install kernel repo\"\nEOF\n\ncat >> Dockerfile << EOF\nFROM centos:7\nENV KERNEL_VERSION=\"\"\nENV OS=7\nRUN yum install -y createrepo\nCOPY run.sh .\nENTRYPOINT [\"/bin/bash\",\"run.sh\"]\nEOF\n\ndocker build -t test:v1 -f Dockerfile .\ndocker run -e KERNEL_VERSION=$TARGET_KERNEL_VERSION --name centos7.9 test:v1\ndocker cp centos7.9:/centos-base.tar.gz .\ntar -xzf centos-base.tar.gz\n

                                                      \u6309\u4e0b esc \u952e\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\uff0c\u7136\u540e\u8f93\u5165 __ :wq__ \u4fdd\u5b58\u5e76\u9000\u51fa\u3002

                                                    2. \u8fd0\u884c yum.sh \u6587\u4ef6\uff1a

                                                      bash -x yum.sh TARGET_KERNEL_VERSION\n

                                                      TARGET_KERNEL_VERSION \u53c2\u6570\u7528\u4e8e\u6307\u5b9a\u96c6\u7fa4\u8282\u70b9\u7684\u5185\u6838\u7248\u672c\uff0c\u6ce8\u610f\uff1a\u53d1\u884c\u7248\u6807\u8bc6\u7b26\uff08\u5982 __ .el7.x86_64 __ \uff09\u65e0\u9700\u8f93\u5165\u3002 \u4f8b\u5982\uff1a

                                                      bash -x yum.sh 3.10.0-1160.95.1\n

                                                    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 3.10.0-1160.95.1.el7.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a centos-base \u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_1","title":"\u4e0a\u4f20\u79bb\u7ebf yum \u6e90\u5230\u6587\u4ef6\u670d\u52a1\u5668","text":"

                                                    \u5728\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002\u4e3b\u8981\u7528\u4e8e\u5c06\u4e0a\u4e00\u6b65\u4e2d\u751f\u6210\u7684 yum \u6e90\u4e0a\u4f20\u5230\u53ef\u4ee5\u88ab\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8fdb\u884c\u8bbf\u95ee\u7684\u6587\u4ef6\u670d\u52a1\u5668\u4e2d\u3002 \u6587\u4ef6\u670d\u52a1\u5668\u53ef\u4ee5\u4e3a Nginx \u3001 Minio \u6216\u5176\u5b83\u652f\u6301 Http \u534f\u8bae\u7684\u6587\u4ef6\u670d\u52a1\u5668\u3002

                                                    \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0cMinio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                                                    • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                                                    • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                                                    • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                                                    • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                                                      mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      Added `minio` successfully.\n

                                                      mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                                                    • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a centos-base \u7684\u5b58\u50a8\u6876\uff08bucket\uff09\u3002

                                                      mc mb -p minio/centos-base\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      Bucket created successfully __minio/centos-base__ .\n
                                                    • \u5c06\u5b58\u50a8\u6876 centos-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                                                      mc anonymous set download minio/centos-base\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      Access permission for `minio/centos-base` is set to `download` \n
                                                    • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 centos-base \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/centos-base \u5b58\u50a8\u6876\u4e2d\u3002

                                                      mc cp centos-base minio/centos-base --recursive\n
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_centos7_9.html#yum_2","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                                                    \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                                                    1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                                                      # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base #\u6b65\u9aa4\u4e09\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                                                    2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                                                      kubectl create configmap local-repo-config  -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      configmap/local-repo-config created\n

                                                      local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                                                    3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                                                      kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      apiVersion: v1\ndata:\nCentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base#\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n    = http://10.6.232.5:32618/centos-base #\u6b65\u9aa4\u4e8c\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84\\ngpgcheck = 0\\nname\n    = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\ncreationTimestamp: \"2023-10-18T01:59:02Z\"\nname: local-repo-config\nnamespace: gpu-operator\nresourceVersion: \"59445080\"\nuid: c5f0ebab-046f-442c-b932-f9003e014387\n

                                                    \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html","title":"\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90","text":"

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                                                    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    1. \u7528\u6237\u5df2\u7ecf\u5728\u5e73\u53f0\u4e0a\u5b89\u88c5\u4e86 v0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u7684 addon \u79bb\u7ebf\u5305\u3002
                                                    2. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 8.4\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4\u3002
                                                    3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u548c\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u80fd\u591f\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio\u3002
                                                    4. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c\u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5\u3002
                                                    5. \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 8.4 4.18.0-305.el8.x86_64\u3002
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                                    \u672c\u6587\u4ee5 Red Hat 8.4 4.18.0-305.el8.x86_64 \u8282\u70b9\u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 8.4 \u79bb\u7ebf yum \u6e90\u5305\uff0c \u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\uff0c\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum","title":"\u4e0b\u8f7d\u706b\u79cd\u8282\u70b9\u4e2d\u7684 yum \u6e90","text":"

                                                    \u4ee5\u4e0b\u64cd\u4f5c\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                                                    1. \u4f7f\u7528 ssh \u6216\u5176\u5b83\u65b9\u5f0f\u8fdb\u5165\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5185\u4efb\u4e00\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1a

                                                      cat /etc/yum.repos.d/extension.repo #\u67e5\u770b extension.repo \u4e2d\u7684\u5185\u5bb9\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      [extension-0]\nbaseurl = http://10.5.14.200:9000/kubean/redhat/$releasever/os/$basearch\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/AppStream\ngpgcheck = 0\nname = kubean extension 1\n\n[extension-2]\nbaseurl = http://10.5.14.200:9000/kubean/redhat-iso/$releasever/os/$basearch/BaseOS\ngpgcheck = 0\nname = kubean extension 2\n
                                                    2. \u5728 root \u8def\u5f84\u4e0b\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base-repo \u7684\u6587\u4ef6\u5939

                                                      mkdir redhat-base-repo\n
                                                    3. \u4e0b\u8f7d yum \u6e90\u4e2d\u7684 rpm \u5305\u5230\u672c\u5730\uff1a

                                                      yum install yum-utils\n
                                                    4. \u4e0b\u8f7d extension-1 \u4e2d\u7684 rpm \u5305\uff1a

                                                      reposync  -p redhat-base-repo  -n --repoid=extension-1\n
                                                    5. \u4e0b\u8f7d extension-2 \u4e2d\u7684 rpm \u5305\uff1a

                                                      reposync  -p redhat-base-repo  -n --repoid=extension-2\n
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#elfutils-libelf-devel-0187-4el8x86_64rpm","title":"\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305","text":"

                                                    \u4ee5\u4e0b\u64cd\u4f5c\u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u64cd\u4f5c\uff0c\u5728\u64cd\u4f5c\u524d\uff0c\u60a8\u9700\u8981\u4fdd\u8bc1\u8054\u7f51\u8282\u70b9\u548c\u5168\u5c40\u670d\u52a1\u96c6\u7fa4 master \u8282\u70b9\u95f4\u7684\u7f51\u7edc\u8054\u901a\u6027\u3002

                                                    1. \u5728\u8054\u7f51\u8282\u70b9\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u4e0b\u8f7d elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\uff1a

                                                      wget https://rpmfind.net/linux/centos/8-stream/BaseOS/x86_64/os/Packages/elfutils-libelf-devel-0.187-4.el8.x86_64.rpm\n
                                                    2. \u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u5c06 elfutils-libelf-devel-0.187-4.el8.x86_64.rpm \u5305\u4f20\u8f93\u81f3\u6b65\u9aa4\u4e00\u4e2d\u7684\u8282\u70b9\u4e0a\uff1a

                                                      scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm user@ip:~/redhat-base-repo/extension-2/Packages/\n

                                                      \u4f8b\u5982\uff1a

                                                      scp  elfutils-libelf-devel-0.187-4.el8.x86_64.rpm root@10.6.175.10:~/redhat-base-repo/extension-2/Packages/\n
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo","title":"\u751f\u6210\u672c\u5730 yum repo","text":"

                                                    \u4ee5\u4e0b\u64cd\u4f5c\u5728\u6b65\u9aa4\u4e00\u4e2d\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 master \u8282\u70b9\u4e0a\u6267\u884c\u3002

                                                    1. \u8fdb\u5165 yum repo \u76ee\u5f55\uff1a

                                                      cd ~/redhat-base-repo/extension-1/Packages\ncd ~/redhat-base-repo/extension-2/Packages\n
                                                    2. \u751f\u6210\u76ee\u5f55 repo \u7d22\u5f15\uff1a

                                                      yum install createrepo -y  # \u82e5\u5df2\u5b89\u88c5 createrepo \u53ef\u7701\u7565\u6b64\u6b65\u9aa4\ncreaterepo_c ./\n

                                                    \u81f3\u6b64\uff0c\u60a8\u5df2\u7ecf\u751f\u6210\u4e86\u5185\u6838\u4e3a 4.18.0-305.el8.x86_64 \u7684\u79bb\u7ebf\u7684 yum \u6e90\uff1a redhat-base-repo \u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum-repo_1","title":"\u5c06\u672c\u5730\u751f\u6210\u7684 yum repo \u4e0a\u4f20\u81f3\u6587\u4ef6\u670d\u52a1\u5668","text":"

                                                    \u672c\u64cd\u4f5c\u793a\u4f8b\u91c7\u7528\u7684\u662f\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u706b\u79cd\u8282\u70b9\u5185\u7f6e\u7684 Minio \u4f5c\u4e3a\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u7528\u6237\u53ef\u57fa\u4e8e\u81ea\u8eab\u60c5\u51b5\u9009\u62e9\u6587\u4ef6\u670d\u52a1\u5668\u3002Minio \u76f8\u5173\u4fe1\u606f\u5982\u4e0b\uff1a

                                                    • \u8bbf\u95ee\u5730\u5740\uff1a http://10.5.14.200:9000\uff08\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\uff09
                                                    • \u767b\u5f55\u7528\u6237\u540d\uff1arootuser
                                                    • \u767b\u5f55\u5bc6\u7801\uff1arootpass123

                                                    • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5c06\u8282\u70b9\u672c\u5730 mc \u547d\u4ee4\u884c\u5de5\u5177\u548c minio \u670d\u52a1\u5668\u5efa\u7acb\u94fe\u63a5\u3002

                                                      mc config host add minio \u6587\u4ef6\u670d\u52a1\u5668\u8bbf\u95ee\u5730\u5740 \u7528\u6237\u540d \u5bc6\u7801\n

                                                      \u4f8b\u5982\uff1a

                                                      mc config host add minio http://10.5.14.200:9000 rootuser rootpass123\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      Added `minio` successfully.\n

                                                      mc \u547d\u4ee4\u884c\u5de5\u5177\u662f Minio \u6587\u4ef6\u670d\u52a1\u5668\u63d0\u4f9b\u7684\u5ba2\u6237\u7aef\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1a MinIO Client\u3002

                                                    • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a redhat-base \u7684\u5b58\u50a8\u6876(bucket)\u3002

                                                      mc mb -p minio/redhat-base\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      Bucket created successfully `minio/redhat-base`.\n
                                                    • \u5c06\u5b58\u50a8\u6876 redhat-base \u7684\u8bbf\u95ee\u7b56\u7565\u8bbe\u7f6e\u4e3a\u5141\u8bb8\u516c\u5f00\u4e0b\u8f7d\u3002\u4ee5\u4fbf\u5728\u540e\u671f\u5b89\u88c5 GPU-operator \u65f6\u80fd\u591f\u88ab\u8bbf\u95ee\u3002

                                                      mc anonymous set download minio/redhat-base\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      Access permission for `minio/redhat-base` is set to `download` \n
                                                    • \u5728\u8282\u70b9\u5f53\u524d\u8def\u5f84\u4e0b\uff0c\u5c06\u6b65\u9aa4\u4e8c\u751f\u6210\u7684\u79bb\u7ebf yum \u6e90\u6587\u4ef6 redhat-base-repo \u590d\u5236\u5230 minio \u670d\u52a1\u5668\u7684 minio/redhat-base \u5b58\u50a8\u6876\u4e2d\u3002

                                                      mc cp redhat-base-repo minio/redhat-base --recursive\n
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/upgrade_yum_source_redhat8_4.html#yum_1","title":"\u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 yum \u6e90\u4fe1\u606f","text":"

                                                    \u672c\u6b65\u9aa4\u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u64cd\u4f5c\u3002

                                                    1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a redhat.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                                                      # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a redhat.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > redhat.repo << EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/redhat-base/redhat-base-repo/Packages #\u6b65\u9aa4\u4e00\u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                                                    2. \u57fa\u4e8e\u521b\u5efa\u7684 redhat.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                                                      kubectl create configmap local-repo-config  -n gpu-operator --from-file=./redhat.repo \n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      configmap/local-repo-config created\n

                                                      local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                                                    3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                                                      kubectl get configmap local-repo-config  -n gpu-operator -oyaml\n

                                                    \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u901a\u8fc7\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u901a\u8fc7 RepoConfig.ConfigMapName \u53c2\u6570\u6765\u4f7f\u7528\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html","title":"\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90","text":""},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_1","title":"\u4f7f\u7528\u573a\u666f\u4ecb\u7ecd","text":"

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u9884\u7f6e\u4e86 CentOS 7.9\uff0c\u5185\u6838\u4e3a 3.10.0-1160 \u7684 GPU Operator \u79bb\u7ebf\u5305\u3002\u5176\u5b83 OS \u7c7b\u578b\u7684\u8282\u70b9\u6216\u5185\u6838\u9700\u8981\u7528\u6237\u624b\u52a8\u6784\u5efa\u79bb\u7ebf yum \u6e90\u3002

                                                    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u57fa\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4efb\u610f\u8282\u70b9\u6784\u5efa Red Hat 7.9 \u79bb\u7ebf yum \u6e90\u5305\uff0c\u5e76\u5728\u5b89\u88c5 Gpu Operator \u65f6\u4f7f\u7528 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    1. \u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u8282\u70b9 OS \u5fc5\u987b\u4e3a Red Hat 7.9\uff0c\u4e14\u5185\u6838\u7248\u672c\u5b8c\u5168\u4e00\u81f4
                                                    2. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u4e0e\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u7f51\u7edc\u8054\u901a\u7684\u6587\u4ef6\u670d\u52a1\u5668\uff0c\u5982 nginx \u6216 minio
                                                    3. \u51c6\u5907\u4e00\u4e2a\u80fd\u591f\u8bbf\u95ee\u4e92\u8054\u7f51\u3001\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u548c\u6587\u4ef6\u670d\u52a1\u5668\u7684\u8282\u70b9\uff0c \u4e14\u8282\u70b9\u4e0a\u5df2\u7ecf\u5b8c\u6210 Docker \u7684\u5b89\u88c5
                                                    4. \u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u8282\u70b9\u5fc5\u987b\u4e3a Red Hat 7.9
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#1-yum","title":"1. \u6784\u5efa\u76f8\u5173\u5185\u6838\u7248\u672c\u7684\u79bb\u7ebf Yum \u6e90","text":"
                                                    1. \u4e0b\u8f7d rhel7.9 ISO

                                                    2. \u4e0b\u8f7d\u4e0e Kubean \u7248\u672c\u5bf9\u5e94\u7684\u7684 rhel7.9 ospackage

                                                      \u5728 \u5bb9\u5668\u7ba1\u7406 \u7684\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e2d\u627e\u5230 Helm \u5e94\u7528 \uff0c\u641c\u7d22 kubean\uff0c\u53ef\u67e5\u770b kubean \u7684\u7248\u672c\u53f7\u3002

                                                      \u5728 kubean\u7684\u4ee3\u7801\u4ed3\u5e93 \u4e2d\u4e0b\u8f7d\u8be5\u7248\u672c\u7684 rhel7.9 ospackage\u3002

                                                    3. \u901a\u8fc7\u5b89\u88c5\u5668\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90

                                                      \u53c2\u8003\u5bfc\u5165\u79bb\u7ebf\u8d44\u6e90\u6587\u6863\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#2-red-hat-79-os","title":"2. \u4e0b\u8f7d Red Hat 7.9 OS \u7684\u79bb\u7ebf\u9a71\u52a8\u955c\u50cf","text":"

                                                    \u70b9\u51fb\u67e5\u770b\u4e0b\u8f7d\u5730\u5740\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#3-red-hat-gpu-opreator","title":"3. \u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf","text":"

                                                    \u53c2\u8003\u5411\u706b\u79cd\u8282\u70b9\u4ed3\u5e93\u4e0a\u4f20 Red Hat GPU Opreator \u79bb\u7ebf\u955c\u50cf\u3002

                                                    Note

                                                    \u6b64\u53c2\u8003\u4ee5 rhel8.4 \u4e3a\u4f8b\uff0c\u8bf7\u6ce8\u610f\u4fee\u6539\u6210 rhel7.9\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/yum_source_redhat7_9.html#4-yum","title":"4. \u5728\u96c6\u7fa4\u521b\u5efa\u914d\u7f6e\u9879\u7528\u6765\u4fdd\u5b58 Yum \u6e90\u4fe1\u606f","text":"

                                                    \u5728\u5f85\u90e8\u7f72 GPU Operator \u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u4e0a\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002

                                                    1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u521b\u5efa\u540d\u4e3a CentOS-Base.repo \u7684\u6587\u4ef6\uff0c\u7528\u6765\u6307\u5b9a yum \u6e90\u5b58\u50a8\u7684\u914d\u7f6e\u4fe1\u606f\u3002

                                                      # \u6587\u4ef6\u540d\u79f0\u5fc5\u987b\u4e3a CentOS-Base.repo\uff0c\u5426\u5219\u5b89\u88c5 gpu-operator \u65f6\u65e0\u6cd5\u88ab\u8bc6\u522b\ncat > CentOS-Base.repo <<  EOF\n[extension-0]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 0\n\n[extension-1]\nbaseurl = http://10.5.14.200:9000/centos-base/centos-base # \u706b\u79cd\u8282\u70b9\u7684\u7684\u6587\u4ef6\u670d\u52a1\u5668\u5730\u5740\uff0c\u4e00\u822c\u4e3a{\u706b\u79cd\u8282\u70b9 IP} + {9000 \u7aef\u53e3}\ngpgcheck = 0\nname = kubean extension 1\nEOF\n
                                                    2. \u57fa\u4e8e\u521b\u5efa\u7684 CentOS-Base.repo \u6587\u4ef6\uff0c\u5728 gpu-operator \u547d\u540d\u7a7a\u95f4\u4e0b\uff0c\u521b\u5efa\u540d\u4e3a local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\uff1a

                                                      kubectl create configmap local-repo-config -n gpu-operator --from-file=CentOS-Base.repo=/etc/yum.repos.d/extension.repo\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      configmap/local-repo-config created\n

                                                      local-repo-config \u914d\u7f6e\u6587\u4ef6\u7528\u4e8e\u5728\u5b89\u88c5 gpu-operator \u65f6\uff0c\u63d0\u4f9b RepoConfig.ConfigMapName \u53c2\u6570\u7684\u503c\uff0c\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7528\u6237\u53ef\u81ea\u5b9a\u4e49\u3002

                                                    3. \u67e5\u770b local-repo-config \u7684\u914d\u7f6e\u6587\u4ef6\u7684\u5185\u5bb9\uff1a

                                                      kubectl get configmap local-repo-config -n gpu-operator -oyaml\n

                                                      \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a

                                                      local-repo-config.yaml
                                                      apiVersion: v1\ndata:\n  CentOS-Base.repo: \"[extension-0]\\nbaseurl = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname = kubean extension 0\\n  \\n[extension-1]\\nbaseurl\n  = http://10.6.232.5:32618/centos-base # \u6b65\u9aa4 2 \u4e2d\uff0c\u653e\u7f6e yum \u6e90\u7684\u6587\u4ef6\u670d\u52a1\u5668\u8def\u5f84 \\ngpgcheck = 0\\nname\n  = kubean extension 1\\n\"\nkind: ConfigMap\nmetadata:\n  creationTimestamp: \"2023-10-18T01:59:02Z\"\n  name: local-repo-config\n  namespace: gpu-operator\n  resourceVersion: \"59445080\"\n  uid: c5f0ebab-046f-442c-b932-f9003e014387\n

                                                    \u81f3\u6b64\uff0c\u60a8\u5df2\u6210\u529f\u4e3a\u5f85\u90e8\u7f72 GPU Operator \u7684\u96c6\u7fa4\u521b\u5efa\u4e86\u79bb\u7ebf yum \u6e90\u914d\u7f6e\u6587\u4ef6\u3002 \u5176\u4e2d\u5728\u79bb\u7ebf\u5b89\u88c5 GPU Operator \u65f6\u4f7f\u7528\u4e86 RepoConfig.ConfigMapName \u53c2\u6570\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html","title":"GPU \u544a\u8b66\u89c4\u5219","text":"

                                                    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u8bbe\u7f6e GPU \u76f8\u5173\u7684\u544a\u8b66\u89c4\u5219\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                                    • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5df2\u6b63\u786e\u5b89\u88c5 GPU \u8bbe\u5907
                                                    • \u96c6\u7fa4\u4e2d\u5df2\u6b63\u786e\u5b89\u88c5 gpu-operator \u7ec4\u4ef6
                                                    • \u5982\u679c\u7528\u5230\u4e86 vGPU \u8fd8\u9700\u8981\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5 Nvidia-vgpu \u7ec4\u4ef6\uff0c\u5e76\u4e14\u5f00\u542f servicemonitor
                                                    • \u96c6\u7fa4\u6b63\u786e\u5b89\u88c5\u4e86 insight-agent \u7ec4\u4ef6
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_1","title":"\u544a\u8b66\u5e38\u7528 GPU \u6307\u6807","text":"

                                                    \u672c\u8282\u4ecb\u7ecd GPU \u544a\u8b66\u5e38\u7528\u7684\u6307\u6807\uff0c\u5206\u4e3a\u4e24\u4e2a\u90e8\u5206\uff1a

                                                    • GPU \u5361\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94\u5355\u4e2a GPU \u8bbe\u5907\u7684\u8fd0\u884c\u72b6\u6001\u3002
                                                    • \u5e94\u7528\u7eac\u5ea6\u7684\u6307\u6807\uff0c\u4e3b\u8981\u53cd\u5e94 Pod \u5728 GPU \u4e0a\u7684\u8fd0\u884c\u72b6\u6001\u3002
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#gpu_2","title":"GPU \u5361\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e DCGM_FI_DEV_GPU_UTIL % GPU \u5229\u7528\u7387 DCGM_FI_DEV_MEM_COPY_UTIL % \u663e\u5b58\u5229\u7528\u7387 DCGM_FI_DEV_ENC_UTIL % \u7f16\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_DEC_UTIL % \u89e3\u7801\u5668\u5229\u7528\u7387 DCGM_FI_DEV_FB_FREE MB \u8868\u793a\u663e\u5b58\u5269\u4f59\u91cf DCGM_FI_DEV_FB_USED MB \u8868\u793a\u663e\u5b58\u4f7f\u7528\u91cf DCGM_FI_DEV_GPU_TEMP \u6444\u6c0f\u5ea6 \u8868\u793a\u5f53\u524d GPU \u7684\u6e29\u5ea6\u5ea6\u6570 DCGM_FI_DEV_POWER_USAGE W \u8bbe\u5907\u7535\u6e90\u4f7f\u7528\u60c5\u51b5 DCGM_FI_DEV_XID_ERRORS - \u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\uff0c\u6700\u540e\u53d1\u751f\u7684 XID \u9519\u8bef\u53f7\u3002XID \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\uff0c\u66f4\u591a XID \u4fe1\u606f"},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_2","title":"\u5e94\u7528\u7ef4\u5ea6\u7684\u6307\u6807","text":"\u6307\u6807\u540d\u79f0 \u6307\u6807\u5355\u4f4d \u8bf4\u660e kpanda_gpu_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u7684\u4f7f\u7528\u7387 kpanda_gpu_mem_pod_usage MB \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u91cf kpanda_gpu_mem_pod_utilization % \u8868\u793a Pod \u5bf9 GPU \u663e\u5b58\u7684\u4f7f\u7528\u7387"},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-alarm.html#_3","title":"\u8bbe\u7f6e\u544a\u8b66\u89c4\u5219","text":"

                                                    \u8fd9\u91cc\u4f1a\u4ecb\u7ecd\u5982\u4f55\u8bbe\u7f6e GPU \u544a\u8b66\u89c4\u5219\uff0c\u4f7f\u7528 GPU \u5361\u5229\u7528\u7387\u6307\u6807\u4f5c\u4e3a\u6848\u4f8b\uff0c\u8bf7\u7528\u6237\u6839\u636e\u5b9e\u9645\u7684\u4e1a\u52a1\u573a\u666f\u9009\u62e9\u6307\u6807\u4ee5\u53ca\u7f16\u5199 promql\u3002

                                                    \u76ee\u6807\uff1a\u5f53GPU\u5361\u5229\u7528\u7387\u5728\u4e94\u79d2\u949f\u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\u65f6\u53d1\u51fa\u544a\u8b66

                                                    1. \u5728\u53ef\u89c2\u6d4b\u9875\u9762\uff0c\u70b9\u51fb \u544a\u8b66 -> \u544a\u8b66\u7b56\u7565 -> \u521b\u5efa\u544a\u8b66\u7b56\u7565

                                                    2. \u586b\u5199\u57fa\u672c\u4fe1\u606f

                                                    3. \u6dfb\u52a0\u89c4\u5219

                                                    4. \u9009\u62e9\u901a\u77e5\u65b9\u5f0f

                                                    5. \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5f53\u4e00\u4e2a GPU \u5728 5s \u5185\u4e00\u76f4\u4fdd\u6301 80% \u7684\u5229\u7528\u7387\uff0c\u4f1a\u6536\u5230\u5982\u4e0b\u7684\u544a\u8b66\u4fe1\u606f\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html","title":"GPU \u76d1\u63a7\u6307\u6807","text":"

                                                    \u672c\u9875\u5217\u51fa\u4e00\u4e9b\u5e38\u7528\u7684 GPU \u76d1\u63a7\u6307\u6807\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_1","title":"\u96c6\u7fa4\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u5361\u6570 \u96c6\u7fa4\u4e0b\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u5e73\u5747\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u7b97\u529b\u4f7f\u7528\u7387 GPU \u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u5e26\u5bbd\u4f7f\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u3002\u4ee5 Nvidia GPU V100 \u4e3a\u4f8b\uff0c\u5176\u6700\u5927\u5185\u5b58\u5e26\u5bbd\u4e3a 900 GB/sec\uff0c\u5982\u679c\u5f53\u524d\u7684\u5185\u5b58\u5e26\u5bbd\u4e3a 450 GB/sec\uff0c\u5219\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\u4e3a 50%"},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#_2","title":"\u8282\u70b9\u7ef4\u5ea6","text":"\u6307\u6807\u540d\u79f0 \u63cf\u8ff0 GPU \u6a21\u5f0f \u8282\u70b9\u4e0a GPU \u5361\u7684\u4f7f\u7528\u6a21\u5f0f\uff0c\u5305\u542b\u6574\u5361\u6a21\u5f0f\u3001MIG \u6a21\u5f0f\u3001vGPU \u6a21\u5f0f GPU \u7269\u7406\u5361\u6570 \u8282\u70b9\u4e0a\u6240\u6709\u7684 GPU \u5361\u6570\u91cf GPU \u865a\u62df\u5361\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 vGPU \u8bbe\u5907\u6570\u91cf GPU MIG \u5b9e\u4f8b\u6570 \u8282\u70b9\u4e0a\u5df2\u7ecf\u88ab\u521b\u5efa\u51fa\u6765\u7684 MIG \u5b9e\u4f8b\u6570 GPU \u663e\u5b58\u5206\u914d\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u7387 GPU \u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u7b97\u529b\u5e73\u5747\u4f7f\u7528\u7387 GPU \u663e\u5b58\u5e73\u5747\u4f7f\u7528\u7387 \u8282\u70b9\u4e0a\u6240\u6709 GPU \u5361\u7684\u5e73\u5747\u663e\u5b58\u4f7f\u7528\u7387 GPU \u9a71\u52a8\u7248\u672c \u8282\u70b9\u4e0a GPU \u5361\u9a71\u52a8\u7684\u7248\u672c\u4fe1\u606f GPU \u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387\u7ec6\u8282\uff08\u5305\u542b max\u3001avg\u3001current\uff09 GPU \u663e\u5b58\u4f7f\u7528\u91cf 24 \u5c0f\u65f6\u5185\uff0c\u8282\u70b9\u4e0a\u6bcf\u5f20 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf\u7ec6\u8282\uff08\u5305\u542b min\u3001max\u3001avg\u3001current\uff09

                                                    \u6839\u636e XID \u72b6\u6001\u6392\u67e5 GPU \u76f8\u5173\u95ee\u9898

                                                    XID \u6d88\u606f\u662f NVIDIA \u9a71\u52a8\u7a0b\u5e8f\u5411\u64cd\u4f5c\u7cfb\u7edf\u7684\u5185\u6838\u65e5\u5fd7\u6216\u4e8b\u4ef6\u65e5\u5fd7\u6253\u5370\u7684\u9519\u8bef\u62a5\u544a\u3002XID \u6d88\u606f\u7528\u4e8e\u6807\u8bc6 GPU \u9519\u8bef\u4e8b\u4ef6\uff0c \u63d0\u4f9b GPU \u786c\u4ef6\u3001NVIDIA \u8f6f\u4ef6\u6216\u5e94\u7528\u4e2d\u7684\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u4f4d\u7f6e\u3001\u9519\u8bef\u4ee3\u7801\u7b49\u4fe1\u606f\u3002 \u5982\u68c0\u67e5\u9879 GPU \u8282\u70b9\u4e0a\u7684 XID \u5f02\u5e38\u4e3a\u7a7a\uff0c\u8868\u660e\u65e0 XID \u6d88\u606f\uff1b\u5982\u6709\uff0c\u60a8\u53ef\u6309\u7167\u4e0b\u8868\u81ea\u52a9\u6392\u67e5\u5e76\u89e3\u51b3\u95ee\u9898\uff0c \u6216\u67e5\u770b\u66f4\u591a XID \u6d88\u606f\u3002

                                                    XID \u6d88\u606f \u8bf4\u660e 13 Graphics Engine Exception. \u901a\u5e38\u662f\u6570\u7ec4\u8d8a\u754c\u3001\u6307\u4ee4\u9519\u8bef\uff0c\u5c0f\u6982\u7387\u662f\u786c\u4ef6\u95ee\u9898\u3002 31 GPU memory page fault. \u901a\u5e38\u662f\u5e94\u7528\u7a0b\u5e8f\u7684\u975e\u6cd5\u5730\u5740\u8bbf\u95ee\uff0c\u6781\u5c0f\u6982\u7387\u662f\u9a71\u52a8\u6216\u8005\u786c\u4ef6\u95ee\u9898\u3002 32 Invalid or corrupted push buffer stream. \u4e8b\u4ef6\u7531 PCIE \u603b\u7ebf\u4e0a\u7ba1\u7406 NVIDIA \u9a71\u52a8\u548c GPU \u4e4b\u95f4\u901a\u4fe1\u7684 DMA \u63a7\u5236\u5668\u4e0a\u62a5\uff0c\u901a\u5e38\u662f PCI \u8d28\u91cf\u95ee\u9898\u5bfc\u81f4\uff0c\u800c\u975e\u60a8\u7684\u7a0b\u5e8f\u4ea7\u751f\u3002 38 Driver firmware error. \u901a\u5e38\u662f\u9a71\u52a8\u56fa\u4ef6\u9519\u8bef\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 43 GPU stopped processing. \u901a\u5e38\u662f\u60a8\u5e94\u7528\u81ea\u8eab\u9519\u8bef\uff0c\u800c\u975e\u786c\u4ef6\u95ee\u9898\u3002 45 Preemptive cleanup, due to previous errors -- Most likely to see when running multiple cuda applications and hitting a DBE. \u901a\u5e38\u662f\u60a8\u624b\u52a8\u9000\u51fa\u6216\u8005\u5176\u4ed6\u6545\u969c\uff08\u786c\u4ef6\u3001\u8d44\u6e90\u9650\u5236\u7b49\uff09\u5bfc\u81f4\u7684 GPU \u5e94\u7528\u9000\u51fa\uff0cXID 45 \u53ea\u63d0\u4f9b\u4e00\u4e2a\u7ed3\u679c\uff0c\u5177\u4f53\u539f\u56e0\u901a\u5e38\u9700\u8981\u8fdb\u4e00\u6b65\u5206\u6790\u65e5\u5fd7\u3002 48 Double Bit ECC Error (DBE). \u5f53 GPU \u53d1\u751f\u4e0d\u53ef\u7ea0\u6b63\u7684\u9519\u8bef\u65f6\uff0c\u4f1a\u4e0a\u62a5\u6b64\u4e8b\u4ef6\uff0c\u8be5\u9519\u8bef\u4e5f\u4f1a\u540c\u65f6\u53cd\u9988\u7ed9\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u901a\u5e38\u9700\u8981\u91cd\u7f6e GPU \u6216\u91cd\u542f\u8282\u70b9\u6765\u6e05\u9664\u8fd9\u4e2a\u9519\u8bef\u3002 61 Internal micro-controller breakpoint/warning. GPU \u5185\u90e8\u5f15\u64ce\u505c\u6b62\u5de5\u4f5c\uff0c\u60a8\u7684\u4e1a\u52a1\u5df2\u7ecf\u53d7\u5230\u5f71\u54cd\u3002 62 Internal micro-controller halt. \u4e0e XID 61 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002 63 ECC page retirement or row remapping recording event. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u663e\u5b58\u786c\u4ef6\u9519\u8bef\u65f6\uff0cNVIDIA \u81ea\u7ea0\u9519\u673a\u5236\u4f1a\u5c06\u9519\u8bef\u7684\u5185\u5b58\u533a\u57df retire \u6216\u8005 remap\uff0cretirement \u548c remapped \u4fe1\u606f\u9700\u8bb0\u5f55\u5230 infoROM \u4e2d\u624d\u80fd\u6c38\u4e45\u751f\u6548\u3002Volt \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 ECC page retirement \u4e8b\u4ef6\u5230 infoROM\u3002Ampere \u67b6\u6784\uff1a\u6210\u529f\u8bb0\u5f55 row remapping \u4e8b\u4ef6\u5230 infoROM\u3002 64 ECC page retirement or row remapper recording failure. \u4e0e XID 63 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 63 \u4ee3\u8868 retirement \u548c remapped \u4fe1\u606f\u6210\u529f\u8bb0\u5f55\u5230\u4e86 infoROM\uff0cXID 64 \u4ee3\u8868\u8be5\u8bb0\u5f55\u64cd\u4f5c\u5931\u8d25\u3002 68 NVDEC0 Exception. \u901a\u5e38\u662f\u786c\u4ef6\u6216\u9a71\u52a8\u95ee\u9898\u3002 74 NVLINK Error. NVLink \u786c\u4ef6\u9519\u8bef\u4ea7\u751f\u7684 XID\uff0c\u8868\u660e GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 79 GPU has fallen off the bus. GPU \u786c\u4ef6\u68c0\u6d4b\u5230\u6389\u5361\uff0c\u603b\u7ebf\u4e0a\u65e0\u6cd5\u68c0\u6d4b\u8be5 GPU\uff0c\u8868\u660e\u8be5 GPU \u5df2\u7ecf\u51fa\u73b0\u4e25\u91cd\u786c\u4ef6\u6545\u969c\uff0c\u9700\u8981\u4e0b\u7ebf\u7ef4\u4fee\u3002 92 High single-bit ECC error rate. \u786c\u4ef6\u6216\u9a71\u52a8\u6545\u969c\u3002 94 Contained ECC error. \u5f53\u5e94\u7528\u7a0b\u5e8f\u906d\u9047\u5230 GPU \u4e0d\u53ef\u7ea0\u6b63\u7684\u663e\u5b58 ECC \u9519\u8bef\u65f6\uff0cNVIDIA \u9519\u8bef\u6291\u5236\u673a\u5236\u4f1a\u5c1d\u8bd5\u5c06\u9519\u8bef\u6291\u5236\u5728\u53d1\u751f\u786c\u4ef6\u6545\u969c\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u907f\u514d\u8be5\u9519\u8bef\u5f71\u54cd GPU \u8282\u70b9\u4e0a\u8fd0\u884c\u7684\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002\u5f53\u6291\u5236\u673a\u5236\u6210\u529f\u6291\u5236\u9519\u8bef\u65f6\uff0c\u4f1a\u4ea7\u751f\u8be5\u4e8b\u4ef6\uff0c\u4ec5\u51fa\u73b0\u4e0d\u53ef\u7ea0\u6b63 ECC \u9519\u8bef\u7684\u5e94\u7528\u7a0b\u5e8f\u53d7\u5230\u5f71\u54cd\u3002 95 Uncontained ECC error. \u4e0e XID 94 \u7684\u89e6\u53d1\u573a\u666f\u7c7b\u4f3c\u3002\u4f46 XID 94 \u4ee3\u8868\u6291\u5236\u6210\u529f\uff0c\u800c XID 95 \u4ee3\u8868\u6291\u5236\u5931\u8d25\uff0c\u8868\u660e\u8fd0\u884c\u5728\u8be5 GPU \u4e0a\u7684\u6240\u6709\u5e94\u7528\u7a0b\u5e8f\u90fd\u5df2\u53d7\u5230\u5f71\u54cd\u3002"},{"location":"end-user/kpanda/gpu/nvidia/gpu-monitoring-alarm/gpu-metrics.html#pod","title":"Pod \u7ef4\u5ea6","text":"\u5206\u7c7b \u6307\u6807\u540d\u79f0 \u63cf\u8ff0 \u5e94\u7528\u6982\u89c8 GPU \u5361 - \u7b97\u529b & \u663e\u5b58 Pod GPU \u7b97\u529b\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u7b97\u529b\u4f7f\u7528\u7387 Pod GPU \u663e\u5b58\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u7387 Pod \u663e\u5b58\u4f7f\u7528\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u4f7f\u7528\u91cf \u663e\u5b58\u5206\u914d\u91cf \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u5206\u914d\u91cf Pod GPU \u663e\u5b58\u590d\u5236\u4f7f\u7528\u7387 \u5f53\u524d Pod \u6240\u4f7f\u7528\u5230\u7684 GPU \u5361\u7684\u663e\u5b58\u663e\u5b58\u590d\u5236\u6bd4\u7387 GPU \u5361 - \u5f15\u64ce\u6982\u89c8 GPU \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8\u767e\u5206\u6bd4 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cGraphics \u6216 Compute \u5f15\u64ce\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u8868\u793a\u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387\uff08Memory BW Utilization\uff09\u5c06\u6570\u636e\u53d1\u9001\u5230\u8bbe\u5907\u5185\u5b58\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8f83\u9ad8\u7684\u503c\u8868\u793a\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8f83\u9ad8\u3002\u8be5\u503c\u4e3a 1\uff08100%\uff09\u8868\u793a\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u5047\u8bbe\u8be5\u503c\u4e3a 0.2\uff0820%\uff09\uff0c\u8868\u793a 20% \u7684\u5468\u671f\u5728\u65f6\u95f4\u95f4\u9694\u5185\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 Tensor \u6838\u5fc3\u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cTensor Core \u7ba1\u9053\uff08Pipe\uff09\u5904\u4e8e Active \u65f6\u95f4\u5360\u603b\u65f6\u95f4\u7684\u6bd4\u4f8b FP16 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP16 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP32 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP32 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b FP64 \u5f15\u64ce\u4f7f\u7528\u7387 \u8868\u793a\u5728\u4e00\u4e2a\u76d1\u63a7\u5468\u671f\u5185\uff0cFP64 \u7ba1\u9053\u5904\u4e8e Active \u7684\u65f6\u95f4\u5360\u603b\u7684\u65f6\u95f4\u7684\u6bd4\u4f8b GPU \u89e3\u7801\u4f7f\u7528\u7387 GPU \u5361\u89e3\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u7f16\u7801\u4f7f\u7528\u7387 GPU \u5361\u7f16\u7801\u5f15\u64ce\u6bd4\u7387 GPU \u5361 - \u6e29\u5ea6 & \u529f\u8017 GPU \u5361\u6e29\u5ea6 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u6e29\u5ea6 GPU \u5361\u529f\u7387 \u96c6\u7fa4\u4e0b\u6240\u6709 GPU \u5361\u7684\u529f\u7387 GPU \u5361 - \u603b\u8017\u80fd GPU \u5361\u603b\u5171\u6d88\u8017\u7684\u80fd\u91cf GPU \u5361 - Clock GPU \u5361\u5185\u5b58\u9891\u7387 \u5185\u5b58\u9891\u7387 GPU \u5361\u5e94\u7528SM \u65f6\u949f\u9891\u7387 \u5e94\u7528\u7684 SM \u65f6\u949f\u9891\u7387 GPU \u5361\u5e94\u7528\u5185\u5b58\u9891\u7387 \u5e94\u7528\u5185\u5b58\u9891\u7387 GPU \u5361\u89c6\u9891\u5f15\u64ce\u9891\u7387 \u89c6\u9891\u5f15\u64ce\u9891\u7387 GPU \u5361\u964d\u9891\u539f\u56e0 \u964d\u9891\u539f\u56e0 GPU \u5361 - \u5176\u4ed6\u7ec6\u8282 \u56fe\u5f62\u5f15\u64ce\u6d3b\u52a8 \u56fe\u5f62\u6216\u8ba1\u7b97\u5f15\u64ce\u7684\u4efb\u4f55\u90e8\u5206\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\u3002\u5982\u679c\u56fe\u5f62/\u8ba1\u7b97\u4e0a\u4e0b\u6587\u5df2\u7ed1\u5b9a\u4e14\u56fe\u5f62/\u8ba1\u7b97\u7ba1\u9053\u7e41\u5fd9\uff0c\u5219\u56fe\u5f62\u5f15\u64ce\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002 SM\u6d3b\u52a8 \u591a\u5904\u7406\u5668\u4e0a\u81f3\u5c11\u4e00\u4e2a Warp \u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u6bd4\u4f8b\uff0c\u6240\u6709\u591a\u5904\u7406\u5668\u7684\u5e73\u5747\u503c\u3002\u8bf7\u6ce8\u610f\uff0c\u201c\u6d3b\u52a8\u201d\u5e76\u4e0d\u4e00\u5b9a\u610f\u5473\u7740 Warp \u6b63\u5728\u79ef\u6781\u8ba1\u7b97\u3002\u4f8b\u5982\uff0c\u7b49\u5f85\u5185\u5b58\u8bf7\u6c42\u7684 Warp \u88ab\u89c6\u4e3a\u6d3b\u52a8\u72b6\u6001\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u30020.8 \u6216\u66f4\u5927\u7684\u503c\u662f\u6709\u6548\u4f7f\u7528 GPU \u7684\u5fc5\u8981\u6761\u4ef6\uff0c\u4f46\u8fd8\u4e0d\u591f\u3002\u5c0f\u4e8e 0.5 \u7684\u503c\u53ef\u80fd\u8868\u793a GPU \u4f7f\u7528\u6548\u7387\u4f4e\u4e0b\u3002\u7ed9\u51fa\u4e00\u4e2a\u7b80\u5316\u7684 GPU \u67b6\u6784\u89c6\u56fe\uff0c\u5982\u679c GPU \u6709 N \u4e2a SM\uff0c\u5219\u4f7f\u7528 N \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 1\uff08100%\uff09\u3002\u4f7f\u7528 N/5 \u4e2a\u5757\u5e76\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u8fd0\u884c\u7684\u5185\u6838\u5c06\u5bf9\u5e94\u4e8e\u6d3b\u52a8 0.2\uff0820%\uff09\u3002\u4f7f\u7528 N \u4e2a\u5757\u5e76\u8fd0\u884c\u4e94\u5206\u4e4b\u4e00\u65f6\u95f4\u95f4\u9694\u7684\u5185\u6838\uff0c\u5982\u679c SM \u5904\u4e8e\u7a7a\u95f2\u72b6\u6001\uff0c\u5219\u6d3b\u52a8\u4e5f\u5c06\u4e3a 0.2\uff0820%\uff09\u3002\u8be5\u503c\u4e0e\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u65e0\u5173\uff08\u53c2\u89c1DCGM_FI_PROF_SM_OCCUPANCY\uff09\u3002 SM \u5165\u4f4f\u7387 \u591a\u5904\u7406\u5668\u4e0a\u9a7b\u7559 Warp \u7684\u6bd4\u4f8b\uff0c\u76f8\u5bf9\u4e8e\u591a\u5904\u7406\u5668\u4e0a\u652f\u6301\u7684\u6700\u5927\u5e76\u53d1 Warp \u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u8868\u793a GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u5bf9\u4e8e GPU \u5185\u5b58\u5e26\u5bbd\u53d7\u9650\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff08\u53c2\u89c1DCGM_FI_PROF_DRAM_ACTIVE\uff09\uff0c\u5360\u7528\u7387\u8d8a\u9ad8\u8868\u660e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u3002\u4f46\u662f\uff0c\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u662f\u8ba1\u7b97\u53d7\u9650\u7684\uff08\u5373\u4e0d\u53d7 GPU \u5185\u5b58\u5e26\u5bbd\u6216\u5ef6\u8fdf\u9650\u5236\uff09\uff0c\u5219\u5360\u7528\u7387\u8d8a\u9ad8\u5e76\u4e0d\u4e00\u5b9a\u4e0e GPU \u4f7f\u7528\u7387\u8d8a\u9ad8\u76f8\u5173\u3002\u8ba1\u7b97\u5360\u7528\u7387\u5e76\u4e0d\u7b80\u5355\uff0c\u5b83\u53d6\u51b3\u4e8e GPU \u5c5e\u6027\u3001\u6bcf\u4e2a\u5757\u7684\u7ebf\u7a0b\u6570\u3001\u6bcf\u4e2a\u7ebf\u7a0b\u7684\u5bc4\u5b58\u5668\u4ee5\u53ca\u6bcf\u4e2a\u5757\u7684\u5171\u4eab\u5185\u5b58\u7b49\u56e0\u7d20\u3002\u4f7f\u7528CUDA \u5360\u7528\u7387\u8ba1\u7b97\u5668 \u63a2\u7d22\u5404\u79cd\u5360\u7528\u7387\u573a\u666f\u3002 \u5f20\u91cf\u6d3b\u52a8 \u5f20\u91cf (HMMA / IMMA) \u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u5f20\u91cf\u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8 1 (100%) \u76f8\u5f53\u4e8e\u5728\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u53d1\u51fa\u4e00\u4e2a\u5f20\u91cf\u6307\u4ee4\u3002\u6d3b\u52a8 0.2 (20%) \u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u7684\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP64 \u5f15\u64ce\u6d3b\u52a8 FP64\uff08\u53cc\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP64 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185 Volta \u4e0a\u6bcf\u56db\u4e2a\u5468\u671f\u7684\u6bcf\u4e2a SM\u4e0a\u6267\u884c\u4e00\u6761 FP64 \u6307\u4ee4 \u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605 DCGM_FI_PROF_SM_ACTIVE \u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP32 \u5f15\u64ce\u6d3b\u52a8 FMA\uff08FP32\uff08\u5355\u7cbe\u5ea6\uff09\u548c\u6574\u6570\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP32 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP32 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 FP16 \u5f15\u64ce\u6d3b\u52a8 FP16\uff08\u534a\u7cbe\u5ea6\uff09\u7ba1\u9053\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u7684\u5468\u671f\u5206\u6570\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0cFP16 \u6838\u5fc3\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u91cf 1\uff08100%\uff09\u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u9694\u4e00\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6b21 FP16 \u6307\u4ee4\u3002\u6d3b\u52a8\u91cf 0.2\uff0820%\uff09\u53ef\u80fd\u8868\u793a 20% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c100% \u7684 SM \u5728\u6574\u4e2a\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 20%\uff0c100% \u7684 SM \u5728 20% \u7684\u65f6\u95f4\u6bb5\u5185\u5229\u7528\u7387\u4e3a 100%\uff0c\u6216\u8005\u4ecb\u4e8e\u4e24\u8005\u4e4b\u95f4\u7684\u4efb\u4f55\u7ec4\u5408\uff08\u8bf7\u53c2\u9605DCGM_FI_PROF_SM_ACTIVE\u4ee5\u5e2e\u52a9\u6d88\u9664\u8fd9\u4e9b\u53ef\u80fd\u6027\u7684\u6b67\u4e49\uff09\u3002 \u5185\u5b58\u5e26\u5bbd\u5229\u7528\u7387 \u5411\u8bbe\u5907\u5185\u5b58\u53d1\u9001\u6570\u636e\u6216\u4ece\u8bbe\u5907\u5185\u5b58\u63a5\u6536\u6570\u636e\u7684\u5468\u671f\u6bd4\u4f8b\u3002\u8be5\u503c\u8868\u793a\u65f6\u95f4\u95f4\u9694\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u503c\u8d8a\u9ad8\uff0c\u8bbe\u5907\u5185\u5b58\u7684\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u6d3b\u52a8\u7387\u4e3a 1 (100%) \u76f8\u5f53\u4e8e\u6574\u4e2a\u65f6\u95f4\u95f4\u9694\u5185\u6bcf\u4e2a\u5468\u671f\u6267\u884c\u4e00\u6761 DRAM \u6307\u4ee4\uff08\u5b9e\u9645\u4e0a\uff0c\u5cf0\u503c\u7ea6\u4e3a 0.8 (80%) \u662f\u53ef\u5b9e\u73b0\u7684\u6700\u5927\u503c\uff09\u3002\u6d3b\u52a8\u7387\u4e3a 0.2 (20%) \u8868\u793a\u5728\u65f6\u95f4\u95f4\u9694\u5185\u6709 20% \u7684\u5468\u671f\u6b63\u5728\u8bfb\u53d6\u6216\u5199\u5165\u8bbe\u5907\u5185\u5b58\u3002 NVLink \u5e26\u5bbd \u901a\u8fc7 NVLink \u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff08\u4e0d\u5305\u62ec\u534f\u8bae\u6807\u5934\uff09\uff0c\u4ee5\u6bcf\u79d2\u5b57\u8282\u6570\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\uff0c\u6bcf\u4e2a\u94fe\u8def\u6bcf\u4e2a\u65b9\u5411\u7684\u6700\u5927 NVLink Gen2 \u5e26\u5bbd\u4e3a 25 GB/s\u3002 PCIe \u5e26\u5bbd \u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93/\u63a5\u6536\u7684\u6570\u636e\u901f\u7387\uff0c\u5305\u62ec\u534f\u8bae\u6807\u5934\u548c\u6570\u636e\u6709\u6548\u8d1f\u8f7d\uff0c\u4ee5\u5b57\u8282/\u79d2\u4e3a\u5355\u4f4d\u3002\u8be5\u503c\u8868\u793a\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\uff0c\u800c\u4e0d\u662f\u77ac\u65f6\u503c\u3002\u8be5\u901f\u7387\u662f\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u5e73\u5747\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c 1 \u79d2\u5185\u4f20\u8f93\u4e86 1 GB \u7684\u6570\u636e\uff0c\u5219\u65e0\u8bba\u6570\u636e\u662f\u4ee5\u6052\u5b9a\u901f\u7387\u8fd8\u662f\u7a81\u53d1\u901f\u7387\u4f20\u8f93\uff0c\u901f\u7387\u90fd\u662f 1 GB/s\u3002\u7406\u8bba\u4e0a\u6700\u5927 PCIe Gen3 \u5e26\u5bbd\u4e3a\u6bcf\u901a\u9053 985 MB/s\u3002 PCIe \u4f20\u8f93\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u4f20\u8f93\u7684\u6570\u636e\u901f\u7387 PCIe \u63a5\u6536\u901f\u7387 \u8282\u70b9 GPU \u5361\u901a\u8fc7 PCIe \u603b\u7ebf\u63a5\u6536\u7684\u6570\u636e\u901f\u7387"},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html","title":"NVIDIA \u591a\u5b9e\u4f8b GPU(MIG) \u6982\u8ff0","text":""},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#mig","title":"MIG \u573a\u666f","text":"
                                                    • \u591a\u79df\u6237\u4e91\u73af\u5883

                                                      MIG \u5141\u8bb8\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u5c06\u4e00\u5757\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a\u72ec\u7acb\u7684 GPU \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u79df\u6237\u3002\u8fd9\u6837\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u548c\u72ec\u7acb\u6027\uff0c\u6ee1\u8db3\u591a\u4e2a\u79df\u6237\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                                                    • \u5bb9\u5668\u5316\u5e94\u7528\u7a0b\u5e8f

                                                      MIG \u53ef\u4ee5\u5728\u5bb9\u5668\u5316\u73af\u5883\u4e2d\u5b9e\u73b0\u66f4\u7ec6\u7c92\u5ea6\u7684 GPU \u8d44\u6e90\u7ba1\u7406\u3002\u901a\u8fc7\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u53ef\u4ee5\u4e3a\u6bcf\u4e2a\u5bb9\u5668\u5206\u914d\u72ec\u7acb\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff0c\u63d0\u4f9b\u66f4\u597d\u7684\u6027\u80fd\u9694\u79bb\u548c\u8d44\u6e90\u5229\u7528\u3002

                                                    • \u6279\u5904\u7406\u4f5c\u4e1a

                                                      \u5bf9\u4e8e\u9700\u8981\u5927\u89c4\u6a21\u5e76\u884c\u8ba1\u7b97\u7684\u6279\u5904\u7406\u4f5c\u4e1a\uff0cMIG \u53ef\u4ee5\u63d0\u4f9b\u66f4\u9ad8\u7684\u8ba1\u7b97\u6027\u80fd\u548c\u66f4\u5927\u7684\u663e\u5b58\u5bb9\u91cf\u3002\u6bcf\u4e2a MIG \u5b9e\u4f8b\u53ef\u4ee5\u5229\u7528\u7269\u7406 GPU \u7684\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u52a0\u901f\u5927\u89c4\u6a21\u8ba1\u7b97\u4efb\u52a1\u7684\u5904\u7406\u3002

                                                    • AI/\u673a\u5668\u5b66\u4e60\u8bad\u7ec3

                                                      MIG \u53ef\u4ee5\u5728\u8bad\u7ec3\u5927\u89c4\u6a21\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\u65f6\u63d0\u4f9b\u66f4\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u548c\u663e\u5b58\u5bb9\u91cf\u3002\u5c06\u7269\u7406 GPU \u5212\u5206\u4e3a\u591a\u4e2a MIG \u5b9e\u4f8b\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u53ef\u4ee5\u72ec\u7acb\u8fdb\u884c\u6a21\u578b\u8bad\u7ec3\uff0c\u63d0\u9ad8\u8bad\u7ec3\u6548\u7387\u548c\u541e\u5410\u91cf\u3002

                                                    \u603b\u4f53\u800c\u8a00\uff0cNVIDIA MIG \u9002\u7528\u4e8e\u9700\u8981\u66f4\u7ec6\u7c92\u5ea6\u7684GPU\u8d44\u6e90\u5206\u914d\u548c\u7ba1\u7406\u7684\u573a\u666f\uff0c\u53ef\u4ee5\u5b9e\u73b0\u8d44\u6e90\u7684\u9694\u79bb\u3001\u63d0\u9ad8\u6027\u80fd\u5229\u7528\u7387\uff0c\u5e76\u4e14\u6ee1\u8db3\u591a\u4e2a\u7528\u6237\u6216\u5e94\u7528\u7a0b\u5e8f\u5bf9 GPU \u8ba1\u7b97\u80fd\u529b\u7684\u9700\u6c42\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#mig_1","title":"MIG \u6982\u8ff0","text":"

                                                    NVIDIA \u591a\u5b9e\u4f8b GPU\uff08Multi-Instance GPU\uff0c\u7b80\u79f0 MIG\uff09\u662f NVIDIA \u5728 H100\uff0cA100\uff0cA30 \u7cfb\u5217 GPU \u5361\u4e0a\u63a8\u51fa\u7684\u4e00\u9879\u65b0\u7279\u6027\uff0c \u65e8\u5728\u5c06\u4e00\u5757\u7269\u7406 GPU \u5206\u5272\u4e3a\u591a\u4e2a GPU \u5b9e\u4f8b\uff0c\u4ee5\u63d0\u4f9b\u66f4\u7ec6\u7c92\u5ea6\u7684\u8d44\u6e90\u5171\u4eab\u548c\u9694\u79bb\u3002MIG \u6700\u591a\u53ef\u5c06\u4e00\u5757 GPU \u5212\u5206\u6210\u4e03\u4e2a GPU \u5b9e\u4f8b\uff0c \u4f7f\u5f97\u4e00\u4e2a \u7269\u7406 GPU \u5361\u53ef\u4e3a\u591a\u4e2a\u7528\u6237\u63d0\u4f9b\u5355\u72ec\u7684 GPU \u8d44\u6e90\uff0c\u4ee5\u5b9e\u73b0\u6700\u4f73 GPU \u5229\u7528\u7387\u3002

                                                    \u8fd9\u4e2a\u529f\u80fd\u4f7f\u5f97\u591a\u4e2a\u5e94\u7528\u7a0b\u5e8f\u6216\u7528\u6237\u53ef\u4ee5\u540c\u65f6\u5171\u4eabGPU\u8d44\u6e90\uff0c\u63d0\u9ad8\u4e86\u8ba1\u7b97\u8d44\u6e90\u7684\u5229\u7528\u7387\uff0c\u5e76\u589e\u52a0\u4e86\u7cfb\u7edf\u7684\u53ef\u6269\u5c55\u6027\u3002

                                                    \u901a\u8fc7 MIG\uff0c\u6bcf\u4e2a GPU \u5b9e\u4f8b\u7684\u5904\u7406\u5668\u5728\u6574\u4e2a\u5185\u5b58\u7cfb\u7edf\u4e2d\u5177\u6709\u72ec\u7acb\u4e14\u9694\u79bb\u7684\u8def\u5f84\u2014\u2014\u82af\u7247\u4e0a\u7684\u4ea4\u53c9\u5f00\u5173\u7aef\u53e3\u3001L2 \u9ad8\u901f\u7f13\u5b58\u7ec4\u3001\u5185\u5b58\u63a7\u5236\u5668\u548c DRAM \u5730\u5740\u603b\u7ebf\u90fd\u552f\u4e00\u5206\u914d\u7ed9\u5355\u4e2a\u5b9e\u4f8b\u3002

                                                    \u8fd9\u786e\u4fdd\u4e86\u5355\u4e2a\u7528\u6237\u7684\u5de5\u4f5c\u8d1f\u8f7d\u80fd\u591f\u4ee5\u53ef\u9884\u6d4b\u7684\u541e\u5410\u91cf\u548c\u5ef6\u8fdf\u8fd0\u884c\uff0c\u5e76\u5177\u6709\u76f8\u540c\u7684\u4e8c\u7ea7\u7f13\u5b58\u5206\u914d\u548c DRAM \u5e26\u5bbd\u3002 MIG \u53ef\u4ee5\u5212\u5206\u53ef\u7528\u7684 GPU \u8ba1\u7b97\u8d44\u6e90\uff08\u5305\u62ec\u6d41\u591a\u5904\u7406\u5668\u6216 SM \u548c GPU \u5f15\u64ce\uff0c\u5982\u590d\u5236\u5f15\u64ce\u6216\u89e3\u7801\u5668\uff09\u8fdb\u884c\u5206\u533a\uff0c \u4ee5\u4fbf\u4e3a\u4e0d\u540c\u7684\u5ba2\u6237\u7aef\uff08\u5982\u4e91\u4e3b\u673a\u3001\u5bb9\u5668\u6216\u8fdb\u7a0b\uff09\u63d0\u4f9b\u5b9a\u4e49\u7684\u670d\u52a1\u8d28\u91cf\uff08QoS\uff09\u548c\u6545\u969c\u9694\u79bb\uff09\u3002 MIG \u4f7f\u591a\u4e2a GPU \u5b9e\u4f8b\u80fd\u591f\u5728\u5355\u4e2a\u7269\u7406 GPU \u4e0a\u5e76\u884c\u8fd0\u884c\u3002

                                                    MIG \u5141\u8bb8\u591a\u4e2a vGPU\uff08\u4ee5\u53ca\u4e91\u4e3b\u673a\uff09\u5728\u5355\u4e2a GPU \u5b9e\u4f8b\u4e0a\u5e76\u884c\u8fd0\u884c\uff0c\u540c\u65f6\u4fdd\u7559 vGPU \u63d0\u4f9b\u7684\u9694\u79bb\u4fdd\u8bc1\u3002 \u6709\u5173\u4f7f\u7528 vGPU \u548c MIG \u8fdb\u884c GPU \u5206\u533a\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 NVIDIA Multi-Instance GPU and NVIDIA Virtual Compute Server\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#mig_2","title":"MIG \u67b6\u6784","text":"

                                                    \u5982\u4e0b\u662f\u4e00\u4e2a MIG \u7684\u6982\u8ff0\u56fe\uff0c\u53ef\u4ee5\u770b\u51fa MIG \u5c06\u4e00\u5f20\u7269\u7406 GPU \u5361\u865a\u62df\u5316\u6210\u4e86 7 \u4e2a GPU \u5b9e\u4f8b\uff0c\u8fd9\u4e9b GPU \u5b9e\u4f8b\u80fd\u591f\u53ef\u4ee5\u88ab\u591a\u4e2a User \u4f7f\u7528\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#_1","title":"\u91cd\u8981\u6982\u5ff5","text":"
                                                    • SM \uff1a\u6d41\u5f0f\u591a\u5904\u7406\u5668\uff08Streaming Multiprocessor\uff09\uff0cGPU \u7684\u6838\u5fc3\u8ba1\u7b97\u5355\u5143\uff0c\u8d1f\u8d23\u6267\u884c\u56fe\u5f62\u6e32\u67d3\u548c\u901a\u7528\u8ba1\u7b97\u4efb\u52a1\u3002 \u6bcf\u4e2a SM \u5305\u542b\u4e00\u7ec4 CUDA \u6838\u5fc3\uff0c\u4ee5\u53ca\u5171\u4eab\u5185\u5b58\u3001\u5bc4\u5b58\u5668\u6587\u4ef6\u548c\u5176\u4ed6\u8d44\u6e90\uff0c\u53ef\u4ee5\u540c\u65f6\u6267\u884c\u591a\u4e2a\u7ebf\u7a0b\u3002 \u6bcf\u4e2a MIG \u5b9e\u4f8b\u90fd\u62e5\u6709\u4e00\u5b9a\u6570\u91cf\u7684 SM \u548c\u5176\u4ed6\u76f8\u5173\u8d44\u6e90\uff0c\u4ee5\u53ca\u88ab\u5212\u5206\u51fa\u6765\u7684\u663e\u5b58\u3002
                                                    • GPU Memory Slice \uff1aGPU \u5185\u5b58\u5207\u7247\uff0cGPU \u5185\u5b58\u5207\u7247\u662f GPU \u5185\u5b58\u7684\u6700\u5c0f\u90e8\u5206\uff0c\u5305\u62ec\u76f8\u5e94\u7684\u5185\u5b58\u63a7\u5236\u5668\u548c\u7f13\u5b58\u3002 GPU \u5185\u5b58\u5207\u7247\u5927\u7ea6\u662f GPU \u5185\u5b58\u8d44\u6e90\u603b\u91cf\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u5305\u62ec\u5bb9\u91cf\u548c\u5e26\u5bbd\u3002
                                                    • GPU SM Slice \uff1aGPU SM \u5207\u7247\u662f GPU \u4e0a SM \u7684\u6700\u5c0f\u8ba1\u7b97\u5355\u4f4d\u3002\u5728 MIG \u6a21\u5f0f\u4e0b\u914d\u7f6e\u65f6\uff0c GPU SM \u5207\u7247\u5927\u7ea6\u662f GPU \u4e2d\u53ef\u7528 SMS \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                                                    • GPU Slice \uff1aGPU \u5207\u7247\u662f GPU \u4e2d\u7531\u5355\u4e2a GPU \u5185\u5b58\u5207\u7247\u548c\u5355\u4e2a GPU SM \u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u7684\u6700\u5c0f\u90e8\u5206\u3002
                                                    • GPU Instance \uff1aGPU \u5b9e\u4f8b \uff08GI\uff09 \u662f GPU \u5207\u7247\u548c GPU \u5f15\u64ce\uff08DMA\u3001NVDEC \u7b49\uff09\u7684\u7ec4\u5408\u3002 GPU \u5b9e\u4f8b\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\u59cb\u7ec8\u5171\u4eab\u6240\u6709 GPU \u5185\u5b58\u5207\u7247\u548c\u5176\u4ed6 GPU \u5f15\u64ce\uff0c\u4f46\u5b83\u7684 SM \u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\u3002 GPU \u5b9e\u4f8b\u63d0\u4f9b\u5185\u5b58 QoS\u3002\u6bcf\u4e2a GPU \u5207\u7247\u90fd\u5305\u542b\u4e13\u7528\u7684 GPU \u5185\u5b58\u8d44\u6e90\uff0c\u8fd9\u4e9b\u8d44\u6e90\u4f1a\u9650\u5236\u53ef\u7528\u5bb9\u91cf\u548c\u5e26\u5bbd\uff0c\u5e76\u63d0\u4f9b\u5185\u5b58 QoS\u3002 \u6bcf\u4e2a GPU \u5185\u5b58\u5207\u7247\u83b7\u5f97\u603b GPU \u5185\u5b58\u8d44\u6e90\u7684\u516b\u5206\u4e4b\u4e00\uff0c\u6bcf\u4e2a GPU SM \u5207\u7247\u83b7\u5f97 SM \u603b\u6570\u7684\u4e03\u5206\u4e4b\u4e00\u3002
                                                    • Compute Instance \uff1aGPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b \uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c\u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#gpu-gi","title":"GPU \u5b9e\u4f8b\uff08GI\uff09","text":"

                                                    \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728 GPU \u4e0a\u521b\u5efa\u5404\u79cd\u5206\u533a\u3002\u5c06\u4f7f\u7528 A100-40GB \u4f5c\u4e3a\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u5bf9\u5355\u4e2a GPU \u7269\u7406\u5361\u4e0a\u8fdb\u884c\u5206\u533a\u3002

                                                    GPU \u7684\u5206\u533a\u662f\u4f7f\u7528\u5185\u5b58\u5207\u7247\u8fdb\u884c\u7684\uff0c\u56e0\u6b64\u53ef\u4ee5\u8ba4\u4e3a A100-40GB GPU \u5177\u6709 8x5GB \u5185\u5b58\u5207\u7247\u548c 7 \u4e2a GPU SM \u5207\u7247\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5c55\u793a\u4e86 A100 \u4e0a\u53ef\u7528\u7684\u5185\u5b58\u5207\u7247\u3002

                                                    \u5982\u4e0a\u6240\u8ff0\uff0c\u521b\u5efa GPU \u5b9e\u4f8b \uff08GI\uff09 \u9700\u8981\u5c06\u4e00\u5b9a\u6570\u91cf\u7684\u5185\u5b58\u5207\u7247\u4e0e\u4e00\u5b9a\u6570\u91cf\u7684\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\u3002 \u5728\u4e0b\u56fe\u4e2d\uff0c\u4e00\u4e2a 5GB \u5185\u5b58\u5207\u7247\u4e0e 1 \u4e2a\u8ba1\u7b97\u5207\u7247\u76f8\u7ed3\u5408\uff0c\u4ee5\u521b\u5efa 1g.5gb GI \u914d\u7f6e\u6587\u4ef6\uff1a

                                                    \u540c\u6837\uff0c4x5GB \u5185\u5b58\u5207\u7247\u53ef\u4ee5\u4e0e 4x1 \u8ba1\u7b97\u5207\u7247\u7ed3\u5408\u4f7f\u7528\u4ee5\u521b\u5efa 4g.20gb \u7684 GI \u914d\u7f6e\u6587\u4ef6\uff1a

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/index.html#ci","title":"\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09","text":"

                                                    GPU \u5b9e\u4f8b\u7684\u8ba1\u7b97\u5207\u7247(GI)\u53ef\u4ee5\u8fdb\u4e00\u6b65\u7ec6\u5206\u4e3a\u591a\u4e2a\u8ba1\u7b97\u5b9e\u4f8b\uff08CI\uff09\uff0c\u5176\u4e2d CI \u5171\u4eab\u7236 GI \u7684\u5f15\u64ce\u548c\u5185\u5b58\uff0c \u4f46\u6bcf\u4e2a CI \u90fd\u6709\u4e13\u7528\u7684 SM \u8d44\u6e90\u3002\u4f7f\u7528\u4e0a\u9762\u7684\u76f8\u540c 4g.20gb \u793a\u4f8b\uff0c\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2a CI \u4ee5\u4ec5\u4f7f\u7528\u7b2c\u4e00\u4e2a\u8ba1\u7b97\u5207\u7247\u7684 1c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\uff0c\u5982\u4e0b\u56fe\u84dd\u8272\u90e8\u5206\u6240\u793a\uff1a

                                                    \u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u901a\u8fc7\u9009\u62e9\u4efb\u4f55\u8ba1\u7b97\u5207\u7247\u6765\u521b\u5efa 4 \u4e2a\u4e0d\u540c\u7684 CI\u3002\u8fd8\u53ef\u4ee5\u5c06\u4e24\u4e2a\u8ba1\u7b97\u5207\u7247\u7ec4\u5408\u5728\u4e00\u8d77\u4ee5\u521b\u5efa 2c.4g.20gb \u7684\u8ba1\u7b97\u914d\u7f6e\uff09\uff1a

                                                    \u9664\u6b64\u4e4b\u5916\uff0c\u8fd8\u53ef\u4ee5\u7ec4\u5408 3 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa\u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\uff0c\u6216\u8005\u53ef\u4ee5\u7ec4\u5408\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u4ee5\u521b\u5efa 3c.4g.20gb \u3001 4c.4g.20gb \u8ba1\u7b97\u914d\u7f6e\u6587\u4ef6\u3002 \u5408\u5e76\u6240\u6709 4 \u4e2a\u8ba1\u7b97\u5207\u7247\u65f6\uff0c\u914d\u7f6e\u6587\u4ef6\u7b80\u79f0\u4e3a 4g.20gb \u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html","title":"\u5f00\u542f MIG \u529f\u80fd","text":"

                                                    \u672c\u7ae0\u8282\u4ecb\u7ecd\u5982\u4f55\u5f00\u542f NVIDIA MIG \u529f\u80fd\u65b9\u5f0f\uff0cNVIDIA \u5f53\u524d\u63d0\u4f9b\u4e24\u79cd\u5728 Kubernetes \u8282\u70b9\u4e0a\u516c\u5f00 MIG \u8bbe\u5907\u7684\u7b56\u7565\uff1a

                                                    • Single \u6a21\u5f0f\uff0c\u8282\u70b9\u4ec5\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u5355\u4e00\u7c7b\u578b\u7684 MIG \u8bbe\u5907\u3002
                                                    • Mixed \u6a21\u5f0f\uff0c\u8282\u70b9\u5728\u5176\u6240\u6709 GPU \u4e0a\u516c\u5f00\u6df7\u5408 MIG \u8bbe\u5907\u7c7b\u578b\u3002

                                                    \u8be6\u60c5\u53c2\u8003 NVIDIA GPU \u5361\u4f7f\u7528\u6a21\u5f0f\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5f85\u5b89\u88c5 GPU \u9a71\u52a8\u8282\u70b9\u7cfb\u7edf\u8981\u6c42\u8bf7\u53c2\u8003\uff1aGPU \u652f\u6301\u77e9\u9635
                                                    • \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\uff08NVIDIA H100\u3001 A100 \u548c A30 Tensor Core GPU\uff09\uff0c \u8be6\u60c5\u53c2\u8003 GPU \u652f\u6301\u77e9\u9635\u3002
                                                    • \u8282\u70b9\u4e0a\u7684\u6240\u6709 GPU \u5fc5\u987b\uff1a\u5c5e\u4e8e\u540c\u4e00\u4ea7\u54c1\u7ebf\uff08\u4f8b\u5982 A100-SXM-40GB\uff09
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html#gpu-operator-addon","title":"\u5b89\u88c5 gpu-operator Addon","text":""},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html#_2","title":"\u53c2\u6570\u914d\u7f6e","text":"

                                                    \u5b89\u88c5 Operator \u65f6\u9700\u8981\u5bf9\u5e94\u8bbe\u7f6e MigManager Config \u53c2\u6570\uff0c \u9ed8\u8ba4\u4e3a default-mig-parted-config \uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565\u914d\u7f6e\u6587\u4ef6\uff1a

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html#_3","title":"\u81ea\u5b9a\u4e49\u5207\u5206\u7b56\u7565","text":"
                                                      ## \u81ea\u5b9a\u4e49\u5207\u5206 GI \u5b9e\u4f8b\u914d\u7f6e\n  all-disabled:\n    - devices: all\n      mig-enabled: false\n  all-enabled:\n    - devices: all\n      mig-enabled: true\n      mig-devices: {}\n  all-1g.10gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.5gb: 7\n  all-1g.10gb.me:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb+me: 1\n  all-1g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.20gb: 4\n  all-2g.20gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        2g.20gb: 3\n  all-3g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n  all-4g.40gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        4g.40gb: 1\n  all-7g.80gb:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        7g.80gb: 1\n  all-balanced:\n    - device-filter: [\"0x233110DE\", \"0x232210DE\", \"0x20B210DE\", \"0x20B510DE\", \"0x20F310DE\", \"0x20F510DE\"]\n      devices: all\n      mig-enabled: true\n      mig-devices:\n        1g.10gb: 2\n        2g.20gb: 1\n        3g.40gb: 1\n  # \u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u8bbe\u7f6e\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\n  custom-config:\n    - devices: all\n      mig-enabled: true\n      mig-devices:\n        3g.40gb: 2\n

                                                    \u5728\u4e0a\u8ff0\u7684 YAML \u4e2d\u8bbe\u7f6e custom-config \uff0c\u8bbe\u7f6e\u540e\u4f1a\u6309\u7167\u89c4\u683c\u5207\u5206 CI \u5b9e\u4f8b\u3002

                                                    custom-config:\n  - devices: all\n    mig-enabled: true\n    mig-devices:\n      1c.3g.40gb: 6\n

                                                    \u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u5728\u786e\u8ba4\u90e8\u7f72\u5e94\u7528\u65f6\u5373\u53ef\u4f7f\u7528 GPU MIG \u8d44\u6e90\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/create_mig.html#gpu","title":"\u5207\u6362\u8282\u70b9 GPU \u6a21\u5f0f","text":"

                                                    Note

                                                    \u5207\u6362 GPU \u6a21\u5f0f\u6216\u8005\u4fee\u6539\u5207\u5206\u89c4\u683c\u540e\u9700\u8981\u91cd\u542f nvidia-mig-manager\u3002

                                                    \u5f53\u6211\u4eec\u6210\u529f\u5b89\u88c5 gpu-operator \u4e4b\u540e\uff0c\u8282\u70b9\u9ed8\u8ba4\u662f\u6574\u5361\u6a21\u5f0f\uff0c\u5728\u8282\u70b9\u7ba1\u7406\u9875\u9762\u4f1a\u6709\u6807\u8bc6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a

                                                    \u70b9\u51fb\u8282\u70b9\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 GPU \u6a21\u5f0f\u5207\u6362 \uff0c\u7136\u540e\u9009\u62e9\u5bf9\u5e94\u7684 MIG \u6a21\u5f0f\u4ee5\u53ca\u5207\u5206\u7684\u7b56\u7565\uff0c\u8fd9\u91cc\u4ee5 MIXED \u6a21\u5f0f\u4e3a\u4f8b\uff1a

                                                    \u8fd9\u91cc\u4e00\u5171\u6709\u4e24\u4e2a\u914d\u7f6e\uff1a

                                                    1. MIg \u7b56\u7565\uff1aMixed \u4ee5\u53ca Single \u3002
                                                    2. \u5207\u5206\u7b56\u7565\uff1a\u8fd9\u91cc\u7684\u7b56\u7565\u9700\u8981\u4e0e default-mig-parted-config \uff08\u6216\u8005\u7528\u6237\u81ea\u5b9a\u4e49\u7684\u5207\u5206\u7b56\u7565\uff09\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684 key \u4fdd\u6301\u4e00\u81f4\u3002

                                                    \u70b9\u51fb \u786e\u5b9a \u6309\u94ae\u540e\uff0c\u7b49\u5f85\u7ea6\u4e00\u5206\u949f\u5de6\u53f3\u5237\u65b0\u9875\u9762\uff0cMIG \u6a21\u5f0f\u5207\u6362\u6210\uff1a

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/mig_command.html","title":"MIG \u76f8\u5173\u547d\u4ee4","text":"

                                                    GI \u76f8\u5173\u547d\u540d\uff1a

                                                    \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lgi \u67e5\u770b\u521b\u5efa GI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -dgi -gi \u5220\u9664\u6307\u5b9a\u7684 GI \u5b9e\u4f8b nvidia-smi mig -lgip \u67e5\u770b GI \u7684 profile nvidia-smi mig -cgi \u901a\u8fc7\u6307\u5b9a profile \u7684 ID \u521b\u5efa GI

                                                    CI \u76f8\u5173\u547d\u4ee4\uff1a

                                                    \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -lcip { -gi {gi Instance ID}} \u67e5\u770b CI \u7684 profile \uff0c\u6307\u5b9a -gi \u53ef\u4ee5\u67e5\u770b\u7279\u5b9a GI \u5b9e\u4f8b\u53ef\u4ee5\u521b\u5efa\u7684 CI nvidia-smi mig -lci \u67e5\u770b\u521b\u5efa\u7684 CI \u5b9e\u4f8b\u5217\u8868 nvidia-smi mig -cci {profile id} -gi {gi instance id} \u6307\u5b9a\u7684 GI \u521b\u5efa CI \u5b9e\u4f8b nvidia-smi mig -dci -ci \u5220\u9664\u6307\u5b9a CI \u5b9e\u4f8b

                                                    GI+CI \u76f8\u5173\u547d\u4ee4\uff1a

                                                    \u5b50\u547d\u4ee4 \u8bf4\u660e nvidia-smi mig -i 0 -cgi {gi profile id} -C {ci profile id} \u76f4\u63a5\u521b\u5efa GI + CI \u5b9e\u4f8b"},{"location":"end-user/kpanda/gpu/nvidia/mig/mig_usage.html","title":"\u4f7f\u7528 MIG GPU \u8d44\u6e90","text":"

                                                    \u672c\u8282\u4ecb\u7ecd\u5e94\u7528\u5982\u4f55\u4f7f\u7528 MIG GPU \u8d44\u6e90\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/mig_usage.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5df2\u7ecf\u90e8\u7f72 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0 \u5bb9\u5668\u7ba1\u7406\u5e73\u53f0\uff0c\u4e14\u5e73\u53f0\u8fd0\u884c\u6b63\u5e38\u3002
                                                    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                                    • \u5df2\u5b89\u88c5 GPU Operator\u3002
                                                    • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/mig_usage.html#ui-mig-gpu","title":"UI \u754c\u9762\u4f7f\u7528 MIG GPU","text":"
                                                    1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u8bc6\u522b GPU \u5361\u7c7b\u578b

                                                      \u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 -> \u8282\u70b9\u7ba1\u7406 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u6b63\u786e\u8bc6\u522b\u4e3a MIG \u6a21\u5f0f\u3002

                                                    2. \u901a\u8fc7\u955c\u50cf\u90e8\u7f72\u5e94\u7528\uff0c\u53ef\u9009\u62e9\u5e76\u4f7f\u7528 NVIDIA MIG \u8d44\u6e90\u3002

                                                      • MIG Single \u6a21\u5f0f\u793a\u4f8b\uff08\u4e0e\u6574\u5361\u4f7f\u7528\u65b9\u5f0f\u76f8\u540c\uff09\uff1a

                                                        Note

                                                        MIG single \u7b56\u7565\u5141\u8bb8\u7528\u6237\u4ee5\u4e0e GPU \u6574\u5361\u76f8\u540c\u7684\u65b9\u5f0f\uff08nvidia.com/gpu\uff09\u8bf7\u6c42\u548c\u4f7f\u7528GPU\u8d44\u6e90\uff0c\u4e0d\u540c\u7684\u662f\u8fd9\u4e9b\u8d44\u6e90\u53ef\u4ee5\u662f GPU \u7684\u4e00\u90e8\u5206\uff08MIG\u8bbe\u5907\uff09\uff0c\u800c\u4e0d\u662f\u6574\u4e2aGPU\u3002\u4e86\u89e3\u66f4\u591a GPU MIG \u6a21\u5f0f\u8bbe\u8ba1

                                                      • MIG Mixed \u6a21\u5f0f\u793a\u4f8b\uff1a

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/mig/mig_usage.html#yaml-mig","title":"YAML \u914d\u7f6e\u4f7f\u7528 MIG","text":"

                                                    MIG Single \u6a21\u5f0f\uff1a

                                                    apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpu: 2 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                                                    1. \u7533\u8bf7 MIG GPU \u7684\u6570\u91cf

                                                    MIG Mixed \u6a21\u5f0f\uff1a

                                                    apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: mig-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mig-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: mig-demo\n    spec:\n      containers:\n        - name: mig-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/mig-4g.20gb: 1 # (1)!\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                                                    1. \u901a\u8fc7 nvidia.com/mig-g.gb \u7684\u8d44\u6e90\u7c7b\u578b\u516c\u5f00\u5404\u4e2a MIG \u8bbe\u5907

                                                    \u8fdb\u5165\u5bb9\u5668\u540e\u53ef\u4ee5\u67e5\u770b\u53ea\u4f7f\u7528\u4e86\u4e00\u4e2a MIG \u8bbe\u5907\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/hami.html","title":"\u6784\u5efa vGPU \u663e\u5b58\u8d85\u914d\u955c\u50cf","text":"

                                                    Hami \u9879\u76ee\u4e2d vGPU \u663e\u5b58\u8d85\u914d\u7684\u529f\u80fd\u5df2\u7ecf\u4e0d\u5b58\u5728\uff0c\u76ee\u524d\u4f7f\u7528\u6709\u663e\u5b58\u8d85\u914d\u7684 libvgpu.so \u6587\u4ef6\u91cd\u65b0\u6784\u5efa\u3002

                                                    Dockerfile
                                                    FROM docker.m.daocloud.io/projecthami/hami:v2.3.11\nCOPY libvgpu.so /k8s-vgpu/lib/nvidia/\n

                                                    \u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u6784\u5efa\u955c\u50cf\uff1a

                                                    docker build -t release.daocloud.io/projecthami/hami:v2.3.11 -f Dockerfile .\n

                                                    \u7136\u540e\u628a\u955c\u50cf push \u5230 release.daocloud.io \u4e2d\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_addon.html","title":"\u5b89\u88c5 NVIDIA vGPU Addon","text":"

                                                    \u5982\u9700\u5c06\u4e00\u5f20 NVIDIA \u865a\u62df\u5316\u6210\u591a\u4e2a\u865a\u62df GPU\uff0c\u5e76\u5c06\u5176\u5206\u914d\u7ed9\u4e0d\u540c\u7684\u4e91\u4e3b\u673a\u6216\u7528\u6237\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 NVIDIA \u7684 vGPU \u80fd\u529b\u3002 \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u5b89\u88c5 vGPU \u63d2\u4ef6\uff0c\u8fd9\u662f\u4f7f\u7528 NVIDIA vGPU \u80fd\u529b\u7684\u524d\u63d0\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_addon.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u53c2\u8003 GPU \u652f\u6301\u77e9\u9635 \u786e\u8ba4\u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361\u3002
                                                    • \u5f53\u524d\u96c6\u7fa4\u5df2\u901a\u8fc7 Operator \u90e8\u7f72 NVIDIA \u9a71\u52a8\uff0c\u5177\u4f53\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5\u3002
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_addon.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                                    1. \u529f\u80fd\u6a21\u5757\u8def\u5f84\uff1a \u5bb9\u5668\u7ba1\u7406 -> \u96c6\u7fa4\u7ba1\u7406 \uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u4ece\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f -> \u641c\u7d22 nvidia-vgpu \u3002

                                                    2. \u5728\u5b89\u88c5 vGPU \u7684\u8fc7\u7a0b\u4e2d\u63d0\u4f9b\u4e86\u51e0\u4e2a\u57fa\u672c\u4fee\u6539\u7684\u53c2\u6570\uff0c\u5982\u679c\u9700\u8981\u4fee\u6539\u9ad8\u7ea7\u53c2\u6570\u70b9\u51fb YAML \u5217\u8fdb\u884c\u4fee\u6539\uff1a

                                                      • deviceCoreScaling \uff1aNVIDIA \u88c5\u7f6e\u7b97\u529b\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u7b97\u529b\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceCoreScaling \u53c2\u6570\u4e3a S\uff0c\u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * 100% \u7b97\u529b\u3002

                                                      • deviceMemoryScaling \uff1aNVIDIA \u88c5\u7f6e\u663e\u5b58\u4f7f\u7528\u6bd4\u4f8b\uff0c\u9884\u8bbe\u503c\u662f 1\u3002\u53ef\u4ee5\u5927\u4e8e 1\uff08\u542f\u7528\u865a\u62df\u663e\u5b58\uff0c\u5b9e\u9a8c\u529f\u80fd\uff09\u3002 \u5bf9\u4e8e\u6709 M \u663e\u5b58\u5927\u5c0f\u7684 NVIDIA GPU\uff0c\u5982\u679c\u6211\u4eec\u914d\u7f6e devicePlugin.deviceMemoryScaling \u53c2\u6570\u4e3a S\uff0c \u5728\u90e8\u7f72\u4e86\u6211\u4eec\u88c5\u7f6e\u63d2\u4ef6\u7684 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8fd9\u5f20 GPU \u5206\u51fa\u7684 vGPU \u5c06\u603b\u5171\u5305\u542b S * M \u663e\u5b58\u3002

                                                      • deviceSplitCount \uff1a\u6574\u6570\u7c7b\u578b\uff0c\u9884\u8bbe\u503c\u662f 10\u3002GPU \u7684\u5206\u5272\u6570\uff0c\u6bcf\u4e00\u5f20 GPU \u90fd\u4e0d\u80fd\u5206\u914d\u8d85\u8fc7\u5176\u914d\u7f6e\u6570\u76ee\u7684\u4efb\u52a1\u3002 \u82e5\u5176\u914d\u7f6e\u4e3a N \u7684\u8bdd\uff0c\u6bcf\u4e2a GPU \u4e0a\u6700\u591a\u53ef\u4ee5\u540c\u65f6\u5b58\u5728 N \u4e2a\u4efb\u52a1\u3002

                                                      • Resources \uff1a\u5c31\u662f\u5bf9\u5e94 vgpu-device-plugin \u548c vgpu-schedule pod \u7684\u8d44\u6e90\u4f7f\u7528\u91cf\u3002

                                                      • ServiceMonitor \uff1a\u9ed8\u8ba4\u4e0d\u5f00\u542f\uff0c\u5f00\u542f\u540e\u53ef\u524d\u5f80\u53ef\u89c2\u6d4b\u6027\u6a21\u5757\u67e5\u770b vGPU \u76f8\u5173\u76d1\u63a7\u3002\u5982\u9700\u5f00\u542f\uff0c\u8bf7\u786e\u4fdd insight-agent \u5df2\u5b89\u88c5\u5e76\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\uff0c\u5426\u5219\u5c06\u5bfc\u81f4 NVIDIA vGPU Addon \u5b89\u88c5\u5931\u8d25\u3002

                                                    3. \u5b89\u88c5\u6210\u529f\u4e4b\u540e\u4f1a\u5728\u6307\u5b9a Namespace \u4e0b\u51fa\u73b0\u5982\u4e0b\u4e24\u4e2a\u7c7b\u578b\u7684 Pod\uff0c\u5373\u8868\u793a NVIDIA vGPU \u63d2\u4ef6\u5df2\u5b89\u88c5\u6210\u529f\uff1a

                                                    \u5b89\u88c5\u6210\u529f\u540e\uff0c\u90e8\u7f72\u5e94\u7528\u53ef\u4f7f\u7528 vGPU \u8d44\u6e90\u3002

                                                    Note

                                                    NVIDIA vGPU Addon \u4e0d\u652f\u6301\u4ece\u8001\u7248\u672c v2.0.0 \u76f4\u63a5\u5347\u7ea7\u4e3a\u6700\u65b0\u7248 v2.0.0+1\uff1b \u5982\u9700\u5347\u7ea7\uff0c\u8bf7\u5378\u8f7d\u8001\u7248\u672c\u540e\u91cd\u65b0\u5b89\u88c5\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_user.html","title":"\u5e94\u7528\u4f7f\u7528 Nvidia vGPU","text":"

                                                    \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4f7f\u7528 vGPU \u80fd\u529b\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_user.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u96c6\u7fa4\u8282\u70b9\u4e0a\u5177\u6709\u5bf9\u5e94\u578b\u53f7\u7684 GPU \u5361
                                                    • \u5df2\u6210\u529f\u5b89\u88c5 vGPU Addon\uff0c\u8be6\u60c5\u53c2\u8003 GPU Addon \u5b89\u88c5
                                                    • \u5df2\u5b89\u88c5 GPU Operator\uff0c\u5e76\u5df2 \u5173\u95ed Nvidia.DevicePlugin \u80fd\u529b\uff0c\u53ef\u53c2\u8003 GPU Operator \u79bb\u7ebf\u5b89\u88c5
                                                    "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_user.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":""},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_user.html#vgpu","title":"\u754c\u9762\u4f7f\u7528 vGPU","text":"
                                                    1. \u786e\u8ba4\u96c6\u7fa4\u662f\u5426\u5df2\u68c0\u6d4b GPU \u5361\u3002\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u96c6\u7fa4\u8bbe\u7f6e -> Addon \u63d2\u4ef6 \uff0c\u67e5\u770b\u662f\u5426\u5df2\u81ea\u52a8\u542f\u7528\u5e76\u81ea\u52a8\u68c0\u6d4b\u5bf9\u5e94 GPU \u7c7b\u578b\u3002 \u76ee\u524d\u96c6\u7fa4\u4f1a\u81ea\u52a8\u542f\u7528 GPU \uff0c\u5e76\u4e14\u8bbe\u7f6e GPU \u7c7b\u578b\u4e3a Nvidia vGPU \u3002

                                                    2. \u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u70b9\u51fb\u5bf9\u5e94 \u96c6\u7fa4 -> \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u90e8\u7f72\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u9009\u62e9\u7c7b\u578b\uff08Nvidia vGPU\uff09\u4e4b\u540e\uff0c\u4f1a\u81ea\u52a8\u51fa\u73b0\u5982\u4e0b\u51e0\u4e2a\u53c2\u6570\u9700\u8981\u586b\u5199\uff1a

                                                      • \u7269\u7406\u5361\u6570\u91cf\uff08nvidia.com/vgpu\uff09\uff1a\u8868\u793a\u5f53\u524d Pod \u9700\u8981\u6302\u8f7d\u51e0\u5f20\u7269\u7406\u5361\uff0c\u8f93\u5165\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u4e14 \u5c0f\u4e8e\u7b49\u4e8e \u5bbf\u4e3b\u673a\u4e0a\u7684\u5361\u6570\u91cf\u3002
                                                      • GPU \u7b97\u529b\uff08nvidia.com/gpucores\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u7b97\u529b\uff0c\u503c\u8303\u56f4\u4e3a 0-100\uff1b \u5982\u679c\u914d\u7f6e\u4e3a 0\uff0c \u5219\u8ba4\u4e3a\u4e0d\u5f3a\u5236\u9694\u79bb\uff1b\u914d\u7f6e\u4e3a100\uff0c\u5219\u8ba4\u4e3a\u72ec\u5360\u6574\u5f20\u5361\u3002
                                                      • GPU \u663e\u5b58\uff08nvidia.com/gpumem\uff09: \u8868\u793a\u6bcf\u5f20\u5361\u5360\u7528\u7684 GPU \u663e\u5b58\uff0c\u503c\u5355\u4f4d\u4e3a MB\uff0c\u6700\u5c0f\u503c\u4e3a 1\uff0c\u6700\u5927\u503c\u4e3a\u6574\u5361\u7684\u663e\u5b58\u503c\u3002

                                                      \u5982\u679c\u4e0a\u8ff0\u503c\u914d\u7f6e\u7684\u6709\u95ee\u9898\u5219\u4f1a\u51fa\u73b0\u8c03\u5ea6\u5931\u8d25\uff0c\u8d44\u6e90\u5206\u914d\u4e0d\u4e86\u7684\u60c5\u51b5\u3002

                                                    "},{"location":"end-user/kpanda/gpu/nvidia/vgpu/vgpu_user.html#yaml-vgpu","title":"YAML \u914d\u7f6e\u4f7f\u7528 vGPU","text":"

                                                    \u53c2\u8003\u5982\u4e0b\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\uff0c\u5728\u8d44\u6e90\u7533\u8bf7\u548c\u9650\u5236\u914d\u7f6e\u4e2d\u589e\u52a0 nvidia.com/vgpu: '1' \u53c2\u6570\u6765\u914d\u7f6e\u5e94\u7528\u4f7f\u7528\u7269\u7406\u5361\u7684\u6570\u91cf\u3002

                                                    apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: full-vgpu-demo\n  namespace: default\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: full-vgpu-demo\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: full-vgpu-demo\n    spec:\n      containers:\n        - name: full-vgpu-demo1\n          image: chrstnhntschl/gpu_burn\n          resources:\n            limits:\n              nvidia.com/gpucores: '20'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 20% \u7684 GPU \u7b97\u529b\n              nvidia.com/gpumem: '200'   # \u7533\u8bf7\u6bcf\u5f20\u5361\u5360\u7528 200MB \u7684\u663e\u5b58\n              nvidia.com/vgpu: '1'   # \u7533\u8bf7GPU\u7684\u6570\u91cf\n          imagePullPolicy: Always\n      restartPolicy: Always\n
                                                    "},{"location":"end-user/kpanda/gpu/volcano/drf.html","title":"DRF\uff08Dominant Resource Fairness\uff09 \u8c03\u5ea6\u7b56\u7565","text":"

                                                    DRF \u8c03\u5ea6\u7b56\u7565\u8ba4\u4e3a\u5360\u7528\u8d44\u6e90\u8f83\u5c11\u7684\u4efb\u52a1\u5177\u6709\u66f4\u9ad8\u7684\u4f18\u5148\u7ea7\u3002\u8fd9\u6837\u80fd\u591f\u6ee1\u8db3\u66f4\u591a\u7684\u4f5c\u4e1a\uff0c\u4e0d\u4f1a\u56e0\u4e3a\u4e00\u4e2a\u80d6\u4e1a\u52a1\uff0c \u997f\u6b7b\u5927\u6279\u5c0f\u4e1a\u52a1\u3002DRF \u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u786e\u4fdd\u5728\u591a\u79cd\u7c7b\u578b\u8d44\u6e90\u5171\u5b58\u7684\u73af\u5883\u4e0b\uff0c\u5c3d\u53ef\u80fd\u6ee1\u8db3\u5206\u914d\u7684\u516c\u5e73\u539f\u5219\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/drf.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                                                    DRF \u8c03\u5ea6\u7b56\u7565\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4efb\u4f55\u914d\u7f6e\u3002

                                                    kubectl -n volcano-system view configmaps volcano-scheduler-configmap\n
                                                    "},{"location":"end-user/kpanda/gpu/volcano/drf.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                                                    \u5728 AI \u8bad\u7ec3\uff0c\u6216\u5927\u6570\u636e\u8ba1\u7b97\u4e2d\uff0c\u901a\u8fc7\u6709\u9650\u8fd0\u884c\u4f7f\u7528\u8d44\u6e90\u5c11\u7684\u4efb\u52a1\uff0c\u8fd9\u6837\u53ef\u4ee5\u8ba9\u96c6\u7fa4\u8d44\u6e90\u4f7f\u7528\u7387\u66f4\u9ad8\uff0c\u800c\u4e14\u8fd8\u80fd\u907f\u514d\u5c0f\u4efb\u52a1\u88ab\u997f\u6b7b\u3002 \u5982\u4e0b\u521b\u5efa\u4e24\u4e2a Job\uff0c\u4e00\u4e2a\u662f\u5c0f\u8d44\u6e90\u9700\u6c42\uff0c\u4e00\u4e2a\u662f\u5927\u8d44\u6e90\u9700\u6c42\uff0c\u53ef\u4ee5\u770b\u51fa\u6765\u5c0f\u8d44\u6e90\u9700\u6c42\u7684 Job \u4f18\u5148\u8fd0\u884c\u8d77\u6765\u3002

                                                    cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: small-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: small-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"1\"  \n          restartPolicy: OnFailure  \n---  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: large-resource  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: large-resource  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"2\"  \n          restartPolicy: OnFailure  \nEOF\n
                                                    "},{"location":"end-user/kpanda/gpu/volcano/numa.html","title":"NUMA \u4eb2\u548c\u6027\u8c03\u5ea6","text":"

                                                    NUMA \u8282\u70b9\u662f Non-Uniform Memory Access\uff08\u975e\u7edf\u4e00\u5185\u5b58\u8bbf\u95ee\uff09\u67b6\u6784\u4e2d\u7684\u4e00\u4e2a\u57fa\u672c\u7ec4\u6210\u5355\u5143\uff0c\u4e00\u4e2a Node \u8282\u70b9\u662f\u591a\u4e2a NUMA \u8282\u70b9\u7684\u96c6\u5408\uff0c \u5728\u591a\u4e2a NUMA \u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u5185\u5b58\u8bbf\u95ee\u65f6\u4f1a\u4ea7\u751f\u5ef6\u8fdf\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u4f18\u5316\u4efb\u52a1\u8c03\u5ea6\u548c\u5185\u5b58\u5206\u914d\u7b56\u7565\uff0c\u6765\u63d0\u9ad8\u5185\u5b58\u8bbf\u95ee\u6548\u7387\u548c\u6574\u4f53\u6027\u80fd\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/numa.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                                                    Numa \u4eb2\u548c\u6027\u8c03\u5ea6\u7684\u5e38\u89c1\u573a\u666f\u662f\u90a3\u4e9b\u5bf9 CPU \u53c2\u6570\u654f\u611f/\u8c03\u5ea6\u5ef6\u8fdf\u654f\u611f\u7684\u8ba1\u7b97\u5bc6\u96c6\u578b\u4f5c\u4e1a\u3002\u5982\u79d1\u5b66\u8ba1\u7b97\u3001\u89c6\u9891\u89e3\u7801\u3001\u52a8\u6f2b\u52a8\u753b\u6e32\u67d3\u3001\u5927\u6570\u636e\u79bb\u7ebf\u5904\u7406\u7b49\u5177\u4f53\u573a\u666f\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/numa.html#_2","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                                                    Pod \u8c03\u5ea6\u65f6\u53ef\u4ee5\u91c7\u7528\u7684 NUMA \u653e\u7f6e\u7b56\u7565\uff0c\u5177\u4f53\u7b56\u7565\u5bf9\u5e94\u7684\u8c03\u5ea6\u884c\u4e3a\u8bf7\u53c2\u89c1 Pod \u8c03\u5ea6\u884c\u4e3a\u8bf4\u660e\u3002

                                                    • single-numa-node\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a single-numa-node \u7684\u8282\u70b9\u6c60\u4e2d\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                                                    • restricted\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a restricted \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14 CPU \u9700\u8981\u653e\u7f6e\u5728\u76f8\u540c\u7684 NUMA \u96c6\u5408\u4e0b\uff0c\u5982\u679c\u8282\u70b9\u6c60\u4e2d\u6ca1\u6709\u6ee1\u8db3\u6761\u4ef6\u7684\u8282\u70b9\uff0cPod \u5c06\u65e0\u6cd5\u88ab\u8c03\u5ea6\u3002
                                                    • best-effort\uff1aPod \u8c03\u5ea6\u65f6\u4f1a\u9009\u62e9\u62d3\u6251\u7ba1\u7406\u7b56\u7565\u5df2\u7ecf\u8bbe\u7f6e\u4e3a best-effort \u8282\u70b9\u6c60\u7684\u8282\u70b9\uff0c\u4e14\u5c3d\u91cf\u5c06 CPU \u653e\u7f6e\u5728\u76f8\u540c NUMA \u4e0b\uff0c\u5982\u679c\u6ca1\u6709\u8282\u70b9\u6ee1\u8db3\u8fd9\u4e00\u6761\u4ef6\uff0c\u5219\u9009\u62e9\u6700\u4f18\u8282\u70b9\u8fdb\u884c\u653e\u7f6e\u3002
                                                    "},{"location":"end-user/kpanda/gpu/volcano/numa.html#_3","title":"\u8c03\u5ea6\u539f\u7406","text":"

                                                    \u5f53Pod\u8bbe\u7f6e\u4e86\u62d3\u6251\u7b56\u7565\u65f6\uff0cVolcano \u4f1a\u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\u9884\u6d4b\u5339\u914d\u7684\u8282\u70b9\u5217\u8868\u3002 \u8c03\u5ea6\u8fc7\u7a0b\u5982\u4e0b\uff1a

                                                    1. \u6839\u636e Pod \u8bbe\u7f6e\u7684 Volcano \u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u5177\u6709\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u3002

                                                    2. \u5728\u8bbe\u7f6e\u4e86\u76f8\u540c\u7b56\u7565\u7684\u8282\u70b9\u4e2d\uff0c\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u8be5\u7b56\u7565\u8981\u6c42\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6\u3002

                                                    Pod \u53ef\u914d\u7f6e\u7684\u62d3\u6251\u7b56\u7565 1. \u6839\u636e Pod \u8bbe\u7f6e\u7684\u62d3\u6251\u7b56\u7565\uff0c\u7b5b\u9009\u53ef\u8c03\u5ea6\u7684\u8282\u70b9 2. \u8fdb\u4e00\u6b65\u7b5b\u9009 CPU \u62d3\u6251\u6ee1\u8db3\u7b56\u7565\u7684\u8282\u70b9\u8fdb\u884c\u8c03\u5ea6 none \u9488\u5bf9\u914d\u7f6e\u4e86\u4ee5\u4e0b\u51e0\u79cd\u62d3\u6251\u7b56\u7565\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u65f6\u5747\u65e0\u7b5b\u9009\u884c\u4e3a\u3002none\uff1a\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 - best-effort \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201cbest-effort\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u5c3d\u53ef\u80fd\u6ee1\u8db3\u7b56\u7565\u8981\u6c42\u8fdb\u884c\u8c03\u5ea6\uff1a\u4f18\u5148\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\uff0c\u5982\u679c\u5355 NUMA \u8282\u70b9\u65e0\u6cd5\u6ee1\u8db3 CPU \u7533\u8bf7\u503c\uff0c\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 restricted \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201crestricted\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u4e0d\u53ef\u8c03\u5ea6 \u4e25\u683c\u9650\u5236\u7684\u8c03\u5ea6\u7b56\u7565\uff1a\u5355 NUMA \u8282\u70b9\u7684CPU\u5bb9\u91cf\u4e0a\u9650\u5927\u4e8e\u7b49\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002\u6b64\u65f6\u5982\u679c\u5355 NUMA \u8282\u70b9\u5269\u4f59\u7684 CPU \u53ef\u4f7f\u7528\u91cf\u4e0d\u8db3\uff0c\u5219 Pod \u65e0\u6cd5\u8c03\u5ea6\u3002\u5355 NUMA \u8282\u70b9\u7684 CPU \u5bb9\u91cf\u4e0a\u9650\u5c0f\u4e8e CPU \u7684\u7533\u8bf7\u503c\u65f6\uff0c\u53ef\u5141\u8bb8\u8c03\u5ea6\u81f3\u591a\u4e2a NUMA \u8282\u70b9\u3002 single-numa-node \u7b5b\u9009\u62d3\u6251\u7b56\u7565\u540c\u6837\u4e3a\u201csingle-numa-node\u201d\u7684\u8282\u70b9\uff1anone\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bbest-effort\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1brestricted\uff1a\u4e0d\u53ef\u8c03\u5ea6\uff1bsingle-numa-node\uff1a\u53ef\u8c03\u5ea6 \u4ec5\u5141\u8bb8\u8c03\u5ea6\u81f3\u5355 NUMA \u8282\u70b9\u3002"},{"location":"end-user/kpanda/gpu/volcano/numa.html#numa_1","title":"\u914d\u7f6e NUMA \u4eb2\u548c\u8c03\u5ea6\u7b56\u7565","text":"
                                                    1. \u5728 Job \u4e2d\u914d\u7f6e policies

                                                      task: \n  - replicas: 1 \n    name: \"test-1\" \n    topologyPolicy: single-numa-node \n  - replicas: 1 \n    name: \"test-2\" \n    topologyPolicy: best-effort \n
                                                    2. \u4fee\u6539 kubelet \u7684\u8c03\u5ea6\u7b56\u7565\uff0c\u8bbe\u7f6e --topology-manager-policy \u53c2\u6570\uff0c\u652f\u6301\u7684\u7b56\u7565\u6709\u56db\u79cd\uff1a

                                                      • none\uff08\u9ed8\u8ba4\uff09
                                                      • best-effort
                                                      • restricted
                                                      • single-numa-node
                                                    "},{"location":"end-user/kpanda/gpu/volcano/numa.html#_4","title":"\u4f7f\u7528\u6848\u4f8b","text":"
                                                    1. \u793a\u4f8b\u4e00\uff1a\u5728\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u914d\u7f6e NUMA \u4eb2\u548c\u6027\u3002

                                                      kind: Deployment  \napiVersion: apps/v1  \nmetadata:  \n  name: numa-tset  \nspec:  \n  replicas: 1  \n  selector:  \n    matchLabels:  \n      app: numa-tset  \n  template:  \n    metadata:  \n      labels:  \n        app: numa-tset  \n      annotations:  \n        volcano.sh/numa-topology-policy: single-numa-node    # set the topology policy  \n    spec:  \n      containers:  \n        - name: container-1  \n          image: nginx:alpine  \n          resources:  \n            requests:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0elimits\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n            limits:  \n              cpu: 2           # \u5fc5\u987b\u4e3a\u6574\u6570\uff0c\u4e14\u9700\u8981\u4e0erequests\u4e2d\u4e00\u81f4  \n              memory: 2048Mi  \n      imagePullSecrets:  \n      - name: default-secret\n
                                                    2. \u793a\u4f8b\u4e8c\uff1a\u521b\u5efa\u4e00\u4e2a Volcano Job\uff0c\u5e76\u4f7f\u7528 NUMA \u4eb2\u548c\u6027\u3002

                                                      apiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: vj-test  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 1  \n  tasks:  \n    - replicas: 1  \n      name: \"test\"  \n      topologyPolicy: best-effort   # set the topology policy for task  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                limits:  \n                  cpu: 20  \n                  memory: \"100Mi\"  \n          restartPolicy: OnFailure\n
                                                    "},{"location":"end-user/kpanda/gpu/volcano/numa.html#numa_2","title":"NUMA \u8c03\u5ea6\u5206\u6790","text":"

                                                    \u5047\u8bbe NUMA \u8282\u70b9\u60c5\u51b5\u5982\u4e0b\uff1a

                                                    \u5de5\u4f5c\u8282\u70b9 \u8282\u70b9\u7b56\u7565\u62d3\u6251\u7ba1\u7406\u5668\u7b56\u7565 NUMA \u8282\u70b9 0 \u4e0a\u7684\u53ef\u5206\u914d CPU NUMA \u8282\u70b9 1 \u4e0a\u7684\u53ef\u5206\u914d CPU node-1 single-numa-node 16U 16U node-2 best-effort 16U 16U node-3 best-effort 20U 20U
                                                    • \u793a\u4f8b\u4e00\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a 2U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201csingle-numa-node\u201d\uff0c\u56e0\u6b64\u4f1a\u88ab\u8c03\u5ea6\u5230\u76f8\u540c\u7b56\u7565\u7684 node-1\u3002
                                                    • \u793a\u4f8b\u4e8c\u4e2d\uff0cPod \u7684 CPU \u7533\u8bf7\u503c\u4e3a20U\uff0c\u8bbe\u7f6e\u62d3\u6251\u7b56\u7565\u4e3a\u201cbest-effort\u201d\uff0c\u5b83\u5c06\u88ab\u8c03\u5ea6\u5230 node-3\uff0c \u56e0\u4e3a node-3 \u53ef\u4ee5\u5728\u5355\u4e2a NUMA \u8282\u70b9\u4e0a\u5206\u914d Pod \u7684 CPU \u8bf7\u6c42\uff0c\u800c node-2 \u9700\u8981\u5728\u4e24\u4e2a NUMA \u8282\u70b9\u4e0a\u6267\u884c\u6b64\u64cd\u4f5c\u3002
                                                    "},{"location":"end-user/kpanda/gpu/volcano/numa.html#cpu","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5","text":"

                                                    \u60a8\u53ef\u4ee5\u901a\u8fc7 lscpu \u547d\u4ee4\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u6982\u51b5\uff1a

                                                    lscpu \n... \nCPU(s): 32 \nNUMA node(s): 2 \nNUMA node0 CPU(s): 0-15 \nNUMA node1 CPU(s): 16-31\n
                                                    "},{"location":"end-user/kpanda/gpu/volcano/numa.html#cpu_1","title":"\u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d","text":"

                                                    \u7136\u540e\u67e5\u770b NUMA \u8282\u70b9\u4f7f\u7528\u60c5\u51b5\uff1a

                                                    # \u67e5\u770b\u5f53\u524d\u8282\u70b9\u7684 CPU \u5206\u914d\ncat /var/lib/kubelet/cpu_manager_state\n{\"policyName\":\"static\",\"defaultCpuSet\":\"0,10-15,25-31\",\"entries\":{\"777870b5-c64f-42f5-9296-688b9dc212ba\":{\"container-1\":\"16-24\"},\"fb15e10a-b6a5-4aaa-8fcd-76c1aa64e6fd\":{\"container-1\":\"1-9\"}},\"checksum\":318470969}\n

                                                    \u4ee5\u4e0a\u793a\u4f8b\u4e2d\u8868\u793a\uff0c\u8282\u70b9\u4e0a\u8fd0\u884c\u4e86\u4e24\u4e2a\u5bb9\u5668\uff0c\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node0 \u76841-9 \u6838\uff0c\u53e6\u4e00\u4e2a\u5360\u7528\u4e86 NUMA node1 \u7684 16-24 \u6838\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano-gang-scheduler.html","title":"\u4f7f\u7528 Volcano \u7684 Gang Scheduler","text":"

                                                    Gang \u8c03\u5ea6\u7b56\u7565\u662f volcano-scheduler \u7684\u6838\u5fc3\u8c03\u5ea6\u7b97\u6cd5\u4e4b\u4e00\uff0c\u5b83\u6ee1\u8db3\u4e86\u8c03\u5ea6\u8fc7\u7a0b\u4e2d\u7684 \u201cAll or nothing\u201d \u7684\u8c03\u5ea6\u9700\u6c42\uff0c \u907f\u514d Pod \u7684\u4efb\u610f\u8c03\u5ea6\u5bfc\u81f4\u96c6\u7fa4\u8d44\u6e90\u7684\u6d6a\u8d39\u3002\u5177\u4f53\u7b97\u6cd5\u662f\uff0c\u89c2\u5bdf Job \u4e0b\u7684 Pod \u5df2\u8c03\u5ea6\u6570\u91cf\u662f\u5426\u6ee1\u8db3\u4e86\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\uff0c \u5f53 Job \u7684\u6700\u5c0f\u8fd0\u884c\u6570\u91cf\u5f97\u5230\u6ee1\u8db3\u65f6\uff0c\u4e3a Job \u4e0b\u7684\u6240\u6709 Pod \u6267\u884c\u8c03\u5ea6\u52a8\u4f5c\uff0c\u5426\u5219\uff0c\u4e0d\u6267\u884c\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano-gang-scheduler.html#_1","title":"\u4f7f\u7528\u573a\u666f","text":"

                                                    \u57fa\u4e8e\u5bb9\u5668\u7ec4\u6982\u5ff5\u7684 Gang \u8c03\u5ea6\u7b97\u6cd5\u5341\u5206\u9002\u5408\u9700\u8981\u591a\u8fdb\u7a0b\u534f\u4f5c\u7684\u573a\u666f\u3002AI \u573a\u666f\u5f80\u5f80\u5305\u542b\u590d\u6742\u7684\u6d41\u7a0b\uff0c Data Ingestion\u3001Data Analysts\u3001Data Splitting\u3001Trainer\u3001Serving\u3001Logging \u7b49\uff0c \u9700\u8981\u4e00\u7ec4\u5bb9\u5668\u8fdb\u884c\u534f\u540c\u5de5\u4f5c\uff0c\u5c31\u5f88\u9002\u5408\u57fa\u4e8e\u5bb9\u5668\u7ec4\u7684 Gang \u8c03\u5ea6\u7b56\u7565\u3002 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\uff0c\u7531\u4e8e\u9700\u8981\u4e3b\u4ece\u8fdb\u7a0b\u534f\u540c\u5de5\u4f5c\uff0c\u4e5f\u975e\u5e38\u9002\u5408\u4f7f\u7528 Gang \u8c03\u5ea6\u7b56\u7565\u3002 \u5bb9\u5668\u7ec4\u4e0b\u7684\u5bb9\u5668\u9ad8\u5ea6\u76f8\u5173\u4e5f\u53ef\u80fd\u5b58\u5728\u8d44\u6e90\u4e89\u62a2\uff0c\u6574\u4f53\u8c03\u5ea6\u5206\u914d\uff0c\u80fd\u591f\u6709\u6548\u89e3\u51b3\u6b7b\u9501\u3002

                                                    \u5728\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\u7684\u573a\u666f\u4e0b\uff0cGang \u7684\u8c03\u5ea6\u7b56\u7565\u5bf9\u4e8e\u96c6\u7fa4\u8d44\u6e90\u7684\u5229\u7528\u7387\u7684\u63d0\u5347\u662f\u975e\u5e38\u660e\u663e\u7684\u3002 \u6bd4\u5982\u96c6\u7fa4\u73b0\u5728\u53ea\u80fd\u5bb9\u7eb3 2 \u4e2a Pod\uff0c\u73b0\u5728\u8981\u6c42\u6700\u5c0f\u8c03\u5ea6\u7684 Pod \u6570\u4e3a 3\u3002 \u90a3\u73b0\u5728\u8fd9\u4e2a Job \u7684\u6240\u6709\u7684 Pod \u90fd\u4f1a pending\uff0c\u76f4\u5230\u96c6\u7fa4\u80fd\u591f\u5bb9\u7eb3 3 \u4e2a Pod\uff0cPod \u624d\u4f1a\u88ab\u8c03\u5ea6\u3002 \u6709\u6548\u9632\u6b62\u8c03\u5ea6\u90e8\u5206 Pod\uff0c\u4e0d\u6ee1\u8db3\u8981\u6c42\u53c8\u5360\u7528\u4e86\u8d44\u6e90\uff0c\u4f7f\u5176\u4ed6 Job \u65e0\u6cd5\u8fd0\u884c\u7684\u60c5\u51b5\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano-gang-scheduler.html#_2","title":"\u6982\u5ff5\u8bf4\u660e","text":"

                                                    Gang Scheduler \u662f Volcano \u7684\u6838\u5fc3\u7684\u8c03\u5ea6\u63d2\u4ef6\uff0c\u5b89\u88c5 Volcano \u540e\u9ed8\u8ba4\u5c31\u5f00\u542f\u4e86\u3002 \u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\u53ea\u9700\u8981\u6307\u5b9a\u8c03\u5ea6\u5668\u7684\u540d\u79f0\u4e3a Volcano \u5373\u53ef\u3002

                                                    Volcano \u662f\u4ee5 PodGroup \u4e3a\u5355\u4f4d\u8fdb\u884c\u8c03\u5ea6\u7684\uff0c\u5728\u521b\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u5e76\u4e0d\u9700\u8981\u624b\u52a8\u521b\u5efa PodGroup \u8d44\u6e90\uff0c Volcano \u4f1a\u6839\u636e\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4fe1\u606f\u81ea\u52a8\u521b\u5efa\u3002\u4e0b\u9762\u662f\u4e00\u4e2a PodGroup \u7684\u793a\u4f8b\uff1a

                                                    apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  name: test\n  namespace: default\nspec:\n  minMember: 1  # (1)!\n  minResources:  # (2)!\n    cpu: \"3\"\n    memory: \"2048Mi\"\n  priorityClassName: high-prority # (3)!\n  queue: default # (4)!\n
                                                    1. \u8868\u793a\u8be5 PodGroup \u4e0b \u6700\u5c11 \u9700\u8981\u8fd0\u884c\u7684 Pod \u6216\u4efb\u52a1\u6570\u91cf\u3002 \u5982\u679c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u6ee1\u8db3 miniMember \u6570\u91cf\u4efb\u52a1\u7684\u8fd0\u884c\u9700\u6c42\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                                                    2. \u8868\u793a\u8fd0\u884c\u8be5 PodGroup \u6240\u9700\u8981\u7684\u6700\u5c11\u8d44\u6e90\u3002\u5f53\u96c6\u7fa4\u53ef\u5206\u914d\u8d44\u6e90\u4e0d\u6ee1\u8db3 minResources \u65f6\uff0c\u8c03\u5ea6\u5668\u5c06\u4e0d\u4f1a\u8c03\u5ea6\u4efb\u4f55\u4e00\u4e2a\u8be5 PodGroup \u5185\u7684\u4efb\u52a1\u3002
                                                    3. \u8868\u793a\u8be5 PodGroup \u7684\u4f18\u5148\u7ea7\uff0c\u7528\u4e8e\u8c03\u5ea6\u5668\u4e3a\u8be5 queue \u4e2d\u6240\u6709 PodGroup \u8fdb\u884c\u8c03\u5ea6\u65f6\u8fdb\u884c\u6392\u5e8f\u3002 system-node-critical \u548c system-cluster-critical \u662f 2 \u4e2a\u9884\u7559\u7684\u503c\uff0c\u8868\u793a\u6700\u9ad8\u4f18\u5148\u7ea7\u3002\u4e0d\u7279\u522b\u6307\u5b9a\u65f6\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u4f18\u5148\u7ea7\u6216 zero \u4f18\u5148\u7ea7\u3002
                                                    4. \u8868\u793a\u8be5 PodGroup \u6240\u5c5e\u7684 queue\u3002queue \u5fc5\u987b\u63d0\u524d\u5df2\u521b\u5efa\u4e14\u72b6\u6001\u4e3a open\u3002
                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano-gang-scheduler.html#_3","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                                                    \u5728 MPI \u8ba1\u7b97\u6846\u67b6\u4e0b\u7684\u591a\u7ebf\u7a0b\u5e76\u884c\u8ba1\u7b97\u901a\u4fe1\u573a\u666f\u4e2d\uff0c\u6211\u4eec\u8981\u786e\u4fdd\u6240\u6709\u7684 Pod \u90fd\u80fd\u8c03\u5ea6\u6210\u529f\u624d\u80fd\u4fdd\u8bc1\u4efb\u52a1\u6b63\u5e38\u5b8c\u6210\u3002 \u8bbe\u7f6e minAvailable \u4e3a 4\uff0c\u8868\u793a\u8981\u6c42 1 \u4e2a mpimaster \u548c 3 \u4e2a mpiworker \u80fd\u8fd0\u884c\u3002

                                                    apiVersion: batch.volcano.sh/v1alpha1\nkind: Job\nmetadata:\n  name: lm-mpi-job\n  labels:\n    \"volcano.sh/job-type\": \"MPI\"\nspec:\n  minAvailable: 4\n  schedulerName: volcano\n  plugins:\n    ssh: []\n    svc: []\n  policies:\n    - event: PodEvicted\n      action: RestartJob\n  tasks:\n    - replicas: 1\n      name: mpimaster\n      policies:\n        - event: TaskCompleted\n          action: CompleteJob\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  MPI_HOST=`cat /etc/volcano/mpiworker.host | tr \"\\n\" \",\"`;\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd;\n                  mpiexec --allow-run-as-root --host ${MPI_HOST} -np 3 mpi_hello_world;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpimaster\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"500m\"\n                limits:\n                  cpu: \"500m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n    - replicas: 3\n      name: mpiworker\n      template:\n        spec:\n          containers:\n            - command:\n                - /bin/sh\n                - -c\n                - |\n                  mkdir -p /var/run/sshd; /usr/sbin/sshd -D;\n              image: docker.m.daocloud.io/volcanosh/example-mpi:0.0.1\n              name: mpiworker\n              ports:\n                - containerPort: 22\n                  name: mpijob-port\n              workingDir: /home\n              resources:\n                requests:\n                  cpu: \"1000m\"\n                limits:\n                  cpu: \"1000m\"\n          restartPolicy: OnFailure\n          imagePullSecrets:\n            - name: default-secret\n

                                                    \u751f\u6210 PodGroup \u7684\u8d44\u6e90\uff1a

                                                    apiVersion: scheduling.volcano.sh/v1beta1\nkind: PodGroup\nmetadata:\n  annotations:\n  creationTimestamp: \"2024-05-28T09:18:50Z\"\n  generation: 5\n  labels:\n    volcano.sh/job-type: MPI\n  name: lm-mpi-job-9c571015-37c7-4a1a-9604-eaa2248613f2\n  namespace: default\n  ownerReferences:\n  - apiVersion: batch.volcano.sh/v1alpha1\n    blockOwnerDeletion: true\n    controller: true\n    kind: Job\n    name: lm-mpi-job\n    uid: 9c571015-37c7-4a1a-9604-eaa2248613f2\n  resourceVersion: \"25173454\"\n  uid: 7b04632e-7cff-4884-8e9a-035b7649d33b\nspec:\n  minMember: 4\n  minResources:\n    count/pods: \"4\"\n    cpu: 3500m\n    limits.cpu: 3500m\n    pods: \"4\"\n    requests.cpu: 3500m\n  minTaskMember:\n    mpimaster: 1\n    mpiworker: 3\n  queue: default\nstatus:\n  conditions:\n  - lastTransitionTime: \"2024-05-28T09:19:01Z\"\n    message: '3/4 tasks in gang unschedulable: pod group is not ready, 1 Succeeded,\n      3 Releasing, 4 minAvailable'\n    reason: NotEnoughResources\n    status: \"True\"\n    transitionID: f875efa5-0358-4363-9300-06cebc0e7466\n    type: Unschedulable\n  - lastTransitionTime: \"2024-05-28T09:18:53Z\"\n    reason: tasks in gang are ready to be scheduled\n    status: \"True\"\n    transitionID: 5a7708c8-7d42-4c33-9d97-0581f7c06dab\n    type: Scheduled\n  phase: Pending\n  succeeded: 1\n

                                                    \u4ece PodGroup \u53ef\u4ee5\u770b\u51fa\uff0c\u901a\u8fc7 ownerReferences \u5173\u8054\u5230\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u8bbe\u7f6e\u6700\u5c0f\u8fd0\u884c\u7684 Pod \u6570\u4e3a 4\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano_binpack.html","title":"\u4f7f\u7528 Volcano Binpack \u8c03\u5ea6\u7b56\u7565","text":"

                                                    Binpack \u8c03\u5ea6\u7b97\u6cd5\u7684\u76ee\u6807\u662f\u5c3d\u91cf\u628a\u5df2\u88ab\u5360\u7528\u7684\u8282\u70b9\u586b\u6ee1\uff08\u5c3d\u91cf\u4e0d\u5f80\u7a7a\u767d\u8282\u70b9\u5206\u914d\uff09\u3002\u5177\u4f53\u5b9e\u73b0\u4e0a\uff0cBinpack \u8c03\u5ea6\u7b97\u6cd5\u4f1a\u7ed9\u6295\u9012\u7684\u8282\u70b9\u6253\u5206\uff0c \u5206\u6570\u8d8a\u9ad8\u8868\u793a\u8282\u70b9\u7684\u8d44\u6e90\u5229\u7528\u7387\u8d8a\u9ad8\u3002\u901a\u8fc7\u5c3d\u53ef\u80fd\u586b\u6ee1\u8282\u70b9\uff0c\u5c06\u5e94\u7528\u8d1f\u8f7d\u9760\u62e2\u5728\u90e8\u5206\u8282\u70b9\uff0c\u8fd9\u79cd\u8c03\u5ea6\u7b97\u6cd5\u80fd\u591f\u5c3d\u53ef\u80fd\u51cf\u5c0f\u8282\u70b9\u5185\u7684\u788e\u7247\uff0c \u5728\u7a7a\u95f2\u7684\u673a\u5668\u4e0a\u4e3a\u7533\u8bf7\u4e86\u66f4\u5927\u8d44\u6e90\u8bf7\u6c42\u7684 Pod \u9884\u7559\u8db3\u591f\u7684\u8d44\u6e90\u7a7a\u95f4\uff0c\u4f7f\u96c6\u7fa4\u4e0b\u7a7a\u95f2\u8d44\u6e90\u5f97\u5230\u6700\u5927\u5316\u7684\u5229\u7528\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano_binpack.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"

                                                    \u9884\u5148\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e0a\u5b89\u88c5 Volcano \u7ec4\u4ef6\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano_binpack.html#binpack","title":"Binpack \u7b97\u6cd5\u539f\u7406","text":"

                                                    Binpack \u5728\u5bf9\u4e00\u4e2a\u8282\u70b9\u6253\u5206\u65f6\uff0c\u4f1a\u6839\u636e Binpack \u63d2\u4ef6\u81ea\u8eab\u6743\u91cd\u548c\u5404\u8d44\u6e90\u8bbe\u7f6e\u7684\u6743\u91cd\u503c\u7efc\u5408\u6253\u5206\u3002 \u9996\u5148\uff0c\u5bf9 Pod \u8bf7\u6c42\u8d44\u6e90\u4e2d\u7684\u6bcf\u7c7b\u8d44\u6e90\u4f9d\u6b21\u6253\u5206\uff0c\u4ee5 CPU \u4e3a\u4f8b\uff0cCPU \u8d44\u6e90\u5728\u5f85\u8c03\u5ea6\u8282\u70b9\u7684\u5f97\u5206\u4fe1\u606f\u5982\u4e0b\uff1a

                                                    CPU.weight * (request + used) / allocatable\n

                                                    \u5373 CPU \u6743\u91cd\u503c\u8d8a\u9ad8\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u91cf\u8d8a\u6ee1\uff0c\u5f97\u5206\u8d8a\u9ad8\u3002Memory\u3001GPU \u7b49\u8d44\u6e90\u539f\u7406\u7c7b\u4f3c\u3002\u5176\u4e2d\uff1a

                                                    • CPU.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684 CPU \u6743\u91cd
                                                    • request \u4e3a\u5f53\u524d Pod \u8bf7\u6c42\u7684 CPU \u8d44\u6e90\u91cf
                                                    • used \u4e3a\u5f53\u524d\u8282\u70b9\u5df2\u7ecf\u5206\u914d\u4f7f\u7528\u7684 CPU \u91cf
                                                    • allocatable \u4e3a\u5f53\u524d\u8282\u70b9 CPU \u53ef\u7528\u603b\u91cf

                                                    \u901a\u8fc7 Binpack \u7b56\u7565\u7684\u8282\u70b9\u603b\u5f97\u5206\u5982\u4e0b\uff1a

                                                    binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                                                    \u5373 Binpack \u63d2\u4ef6\u7684\u6743\u91cd\u503c\u8d8a\u5927\uff0c\u5f97\u5206\u8d8a\u9ad8\uff0c\u67d0\u7c7b\u8d44\u6e90\u7684\u6743\u91cd\u8d8a\u5927\uff0c\u8be5\u8d44\u6e90\u5728\u6253\u5206\u65f6\u7684\u5360\u6bd4\u8d8a\u5927\u3002\u5176\u4e2d\uff1a

                                                    • binpack.weight \u4e3a\u7528\u6237\u8bbe\u7f6e\u7684\u88c5\u7bb1\u8c03\u5ea6\u7b56\u7565\u6743\u91cd
                                                    • CPU.score \u4e3a CPU \u8d44\u6e90\u5f97\u5206\uff0cCPU.weight \u4e3a CPU \u6743\u91cd
                                                    • Memory.score \u4e3a Memory \u8d44\u6e90\u5f97\u5206\uff0cMemory.weight \u4e3a Memory \u6743\u91cd
                                                    • GPU.score \u4e3a GPU \u8d44\u6e90\u5f97\u5206\uff0cGPU.weight \u4e3a GPU \u6743\u91cd

                                                    \u5982\u56fe\u6240\u793a\uff0c\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u8282\u70b9\uff0c\u5206\u522b\u4e3a Node1 \u548c Node 2\uff0c\u5728\u8c03\u5ea6 Pod \u65f6\uff0cBinpack \u7b56\u7565\u5bf9\u4e24\u4e2a\u8282\u70b9\u5206\u522b\u6253\u5206\u3002 \u5047\u8bbe\u96c6\u7fa4\u4e2d CPU.weight \u914d\u7f6e\u4e3a 1\uff0cMemory.weight \u914d\u7f6e\u4e3a 1\uff0cGPU.weight \u914d\u7f6e\u4e3a 2\uff0cbinpack.weight \u914d\u7f6e\u4e3a 5\u3002

                                                    1. Binpack \u5bf9 Node 1 \u7684\u8d44\u6e90\u6253\u5206\uff0c\u5404\u8d44\u6e90\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                                                      • CPU Score\uff1a

                                                        CPU.weight - (request + used) / allocatable = 1 - (2 + 4) / 8 = 0.75

                                                      • Memory Score\uff1a

                                                        Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                                                      • GPU Score\uff1a

                                                        GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                                                    2. \u8282\u70b9\u603b\u5f97\u5206\u7684\u8ba1\u7b97\u516c\u5f0f\u4e3a\uff1a

                                                      binpack.weight - (CPU.score + Memory.score + GPU.score) / (CPU.weight + Memory.weight + GPU.weight) - 100\n

                                                      \u5047\u8bbe binpack.weight \u914d\u7f6e\u4e3a 5\uff0cNode 1 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                                                      5 - (0.75 + 0.75 + 2) / (1 + 1 + 2) - 100 = 437.5\n
                                                    3. Binpack \u5bf9 Node 2 \u7684\u8d44\u6e90\u6253\u5206\uff1a

                                                      • CPU Score\uff1a

                                                        CPU.weight - (request + used) / allocatable = 1 - (2 + 6) / 8 = 1

                                                      • Memory Score\uff1a

                                                        Memory.weight - (request + used) / allocatable = 1 - (4 + 8) / 16 = 0.75

                                                      • GPU Score\uff1a

                                                        GPU.weight - (request + used) / allocatable = 2 - (4 + 4) / 8 = 2

                                                    4. Node 2 \u5728 Binpack \u7b56\u7565\u4e0b\u7684\u5f97\u5206\u4e3a\uff1a

                                                      5 - (1 + 0.75 + 2) / (1 + 1 + 2) - 100 = 468.75\n

                                                    \u7efc\u4e0a\uff0cNode 2 \u5f97\u5206\u5927\u4e8e Node 1\uff0c\u6309\u7167 Binpack \u7b56\u7565\uff0cPod \u5c06\u4f1a\u4f18\u5148\u8c03\u5ea6\u81f3 Node 2\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano_binpack.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                                                    Binpack \u8c03\u5ea6\u63d2\u4ef6\u5728\u5b89\u88c5 Volcano \u7684\u65f6\u5019\u9ed8\u8ba4\u5c31\u4f1a\u5f00\u542f\uff1b\u5982\u679c\u7528\u6237\u6ca1\u6709\u914d\u7f6e\u6743\u91cd\uff0c\u5219\u4f7f\u7528\u5982\u4e0b\u9ed8\u8ba4\u7684\u914d\u7f6e\u6743\u91cd\u3002

                                                    - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 1\n        binpack.cpu: 1\n        binpack.memory: 1\n

                                                    \u9ed8\u8ba4\u6743\u91cd\u4e0d\u80fd\u4f53\u73b0\u5806\u53e0\u7279\u6027\uff0c\u56e0\u6b64\u9700\u8981\u4fee\u6539\u4e3a binpack.weight: 10\u3002

                                                    kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                                                    - plugins:\n    - name: binpack\n      arguments:\n        binpack.weight: 10\n        binpack.cpu: 1\n        binpack.memory: 1\n        binpack.resources: nvidia.com/gpu, example.com/foo\n        binpack.resources.nvidia.com/gpu: 2\n        binpack.resources.example.com/foo: 3\n

                                                    \u6539\u597d\u4e4b\u540e\u91cd\u542f volcano-scheduler Pod \u4f7f\u5176\u751f\u6548\u3002

                                                    \u521b\u5efa\u5982\u4e0b\u7684 Deployment\u3002

                                                    apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: binpack-test\n  labels:\n    app: binpack-test\nspec:\n  replicas: 2\n  selector:\n    matchLabels:\n      app: test\n  template:\n    metadata:\n      labels:\n        app: test\n    spec:\n      schedulerName: volcano\n      containers:\n        - name: test\n          image: busybox\n          imagePullPolicy: IfNotPresent\n          command: [\"sh\", \"-c\", 'echo \"Hello, Kubernetes!\" && sleep 3600']\n          resources:\n            requests:\n              cpu: 500m\n            limits:\n              cpu: 500m\n

                                                    \u5728\u4e24\u4e2a Node \u7684\u96c6\u7fa4\u4e0a\u53ef\u4ee5\u770b\u5230 Pod \u88ab\u8c03\u5ea6\u5230\u4e00\u4e2a Node \u4e0a\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano_priority.html","title":"\u4f18\u5148\u7ea7\u62a2\u5360\uff08Preemption scheduling\uff09\u7b56\u7565","text":"

                                                    Volcano \u901a\u8fc7 Priority \u63d2\u4ef6\u5b9e\u73b0\u4e86\u4f18\u5148\u7ea7\u62a2\u5360\u7b56\u7565\uff0c\u5373 Preemption scheduling \u7b56\u7565\u3002\u5728\u96c6\u7fa4\u8d44\u6e90\u6709\u9650\u4e14\u591a\u4e2a Job \u7b49\u5f85\u8c03\u5ea6\u65f6\uff0c \u5982\u679c\u4f7f\u7528 Kubernetes \u9ed8\u8ba4\u8c03\u5ea6\u5668\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u5177\u6709\u66f4\u591a Pod \u6570\u91cf\u7684 Job \u5206\u5f97\u66f4\u591a\u8d44\u6e90\u3002\u800c Volcano-scheduler \u63d0\u4f9b\u4e86\u7b97\u6cd5\uff0c\u652f\u6301\u4e0d\u540c\u7684 Job \u4ee5 fair-share \u7684\u5f62\u5f0f\u5171\u4eab\u96c6\u7fa4\u8d44\u6e90\u3002

                                                    Priority \u63d2\u4ef6\u5141\u8bb8\u7528\u6237\u81ea\u5b9a\u4e49 Job \u548c Task \u7684\u4f18\u5148\u7ea7\uff0c\u5e76\u6839\u636e\u9700\u6c42\u5728\u4e0d\u540c\u5c42\u6b21\u4e0a\u5b9a\u5236\u8c03\u5ea6\u7b56\u7565\u3002 \u4f8b\u5982\uff0c\u5bf9\u4e8e\u91d1\u878d\u573a\u666f\u3001\u7269\u8054\u7f51\u76d1\u63a7\u573a\u666f\u7b49\u9700\u8981\u8f83\u9ad8\u5b9e\u65f6\u6027\u7684\u5e94\u7528\uff0cPriority \u63d2\u4ef6\u80fd\u591f\u786e\u4fdd\u5176\u4f18\u5148\u5f97\u5230\u8c03\u5ea6\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano_priority.html#_1","title":"\u4f7f\u7528\u65b9\u5f0f","text":"

                                                    \u4f18\u5148\u7ea7\u7684\u51b3\u5b9a\u57fa\u4e8e\u914d\u7f6e\u7684 PriorityClass \u4e2d\u7684 Value \u503c\uff0c\u503c\u8d8a\u5927\u4f18\u5148\u7ea7\u8d8a\u9ad8\u3002\u9ed8\u8ba4\u5df2\u542f\u7528\uff0c\u65e0\u9700\u4fee\u6539\u3002\u53ef\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u786e\u8ba4\u6216\u4fee\u6539\u3002

                                                    kubectl -n volcano-system edit configmaps volcano-scheduler-configmap\n
                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano_priority.html#_2","title":"\u4f7f\u7528\u6848\u4f8b","text":"

                                                    \u5047\u8bbe\u96c6\u7fa4\u4e2d\u5b58\u5728\u4e24\u4e2a\u7a7a\u95f2\u8282\u70b9\uff0c\u5e76\u6709\u4e09\u4e2a\u4f18\u5148\u7ea7\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff1ahigh-priority\u3001med-priority \u548c low-priority\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u5e76\u5360\u6ee1\u96c6\u7fa4\u8d44\u6e90\u540e\uff0c\u518d\u63d0\u4ea4 med-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u3002 \u7531\u4e8e\u96c6\u7fa4\u8d44\u6e90\u5168\u90e8\u88ab\u66f4\u9ad8\u4f18\u5148\u7ea7\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5360\u7528\uff0cmed-priority \u548c low-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u5904\u4e8e pending \u72b6\u6001\u3002 \u5f53 high-priority \u5de5\u4f5c\u8d1f\u8f7d\u7ed3\u675f\u540e\uff0c\u6839\u636e\u4f18\u5148\u7ea7\u8c03\u5ea6\u539f\u5219\uff0cmed-priority \u5de5\u4f5c\u8d1f\u8f7d\u5c06\u4f18\u5148\u88ab\u8c03\u5ea6\u3002

                                                    1. \u901a\u8fc7 priority.yaml \u521b\u5efa 3 \u4e2a\u4f18\u5148\u7ea7\u5b9a\u4e49\uff0c\u5206\u522b\u4e3a\uff1ahigh-priority\uff0cmed-priority\uff0clow-priority\u3002

                                                      \u67e5\u770b priority.yaml

                                                      cat <<EOF | kubectl apply -f - \napiVersion: scheduling.k8s.io/v1 \nkind: PriorityClass \nitems: \n  - metadata: \n      name: high-priority \n    value: 100 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: med-priority \n    value: 50 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \n  - metadata: \n      name: low-priority \n    value: 10 \n    globalDefault: false \n    description: \"This priority class should be used for volcano job only.\" \nEOF\n
                                                      2. \u67e5\u770b\u4f18\u5148\u7ea7\u5b9a\u4e49\u4fe1\u606f\u3002

                                                      kubectl get PriorityClass\n
                                                      NAME                      VALUE        GLOBAL-DEFAULT   AGE  \nhigh-priority             100          false            97s  \nlow-priority              10           false            97s  \nmed-priority              50           false            97s  \nsystem-cluster-critical   2000000000   false            6d6h  \nsystem-node-critical      2000001000   false            6d6h\n

                                                    2. \u521b\u5efa\u9ad8\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d high-priority-job\uff0c\u5360\u7528\u96c6\u7fa4\u7684\u5168\u90e8\u8d44\u6e90\u3002

                                                      \u67e5\u770b high-priority-job
                                                      cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-high  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: high-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                                                      \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod\u8fd0\u884c \u4fe1\u606f\uff1a

                                                      kubectl get pods\n
                                                      NAME                   READY   STATUS    RESTARTS   AGE  \npriority-high-test-0   1/1     Running   0          3s  \npriority-high-test-1   1/1     Running   0          3s  \npriority-high-test-2   1/1     Running   0          3s  \npriority-high-test-3   1/1     Running   0          3s\n

                                                      \u6b64\u65f6\uff0c\u96c6\u7fa4\u8282\u70b9\u8d44\u6e90\u5df2\u5168\u90e8\u88ab\u5360\u7528\u3002

                                                    3. \u521b\u5efa\u4e2d\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d med-priority-job \u548c\u4f4e\u4f18\u5148\u7ea7\u5de5\u4f5c\u8d1f\u8f7d low-priority-job\u3002

                                                      med-priority-job
                                                      cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-medium  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: med-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n
                                                      low-priority-job
                                                      cat <<EOF | kubectl apply -f -  \napiVersion: batch.volcano.sh/v1alpha1  \nkind: Job  \nmetadata:  \n  name: priority-low  \nspec:  \n  schedulerName: volcano  \n  minAvailable: 4  \n  priorityClassName: low-priority  \n  tasks:  \n    - replicas: 4  \n      name: \"test\"  \n      template:  \n        spec:  \n          containers:  \n            - image: alpine  \n              command: [\"/bin/sh\", \"-c\", \"sleep 1000\"]  \n              imagePullPolicy: IfNotPresent  \n              name: running  \n              resources:  \n                requests:  \n                  cpu: \"4\"  \n          restartPolicy: OnFailure  \nEOF\n

                                                      \u901a\u8fc7 kubectl get pod \u67e5\u770b Pod \u8fd0\u884c\u4fe1\u606f\uff0c\u96c6\u7fa4\u8d44\u6e90\u4e0d\u8db3\uff0cPod \u5904\u4e8e Pending \u72b6\u6001\uff1a

                                                      kubectl get pods\n
                                                      NAME                     READY   STATUS    RESTARTS   AGE  \npriority-high-test-0     1/1     Running   0          3m29s  \npriority-high-test-1     1/1     Running   0          3m29s  \npriority-high-test-2     1/1     Running   0          3m29s  \npriority-high-test-3     1/1     Running   0          3m29s  \npriority-low-test-0      0/1     Pending   0          2m26s  \npriority-low-test-1      0/1     Pending   0          2m26s  \npriority-low-test-2      0/1     Pending   0          2m26s  \npriority-low-test-3      0/1     Pending   0          2m26s  \npriority-medium-test-0   0/1     Pending   0          2m36s  \npriority-medium-test-1   0/1     Pending   0          2m36s  \npriority-medium-test-2   0/1     Pending   0          2m36s  \npriority-medium-test-3   0/1     Pending   0          2m36s\n

                                                    4. \u5220\u9664 high_priority_job \u5de5\u4f5c\u8d1f\u8f7d\uff0c\u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0cmed_priority_job \u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002 \u6267\u884c kubectl delete -f high_priority_job.yaml \u91ca\u653e\u96c6\u7fa4\u8d44\u6e90\uff0c\u67e5\u770b Pod \u7684\u8c03\u5ea6\u4fe1\u606f\uff1a

                                                      kubectl get pods\n
                                                      NAME                     READY   STATUS    RESTARTS   AGE  \npriority-low-test-0      0/1     Pending   0          5m18s  \npriority-low-test-1      0/1     Pending   0          5m18s  \npriority-low-test-2      0/1     Pending   0          5m18s  \npriority-low-test-3      0/1     Pending   0          5m18s  \npriority-medium-test-0   1/1     Running   0          5m28s  \npriority-medium-test-1   1/1     Running   0          5m28s  \npriority-medium-test-2   1/1     Running   0          5m28s  \npriority-medium-test-3   1/1     Running   0          5m28s\n

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano_user_guide.html","title":"\u5b89\u88c5 Volcano","text":"

                                                    \u968f\u7740 Kubernetes\uff08K8s\uff09\u6210\u4e3a\u4e91\u539f\u751f\u5e94\u7528\u7f16\u6392\u4e0e\u7ba1\u7406\u7684\u9996\u9009\u5e73\u53f0\uff0c\u4f17\u591a\u5e94\u7528\u6b63\u79ef\u6781\u5411 K8s \u8fc1\u79fb\u3002 \u5728\u4eba\u5de5\u667a\u80fd\u4e0e\u673a\u5668\u5b66\u4e60\u9886\u57df\uff0c\u7531\u4e8e\u8fd9\u4e9b\u4efb\u52a1\u901a\u5e38\u6d89\u53ca\u5927\u91cf\u8ba1\u7b97\uff0c\u5f00\u53d1\u8005\u503e\u5411\u4e8e\u5728 Kubernetes \u4e0a\u6784\u5efa AI \u5e73\u53f0\uff0c \u4ee5\u5145\u5206\u5229\u7528\u5176\u5728\u8d44\u6e90\u7ba1\u7406\u3001\u5e94\u7528\u7f16\u6392\u53ca\u8fd0\u7ef4\u76d1\u63a7\u65b9\u9762\u7684\u4f18\u52bf\u3002

                                                    \u7136\u800c\uff0cKubernetes \u7684\u9ed8\u8ba4\u8c03\u5ea6\u5668\u4e3b\u8981\u9488\u5bf9\u957f\u671f\u8fd0\u884c\u7684\u670d\u52a1\u8bbe\u8ba1\uff0c\u5bf9\u4e8e AI\u3001\u5927\u6570\u636e\u7b49\u9700\u8981\u6279\u91cf\u548c\u5f39\u6027\u8c03\u5ea6\u7684\u4efb\u52a1\u5b58\u5728\u8bf8\u591a\u4e0d\u8db3\u3002 \u4f8b\u5982\uff0c\u5728\u8d44\u6e90\u7ade\u4e89\u6fc0\u70c8\u7684\u60c5\u51b5\u4e0b\uff0c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u53ef\u80fd\u5bfc\u81f4\u8d44\u6e90\u5206\u914d\u4e0d\u5747\uff0c\u8fdb\u800c\u5f71\u54cd\u4efb\u52a1\u7684\u6b63\u5e38\u6267\u884c\u3002

                                                    \u4ee5 TensorFlow \u4f5c\u4e1a\u4e3a\u4f8b\uff0c\u5176\u5305\u542b PS\uff08\u53c2\u6570\u670d\u52a1\u5668\uff09\u548c Worker \u4e24\u79cd\u89d2\u8272\uff0c\u4e24\u8005\u9700\u534f\u540c\u5de5\u4f5c\u624d\u80fd\u5b8c\u6210\u4efb\u52a1\u3002 \u82e5\u4ec5\u90e8\u7f72\u5355\u4e00\u89d2\u8272\uff0c\u4f5c\u4e1a\u5c06\u65e0\u6cd5\u8fd0\u884c\u3002\u800c\u9ed8\u8ba4\u8c03\u5ea6\u5668\u5bf9 Pod \u7684\u8c03\u5ea6\u662f\u9010\u4e2a\u8fdb\u884c\u7684\uff0c\u65e0\u6cd5\u611f\u77e5 TFJob \u4e2d PS \u548c Worker \u7684\u4f9d\u8d56\u5173\u7cfb\u3002 \u5728\u9ad8\u8d1f\u8f7d\u60c5\u51b5\u4e0b\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u591a\u4e2a\u4f5c\u4e1a\u5404\u81ea\u5206\u914d\u5230\u90e8\u5206\u8d44\u6e90\uff0c\u4f46\u5747\u65e0\u6cd5\u5b8c\u6210\uff0c\u4ece\u800c\u9020\u6210\u8d44\u6e90\u6d6a\u8d39\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano_user_guide.html#volcano_1","title":"Volcano \u7684\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf","text":"

                                                    Volcano \u63d0\u4f9b\u4e86\u591a\u79cd\u8c03\u5ea6\u7b56\u7565\uff0c\u4ee5\u5e94\u5bf9\u4e0a\u8ff0\u6311\u6218\u3002\u5176\u4e2d\uff0cGang-scheduling \u7b56\u7565\u80fd\u786e\u4fdd\u5206\u5e03\u5f0f\u673a\u5668\u5b66\u4e60\u8bad\u7ec3\u8fc7\u7a0b\u4e2d\u591a\u4e2a\u4efb\u52a1\uff08Pod\uff09\u540c\u65f6\u542f\u52a8\uff0c \u907f\u514d\u6b7b\u9501\uff1bPreemption scheduling \u7b56\u7565\u5219\u5141\u8bb8\u9ad8\u4f18\u5148\u7ea7\u4f5c\u4e1a\u5728\u8d44\u6e90\u4e0d\u8db3\u65f6\u62a2\u5360\u4f4e\u4f18\u5148\u7ea7\u4f5c\u4e1a\u7684\u8d44\u6e90\uff0c\u786e\u4fdd\u5173\u952e\u4efb\u52a1\u4f18\u5148\u5b8c\u6210\u3002

                                                    \u6b64\u5916\uff0cVolcano \u4e0e Spark\u3001TensorFlow\u3001PyTorch \u7b49\u4e3b\u6d41\u8ba1\u7b97\u6846\u67b6\u65e0\u7f1d\u5bf9\u63a5\uff0c\u5e76\u652f\u6301 CPU \u548c GPU \u7b49\u5f02\u6784\u8bbe\u5907\u7684\u6df7\u5408\u8c03\u5ea6\uff0c\u4e3a AI \u8ba1\u7b97\u4efb\u52a1\u63d0\u4f9b\u4e86\u5168\u9762\u7684\u4f18\u5316\u652f\u6301\u3002

                                                    \u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5\u548c\u4f7f\u7528 Volcano\uff0c\u4ee5\u4fbf\u60a8\u80fd\u591f\u5145\u5206\u5229\u7528\u5176\u8c03\u5ea6\u7b56\u7565\u4f18\u52bf\uff0c\u4f18\u5316 AI \u8ba1\u7b97\u4efb\u52a1\u3002

                                                    "},{"location":"end-user/kpanda/gpu/volcano/volcano_user_guide.html#volcano_2","title":"\u5b89\u88c5 Volcano","text":"
                                                    1. \u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 -> Helm \u6a21\u677f \u4e2d\u627e\u5230 Volcano \u5e76\u5b89\u88c5\u3002

                                                    2. \u68c0\u67e5\u5e76\u786e\u8ba4 Volcano \u662f\u5426\u5b89\u88c5\u5b8c\u6210\uff0c\u5373 volcano-admission\u3001volcano-controllers\u3001volcano-scheduler \u7ec4\u4ef6\u662f\u5426\u6b63\u5e38\u8fd0\u884c\u3002

                                                    \u901a\u5e38 Volcano \u4f1a\u548c AI Lab \u5e73\u53f0\u914d\u5408\u4f7f\u7528\uff0c\u4ee5\u5b9e\u73b0\u6570\u636e\u96c6\u3001Notebook\u3001\u4efb\u52a1\u8bad\u7ec3\u7684\u6574\u4e2a\u5f00\u53d1\u3001\u8bad\u7ec3\u6d41\u7a0b\u7684\u6709\u6548\u95ed\u73af\u3002

                                                    "},{"location":"end-user/kpanda/helm/index.html","title":"Helm \u6a21\u677f","text":"

                                                    Helm \u662f Kubernetes \u7684\u5305\u7ba1\u7406\u5de5\u5177\uff0c\u65b9\u4fbf\u7528\u6237\u5feb\u901f\u53d1\u73b0\u3001\u5171\u4eab\u548c\u4f7f\u7528 Kubernetes \u6784\u5efa\u7684\u5e94\u7528\u3002\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u4e86\u4e0a\u767e\u4e2a Helm \u6a21\u677f\uff0c\u6db5\u76d6\u5b58\u50a8\u3001\u7f51\u7edc\u3001\u76d1\u63a7\u3001\u6570\u636e\u5e93\u7b49\u4e3b\u8981\u573a\u666f\u3002\u501f\u52a9\u8fd9\u4e9b\u6a21\u677f\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7 UI \u754c\u9762\u5feb\u901f\u90e8\u7f72\u3001\u4fbf\u6377\u7ba1\u7406 Helm \u5e94\u7528\u3002\u6b64\u5916\uff0c\u652f\u6301\u901a\u8fc7\u6dfb\u52a0 Helm \u4ed3\u5e93 \u6dfb\u52a0\u66f4\u591a\u7684\u4e2a\u6027\u5316\u6a21\u677f\uff0c\u6ee1\u8db3\u591a\u6837\u9700\u6c42\u3002

                                                    \u5173\u952e\u6982\u5ff5\uff1a

                                                    \u4f7f\u7528 Helm \u65f6\u9700\u8981\u4e86\u89e3\u4ee5\u4e0b\u51e0\u4e2a\u5173\u952e\u6982\u5ff5\uff1a

                                                    • Chart\uff1a\u4e00\u4e2a Helm \u5b89\u88c5\u5305\uff0c\u5176\u4e2d\u5305\u542b\u4e86\u8fd0\u884c\u4e00\u4e2a\u5e94\u7528\u6240\u9700\u8981\u7684\u955c\u50cf\u3001\u4f9d\u8d56\u548c\u8d44\u6e90\u5b9a\u4e49\u7b49\uff0c\u8fd8\u53ef\u80fd\u5305\u542b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u670d\u52a1\u5b9a\u4e49\uff0c\u7c7b\u4f3c Homebrew \u4e2d\u7684 formula\u3001APT \u7684 dpkg \u6216\u8005 Yum \u7684 rpm \u6587\u4ef6\u3002Chart \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u6a21\u677f \u3002

                                                    • Release\uff1a\u5728 Kubernetes \u96c6\u7fa4\u4e0a\u8fd0\u884c\u7684\u4e00\u4e2a Chart \u5b9e\u4f8b\u3002\u4e00\u4e2a Chart \u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u591a\u6b21\u5b89\u88c5\uff0c\u6bcf\u6b21\u5b89\u88c5\u90fd\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Release\u3002Release \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u5e94\u7528 \u3002

                                                    • Repository\uff1a\u7528\u4e8e\u53d1\u5e03\u548c\u5b58\u50a8 Chart \u7684\u5b58\u50a8\u5e93\u3002Repository \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u79f0\u4e3a Helm \u4ed3\u5e93\u3002

                                                    \u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u524d\u5f80 Helm \u5b98\u7f51\u67e5\u770b\u3002

                                                    \u76f8\u5173\u64cd\u4f5c\uff1a

                                                    • \u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u4ecb\u7ecd\u4e0a\u4f20 Helm \u6a21\u677f\u64cd\u4f5c\u3002
                                                    • \u7ba1\u7406 Helm \u5e94\u7528\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5378\u8f7d Helm \u5e94\u7528\uff0c\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002
                                                    • \u7ba1\u7406 Helm \u4ed3\u5e93\uff0c\u5305\u62ec\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664 Helm \u4ed3\u5e93\u7b49\u3002
                                                    "},{"location":"end-user/kpanda/helm/Import-addon.html","title":"\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon","text":"

                                                    \u672c\u6587\u4ece\u79bb\u7ebf\u548c\u5728\u7ebf\u4e24\u79cd\u73af\u5883\u8bf4\u660e\u5982\u4f55\u5c06 Helm \u5e94\u7528\u5bfc\u5165\u5230\u7cfb\u7edf\u5185\u7f6e\u7684 Addon \u4e2d\u3002

                                                    "},{"location":"end-user/kpanda/helm/Import-addon.html#_1","title":"\u79bb\u7ebf\u73af\u5883","text":"

                                                    \u79bb\u7ebf\u73af\u5883\u6307\u7684\u662f\u65e0\u6cd5\u8fde\u901a\u4e92\u8054\u7f51\u6216\u5c01\u95ed\u7684\u79c1\u6709\u7f51\u7edc\u73af\u5883\u3002

                                                    "},{"location":"end-user/kpanda/helm/Import-addon.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5b58\u5728\u53ef\u4ee5\u8fd0\u884c\u7684\u00a0charts-syncer\u3002 \u82e5\u6ca1\u6709\uff0c\u53ef\u70b9\u51fb\u4e0b\u8f7d\u3002
                                                    • Helm Chart \u5df2\u7ecf\u5b8c\u6210\u9002\u914d charts-syncer\u3002 \u5373\u5728 Helm Chart \u5185\u6dfb\u52a0\u4e86 .relok8s-images.yaml \u6587\u4ef6\u3002\u8be5\u6587\u4ef6\u9700\u8981\u5305\u542b Chart \u4e2d\u6240\u6709\u4f7f\u7528\u5230\u955c\u50cf\uff0c \u4e5f\u53ef\u4ee5\u5305\u542b Chart \u4e2d\u672a\u76f4\u63a5\u4f7f\u7528\u7684\u955c\u50cf\uff0c\u7c7b\u4f3c Operator \u4e2d\u4f7f\u7528\u7684\u955c\u50cf\u3002

                                                    Note

                                                    • \u5982\u4f55\u7f16\u5199 Chart \u53ef\u53c2\u8003\u00a0image-hints-file\u3002 \u8981\u6c42\u955c\u50cf\u7684\u00a0registry \u548c repository \u5fc5\u987b\u5206\u5f00\uff0c\u56e0\u4e3a load \u955c\u50cf\u65f6\u9700\u66ff\u6362\u6216\u4fee\u6539 registry/repository\u3002
                                                    • \u5b89\u88c5\u5668\u6240\u5728\u7684\u706b\u79cd\u96c6\u7fa4\u5df2\u5b89\u88c5 charts-syncer\u3002 \u82e5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u5b89\u88c5\u5668\u6240\u5728\u706b\u79cd\u96c6\u7fa4\uff0c\u53ef\u8df3\u8fc7\u4e0b\u8f7d\u76f4\u63a5\u9002\u914d\uff1b \u82e5\u672a\u5b89\u88c5\u00a0charts-syncer\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c \u53ef\u7acb\u5373\u4e0b\u8f7d\u3002
                                                    "},{"location":"end-user/kpanda/helm/Import-addon.html#helm-chart","title":"\u540c\u6b65 Helm Chart","text":"
                                                    1. \u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u641c\u7d22 addon\uff0c\u83b7\u53d6\u5185\u7f6e\u4ed3\u5e93\u5730\u5740\u548c\u7528\u6237\u540d/\u5bc6\u7801\uff08\u7cfb\u7edf\u5185\u7f6e\u4ed3\u5e93\u9ed8\u8ba4\u7528\u6237\u540d/\u5bc6\u7801\u4e3a rootuser/rootpass123\uff09\u3002
                                                    1. \u540c\u6b65 Helm Chart \u5230\u5bb9\u5668\u7ba1\u7406\u5185\u7f6e\u4ed3\u5e93 Addon

                                                      • \u7f16\u5199\u5982\u4e0b\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u914d\u7f6e\u4fee\u6539\uff0c\u5e76\u4fdd\u5b58\u4e3a sync-dao-2048.yaml\u3002

                                                        source:  # helm charts \u6e90\u4fe1\u606f\n  repo:\n    kind: HARBOR # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 CHARTMUSEUM\n    url: https://release-ci.daocloud.io/chartrepo/community #  \u9700\u66f4\u6539\u4e3a chart repo url\n    #auth: # \u7528\u6237\u540d/\u5bc6\u7801,\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      #username: \"admin\"\n      #password: \"Harbor12345\"\ncharts:  # \u9700\u8981\u540c\u6b65\n  - name: dao-2048 # helm charts \u4fe1\u606f\uff0c\u82e5\u4e0d\u586b\u5199\u5219\u540c\u6b65\u6e90 helm repo \u5185\u6240\u6709 charts\n    versions:\n      - 1.4.1\ntarget:  # helm charts \u76ee\u6807\u4fe1\u606f\n  containerRegistry: 10.5.14.40 # \u955c\u50cf\u4ed3\u5e93 url\n  repo:\n    kind: CHARTMUSEUM # \u4e5f\u53ef\u4ee5\u662f\u4efb\u4f55\u5176\u4ed6\u652f\u6301\u7684 Helm Chart \u4ed3\u5e93\u7c7b\u522b\uff0c\u6bd4\u5982 HARBOR\n    url: http://10.5.14.40:8081 #  \u9700\u66f4\u6539\u4e3a\u6b63\u786e chart repo url\uff0c\u53ef\u4ee5\u901a\u8fc7 helm repo add $HELM-REPO \u9a8c\u8bc1\u5730\u5740\u662f\u5426\u6b63\u786e\n    auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199\n      username: \"rootuser\"\n      password: \"rootpass123\"\n  containers:\n    # kind: HARBOR # \u82e5\u955c\u50cf\u4ed3\u5e93\u4e3a HARBOR \u4e14\u5e0c\u671b charts-syncer \u81ea\u52a8\u521b\u5efa\u955c\u50cf Repository \u5219\u586b\u5199\u8be5\u5b57\u6bb5  \n    # auth: # \u7528\u6237\u540d/\u5bc6\u7801\uff0c\u82e5\u6ca1\u6709\u8bbe\u7f6e\u5bc6\u7801\u53ef\u4ee5\u4e0d\u586b\u5199 \n      # username: \"admin\"\n      # password: \"Harbor12345\"\n\n# leverage .relok8s-images.yaml file inside the Charts to move the container images too\nrelocateContainerImages: true\n
                                                      • \u6267\u884c charts-syncer \u547d\u4ee4\u540c\u6b65 Chart \u53ca\u5176\u5305\u542b\u7684\u955c\u50cf

                                                        charts-syncer sync --config sync-dao-2048.yaml --insecure --auto-create-repository\n

                                                        \u9884\u671f\u8f93\u51fa\u4e3a\uff1a

                                                        I1222 15:01:47.119777    8743 sync.go:45] Using config file: \"examples/sync-dao-2048.yaml\"\nW1222 15:01:47.234238    8743 syncer.go:263] Ignoring skipDependencies option as dependency sync is not supported if container image relocation is true or syncing from/to intermediate directory\nI1222 15:01:47.234685    8743 sync.go:58] There is 1 chart out of sync!\nI1222 15:01:47.234706    8743 sync.go:66] Syncing \"dao-2048_1.4.1\" chart...\n.relok8s-images.yaml hints file found\nComputing relocation...\n\nRelocating dao-2048@1.4.1...\nPushing 10.5.14.40/daocloud/dao-2048:v1.4.1...\nDone\nDone moving /var/folders/vm/08vw0t3j68z9z_4lcqyhg8nm0000gn/T/charts-syncer869598676/dao-2048-1.4.1.tgz\n
                                                    2. \u5f85\u4e0a\u4e00\u6b65\u6267\u884c\u5b8c\u6210\u540e\uff0c\u8fdb\u5165\u5bb9\u5668\u7ba1\u7406 -> Helm \u5e94\u7528 -> Helm \u4ed3\u5e93\uff0c\u627e\u5230\u5bf9\u5e94 Addon\uff0c \u5728\u64cd\u4f5c\u680f\u70b9\u51fb\u540c\u6b65\u4ed3\u5e93\uff0c\u56de\u5230 Helm \u6a21\u677f\u5c31\u53ef\u4ee5\u770b\u5230\u4e0a\u4f20\u7684 Helm \u5e94\u7528

                                                    3. \u540e\u7eed\u53ef\u6b63\u5e38\u8fdb\u884c\u5b89\u88c5\u3001\u5347\u7ea7\u3001\u5378\u8f7d

                                                    "},{"location":"end-user/kpanda/helm/Import-addon.html#_3","title":"\u5728\u7ebf\u73af\u5883","text":"

                                                    \u5728\u7ebf\u73af\u5883\u7684 Helm Repo \u5730\u5740\u4e3a release.daocloud.io\u3002 \u5982\u679c\u7528\u6237\u65e0\u6743\u9650\u6dfb\u52a0 Helm Repo\uff0c\u5219\u65e0\u6cd5\u5c06\u81ea\u5b9a\u4e49 Helm \u5e94\u7528\u5bfc\u5165\u7cfb\u7edf\u5185\u7f6e Addon\u3002 \u60a8\u53ef\u4ee5\u6dfb\u52a0\u81ea\u5df1\u642d\u5efa\u7684 Helm \u4ed3\u5e93\uff0c\u7136\u540e\u6309\u7167\u79bb\u7ebf\u73af\u5883\u4e2d\u540c\u6b65 Helm Chart \u7684\u6b65\u9aa4\u5c06\u60a8\u7684 Helm \u4ed3\u5e93\u96c6\u6210\u5230\u5e73\u53f0\u4f7f\u7528\u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-app.html","title":"\u7ba1\u7406 Helm \u5e94\u7528","text":"

                                                    \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5bf9 Helm \u8fdb\u884c\u754c\u9762\u5316\u7ba1\u7406\uff0c\u5305\u62ec\u4f7f\u7528 Helm \u6a21\u677f\u521b\u5efa Helm \u5b9e\u4f8b\u3001\u81ea\u5b9a\u4e49 Helm \u5b9e\u4f8b\u53c2\u6570\u3001\u5bf9 Helm \u5b9e\u4f8b\u8fdb\u884c\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u7b49\u529f\u80fd\u3002

                                                    \u672c\u8282\u5c06\u4ee5 cert-manager \u4e3a\u4f8b\uff0c\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u521b\u5efa\u5e76\u7ba1\u7406 Helm \u5e94\u7528\u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-app.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-app.html#helm_1","title":"\u5b89\u88c5 Helm \u5e94\u7528","text":"

                                                    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5b89\u88c5 Helm \u5e94\u7528\u3002

                                                    1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u8fdb\u5165 Helm \u6a21\u677f\u9875\u9762\u3002

                                                      \u5728 Helm \u6a21\u677f\u9875\u9762\u9009\u62e9\u540d\u4e3a addon \u7684 Helm \u4ed3\u5e93\uff0c\u6b64\u65f6\u754c\u9762\u4e0a\u5c06\u5448\u73b0 addon \u4ed3\u5e93\u4e0b\u6240\u6709\u7684 Helm chart \u6a21\u677f\u3002 \u70b9\u51fb\u540d\u79f0\u4e3a cert-manager \u7684 Chart\u3002

                                                    3. \u5728\u5b89\u88c5\u9875\u9762\uff0c\u80fd\u591f\u770b\u5230 Chart \u7684\u76f8\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u5728\u754c\u9762\u53f3\u4e0a\u89d2\u9009\u62e9\u9700\u8981\u5b89\u88c5\u7684\u7248\u672c\uff0c\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u6b64\u5904\u9009\u62e9 v1.9.1 \u7248\u672c\u8fdb\u884c\u5b89\u88c5\u3002

                                                    4. \u914d\u7f6e \u540d\u79f0 \u3001 \u547d\u540d\u7a7a\u95f4 \u53ca \u7248\u672c\u4fe1\u606f \uff0c\u4e5f\u53ef\u4ee5\u5728\u4e0b\u65b9\u7684 \u53c2\u6570\u914d\u7f6e \u533a\u57df\u901a\u8fc7\u4fee\u6539 YAML \u6765\u81ea\u5b9a\u4e49\u53c2\u6570\u3002\u70b9\u51fb \u786e\u5b9a \u3002

                                                    5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u65b0\u521b\u5efa\u7684 Helm \u5e94\u7528\u72b6\u6001\u4e3a \u5b89\u88c5\u4e2d \uff0c\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u540e\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-app.html#helm_2","title":"\u66f4\u65b0 Helm \u5e94\u7528","text":"

                                                    \u5f53\u6211\u4eec\u901a\u8fc7\u754c\u9762\u5b8c\u6210\u4e00\u4e2a Helm \u5e94\u7528\u7684\u5b89\u88c5\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u5bf9 Helm \u5e94\u7528\u6267\u884c\u66f4\u65b0\u64cd\u4f5c\u3002\u6ce8\u610f\uff1a\u53ea\u6709\u901a\u8fc7\u754c\u9762\u5b89\u88c5\u7684 Helm \u5e94\u7528\u624d\u652f\u6301\u4f7f\u7528\u754c\u9762\u8fdb\u884c\u66f4\u65b0\u64cd\u4f5c\u3002

                                                    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u66f4\u65b0 Helm \u5e94\u7528\u3002

                                                    1. \u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                                                      \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u9700\u8981\u66f4\u65b0\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u66f4\u65b0 \u64cd\u4f5c\u3002

                                                    3. \u70b9\u51fb \u66f4\u65b0 \u6309\u94ae\u540e\uff0c\u7cfb\u7edf\u5c06\u8df3\u8f6c\u81f3\u66f4\u65b0\u754c\u9762\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u8981\u5bf9 Helm \u5e94\u7528\u8fdb\u884c\u66f4\u65b0\uff0c\u6b64\u5904\u6211\u4eec\u4ee5\u66f4\u65b0 dao-2048 \u8fd9\u4e2a\u5e94\u7528\u7684 http \u7aef\u53e3\u4e3a\u4f8b\u3002

                                                    4. \u4fee\u6539\u5b8c\u76f8\u5e94\u53c2\u6570\u540e\u3002\u60a8\u53ef\u4ee5\u5728\u53c2\u6570\u914d\u7f6e\u4e0b\u70b9\u51fb \u53d8\u5316 \u6309\u94ae\uff0c\u5bf9\u6bd4\u4fee\u6539\u524d\u540e\u7684\u6587\u4ef6\uff0c\u786e\u5b9a\u65e0\u8bef\u540e\uff0c\u70b9\u51fb\u5e95\u90e8 \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 Helm \u5e94\u7528\u7684\u66f4\u65b0\u3002

                                                    5. \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de Helm \u5e94\u7528\u5217\u8868\uff0c\u53f3\u4e0a\u89d2\u5f39\u7a97\u63d0\u793a \u66f4\u65b0\u6210\u529f \u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-app.html#helm_3","title":"\u67e5\u770b Helm \u64cd\u4f5c\u8bb0\u5f55","text":"

                                                    Helm \u5e94\u7528\u7684\u6bcf\u6b21\u5b89\u88c5\u3001\u66f4\u65b0\u3001\u5220\u9664\u90fd\u6709\u8be6\u7ec6\u7684\u64cd\u4f5c\u8bb0\u5f55\u548c\u65e5\u5fd7\u53ef\u4f9b\u67e5\u770b\u3002

                                                    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb \u96c6\u7fa4\u8fd0\u7ef4 -> \u6700\u8fd1\u64cd\u4f5c \uff0c\u7136\u540e\u5728\u9875\u9762\u4e0a\u65b9\u9009\u62e9 Helm \u64cd\u4f5c \u6807\u7b7e\u9875\u3002\u6bcf\u4e00\u6761\u8bb0\u5f55\u5bf9\u5e94\u4e00\u6b21\u5b89\u88c5/\u66f4\u65b0/\u5220\u9664\u64cd\u4f5c\u3002

                                                    2. \u5982\u9700\u67e5\u770b\u6bcf\u4e00\u6b21\u64cd\u4f5c\u7684\u8be6\u7ec6\u65e5\u5fd7\uff1a\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9 \u65e5\u5fd7 \u3002

                                                    3. \u6b64\u65f6\u9875\u9762\u4e0b\u65b9\u5c06\u4ee5\u63a7\u5236\u53f0\u7684\u5f62\u5f0f\u5c55\u793a\u8be6\u7ec6\u7684\u8fd0\u884c\u65e5\u5fd7\u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-app.html#helm_4","title":"\u5220\u9664 Helm \u5e94\u7528","text":"

                                                    \u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5220\u9664 Helm \u5e94\u7528\u3002

                                                    1. \u627e\u5230\u5f85\u5220\u9664\u7684 Helm \u5e94\u7528\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb Helm \u5e94\u7528 \uff0c\u8fdb\u5165 Helm \u5e94\u7528\u5217\u8868\u9875\u9762\u3002

                                                      \u5728 Helm \u5e94\u7528\u5217\u8868\u9875\u9009\u62e9\u60a8\u9700\u8981\u5220\u9664\u7684 Helm \u5e94\u7528\uff0c\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff0c\u5728\u4e0b\u62c9\u9009\u62e9\u4e2d\u9009\u62e9 \u5220\u9664 \u3002

                                                    3. \u5728\u5f39\u7a97\u5185\u8f93\u5165 Helm \u5e94\u7528\u7684\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u7136\u540e\u70b9\u51fb \u5220\u9664 \u6309\u94ae\u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-repo.html","title":"\u7ba1\u7406 Helm \u4ed3\u5e93","text":"

                                                    Helm \u4ed3\u5e93\u662f\u7528\u6765\u5b58\u50a8\u548c\u53d1\u5e03 Chart \u7684\u5b58\u50a8\u5e93\u3002Helm \u5e94\u7528\u6a21\u5757\u652f\u6301\u901a\u8fc7 HTTP(s) \u534f\u8bae\u6765\u8bbf\u95ee\u5b58\u50a8\u5e93\u4e2d\u7684 Chart \u5305\u3002\u7cfb\u7edf\u9ed8\u8ba4\u5185\u7f6e\u4e86\u4e0b\u8868\u6240\u793a\u7684 4 \u4e2a Helm \u4ed3\u5e93\u4ee5\u6ee1\u8db3\u4f01\u4e1a\u751f\u4ea7\u8fc7\u7a0b\u4e2d\u7684\u5e38\u89c1\u9700\u6c42\u3002

                                                    \u4ed3\u5e93 \u63cf\u8ff0 \u793a\u4f8b partner \u7531\u751f\u6001\u5408\u4f5c\u4f19\u4f34\u6240\u63d0\u4f9b\u7684\u5404\u7c7b\u4f18\u8d28\u7279\u8272 Chart tidb system \u7cfb\u7edf\u6838\u5fc3\u529f\u80fd\u7ec4\u4ef6\u53ca\u90e8\u5206\u9ad8\u7ea7\u529f\u80fd\u6240\u5fc5\u9700\u4f9d\u8d56\u7684 Chart\uff0c\u5982\u5fc5\u9700\u5b89\u88c5 insight-agent \u624d\u80fd\u591f\u83b7\u53d6\u96c6\u7fa4\u7684\u76d1\u63a7\u4fe1\u606f Insight addon \u4e1a\u52a1\u573a\u666f\u4e2d\u5e38\u89c1\u7684 Chart cert-manager community Kubernetes \u793e\u533a\u8f83\u4e3a\u70ed\u95e8\u7684\u5f00\u6e90\u7ec4\u4ef6 Chart Istio

                                                    \u9664\u4e0a\u8ff0\u9884\u7f6e\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u81ea\u884c\u6dfb\u52a0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6dfb\u52a0\u3001\u66f4\u65b0\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-repo.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762

                                                    • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    • \u5982\u679c\u4f7f\u7528\u79c1\u6709\u4ed3\u5e93\uff0c\u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u62e5\u6709\u5bf9\u8be5\u79c1\u6709\u4ed3\u5e93\u7684\u8bfb\u5199\u6743\u9650\u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-repo.html#helm_1","title":"\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93","text":"

                                                    \u4e0b\u9762\u4ee5 Kubevela \u516c\u5f00\u7684\u955c\u50cf\u4ed3\u5e93\u4e3a\u4f8b\uff0c\u5f15\u5165 Helm \u4ed3\u5e93\u5e76\u7ba1\u7406\u3002

                                                    1. \u627e\u5230\u9700\u8981\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u9875\u9762\u3002

                                                    3. \u5728 Helm \u4ed3\u5e93\u9875\u9762\u70b9\u51fb \u521b\u5efa\u4ed3\u5e93 \u6309\u94ae\uff0c\u8fdb\u5165\u521b\u5efa\u4ed3\u5e93\u9875\u9762\uff0c\u6309\u7167\u4e0b\u8868\u914d\u7f6e\u76f8\u5173\u53c2\u6570\u3002

                                                      • \u4ed3\u5e93\u540d\u79f0\uff1a\u8bbe\u7f6e\u4ed3\u5e93\u540d\u79f0\u3002\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26 - \uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u5e76\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubevela
                                                      • \u4ed3\u5e93\u5730\u5740\uff1a\u7528\u6765\u6307\u5411\u76ee\u6807 Helm \u4ed3\u5e93\u7684 http\uff08s\uff09\u5730\u5740\u3002\u4f8b\u5982 https://charts.kubevela.net/core
                                                      • \u8df3\u8fc7 TLS \u9a8c\u8bc1: \u5982\u679c\u6dfb\u52a0\u7684 Helm \u4ed3\u5e93\u4e3a https \u5730\u5740\u4e14\u9700\u8df3\u8fc7 TLS \u9a8c\u8bc1\uff0c\u53ef\u4ee5\u52fe\u9009\u6b64\u9009\u9879\uff0c\u9ed8\u8ba4\u4e3a\u4e0d\u52fe\u9009
                                                      • \u8ba4\u8bc1\u65b9\u5f0f\uff1a\u8fde\u63a5\u4ed3\u5e93\u5730\u5740\u540e\u7528\u6765\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c\u7684\u65b9\u5f0f\u3002\u5bf9\u4e8e\u516c\u5f00\u4ed3\u5e93\uff0c\u53ef\u4ee5\u9009\u62e9 None \uff0c\u79c1\u6709\u7684\u4ed3\u5e93\u9700\u8981\u8f93\u5165\u7528\u6237\u540d/\u5bc6\u7801\u4ee5\u8fdb\u884c\u8eab\u4efd\u6821\u9a8c
                                                      • \u6807\u7b7e\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6807\u7b7e\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                                                      • \u6ce8\u89e3\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u6ce8\u89e3\u3002\u4f8b\u5982 key: repo4\uff1bvalue: Kubevela
                                                      • \u63cf\u8ff0\uff1a\u4e3a\u8be5 Helm \u4ed3\u5e93\u6dfb\u52a0\u63cf\u8ff0\u3002\u4f8b\u5982\uff1a\u8fd9\u662f\u4e00\u4e2a Kubevela \u516c\u5f00 Helm \u4ed3\u5e93

                                                    4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210 Helm \u4ed3\u5e93\u7684\u521b\u5efa\u3002\u9875\u9762\u4f1a\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u4ed3\u5e93\u5217\u8868\u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-repo.html#helm_2","title":"\u66f4\u65b0 Helm \u4ed3\u5e93","text":"

                                                    \u5f53 Helm \u4ed3\u5e93\u7684\u5730\u5740\u4fe1\u606f\u53d1\u751f\u53d8\u5316\u65f6\uff0c\u53ef\u4ee5\u66f4\u65b0 Helm \u4ed3\u5e93\u7684\u5730\u5740\u3001\u8ba4\u8bc1\u65b9\u5f0f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u53ca\u63cf\u8ff0\u4fe1\u606f\u3002

                                                    1. \u627e\u5230\u5f85\u66f4\u65b0\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                                                    3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u66f4\u65b0 \u3002

                                                    4. \u5728 \u7f16\u8f91 Helm \u4ed3\u5e93 \u9875\u9762\u8fdb\u884c\u66f4\u65b0\uff0c\u5b8c\u6210\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                                    5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u66f4\u65b0\u6210\u529f\u3002

                                                    "},{"location":"end-user/kpanda/helm/helm-repo.html#helm_3","title":"\u5220\u9664 Helm \u4ed3\u5e93","text":"

                                                    \u9664\u4e86\u5f15\u5165\u3001\u66f4\u65b0\u4ed3\u5e93\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u5c06\u4e0d\u9700\u8981\u7684\u4ed3\u5e93\u5220\u9664\uff0c\u5305\u62ec\u7cfb\u7edf\u9884\u7f6e\u4ed3\u5e93\u548c\u7b2c\u4e09\u65b9\u4ed3\u5e93\u3002

                                                    1. \u627e\u5230\u5f85\u5220\u9664\u4ed3\u5e93\u6240\u5728\u7684\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u4f9d\u6b21\u70b9\u51fb Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u8fdb\u5165 Helm \u4ed3\u5e93\u5217\u8868\u9875\u9762\u3002

                                                    3. \u5728\u4ed3\u5e93\u5217\u8868\u9875\u9762\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684 Helm \u4ed3\u5e93\uff0c\u5728\u5217\u8868\u53f3\u4fa7\u70b9\u51fb \u2507 \u6309\u94ae\uff0c\u5728\u5f39\u51fa\u83dc\u5355\u4e2d\u70b9\u51fb \u5220\u9664 \u3002

                                                    4. \u8f93\u5165\u4ed3\u5e93\u540d\u79f0\u8fdb\u884c\u786e\u8ba4\uff0c\u70b9\u51fb \u5220\u9664 \u3002

                                                    5. \u8fd4\u56de Helm \u4ed3\u5e93\u5217\u8868\uff0c\u5c4f\u5e55\u63d0\u793a\u5220\u9664\u6210\u529f\u3002

                                                    "},{"location":"end-user/kpanda/helm/multi-archi-helm.html","title":"Helm \u5e94\u7528\u591a\u67b6\u6784\u548c\u5347\u7ea7\u5bfc\u5165\u6b65\u9aa4","text":"

                                                    \u901a\u5e38\u5728\u591a\u67b6\u6784\u96c6\u7fa4\u4e2d\uff0c\u4e5f\u4f1a\u4f7f\u7528\u591a\u67b6\u6784\u7684 Helm \u5305\u6765\u90e8\u7f72\u5e94\u7528\uff0c\u4ee5\u89e3\u51b3\u67b6\u6784\u5dee\u5f02\u5e26\u6765\u7684\u90e8\u7f72\u95ee\u9898\u3002 \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5c06\u5355\u67b6\u6784 Helm \u5e94\u7528\u878d\u5408\u4e3a\u591a\u67b6\u6784\uff0c\u4ee5\u53ca\u591a\u67b6\u6784\u4e0e\u591a\u67b6\u6784 Helm \u5e94\u7528\u7684\u76f8\u4e92\u878d\u5408\u3002

                                                    "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_1","title":"\u5bfc\u5165","text":""},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_2","title":"\u5355\u67b6\u6784\u5bfc\u5165","text":"

                                                    \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz \u3002 \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                                                    addonPackage:\n  path: \"/home/addon-offline-full-package-v0.9.0-amd64.tar.gz\"\n

                                                    \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                                                    ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                                                    "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_3","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                                                    \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                                                    \u4ee5 addon-offline-full-package-v0.9.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                                                    ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.9.0-arm64.tar.gz\n
                                                    "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_4","title":"\u5347\u7ea7","text":""},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_5","title":"\u5355\u67b6\u6784\u5347\u7ea7","text":"

                                                    \u51c6\u5907\u597d\u5f85\u5bfc\u5165\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                                                    \u628a\u8def\u5f84\u586b\u5199\u81f3 clusterConfig.yml \u914d\u7f6e\u6587\u4ef6\uff0c\u4f8b\u5982\uff1a

                                                    addonPackage:\n  path: \"/home/addon-offline-full-package-v0.11.0-amd64.tar.gz\"\n

                                                    \u7136\u540e\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                                                    ~/dce5-installer cluster-create -c /home/dce5/sample/clusterConfig.yaml -m /home/dce5/sample/manifest.yaml -d -j13\n
                                                    "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_6","title":"\u591a\u67b6\u6784\u878d\u5408","text":"

                                                    \u51c6\u5907\u597d\u5f85\u878d\u5408\u7684\u79bb\u7ebf\u5305 addon-offline-full-package-${version}-${arch}.tar.gz\u3002

                                                    \u4ee5 addon-offline-full-package-v0.11.0-arm64.tar.gz \u4e3a\u4f8b\uff0c\u6267\u884c\u5bfc\u5165\u547d\u4ee4\uff1a

                                                    ~/dce5-installer import-addon -c /home/dce5/sample/clusterConfig.yaml --addon-path=/home/addon-offline-full-package-v0.11.0-arm64.tar.gz\n
                                                    "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_7","title":"\u6ce8\u610f\u4e8b\u9879","text":""},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_8","title":"\u78c1\u76d8\u7a7a\u95f4","text":"

                                                    \u79bb\u7ebf\u5305\u6bd4\u8f83\u5927\uff0c\u4e14\u8fc7\u7a0b\u4e2d\u9700\u8981\u89e3\u538b\u548c load \u955c\u50cf\uff0c\u9700\u8981\u9884\u7559\u5145\u8db3\u7684\u7a7a\u95f4\uff0c\u5426\u5219\u53ef\u80fd\u5728\u8fc7\u7a0b\u4e2d\u62a5 \u201cno space left\u201d \u800c\u4e2d\u65ad\u3002

                                                    "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_9","title":"\u5931\u8d25\u540e\u91cd\u8bd5","text":"

                                                    \u5982\u679c\u5728\u591a\u67b6\u6784\u878d\u5408\u6b65\u9aa4\u6267\u884c\u5931\u8d25\uff0c\u91cd\u8bd5\u524d\u9700\u8981\u6e05\u7406\u4e00\u4e0b\u6b8b\u7559\uff1a

                                                    rm -rf addon-offline-target-package\n
                                                    "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_10","title":"\u955c\u50cf\u7a7a\u95f4","text":"

                                                    \u5982\u679c\u878d\u5408\u7684\u79bb\u7ebf\u5305\u4e2d\u5305\u542b\u4e86\u4e0e\u5bfc\u5165\u7684\u79bb\u7ebf\u5305\u4e0d\u4e00\u81f4\u7684\u955c\u50cf\u7a7a\u95f4\uff0c\u53ef\u80fd\u4f1a\u5728\u878d\u5408\u8fc7\u7a0b\u4e2d\u56e0\u4e3a\u955c\u50cf\u7a7a\u95f4\u4e0d\u5b58\u5728\u800c\u62a5\u9519\uff1a

                                                    \u89e3\u51b3\u529e\u6cd5\uff1a\u53ea\u9700\u8981\u5728\u878d\u5408\u4e4b\u524d\u521b\u5efa\u597d\u8be5\u955c\u50cf\u7a7a\u95f4\u5373\u53ef\uff0c\u4f8b\u5982\u4e0a\u56fe\u62a5\u9519\u53ef\u901a\u8fc7\u521b\u5efa\u955c\u50cf\u7a7a\u95f4 localhost \u63d0\u524d\u907f\u514d\u3002

                                                    "},{"location":"end-user/kpanda/helm/multi-archi-helm.html#_11","title":"\u67b6\u6784\u51b2\u7a81","text":"

                                                    \u5347\u7ea7\u81f3\u4f4e\u4e8e 0.12.0 \u7248\u672c\u7684 addon \u65f6\uff0c\u7531\u4e8e\u76ee\u6807\u79bb\u7ebf\u5305\u91cc\u7684 charts-syncer \u6ca1\u6709\u68c0\u67e5\u955c\u50cf\u5b58\u5728\u5219\u4e0d\u63a8\u9001\u529f\u80fd\uff0c\u56e0\u6b64\u4f1a\u5728\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\u4f1a\u91cd\u65b0\u628a\u591a\u67b6\u6784\u51b2\u6210\u5355\u67b6\u6784\u3002 \u4f8b\u5982\uff1a\u5728 v0.10 \u7248\u672c\u5c06 addon \u5b9e\u73b0\u4e3a\u591a\u67b6\u6784\uff0c\u6b64\u65f6\u82e5\u5347\u7ea7\u4e3a v0.11 \u7248\u672c\uff0c\u5219\u591a\u67b6\u6784 addon \u4f1a\u88ab\u8986\u76d6\u4e3a\u5355\u67b6\u6784\uff1b\u82e5\u5347\u7ea7\u4e3a 0.12.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u5219\u4ecd\u80fd\u591f\u4fdd\u6301\u591a\u67b6\u6784\u3002

                                                    "},{"location":"end-user/kpanda/helm/upload-helm.html","title":"\u4e0a\u4f20 Helm \u6a21\u677f","text":"

                                                    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u4e0a\u4f20 Helm \u6a21\u677f\uff0c\u64cd\u4f5c\u6b65\u9aa4\u89c1\u4e0b\u6587\u3002

                                                    1. \u5f15\u5165 Helm \u4ed3\u5e93\uff0c\u64cd\u4f5c\u6b65\u9aa4\u53c2\u8003\u5f15\u5165\u7b2c\u4e09\u65b9 Helm \u4ed3\u5e93\u3002

                                                    2. \u4e0a\u4f20 Helm Chart \u5230 Helm \u4ed3\u5e93\u3002

                                                      \u5ba2\u6237\u7aef\u4e0a\u4f20\u9875\u9762\u4e0a\u4f20

                                                      Note

                                                      \u6b64\u65b9\u5f0f\u9002\u7528\u4e8e Harbor\u3001ChartMuseum\u3001JFrog \u7c7b\u578b\u4ed3\u5e93\u3002

                                                      1. \u767b\u5f55\u4e00\u4e2a\u53ef\u4ee5\u8bbf\u95ee\u5230 Helm \u4ed3\u5e93\u7684\u8282\u70b9\uff0c\u5c06 Helm \u4e8c\u8fdb\u5236\u6587\u4ef6\u4e0a\u4f20\u5230\u8282\u70b9\uff0c\u5e76\u5b89\u88c5 cm-push \u63d2\u4ef6\uff08\u9700\u8981\u8fde\u901a\u5916\u7f51\u5e76\u63d0\u524d\u5b89\u88c5 Git\uff09\u3002

                                                        \u5b89\u88c5\u63d2\u4ef6\u6d41\u7a0b\u53c2\u8003\u5b89\u88c5 cm-push \u63d2\u4ef6\u3002

                                                      2. \u63a8\u9001 Helm Chart \u5230 Helm \u4ed3\u5e93\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff1b

                                                        helm cm-push ${charts-dir} ${HELM_REPO_URL} --username ${username} --password ${password}\n

                                                        \u5b57\u6bb5\u8bf4\u660e\uff1a

                                                        • charts-dir\uff1aHelm Chart \u7684\u76ee\u5f55\uff0c\u6216\u8005\u662f\u6253\u5305\u597d\u7684 Chart\uff08\u5373 .tgz \u6587\u4ef6\uff09\u3002
                                                        • HELM_REPO_URL\uff1aHelm \u4ed3\u5e93\u7684 URL\u3002
                                                        • username/password\uff1a\u6709\u63a8\u9001\u6743\u9650\u7684 Helm \u4ed3\u5e93\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002
                                                        • \u5982\u679c\u91c7\u7528 https \u8bbf\u95ee\u4e14\u9700\u8981\u8df3\u8fc7\u8bc1\u4e66\u9a8c\u8bc1\uff0c\u53ef\u6dfb\u52a0\u53c2\u6570 --insecure

                                                      Note

                                                      \u6b64\u65b9\u5f0f\u4ec5\u9002\u7528\u4e8e Harbor \u7c7b\u578b\u4ed3\u5e93\u3002

                                                      1. \u767b\u5f55\u7f51\u9875 Harbor \u4ed3\u5e93\uff0c\u8bf7\u786e\u4fdd\u767b\u5f55\u7528\u6237\u6709\u63a8\u9001\u6743\u9650\uff1b

                                                      2. \u8fdb\u5165\u5230\u5bf9\u5e94\u9879\u76ee\uff0c\u9009\u62e9 Helm Charts \u9875\u7b7e\uff0c\u70b9\u51fb\u9875\u9762 \u4e0a\u4f20 \u6309\u94ae\uff0c\u5b8c\u6210 Helm Chart \u4e0a\u4f20\u3002

                                                    3. \u540c\u6b65\u8fdc\u7aef\u4ed3\u5e93\u6570\u636e

                                                      \u624b\u52a8\u540c\u6b65\u81ea\u52a8\u540c\u6b65

                                                      \u9ed8\u8ba4\u96c6\u7fa4\u672a\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0 \uff0c\u9700\u8981\u6267\u884c\u624b\u52a8\u540c\u6b65\u64cd\u4f5c\uff0c\u5927\u81f4\u6b65\u9aa4\u4e3a\uff1a

                                                      \u8fdb\u5165 Helm \u5e94\u7528 -> Helm \u4ed3\u5e93 \uff0c\u70b9\u51fb\u4ed3\u5e93\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \u6309\u94ae\uff0c\u9009\u62e9 \u540c\u6b65\u4ed3\u5e93 \uff0c\u5b8c\u6210\u4ed3\u5e93\u6570\u636e\u540c\u6b65\u3002

                                                      \u5982\u9700\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u540c\u6b65\u529f\u80fd\uff0c\u53ef\u8fdb\u5165 \u96c6\u7fa4\u8fd0\u7ef4 -> \u96c6\u7fa4\u8bbe\u7f6e -> \u9ad8\u7ea7\u914d\u7f6e \uff0c\u5f00\u542f Helm \u4ed3\u5e93\u81ea\u52a8\u5237\u65b0\u5f00\u5173\u3002

                                                    "},{"location":"end-user/kpanda/inspect/index.html","title":"\u96c6\u7fa4\u5de1\u68c0","text":"

                                                    \u96c6\u7fa4\u5de1\u68c0\u53ef\u4ee5\u901a\u8fc7\u81ea\u52a8\u6216\u624b\u52a8\u65b9\u5f0f\uff0c\u5b9a\u671f\u6216\u968f\u65f6\u68c0\u67e5\u96c6\u7fa4\u7684\u6574\u4f53\u5065\u5eb7\u72b6\u6001\uff0c\u8ba9\u7ba1\u7406\u5458\u83b7\u5f97\u4fdd\u969c\u96c6\u7fa4\u5b89\u5168\u7684\u4e3b\u52a8\u6743\u3002 \u57fa\u4e8e\u5408\u7406\u7684\u5de1\u68c0\u8ba1\u5212\uff0c\u8fd9\u79cd\u4e3b\u52a8\u81ea\u53d1\u7684\u96c6\u7fa4\u68c0\u67e5\u53ef\u4ee5\u8ba9\u7ba1\u7406\u5458\u968f\u65f6\u638c\u63e1\u96c6\u7fa4\u72b6\u6001\uff0c\u6446\u8131\u4e4b\u524d\u51fa\u73b0\u6545\u969c\u65f6\u53ea\u80fd\u88ab\u52a8\u6392\u67e5\u95ee\u9898\u7684\u56f0\u5883\uff0c\u505a\u5230\u4e8b\u5148\u76d1\u63a7\u3001\u63d0\u524d\u9632\u8303\u3002

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u7684\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u3001\u8282\u70b9\u3001\u5bb9\u5668\u7ec4\uff08Pod\uff09\u4e09\u4e2a\u7ef4\u5ea6\u8fdb\u884c\u81ea\u5b9a\u4e49\u5de1\u68c0\u9879\uff0c\u5de1\u68c0\u7ed3\u675f\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u53ef\u89c6\u5316\u7684\u5de1\u68c0\u62a5\u544a\u3002

                                                    • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                                                    • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                                                    • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                                                    \u5982\u9700\u4e86\u89e3\u6216\u6267\u884c\u5b89\u5168\u65b9\u9762\u7684\u5de1\u68c0\uff0c\u53ef\u53c2\u8003\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u7684\u5b89\u5168\u626b\u63cf\u7c7b\u578b\u3002

                                                    "},{"location":"end-user/kpanda/inspect/config.html","title":"\u521b\u5efa\u5de1\u68c0\u914d\u7f6e","text":"

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63d0\u4f9b\u96c6\u7fa4\u5de1\u68c0\u529f\u80fd\uff0c\u652f\u6301\u4ece\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u8fdb\u884c\u5de1\u68c0\u3002

                                                    • \u96c6\u7fa4\u7ef4\u5ea6\uff1a\u68c0\u67e5\u96c6\u7fa4\u4e2d\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\uff0c\u5305\u62ec\u96c6\u7fa4\u72b6\u6001\u3001\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\uff0c\u4ee5\u53ca\u63a7\u5236\u8282\u70b9\u7279\u6709\u7684\u5de1\u68c0\u9879\u7b49\uff0c\u4f8b\u5982 kube-apiserver \u548c etcd \u7684\u72b6\u6001\u3002
                                                    • \u8282\u70b9\u7ef4\u5ea6\uff1a\u5305\u62ec\u63a7\u5236\u8282\u70b9\u548c\u5de5\u4f5c\u8282\u70b9\u901a\u7528\u7684\u68c0\u67e5\u9879\uff0c\u4f8b\u5982\u8282\u70b9\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5\u3001\u53e5\u67c4\u6570\u3001PID \u72b6\u6001\u3001\u7f51\u7edc\u72b6\u6001\u3002
                                                    • \u5bb9\u5668\u7ec4\u7ef4\u5ea6\uff1a\u68c0\u67e5 Pod \u7684 CPU \u548c\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001\u8fd0\u884c\u72b6\u6001\u3001PV \u548c PVC \u7684\u72b6\u6001\u7b49\u3002

                                                    \u4e0b\u9762\u4ecb\u7ecd\u5982\u4f55\u521b\u5efa\u5de1\u68c0\u914d\u7f6e\u3002

                                                    "},{"location":"end-user/kpanda/inspect/config.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                                                    • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                                                    "},{"location":"end-user/kpanda/inspect/config.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                                    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \u3002

                                                    2. \u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u3002

                                                    3. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u586b\u5199\u5de1\u68c0\u914d\u7f6e\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                                                      • \u96c6\u7fa4\uff1a\u4e0b\u62c9\u9009\u62e9\u8981\u5bf9\u54ea\u4e9b\u96c6\u7fa4\u8fdb\u884c\u5de1\u68c0\u3002\u5982\u679c\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\uff0c\u5219\u81ea\u52a8\u751f\u6210\u591a\u4e2a\u5de1\u68c0\u914d\u7f6e\uff08\u4ec5\u5de1\u68c0\u7684\u96c6\u7fa4\u4e0d\u4e00\u81f4\uff0c\u5176\u4ed6\u914d\u7f6e\u90fd\u5b8c\u5168\u4e00\u81f4\uff09
                                                      • \u5b9a\u65f6\u5de1\u68c0\uff1a\u542f\u7528\u540e\u53ef\u6839\u636e\u4e8b\u5148\u8bbe\u7f6e\u7684\u5de1\u68c0\u9891\u7387\u5b9a\u671f\u81ea\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0
                                                      • \u5de1\u68c0\u9891\u7387\uff1a\u8bbe\u7f6e\u81ea\u52a8\u5de1\u68c0\u7684\u5468\u671f\uff0c\u4f8b\u5982\u6bcf\u5468\u4e8c\u4e0a\u5348\u5341\u70b9\u3002\u652f\u6301\u81ea\u5b9a\u4e49 CronExpression\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5
                                                      • \u5de1\u68c0\u8bb0\u5f55\u4fdd\u7559\u6761\u6570\uff1a\u7d2f\u8ba1\u6700\u591a\u4fdd\u7559\u591a\u5c11\u6761\u5de1\u68c0\u8bb0\u5f55\uff0c\u5305\u62ec\u6240\u6709\u96c6\u7fa4\u7684\u5de1\u68c0\u8bb0\u5f55
                                                      • \u53c2\u6570\u914d\u7f6e\uff1a\u53c2\u6570\u914d\u7f6e\u5206\u4e3a\u96c6\u7fa4\u7ef4\u5ea6\u3001\u8282\u70b9\u7ef4\u5ea6\u3001\u5bb9\u5668\u7ec4\u7ef4\u5ea6\u4e09\u90e8\u5206\uff0c\u53ef\u4ee5\u6839\u636e\u573a\u666f\u9700\u6c42\u542f\u7528\u6216\u7981\u7528\u67d0\u4e9b\u5de1\u68c0\u9879\u3002

                                                    \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4f1a\u81ea\u52a8\u663e\u793a\u5728\u5de1\u68c0\u914d\u7f6e\u5217\u8868\u4e2d\u3002\u5728\u914d\u7f6e\u53f3\u4fa7\u70b9\u51fb\u66f4\u591a\u64cd\u4f5c\u6309\u94ae\u53ef\u4ee5\u7acb\u5373\u6267\u884c\u5de1\u68c0\u3001\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3001\u5220\u9664\u5de1\u68c0\u914d\u7f6e\u548c\u5de1\u68c0\u8bb0\u5f55\u3002

                                                    • \u70b9\u51fb \u5de1\u68c0 \u53ef\u4ee5\u6839\u636e\u8be5\u914d\u7f6e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u5de1\u68c0\u3002
                                                    • \u70b9\u51fb \u5de1\u68c0\u914d\u7f6e \u53ef\u4ee5\u4fee\u6539\u5de1\u68c0\u914d\u7f6e\u3002
                                                    • \u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u5de1\u68c0\u914d\u7f6e\u548c\u5386\u53f2\u7684\u5de1\u68c0\u8bb0\u5f55

                                                    Note

                                                    • \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002
                                                    • \u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002
                                                    "},{"location":"end-user/kpanda/inspect/inspect.html","title":"\u6267\u884c\u96c6\u7fa4\u5de1\u68c0","text":"

                                                    \u5de1\u68c0\u914d\u7f6e\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u5982\u679c\u542f\u7528\u4e86 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u4f1a\u5728\u6307\u5b9a\u65f6\u95f4\u81ea\u52a8\u6267\u884c\u5de1\u68c0\u3002\u5982\u672a\u542f\u7528 \u5b9a\u65f6\u5de1\u68c0 \u914d\u7f6e\uff0c\u5219\u9700\u8981\u624b\u52a8\u89e6\u53d1\u5de1\u68c0\u3002

                                                    \u6b64\u9875\u4ecb\u7ecd\u5982\u4f55\u624b\u52a8\u6267\u884c\u96c6\u7fa4\u5de1\u68c0\u3002

                                                    "},{"location":"end-user/kpanda/inspect/inspect.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4
                                                    • \u5df2\u521b\u5efa\u5de1\u68c0\u914d\u7f6e
                                                    • \u6240\u9009\u96c6\u7fa4\u5904\u4e8e \u8fd0\u884c\u4e2d \u72b6\u6001\u4e14\u5df2\u7ecf\u5728\u96c6\u7fa4\u4e2d\u5b89\u88c5\u4e86 insight \u7ec4\u4ef6
                                                    "},{"location":"end-user/kpanda/inspect/inspect.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                                    \u6267\u884c\u5de1\u68c0\u65f6\uff0c\u652f\u6301\u52fe\u9009\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u6279\u91cf\u5de1\u68c0\uff0c\u6216\u8005\u4ec5\u5bf9\u67d0\u4e00\u4e2a\u96c6\u7fa4\u8fdb\u884c\u5355\u72ec\u5de1\u68c0\u3002

                                                    \u6279\u91cf\u5de1\u68c0\u5355\u72ec\u5de1\u68c0
                                                    1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u4e00\u7ea7\u5bfc\u822a\u680f\u70b9\u51fb \u96c6\u7fa4\u5de1\u68c0 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4fa7\u70b9\u51fb \u5de1\u68c0 \u3002

                                                    2. \u52fe\u9009\u9700\u8981\u5de1\u68c0\u7684\u96c6\u7fa4\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                                                      • \u82e5\u9009\u62e9\u591a\u4e2a\u96c6\u7fa4\u8fdb\u884c\u540c\u65f6\u5de1\u68c0\uff0c\u7cfb\u7edf\u5c06\u6839\u636e\u4e0d\u540c\u96c6\u7fa4\u7684\u5de1\u68c0\u914d\u7f6e\u8fdb\u884c\u5de1\u68c0\u3002
                                                      • \u5982\u672a\u8bbe\u7f6e\u96c6\u7fa4\u5de1\u68c0\u914d\u7f6e\uff0c\u5c06\u4f7f\u7528\u7cfb\u7edf\u9ed8\u8ba4\u914d\u7f6e\u3002

                                                    1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\u3002
                                                    2. \u5728\u5bf9\u5e94\u5de1\u68c0\u914d\u7f6e\u7684\u53f3\u4fa7\u70b9\u51fb \u2507 \u66f4\u591a\u64cd\u4f5c\u6309\u94ae\uff0c\u7136\u540e\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\u9009\u62e9 \u5de1\u68c0 \u5373\u53ef\u3002

                                                    "},{"location":"end-user/kpanda/inspect/report.html","title":"\u67e5\u770b\u5de1\u68c0\u62a5\u544a","text":"

                                                    \u5de1\u68c0\u6267\u884c\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u5de1\u68c0\u8bb0\u5f55\u548c\u8be6\u7ec6\u7684\u5de1\u68c0\u62a5\u544a\u3002

                                                    "},{"location":"end-user/kpanda/inspect/report.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5df2\u7ecf\u521b\u5efa\u4e86\u5de1\u68c0\u914d\u7f6e
                                                    • \u5df2\u7ecf\u6267\u884c\u8fc7\u81f3\u5c11\u4e00\u6b21\u5de1\u68c0
                                                    "},{"location":"end-user/kpanda/inspect/report.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                                    1. \u8fdb\u5165\u96c6\u7fa4\u5de1\u68c0\u9875\u9762\uff0c\u70b9\u51fb\u76ee\u6807\u5de1\u68c0\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                                    2. \u70b9\u51fb\u60f3\u8981\u67e5\u770b\u7684\u5de1\u68c0\u8bb0\u5f55\u540d\u79f0\u3002

                                                      • \u6bcf\u6267\u884c\u4e00\u6b21\u5de1\u68c0\uff0c\u5c31\u4f1a\u751f\u6210\u4e00\u6761\u5de1\u68c0\u8bb0\u5f55\u3002
                                                      • \u5f53\u5de1\u68c0\u8bb0\u5f55\u8d85\u8fc7\u5de1\u68c0\u914d\u7f6e\u4e2d\u8bbe\u7f6e\u7684\u6700\u5927\u4fdd\u7559\u6761\u6570\u65f6\uff0c\u4ece\u6267\u884c\u65f6\u95f4\u6700\u65e9\u7684\u8bb0\u5f55\u5f00\u59cb\u5220\u9664\u3002

                                                    3. \u67e5\u770b\u5de1\u68c0\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u6839\u636e\u5de1\u68c0\u914d\u7f6e\u53ef\u80fd\u5305\u62ec\u96c6\u7fa4\u8d44\u6e90\u6982\u89c8\u3001\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8fd0\u884c\u60c5\u51b5\u7b49\u3002

                                                      \u5728\u9875\u9762\u53f3\u4e0a\u89d2\u53ef\u4ee5\u4e0b\u8f7d\u5de1\u68c0\u62a5\u544a\u6216\u5220\u9664\u8be5\u9879\u5de1\u68c0\u62a5\u544a\u3002

                                                    "},{"location":"end-user/kpanda/namespaces/createns.html","title":"\u547d\u540d\u7a7a\u95f4","text":"

                                                    \u547d\u540d\u7a7a\u95f4\u662f Kubernetes \u4e2d\u7528\u6765\u8fdb\u884c\u8d44\u6e90\u9694\u79bb\u7684\u4e00\u79cd\u62bd\u8c61\u3002\u4e00\u4e2a\u96c6\u7fa4\u4e0b\u53ef\u4ee5\u5305\u542b\u591a\u4e2a\u4e0d\u91cd\u540d\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u8d44\u6e90\u76f8\u4e92\u9694\u79bb\u3002\u6709\u5173\u547d\u540d\u7a7a\u95f4\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u3002

                                                    \u672c\u6587\u5c06\u4ecb\u7ecd\u547d\u540d\u7a7a\u95f4\u7684\u76f8\u5173\u64cd\u4f5c\u3002

                                                    "},{"location":"end-user/kpanda/namespaces/createns.html#_2","title":"\u521b\u5efa\u547d\u540d\u7a7a\u95f4","text":"

                                                    \u652f\u6301\u901a\u8fc7\u8868\u5355\u8f7b\u677e\u521b\u5efa\u547d\u540d\u7a7a\u95f4\uff0c\u4e5f\u652f\u6301\u901a\u8fc7\u7f16\u5199\u6216\u5bfc\u5165 YAML \u6587\u4ef6\u5feb\u901f\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u3002

                                                    Note

                                                    • \u5728\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u4e4b\u524d\uff0c\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\u3002
                                                    • \u96c6\u7fa4\u521d\u59cb\u5316\u540e\u901a\u5e38\u4f1a\u81ea\u52a8\u751f\u6210\u9ed8\u8ba4\u7684\u547d\u540d\u7a7a\u95f4 default \u3002\u4f46\u5bf9\u4e8e\u751f\u4ea7\u96c6\u7fa4\u800c\u8a00\uff0c\u4e3a\u4fbf\u4e8e\u7ba1\u7406\uff0c\u5efa\u8bae\u521b\u5efa\u5176\u4ed6\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u800c\u975e\u76f4\u63a5\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002
                                                    "},{"location":"end-user/kpanda/namespaces/createns.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u586b\u5199\u547d\u540d\u7a7a\u95f4\u7684\u540d\u79f0\uff0c\u914d\u7f6e\u5de5\u4f5c\u7a7a\u95f4\u548c\u6807\u7b7e\uff08\u53ef\u9009\u8bbe\u7f6e\uff09\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                                      Info

                                                      • \u547d\u540d\u7a7a\u95f4\u7ed1\u5b9a\u5de5\u4f5c\u7a7a\u95f4\u4e4b\u540e\uff0c\u8be5\u547d\u540d\u7a7a\u95f4\u7684\u8d44\u6e90\u5c31\u4f1a\u5171\u4eab\u7ed9\u6240\u7ed1\u5b9a\u7684\u5de5\u4f5c\u7a7a\u95f4\u3002\u6709\u5173\u5de5\u4f5c\u7a7a\u95f4\u7684\u8be6\u7ec6\u8bf4\u660e\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u7a7a\u95f4\u4e0e\u5c42\u7ea7\u3002

                                                      • \u547d\u540d\u7a7a\u95f4\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u4ecd\u7136\u53ef\u4ee5\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3002

                                                    4. \u70b9\u51fb \u786e\u5b9a \uff0c\u5b8c\u6210\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002\u5728\u547d\u540d\u7a7a\u95f4\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4ece\u5f39\u51fa\u83dc\u5355\u4e2d\u9009\u62e9\u67e5\u770b YAML\u3001\u4fee\u6539\u6807\u7b7e\u3001\u7ed1\u5b9a/\u89e3\u7ed1\u5de5\u4f5c\u7a7a\u95f4\u3001\u914d\u989d\u7ba1\u7406\u3001\u5220\u9664\u7b49\u66f4\u591a\u64cd\u4f5c\u3002

                                                    "},{"location":"end-user/kpanda/namespaces/createns.html#yaml","title":"YAML \u521b\u5efa","text":"
                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4fa7\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u5185\u5bb9\uff0c\u6216\u8005\u4ece\u672c\u5730\u76f4\u63a5\u5bfc\u5165\u5df2\u6709\u7684 YAML \u6587\u4ef6\u3002

                                                      \u8f93\u5165 YAML \u5185\u5bb9\u540e\uff0c\u70b9\u51fb \u4e0b\u8f7d \u53ef\u4ee5\u5c06\u8be5 YAML \u6587\u4ef6\u4fdd\u5b58\u5230\u672c\u5730\u3002

                                                    4. \u6700\u540e\u5728\u5f39\u6846\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                                                    "},{"location":"end-user/kpanda/namespaces/exclusive.html","title":"\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                                                    \u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u6c61\u70b9\u548c\u6c61\u70b9\u5bb9\u5fcd\u7684\u65b9\u5f0f\u5b9e\u73b0\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u5bf9\u4e00\u4e2a\u6216\u591a\u4e2a\u8282\u70b9 CPU\u3001\u5185\u5b58\u7b49\u8d44\u6e90\u7684\u72ec\u4eab\u3002\u4e3a\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u72ec\u4eab\u8282\u70b9\u540e\uff0c\u5176\u5b83\u975e\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5e94\u7528\u548c\u670d\u52a1\u5747\u4e0d\u80fd\u8fd0\u884c\u5728\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\u3002\u4f7f\u7528\u72ec\u4eab\u8282\u70b9\u53ef\u4ee5\u8ba9\u91cd\u8981\u5e94\u7528\u72ec\u4eab\u4e00\u90e8\u5206\u8ba1\u7b97\u8d44\u6e90\uff0c\u4ece\u800c\u548c\u5176\u4ed6\u5e94\u7528\u5b9e\u73b0\u7269\u7406\u9694\u79bb\u3002

                                                    Note

                                                    \u5728\u8282\u70b9\u88ab\u8bbe\u7f6e\u4e3a\u72ec\u4eab\u8282\u70b9\u524d\u5df2\u7ecf\u8fd0\u884c\u5728\u6b64\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u548c\u670d\u52a1\u5c06\u4e0d\u4f1a\u53d7\u5f71\u54cd\uff0c\u4f9d\u7136\u4f1a\u6b63\u5e38\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\uff0c\u4ec5\u5f53\u8fd9\u4e9b Pod \u88ab\u5220\u9664\u6216\u91cd\u5efa\u65f6\uff0c\u624d\u4f1a\u8c03\u5ea6\u5230\u5176\u5b83\u975e\u72ec\u4eab\u8282\u70b9\u4e0a\u3002

                                                    "},{"location":"end-user/kpanda/namespaces/exclusive.html#_2","title":"\u51c6\u5907\u5de5\u4f5c","text":"

                                                    \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u662f\u5426\u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002

                                                    \u4f7f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u529f\u80fd\u9700\u8981\u7528\u6237\u542f\u7528 kube-apiserver \u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\uff08Admission Controllers\uff09\uff0c\u5173\u4e8e\u51c6\u5165\u63a7\u5236\u5668\u66f4\u591a\u8bf4\u660e\u8bf7\u53c2\u9605 kubernetes Admission Controllers Reference\u3002

                                                    \u60a8\u53ef\u4ee5\u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u68c0\u67e5 kube-apiserver.yaml \u6587\u4ef6\u5185\u662f\u5426\u542f\u7528\u4e86\u8fd9\u4e24\u4e2a\u7279\u6027\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u5feb\u901f\u68c0\u67e5\uff1a

                                                    ```bash\n[root@g-master1 ~]# cat /etc/kubernetes/manifests/kube-apiserver.yaml | grep  enable-admission-plugins\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction\n```\n
                                                    "},{"location":"end-user/kpanda/namespaces/exclusive.html#_3","title":"\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                                                    \u7531\u4e8e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u8fd0\u884c\u7740 kpanda\u3001ghippo\u3001insight \u7b49\u5e73\u53f0\u57fa\u7840\u7ec4\u4ef6\uff0c\u5728 Global \u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u5c06\u53ef\u80fd\u5bfc\u81f4\u5f53\u7cfb\u7edf\u7ec4\u4ef6\u91cd\u542f\u540e\uff0c\u7cfb\u7edf\u7ec4\u4ef6\u65e0\u6cd5\u8c03\u5ea6\u5230\u88ab\u72ec\u4eab\u7684\u8282\u70b9\u4e0a\uff0c\u5f71\u54cd\u7cfb\u7edf\u7684\u6574\u4f53\u9ad8\u53ef\u7528\u80fd\u529b\u3002\u56e0\u6b64\uff0c\u901a\u5e38\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u4e0d\u63a8\u8350\u7528\u6237\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\u7279\u6027\u3002

                                                    \u5982\u679c\u60a8\u786e\u5b9e\u9700\u8981\u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                                                    1. \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                                                      Note

                                                      \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u914d\u7f6e\u7cfb\u7edf\u7ec4\u4ef6\u5bb9\u5fcd\u3002

                                                      \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                                                      [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                                                      \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                                                      # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                                                    2. \u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3

                                                      \u5b8c\u6210\u51c6\u5165\u63a7\u5236\u5668\u7684\u5f00\u542f\u540e\uff0c\u60a8\u9700\u8981\u4e3a\u5e73\u53f0\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff0c\u4ee5\u4fdd\u8bc1\u5e73\u53f0\u7ec4\u4ef6\u7684\u9ad8\u53ef\u7528\u3002

                                                      \u76ee\u524d\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u7cfb\u7edf\u7ec4\u4ef6\u547d\u540d\u7a7a\u95f4\u5982\u4e0b\u8868\uff1a

                                                      \u547d\u540d\u7a7a\u95f4 \u6240\u5305\u542b\u7684\u7cfb\u7edf\u7ec4\u4ef6 kpanda-system kpanda hwameiStor-system hwameiStor istio-system istio metallb-system metallb cert-manager-system cert-manager contour-system contour kubean-system kubean ghippo-system ghippo kcoral-system kcoral kcollie-system kcollie insight-system insight\u3001insight-agent: ipavo-system ipavo kairship-system kairship karmada-system karmada amamba-system amamba\u3001jenkins skoala-system skoala mspider-system mspider mcamel-system mcamel-rabbitmq\u3001mcamel-elasticsearch\u3001mcamel-mysql\u3001mcamel-redis\u3001mcamel-kafka\u3001mcamel-minio\u3001mcamel-postgresql spidernet-system spidernet kangaroo-system kangaroo gmagpie-system gmagpie dowl-system dowl

                                                      \u68c0\u67e5\u5f53\u524d\u96c6\u7fa4\u4e2d\u6240\u6709\u547d\u540d\u7a7a\u95f4\u662f\u5426\u5b58\u5728\u4e0a\u8ff0\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u4e3a\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1a scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]' \u3002

                                                      kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n
                                                      \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                                                    3. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                                                      \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                                                      1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                                                      2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                                                      3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                                      4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                                                        \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                                                    "},{"location":"end-user/kpanda/namespaces/exclusive.html#_4","title":"\u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9","text":"

                                                    \u5728 \u975e\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u542f\u7528\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u8282\u70b9\uff0c\u8bf7\u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\u5f00\u542f\uff1a

                                                    1. \u4e3a\u5f53\u524d\u96c6\u7fa4\u7684 kube-apiserver \u542f\u7528\u4e86 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668

                                                      Note

                                                      \u5982\u679c\u96c6\u7fa4\u5df2\u542f\u7528\u4e86\u4e0a\u8ff0\u7684\u4e24\u4e2a\u51c6\u5165\u63a7\u5236\u5668\uff0c\u8bf7\u8df3\u8fc7\u6b64\u6b65\uff0c\u76f4\u63a5\u524d\u5f80\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                                                      \u524d\u5f80\u5f53\u524d\u96c6\u7fa4\u4e0b\u4efb\u610f\u4e00\u4e2a Master \u8282\u70b9\u4e0a\u4fee\u6539 kube-apiserver.yaml \u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u5728 Master \u8282\u70b9\u4e0a\u6267\u884c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff1a

                                                      [root@g-master1 ~]# vi /etc/kubernetes/manifests/kube-apiserver.yaml\n\n# \u9884\u671f\u8f93\u51fa\u5982\u4e0b\uff1a\napiVersion: v1\nkind: Pod\nmetadata:\n    ......\nspec:\ncontainers:\n- command:\n    - kube-apiserver\n    ......\n    - --default-not-ready-toleration-seconds=300\n    - --default-unreachable-toleration-seconds=300\n    - --enable-admission-plugins=NodeRestriction   #\u542f\u7528\u7684\u51c6\u5165\u63a7\u5236\u5668\u5217\u8868\n    - --enable-aggregator-routing=False\n    - --enable-bootstrap-token-auth=true\n    - --endpoint-reconciler-type=lease\n    - --etcd-cafile=/etc/kubernetes/ssl/etcd/ca.crt\n    ......\n

                                                      \u627e\u5230 --enable-admission-plugins \u53c2\u6570\uff0c\u52a0\u5165\uff08\u4ee5\u82f1\u6587\u9017\u53f7\u5206\u9694\u7684\uff09 PodNodeSelector \u548c PodTolerationRestriction \u51c6\u5165\u63a7\u5236\u5668\u3002\u53c2\u8003\u5982\u4e0b\uff1a

                                                      # \u52a0\u5165 __ ,PodNodeSelector,PodTolerationRestriction__ \n- --enable-admission-plugins=NodeRestriction,PodNodeSelector,PodTolerationRestriction \n
                                                    2. \u4f7f\u7528\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9

                                                      \u5f53\u60a8\u786e\u8ba4\u96c6\u7fa4 API \u670d\u52a1\u5668\u4e0a\u7684 PodNodeSelector \u548c PodTolerationRestriction \u4e24\u4e2a\u7279\u6027\u51c6\u5165\u63a7\u5236\u5668\u5df2\u7ecf\u5f00\u542f\u540e\uff0c\u8bf7\u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4f7f\u7528\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684 UI \u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u8bbe\u7f6e\u72ec\u4eab\u8282\u70b9\u4e86\u3002

                                                      1. \u5728\u96c6\u7fa4\u5217\u8868\u9875\u9762\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u547d\u540d\u7a7a\u95f4 \u3002

                                                      2. \u70b9\u51fb\u547d\u540d\u7a7a\u95f4\u540d\u79f0\uff0c\u7136\u540e\u70b9\u51fb \u72ec\u4eab\u8282\u70b9 \u9875\u7b7e\uff0c\u5728\u4e0b\u65b9\u53f3\u4fa7\u70b9\u51fb \u6dfb\u52a0\u8282\u70b9 \u3002

                                                      3. \u5728\u9875\u9762\u5de6\u4fa7\u9009\u62e9\u8ba9\u8be5\u547d\u540d\u7a7a\u95f4\u72ec\u4eab\u54ea\u4e9b\u8282\u70b9\uff0c\u5728\u53f3\u4fa7\u53ef\u4ee5\u6e05\u7a7a\u6216\u5220\u9664\u67d0\u4e2a\u5df2\u9009\u8282\u70b9\uff0c\u6700\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                                      4. \u53ef\u4ee5\u5728\u5217\u8868\u4e2d\u67e5\u770b\u6b64\u547d\u540d\u7a7a\u95f4\u7684\u5df2\u6709\u7684\u72ec\u4eab\u8282\u70b9\uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u53ef\u4ee5\u9009\u62e9 \u53d6\u6d88\u72ec\u4eab \u3002

                                                        \u53d6\u6d88\u72ec\u4eab\u4e4b\u540e\uff0c\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e0b\u7684 Pod \u4e5f\u53ef\u4ee5\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002

                                                    3. \u4e3a\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u5bb9\u5fcd\u6ce8\u89e3\uff08\u53ef\u9009\uff09

                                                      \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u9700\u8981\u9ad8\u53ef\u7528\u7684\u7ec4\u4ef6\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u6dfb\u52a0\u6ce8\u89e3\uff1ascheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\u3002

                                                      kubectl annotate ns <namespace-name> scheduler.alpha.kubernetes.io/defaultTolerations: '[{\"operator\": \"Exists\", \"effect\": \n\"NoSchedule\", \"key\": \"ExclusiveNamespace\"}]'\n

                                                      \u8bf7\u786e\u4fdd\u5c06 <namespace-name> \u66ff\u6362\u4e3a\u8981\u6dfb\u52a0\u6ce8\u89e3\u7684\u5e73\u53f0\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u3002

                                                    "},{"location":"end-user/kpanda/namespaces/podsecurity.html","title":"\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"

                                                    \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u6307\u5728 kubernetes \u96c6\u7fa4\u4e2d\uff0c\u901a\u8fc7\u4e3a\u6307\u5b9a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u4e0d\u540c\u7684\u7b49\u7ea7\u548c\u6a21\u5f0f\uff0c\u5b9e\u73b0\u5728\u5b89\u5168\u7684\u5404\u4e2a\u65b9\u9762\u63a7\u5236 Pod \u7684\u884c\u4e3a\uff0c\u53ea\u6709\u6ee1\u8db3\u4e00\u5b9a\u7684\u6761\u4ef6\u7684 Pod \u624d\u4f1a\u88ab\u7cfb\u7edf\u63a5\u53d7\u3002\u5b83\u8bbe\u7f6e\u4e09\u4e2a\u7b49\u7ea7\u548c\u4e09\u79cd\u6a21\u5f0f\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u9009\u62e9\u66f4\u52a0\u5408\u9002\u7684\u65b9\u6848\u6765\u8bbe\u7f6e\u9650\u5236\u7b56\u7565\u3002

                                                    Note

                                                    \u4e00\u6761\u5b89\u5168\u6a21\u5f0f\u4ec5\u80fd\u914d\u7f6e\u4e00\u6761\u5b89\u5168\u7b56\u7565\u3002\u540c\u65f6\u8bf7\u8c28\u614e\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e enforce \u7684\u5b89\u5168\u6a21\u5f0f\uff0c\u8fdd\u53cd\u540e\u5c06\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                                                    \u672c\u8282\u5c06\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u754c\u9762\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u3002

                                                    "},{"location":"end-user/kpanda/namespaces/podsecurity.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u96c6\u7fa4\u7684\u7248\u672c\u9700\u8981\u5728 v1.22 \u4ee5\u4e0a\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Admin \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    "},{"location":"end-user/kpanda/namespaces/podsecurity.html#_3","title":"\u4e3a\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565","text":"
                                                    1. \u9009\u62e9\u9700\u8981\u914d\u7f6e\u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u8fdb\u5165\u8be6\u60c5\u9875\u3002\u5728 \u5bb9\u5668\u7ec4\u5b89\u5168\u7b56\u7565 \u9875\u9762\u70b9\u51fb \u914d\u7f6e\u7b56\u7565 \uff0c\u8fdb\u5165\u914d\u7f6e\u9875\u3002

                                                    2. \u5728\u914d\u7f6e\u9875\u70b9\u51fb \u6dfb\u52a0\u7b56\u7565 \uff0c\u5219\u4f1a\u51fa\u73b0\u4e00\u6761\u7b56\u7565\uff0c\u5305\u62ec\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u6a21\u5f0f\uff0c\u4ee5\u4e0b\u662f\u5bf9\u5b89\u5168\u7ea7\u522b\u548c\u5b89\u5168\u7b56\u7565\u7684\u8be6\u7ec6\u4ecb\u7ecd\u3002

                                                      \u5b89\u5168\u7ea7\u522b \u63cf\u8ff0 Privileged \u4e0d\u53d7\u9650\u5236\u7684\u7b56\u7565\uff0c\u63d0\u4f9b\u6700\u5927\u53ef\u80fd\u8303\u56f4\u7684\u6743\u9650\u8bb8\u53ef\u3002\u6b64\u7b56\u7565\u5141\u8bb8\u5df2\u77e5\u7684\u7279\u6743\u63d0\u5347\u3002 Baseline \u9650\u5236\u6027\u6700\u5f31\u7684\u7b56\u7565\uff0c\u7981\u6b62\u5df2\u77e5\u7684\u7b56\u7565\u63d0\u5347\u3002\u5141\u8bb8\u4f7f\u7528\u9ed8\u8ba4\u7684\uff08\u89c4\u5b9a\u6700\u5c11\uff09Pod \u914d\u7f6e\u3002 Restricted \u9650\u5236\u6027\u975e\u5e38\u5f3a\u7684\u7b56\u7565\uff0c\u9075\u5faa\u5f53\u524d\u7684\u4fdd\u62a4 Pod \u7684\u6700\u4f73\u5b9e\u8df5\u3002 \u5b89\u5168\u6a21\u5f0f \u63cf\u8ff0 Audit \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5728\u5ba1\u8ba1\u65e5\u5fd7\u4e2d\u6dfb\u52a0\u65b0\u7684\u5ba1\u8ba1\u4e8b\u4ef6\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Warn \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u8fd4\u56de\u7528\u6237\u53ef\u89c1\u7684\u544a\u8b66\u4fe1\u606f\uff0cPod \u53ef\u4ee5\u88ab\u521b\u5efa\u3002 Enforce \u8fdd\u53cd\u6307\u5b9a\u7b56\u7565\u4f1a\u5bfc\u81f4 Pod \u65e0\u6cd5\u521b\u5efa\u3002

                                                    3. \u4e0d\u540c\u7684\u5b89\u5168\u7ea7\u522b\u5bf9\u5e94\u4e0d\u540c\u7684\u68c0\u67e5\u9879\uff0c\u82e5\u60a8\u4e0d\u77e5\u9053\u8be5\u5982\u4f55\u4e3a\u60a8\u7684\u547d\u540d\u7a7a\u95f4\u914d\u7f6e\uff0c\u53ef\u4ee5\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u7b56\u7565\u914d\u7f6e\u9879\u8bf4\u660e \u67e5\u770b\u8be6\u7ec6\u4fe1\u606f\u3002

                                                    4. \u70b9\u51fb\u786e\u5b9a\uff0c\u82e5\u521b\u5efa\u6210\u529f\uff0c\u5219\u9875\u9762\u4e0a\u5c06\u51fa\u73b0\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                                                    5. \u70b9\u51fb \u2507 \u8fd8\u53ef\u4ee5\u7f16\u8f91\u6216\u8005\u5220\u9664\u60a8\u914d\u7f6e\u7684\u5b89\u5168\u7b56\u7565\u3002

                                                    "},{"location":"end-user/kpanda/network/create-ingress.html","title":"\u521b\u5efa\u8def\u7531\uff08Ingress\uff09","text":"

                                                    \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0cIngress \u516c\u5f00\u4ece\u96c6\u7fa4\u5916\u90e8\u5230\u96c6\u7fa4\u5185\u670d\u52a1\u7684 HTTP \u548c HTTPS \u8def\u7531\u3002 \u6d41\u91cf\u8def\u7531\u7531 Ingress \u8d44\u6e90\u4e0a\u5b9a\u4e49\u7684\u89c4\u5219\u63a7\u5236\u3002\u4e0b\u9762\u662f\u4e00\u4e2a\u5c06\u6240\u6709\u6d41\u91cf\u90fd\u53d1\u9001\u5230\u540c\u4e00 Service \u7684\u7b80\u5355 Ingress \u793a\u4f8b\uff1a

                                                    Ingress \u662f\u5bf9\u96c6\u7fa4\u4e2d\u670d\u52a1\u7684\u5916\u90e8\u8bbf\u95ee\u8fdb\u884c\u7ba1\u7406\u7684 API \u5bf9\u8c61\uff0c\u5178\u578b\u7684\u8bbf\u95ee\u65b9\u5f0f\u662f HTTP\u3002Ingress \u53ef\u4ee5\u63d0\u4f9b\u8d1f\u8f7d\u5747\u8861\u3001SSL \u7ec8\u7ed3\u548c\u57fa\u4e8e\u540d\u79f0\u7684\u865a\u62df\u6258\u7ba1\u3002

                                                    "},{"location":"end-user/kpanda/network/create-ingress.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                                    • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002
                                                    • \u5df2\u7ecf\u5b8c\u6210 Ingress \u5b9e\u4f8b\u7684\u521b\u5efa\uff0c\u5df2\u90e8\u7f72\u5e94\u7528\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5e76\u4e14\u5df2\u521b\u5efa\u5bf9\u5e94 Service
                                                    • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002
                                                    "},{"location":"end-user/kpanda/network/create-ingress.html#_2","title":"\u521b\u5efa\u8def\u7531","text":"
                                                    1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u8def\u7531 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u8def\u7531 \u6309\u94ae\u3002

                                                      Note

                                                      \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u8def\u7531\u3002

                                                    3. \u6253\u5f00 \u521b\u5efa\u8def\u7531 \u9875\u9762\uff0c\u8fdb\u884c\u914d\u7f6e\u3002\u53ef\u9009\u62e9\u4e24\u79cd\u534f\u8bae\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u4e24\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                                                    "},{"location":"end-user/kpanda/network/create-ingress.html#http","title":"\u521b\u5efa HTTP \u534f\u8bae\u8def\u7531","text":"

                                                    \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                                                    • \u8def\u7531\u540d\u79f0 \uff1a\u5fc5\u586b\uff0c\u8f93\u5165\u65b0\u5efa\u8def\u7531\u7684\u540d\u79f0\u3002
                                                    • \u547d\u540d\u7a7a\u95f4 \uff1a\u5fc5\u586b\uff0c\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002
                                                    • \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \uff1a
                                                      • \u57df\u540d \uff1a\u5fc5\u586b\uff0c\u4f7f\u7528\u57df\u540d\u5bf9\u5916\u63d0\u4f9b\u8bbf\u95ee\u670d\u52a1\u3002\u9ed8\u8ba4\u4e3a\u96c6\u7fa4\u7684\u57df\u540d\u3002
                                                      • \u534f\u8bae \uff1a\u5fc5\u586b\uff0c\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002 \u8fd9\u91cc\u9009\u62e9 HTTP \u534f\u8bae\u7684\u8def\u7531\u3002
                                                      • \u8f6c\u53d1\u7b56\u7565 \uff1a\u9009\u586b\uff0c\u6307\u5b9a Ingress \u7684\u8bbf\u95ee\u7b56\u7565
                                                      • \u8def\u5f84 \uff1a\u6307\u5b9a\u670d\u52a1\u8bbf\u95ee\u7684URL\u8def\u5f84\uff0c\u9ed8\u8ba4\u4e3a\u6839\u8def\u5f84
                                                      • \u76ee\u6807\u670d\u52a1 \uff1a\u8fdb\u884c\u8def\u7531\u7684\u670d\u52a1\u540d\u79f0
                                                      • \u76ee\u6807\u670d\u52a1\u7aef\u53e3 \uff1a\u670d\u52a1\u5bf9\u5916\u66b4\u9732\u7684\u7aef\u53e3
                                                    • \u8d1f\u8f7d\u5747\u8861\u5668\u7c7b\u578b \uff1a\u5fc5\u586b\uff0cIngress \u5b9e\u4f8b\u7684\u4f7f\u7528\u8303\u56f4
                                                      • \u5e73\u53f0\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\uff0c\u5171\u4eab\u540c\u4e00\u4e2a Ingress \u5b9e\u4f8b\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                                                      • \u79df\u6237\u7ea7\u8d1f\u8f7d\u5747\u8861\u5668 \uff1a\u79df\u6237\u8d1f\u8f7d\u5747\u8861\u5668\uff0cIngress \u5b9e\u4f8b\u72ec\u5c5e\u4e8e\u5f53\u524d\u547d\u540d\u7a7a\uff0c\u6216\u8005\u72ec\u5c5e\u4e8e\u67d0\u4e00\u5de5\u4f5c\u7a7a\u95f4\uff0c \u5e76\u4e14\u8bbe\u7f6e\u7684\u5de5\u4f5c\u7a7a\u95f4\u4e2d\u5305\u542b\u5f53\u524d\u547d\u540d\u7a7a\u95f4\uff0c\u5176\u4e2d Pod \u90fd\u53ef\u4ee5\u63a5\u6536\u5230\u7531\u8be5\u8d1f\u8f7d\u5747\u8861\u5206\u53d1\u7684\u8bf7\u6c42
                                                    • Ingress Class \uff1a\u9009\u586b\uff0c\u9009\u62e9\u5bf9\u5e94\u7684 Ingress \u5b9e\u4f8b\uff0c\u9009\u62e9\u540e\u5c06\u6d41\u91cf\u5bfc\u5165\u5230\u6307\u5b9a\u7684 Ingress \u5b9e\u4f8b\u3002
                                                      • \u4e3a None \u65f6\u4f7f\u7528\u9ed8\u8ba4\u7684 DefaultClass\uff0c\u8bf7\u5728\u521b\u5efa Ingress \u5b9e\u4f8b\u65f6\u8bbe\u7f6e DefaultClass\uff0c \u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003 Ingress Class
                                                      • \u82e5\u9009\u62e9\u5176\u4ed6\u5b9e\u4f8b\uff08\u5982 ngnix \uff09\uff0c\u5219\u4f1a\u51fa\u73b0\u9ad8\u7ea7\u914d\u7f6e\uff0c\u53ef\u8bbe\u7f6e \u4f1a\u8bdd\u4fdd\u6301 \u3001 \u8def\u5f84\u91cd\u5199 \u3001 \u91cd\u5b9a\u5411 \u548c \u6d41\u91cf\u5206\u53d1 \u3002
                                                    • \u4f1a\u8bdd\u4fdd\u6301 \uff1a\u9009\u586b\uff0c\u4f1a\u8bdd\u4fdd\u6301\u5206\u4e3a \u4e09\u79cd\u7c7b\u578b\uff1a L4 \u6e90\u5730\u5740\u54c8\u5e0c \u3001 Cookie Key \u3001 L7 Header Name \uff0c\u5f00\u542f\u540e\u6839\u636e\u5bf9\u5e94\u89c4\u5219\u8fdb\u884c\u4f1a\u8bdd\u4fdd\u6301\u3002
                                                      • L4 \u6e90\u5730\u5740\u54c8\u5e0c \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$binary_remote_addr\"
                                                      • Cookie Key \uff1a\u5f00\u542f\u540e\u6765\u81ea\u7279\u5b9a\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\u5c06\u4f20\u9012\u81f3\u76f8\u540c Pod\uff0c\u5f00\u542f\u540e \u9ed8\u8ba4\u5728 Annotation \u4e2d\u589e\u52a0\u5982\u4e0b\u53c2\u6570\uff1a nginx.ingress.kubernetes.io/affinity: \"cookie\"\u3002nginx.ingress.kubernetes.io/affinity-mode: persistent
                                                      • L7 Header Name \uff1a\u5f00\u542f\u540e\u9ed8\u8ba4\u5728 Annotation \u4e2d\u52a0\u5165\u5982\u4e0b\u6807\u7b7e\uff1a nginx.ingress.kubernetes.io/upstream-hash-by: \"$http_x_forwarded_for\"
                                                    • \u8def\u5f84\u91cd\u5199 \uff1a\u9009\u586b\uff0c rewrite-target \uff0c\u67d0\u4e9b\u573a\u666f\u4e2d\u540e\u7aef\u670d\u52a1\u66b4\u9732\u7684URL\u4e0eIngress\u89c4\u5219\u4e2d\u6307\u5b9a\u7684\u8def\u5f84\u4e0d\u540c\uff0c\u5982\u679c\u4e0d\u8fdb\u884cURL\u91cd\u5199\u914d\u7f6e\uff0c\u8bbf\u95ee\u4f1a\u51fa\u73b0\u9519\u8bef\u3002
                                                    • \u91cd\u5b9a\u5411 \uff1a\u9009\u586b\uff0c permanent-redirect \uff0c\u6c38\u4e45\u91cd\u5b9a\u5411\uff0c\u8f93\u5165\u91cd\u5199\u8def\u5f84\u540e\uff0c\u8bbf\u95ee\u8def\u5f84\u91cd\u5b9a\u5411\u81f3\u8bbe\u7f6e\u7684\u5730\u5740\u3002
                                                    • \u6d41\u91cf\u5206\u53d1 \uff1a\u9009\u586b\uff0c\u5f00\u542f\u540e\u5e76\u8bbe\u7f6e\u540e\uff0c\u6839\u636e\u8bbe\u5b9a\u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1\u3002
                                                      • \u57fa\u4e8e\u6743\u91cd \uff1a\u8bbe\u5b9a\u6743\u91cd\u540e\uff0c\u5728\u521b\u5efa\u7684 Ingress \u6dfb\u52a0\u5982\u4e0b Annotation\uff1a nginx.ingress.kubernetes.io/canary-weight: \"10\"
                                                      • \u57fa\u4e8e Cookie \uff1a\u8bbe\u5b9a Cookie \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Cookie \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                                                      • \u57fa\u4e8e Header \uff1a \u8bbe\u5b9a Header \u89c4\u5219\u540e\uff0c\u6d41\u91cf\u6839\u636e\u8bbe\u5b9a\u7684 Header \u6761\u4ef6\u8fdb\u884c\u6d41\u91cf\u5206\u53d1
                                                    • \u6807\u7b7e \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6807\u7b7e
                                                    • \u6ce8\u89e3 \uff1a\u9009\u586b\uff0c\u4e3a\u8def\u7531\u6dfb\u52a0\u6ce8\u89e3
                                                    "},{"location":"end-user/kpanda/network/create-ingress.html#https","title":"\u521b\u5efa HTTPS \u534f\u8bae\u8def\u7531","text":"

                                                    \u8f93\u5165\u5982\u4e0b\u53c2\u6570\uff1a

                                                    Note

                                                    \u6ce8\u610f\uff1a\u4e0e HTTP \u534f\u8bae \u8bbe\u7f6e\u8def\u7531\u89c4\u5219 \u4e0d\u540c\uff0c\u589e\u52a0\u5bc6\u94a5\u9009\u62e9\u8bc1\u4e66\uff0c\u5176\u4ed6\u57fa\u672c\u4e00\u81f4\u3002

                                                    • \u534f\u8bae \uff1a\u5fc5\u586b\u6307\u6388\u6743\u5165\u7ad9\u5230\u8fbe\u96c6\u7fa4\u670d\u52a1\u7684\u534f\u8bae\uff0c\u652f\u6301 HTTP \uff08\u4e0d\u9700\u8981\u8eab\u4efd\u8ba4\u8bc1\uff09\u6216 HTTPS\uff08\u9700\u9700\u8981\u914d\u7f6e\u8eab\u4efd\u8ba4\u8bc1\uff09 \u534f\u8bae\u3002\u8fd9\u91cc\u9009\u62e9 HTTPS \u534f\u8bae\u7684\u8def\u7531\u3002
                                                    • \u5bc6\u94a5 \uff1a\u5fc5\u586b\uff0cHttps TLS \u8bc1\u4e66\uff0c\u521b\u5efa\u79d8\u94a5\u3002
                                                    "},{"location":"end-user/kpanda/network/create-ingress.html#_3","title":"\u5b8c\u6210\u8def\u7531\u521b\u5efa","text":"

                                                    \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u8def\u7531\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u8def\u7531\u3002

                                                    "},{"location":"end-user/kpanda/network/create-services.html","title":"\u521b\u5efa\u670d\u52a1\uff08Service\uff09","text":"

                                                    \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u6bcf\u4e2a Pod \u90fd\u6709\u4e00\u4e2a\u5185\u90e8\u72ec\u7acb\u7684 IP \u5730\u5740\uff0c\u4f46\u662f\u5de5\u4f5c\u8d1f\u8f7d\u4e2d\u7684 Pod \u53ef\u80fd\u4f1a\u88ab\u968f\u65f6\u521b\u5efa\u548c\u5220\u9664\uff0c\u76f4\u63a5\u4f7f\u7528 Pod IP \u5730\u5740\u5e76\u4e0d\u80fd\u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u3002

                                                    \u8fd9\u5c31\u9700\u8981\u521b\u5efa\u670d\u52a1\uff0c\u901a\u8fc7\u670d\u52a1\u60a8\u4f1a\u83b7\u5f97\u4e00\u4e2a\u56fa\u5b9a\u7684 IP \u5730\u5740\uff0c\u4ece\u800c\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u524d\u7aef\u548c\u540e\u7aef\u7684\u89e3\u8026\uff0c\u8ba9\u5916\u90e8\u7528\u6237\u80fd\u591f\u8bbf\u95ee\u670d\u52a1\u3002\u540c\u65f6\uff0c\u670d\u52a1\u8fd8\u63d0\u4f9b\u4e86\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u529f\u80fd\uff0c\u4f7f\u7528\u6237\u80fd\u4ece\u516c\u7f51\u8bbf\u95ee\u5230\u5de5\u4f5c\u8d1f\u8f7d\u3002

                                                    "},{"location":"end-user/kpanda/network/create-services.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u5c06\u7528\u6237\u6388\u6743\u4e3a NS Editor \u89d2\u8272 \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                                    "},{"location":"end-user/kpanda/network/create-services.html#_2","title":"\u521b\u5efa\u670d\u52a1","text":"
                                                    1. \u4ee5 NS Editor \u7528\u6237\u6210\u529f\u767b\u5f55\u540e\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u3002\u5728\u96c6\u7fa4\u5217\u8868\u4e2d\uff0c\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u670d\u52a1 \u8fdb\u5165\u670d\u52a1\u5217\u8868\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2 \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                                                      Tip

                                                      \u4e5f\u53ef\u4ee5\u901a\u8fc7 YAML \u521b\u5efa \u4e00\u4e2a\u670d\u52a1\u3002

                                                    3. \u6253\u5f00 \u521b\u5efa\u670d\u52a1 \u9875\u9762\uff0c\u9009\u62e9\u4e00\u79cd\u8bbf\u95ee\u7c7b\u578b\uff0c\u53c2\u8003\u4ee5\u4e0b\u51e0\u4e2a\u53c2\u6570\u8868\u8fdb\u884c\u914d\u7f6e\u3002

                                                    "},{"location":"end-user/kpanda/network/create-services.html#clusterip","title":"\u521b\u5efa ClusterIP \u670d\u52a1","text":"

                                                    \u70b9\u9009 \u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u96c6\u7fa4\u7684\u5185\u90e8 IP \u66b4\u9732\u670d\u52a1\uff0c\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u53ea\u80fd\u5728\u96c6\u7fa4\u5185\u90e8\u8bbf\u95ee\u3002\u8fd9\u662f\u9ed8\u8ba4\u7684\u670d\u52a1\u7c7b\u578b\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                                                    \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u96c6\u7fa4\u5185\u8bbf\u95ee\uff08ClusterIP\uff09\u3002 ClusterIP \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 app:job01 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\uff0c\u7528\u6765\u5bf9\u96c6\u7fa4\u5185\u66b4\u9732\u670d\u52a1\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"end-user/kpanda/network/create-services.html#nodeport","title":"\u521b\u5efa NodePort \u670d\u52a1","text":"

                                                    \u70b9\u9009 \u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u6bcf\u4e2a\u8282\u70b9\u4e0a\u7684 IP \u548c\u9759\u6001\u7aef\u53e3\uff08 NodePort \uff09\u66b4\u9732\u670d\u52a1\u3002 NodePort \u670d\u52a1\u4f1a\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 ClusterIP \u670d\u52a1\u3002\u901a\u8fc7\u8bf7\u6c42 <\u8282\u70b9 IP>:<\u8282\u70b9\u7aef\u53e3> \uff0c\u60a8\u53ef\u4ee5\u4ece\u96c6\u7fa4\u7684\u5916\u90e8\u8bbf\u95ee\u4e00\u4e2a NodePort \u670d\u52a1\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                                                    \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8282\u70b9\u8bbf\u95ee\uff08NodePort\uff09\u3002 NodePort \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u4f1a\u8bdd\u4fdd\u6301 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u540e\uff0c\u76f8\u540c\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5c06\u8f6c\u53d1\u81f3\u540c\u4e00 Pod\u5f00\u542f\u540e Service \u7684 .spec.sessionAffinity \u4e3a ClientIP \uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\uff1aService \u7684\u4f1a\u8bdd\u4eb2\u548c\u6027 \u5f00\u542f \u4f1a\u8bdd\u4fdd\u6301\u6700\u5927\u65f6\u957f \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5f00\u542f\u4f1a\u8bdd\u4fdd\u6301\u540e\uff0c\u4fdd\u6301\u7684\u6700\u5927\u65f6\u957f\uff0c\u9ed8\u8ba4\u8d85\u65f6\u65f6\u957f\u4e3a 30 \u79d2.spec.sessionAffinityConfig.clientIP.timeoutSeconds \u9ed8\u8ba4\u8bbe\u7f6e\u4e3a 30 \u79d2 30 \u79d2 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"end-user/kpanda/network/create-services.html#loadbalancer","title":"\u521b\u5efa LoadBalancer \u670d\u52a1","text":"

                                                    \u70b9\u9009 \u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09 \uff0c\u8fd9\u662f\u6307\u4f7f\u7528\u4e91\u63d0\u4f9b\u5546\u7684\u8d1f\u8f7d\u5747\u8861\u5668\u5411\u5916\u90e8\u66b4\u9732\u670d\u52a1\u3002 \u5916\u90e8\u8d1f\u8f7d\u5747\u8861\u5668\u53ef\u4ee5\u5c06\u6d41\u91cf\u8def\u7531\u5230\u81ea\u52a8\u521b\u5efa\u7684 NodePort \u670d\u52a1\u548c ClusterIP \u670d\u52a1\u4e0a\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                                                    \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u8d1f\u8f7d\u5747\u8861\uff08LoadBalancer\uff09\u3002 LoadBalancer \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u5916\u90e8\u6d41\u91cf\u7b56\u7565 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bbe\u7f6e\u5916\u90e8\u6d41\u91cf\u7b56\u7565\u3002Cluster\uff1a\u6d41\u91cf\u53ef\u4ee5\u8f6c\u53d1\u5230\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u4e0a\u7684 Pod\u3002Local\uff1a\u6d41\u91cf\u53ea\u53d1\u7ed9\u672c\u8282\u70b9\u4e0a\u7684 Pod\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 \u6807\u7b7e\u9009\u62e9\u5668 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6dfb\u52a0\u6807\u7b7e\uff0cService \u6839\u636e\u6807\u7b7e\u9009\u62e9 Pod\uff0c\u586b\u5199\u540e\u70b9\u51fb\u201c\u6dfb\u52a0\u201d\u3002\u4e5f\u53ef\u4ee5\u5f15\u7528\u5df2\u6709\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6807\u7b7e\uff0c\u70b9\u51fb \u5f15\u7528\u8d1f\u8f7d\u6807\u7b7e \uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u8d1f\u8f7d\uff0c\u7cfb\u7edf\u4f1a\u9ed8\u8ba4\u5c06\u6240\u9009\u7684\u8d1f\u8f7d\u6807\u7b7e\u4f5c\u4e3a\u9009\u62e9\u5668\u3002 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4f7f\u7528\u7684\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301 MetalLB \u548c\u5176\u4ed6\u3002 MetalLB IP \u6c60 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u7684 \u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u4e3a MetalLB \u65f6\uff0cLoadBalancer Service\u9ed8\u8ba4\u4f1a\u4ece\u8fd9\u4e2a\u6c60\u4e2d\u5206\u914d IP \u5730\u5740, \u5e76\u4e14\u901a\u8fc7 APR \u5ba3\u544a\u8fd9\u4e2a\u6c60\u4e2d\u7684\u6240\u6709 IP \u5730\u5740 \u8d1f\u8f7d\u5747\u8861\u5730\u5740 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u30111.\u5982\u4f7f\u7528\u7684\u662f\u516c\u6709\u4e91 CloudProvider\uff0c\u6b64\u5904\u586b\u5199\u7684\u4e3a\u4e91\u5382\u5546\u63d0\u4f9b\u7684\u8d1f\u8f7d\u5747\u8861\u5730\u5740\uff1b2.\u5982\u679c\u4e0a\u8ff0\u8d1f\u8f7d\u5747\u8861\u7c7b\u578b\u9009\u62e9\u4e3a MetalLB \uff0c\u9ed8\u8ba4\u4ece\u4e0a\u8ff0 IP \u6c60\u4e2d\u83b7\u53d6 IP \uff0c\u5982\u679c\u4e0d\u586b\u5219\u81ea\u52a8\u83b7\u53d6\u3002 \u7aef\u53e3\u914d\u7f6e \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u534f\u8bae\u7aef\u53e3\uff0c\u9700\u8981\u5148\u9009\u62e9\u7aef\u53e3\u534f\u8bae\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301 TCP\u3001UDP \u4e24\u79cd\u4f20\u8f93\u534f\u8bae\u3002\u7aef\u53e3\u540d\u79f0\uff1a\u8f93\u5165\u81ea\u5b9a\u4e49\u7684\u7aef\u53e3\u7684\u540d\u79f0\u3002\u670d\u52a1\u7aef\u53e3\uff08port\uff09\uff1aPod \u5bf9\u5916\u63d0\u4f9b\u670d\u52a1\u7684\u8bbf\u95ee\u7aef\u53e3\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e86\u65b9\u4fbf\u8d77\u89c1\uff0c\u670d\u52a1\u7aef\u53e3\u88ab\u8bbe\u7f6e\u4e3a\u4e0e\u5bb9\u5668\u7aef\u53e3\u5b57\u6bb5\u76f8\u540c\u7684\u503c\u3002\u5bb9\u5668\u7aef\u53e3\uff08targetport\uff09\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u9645\u76d1\u542c\u7684\u5bb9\u5668\u7aef\u53e3\u3002\u8282\u70b9\u7aef\u53e3\uff08nodeport\uff09\uff1a\u8282\u70b9\u7684\u7aef\u53e3\uff0c\u63a5\u6536\u6765\u81ea ClusterIP \u4f20\u8f93\u7684\u6d41\u91cf\u3002\u7528\u6765\u505a\u5916\u90e8\u6d41\u91cf\u8bbf\u95ee\u7684\u5165\u53e3\u3002 \u6ce8\u89e3 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u4e3a\u670d\u52a1\u6dfb\u52a0\u6ce8\u89e3"},{"location":"end-user/kpanda/network/create-services.html#externalname","title":"\u521b\u5efa ExternalName \u670d\u52a1","text":"

                                                    \u70b9\u9009 \u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09 \uff0c\u8fd9\u662f\u6307\u901a\u8fc7\u5c06\u670d\u52a1\u6620\u5c04\u5230\u5916\u90e8\u57df\u540d\u6765\u66b4\u9732\u670d\u52a1\u3002\u9009\u62e9\u6b64\u9879\u7684\u670d\u52a1\u4e0d\u4f1a\u521b\u5efa\u5178\u578b\u7684 ClusterIP \u6216 NodePort\uff0c\u800c\u662f\u901a\u8fc7 DNS \u540d\u79f0\u89e3\u6790\u5c06\u8bf7\u6c42\u91cd\u5b9a\u5411\u5230\u5916\u90e8\u7684\u670d\u52a1\u5730\u5740\u3002\u53c2\u8003\u4e0b\u8868\u914d\u7f6e\u53c2\u6570\u3002

                                                    \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8bbf\u95ee\u7c7b\u578b \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u6307\u5b9a Pod \u670d\u52a1\u53d1\u73b0\u7684\u65b9\u5f0f\uff0c\u8fd9\u91cc\u9009\u62e9\u5916\u90e8\u670d\u52a1\uff08ExternalName\uff09\u3002 ExternalName \u670d\u52a1\u540d\u79f0 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u65b0\u5efa\u670d\u52a1\u7684\u540d\u79f0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 Svc-01 \u547d\u540d\u7a7a\u95f4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u9009\u62e9\u65b0\u5efa\u670d\u52a1\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002\u5173\u4e8e\u547d\u540d\u7a7a\u95f4\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6982\u8ff0\u3002\u3010\u6ce8\u610f\u3011\u8bf7\u8f93\u5165 4 \u5230 63 \u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u5305\u542b\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e2d\u5212\u7ebf\uff08-\uff09\uff0c\u5e76\u4ee5\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u5f00\u5934\uff0c\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u6216\u6570\u5b57\u7ed3\u5c3e\u3002 default \u57df\u540d \u3010\u7c7b\u578b\u3011\u5fc5\u586b"},{"location":"end-user/kpanda/network/create-services.html#_3","title":"\u5b8c\u6210\u670d\u52a1\u521b\u5efa","text":"

                                                    \u914d\u7f6e\u5b8c\u6240\u6709\u53c2\u6570\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u670d\u52a1\u5217\u8868\u3002\u5728\u5217\u8868\u53f3\u4fa7\uff0c\u70b9\u51fb \u2507 \uff0c\u53ef\u4ee5\u4fee\u6539\u6216\u5220\u9664\u6240\u9009\u670d\u52a1\u3002

                                                    "},{"location":"end-user/kpanda/network/network-policy.html","title":"\u7f51\u7edc\u7b56\u7565","text":"

                                                    \u7f51\u7edc\u7b56\u7565\uff08NetworkPolicy\uff09\u53ef\u4ee5\u5728 IP \u5730\u5740\u6216\u7aef\u53e3\u5c42\u9762\uff08OSI \u7b2c 3 \u5c42\u6216\u7b2c 4 \u5c42\uff09\u63a7\u5236\u7f51\u7edc\u6d41\u91cf\u3002\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u76ee\u524d\u652f\u6301\u521b\u5efa\u57fa\u4e8e Pod \u6216\u547d\u540d\u7a7a\u95f4\u7684\u7f51\u7edc\u7b56\u7565\uff0c\u652f\u6301\u901a\u8fc7\u6807\u7b7e\u9009\u62e9\u5668\u6765\u8bbe\u5b9a\u54ea\u4e9b\u6d41\u91cf\u53ef\u4ee5\u8fdb\u5165\u6216\u79bb\u5f00\u5e26\u6709\u7279\u5b9a\u6807\u7b7e\u7684 Pod\u3002

                                                    \u6709\u5173\u7f51\u7edc\u7b56\u7565\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u7f51\u7edc\u7b56\u7565\u3002

                                                    "},{"location":"end-user/kpanda/network/network-policy.html#_2","title":"\u521b\u5efa\u7f51\u7edc\u7b56\u7565","text":"

                                                    \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u7f51\u7edc\u7b56\u7565\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                                    \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u7f51\u7edc\u7b56\u7565\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                                                    \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                                                    "},{"location":"end-user/kpanda/network/network-policy.html#yaml","title":"YAML \u521b\u5efa","text":"
                                                    1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> YAML \u521b\u5efa \u3002

                                                    2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                                    "},{"location":"end-user/kpanda/network/network-policy.html#_3","title":"\u8868\u5355\u521b\u5efa","text":"
                                                    1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 -> \u521b\u5efa\u7b56\u7565 \u3002

                                                    2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                                                      \u540d\u79f0\u548c\u547d\u540d\u7a7a\u95f4\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002

                                                    3. \u586b\u5199\u7b56\u7565\u914d\u7f6e\u3002

                                                      \u7b56\u7565\u914d\u7f6e\u5206\u4e3a\u5165\u6d41\u91cf\u7b56\u7565\u548c\u51fa\u6d41\u91cf\u7b56\u7565\u3002\u5982\u679c\u6e90 Pod \u60f3\u8981\u6210\u529f\u8fde\u63a5\u5230\u76ee\u6807 Pod\uff0c\u6e90 Pod \u7684\u51fa\u6d41\u91cf\u7b56\u7565\u548c\u76ee\u6807 Pod \u7684\u5165\u6d41\u91cf\u7b56\u7565\u90fd\u9700\u8981\u5141\u8bb8\u8fde\u63a5\u3002\u5982\u679c\u4efb\u4f55\u4e00\u65b9\u4e0d\u5141\u8bb8\u8fde\u63a5\uff0c\u90fd\u4f1a\u5bfc\u81f4\u8fde\u63a5\u5931\u8d25\u3002

                                                      • \u5165\u6d41\u91cf\u7b56\u7565\uff1a\u70b9\u51fb \u2795 \u5f00\u59cb\u914d\u7f6e\u7b56\u7565\uff0c\u652f\u6301\u914d\u7f6e\u591a\u6761\u7b56\u7565\u3002\u591a\u6761\u7f51\u7edc\u7b56\u7565\u7684\u6548\u679c\u76f8\u4e92\u53e0\u52a0\uff0c\u53ea\u6709\u540c\u65f6\u6ee1\u8db3\u6240\u6709\u7f51\u7edc\u7b56\u7565\uff0c\u624d\u80fd\u6210\u529f\u5efa\u7acb\u8fde\u63a5\u3002

                                                      • \u51fa\u6d41\u91cf\u7b56\u7565

                                                    "},{"location":"end-user/kpanda/network/network-policy.html#_4","title":"\u67e5\u770b\u7f51\u7edc\u7b56\u7565","text":"
                                                    1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u7f51\u7edc -> \u7f51\u7edc\u7b56\u7565 \uff0c\u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\u3002

                                                    2. \u67e5\u770b\u8be5\u7b56\u7565\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5173\u8054\u5b9e\u4f8b\u4fe1\u606f\u3001\u5165\u6d41\u91cf\u7b56\u7565\u3001\u51fa\u6d41\u91cf\u7b56\u7565\u3002

                                                    Info

                                                    \u5728\u5173\u8054\u5b9e\u4f8b\u9875\u7b7e\u4e0b\uff0c\u652f\u6301\u67e5\u770b\u5b9e\u4f8b\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5bb9\u5668\u5217\u8868\u3001YAML \u6587\u4ef6\u3001\u4e8b\u4ef6\u7b49\u3002

                                                    "},{"location":"end-user/kpanda/network/network-policy.html#_5","title":"\u66f4\u65b0\u7f51\u7edc\u7b56\u7565","text":"

                                                    \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                                                    • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                                    • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                                    "},{"location":"end-user/kpanda/network/network-policy.html#_6","title":"\u5220\u9664\u7f51\u7edc\u7b56\u7565","text":"

                                                    \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u5220\u9664\u7f51\u7edc\u7b56\u7565\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u7f51\u7edc\u7b56\u7565\u3002

                                                    • \u5728\u7f51\u7edc\u7b56\u7565\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u7b56\u7565\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                                                    • \u70b9\u51fb\u7f51\u7edc\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u7f51\u7edc\u7b56\u7565\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u5220\u9664\u3002

                                                    "},{"location":"end-user/kpanda/nodes/add-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u6269\u5bb9","text":"

                                                    \u968f\u7740\u4e1a\u52a1\u5e94\u7528\u4e0d\u65ad\u589e\u957f\uff0c\u96c6\u7fa4\u8d44\u6e90\u65e5\u8d8b\u7d27\u5f20\uff0c\u8fd9\u65f6\u53ef\u4ee5\u57fa\u4e8e kubean \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u6269\u5bb9\u3002\u6269\u5bb9\u540e\uff0c\u5e94\u7528\u53ef\u4ee5\u8fd0\u884c\u5728\u65b0\u589e\u7684\u8282\u70b9\u4e0a\uff0c\u7f13\u89e3\u8d44\u6e90\u538b\u529b\u3002

                                                    \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002\u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u540c\u79cd\u67b6\u6784\u4e0b\u5de5\u4f5c\u96c6\u7fa4\u7684 \u5de5\u4f5c\u8282\u70b9 \u6269\u5bb9\u3002

                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                                      \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb \u63a5\u5165\u8282\u70b9 \u3002

                                                    3. \u8f93\u5165\u4e3b\u673a\u540d\u79f0\u548c\u8282\u70b9 IP \u5e76\u70b9\u51fb \u786e\u5b9a \u3002

                                                      \u70b9\u51fb \u2795 \u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9 \u53ef\u4ee5\u7ee7\u7eed\u63a5\u5165\u66f4\u591a\u8282\u70b9\u3002

                                                    Note

                                                    \u63a5\u5165\u8282\u70b9\u5927\u7ea6\u9700\u8981 20 \u5206\u949f\uff0c\u8bf7\u60a8\u8010\u5fc3\u7b49\u5f85\u3002

                                                    "},{"location":"end-user/kpanda/nodes/add-node.html#_2","title":"\u53c2\u8003\u6587\u6863","text":"
                                                    • \u5bf9\u5de5\u4f5c\u96c6\u7fa4\u7684\u63a7\u5236\u8282\u70b9\u6269\u5bb9
                                                    • \u4e3a\u5de5\u4f5c\u96c6\u7fa4\u6dfb\u52a0\u5f02\u6784\u8282\u70b9
                                                    • \u4e3a\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\u6269\u5bb9
                                                    • \u66ff\u6362\u5de5\u4f5c\u96c6\u7fa4\u7684\u9996\u4e2a\u63a7\u5236\u8282\u70b9
                                                    "},{"location":"end-user/kpanda/nodes/delete-node.html","title":"\u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9","text":"

                                                    \u5f53\u4e1a\u52a1\u9ad8\u5cf0\u671f\u7ed3\u675f\u4e4b\u540e\uff0c\u4e3a\u4e86\u8282\u7701\u8d44\u6e90\u6210\u672c\uff0c\u53ef\u4ee5\u7f29\u5c0f\u96c6\u7fa4\u89c4\u6a21\uff0c\u5378\u8f7d\u5197\u4f59\u7684\u8282\u70b9\uff0c\u5373\u8282\u70b9\u7f29\u5bb9\u3002\u8282\u70b9\u5378\u8f7d\u540e\uff0c\u5e94\u7528\u65e0\u6cd5\u7ee7\u7eed\u8fd0\u884c\u5728\u8be5\u8282\u70b9\u4e0a\u3002

                                                    "},{"location":"end-user/kpanda/nodes/delete-node.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5177\u6709 Cluster Admin \u89d2\u8272\u6388\u6743 \u3002
                                                    • \u53ea\u6709\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u521b\u5efa\u7684\u96c6\u7fa4\u624d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\uff0c\u4ece\u5916\u90e8\u63a5\u5165\u7684\u96c6\u7fa4\u4e0d\u652f\u6301\u6b64\u64cd\u4f5c\u3002
                                                    • \u5378\u8f7d\u8282\u70b9\u4e4b\u524d\uff0c\u9700\u8981\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\uff0c\u5e76\u4e14\u5c06\u8be5\u8282\u70b9\u4e0a\u7684\u5e94\u7528\u90fd\u9a71\u9010\u81f3\u5176\u4ed6\u8282\u70b9\u3002
                                                    • \u9a71\u9010\u65b9\u5f0f\uff1a\u767b\u5f55\u63a7\u5236\u5668\u8282\u70b9\uff0c\u901a\u8fc7 kubectl drain \u547d\u4ee4\u9a71\u9010\u8282\u70b9\u4e0a\u6240\u6709 Pod\u3002\u5b89\u5168\u9a71\u9010\u7684\u65b9\u5f0f\u53ef\u4ee5\u5141\u8bb8\u5bb9\u5668\u7ec4\u91cc\u9762\u7684\u5bb9\u5668\u4f18\u96c5\u5730\u4e2d\u6b62\u3002
                                                    "},{"location":"end-user/kpanda/nodes/delete-node.html#_3","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                                                    1. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\uff0c\u53ea\u80fd\u9010\u4e2a\u8fdb\u884c\u5378\u8f7d\uff0c\u65e0\u6cd5\u6279\u91cf\u5378\u8f7d\u3002

                                                    2. \u5982\u9700\u5378\u8f7d\u96c6\u7fa4\u63a7\u5236\u5668\u8282\u70b9\uff0c\u9700\u8981\u786e\u4fdd\u6700\u7ec8\u63a7\u5236\u5668\u8282\u70b9\u6570\u4e3a \u5947\u6570\u3002

                                                    3. \u96c6\u7fa4\u8282\u70b9\u7f29\u5bb9\u65f6\u4e0d\u53ef\u4e0b\u7ebf \u7b2c\u4e00\u4e2a\u63a7\u5236\u5668 \u8282\u70b9\u3002\u5982\u679c\u5fc5\u987b\u6267\u884c\u6b64\u64cd\u4f5c\uff0c\u8bf7\u8054\u7cfb\u552e\u540e\u5de5\u7a0b\u5e08\u3002

                                                    "},{"location":"end-user/kpanda/nodes/delete-node.html#_4","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                                      \u82e5 \u96c6\u7fa4\u89d2\u8272 \u4e2d\u5e26\u6709 \u63a5\u5165\u96c6\u7fa4 \u7684\u6807\u7b7e\uff0c\u5219\u8bf4\u660e\u8be5\u96c6\u7fa4\u4e0d\u652f\u6301\u8282\u70b9\u6269\u7f29\u5bb9\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u5378\u8f7d\u7684\u8282\u70b9\uff0c\u70b9\u51fb \u2507 \u9009\u62e9 \u79fb\u9664\u8282\u70b9 \u3002

                                                    3. \u8f93\u5165\u8282\u70b9\u540d\u79f0\uff0c\u5e76\u70b9\u51fb \u5220\u9664 \u8fdb\u884c\u786e\u8ba4\u3002

                                                    "},{"location":"end-user/kpanda/nodes/labels-annotations.html","title":"\u6807\u7b7e\u4e0e\u6ce8\u89e3","text":"

                                                    \u6807\u7b7e\uff08Labels\uff09\u662f\u4e3a Pod\u3001\u8282\u70b9\u3001\u96c6\u7fa4\u7b49 Kubernetes \u5bf9\u8c61\u6dfb\u52a0\u7684\u6807\u8bc6\u6027\u952e\u503c\u5bf9\uff0c\u53ef\u7ed3\u5408\u6807\u7b7e\u9009\u62e9\u5668\u67e5\u627e\u5e76\u7b5b\u9009\u6ee1\u8db3\u67d0\u4e9b\u6761\u4ef6\u7684 Kubernetes \u5bf9\u8c61\u3002\u6bcf\u4e2a\u952e\u5bf9\u4e8e\u7ed9\u5b9a\u5bf9\u8c61\u5fc5\u987b\u662f\u552f\u4e00\u7684\u3002

                                                    \u6ce8\u89e3\uff08Annotations\uff09\u548c\u6807\u7b7e\u4e00\u6837\uff0c\u4e5f\u662f\u952e/\u503c\u5bf9\uff0c\u4f46\u4e0d\u5177\u5907\u6807\u8bc6\u6216\u7b5b\u9009\u529f\u80fd\u3002 \u4f7f\u7528\u6ce8\u89e3\u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u4efb\u610f\u7684\u5143\u6570\u636e\u3002 \u6ce8\u89e3\u7684\u952e\u901a\u5e38\u4f7f\u7528\u7684\u683c\u5f0f\u4e3a \u524d\u7f00\uff08\u53ef\u9009\uff09/\u540d\u79f0\uff08\u5fc5\u586b\uff09 \uff0c\u4f8b\u5982 nfd.node.kubernetes.io/extended-resources \u3002 \u5982\u679c\u7701\u7565\u524d\u7f00\uff0c\u8868\u793a\u8be5\u6ce8\u89e3\u952e\u662f\u7528\u6237\u79c1\u6709\u7684\u3002

                                                    \u6709\u5173\u6807\u7b7e\u548c\u6ce8\u89e3\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u53c2\u8003 Kubernetes \u7684\u5b98\u65b9\u6587\u6863\u6807\u7b7e\u548c\u9009\u62e9\u7b97\u7b26\u6216\u6ce8\u89e3\u3002

                                                    \u6dfb\u52a0/\u5220\u9664\u6807\u7b7e\u4e0e\u6ce8\u89e3\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u4fee\u6539\u6807\u7b7e \u6216 \u4fee\u6539\u6ce8\u89e3 \u3002

                                                    3. \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u6dfb\u52a0\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u70b9\u51fb X \u53ef\u4ee5\u5220\u9664\u6807\u7b7e\u6216\u6ce8\u89e3\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                                    "},{"location":"end-user/kpanda/nodes/node-authentication.html","title":"\u4f7f\u7528 SSH \u5bc6\u94a5\u8ba4\u8bc1\u8282\u70b9","text":"

                                                    \u5982\u679c\u60a8\u9009\u62e9\u4f7f\u7528 SSH \u5bc6\u94a5\u4f5c\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u8ba4\u8bc1\u65b9\u5f0f\uff0c\u60a8\u9700\u8981\u6309\u7167\u5982\u4e0b\u8bf4\u660e\u914d\u7f6e\u516c\u79c1\u94a5\u3002

                                                    1. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5728 \u5f85\u5efa\u96c6\u7fa4\u7684\u7ba1\u7406\u96c6\u7fa4\u4e2d\u7684\u4efb\u610f\u8282\u70b9 \u4e0a\u751f\u6210\u516c\u79c1\u94a5\u3002

                                                      cd /root/.ssh\nssh-keygen -t rsa\n
                                                    2. \u6267\u884c ls \u547d\u4ee4\u67e5\u770b\u7ba1\u7406\u96c6\u7fa4\u4e0a\u7684\u5bc6\u94a5\u662f\u5426\u521b\u5efa\u6210\u529f\uff0c\u6b63\u786e\u53cd\u9988\u5982\u4e0b\uff1a

                                                      ls\nid_rsa  id_rsa.pub  known_hosts\n

                                                      \u5176\u4e2d\u540d\u4e3a id_rsa \u7684\u6587\u4ef6\u662f\u79c1\u94a5\uff0c\u540d\u4e3a id_rsa.pub \u7684\u6587\u4ef6\u662f\u516c\u94a5\u3002

                                                    3. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u5206\u522b\u5c06\u516c\u94a5\u6587\u4ef6 id_rsa.pub \u52a0\u8f7d\u5230\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6240\u6709\u8282\u70b9\u4e0a\u3002

                                                      ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.0.0.0\n

                                                      \u5c06\u4e0a\u9762\u547d\u4ee4\u4e2d\u7684 root@10.0.0.0 \u7528\u6237\u8d26\u53f7\u548c\u8282\u70b9 IP \u66ff\u6362\u4e3a\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u8282\u70b9\u7528\u6237\u540d\u548c IP\u3002** \u9700\u8981\u5728\u5f85\u521b\u5efa\u96c6\u7fa4\u7684\u6bcf\u53f0\u8282\u70b9\u90fd\u6267\u884c\u76f8\u540c\u7684\u64cd\u4f5c **\u3002

                                                    4. \u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u67e5\u770b\u6b65\u9aa4 1 \u6240\u521b\u5efa\u7684\u79c1\u94a5\u6587\u4ef6 id_rsa \u3002

                                                      cat /root/.ssh/id_rsa\n

                                                      \u8f93\u51fa\u5982\u4e0b\u5185\u5bb9\uff1a

                                                      -----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA3UvyKINzY5BFuemQ+uJ6q+GqgfvnWwNC8HzZhpcMSjJy26MM\nUtBEBJxy8fMi57XcjYxPibXW/wnd+32ICCycqCwByUmuXeCC1cjlCQDqjcAvXae7\nY54IXGF7wm2IsMNwf0kjFEXjuS48FLDA0mGRaN3BG+Up5geXcHckg3K5LD8kXFFx\ndEmSIjdyw55NaUitmEdHzN7cIdfi6Z56jcV8dcFBgWKUx+ebiyPmZBkXToz6GnMF\nrswzzZCl+G6Jb2xTGy7g7ozb4BoZd1IpSD5EhDanRrESVE0C5YuJ5zUAC0CvVd1l\nv67AK8Ko6MXToHp01/bcsvlM6cqgwUFXZKVeOwIDAQABAoIBAQCO36GQlo3BEjxy\nM2HvGJmqrx+unDxafliRe4nVY2AD515Qf4xNSzke4QM1QoyenMOwf446krQkJPK0\nk+9nl6Xszby5gGCbK4BNFk8I6RaGPjZWeRx6zGUJf8avWJiPxx6yjz2esSC9RiR0\nF0nmiiefVMyAfgv2/5++dK2WUFNNRKLgSRRpP5bRaD5wMzzxtSSXrUon6217HO8p\n3RoWsI51MbVzhdVgpHUNABcoa0rpr9svT6XLKZxY8mxpKFYjM0Wv2JIDABg3kBvh\nQbJ7kStCO3naZjKMU9UuSqVJs06cflGYw7Or8/tABR3LErNQKPjkhAQqt0DXw7Iw\n3tKdTAJBAoGBAP687U7JAOqQkcphek2E/A/sbO/d37ix7Z3vNOy065STrA+ZWMZn\npZ6Ui1B/oJpoZssnfvIoz9sn559X0j67TljFALFd2ZGS0Fqh9KVCqDvfk+Vst1dq\n+3r/yZdTOyswoccxkJiC/GDwZGK0amJWqvob39JCZhDAKIGLbGMmjdAHAoGBAN5k\nm1WGnni1nZ+3dryIwgB6z1hWcnLTamzSET6KhSuo946ET0IRG9xtlheCx6dqICbr\nVk1Y4NtRZjK/p/YGx59rDWf7E3I8ZMgR7mjieOcUZ4lUlA4l7ZIlW/2WZHW+nUXO\nTi20fqJ8qSp4BUvOvuth1pz2GLUHe2/Fxjf7HIstAoGBAPHpPr9r+TfIlPsJeRj2\n6lzA3G8qWFRQfGRYjv0fjv0pA+RIb1rzgP/I90g5+63G6Z+R4WdcxI/OJJNY1iuG\nuw9n/pFxm7U4JC990BPE6nj5iLz+clpNGYckNDBF9VG9vFSrSDLdaYkxoVNvG/xJ\na9Na90H4lm7f3VewrPy310KvAoGAZr+mwNoEh5Kpc6xo8Gxi7aPP/mlaUVD6X7Ki\ngvmu02AqmC7rC4QqEiqTaONkaSXwGusqIWxJ3yp5hELmUBYLzszAEeV/s4zRp1oZ\ng133LBRSTbHFAdBmNdqK6Nu+KGRb92980UMOKvZbliKDl+W6cbfvVu+gtKrzTc3b\naevb4TUCgYEAnJAxyVYDP1nJf7bjBSHXQu1E/DMwbtrqw7dylRJ8cAzI7IxfSCez\n7BYWq41PqVd9/zrb3Pbh2phiVzKe783igAIMqummcjo/kZyCwFsYBzK77max1jF5\naPQsLbRS2aDz8kIH6jHPZ/R+15EROmdtLmA7vIJZGerWWQR0dUU+XXA=\n

                                                      \u5c06\u79c1\u94a5\u5185\u5bb9\u590d\u5236\u540e\u586b\u81f3\u754c\u9762\u5bc6\u94a5\u8f93\u5165\u6846\u3002

                                                    "},{"location":"end-user/kpanda/nodes/node-check.html","title":"\u521b\u5efa\u96c6\u7fa4\u8282\u70b9\u53ef\u7528\u6027\u68c0\u67e5","text":"

                                                    \u5728\u521b\u5efa\u96c6\u7fa4\u6216\u4e3a\u5df2\u6709\u96c6\u7fa4\u6dfb\u52a0\u8282\u70b9\u65f6\uff0c\u8bf7\u53c2\u9605\u4e0b\u8868\uff0c\u68c0\u67e5\u8282\u70b9\u914d\u7f6e\uff0c\u4ee5\u907f\u514d\u56e0\u8282\u70b9\u914d\u7f6e\u9519\u8bef\u5bfc\u81f4\u96c6\u7fa4\u521b\u5efa\u6216\u6269\u5bb9\u5931\u8d25\u3002

                                                    \u68c0\u67e5\u9879 \u63cf\u8ff0 \u64cd\u4f5c\u7cfb\u7edf \u53c2\u8003\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf SELinux \u5173\u95ed \u9632\u706b\u5899 \u5173\u95ed \u67b6\u6784\u4e00\u81f4\u6027 \u8282\u70b9\u95f4 CPU \u67b6\u6784\u4e00\u81f4\uff08\u5982\u5747\u4e3a ARM \u6216 x86\uff09 \u4e3b\u673a\u65f6\u95f4 \u6240\u6709\u4e3b\u673a\u95f4\u540c\u6b65\u8bef\u5dee\u5c0f\u4e8e 10 \u79d2\u3002 \u7f51\u7edc\u8054\u901a\u6027 \u8282\u70b9\u53ca\u5176 SSH \u7aef\u53e3\u80fd\u591f\u6b63\u5e38\u88ab\u5e73\u53f0\u8bbf\u95ee\u3002 CPU \u53ef\u7528 CPU \u8d44\u6e90\u5927\u4e8e 4 Core \u5185\u5b58 \u53ef\u7528\u5185\u5b58\u8d44\u6e90\u5927\u4e8e 8 GB"},{"location":"end-user/kpanda/nodes/node-check.html#_2","title":"\u652f\u6301\u7684\u67b6\u6784\u53ca\u64cd\u4f5c\u7cfb\u7edf","text":"\u67b6\u6784 \u64cd\u4f5c\u7cfb\u7edf \u5907\u6ce8 ARM Kylin Linux Advanced Server release V10 (Sword) SP2 \u63a8\u8350 ARM UOS Linux ARM openEuler x86 CentOS 7.x \u63a8\u8350 x86 Redhat 7.x \u63a8\u8350 x86 Redhat 8.x \u63a8\u8350 x86 Flatcar Container Linux by Kinvolk x86 Debian Bullseye, Buster, Jessie, Stretch x86 Ubuntu 16.04, 18.04, 20.04, 22.04 x86 Fedora 35, 36 x86 Fedora CoreOS x86 openSUSE Leap 15.x/Tumbleweed x86 Oracle Linux 7, 8, 9 x86 Alma Linux 8, 9 x86 Rocky Linux 8, 9 x86 Amazon Linux 2 x86 Kylin Linux Advanced Server release V10 (Sword) - SP2 \u6d77\u5149 x86 UOS Linux x86 openEuler"},{"location":"end-user/kpanda/nodes/node-details.html","title":"\u8282\u70b9\u8be6\u60c5","text":"

                                                    \u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u96c6\u7fa4\u4e2d\u5404\u4e2a\u8282\u70b9\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u8282\u70b9\u72b6\u6001\u3001\u6807\u7b7e\u3001\u8d44\u6e90\u7528\u91cf\u3001Pod\u3001\u76d1\u63a7\u4fe1\u606f\u7b49\u3002

                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u72b6\u6001\u3001\u89d2\u8272\u3001\u6807\u7b7e\u3001CPU/\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\u3001IP \u5730\u5740\u3001\u521b\u5efa\u65f6\u95f4\u3002

                                                    3. \u70b9\u51fb\u8282\u70b9\u540d\u79f0\uff0c\u53ef\u4ee5\u8fdb\u5165\u8282\u70b9\u8be6\u60c5\u9875\u9762\u67e5\u770b\u66f4\u591a\u4fe1\u606f\uff0c\u5305\u62ec\u6982\u89c8\u4fe1\u606f\u3001\u5bb9\u5668\u7ec4\u4fe1\u606f\u3001\u6807\u7b7e\u6ce8\u89e3\u4fe1\u606f\u3001\u4e8b\u4ef6\u5217\u8868\u3001\u72b6\u6001\u7b49\u3002

                                                      \u6b64\u5916\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u8282\u70b9\u7684 YAML \u6587\u4ef6\u3001\u76d1\u63a7\u4fe1\u606f\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u7b49\u3002

                                                    "},{"location":"end-user/kpanda/nodes/schedule.html","title":"\u8282\u70b9\u8c03\u5ea6","text":"

                                                    \u652f\u6301\u5c06\u8282\u70b9\u6682\u505c\u8c03\u5ea6\u6216\u6062\u590d\u8c03\u5ea6\u3002\u6682\u505c\u8c03\u5ea6\u6307\uff0c\u505c\u6b62\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002\u6062\u590d\u8c03\u5ea6\u6307\uff0c\u53ef\u4ee5\u5c06 Pod \u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6682\u505c\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6682\u505c\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                                                    3. \u5728\u8282\u70b9\u53f3\u4fa7\u70b9\u51fb \u2507 \u64cd\u4f5c\u56fe\u6807\uff0c\u70b9\u51fb \u6062\u590d\u8c03\u5ea6 \u6309\u94ae\u5373\u53ef\u6062\u590d\u8c03\u5ea6\u8be5\u8282\u70b9\u3002

                                                    \u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u53ef\u80fd\u56e0\u7f51\u7edc\u60c5\u51b5\u6709\u6240\u5ef6\u8fdf\uff0c\u70b9\u51fb\u641c\u7d22\u6846\u53f3\u4fa7\u7684\u5237\u65b0\u56fe\u6807\u53ef\u4ee5\u5237\u65b0\u8282\u70b9\u8c03\u5ea6\u72b6\u6001\u3002

                                                    "},{"location":"end-user/kpanda/nodes/taints.html","title":"\u8282\u70b9\u6c61\u70b9\u7ba1\u7406","text":"

                                                    \u6c61\u70b9 (Taint) \u80fd\u591f\u4f7f\u8282\u70b9\u6392\u65a5\u67d0\u4e00\u7c7b Pod\uff0c\u907f\u514d Pod \u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u4e0a\u3002 \u6bcf\u4e2a\u8282\u70b9\u4e0a\u53ef\u4ee5\u5e94\u7528\u4e00\u4e2a\u6216\u591a\u4e2a\u6c61\u70b9\uff0c\u4e0d\u80fd\u5bb9\u5fcd\u8fd9\u4e9b\u6c61\u70b9\u7684 Pod \u5219\u4e0d\u4f1a\u88ab\u8c03\u5ea6\u8be5\u8282\u70b9\u4e0a\u3002

                                                    "},{"location":"end-user/kpanda/nodes/taints.html#_2","title":"\u6ce8\u610f\u4e8b\u9879","text":"
                                                    1. \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u5907 NS Editor \u89d2\u8272\u6388\u6743\u6216\u5176\u4ed6\u66f4\u9ad8\u6743\u9650\u3002
                                                    2. \u4e3a\u8282\u70b9\u6dfb\u52a0\u6c61\u70b9\u4e4b\u540e\uff0c\u53ea\u6709\u80fd\u5bb9\u5fcd\u8be5\u6c61\u70b9\u7684 Pod \u624d\u80fd\u88ab\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002
                                                    "},{"location":"end-user/kpanda/nodes/taints.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u627e\u5230\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u6982\u89c8 \u9875\u9762\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\uff0c\u70b9\u51fb \u8282\u70b9\u7ba1\u7406 \uff0c\u627e\u5230\u9700\u8981\u4fee\u6539\u6c61\u70b9\u7684\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u56fe\u6807\u5e76\u70b9\u51fb \u4fee\u6539\u6c61\u70b9 \u6309\u94ae\u3002

                                                    3. \u5728\u5f39\u6846\u5185\u8f93\u5165\u6c61\u70b9\u7684\u952e\u503c\u4fe1\u606f\uff0c\u9009\u62e9\u6c61\u70b9\u6548\u679c\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                                      \u70b9\u51fb \u2795 \u6dfb\u52a0 \u53ef\u4ee5\u4e3a\u8282\u70b9\u6dfb\u52a0\u591a\u4e2a\u6c61\u70b9\uff0c\u70b9\u51fb\u6c61\u70b9\u6548\u679c\u53f3\u4fa7\u7684 X \u53ef\u4ee5\u5220\u9664\u6c61\u70b9\u3002

                                                      \u76ee\u524d\u652f\u6301\u4e09\u79cd\u6c61\u70b9\u6548\u679c\uff1a

                                                      • NoSchedule\uff1a\u65b0\u7684 Pod \u4e0d\u4f1a\u88ab\u8c03\u5ea6\u5230\u5e26\u6709\u6b64\u6c61\u70b9\u7684\u8282\u70b9\u4e0a\uff0c\u9664\u975e\u65b0\u7684 Pod \u5177\u6709\u76f8\u5339\u914d\u7684\u5bb9\u5fcd\u5ea6\u3002\u5f53\u524d\u6b63\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u4e0d\u4f1a \u88ab\u9a71\u9010\u3002
                                                      • NoExecute\uff1a\u8fd9\u4f1a\u5f71\u54cd\u5df2\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod\uff1a
                                                        • \u5982\u679c Pod \u4e0d\u80fd\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f1a\u9a6c\u4e0a\u88ab\u9a71\u9010\u3002
                                                        • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\uff0c\u4f46\u662f\u5728\u5bb9\u5fcd\u5ea6\u5b9a\u4e49\u4e2d\u6ca1\u6709\u6307\u5b9a tolerationSeconds\uff0c\u5219 Pod \u8fd8\u4f1a\u4e00\u76f4\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u3002
                                                        • \u5982\u679c Pod \u80fd\u591f\u5bb9\u5fcd\u6b64\u6c61\u70b9\u800c\u4e14\u6307\u5b9a\u4e86 tolerationSeconds\uff0c\u5219 Pod \u8fd8\u80fd\u5728\u8fd9\u4e2a\u8282\u70b9\u4e0a\u7ee7\u7eed\u8fd0\u884c\u6307\u5b9a\u7684\u65f6\u957f\u3002\u8fd9\u6bb5\u65f6\u95f4\u8fc7\u53bb\u540e\uff0c\u518d\u4ece\u8282\u70b9\u4e0a\u9a71\u9664\u8fd9\u4e9b Pod\u3002
                                                      • PreferNoSchedule\uff1a\u8fd9\u662f\u201c\u8f6f\u6027\u201d\u7684 NoSchedule\u3002\u63a7\u5236\u5e73\u9762\u5c06**\u5c1d\u8bd5**\u907f\u514d\u5c06\u4e0d\u5bb9\u5fcd\u6b64\u6c61\u70b9\u7684 Pod \u8c03\u5ea6\u5230\u8282\u70b9\u4e0a\uff0c\u4f46\u4e0d\u80fd\u4fdd\u8bc1\u5b8c\u5168\u907f\u514d\u3002\u6240\u4ee5\u8981\u5c3d\u91cf\u907f\u514d\u4f7f\u7528\u6b64\u6c61\u70b9\u3002

                                                    \u6709\u5173\u6c61\u70b9\u7684\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605 Kubernetes \u5b98\u65b9\u6587\u6863\uff1a\u6c61\u70b9\u548c\u5bb9\u5fcd\u5ea6\u3002

                                                    "},{"location":"end-user/kpanda/olm/import-miniooperator.html","title":"\u5bfc\u5165\u79bb\u7ebf MinIo Operator","text":"

                                                    \u672c\u6587\u5c06\u4ecb\u7ecd\u5728\u79bb\u7ebf\u73af\u5883\u4e0b\u5982\u4f55\u5bfc\u5165 MinIo Operator\u3002

                                                    "},{"location":"end-user/kpanda/olm/import-miniooperator.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5f53\u524d\u96c6\u7fa4\u5df2\u63a5\u5165\u5bb9\u5668\u7ba1\u7406\u4e14\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 kolm \u7ec4\u4ef6\uff08helm \u6a21\u677f\u641c\u7d22 kolm\uff09
                                                    • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 olm \u7ec4\u4ef6\u4e14\u7248\u672c >= 0.2.4 (helm \u6a21\u677f\u641c\u7d22 olm)
                                                    • \u652f\u6301\u6267\u884c Docker \u547d\u4ee4
                                                    • \u51c6\u5907\u4e00\u4e2a\u955c\u50cf\u4ed3\u5e93
                                                    "},{"location":"end-user/kpanda/olm/import-miniooperator.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                                    1. \u5728\u6267\u884c\u73af\u5883\u4e2d\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u5e76\u5728\u540e\u7eed\u6b65\u9aa4\u4f7f\u7528\uff0c\u6267\u884c\u547d\u4ee4\uff1a

                                                      export OPM_IMG=10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0 \nexport BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3 \n

                                                      \u5982\u4f55\u83b7\u53d6\u4e0a\u8ff0\u955c\u50cf\u5730\u5740\uff1a

                                                      \u524d\u5f80 \u5bb9\u5668\u7ba1\u7406 -> \u9009\u62e9\u5f53\u524d\u96c6\u7fa4 -> helm \u5e94\u7528 -> \u67e5\u770b olm \u7ec4\u4ef6 -> \u63d2\u4ef6\u8bbe\u7f6e \uff0c\u627e\u5230\u540e\u7eed\u6b65\u9aa4\u6240\u9700 opm\uff0cminio\uff0cminio bundle\uff0cminio operator \u7684\u955c\u50cf\u3002

                                                      \u4ee5\u4e0a\u8bc9\u622a\u56fe\u4e3a\u4f8b\uff0c\u5219\u56db\u4e2a\u955c\u50cf\u5730\u5740\u5982\u4e0b\n\n# opm \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/operator-framework/opm:v1.29.0\n\n# minio \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/minio/minio:RELEASE.2023-03-24T21-41-23Z\n\n# minio bundle \u955c\u50cf\n10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3\n\n# minio operator \u955c\u50cf \n10.5.14.200/quay.m.daocloud.io/minio/operator:v5.0.3\n
                                                    2. \u6267\u884c opm \u547d\u4ee4\u83b7\u53d6\u79bb\u7ebf bundle \u955c\u50cf\u5305\u542b\u7684 operator\u3002

                                                      # \u521b\u5efa operator \u5b58\u653e\u76ee\u5f55\n$ mkdir minio-operator && cd minio-operator \n\n# \u83b7\u53d6 operator yaml \n$ docker run --user root  -v $PWD/minio-operator:/minio-operator ${OPM_IMG} alpha bundle unpack --skip-tls-verify -v -d ${BUNDLE_IMG} -o ./minio-operator\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 9 files\n
                                                    3. \u66ff\u6362\u00a0 minio-operator/manifests/minio-operator.clusterserviceversion.yaml\u00a0 \u6587\u4ef6\u4e2d\u7684\u6240\u6709\u955c\u50cf\u5730\u5740\u4e3a\u79bb\u7ebf\u955c\u50cf\u4ed3\u5e93\u5730\u5740\u955c\u50cf\u3002

                                                      \u66ff\u6362\u524d\uff1a

                                                      \u66ff\u6362\u540e\uff1a

                                                    4. \u751f\u6210\u6784\u5efa bundle \u955c\u50cf\u7684 Dockerfile

                                                      $ docker run --user root  -v $PWD:/minio-operator -w /minio-operator ${OPM_IMG} alpha bundle generate --channels stable,beta -d /minio-operator/minio-operator/manifests -e stable -p minio-operator \u00a0\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n3 directories, 10 files\n
                                                    5. \u6267\u884c\u6784\u5efa\u547d\u4ee4\uff0c\u6784\u5efa bundle \u955c\u50cf\u4e14\u63a8\u9001\u5230\u79bb\u7ebf registry\u3002

                                                      # \u8bbe\u7f6e\u65b0\u7684 bundle image \nexport OFFLINE_BUNDLE_IMG=10.5.14.200/quay.m.daocloud.io/operatorhubio/minio-operator:v5.0.3-offline \n\n$ docker build . -f bundle.Dockerfile -t ${OFFLINE_BUNDLE_IMG} \u00a0\n\n$ docker push ${OFFLINE_BUNDLE_IMG}\n
                                                    6. \u751f\u6210\u6784\u5efa catalog \u955c\u50cf\u7684 Dockerfile\u3002

                                                      $ docker run --user root  -v $PWD:/minio-operator  -w /minio-operator ${OPM_IMG} index add  --bundles ${OFFLINE_BUNDLE_IMG} --generate --binary-image ${OPM_IMG} --skip-tls-verify\n\n# \u9884\u671f\u7ed3\u679c\n.\n\u251c\u2500\u2500 bundle.Dockerfile\n\u251c\u2500\u2500 database\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 index.db\n\u251c\u2500\u2500 index.Dockerfile\n\u2514\u2500\u2500 minio-operator\n    \u251c\u2500\u2500 manifests\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-env_v1_configmap.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console-sa-secret_v1_secret.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 console_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio.min.io_tenants.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 minio-operator.clusterserviceversion.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 operator_v1_service.yaml\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 sts.min.io_policybindings.yaml\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 sts_v1_service.yaml\n    \u2514\u2500\u2500 metadata\n        \u2514\u2500\u2500 annotations.yaml\n\n4 directories, 12 files\n
                                                    7. \u6784\u5efa catalog \u955c\u50cf

                                                      # \u8bbe\u7f6e\u65b0\u7684 catalog image  \nexport OFFLINE_CATALOG_IMG=10.5.14.200/release.daocloud.io/operator-framework/system-operator-index:v0.1.0-offline\n\n$ docker build . -f index.Dockerfile -t ${OFFLINE_CATALOG_IMG}  \n\n$ docker push ${OFFLINE_CATALOG_IMG}\n
                                                    8. \u524d\u5f80\u5bb9\u5668\u7ba1\u7406\uff0c\u66f4\u65b0 helm \u5e94\u7528 olm \u7684\u5185\u7f6e catsrc \u955c\u50cf\uff08\u586b\u5199\u6784\u5efa catalog \u955c\u50cf\u6307\u5b9a\u7684 ${catalog-image} \u5373\u53ef\uff09

                                                    9. \u66f4\u65b0\u6210\u529f\u540e\uff0cOperator Hub \u4e2d\u4f1a\u51fa\u73b0 minio-operator \u7ec4\u4ef6

                                                    "},{"location":"end-user/kpanda/permissions/cluster-ns-auth.html","title":"\u96c6\u7fa4\u548c\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"

                                                    \u5bb9\u5668\u7ba1\u7406\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u53ca\u5168\u5c40\u7528\u6237/\u7528\u6237\u7ec4\u7ba1\u7406\u5b9e\u73b0\u6388\u6743\uff0c\u5982\u9700\u4e3a\u7528\u6237\u6388\u4e88\u5bb9\u5668\u7ba1\u7406\u7684\u6700\u9ad8\u6743\u9650\uff08\u53ef\u4ee5\u521b\u5efa\u3001\u7ba1\u7406\u3001\u5220\u9664\u6240\u6709\u96c6\u7fa4\uff09\uff0c\u8bf7\u53c2\u89c1\u4ec0\u4e48\u662f\u7528\u6237\u4e0e\u8bbf\u95ee\u63a7\u5236\u3002

                                                    "},{"location":"end-user/kpanda/permissions/cluster-ns-auth.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u7ed9\u7528\u6237/\u7528\u6237\u7ec4\u6388\u6743\u4e4b\u524d\uff0c\u8bf7\u5b8c\u6210\u5982\u4e0b\u51c6\u5907\uff1a

                                                    • \u5df2\u5728\u5168\u5c40\u7ba1\u7406\u4e2d\u521b\u5efa\u4e86\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\uff0c\u8bf7\u53c2\u8003\u7528\u6237\u3002

                                                    • \u4ec5 Kpanda Owner \u53ca\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin \u5177\u5907\u96c6\u7fa4\u6388\u6743\u80fd\u529b\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002

                                                    • \u4ec5 Kpanda Owner\u3001\u5f53\u524d\u96c6\u7fa4\u7684 Cluster Admin\uff0c\u5f53\u524d\u547d\u540d\u7a7a\u95f4\u7684 NS Admin \u5177\u5907\u547d\u540d\u7a7a\u95f4\u6388\u6743\u80fd\u529b\u3002

                                                    "},{"location":"end-user/kpanda/permissions/cluster-ns-auth.html#_3","title":"\u96c6\u7fa4\u6388\u6743","text":"
                                                    1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u9ed8\u8ba4\u4f4d\u4e8e \u96c6\u7fa4\u6743\u9650 \u9875\u7b7e\u3002

                                                    2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002

                                                    3. \u5728 \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                                      \u76ee\u524d\u4ec5\u652f\u6301\u7684\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u8981\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c \u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002

                                                    4. \u8fd4\u56de\u96c6\u7fa4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                                                    "},{"location":"end-user/kpanda/permissions/cluster-ns-auth.html#_4","title":"\u547d\u540d\u7a7a\u95f4\u6388\u6743","text":"
                                                    1. \u7528\u6237\u767b\u5f55\u5e73\u53f0\u540e\uff0c\u70b9\u51fb\u5de6\u4fa7\u83dc\u5355\u680f \u5bb9\u5668\u7ba1\u7406 \u4e0b\u7684 \u6743\u9650\u7ba1\u7406 \uff0c\u70b9\u51fb \u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u7b7e\u3002

                                                    2. \u70b9\u51fb \u6dfb\u52a0\u6388\u6743 \u6309\u94ae\u3002\u5728 \u6dfb\u52a0\u547d\u540d\u7a7a\u95f4\u6743\u9650 \u9875\u9762\u4e2d\uff0c\u9009\u62e9\u76ee\u6807\u96c6\u7fa4\u3001\u76ee\u6807\u547d\u540d\u7a7a\u95f4\uff0c\u4ee5\u53ca\u5f85\u6388\u6743\u7684\u7528\u6237/\u7528\u6237\u7ec4\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                                      \u76ee\u524d\u652f\u6301\u7684\u547d\u540d\u7a7a\u95f4\u89d2\u8272\u4e3a NS Admin\u3001NS Editor\u3001NS Viewer\uff0c\u8be6\u60c5\u6743\u9650\u53ef\u53c2\u8003\u6743\u9650\u8bf4\u660e\u3002\u5982\u9700\u7ed9\u591a\u4e2a\u7528\u6237/\u7528\u6237\u7ec4\u540c\u65f6\u8fdb\u884c\u6388\u6743\uff0c\u53ef\u70b9\u51fb \u6dfb\u52a0\u7528\u6237\u6743\u9650 \u8fdb\u884c\u591a\u6b21\u6dfb\u52a0\u3002\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u6743\u9650\u6388\u6743\u3002

                                                    3. \u8fd4\u56de\u547d\u540d\u7a7a\u95f4\u6743\u9650\u7ba1\u7406\u9875\u9762\uff0c\u5c4f\u5e55\u51fa\u73b0\u6d88\u606f\uff1a \u6dfb\u52a0\u96c6\u7fa4\u6743\u9650\u6210\u529f \u3002

                                                      Tip

                                                      \u540e\u7eed\u5982\u9700\u5220\u9664\u6216\u7f16\u8f91\u6743\u9650\uff0c\u53ef\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u9009\u62e9 \u7f16\u8f91 \u6216 \u5220\u9664 \u3002

                                                    "},{"location":"end-user/kpanda/permissions/custom-kpanda-role.html","title":"\u589e\u52a0 Kpanda \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9","text":"

                                                    \u8fc7\u53bb Kpanda \u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\uff08rbac rules\uff09\u90fd\u662f\u63d0\u524d\u9884\u5b9a\u4e49\u597d\u7684\u4e14\u7528\u6237\u65e0\u6cd5\u4fee\u6539\uff0c\u56e0\u4e3a\u4ee5\u524d\u4fee\u6539\u5185\u7f6e\u89d2\u8272\u7684\u6743\u9650\u70b9\u4e4b\u540e\u4e5f\u4f1a\u88ab Kpanda \u63a7\u5236\u5668\u8fd8\u539f\u6210\u9884\u5b9a\u4e49\u7684\u6743\u9650\u70b9\u3002 \u4e3a\u4e86\u652f\u6301\u66f4\u52a0\u7075\u6d3b\u7684\u6743\u9650\u914d\u7f6e\uff0c\u6ee1\u8db3\u5bf9\u7cfb\u7edf\u89d2\u8272\u7684\u81ea\u5b9a\u4e49\u9700\u6c42\uff0c\u76ee\u524d Kpanda \u652f\u6301\u4e3a\u5185\u7f6e\u7cfb\u7edf\u89d2\u8272\uff08cluster admin\u3001ns admin\u3001ns editor\u3001ns viewer\uff09\u4fee\u6539\u6743\u9650\u70b9\u3002 \u4ee5\u4e0b\u793a\u4f8b\u6f14\u793a\u5982\u4f55\u65b0\u589e ns-viewer \u6743\u9650\u70b9\uff0c\u5c1d\u8bd5\u589e\u52a0\u53ef\u4ee5\u5220\u9664 Deployment \u7684\u6743\u9650\u3002\u5176\u4ed6\u6743\u9650\u70b9\u64cd\u4f5c\u7c7b\u4f3c\u3002

                                                    "},{"location":"end-user/kpanda/permissions/custom-kpanda-role.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u9002\u7528\u4e8e\u5bb9\u5668\u7ba1\u7406 v0.27.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u3002
                                                    • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002
                                                    • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u7528\u6237\u7684\u521b\u5efa\uff0c\u5e76\u4e3a\u7528\u6237\u6388\u4e88 NS Viewer \uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    Note

                                                    • \u53ea\u9700\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0cKpanda \u63a7\u5236\u5668\u4f1a\u628a Global Cluster \u589e\u52a0\u7684\u6743\u9650\u70b9\u540c\u6b65\u5230\u6240\u6709\u63a5\u5165\u5b50\u96c6\u7fa4\u4e2d\uff0c\u540c\u6b65\u9700\u4e00\u6bb5\u65f6\u95f4\u624d\u80fd\u5b8c\u6210
                                                    • \u53ea\u80fd\u5728 Global Cluster \u589e\u52a0\u6743\u9650\u70b9\uff0c\u5728\u5b50\u96c6\u7fa4\u65b0\u589e\u7684\u6743\u9650\u70b9\u4f1a\u88ab Global Cluster \u5185\u7f6e\u89d2\u8272\u6743\u9650\u70b9\u8986\u76d6
                                                    • \u53ea\u652f\u6301\u4f7f\u7528\u56fa\u5b9a Label \u7684 ClusterRole \u8ffd\u52a0\u6743\u9650\uff0c\u4e0d\u652f\u6301\u66ff\u6362\u6216\u8005\u5220\u9664\u6743\u9650\uff0c\u4e5f\u4e0d\u80fd\u4f7f\u7528 role \u8ffd\u52a0\u6743\u9650\uff0c\u5185\u7f6e\u89d2\u8272\u8ddf\u7528\u6237\u521b\u5efa\u7684 ClusterRole Label \u5bf9\u5e94\u5173\u7cfb\u5982\u4e0b

                                                      cluster-admin: rbac.kpanda.io/role-template-cluster-admin: \"true\"\ncluster-edit: rbac.kpanda.io/role-template-cluster-edit: \"true\"\ncluster-view: rbac.kpanda.io/role-template-cluster-view: \"true\"\nns-admin: rbac.kpanda.io/role-template-ns-admin: \"true\"\nns-edit: rbac.kpanda.io/role-template-ns-edit: \"true\"\nns-view: rbac.kpanda.io/role-template-ns-view: \"true\"\n
                                                    "},{"location":"end-user/kpanda/permissions/custom-kpanda-role.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"
                                                    1. \u4f7f\u7528 admin \u6216\u8005 cluster admin \u6743\u9650\u7684\u7528\u6237\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d

                                                    2. \u6388\u6743 ns-viewer\uff0c\u7528\u6237\u6709\u8be5 namespace ns-view \u6743\u9650

                                                    3. \u5207\u6362\u767b\u5f55\u7528\u6237\u4e3a ns-viewer\uff0c\u6253\u5f00\u63a7\u5236\u53f0\u83b7\u53d6 ns-viewer \u7528\u6237\u5bf9\u5e94\u7684 token\uff0c\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u53d1\u73b0\u65e0\u5220\u9664\u6743\u9650

                                                      [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n{\"code\":7,\"message\":\"[RBAC] delete resources(deployments: nginx) is forbidden for user(ns-viewer) in cluster(cluster-member)\",\"details\":[]}[root@master-01 ~]#\n[root@master-01 ~]#\n
                                                    4. \u5728\u5168\u5c40\u670d\u52a1\u96c6\u7fa4\u4e0a\u521b\u5efa\u5982\u4e0b ClusterRole\uff1a

                                                      apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  name: append-ns-view # (1)!\n  labels:\n    rbac.kpanda.io/role-template-ns-view: \"true\" # (2)!\nrules:\n  - apiGroups: [ \"apps\" ]\n    resources: [ \"deployments\" ]\n    verbs: [ \"delete\" ]\n
                                                      1. \u6b64\u5b57\u6bb5\u503c\u53ef\u4efb\u610f\u6307\u5b9a\uff0c\u53ea\u9700\u4e0d\u91cd\u590d\u4e14\u7b26\u5408 Kubernetes \u8d44\u6e90\u540d\u79f0\u89c4\u5219\u8981\u6c42
                                                      2. \u6ce8\u610f\u7ed9\u4e0d\u540c\u7684\u89d2\u8272\u6dfb\u52a0\u6743\u9650\u65f6\u5e94\u6253\u4e0a\u4e0d\u540c\u7684 label
                                                    5. \u7b49\u5f85 Kpanda \u63a7\u5236\u5668\u6dfb\u52a0\u7528\u6237\u521b\u5efa\u6743\u9650\u5230\u5185\u7f6e\u89d2\u8272 ns-viewer \u4e2d\uff0c\u53ef\u67e5\u770b\u5bf9\u5e94\u5185\u7f6e\u89d2\u8272\u5982\u662f\u5426\u6709\u4e0a\u4e00\u6b65\u65b0\u589e\u7684\u6743\u9650\u70b9

                                                      [root@master-01 ~]# kubectl get clusterrole role-template-ns-view -oyaml|grep deployments -C 10|tail -n 6\n
                                                      - apiGroups:\n  - apps\n  resources:\n  - deployments\n  verbs:\n  - delete\n

                                                    6. \u518d\u6b21\u4f7f\u7528 curl \u8bf7\u6c42\u5220\u9664\u4e0a\u8ff0\u7684 deployment nginx\uff0c\u8fd9\u6b21\u6210\u529f\u5220\u9664\u4e86\u3002\u4e5f\u5c31\u662f\u8bf4\uff0cns-viewer \u6210\u529f\u65b0\u589e\u4e86\u5220\u9664 Deployment \u7684\u6743\u9650\u3002

                                                      [root@master-01 ~]# curl -k -X DELETE  'https://${URL}/apis/kpanda.io/v1alpha1/clusters/cluster-member/namespaces/default/deployments/nginx' -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOU044MG9BclBRMzUwZ2VVU2ZyNy1xMEREVWY4MmEtZmJqR05uRE1sd1lFIn0.eyJleHAiOjE3MTU3NjY1NzksImlhdCI6MTcxNTY4MDE3OSwiYXV0aF90aW1lIjoxNzE1NjgwMTc3LCJqdGkiOiIxZjI3MzJlNC1jYjFhLTQ4OTktYjBiZC1iN2IxZWY1MzAxNDEiLCJpc3MiOiJodHRwczovLzEwLjYuMjAxLjIwMTozMDE0Ny9hdXRoL3JlYWxtcy9naGlwcG8iLCJhdWQiOiJfX2ludGVybmFsLWdoaXBwbyIsInN1YiI6ImMxZmMxM2ViLTAwZGUtNDFiYS05ZTllLWE5OGU2OGM0MmVmMCIsInR5cCI6IklEIiwiYXpwIjoiX19pbnRlcm5hbC1naGlwcG8iLCJzZXNzaW9uX3N0YXRlIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiYXRfaGFzaCI6IlJhTHoyQjlKQ2FNc1RrbGVMR3V6blEiLCJhY3IiOiIwIiwic2lkIjoiMGJjZWRjZTctMTliYS00NmU1LTkwYmUtOTliMWY2MWEyNzI0IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJucy12aWV3ZXIiLCJsb2NhbGUiOiIifQ.As2ipMjfvzvgONAGlc9RnqOd3zMwAj82VXlcqcR74ZK9tAq3Q4ruQ1a6WuIfqiq8Kq4F77ljwwzYUuunfBli2zhU2II8zyxVhLoCEBu4pBVBd_oJyUycXuNa6HfQGnl36E1M7-_QG8b-_T51wFxxVb5b7SEDE1AvIf54NAlAr-rhDmGRdOK1c9CohQcS00ab52MD3IPiFFZ8_Iljnii-RpXKZoTjdcULJVn_uZNk_SzSUK-7MVWmPBK15m6sNktOMSf0pCObKWRqHd15JSe-2aA2PKBo1jBH3tHbOgZyMPdsLI0QdmEnKB5FiiOeMpwn_oHnT6IjT-BZlB18VkW8rA'\n
                                                    "},{"location":"end-user/kpanda/permissions/permission-brief.html","title":"\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8bf4\u660e","text":"

                                                    \u5bb9\u5668\u7ba1\u7406\u6743\u9650\u57fa\u4e8e\u5168\u5c40\u6743\u9650\u7ba1\u7406\u4ee5\u53ca Kubernetes RBAC \u6743\u9650\u7ba1\u7406\u6253\u9020\u7684\u591a\u7ef4\u5ea6\u6743\u9650\u7ba1\u7406\u4f53\u7cfb\u3002 \u652f\u6301\u96c6\u7fa4\u7ea7\u3001\u547d\u540d\u7a7a\u95f4\u7ea7\u7684\u6743\u9650\u63a7\u5236\uff0c\u5e2e\u52a9\u7528\u6237\u4fbf\u6377\u7075\u6d3b\u5730\u5bf9\u79df\u6237\u4e0b\u7684 IAM \u7528\u6237\u3001\u7528\u6237\u7ec4\uff08\u7528\u6237\u7684\u96c6\u5408\uff09\u8bbe\u5b9a\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650\u3002

                                                    "},{"location":"end-user/kpanda/permissions/permission-brief.html#_2","title":"\u96c6\u7fa4\u6743\u9650","text":"

                                                    \u96c6\u7fa4\u6743\u9650\u57fa\u4e8e Kubernetes RBAC \u7684 ClusterRolebinding \u6388\u6743\uff0c\u96c6\u7fa4\u6743\u9650\u8bbe\u7f6e\u53ef\u8ba9\u7528\u6237/\u7528\u6237\u7ec4\u5177\u5907\u96c6\u7fa4\u76f8\u5173\u6743\u9650\u3002 \u76ee\u524d\u7684\u9ed8\u8ba4\u96c6\u7fa4\u89d2\u8272\u4e3a Cluster Admin \uff08\u4e0d\u5177\u5907\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u5220\u9664\u6743\u9650\uff09\u3002

                                                    "},{"location":"end-user/kpanda/permissions/permission-brief.html#cluster-admin","title":"Cluster Admin","text":"

                                                    Cluster Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                                                    • \u53ef\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b\u5bf9\u5e94\u96c6\u7fa4

                                                    • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\u53ca\u96c6\u7fa4\u5185\u6240\u6709\u8d44\u6e90

                                                    • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u96c6\u7fa4\u5185\u89d2\u8272 (Cluster Admin\u3001NS Admin\u3001NS Editor\u3001NS Viewer)

                                                    \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                                                    apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-cluster-admin\n  resourceVersion: \"15168\"\n  uid: f8f86d42-d5ef-47aa-b284-097615795076\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'\n
                                                    "},{"location":"end-user/kpanda/permissions/permission-brief.html#_3","title":"\u547d\u540d\u7a7a\u95f4\u6743\u9650","text":"

                                                    \u547d\u540d\u7a7a\u95f4\u6743\u9650\u662f\u57fa\u4e8e Kubernetes RBAC \u80fd\u529b\u7684\u6388\u6743\uff0c\u53ef\u4ee5\u5b9e\u73b0\u4e0d\u540c\u7684\u7528\u6237/\u7528\u6237\u7ec4\u5bf9\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u8d44\u6e90\u5177\u6709\u4e0d\u540c\u7684\u64cd\u4f5c\u6743\u9650(\u5305\u62ec Kubernetes API \u6743\u9650)\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\uff1aKubernetes RBAC\u3002\u76ee\u524d\u5bb9\u5668\u7ba1\u7406\u7684\u9ed8\u8ba4\u89d2\u8272\u4e3a\uff1aNS Admin\u3001NS Editor\u3001NS Viewer\u3002

                                                    "},{"location":"end-user/kpanda/permissions/permission-brief.html#ns-admin","title":"NS Admin","text":"

                                                    NS Admin \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                                                    • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                                                    • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                                                    • \u53ef\u6388\u6743\u7528\u6237\u4e3a\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u89d2\u8272 (NS Editor\u3001NS Viewer)

                                                    \u8be5\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b\u5982\u4e0b\uff1a

                                                    apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:49Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-admin\n  resourceVersion: \"15173\"\n  uid: 69f64c7e-70e7-4c7c-a3e0-053f507f2bc3\nrules:\n- apiGroups:\n  - '*'\n  resources:\n  - '*'\n  verbs:\n  - '*'\n- nonResourceURLs:\n  - '*'\n  verbs:\n  - '*'    \n
                                                    "},{"location":"end-user/kpanda/permissions/permission-brief.html#ns-editor","title":"NS Editor","text":"

                                                    NS Editor \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                                                    • \u53ef\u67e5\u770b\u5bf9\u5e94\u6709\u6743\u9650\u7684\u547d\u540d\u7a7a\u95f4
                                                    • \u7ba1\u7406\u3001\u7f16\u8f91\u3001\u67e5\u770b \u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d
                                                    \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                                                    apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-edit\n  resourceVersion: \"15175\"\n  uid: ca9e690e-96c0-4978-8915-6e4c00c748fe\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - '*'\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - '*'\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - '*'\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - '*'\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - '*'\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - '*'\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - '*'      \n
                                                    "},{"location":"end-user/kpanda/permissions/permission-brief.html#ns-viewer","title":"NS Viewer","text":"

                                                    NS Viewer \u5177\u6709\u4ee5\u4e0b\u6743\u9650\uff1a

                                                    • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4
                                                    • \u53ef\u67e5\u770b\u5bf9\u5e94\u547d\u540d\u7a7a\u95f4\u4e0b\u7684\u6240\u6709\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u53ca\u81ea\u5b9a\u4e49\u8d44\u6e90
                                                    \u70b9\u51fb\u67e5\u770b\u96c6\u7fa4\u89d2\u8272\u7684 YAML \u793a\u4f8b
                                                    apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n  annotations:\n    kpanda.io/creator: system\n  creationTimestamp: \"2022-06-16T09:42:50Z\"\n  labels:\n    iam.kpanda.io/role-template: \"true\"\n  name: role-template-ns-view\n  resourceVersion: \"15183\"\n  uid: 853888fd-6ee8-42ac-b91e-63923918baf8\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - configmaps\n  - endpoints\n  - persistentvolumeclaims\n  - persistentvolumeclaims/status\n  - pods\n  - replicationcontrollers\n  - replicationcontrollers/scale\n  - serviceaccounts\n  - services\n  - services/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - bindings\n  - events\n  - limitranges\n  - namespaces/status\n  - pods/log\n  - pods/status\n  - replicationcontrollers/status\n  - resourcequotas\n  - resourcequotas/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - namespaces\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - apps\n  resources:\n  - controllerrevisions\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - statefulsets\n  - statefulsets/scale\n  - statefulsets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - autoscaling\n  resources:\n  - horizontalpodautoscalers\n  - horizontalpodautoscalers/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - batch\n  resources:\n  - cronjobs\n  - cronjobs/status\n  - jobs\n  - jobs/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - extensions\n  resources:\n  - daemonsets\n  - daemonsets/status\n  - deployments\n  - deployments/scale\n  - deployments/status\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  - replicasets\n  - replicasets/scale\n  - replicasets/status\n  - replicationcontrollers/scale\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - policy\n  resources:\n  - poddisruptionbudgets\n  - poddisruptionbudgets/status\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - networking.k8s.io\n  resources:\n  - ingresses\n  - ingresses/status\n  - networkpolicies\n  verbs:\n  - get\n  - list\n  - watch \n
                                                    "},{"location":"end-user/kpanda/permissions/permission-brief.html#faq","title":"\u6743\u9650 FAQ","text":"
                                                    1. \u5168\u5c40\u6743\u9650\u548c\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u7ba1\u7406\u7684\u5173\u7cfb\uff1f

                                                      \u7b54\uff1a\u5168\u5c40\u6743\u9650\u4ec5\u6388\u6743\u4e3a\u7c97\u7c92\u5ea6\u6743\u9650\uff0c\u53ef\u7ba1\u7406\u6240\u6709\u96c6\u7fa4\u7684\u521b\u5efa\u3001\u7f16\u8f91\u3001\u5220\u9664\uff1b\u800c\u5bf9\u4e8e\u7ec6\u7c92\u5ea6\u7684\u6743\u9650\uff0c\u5982\u5355\u4e2a\u96c6\u7fa4\u7684\u7ba1\u7406\u6743\u9650\uff0c\u5355\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u7ba1\u7406\u3001\u7f16\u8f91\u3001\u5220\u9664\u6743\u9650\uff0c\u9700\u8981\u57fa\u4e8e Kubernetes RBAC \u7684\u5bb9\u5668\u7ba1\u7406\u6743\u9650\u8fdb\u884c\u5b9e\u73b0\u3002 \u4e00\u822c\u6743\u9650\u7684\u7528\u6237\u4ec5\u9700\u8981\u5728\u5bb9\u5668\u7ba1\u7406\u4e2d\u8fdb\u884c\u6388\u6743\u5373\u53ef\u3002

                                                    2. \u76ee\u524d\u4ec5\u652f\u6301\u56db\u4e2a\u9ed8\u8ba4\u89d2\u8272\uff0c\u540e\u53f0\u81ea\u5b9a\u4e49\u89d2\u8272\u7684 RoleBinding \u4ee5\u53ca ClusterRoleBinding \uff08Kubernetes \u7ec6\u7c92\u5ea6\u7684 RBAC\uff09\u662f\u5426\u4e5f\u80fd\u751f\u6548\uff1f

                                                      \u7b54\uff1a\u76ee\u524d\u81ea\u5b9a\u4e49\u6743\u9650\u6682\u65f6\u65e0\u6cd5\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u8fdb\u884c\u7ba1\u7406\uff0c\u4f46\u662f\u901a\u8fc7 kubectl \u521b\u5efa\u7684\u6743\u9650\u89c4\u5219\u540c\u6837\u80fd\u751f\u6548\u3002

                                                    "},{"location":"end-user/kpanda/scale/create-hpa.html","title":"\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u521b\u5efa HPA","text":"

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301 Pod \u8d44\u6e90\u57fa\u4e8e\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\uff08Horizontal Pod Autoscaling, HPA\uff09\u3002 \u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e CPU \u5229\u7528\u7387\u3001\u5185\u5b58\u7528\u91cf\u53ca\u81ea\u5b9a\u4e49\u6307\u6807\u6307\u6807\u6765\u52a8\u6001\u8c03\u6574 Pod \u8d44\u6e90\u7684\u526f\u672c\u6570\u91cf\u3002 \u4f8b\u5982\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u57fa\u4e8e CPU \u5229\u7528\u7387\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u540e\uff0c\u5f53 Pod \u7684 CPU \u5229\u7528\u7387\u8d85\u8fc7/\u4f4e\u4e8e\u60a8\u8bbe\u7f6e\u7684\u6307\u6807\u9600\u503c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u63a7\u5236\u5668\u5c06\u4f1a\u81ea\u52a8\u589e\u52a0/\u8f83\u5c11 Pod \u526f\u672c\u6570\u3002

                                                    \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u5185\u7f6e\u6307\u6807\u7684\u5f39\u6027\u4f38\u7f29\u3002

                                                    Note

                                                    1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                                                    2. \u5982\u679c\u57fa\u4e8e CPU \u5229\u7528\u7387\u521b\u5efa HPA \u7b56\u7565\uff0c\u5fc5\u987b\u9884\u5148\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u8bbe\u7f6e\u914d\u7f6e\u9650\u5236\uff08Limit\uff09\uff0c\u5426\u5219\u65e0\u6cd5\u8ba1\u7b97 CPU \u5229\u7528\u7387\u3002
                                                    3. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                                                    "},{"location":"end-user/kpanda/scale/create-hpa.html#_1","title":"\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565","text":"

                                                    \u7cfb\u7edf\u5185\u7f6e\u4e86 CPU \u548c\u5185\u5b58\u4e24\u79cd\u5f39\u6027\u4f38\u7f29\u6307\u6807\u4ee5\u6ee1\u8db3\u7528\u6237\u7684\u57fa\u7840\u4e1a\u52a1\u4f7f\u7528\u573a\u666f\u3002

                                                    "},{"location":"end-user/kpanda/scale/create-hpa.html#_2","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                                    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3002

                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    • \u5df2\u5b8c\u6210 metrics-server \u63d2\u4ef6\u5b89\u88c5 \u3002

                                                    "},{"location":"end-user/kpanda/scale/create-hpa.html#_3","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                                    \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                                                    3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                                                    4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u63d2\u4ef6\uff0c\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                                                    5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                                                      • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                                                      • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                                      • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                                                      • \u76ee\u6807 CPU \u5229\u7528\u7387\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b Pod \u7684 CPU \u4f7f\u7528\u7387\u3002\u8ba1\u7b97\u65b9\u5f0f\u4e3a\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u4e0b\u6240\u6709\u7684 Pod \u8d44\u6e90 / \u5de5\u4f5c\u8d1f\u8f7d\u7684\u8bf7\u6c42\uff08request\uff09\u503c\u3002\u5f53\u5b9e\u9645 CPU \u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                                                      • \u76ee\u6807\u5185\u5b58\u7528\u91cf\uff1a\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u4e0b\u7684 Pod \u7684\u5185\u5b58\u7528\u91cf\u3002\u5f53\u5b9e\u9645\u5185\u5b58\u7528\u91cf\u5927\u4e8e/\u5c0f\u4e8e\u76ee\u6807\u503c\u65f6\uff0c\u7cfb\u7edf\u81ea\u52a8\u51cf\u5c11/\u589e\u52a0 Pod \u526f\u672c\u6570\u91cf\u3002
                                                      • \u526f\u672c\u8303\u56f4\uff1aPod \u526f\u672c\u6570\u7684\u5f39\u6027\u4f38\u7f29\u8303\u56f4\u3002\u9ed8\u8ba4\u533a\u95f4\u4e3a\u4e3a 1 - 10\u3002
                                                    6. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u76f8\u5173\u4e8b\u4ef6\u3002

                                                    "},{"location":"end-user/kpanda/scale/create-vpa.html","title":"\u521b\u5efa VPA","text":"

                                                    \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u901a\u8fc7\u76d1\u63a7 Pod \u5728\u4e00\u6bb5\u65f6\u95f4\u5185\u7684\u8d44\u6e90\u7533\u8bf7\u548c\u7528\u91cf\uff0c \u8ba1\u7b97\u51fa\u5bf9\u8be5 Pod \u800c\u8a00\u6700\u9002\u5408\u7684 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u3002\u4f7f\u7528 VPA \u53ef\u4ee5\u66f4\u52a0\u5408\u7406\u5730\u4e3a\u96c6\u7fa4\u4e0b\u6bcf\u4e2a Pod \u5206\u914d\u8d44\u6e90\uff0c\u63d0\u9ad8\u96c6\u7fa4\u7684\u6574\u4f53\u8d44\u6e90\u5229\u7528\u7387\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u901a\u8fc7\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\uff0c\u57fa\u4e8e\u6b64\u529f\u80fd\u53ef\u4ee5\u6839\u636e\u5bb9\u5668\u8d44\u6e90\u7684\u4f7f\u7528\u60c5\u51b5\u52a8\u6001\u8c03\u6574 Pod \u8bf7\u6c42\u503c\u3002 \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u652f\u6301\u901a\u8fc7\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u65b9\u5f0f\u6765\u4fee\u6539\u8d44\u6e90\u8bf7\u6c42\u503c\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u9700\u8981\u8fdb\u884c\u914d\u7f6e\u3002

                                                    \u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e Pod \u5782\u76f4\u4f38\u7f29\u3002

                                                    Warning

                                                    \u4f7f\u7528 VPA \u4fee\u6539 Pod \u8d44\u6e90\u8bf7\u6c42\u4f1a\u89e6\u53d1 Pod \u91cd\u542f\u3002\u7531\u4e8e Kubernetes \u672c\u8eab\u7684\u9650\u5236\uff0c Pod \u91cd\u542f\u540e\u53ef\u80fd\u4f1a\u88ab\u8c03\u5ea6\u5230\u5176\u5b83\u8282\u70b9\u4e0a\u3002

                                                    "},{"location":"end-user/kpanda/scale/create-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                                    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3001\u7528\u6237\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u3002

                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    • \u5f53\u524d\u96c6\u7fa4\u5df2\u7ecf\u5b89\u88c5 metrics-server \u548c VPA \u63d2\u4ef6\u3002

                                                    "},{"location":"end-user/kpanda/scale/create-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                                    \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u5185\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u4e2d\u627e\u5230\u76ee\u524d\u96c6\u7fa4\uff0c\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d \uff0c\u627e\u5230\u9700\u8981\u521b\u5efa VPA \u7684\u8d1f\u8f7d\uff0c\u70b9\u51fb\u8be5\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                                                      3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\uff0c\u786e\u8ba4\u5df2\u7ecf\u5b89\u88c5\u4e86\u76f8\u5173\u63d2\u4ef6\u5e76\u4e14\u63d2\u4ef6\u662f\u5426\u8fd0\u884c\u6b63\u5e38\u3002

                                                    3. \u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\uff0c\u5e76\u914d\u7f6e VPA \u5782\u76f4\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                                                      • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 vpa-my-dep\u3002
                                                      • \u4f38\u7f29\u6a21\u5f0f\uff1a\u6267\u884c\u4fee\u6539 CPU \u548c\u5185\u5b58\u8bf7\u6c42\u503c\u7684\u65b9\u5f0f\uff0c\u76ee\u524d\u5782\u76f4\u4f38\u7f29\u652f\u6301\u624b\u52a8\u548c\u81ea\u52a8\u4e24\u79cd\u4f38\u7f29\u6a21\u5f0f\u3002
                                                        • \u624b\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u8ba1\u7b97\u51fa\u63a8\u8350\u7684\u8d44\u6e90\u914d\u7f6e\u503c\u540e\uff0c\u9700\u7528\u6237\u624b\u52a8\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                                                        • \u81ea\u52a8\u4f38\u7f29\uff1a\u5782\u76f4\u4f38\u7f29\u7b56\u7565\u81ea\u52a8\u8ba1\u7b97\u548c\u4fee\u6539\u5e94\u7528\u7684\u8d44\u6e90\u914d\u989d\u3002
                                                      • \u76ee\u6807\u5bb9\u5668\uff1a\u9009\u62e9\u9700\u8981\u8fdb\u884c\u5782\u76f4\u4f38\u7f29\u7684\u5bb9\u5668\u3002
                                                    4. \u5b8c\u6210\u53c2\u6570\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u81ea\u52a8\u8fd4\u56de\u5f39\u6027\u4f38\u7f29\u8be6\u60c5\u9875\u9762\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u6267\u884c\u7f16\u8f91\u3001\u5220\u9664\u64cd\u4f5c\u3002

                                                    Note

                                                    \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c--min-replicas \u7684\u503c\u4e3a 2\u3002\u8868\u793a\u5f53\u526f\u672c\u6570\u5927\u4e8e 1 \u65f6\uff0cVPA \u624d\u4f1a\u751f\u6548\uff0c \u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 updater \u7684 --min-replicas \u53c2\u6570\u503c\u6765\u6539\u53d8\u8fd9\u4e00\u9ed8\u8ba4\u884c\u4e3a\u3002

                                                    spec: \n  containers: \n  - name: updater \n  args: \n  - \"--min-replicas=2\"\n
                                                    "},{"location":"end-user/kpanda/scale/custom-hpa.html","title":"\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa HPA","text":"

                                                    \u5f53\u7cfb\u7edf\u5185\u7f6e\u7684 CPU \u548c\u5185\u5b58\u4e24\u79cd\u6307\u6807\u4e0d\u80fd\u6ee1\u8db3\u60a8\u4e1a\u52a1\u7684\u5b9e\u9645\u9700\u6c42\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e ServiceMonitoring \u6765\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6307\u6807\uff0c \u5e76\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u5b9e\u73b0\u5f39\u6027\u4f38\u7f29\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u57fa\u4e8e\u81ea\u5b9a\u4e49\u6307\u6807\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002

                                                    Note

                                                    1. HPA \u4ec5\u9002\u7528\u4e8e Deployment \u548c StatefulSet\uff0c\u6bcf\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u53ea\u80fd\u521b\u5efa\u4e00\u4e2a HPA\u3002
                                                    2. \u5982\u679c\u540c\u65f6\u4f7f\u7528\u5185\u7f6e\u6307\u6807\u548c\u591a\u79cd\u81ea\u5b9a\u4e49\u6307\uff0cHPA \u4f1a\u6839\u636e\u591a\u9879\u6307\u6807\u5206\u522b\u8ba1\u7b97\u6240\u9700\u4f38\u7f29\u526f\u672c\u6570\uff0c\u53d6\u8f83\u5927\u503c\uff08\u4f46\u4e0d\u4f1a\u8d85\u8fc7\u8bbe\u7f6e HPA \u7b56\u7565\u65f6\u914d\u7f6e\u7684\u6700\u5927\u526f\u672c\u6570\uff09\u8fdb\u884c\u5f39\u6027\u4f38\u7f29\u3002
                                                    "},{"location":"end-user/kpanda/scale/custom-hpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u5728\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                                    • \u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c \u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762
                                                    • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3001\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u6216\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa
                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c \u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743
                                                    • \u5df2\u5b89\u88c5 metrics-server \u63d2\u4ef6
                                                    • \u5df2\u5b89\u88c5 insight-agent \u63d2\u4ef6
                                                    • \u5df2\u5b89\u88c5 Prometheus-adapter \u63d2\u4ef6
                                                    "},{"location":"end-user/kpanda/scale/custom-hpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                                    \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u914d\u7f6e\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \u8fdb\u5165\u96c6\u7fa4\u5217\u8868\u9875\u9762\u3002\u70b9\u51fb\u4e00\u4e2a\u96c6\u7fa4\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d \u8fdb\u5165\u5de5\u4f5c\u8d1f\u8f7d\u5217\u8868\u540e\uff0c\u70b9\u51fb\u4e00\u4e2a\u8d1f\u8f7d\u540d\u79f0\uff0c\u8fdb\u5165 \u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5 \u9875\u9762\u3002

                                                    3. \u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u7684\u5f39\u6027\u4f38\u7f29\u914d\u7f6e\u60c5\u51b5\u3002

                                                    4. \u786e\u8ba4\u96c6\u7fa4\u5df2\u5b89\u88c5\u4e86 metrics-server \u3001Insight\u3001Prometheus-adapter \u63d2\u4ef6\u4e14\u63d2\u4ef6\u8fd0\u884c\u72b6\u6001\u4e3a\u6b63\u5e38\u540e\uff0c\u5373\u53ef\u70b9\u51fb \u65b0\u5efa\u4f38\u7f29 \u6309\u94ae\u3002

                                                      Note

                                                      \u5982\u679c\u76f8\u5173\u63d2\u4ef6\u672a\u5b89\u88c5\u6216\u63d2\u4ef6\u5904\u4e8e\u5f02\u5e38\u72b6\u6001\uff0c\u60a8\u5728\u9875\u9762\u4e0a\u5c06\u65e0\u6cd5\u770b\u89c1\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u5165\u53e3\u3002

                                                    5. \u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570\u3002

                                                      • \u7b56\u7565\u540d\u79f0\uff1a\u8f93\u5165\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u7684\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 hpa-my-dep\u3002
                                                      • \u547d\u540d\u7a7a\u95f4\uff1a\u8d1f\u8f7d\u6240\u5728\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                                      • \u5de5\u4f5c\u8d1f\u8f7d\uff1a\u6267\u884c\u5f39\u6027\u4f38\u7f29\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5bf9\u8c61\u3002
                                                      • \u8d44\u6e90\u7c7b\u578b\uff1a\u8fdb\u884c\u76d1\u63a7\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u7c7b\u578b\uff0c\u5305\u542b Pod \u548c Service \u4e24\u79cd\u7c7b\u578b\u3002
                                                      • \u6307\u6807\uff1a\u4f7f\u7528 ServiceMonitoring \u521b\u5efa\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u6216\u7cfb\u7edf\u5185\u7f6e\u7684\u81ea\u5b9a\u4e49\u6307\u6807\u540d\u79f0\u3002
                                                      • \u6570\u636e\u7c7b\u578b\uff1a\u7528\u4e8e\u8ba1\u7b97\u6307\u6807\u503c\u7684\u65b9\u6cd5\uff0c\u5305\u542b\u76ee\u6807\u503c\u548c\u76ee\u6807\u5e73\u5747\u503c\u4e24\u79cd\u7c7b\u578b\uff0c\u5f53\u8d44\u6e90\u7c7b\u578b\u4e3a Pod \u65f6\uff0c\u53ea\u652f\u6301\u4f7f\u7528\u76ee\u6807\u5e73\u5747\u503c\u3002
                                                    "},{"location":"end-user/kpanda/scale/custom-hpa.html#_3","title":"\u64cd\u4f5c\u793a\u4f8b","text":"

                                                    \u672c\u6848\u4f8b\u4ee5 Golang \u4e1a\u52a1\u7a0b\u5e8f\u4e3a\u4f8b\uff0c\u8be5\u793a\u4f8b\u7a0b\u5e8f\u66b4\u9732\u4e86 httpserver_requests_total \u6307\u6807\uff0c\u5e76\u8bb0\u5f55 HTTP \u7684\u8bf7\u6c42\uff0c\u901a\u8fc7\u8be5\u6307\u6807\u53ef\u4ee5\u8ba1\u7b97\u51fa\u4e1a\u52a1\u7a0b\u5e8f\u7684 QPS \u503c\u3002

                                                    "},{"location":"end-user/kpanda/scale/custom-hpa.html#_4","title":"\u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f","text":"

                                                    \u4f7f\u7528 Deployment \u90e8\u7f72\u4e1a\u52a1\u7a0b\u5e8f\uff1a

                                                    apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: httpserver\n  namespace: httpserver\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: httpserver\n  template:\n    metadata:\n      labels:\n        app: httpserver\n    spec:\n      containers:\n      - name: httpserver\n        image: registry.imroc.cc/test/httpserver:custom-metrics\n        imagePullPolicy: Always\n---\n\napiVersion: v1\nkind: Service\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    app: httpserver\n  annotations:\n    prometheus.io/scrape: \"true\"\n    prometheus.io/path: \"/metrics\"\n    prometheus.io/port: \"http\"\nspec:\n  type: ClusterIP\n  ports:\n  - port: 80\n    protocol: TCP\n    name: http\n  selector:\n    app: httpserver\n
                                                    "},{"location":"end-user/kpanda/scale/custom-hpa.html#prometheus","title":"Prometheus \u91c7\u96c6\u4e1a\u52a1\u76d1\u63a7","text":"

                                                    \u82e5\u5df2\u5b89\u88c5 insight-agent\uff0c\u53ef\u4ee5\u901a\u8fc7\u521b\u5efa ServiceMonitor \u7684 CRD \u5bf9\u8c61\u914d\u7f6e Prometheus\u3002

                                                    \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> \u81ea\u5b9a\u4e49\u8d44\u6e90 \u641c\u7d22\u201cservicemonitors.monitoring.coreos.com\"\uff0c\u70b9\u51fb\u540d\u79f0\u8fdb\u5165\u8be6\u60c5\u3002 \u901a\u8fc7\u521b\u5efa YAML\uff0c\u5728\u547d\u540d\u7a7a\u95f4 httpserver \u4e0b\u521b\u5efa\u5982\u4e0b\u793a\u4f8b\u7684 CRD\uff1a

                                                    apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: httpserver\n  namespace: httpserver\n  labels:\n    operator.insight.io/managed-by: insight\nspec:\n  endpoints:\n  - port: http\n    interval: 5s\n  namespaceSelector:\n    matchNames:\n    - httpserver\n  selector:\n    matchLabels:\n      app: httpserver\n

                                                    Note

                                                    \u82e5\u901a\u8fc7 insight \u5b89\u88c5 Prometheus\uff0c\u5219 serviceMonitor \u4e0a\u5fc5\u987b\u6253\u4e0a operator.insight.io/managed-by: insight \u8fd9\u4e2a label\uff0c\u901a\u8fc7\u5176\u4ed6\u65b9\u5f0f\u5b89\u88c5\u5219\u65e0\u9700\u6b64 label\u3002

                                                    "},{"location":"end-user/kpanda/scale/custom-hpa.html#prometheus-adapter","title":"\u5728 prometheus-adapter \u4e2d\u914d\u7f6e\u6307\u6807\u89c4\u5219","text":"

                                                    \u64cd\u4f5c\u6b65\u9aa4\uff1a\u5728 \u96c6\u7fa4\u8be6\u60c5 -> Helm \u5e94\u7528 \u641c\u7d22 \u201cprometheus-adapter\"\uff0c\u901a\u8fc7\u64cd\u4f5c\u680f\u8fdb\u5165\u66f4\u65b0\u9875\u9762\uff0c\u5728 YAML \u4e2d\u914d\u7f6e\u81ea\u5b9a\u4e49\u6307\u6807\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a

                                                    rules:\n  custom:\n    - metricsQuery: sum(rate(<<.Series>>{<<.LabelMatchers>>}[1m])) by (<<.GroupBy>>)\n      name:\n        as: httpserver_requests_qps\n        matches: httpserver_requests_total\n      resources:\n        template: <<.Resource>>\n      seriesQuery: httpserver_requests_total\n

                                                    "},{"location":"end-user/kpanda/scale/custom-hpa.html#_5","title":"\u521b\u5efa\u81ea\u5b9a\u4e49\u6307\u6807\u5f39\u6027\u4f38\u7f29\u7b56\u7565\u53c2\u6570","text":"

                                                    \u6309\u7167\u4e0a\u8ff0\u6b65\u9aa4\u5728 Deployment \u4e2d\u627e\u5230\u5e94\u7528\u7a0b\u5e8f httpserver \u5e76\u901a\u8fc7\u81ea\u5b9a\u4e49\u6307\u6807\u521b\u5efa\u5f39\u6027\u4f38\u7f29\u3002

                                                    "},{"location":"end-user/kpanda/scale/hpa-cronhpa-compatibility-rules.html","title":"HPA \u548c CronHPA \u517c\u5bb9\u89c4\u5219","text":"

                                                    HPA \u5168\u79f0\u4e3a HorizontalPodAutoscaler\uff0c\u5373 Pod \u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                                                    CronHPA \u5168\u79f0\u4e3a Cron HorizontalPodAutoscaler\uff0c\u5373 Pod \u5b9a\u65f6\u7684\u6c34\u5e73\u81ea\u52a8\u4f38\u7f29\u3002

                                                    "},{"location":"end-user/kpanda/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa","title":"CronHPA \u548c HPA \u517c\u5bb9\u51b2\u7a81","text":"

                                                    \u5b9a\u65f6\u4f38\u7f29 CronHPA \u901a\u8fc7\u8bbe\u7f6e\u5b9a\u65f6\u7684\u65b9\u5f0f\u89e6\u53d1\u5bb9\u5668\u7684\u6c34\u5e73\u526f\u672c\u4f38\u7f29\u3002\u4e3a\u4e86\u9632\u6b62\u7a81\u53d1\u7684\u6d41\u91cf\u51b2\u51fb\u7b49\u72b6\u51b5\uff0c \u60a8\u53ef\u80fd\u5df2\u7ecf\u914d\u7f6e HPA \u4fdd\u969c\u5e94\u7528\u7684\u6b63\u5e38\u8fd0\u884c\u3002\u5982\u679c\u540c\u65f6\u68c0\u6d4b\u5230\u4e86 HPA \u548c CronHPA \u7684\u5b58\u5728\uff0c \u7531\u4e8e CronHPA \u548c HPA \u76f8\u4e92\u72ec\u7acb\u65e0\u6cd5\u611f\u77e5\uff0c\u5c31\u4f1a\u51fa\u73b0\u4e24\u4e2a\u63a7\u5236\u5668\u5404\u81ea\u5de5\u4f5c\uff0c\u540e\u6267\u884c\u7684\u64cd\u4f5c\u4f1a\u8986\u76d6\u5148\u6267\u884c\u7684\u64cd\u4f5c\u3002

                                                    \u5bf9\u6bd4 CronHPA \u548c HPA \u7684\u5b9a\u4e49\u6a21\u677f\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230\u4ee5\u4e0b\u51e0\u70b9\uff1a

                                                    • CronHPA \u548c HPA \u90fd\u662f\u901a\u8fc7 scaleTargetRef \u5b57\u6bb5\u6765\u83b7\u53d6\u4f38\u7f29\u5bf9\u8c61\u3002
                                                    • CronHPA \u901a\u8fc7 jobs \u7684 crontab \u89c4\u5219\u5b9a\u65f6\u4f38\u7f29\u526f\u672c\u6570\u3002
                                                    • HPA \u901a\u8fc7\u8d44\u6e90\u5229\u7528\u7387\u5224\u65ad\u4f38\u7f29\u60c5\u51b5\u3002

                                                    Note

                                                    \u5982\u679c\u540c\u65f6\u8bbe\u7f6e CronHPA \u548c HPA\uff0c\u4f1a\u51fa\u73b0 CronHPA \u548c HPA \u540c\u65f6\u64cd\u4f5c\u4e00\u4e2a scaleTargetRef \u7684\u573a\u666f\u3002

                                                    "},{"location":"end-user/kpanda/scale/hpa-cronhpa-compatibility-rules.html#cronhpa-hpa_1","title":"CronHPA \u548c HPA \u517c\u5bb9\u65b9\u6848","text":"

                                                    \u4ece\u4e0a\u6587\u53ef\u77e5\uff0cCronHPA \u548c HPA \u540c\u65f6\u4f7f\u7528\u4f1a\u5bfc\u81f4\u540e\u6267\u884c\u7684\u64cd\u4f5c\u8986\u76d6\u5148\u6267\u884c\u64cd\u4f5c\u7684\u672c\u8d28\u539f\u56e0\u662f\u4e24\u4e2a\u63a7\u5236\u5668\u65e0\u6cd5\u76f8\u4e92\u611f\u77e5\uff0c \u90a3\u4e48\u53ea\u9700\u8981\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u5c31\u80fd\u89e3\u51b3\u51b2\u7a81\u95ee\u9898\u3002

                                                    \u7cfb\u7edf\u4f1a\u5c06 HPA \u4f5c\u4e3a\u5b9a\u65f6\u4f38\u7f29 CronHPA \u7684\u6269\u7f29\u5bb9\u5bf9\u8c61\uff0c\u4ece\u800c\u5b9e\u73b0\u5bf9\u8be5 HPA \u5b9a\u4e49\u7684 Deployment \u5bf9\u8c61\u7684\u5b9a\u65f6\u6269\u7f29\u5bb9\u3002

                                                    HPA \u7684\u5b9a\u4e49\u5c06 Deployment \u914d\u7f6e\u5728 scaleTargetRef \u5b57\u6bb5\u4e0b\uff0c\u7136\u540e Deployment \u901a\u8fc7\u81ea\u8eab\u5b9a\u4e49\u67e5\u627e ReplicaSet\uff0c\u6700\u540e\u901a\u8fc7 ReplicaSet \u8c03\u6574\u771f\u5b9e\u7684\u526f\u672c\u6570\u76ee\u3002

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5c06 CronHPA \u4e2d\u7684 scaleTargetRef \u8bbe\u7f6e\u4e3a HPA \u5bf9\u8c61\uff0c\u7136\u540e\u901a\u8fc7 HPA \u5bf9\u8c61\u6765\u5bfb\u627e\u771f\u5b9e\u7684 scaleTargetRef\uff0c\u4ece\u800c\u8ba9 CronHPA \u611f\u77e5 HPA \u7684\u5f53\u524d\u72b6\u6001\u3002

                                                    CronHPA \u4f1a\u901a\u8fc7\u8c03\u6574 HPA \u7684\u65b9\u5f0f\u611f\u77e5 HPA\u3002CronHPA \u901a\u8fc7\u8bc6\u522b\u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e\u5f53\u524d\u526f\u672c\u6570\u4e24\u8005\u95f4\u7684\u8f83\u5927\u503c\uff0c \u5224\u65ad\u662f\u5426\u9700\u8981\u6269\u7f29\u5bb9\u53ca\u4fee\u6539 HPA \u7684\u4e0a\u9650\uff1bCronHPA \u901a\u8fc7\u8bc6\u522b CronHPA \u8981\u8fbe\u5230\u7684\u526f\u672c\u6570\u4e0e HPA \u7684\u914d\u7f6e\u95f4\u7684\u8f83\u5c0f\u503c\uff0c\u5224\u65ad\u662f\u5426\u9700\u8981\u4fee\u6539 HPA \u7684\u4e0b\u9650\u3002

                                                    "},{"location":"end-user/kpanda/scale/install-cronhpa.html","title":"\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6","text":"

                                                    \u5bb9\u5668\u526f\u672c\u5b9a\u65f6\u6c34\u5e73\u6269\u7f29\u5bb9\u7b56\u7565\uff08CronHPA\uff09\u80fd\u591f\u4e3a\u5468\u671f\u6027\u9ad8\u5e76\u53d1\u5e94\u7528\u63d0\u4f9b\u7a33\u5b9a\u7684\u8ba1\u7b97\u8d44\u6e90\u4fdd\u969c\uff0c kubernetes-cronhpa-controller \u5219\u662f\u5b9e\u73b0 CronHPA \u7684\u5173\u952e\u7ec4\u4ef6\u3002

                                                    \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                                                    Note

                                                    \u4e3a\u4e86\u4f7f\u7528 CornHPA\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u8fd8\u8981\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                                                    "},{"location":"end-user/kpanda/scale/install-cronhpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                                    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    "},{"location":"end-user/kpanda/scale/install-cronhpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                                    \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 kubernetes-cronhpa-controller \u63d2\u4ef6\u3002

                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                                                    2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 CronHPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                                                    3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.3.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                                                    4. \u53c2\u8003\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                                                      • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002
                                                      • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                                                      • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 1.3.0 \u7248\u672c\u4e3a\u4f8b\u3002
                                                      • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                                                      • \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002
                                                      • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                                                      Note

                                                      \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                                                    5. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                                                      Warning

                                                      \u5982\u9700\u5220\u9664 kubernetes-cronhpa-controller \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                                                      \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                                                    6. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa CronHPA \u7b56\u7565\u4e86\u3002

                                                    "},{"location":"end-user/kpanda/scale/install-metrics-server.html","title":"\u5b89\u88c5 metrics-server \u63d2\u4ef6","text":"

                                                    metrics-server \u662f Kubernetes \u5185\u7f6e\u7684\u8d44\u6e90\u4f7f\u7528\u6307\u6807\u91c7\u96c6\u7ec4\u4ef6\u3002 \u60a8\u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e\u5f39\u6027\u4f38\u7f29\uff08HPA\uff09\u7b56\u7565\u6765\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u81ea\u52a8\u6c34\u5e73\u4f38\u7f29 Pod \u526f\u672c\u3002

                                                    \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 metrics-server \u3002

                                                    "},{"location":"end-user/kpanda/scale/install-metrics-server.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u5b89\u88c5 metrics-server \u63d2\u4ef6\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                                    • \u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u5df2\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u5df2\u521b\u5efa Kubernetes \u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u5df2\u5b8c\u6210\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u521b\u5efa\u3002

                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    "},{"location":"end-user/kpanda/scale/install-metrics-server.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                                    \u8bf7\u6267\u884c\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 metrics-server \u63d2\u4ef6\u3002

                                                    1. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u4e0b\u7684\u5f39\u6027\u4f38\u7f29\u9875\u9762\uff0c\u70b9\u51fb \u53bb\u5b89\u88c5 \uff0c\u8fdb\u5165 metrics-server \u63d2\u4ef6\u5b89\u88c5\u754c\u9762\u3002

                                                    2. \u9605\u8bfb metrics-server \u63d2\u4ef6\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u672c\u6587\u5c06\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u5b89\u88c5\uff0c\u63a8\u8350\u60a8\u5b89\u88c5 3.8.2 \u53ca\u66f4\u9ad8\u7248\u672c\u3002

                                                    3. \u5728\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u914d\u7f6e\u57fa\u672c\u53c2\u6570\u3002

                                                      • \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 metrics-server-01\u3002
                                                      • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u63d2\u4ef6\u5b89\u88c5\u7684\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002
                                                      • \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 3.8.2 \u7248\u672c\u4e3a\u4f8b\u3002
                                                      • \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u6240\u6709\u5173\u8054\u8d44\u6e90\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002
                                                      • \u5931\u8d25\u5220\u9664\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f\u5c31\u7eea\u7b49\u5f85\u3002\u5982\u679c\u5b89\u88c5\u5931\u8d25\uff0c\u5c06\u5220\u9664\u5b89\u88c5\u76f8\u5173\u8d44\u6e90\u3002
                                                      • \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u5b89\u88c5\u8fc7\u7a0b\u65e5\u5fd7\u7684\u8be6\u7ec6\u8f93\u51fa\u3002

                                                      Note

                                                      \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a \u8fd0\u884c\u4e2d \u72b6\u6001\u3002

                                                    4. \u9ad8\u7ea7\u53c2\u6570\u914d\u7f6e

                                                      • \u5982\u679c\u96c6\u7fa4\u7f51\u7edc\u65e0\u6cd5\u8bbf\u95ee k8s.gcr.io \u4ed3\u5e93\uff0c\u8bf7\u5c1d\u8bd5\u4fee\u6539 repositort \u53c2\u6570\u4e3a repository: k8s.m.daocloud.io/metrics-server/metrics-server

                                                      • \u5b89\u88c5 metrics-server \u63d2\u4ef6\u8fd8\u9700\u63d0\u4f9b SSL \u8bc1\u4e66\u3002\u5982\u9700\u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\uff0c\u9700\u8981\u5728 defaultArgs: \u5904\u6dfb\u52a0 - --kubelet-insecure-tls \u53c2\u6570\u3002

                                                      \u70b9\u51fb\u67e5\u770b\u63a8\u8350\u7684 YAML \u53c2\u6570
                                                      image:\n  repository: k8s.m.daocloud.io/metrics-server/metrics-server # \u5c06\u4ed3\u5e93\u6e90\u5730\u5740\u4fee\u6539\u4e3a k8s.m.daocloud.io\n  tag: ''\n  pullPolicy: IfNotPresent\nimagePullSecrets: []\nnameOverride: ''\nfullnameOverride: ''\nserviceAccount:\n  create: true\n  annotations: {}\n  name: ''\nrbac:\n  create: true\n  pspEnabled: false\napiService:\n  create: true\npodLabels: {}\npodAnnotations: {}\npodSecurityContext: {}\nsecurityContext:\n  allowPrivilegeEscalation: false\n  readOnlyRootFilesystem: true\n  runAsNonRoot: true\n  runAsUser: 1000\npriorityClassName: system-cluster-critical\ncontainerPort: 4443\nhostNetwork:\n  enabled: false\nreplicas: 1\nupdateStrategy: {}\npodDisruptionBudget:\n  enabled: false\n  minAvailable: null\n  maxUnavailable: null\ndefaultArgs:\n  - '--cert-dir=/tmp'\n  - '--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname'\n  - '--kubelet-use-node-status-port'\n  - '--metric-resolution=15s'\n  - --kubelet-insecure-tls # \u7ed5\u8fc7\u8bc1\u4e66\u6821\u9a8c\nargs: []\nlivenessProbe:\n  httpGet:\n    path: /livez\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 0\n  periodSeconds: 10\n  failureThreshold: 3\nreadinessProbe:\n  httpGet:\n    path: /readyz\n    port: https\n    scheme: HTTPS\n  initialDelaySeconds: 20\n  periodSeconds: 10\n  failureThreshold: 3\nservice:\n  type: ClusterIP\n  port: 443\n  annotations: {}\n  labels: {}\nmetrics:\n  enabled: false\nserviceMonitor:\n  enabled: false\n  additionalLabels: {}\n  interval: 1m\n  scrapeTimeout: 10s\nresources: {}\nextraVolumeMounts: []\nextraVolumes: []\nnodeSelector: {}\ntolerations: []\naffinity: {}\n
                                                    5. \u70b9\u51fb \u786e\u5b9a \u6309\u94ae\uff0c\u5b8c\u6210 metrics-server \u63d2\u4ef6\u7684\u5b89\u88c5\uff0c\u4e4b\u540e\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\uff0c \u7a0d\u7b49\u51e0\u5206\u949f\u540e\uff0c\u4e3a\u9875\u9762\u6267\u884c\u5237\u65b0\u64cd\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                                                    Note

                                                    \u5220\u9664 metrics-server \u63d2\u4ef6\u65f6\uff0c\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5f7b\u5e95\u5220\u9664\u8be5\u63d2\u4ef6\u3002\u5982\u679c\u4ec5\u5728\u5de5\u4f5c\u8d1f\u8f7d\u9875\u9762\u5220\u9664 metrics-server \uff0c \u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u5e94\u7528\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u5e94\u7528\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                                                    "},{"location":"end-user/kpanda/scale/install-vpa.html","title":"\u5b89\u88c5 vpa \u63d2\u4ef6","text":"

                                                    \u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7b56\u7565\uff08Vertical Pod Autoscaler, VPA\uff09\u80fd\u591f\u8ba9\u96c6\u7fa4\u7684\u8d44\u6e90\u914d\u7f6e\u66f4\u52a0\u5408\u7406\uff0c\u907f\u514d\u96c6\u7fa4\u8d44\u6e90\u6d6a\u8d39\u3002 vpa \u5219\u662f\u5b9e\u73b0\u5bb9\u5668\u5782\u76f4\u6269\u7f29\u5bb9\u7684\u5173\u952e\u7ec4\u4ef6\u3002

                                                    \u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                                                    \u4e3a\u4e86\u4f7f\u7528 VPA \u7b56\u7565\uff0c\u4e0d\u4ec5\u9700\u8981\u5b89\u88c5 __vpa__ \u63d2\u4ef6\uff0c\u8fd8\u8981[\u5b89\u88c5 __metrics-server__ \u63d2\u4ef6](install-metrics-server.md)\u3002\n
                                                    "},{"location":"end-user/kpanda/scale/install-vpa.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u5b89\u88c5 vpa \u63d2\u4ef6\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                                    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u3002

                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    "},{"location":"end-user/kpanda/scale/install-vpa.html#_2","title":"\u64cd\u4f5c\u6b65\u9aa4","text":"

                                                    \u53c2\u8003\u5982\u4e0b\u6b65\u9aa4\u4e3a\u96c6\u7fa4\u5b89\u88c5 vpa \u63d2\u4ef6\u3002

                                                    1. \u5728 \u96c6\u7fa4\u5217\u8868 \u9875\u9762\u627e\u5230\u9700\u8981\u5b89\u88c5\u6b64\u63d2\u4ef6\u7684\u76ee\u6807\u96c6\u7fa4\uff0c\u70b9\u51fb\u8be5\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \uff0c\u70b9\u51fb\u76ee\u6807\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u3002

                                                    2. \u5728\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u5728 VPA \u53f3\u4fa7\u70b9\u51fb \u5b89\u88c5 \u3002

                                                      3. \u9605\u8bfb\u8be5\u63d2\u4ef6\u7684\u76f8\u5173\u4ecb\u7ecd\uff0c\u9009\u62e9\u7248\u672c\u540e\u70b9\u51fb \u5b89\u88c5 \u6309\u94ae\u3002\u63a8\u8350\u5b89\u88c5 1.5.0 \u6216\u66f4\u9ad8\u7248\u672c\u3002

                                                      4. \u67e5\u770b\u4ee5\u4e0b\u8bf4\u660e\u914d\u7f6e\u53c2\u6570\u3002

                                                      - \u540d\u79f0\uff1a\u8f93\u5165\u63d2\u4ef6\u540d\u79f0\uff0c\u8bf7\u6ce8\u610f\u540d\u79f0\u6700\u957f 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 kubernetes-cronhpa-controller\u3002 - \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u63d2\u4ef6\u5b89\u88c5\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u6b64\u5904\u4ee5 default \u4e3a\u4f8b\u3002 - \u7248\u672c\uff1a\u63d2\u4ef6\u7684\u7248\u672c\uff0c\u6b64\u5904\u4ee5 4.5.0 \u7248\u672c\u4e3a\u4f8b\u3002 - \u5c31\u7eea\u7b49\u5f85\uff1a\u542f\u7528\u540e\uff0c\u5c06\u7b49\u5f85\u5e94\u7528\u4e0b\u7684\u6240\u6709\u5173\u8054\u8d44\u6e90\u90fd\u5904\u4e8e\u5c31\u7eea\u72b6\u6001\uff0c\u624d\u4f1a\u6807\u8bb0\u5e94\u7528\u5b89\u88c5\u6210\u529f\u3002 - \u5931\u8d25\u5220\u9664\uff1a\u5982\u679c\u63d2\u4ef6\u5b89\u88c5\u5931\u8d25\uff0c\u5219\u5220\u9664\u5df2\u7ecf\u5b89\u88c5\u7684\u5173\u8054\u8d44\u6e90\u3002\u5f00\u542f\u540e\uff0c\u5c06\u9ed8\u8ba4\u540c\u6b65\u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u3002 - \u8be6\u60c5\u65e5\u5fd7\uff1a\u5f00\u542f\u540e\uff0c\u5c06\u8bb0\u5f55\u5b89\u88c5\u8fc7\u7a0b\u7684\u8be6\u7ec6\u65e5\u5fd7\u3002

                                                      Note

                                                      \u5f00\u542f \u5c31\u7eea\u7b49\u5f85 \u548c/\u6216 \u5931\u8d25\u5220\u9664 \u540e\uff0c\u5e94\u7528\u9700\u8981\u7ecf\u8fc7\u8f83\u957f\u65f6\u95f4\u624d\u4f1a\u88ab\u6807\u8bb0\u4e3a\u201c\u8fd0\u884c\u4e2d\u201d\u72b6\u6001\u3002

                                                    3. \u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \uff0c\u7cfb\u7edf\u5c06\u81ea\u52a8\u8df3\u8f6c\u81f3 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u3002\u7a0d\u7b49\u51e0\u5206\u949f\u540e\u5237\u65b0\u9875\u9762\u4f5c\uff0c\u5373\u53ef\u770b\u5230\u521a\u521a\u5b89\u88c5\u7684\u5e94\u7528\u3002

                                                      Warning

                                                      \u5982\u9700\u5220\u9664 vpa \u63d2\u4ef6\uff0c\u5e94\u5728 Helm \u5e94\u7528 \u5217\u8868\u9875\u9762\u624d\u80fd\u5c06\u5176\u5f7b\u5e95\u5220\u9664\u3002

                                                      \u5982\u679c\u5728\u5de5\u4f5c\u8d1f\u8f7d\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\u4e0b\u5220\u9664\u63d2\u4ef6\uff0c\u8fd9\u53ea\u662f\u5220\u9664\u4e86\u8be5\u63d2\u4ef6\u7684\u5de5\u4f5c\u8d1f\u8f7d\u526f\u672c\uff0c\u63d2\u4ef6\u672c\u8eab\u4ecd\u672a\u5220\u9664\uff0c\u540e\u7eed\u91cd\u65b0\u5b89\u88c5\u8be5\u63d2\u4ef6\u65f6\u4e5f\u4f1a\u63d0\u793a\u9519\u8bef\u3002

                                                    4. \u56de\u5230\u5de5\u4f5c\u8d1f\u8f7d\u8be6\u60c5\u9875\u9762\u4e0b\u7684 \u5f39\u6027\u4f38\u7f29 \u9875\u7b7e\uff0c\u53ef\u4ee5\u770b\u5230\u754c\u9762\u663e\u793a \u63d2\u4ef6\u5df2\u5b89\u88c5 \u3002\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u521b\u5efa VPA \u7b56\u7565\u4e86\u3002

                                                    "},{"location":"end-user/kpanda/scale/knative/install.html","title":"\u5b89\u88c5","text":"

                                                    Knative \u662f\u4e00\u4e2a\u9762\u5411\u65e0\u670d\u52a1\u5668\u90e8\u7f72\u7684\u8de8\u5e73\u53f0\u89e3\u51b3\u65b9\u6848\u3002

                                                    "},{"location":"end-user/kpanda/scale/knative/install.html#_2","title":"\u6b65\u9aa4","text":"
                                                    1. \u767b\u5f55\u96c6\u7fa4\uff0c\u70b9\u51fb\u4fa7\u8fb9\u680f Helm \u5e94\u7528 -> Helm \u6a21\u677f \uff0c\u5728\u53f3\u4fa7\u4e0a\u65b9\u641c\u7d22\u6846\u8f93\u5165 knative \uff0c\u7136\u540e\u6309\u56de\u8f66\u952e\u641c\u7d22\u3002

                                                    2. \u70b9\u51fb\u641c\u7d22\u51fa\u7684 knative-operator \uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002\u4f60\u53ef\u4ee5\u5728\u8be5\u754c\u9762\u67e5\u770b\u53ef\u7528\u7248\u672c\u4ee5\u53ca Helm values \u7684 Parameters \u53ef\u9009\u9879\u3002

                                                    3. \u70b9\u51fb\u5b89\u88c5\u6309\u94ae\u540e\uff0c\u8fdb\u5165\u5b89\u88c5\u914d\u7f6e\u754c\u9762\u3002

                                                    4. \u8f93\u5165\u540d\u79f0\uff0c\u5b89\u88c5\u79df\u6237\uff0c\u5efa\u8bae\u52fe\u9009 \u5c31\u7eea\u7b49\u5f85 \u548c \u8be6\u7ec6\u65e5\u5fd7 \u3002

                                                    5. \u5728\u4e0b\u65b9\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u52fe\u9009 Serving \uff0c\u5e76\u8f93\u5165 Knative Serving \u7ec4\u4ef6\u7684\u5b89\u88c5\u79df\u6237\uff0c\u4f1a\u5728\u5b89\u88c5\u540e\u90e8\u7f72 Knative Serving \u7ec4\u4ef6\uff0c\u8be5\u7ec4\u4ef6\u7531 Knative Operator \u7ba1\u7406\u3002

                                                    "},{"location":"end-user/kpanda/scale/knative/knative.html","title":"Kantive \u4ecb\u7ecd","text":"

                                                    Knative \u63d0\u4f9b\u4e86\u4e00\u79cd\u66f4\u9ad8\u5c42\u6b21\u7684\u62bd\u8c61\uff0c\u7b80\u5316\u5e76\u52a0\u901f\u4e86\u5728 Kubernetes \u4e0a\u6784\u5efa\u3001\u90e8\u7f72\u548c\u7ba1\u7406\u5e94\u7528\u7684\u8fc7\u7a0b\u3002\u5b83\u4f7f\u5f97\u5f00\u53d1\u4eba\u5458\u80fd\u591f\u66f4\u4e13\u6ce8\u4e8e\u4e1a\u52a1\u903b\u8f91\u7684\u5b9e\u73b0\uff0c\u800c\u5c06\u5927\u90e8\u5206\u57fa\u7840\u8bbe\u65bd\u548c\u8fd0\u7ef4\u5de5\u4f5c\u4ea4\u7ed9 Knative \u53bb\u5904\u7406\uff0c\u4ece\u800c\u663e\u8457\u63d0\u9ad8\u751f\u4ea7\u529b\u3002

                                                    "},{"location":"end-user/kpanda/scale/knative/knative.html#_1","title":"\u7ec4\u4ef6","text":"

                                                    knative-operator \u8fd0\u884c\u7ec4\u4ef6\u5982\u4e0b\u3002

                                                    knative-operator   knative-operator-58f7d7db5c-7f6r5      1/1     Running     0     6m55s\nknative-operator   operator-webhook-667dc67bc-qvrv4       1/1     Running     0     6m55s\n

                                                    knative-serving \u7ec4\u4ef6\u5982\u4e0b\u3002

                                                    knative-serving        3scale-kourier-gateway-d69fbfbd-bd8d8   1/1     Running     0                 7m13s\nknative-serving        activator-7c6fddd698-wdlng              1/1     Running     0                 7m3s\nknative-serving        autoscaler-8f4b876bb-kd25p              1/1     Running     0                 7m17s\nknative-serving        autoscaler-hpa-5f7f74679c-vkc7p         1/1     Running     0                 7m15s\nknative-serving        controller-789c896c46-tfvsv             1/1     Running     0                 7m17s\nknative-serving        net-kourier-controller-7db578c889-7gd5l 1/1     Running     0                 7m14s\nknative-serving        webhook-5c88b94c5-78x7m                 1/1     Running     0                 7m1s\nknative-serving        storage-version-migration-serving-serving-1.12.2-t7zvd   0/1  Completed   0   7m15s\n
                                                    \u7ec4\u4ef6 \u4f5c\u7528 Activator \u5bf9\u8bf7\u6c42\u6392\u961f\uff08\u5982\u679c\u4e00\u4e2a Knative Service \u5df2\u7ecf\u7f29\u51cf\u5230\u96f6\uff09\u3002\u8c03\u7528 autoscaler\uff0c\u5c06\u7f29\u51cf\u5230 0 \u7684\u670d\u52a1\u6062\u590d\u5e76\u8f6c\u53d1\u6392\u961f\u7684\u8bf7\u6c42\u3002Activator \u8fd8\u53ef\u4ee5\u5145\u5f53\u8bf7\u6c42\u7f13\u51b2\u5668\uff0c\u5904\u7406\u7a81\u53d1\u6d41\u91cf\u3002 Autoscaler Autoscaler \u8d1f\u8d23\u6839\u636e\u914d\u7f6e\u3001\u6307\u6807\u548c\u8fdb\u5165\u7684\u8bf7\u6c42\u6765\u7f29\u653e Knative \u670d\u52a1\u3002 Controller \u7ba1\u7406 Knative CR \u7684\u72b6\u6001\u3002\u5b83\u4f1a\u76d1\u89c6\u591a\u4e2a\u5bf9\u8c61\uff0c\u7ba1\u7406\u4f9d\u8d56\u8d44\u6e90\u7684\u751f\u547d\u5468\u671f\uff0c\u5e76\u66f4\u65b0\u8d44\u6e90\u72b6\u6001\u3002 Queue-Proxy Sidecar \u5bb9\u5668\uff0c\u6bcf\u4e2a Knative Service \u90fd\u4f1a\u6ce8\u5165\u4e00\u4e2a\u3002\u8d1f\u8d23\u6536\u96c6\u6d41\u91cf\u6570\u636e\u5e76\u62a5\u544a\u7ed9 Autoscaler\uff0cAutoscaler \u6839\u636e\u8fd9\u4e9b\u6570\u636e\u548c\u9884\u8bbe\u7684\u89c4\u5219\u6765\u53d1\u8d77\u6269\u5bb9\u6216\u7f29\u5bb9\u8bf7\u6c42\u3002 Webhooks Knative Serving \u6709\u51e0\u4e2a Webhooks \u8d1f\u8d23\u9a8c\u8bc1\u548c\u53d8\u66f4 Knative \u8d44\u6e90\u3002"},{"location":"end-user/kpanda/scale/knative/knative.html#ingress","title":"Ingress \u6d41\u91cf\u5165\u53e3\u65b9\u6848","text":"\u65b9\u6848 \u9002\u7528\u573a\u666f Istio \u5982\u679c\u5df2\u7ecf\u7528\u4e86 Istio\uff0c\u53ef\u4ee5\u9009\u62e9 Istio \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Contour \u5982\u679c\u96c6\u7fa4\u4e2d\u5df2\u7ecf\u542f\u7528\u4e86 Contour\uff0c\u53ef\u4ee5\u9009\u62e9 Contour \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u65b9\u6848\u3002 Kourier \u5982\u679c\u5728\u6ca1\u6709\u4e0a\u8ff0 2 \u79cd Ingress \u7ec4\u4ef6\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 Knative \u57fa\u4e8e Envoy \u5b9e\u73b0\u7684 Kourier Ingress \u4f5c\u4e3a\u6d41\u91cf\u5165\u53e3\u3002"},{"location":"end-user/kpanda/scale/knative/knative.html#autoscaler","title":"Autoscaler \u65b9\u6848\u5bf9\u6bd4","text":"Autoscaler \u7c7b\u578b \u662f\u5426\u4e3a Knative Serving \u6838\u5fc3\u90e8\u5206 \u9ed8\u8ba4\u542f\u7528 Scale to Zero \u652f\u6301 \u57fa\u4e8e CPU \u7684 Autoscaling \u652f\u6301 Knative Pod Autoscaler (KPA) \u662f \u662f \u662f \u5426 Horizontal Pod Autoscaler (HPA) \u5426 \u9700\u5b89\u88c5 Knative Serving \u540e\u542f\u7528 \u5426 \u662f"},{"location":"end-user/kpanda/scale/knative/knative.html#crd","title":"CRD","text":"\u8d44\u6e90\u7c7b\u578b API \u540d\u79f0 \u63cf\u8ff0 Services service.serving.knative.dev \u81ea\u52a8\u7ba1\u7406 Workload \u7684\u6574\u4e2a\u751f\u547d\u5468\u671f\uff0c\u63a7\u5236\u5176\u4ed6\u5bf9\u8c61\u7684\u521b\u5efa\uff0c\u786e\u4fdd\u5e94\u7528\u5177\u6709 Routes\u3001Configurations \u4ee5\u53ca\u6bcf\u6b21\u66f4\u65b0\u65f6\u7684\u65b0 revision\u3002 Routes route.serving.knative.dev \u5c06\u7f51\u7edc\u7aef\u70b9\u6620\u5c04\u5230\u4e00\u4e2a\u6216\u591a\u4e2a\u4fee\u8ba2\u7248\u672c\uff0c\u652f\u6301\u6d41\u91cf\u5206\u914d\u548c\u7248\u672c\u8def\u7531\u3002 Configurations configuration.serving.knative.dev \u7ef4\u62a4\u90e8\u7f72\u7684\u671f\u671b\u72b6\u6001\uff0c\u63d0\u4f9b\u4ee3\u7801\u548c\u914d\u7f6e\u4e4b\u95f4\u7684\u5206\u79bb\uff0c\u9075\u5faa Twelve-Factor \u5e94\u7528\u7a0b\u5e8f\u65b9\u6cd5\u8bba\uff0c\u4fee\u6539\u914d\u7f6e\u4f1a\u521b\u5efa\u65b0\u7684 revision\u3002 Revisions revision.serving.knative.dev \u6bcf\u6b21\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u4fee\u6539\u7684\u65f6\u95f4\u70b9\u5feb\u7167\uff0c\u662f\u4e0d\u53ef\u53d8\u5bf9\u8c61\uff0c\u53ef\u6839\u636e\u6d41\u91cf\u81ea\u52a8\u6269\u5bb9\u548c\u7f29\u5bb9\u3002"},{"location":"end-user/kpanda/scale/knative/playground.html","title":"Knative \u4f7f\u7528\u5b9e\u8df5","text":"

                                                    \u5728\u672c\u8282\u4e2d\uff0c\u6211\u4eec\u5c06\u901a\u8fc7\u51e0\u4e2a\u5b9e\u8df5\u6765\u6df1\u5165\u4e86\u89e3\u5b66\u4e60 Knative\u3002

                                                    "},{"location":"end-user/kpanda/scale/knative/playground.html#case-1-hello-world","title":"case 1 - Hello World","text":"
                                                    apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                                                    \u53ef\u4ee5\u4f7f\u7528 kubectl \u5df2\u90e8\u7f72\u7684\u5e94\u7528\u7684\u72b6\u6001\uff0c\u8fd9\u4e2a\u5e94\u7528\u7531 knative \u81ea\u52a8\u914d\u7f6e\u4e86 ingress \u548c\u4f38\u7f29\u5668\u3002

                                                    ~ kubectl get service.serving.knative.dev/hello\nNAME    URL                                              LATESTCREATED   LATESTREADY   READY   REASON\nhello   http://hello.knative-serving.knative.loulan.me   hello-00001     hello-00001   True\n

                                                    \u90e8\u7f72\u51fa\u7684 Pod YAML \u5982\u4e0b\uff0c\u7531 2 \u4e2a Pod \u7ec4\u6210\uff1auser-container \u548c queue-proxy\u3002

                                                    apiVersion: v1\nkind: Pod\nmetadata:\n  name: hello-00003-deployment-5fcb8ccbf-7qjfk\nspec:\n  containers:\n  - name: user-container\n  - name: queue-proxy\n

                                                    \u8bf7\u6c42\u6d41\uff1a

                                                    1. case1 \u5728\u4f4e\u6d41\u91cf\u6216\u96f6\u6d41\u91cf\u65f6\uff0c\u6d41\u91cf\u5c06\u8def\u7531\u5230 activator
                                                    2. case2 \u6d41\u91cf\u5927\u65f6\uff0c\u6d41\u91cf\u5927\u4e8e target-burst-capacity \u65f6\u624d\u76f4\u63a5\u8def\u7531\u5230 Pod
                                                      1. \u914d\u7f6e\u4e3a 0\uff0c\u53ea\u6709\u4ece 0 \u6269\u5bb9\u5b58\u5728
                                                      2. \u914d\u7f6e\u4e3a -1\uff0cactivator \u4f1a\u4e00\u76f4\u5b58\u5728\u8bf7\u6c42\u8def\u5f84
                                                      3. \u914d\u7f6e\u4e3a >0\uff0c\u89e6\u53d1\u6269\u7f29\u5bb9\u4e4b\u524d\uff0c\u7cfb\u7edf\u80fd\u591f\u989d\u5916\u5904\u7406\u7684\u5e76\u53d1\u8bf7\u6c42\u6570\u91cf\u3002
                                                    3. case3 \u6d41\u91cf\u518d\u53d8\u5c0f\u65f6\uff0c\u6d41\u91cf\u4f4e\u4e8e current_demand + target-burst-capacity > (pods * concurrency-target) \u65f6\u5c06\u518d\u6b21\u8def\u7531\u5230 activator

                                                      \u5f85\u5904\u7406\u7684\u8bf7\u6c42\u603b\u6570 + \u80fd\u63a5\u53d7\u7684\u8d85\u8fc7\u76ee\u6807\u5e76\u53d1\u6570\u7684\u8bf7\u6c42\u6570\u91cf > \u6bcf\u4e2a Pod \u7684\u76ee\u6807\u5e76\u53d1\u6570 * Pod \u6570\u91cf

                                                    "},{"location":"end-user/kpanda/scale/knative/playground.html#case-2-","title":"case 2 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29","text":"

                                                    \u6211\u4eec\u9996\u5148\u5728\u96c6\u7fa4\u5e94\u7528\u4e0b\u9762 YAML \u5b9a\u4e49\u3002

                                                    apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n

                                                    \u6267\u884c\u4e0b\u9762\u547d\u4ee4\u6d4b\u8bd5\uff0c\u5e76\u53ef\u4ee5\u901a\u8fc7 kubectl get pods -A -w \u6765\u89c2\u5bdf\u6269\u5bb9\u7684 Pod\u3002

                                                    wrk -t2 -c4 -d6s http://hello.knative-serving.knative.daocloud.io/\n
                                                    "},{"location":"end-user/kpanda/scale/knative/playground.html#case-3-","title":"case 3 - \u57fa\u4e8e\u5e76\u53d1\u5f39\u6027\u4f38\u7f29\uff0c\u8fbe\u5230\u7279\u5b9a\u6bd4\u4f8b\u63d0\u524d\u6269\u5bb9","text":"

                                                    \u6211\u4eec\u53ef\u4ee5\u5f88\u8f7b\u677e\u7684\u5b9e\u73b0\uff0c\u4f8b\u5982\u9650\u5236\u6bcf\u4e2a\u5bb9\u5668\u5e76\u53d1\u4e3a 10\uff0c\u53ef\u4ee5\u901a\u8fc7 autoscaling.knative.dev/target-utilization-percentage: 70 \u6765\u5b9e\u73b0\uff0c\u8fbe\u5230 70% \u5c31\u5f00\u59cb\u6269\u5bb9 Pod\u3002

                                                    apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"10\"\n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"\n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/target-utilization-percentage: \"70\" \n \u00a0 \u00a0 \u00a0 \u00a0autoscaling.knative.dev/metric: \"concurrency\"\n \u00a0 \u00a0 spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n
                                                    "},{"location":"end-user/kpanda/scale/knative/playground.html#case-4-","title":"case 4 - \u7070\u5ea6\u53d1\u5e03/\u6d41\u91cf\u767e\u5206\u6bd4","text":"

                                                    \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7 spec.traffic \u5b9e\u73b0\u5230\u6bcf\u4e2a\u7248\u672c\u6d41\u91cf\u7684\u63a7\u5236\u3002

                                                    apiVersion: serving.knative.dev/v1\nkind: Service\nmetadata:\n  name: hello\nspec:\n  template:\n    metadata:\n      annotations:\n        autoscaling.knative.dev/target: \"1\"  \n        autoscaling.knative.dev/class: \"kpa.autoscaling.knative.dev\"         \n    spec:\n      containers:\n        - image: m.daocloud.io/ghcr.io/knative/helloworld-go:latest\n          ports:\n            - containerPort: 8080\n          env:\n            - name: TARGET\n              value: \"World\"\n  traffic:\n  - latestRevision: true\n    percent: 50\n  - latestRevision: false\n    percent: 50\n    revisionName: hello-00001\n
                                                    "},{"location":"end-user/kpanda/scale/knative/scene.html","title":"\u4f7f\u7528\u573a\u666f","text":""},{"location":"end-user/kpanda/scale/knative/scene.html#_2","title":"\u9002\u5408\u7684\u573a\u666f","text":"
                                                    • \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1
                                                    • \u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1
                                                    • \u5927\u91cf\u5e94\u7528\u9700\u8981\u7f29\u5bb9\u5230 0 \u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u7387
                                                    • AI Serving \u670d\u52a1\uff0c\u57fa\u4e8e\u7279\u5b9a\u6307\u6807\u8fdb\u884c\u6269\u5bb9

                                                    Tip

                                                    \u77ed\u8fde\u63a5\u9ad8\u5e76\u53d1\u4e1a\u52a1\u4ee5\u53ca\u9700\u8981\u5f39\u6027\u4f38\u7f29\u7684\u4e1a\u52a1\uff0c\u63a8\u8350\u4f7f\u7528 HPA \u548c VPA \u80fd\u529b\u3002

                                                    "},{"location":"end-user/kpanda/scale/knative/scene.html#_3","title":"\u4e0d\u9002\u5408\u7684\u573a\u666f","text":"
                                                    • \u957f\u8fde\u63a5\u4e1a\u52a1
                                                    • \u5ef6\u65f6\u654f\u611f\u4e1a\u52a1
                                                    • \u57fa\u4e8e cookie \u7684\u6d41\u91cf\u5206\u6d41
                                                    • \u57fa\u4e8e header \u7684\u6d41\u91cf\u5206\u6d41
                                                    "},{"location":"end-user/kpanda/security/index.html","title":"\u5b89\u5168\u626b\u63cf\u7c7b\u578b","text":"

                                                    \u5728Kubernetes\uff08\u7b80\u79f0K8s\uff09\u73af\u5883\u4e2d\uff0c\u5b89\u5168\u626b\u63cf\u662f\u786e\u4fdd\u96c6\u7fa4\u5b89\u5168\u6027\u7684\u5173\u952e\u63aa\u65bd\u4e4b\u4e00\u3002\u5176\u4e2d\uff0c\u5408\u89c4\u6027\u626b\u63cf\uff08\u57fa\u4e8eCIS Benchmark\uff09\u3001\u6743\u9650\u626b\u63cf\uff08\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\uff09\u3001\u6f0f\u6d1e\u626b\u63cf\uff08\u57fa\u4e8e kube-hunter\uff09\u662f\u4e09\u79cd\u5e38\u89c1\u4e14\u91cd\u8981\u7684\u5b89\u5168\u626b\u63cf\u624b\u6bb5\uff1a

                                                    • \u5408\u89c4\u6027\u626b\u63cf\uff1a\u57fa\u4e8e CIS Benchmark \u5bf9\u96c6\u7fa4\u8282\u70b9\u8fdb\u884c\u5b89\u5168\u626b\u63cf\u3002CIS Benchmark \u662f\u4e00\u5957\u5168\u7403\u516c\u8ba4\u7684\u6700\u4f73\u5b9e\u8df5\u6807\u51c6\uff0c\u4e3a Kubernetes \u96c6\u7fa4\u63d0\u4f9b\u4e86\u8be6\u7ec6\u7684\u5b89\u5168\u914d\u7f6e\u6307\u5357\u548c\u81ea\u52a8\u5316\u68c0\u67e5\u5de5\u5177\uff08\u5982Kube-Bench\uff09\uff0c\u5e2e\u52a9\u7ec4\u7ec7\u786e\u4fdd\u5176K8s\u96c6\u7fa4\u7b26\u5408\u5b89\u5168\u57fa\u7ebf\u8981\u6c42\uff0c\u4fdd\u62a4\u7cfb\u7edf\u548c\u6570\u636e\u514d\u53d7\u5a01\u80c1\u3002

                                                    • \u6743\u9650\u626b\u63cf\uff1a\u57fa\u4e8ekube-audit\u5ba1\u8ba1\u529f\u80fd\u3002\u6743\u9650\u626b\u63cf\u4e3b\u8981\u89e3\u51b3\u96c6\u7fa4\u8bbf\u95ee\u63a7\u5236\u548c\u64cd\u4f5c\u900f\u660e\u5ea6\u7684\u95ee\u9898\u3002\u901a\u8fc7\u5ba1\u8ba1\u65e5\u5fd7\uff0c\u96c6\u7fa4\u7ba1\u7406\u5458\u80fd\u591f\u8ffd\u6eaf\u96c6\u7fa4\u8d44\u6e90\u7684\u8bbf\u95ee\u5386\u53f2\uff0c\u8bc6\u522b\u5f02\u5e38\u884c\u4e3a\uff0c\u5982\u672a\u7ecf\u6388\u6743\u7684\u8bbf\u95ee\u3001\u654f\u611f\u6570\u636e\u7684\u6cc4\u9732\u3001\u6709\u5b89\u5168\u6f0f\u6d1e\u7684\u64cd\u4f5c\u8bb0\u5f55\u7b49\u3002\u8fd9\u5bf9\u4e8e\u6545\u969c\u6392\u67e5\u3001\u5b89\u5168\u4e8b\u4ef6\u54cd\u5e94\u4ee5\u53ca\u6ee1\u8db3\u5408\u89c4\u6027\u8981\u6c42\u81f3\u5173\u91cd\u8981\u3002\u6b64\u5916\uff0c\u6743\u9650\u626b\u63cf\u8fd8\u53ef\u4ee5\u5e2e\u52a9\u7ec4\u7ec7\u53d1\u73b0\u6f5c\u5728\u7684\u6743\u9650\u6ee5\u7528\u95ee\u9898\uff0c\u53ca\u65f6\u91c7\u53d6\u63aa\u65bd\u9632\u6b62\u5b89\u5168\u4e8b\u4ef6\u7684\u53d1\u751f\u3002

                                                    • \u6f0f\u6d1e\u626b\u63cf\uff1a\u57fa\u4e8e kube-hunter\uff0c\u4e3b\u8981\u89e3\u51b3 Kubernetes \u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5df2\u77e5\u6f0f\u6d1e\u548c\u914d\u7f6e\u9519\u8bef\u95ee\u9898\u3002kube-hunter \u901a\u8fc7\u6a21\u62df\u653b\u51fb\u884c\u4e3a\uff0c\u80fd\u591f\u8bc6\u522b\u96c6\u7fa4\u4e2d\u53ef\u88ab\u6076\u610f\u5229\u7528\u7684\u6f0f\u6d1e\uff0c\u5982\u672a\u6388\u6743\u8bbf\u95ee\u3001\u66b4\u9732\u7684\u670d\u52a1\u548cAPI\u7aef\u70b9\u3001\u914d\u7f6e\u9519\u8bef\u7684\u89d2\u8272\u548c\u7ed1\u5b9a\u7b56\u7565\u7b49\u3002\u7279\u522b\u5730\uff0ckube-hunter\u80fd\u591f\u8bc6\u522b\u5e76\u62a5\u544a CVE \u6f0f\u6d1e\uff0c\u8fd9\u4e9b\u6f0f\u6d1e\u5982\u679c\u88ab\u6076\u610f\u5229\u7528\uff0c\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u6cc4\u9732\u3001\u670d\u52a1\u4e2d\u65ad\u7b49\u4e25\u91cd\u540e\u679c\u3002CVE \u6f0f\u6d1e\u662f\u7531\u56fd\u9645\u77e5\u540d\u7684\u5b89\u5168\u7ec4\u7ec7\u5982MITRE\u6240\u5b9a\u4e49\u548c\u7ef4\u62a4\u7684\uff0cCVE\u6570\u636e\u5e93\u4e3a\u8f6f\u4ef6\u548c\u56fa\u4ef6\u4e2d\u7684\u5df2\u77e5\u6f0f\u6d1e\u63d0\u4f9b\u4e86\u552f\u4e00\u6807\u8bc6\u7b26\uff0c\u6210\u4e3a\u5168\u7403\u5b89\u5168\u793e\u533a\u5171\u540c\u9075\u5faa\u7684\u6807\u51c6\u3002kube-hunter \u901a\u8fc7\u5229\u7528 CVE \u6570\u636e\u5e93\u4e2d\u7684\u4fe1\u606f\uff0c\u80fd\u591f\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u8bc6\u522b\u5e76\u54cd\u5e94Kubernetes\u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\u3002

                                                    "},{"location":"end-user/kpanda/security/index.html#_2","title":"\u5408\u89c4\u6027\u626b\u63cf","text":"

                                                    \u5408\u89c4\u6027\u626b\u63cf\u7684\u5bf9\u8c61\u662f\u96c6\u7fa4\u8282\u70b9\u3002\u626b\u63cf\u7ed3\u679c\u4e2d\u4f1a\u5217\u51fa\u626b\u63cf\u9879\u4ee5\u53ca\u626b\u63cf\u7ed3\u679c\uff0c\u5e76\u9488\u5bf9\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u4fee\u590d\u5efa\u8bae\u3002\u6709\u5173\u626b\u63cf\u65f6\u7528\u5230\u7684\u5177\u4f53\u5b89\u5168\u89c4\u5219\uff0c\u53ef\u53c2\u8003 CIS Kubernetes Benchmark

                                                    \u68c0\u67e5\u4e0d\u540c\u7c7b\u578b\u7684\u8282\u70b9\u65f6\uff0c\u626b\u63cf\u7684\u4fa7\u91cd\u70b9\u6709\u6240\u4e0d\u540c\u3002

                                                    • \u626b\u63cf\u63a7\u5236\u5e73\u9762\u8282\u70b9\uff08Controller\uff09

                                                      • \u5173\u6ce8 API Server \u3001 controller-manager \u3001 scheduler \u3001 kubelet \u7b49\u7cfb\u7edf\u7ec4\u4ef6\u7684\u5b89\u5168\u6027
                                                      • \u68c0\u67e5 Etcd \u6570\u636e\u5e93\u7684\u5b89\u5168\u914d\u7f6e
                                                      • \u68c0\u67e5\u96c6\u7fa4\u8eab\u4efd\u9a8c\u8bc1\u673a\u5236\u3001\u6388\u6743\u7b56\u7565\u548c\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u662f\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                                                    • \u626b\u63cf\u5de5\u4f5c\u8282\u70b9\uff08Worker\uff09

                                                      • \u68c0\u67e5 kubelet\u3001Docker\u7b49\u5bb9\u5668\u8fd0\u884c\u65f6\u7684\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6
                                                      • \u68c0\u67e5\u5bb9\u5668\u955c\u50cf\u662f\u5426\u7ecf\u8fc7\u4fe1\u4efb\u9a8c\u8bc1
                                                      • \u68c0\u67e5\u8282\u70b9\u7684\u7f51\u7edc\u5b89\u5168\u914d\u7f6e\u5426\u7b26\u5408\u5b89\u5168\u6807\u51c6

                                                    Tip

                                                    \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\uff0c\u7136\u540e\u57fa\u4e8e\u8be5\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002

                                                    "},{"location":"end-user/kpanda/security/index.html#_3","title":"\u6743\u9650\u626b\u63cf","text":"

                                                    \u6743\u9650\u626b\u63cf\u4fa7\u91cd\u4e8e\u6743\u9650\u95ee\u9898\u5f15\u53d1\u7684\u5b89\u5168\u6f0f\u6d1e\u3002\u6743\u9650\u626b\u63cf\u53ef\u4ee5\u5e2e\u52a9\u7528\u6237\u8bc6\u522b Kubernetes \u96c6\u7fa4\u4e2d\u7684\u5b89\u5168\u5a01\u80c1\uff0c\u6807\u8bc6\u54ea\u4e9b\u8d44\u6e90\u9700\u8981\u8fdb\u884c\u8fdb\u4e00\u6b65\u7684\u5ba1\u67e5\u548c\u4fdd\u62a4\u63aa\u65bd\u3002\u901a\u8fc7\u6267\u884c\u8fd9\u4e9b\u68c0\u67e5\u9879\uff0c\u7528\u6237\u53ef\u4ee5\u66f4\u6e05\u695a\u3001\u66f4\u5168\u9762\u5730\u4e86\u89e3\u81ea\u5df1\u7684 Kubernetes \u73af\u5883\uff0c\u786e\u4fdd\u96c6\u7fa4\u73af\u5883\u7b26\u5408 Kubernetes \u7684\u6700\u4f73\u5b9e\u8df5\u548c\u5b89\u5168\u6807\u51c6\u3002

                                                    \u5177\u4f53\u800c\u8a00\uff0c\u6743\u9650\u626b\u63cf\u652f\u6301\u4ee5\u4e0b\u64cd\u4f5c\uff1a

                                                    • \u626b\u63cf\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u8282\u70b9\u7684\u5065\u5eb7\u72b6\u6001\u3002

                                                    • \u626b\u63cf\u96c6\u7fa4\u7ec4\u4ef6\u7684\u8fd0\u884c\u72b6\u51b5\uff0c\u5982 kube-apiserver \u3001 kube-controller-manager \u3001 kube-scheduler \u7b49\u3002

                                                    • \u626b\u63cf\u5b89\u5168\u914d\u7f6e\uff1a\u68c0\u67e5 Kubernetes \u7684\u5b89\u5168\u914d\u7f6e

                                                      • API \u5b89\u5168\uff1a\u542f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 API \u7248\u672c\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u9002\u5f53\u7684 RBAC \u89d2\u8272\u548c\u6743\u9650\u9650\u5236\u7b49
                                                      • \u5bb9\u5668\u5b89\u5168\uff1a\u662f\u5426\u4f7f\u7528\u4e86\u4e0d\u5b89\u5168\u7684 Image\u3001\u662f\u5426\u5f00\u653e\u4e86\u7279\u6743\u6a21\u5f0f\uff0c\u662f\u5426\u8bbe\u7f6e\u4e86\u5408\u9002\u7684\u5b89\u5168\u4e0a\u4e0b\u6587\u7b49
                                                      • \u7f51\u7edc\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u5408\u9002\u7684\u7f51\u7edc\u7b56\u7565\u6765\u9650\u5236\u6d41\u91cf\uff0c\u662f\u5426\u4f7f\u7528\u4e86 TLS \u52a0\u5bc6\u7b49
                                                      • \u5b58\u50a8\u5b89\u5168\uff1a\u662f\u5426\u542f\u7528\u4e86\u9002\u5f53\u7684\u52a0\u5bc6\u3001\u8bbf\u95ee\u63a7\u5236\u7b49\u3002
                                                      • \u5e94\u7528\u7a0b\u5e8f\u5b89\u5168\uff1a\u662f\u5426\u8bbe\u7f6e\u4e86\u5fc5\u8981\u7684\u5b89\u5168\u63aa\u65bd\uff0c\u4f8b\u5982\u5bc6\u7801\u7ba1\u7406\u3001\u8de8\u7ad9\u811a\u672c\u653b\u51fb\u9632\u5fa1\u7b49\u3002
                                                    • \u63d0\u4f9b\u8b66\u544a\u548c\u5efa\u8bae\uff1a\u5efa\u8bae\u96c6\u7fa4\u7ba1\u7406\u5458\u6267\u884c\u7684\u5b89\u5168\u6700\u4f73\u5b9e\u8df5\uff0c\u4f8b\u5982\u5b9a\u671f\u8f6e\u6362\u8bc1\u4e66\u3001\u4f7f\u7528\u5f3a\u5bc6\u7801\u3001\u9650\u5236\u7f51\u7edc\u8bbf\u95ee\u7b49\u3002

                                                    Tip

                                                    \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5b89\u5168\u626b\u63cf\u3002

                                                    "},{"location":"end-user/kpanda/security/index.html#_4","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                                                    \u6f0f\u6d1e\u626b\u63cf\u4fa7\u91cd\u4e8e\u626b\u63cf\u6f5c\u5728\u7684\u6076\u610f\u653b\u51fb\u548c\u5b89\u5168\u6f0f\u6d1e\uff0c\u4f8b\u5982\u8fdc\u7a0b\u4ee3\u7801\u6267\u884c\u3001SQL \u6ce8\u5165\u3001XSS \u653b\u51fb\u7b49\uff0c\u4ee5\u53ca\u4e00\u4e9b\u9488\u5bf9 Kubernetes \u7279\u5b9a\u7684\u653b\u51fb\u3002\u6700\u7ec8\u7684\u626b\u63cf\u62a5\u544a\u4f1a\u5217\u51fa\u96c6\u7fa4\u4e2d\u5b58\u5728\u7684\u5b89\u5168\u6f0f\u6d1e\uff0c\u5e76\u63d0\u51fa\u4fee\u590d\u5efa\u8bae\u3002

                                                    Tip

                                                    \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u65f6\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002\u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u62a5\u544a\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u6f0f\u6d1e\u626b\u63cf\u3002

                                                    "},{"location":"end-user/kpanda/security/audit.html","title":"\u6743\u9650\u626b\u63cf","text":"

                                                    \u4e3a\u4e86\u4f7f\u7528\u6743\u9650\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                                                    "},{"location":"end-user/kpanda/security/audit.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                                                    1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6743\u9650\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                                                    3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                                                      • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                                                      • \u626b\u63cf\u7c7b\u578b\uff1a

                                                        • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                                        • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                                                      • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                                                    "},{"location":"end-user/kpanda/security/audit.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                                                    \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                                                    \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                                                    • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                                                      • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                                                      • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                                                      • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                                                      • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                                                    • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                                                    "},{"location":"end-user/kpanda/security/audit.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                                                    1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                                                      \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                                                    2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                                                      • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                                                      • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                                                      • \u626b\u63cf\u9879\u603b\u6570\u3001\u8b66\u544a\u6570\u3001\u9519\u8bef\u6570
                                                      • \u5728\u5468\u671f\u6027\u626b\u63cf\u7b56\u7565\u751f\u6210\u7684\u626b\u63cf\u62a5\u544a\u4e2d\uff0c\u8fd8\u53ef\u4ee5\u67e5\u770b\u626b\u63cf\u9891\u7387
                                                      • \u626b\u63cf\u5f00\u59cb\u7684\u65f6\u95f4
                                                      • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u88ab\u68c0\u67e5\u7684\u8d44\u6e90\u3001\u8d44\u6e90\u7c7b\u578b\u3001\u626b\u63cf\u7ed3\u679c\u3001\u9519\u8bef\u7c7b\u578b\u3001\u9519\u8bef\u8be6\u60c5

                                                    "},{"location":"end-user/kpanda/security/hunter.html","title":"\u6f0f\u6d1e\u626b\u63cf","text":"

                                                    \u4e3a\u4e86\u4f7f\u7528\u6f0f\u6d1e\u626b\u63cf\u529f\u80fd\uff0c\u9700\u8981\u5148\u521b\u5efa\u626b\u63cf\u7b56\u7565\uff0c\u6267\u884c\u8be5\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u4ee5\u4f9b\u67e5\u770b\u3002

                                                    "},{"location":"end-user/kpanda/security/hunter.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"
                                                    1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                                                    2. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u6f0f\u6d1e\u626b\u63cf \uff0c\u70b9\u51fb \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u7b56\u7565 \u3002

                                                    3. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u3002

                                                      • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                                                      • \u626b\u63cf\u7c7b\u578b\uff1a

                                                        • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                                        • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                                                      • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                                                    "},{"location":"end-user/kpanda/security/hunter.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                                                    \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                                                    \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                                                    • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                                                      • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                                                      • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                                                      • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                                                      • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                                                    • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                                                    "},{"location":"end-user/kpanda/security/hunter.html#_4","title":"\u67e5\u770b\u626b\u63cf\u62a5\u544a","text":"
                                                    1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u6743\u9650\u626b\u63cf -> \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u62a5\u544a\u540d\u79f0

                                                      \u5728\u62a5\u544a\u53f3\u4fa7\u70b9\u51fb \u5220\u9664 \u53ef\u4ee5\u624b\u52a8\u5220\u9664\u62a5\u544a\u3002

                                                    2. \u67e5\u770b\u626b\u63cf\u62a5\u544a\u5185\u5bb9\uff0c\u5305\u62ec\uff1a

                                                      • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                                                      • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565
                                                      • \u626b\u63cf\u9891\u7387
                                                      • \u98ce\u9669\u603b\u6570\u3001\u9ad8\u98ce\u9669\u6570\u3001\u4e2d\u98ce\u9669\u6570\u3001\u4f4e\u98ce\u9669\u6570
                                                      • \u626b\u63cf\u65f6\u95f4
                                                      • \u68c0\u67e5\u8be6\u60c5\uff0c\u4f8b\u5982\u6f0f\u6d1e ID\u3001\u6f0f\u6d1e\u7c7b\u578b\u3001\u6f0f\u6d1e\u540d\u79f0\u3001\u6f0f\u6d1e\u63cf\u8ff0\u7b49

                                                    "},{"location":"end-user/kpanda/security/cis/config.html","title":"\u626b\u63cf\u914d\u7f6e","text":"

                                                    \u4f7f\u7528\u5408\u89c4\u6027\u626b\u63cf\u7684\u7b2c\u4e00\u6b65\uff0c\u5c31\u662f\u5148\u521b\u5efa\u626b\u63cf\u914d\u7f6e\u3002\u57fa\u4e8e\u626b\u63cf\u914d\u7f6e\u518d\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3001\u6267\u884c\u626b\u63cf\u7b56\u7565\uff0c\u6700\u540e\u67e5\u770b\u626b\u63cf\u7ed3\u679c\u3002

                                                    "},{"location":"end-user/kpanda/security/cis/config.html#_2","title":"\u521b\u5efa\u626b\u63cf\u914d\u7f6e","text":"

                                                    \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u7684\u6b65\u9aa4\u5982\u4e0b\uff1a

                                                    1. \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u7684\u9996\u9875\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5b89\u5168\u7ba1\u7406 \u3002

                                                    2. \u9ed8\u8ba4\u8fdb\u5165 \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\uff0c\u70b9\u51fb \u626b\u63cf\u914d\u7f6e \u9875\u7b7e\uff0c\u7136\u540e\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u521b\u5efa\u626b\u63cf\u914d\u7f6e \u3002

                                                    3. \u586b\u5199\u914d\u7f6e\u540d\u79f0\u3001\u9009\u62e9\u914d\u7f6e\u6a21\u677f\u3001\u6309\u9700\u52fe\u9009\u626b\u63cf\u9879\uff0c\u6700\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                                      \u626b\u63cf\u6a21\u677f\uff1a\u76ee\u524d\u63d0\u4f9b\u4e86\u4e24\u4e2a\u6a21\u677f\u3002 kubeadm \u6a21\u677f\u9002\u7528\u4e8e\u4e00\u822c\u60c5\u51b5\u4e0b\u7684 Kubernetes \u96c6\u7fa4\u3002 daocloud \u6a21\u677f\u5728 kubeadm \u6a21\u677f\u57fa\u7840\u4e0a\uff0c\u7ed3\u5408\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5e73\u53f0\u8bbe\u8ba1\u5ffd\u7565\u4e86\u4e0d\u9002\u7528\u4e8e\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u626b\u63cf\u9879\u3002

                                                    "},{"location":"end-user/kpanda/security/cis/config.html#_3","title":"\u67e5\u770b\u626b\u63cf\u914d\u7f6e","text":"

                                                    \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u626b\u63cf\u914d\u7f6e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u914d\u7f6e\u7684\u7c7b\u578b\u3001\u626b\u63cf\u9879\u6570\u91cf\u3001\u521b\u5efa\u65f6\u95f4\u3001\u914d\u7f6e\u6a21\u677f\uff0c\u4ee5\u53ca\u8be5\u914d\u7f6e\u542f\u7528\u7684\u5177\u4f53\u626b\u63cf\u9879\u3002

                                                    "},{"location":"end-user/kpanda/security/cis/config.html#_4","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u914d\u7f6e","text":"

                                                    \u626b\u63cf\u914d\u7f6e\u521b\u5efa\u6210\u529f\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u66f4\u65b0\u914d\u7f6e\u6216\u5220\u9664\u8be5\u914d\u7f6e\u3002

                                                    \u5728\u626b\u63cf\u914d\u7f6e\u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                                                    • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u63cf\u8ff0\u3001\u6a21\u677f\u548c\u626b\u63cf\u9879\u3002\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u3002
                                                    • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e\u3002

                                                    "},{"location":"end-user/kpanda/security/cis/policy.html","title":"\u626b\u63cf\u7b56\u7565","text":""},{"location":"end-user/kpanda/security/cis/policy.html#_2","title":"\u521b\u5efa\u626b\u63cf\u7b56\u7565","text":"

                                                    \u521b\u5efa\u626b\u63cf\u914d\u7f6e\u4e4b\u540e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u914d\u7f6e\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                                                    1. \u5728 \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u5728\u53f3\u4fa7\u70b9\u51fb\u521b\u5efa\u626b\u63cf\u7b56\u7565\u3002

                                                    2. \u53c2\u8003\u4e0b\u5217\u8bf4\u660e\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u5b9a \u3002

                                                      • \u96c6\u7fa4\uff1a\u9009\u62e9\u9700\u8981\u626b\u63cf\u54ea\u4e2a\u96c6\u7fa4\u3002\u53ef\u9009\u7684\u96c6\u7fa4\u5217\u8868\u6765\u81ea\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u7684\u96c6\u7fa4\u3002\u5982\u679c\u6ca1\u6709\u60f3\u9009\u7684\u96c6\u7fa4\uff0c\u53ef\u4ee5\u53bb\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165\u6216\u521b\u5efa\u96c6\u7fa4\u3002
                                                      • \u626b\u63cf\u914d\u7f6e\uff1a\u9009\u62e9\u4e8b\u5148\u521b\u5efa\u597d\u7684\u626b\u63cf\u914d\u7f6e\u3002\u626b\u63cf\u914d\u7f6e\u89c4\u5b9a\u4e86\u9700\u8981\u6267\u884c\u54ea\u4e9b\u5177\u4f53\u7684\u626b\u63cf\u9879\u3002
                                                      • \u626b\u63cf\u7c7b\u578b\uff1a

                                                        • \u7acb\u5373\u626b\u63cf\uff1a\u5728\u626b\u63cf\u7b56\u7565\u521b\u5efa\u597d\u4e4b\u540e\u7acb\u5373\u6267\u884c\u4e00\u6b21\u626b\u63cf\uff0c\u540e\u7eed\u4e0d\u53ef\u4ee5\u81ea\u52a8/\u624b\u52a8\u518d\u6b21\u6267\u884c\u626b\u63cf\u3002
                                                        • \u5b9a\u65f6\u626b\u63cf\uff1a\u901a\u8fc7\u8bbe\u7f6e\u626b\u63cf\u5468\u671f\uff0c\u81ea\u52a8\u6309\u65f6\u91cd\u590d\u6267\u884c\u626b\u63cf\u3002
                                                      • \u626b\u63cf\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff1a\u8bbe\u7f6e\u6700\u591a\u4fdd\u7559\u591a\u5c11\u626b\u63cf\u62a5\u544a\u3002\u8d85\u8fc7\u6307\u5b9a\u7684\u4fdd\u7559\u6570\u91cf\u65f6\uff0c\u4ece\u6700\u65e9\u7684\u62a5\u544a\u5f00\u59cb\u5220\u9664\u3002

                                                    "},{"location":"end-user/kpanda/security/cis/policy.html#_3","title":"\u66f4\u65b0/\u5220\u9664\u626b\u63cf\u7b56\u7565","text":"

                                                    \u521b\u5efa\u626b\u63cf\u7b56\u7565\u4e4b\u540e\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u66f4\u65b0\u6216\u5220\u9664\u626b\u63cf\u7b56\u7565\u3002

                                                    \u5728 \u626b\u63cf\u7b56\u7565 \u9875\u7b7e\u4e0b\uff0c\u70b9\u51fb\u914d\u7f6e\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\uff1a

                                                    • \u5bf9\u4e8e\u5468\u671f\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a

                                                      • \u9009\u62e9 \u7acb\u5373\u6267\u884c \u610f\u5473\u7740\uff0c\u5728\u5468\u671f\u8ba1\u5212\u4e4b\u5916\u7acb\u5373\u518d\u626b\u63cf\u4e00\u6b21\u96c6\u7fa4
                                                      • \u9009\u62e9 \u7981\u7528 \u4f1a\u4e2d\u65ad\u626b\u63cf\u8ba1\u5212\uff0c\u76f4\u5230\u70b9\u51fb \u542f\u7528 \u624d\u53ef\u4ee5\u7ee7\u7eed\u6839\u636e\u5468\u671f\u8ba1\u5212\u6267\u884c\u8be5\u626b\u63cf\u7b56\u7565\u3002
                                                      • \u9009\u62e9 \u7f16\u8f91 \u53ef\u4ee5\u66f4\u65b0\u914d\u7f6e\uff0c\u652f\u6301\u66f4\u65b0\u626b\u63cf\u914d\u7f6e\u3001\u7c7b\u578b\u3001\u626b\u63cf\u5468\u671f\u3001\u62a5\u544a\u4fdd\u7559\u6570\u91cf\uff0c\u4e0d\u53ef\u66f4\u6539\u914d\u7f6e\u540d\u79f0\u548c\u9700\u8981\u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4\u3002
                                                      • \u9009\u62e9 \u5220\u9664 \u53ef\u4ee5\u5220\u9664\u8be5\u914d\u7f6e
                                                    • \u5bf9\u4e8e\u4e00\u6b21\u6027\u7684\u626b\u63cf\u7b56\u7565\uff1a\u4ec5\u652f\u6301 \u5220\u9664 \u64cd\u4f5c\u3002

                                                    "},{"location":"end-user/kpanda/security/cis/report.html","title":"\u626b\u63cf\u62a5\u544a","text":"

                                                    hide\uff1a - toc

                                                    "},{"location":"end-user/kpanda/security/cis/report.html#_1","title":"\u626b\u63cf\u62a5\u544a","text":"

                                                    \u6267\u884c\u626b\u63cf\u7b56\u7565\u4e4b\u540e\u4f1a\u81ea\u52a8\u751f\u6210\u626b\u63cf\u62a5\u544a\u3002\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a\u6216\u5c06\u5176\u4e0b\u8f7d\u5230\u672c\u5730\u67e5\u770b\u3002

                                                    • \u4e0b\u8f7d\u67e5\u770b\u626b\u63cf\u62a5\u544a

                                                      \u5b89\u5168\u7ba1\u7406 -> \u5408\u89c4\u6027\u626b\u63cf \u9875\u9762\u7684 \u626b\u63cf\u62a5\u544a \u9875\u7b7e\u70b9\u51fb\u62a5\u544a\u53f3\u4fa7\u7684 \u2507 \u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u4e0b\u8f7d \u3002

                                                    • \u5728\u7ebf\u67e5\u770b\u626b\u63cf\u62a5\u544a

                                                      \u70b9\u51fb\u67d0\u4e2a\u62a5\u544a\u7684\u540d\u79f0\uff0c\u60a8\u53ef\u4ee5\u5728\u7ebf\u67e5\u770b CIS \u5408\u89c4\u6027\u626b\u63cf\u7684\u62a5\u544a\u5185\u5bb9\u3002\u5177\u4f53\u5305\u62ec\uff1a

                                                      • \u626b\u63cf\u7684\u76ee\u6807\u96c6\u7fa4
                                                      • \u4f7f\u7528\u7684\u626b\u63cf\u7b56\u7565\u548c\u626b\u63cf\u914d\u7f6e
                                                      • \u626b\u63cf\u5f00\u59cb\u65f6\u95f4
                                                      • \u626b\u63cf\u9879\u603b\u6570\u3001\u901a\u8fc7\u6570\u4e0e\u672a\u901a\u8fc7\u6570
                                                      • \u5bf9\u4e8e\u672a\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u5bf9\u5e94\u7684\u4fee\u590d\u5efa\u8bae
                                                      • \u5bf9\u4e8e\u901a\u8fc7\u7684\u626b\u63cf\u9879\u7ed9\u51fa\u66f4\u5b89\u5168\u7684\u64cd\u4f5c\u5efa\u8bae

                                                    "},{"location":"end-user/kpanda/storage/pv.html","title":"\u6570\u636e\u5377(PV)","text":"

                                                    \u6570\u636e\u5377\uff08PersistentVolume\uff0cPV\uff09\u662f\u96c6\u7fa4\u4e2d\u7684\u4e00\u5757\u5b58\u50a8\uff0c\u53ef\u7531\u7ba1\u7406\u5458\u4e8b\u5148\u5236\u5907\uff0c\u6216\u4f7f\u7528\u5b58\u50a8\u7c7b\uff08Storage Class\uff09\u6765\u52a8\u6001\u5236\u5907\u3002PV \u662f\u96c6\u7fa4\u8d44\u6e90\uff0c\u4f46\u62e5\u6709\u72ec\u7acb\u7684\u751f\u547d\u5468\u671f\uff0c\u4e0d\u4f1a\u968f\u7740 Pod \u8fdb\u7a0b\u7ed3\u675f\u800c\u88ab\u5220\u9664\u3002\u5c06 PV \u6302\u8f7d\u5230\u5de5\u4f5c\u8d1f\u8f7d\u53ef\u4ee5\u5b9e\u73b0\u5de5\u4f5c\u8d1f\u8f7d\u7684\u6570\u636e\u6301\u4e45\u5316\u3002PV \u4e2d\u4fdd\u5b58\u4e86\u53ef\u88ab Pod \u4e2d\u5bb9\u5668\u8bbf\u95ee\u7684\u6570\u636e\u76ee\u5f55\u3002

                                                    "},{"location":"end-user/kpanda/storage/pv.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377","text":"

                                                    \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                                    • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                                                    • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                                                    "},{"location":"end-user/kpanda/storage/pv.html#yaml","title":"YAML \u521b\u5efa","text":"
                                                    1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> YAML \u521b\u5efa \u3002

                                                    2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                                      \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                                                    "},{"location":"end-user/kpanda/storage/pv.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                                                    1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) -> \u521b\u5efa\u6570\u636e\u5377(PV) \u3002

                                                    2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                                                      • \u6570\u636e\u5377\u540d\u79f0\u3001\u6570\u636e\u5377\u7c7b\u578b\u3001\u6302\u8f7d\u8def\u5f84\u3001\u5377\u6a21\u5f0f\u3001\u8282\u70b9\u4eb2\u548c\u6027\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                                      • \u6570\u636e\u5377\u7c7b\u578b\uff1a\u6709\u5173\u5377\u7c7b\u578b\u7684\u8be6\u7ec6\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5377\u3002

                                                      • Local\uff1a\u5c06 Node \u8282\u70b9\u7684\u672c\u5730\u5b58\u50a8\u5305\u88c5\u6210 PVC \u63a5\u53e3\uff0c\u5bb9\u5668\u76f4\u63a5\u4f7f\u7528 PVC \u800c\u65e0\u9700\u5173\u6ce8\u5e95\u5c42\u7684\u5b58\u50a8\u7c7b\u578b\u3002Local \u5377\u4e0d\u652f\u6301\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\uff0c\u4f46\u652f\u6301\u914d\u7f6e\u8282\u70b9\u4eb2\u548c\u6027\uff0c\u53ef\u4ee5\u9650\u5236\u80fd\u4ece\u54ea\u4e9b\u8282\u70b9\u4e0a\u8bbf\u95ee\u8be5\u6570\u636e\u5377\u3002

                                                      • HostPath\uff1a\u4f7f\u7528 Node \u8282\u70b9\u7684\u6587\u4ef6\u7cfb\u7edf\u4e0a\u7684\u6587\u4ef6\u6216\u76ee\u5f55\u4f5c\u4e3a\u6570\u636e\u5377\uff0c\u4e0d\u652f\u6301\u57fa\u4e8e\u8282\u70b9\u4eb2\u548c\u6027\u7684 Pod \u8c03\u5ea6\u3002

                                                      • \u6302\u8f7d\u8def\u5f84\uff1a\u5c06\u6570\u636e\u5377\u6302\u8f7d\u5230\u5bb9\u5668\u4e2d\u7684\u67d0\u4e2a\u5177\u4f53\u76ee\u5f55\u4e0b\u3002

                                                      • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                                                        • ReadWriteOnce\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                                        • ReadWriteMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                                        • ReadOnlyMany\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                                                        • ReadWriteOncePod\uff1a\u6570\u636e\u5377\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                                      • \u56de\u6536\u7b56\u7565\uff1a

                                                        • Retain\uff1a\u4e0d\u5220\u9664 PV\uff0c\u4ec5\u5c06\u5176\u72b6\u6001\u53d8\u4e3a released \uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u56de\u6536\u3002\u6709\u5173\u5982\u4f55\u624b\u52a8\u56de\u6536\uff0c\u53ef\u53c2\u8003\u6301\u4e45\u5377\u3002
                                                        • Recycle\uff1a\u4fdd\u7559 PV \u4f46\u6e05\u7a7a\u5176\u4e2d\u7684\u6570\u636e\uff0c\u6267\u884c\u57fa\u672c\u7684\u64e6\u9664\u64cd\u4f5c\uff08 rm -rf /thevolume/* \uff09\u3002
                                                        • Delete\uff1a\u5220\u9664 PV \u65f6\u53ca\u5176\u4e2d\u7684\u6570\u636e\u3002
                                                      • \u5377\u6a21\u5f0f\uff1a

                                                        • \u6587\u4ef6\u7cfb\u7edf\uff1a\u6570\u636e\u5377\u5c06\u88ab Pod \u6302\u8f7d\u5230\u67d0\u4e2a\u76ee\u5f55\u3002\u5982\u679c\u6570\u636e\u5377\u7684\u5b58\u50a8\u6765\u81ea\u67d0\u5757\u8bbe\u5907\u800c\u8be5\u8bbe\u5907\u76ee\u524d\u4e3a\u7a7a\uff0c\u7b2c\u4e00\u6b21\u6302\u8f7d\u5377\u4e4b\u524d\u4f1a\u5728\u8bbe\u5907\u4e0a\u521b\u5efa\u6587\u4ef6\u7cfb\u7edf\u3002
                                                        • \u5757\uff1a\u5c06\u6570\u636e\u5377\u4f5c\u4e3a\u539f\u59cb\u5757\u8bbe\u5907\u6765\u4f7f\u7528\u3002\u8fd9\u7c7b\u5377\u4ee5\u5757\u8bbe\u5907\u7684\u65b9\u5f0f\u4ea4\u7ed9 Pod \u4f7f\u7528\uff0c\u5176\u4e0a\u6ca1\u6709\u4efb\u4f55\u6587\u4ef6\u7cfb\u7edf\uff0c\u53ef\u4ee5\u8ba9 Pod \u66f4\u5feb\u5730\u8bbf\u95ee\u6570\u636e\u5377\u3002
                                                      • \u8282\u70b9\u4eb2\u548c\u6027\uff1a

                                                    "},{"location":"end-user/kpanda/storage/pv.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377","text":"

                                                    \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377(PV) \u3002

                                                    • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                                                    • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                                                    • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                                                    "},{"location":"end-user/kpanda/storage/pv.html#_4","title":"\u514b\u9686\u6570\u636e\u5377","text":"

                                                    \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u3002

                                                    1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                                                      • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                                                        \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                                                    2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                                    "},{"location":"end-user/kpanda/storage/pv.html#_5","title":"\u66f4\u65b0\u6570\u636e\u5377","text":"

                                                    \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u3002

                                                    Note

                                                    \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u7684\u522b\u540d\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u3001\u56de\u6536\u7b56\u7565\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                                    • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                                    • \u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                                    "},{"location":"end-user/kpanda/storage/pv.html#_6","title":"\u5220\u9664\u6570\u636e\u5377","text":"

                                                    \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                                                    \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                                                    "},{"location":"end-user/kpanda/storage/pvc.html","title":"\u6570\u636e\u5377\u58f0\u660e(PVC)","text":"

                                                    \u6301\u4e45\u5377\u58f0\u660e\uff08PersistentVolumeClaim\uff0cPVC\uff09\u8868\u8fbe\u7684\u662f\u7528\u6237\u5bf9\u5b58\u50a8\u7684\u8bf7\u6c42\u3002PVC \u6d88\u8017 PV \u8d44\u6e90\uff0c\u7533\u9886\u4f7f\u7528\u7279\u5b9a\u5927\u5c0f\u3001\u7279\u5b9a\u8bbf\u95ee\u6a21\u5f0f\u7684\u6570\u636e\u5377\uff0c\u4f8b\u5982\u8981\u6c42 PV \u5377\u4ee5 ReadWriteOnce\u3001ReadOnlyMany \u6216 ReadWriteMany \u7b49\u6a21\u5f0f\u6765\u6302\u8f7d\u3002

                                                    "},{"location":"end-user/kpanda/storage/pvc.html#_1","title":"\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e","text":"

                                                    \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6570\u636e\u5377\u58f0\u660e\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                                    • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u6570\u636e\u5377\u58f0\u660e\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                                                    • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                                                    "},{"location":"end-user/kpanda/storage/pvc.html#yaml","title":"YAML \u521b\u5efa","text":"
                                                    1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> YAML \u521b\u5efa \u3002

                                                    2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                                      \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                                                    "},{"location":"end-user/kpanda/storage/pvc.html#_2","title":"\u8868\u5355\u521b\u5efa","text":"
                                                    1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e (PVC) -> \u521b\u5efa\u6570\u636e\u5377\u58f0\u660e (PVC) \u3002

                                                    2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\u3002

                                                      • \u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65b9\u5f0f\u3001\u6570\u636e\u5377\u3001\u5bb9\u91cf\u3001\u8bbf\u95ee\u6a21\u5f0f\u5728\u521b\u5efa\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                                      • \u521b\u5efa\u65b9\u5f0f\uff1a\u5728\u5df2\u6709\u7684\u5b58\u50a8\u6c60\u6216\u8005\u6570\u636e\u5377\u4e2d\u52a8\u6001\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u6216\u8005\u57fa\u4e8e\u6570\u636e\u5377\u58f0\u660e\u7684\u5feb\u7167\u521b\u5efa\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                                                        \u57fa\u4e8e\u5feb\u7167\u521b\u5efa\u65f6\u65e0\u6cd5\u4fee\u6539\u6570\u636e\u5377\u58f0\u660e\u7684\u5bb9\u91cf\uff0c\u53ef\u4ee5\u5728\u521b\u5efa\u5b8c\u6210\u540e\u518d\u8fdb\u884c\u4fee\u6539\u3002

                                                      • \u9009\u62e9\u521b\u5efa\u65b9\u5f0f\u4e4b\u540e\uff0c\u5728\u4e0b\u62c9\u5217\u8868\u4e2d\u9009\u62e9\u60f3\u8981\u4f7f\u7528\u7684\u5b58\u50a8\u6c60/\u6570\u636e\u5377/\u5feb\u7167\u3002

                                                      • \u8bbf\u95ee\u6a21\u5f0f\uff1a

                                                      • ReadWriteOnce\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u4e00\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                                                      • ReadWriteMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002
                                                      • ReadOnlyMany\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u591a\u4e2a\u8282\u70b9\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\u3002
                                                      • ReadWriteOncePod\uff0c\u6570\u636e\u5377\u58f0\u660e\u53ef\u4ee5\u88ab\u5355\u4e2a Pod \u4ee5\u8bfb\u5199\u65b9\u5f0f\u6302\u8f7d\u3002

                                                    "},{"location":"end-user/kpanda/storage/pvc.html#_3","title":"\u67e5\u770b\u6570\u636e\u5377\u58f0\u660e","text":"

                                                    \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \u3002

                                                    • \u8be5\u9875\u9762\u53ef\u4ee5\u67e5\u770b\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u6570\u636e\u5377\u58f0\u660e\uff0c\u4ee5\u53ca\u5404\u4e2a\u6570\u636e\u5377\u58f0\u660e\u7684\u72b6\u6001\u3001\u5bb9\u91cf\u3001\u547d\u540d\u7a7a\u95f4\u7b49\u4fe1\u606f\u3002

                                                    • \u652f\u6301\u6309\u7167\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\u3001\u72b6\u6001\u3001\u547d\u540d\u7a7a\u95f4\u3001\u521b\u5efa\u65f6\u95f4\u8fdb\u884c\u987a\u5e8f\u6216\u9006\u5e8f\u6392\u5e8f\u3002

                                                    • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u770b\u8be5\u6570\u636e\u5377\u58f0\u660e\u7684\u57fa\u672c\u914d\u7f6e\u3001\u5b58\u50a8\u6c60\u4fe1\u606f\u3001\u6807\u7b7e\u3001\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002

                                                    "},{"location":"end-user/kpanda/storage/pvc.html#_4","title":"\u6269\u5bb9\u6570\u636e\u5377\u58f0\u660e","text":"
                                                    1. \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u6570\u636e\u5377\u58f0\u660e(PVC) \uff0c\u627e\u5230\u60f3\u8981\u8c03\u6574\u5bb9\u91cf\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                                                    2. \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u6269\u5bb9 \u3002

                                                    3. \u8f93\u5165\u76ee\u6807\u5bb9\u91cf\uff0c\u7136\u540e\u70b9\u51fb \u786e\u5b9a \u3002

                                                    "},{"location":"end-user/kpanda/storage/pvc.html#_5","title":"\u514b\u9686\u6570\u636e\u5377\u58f0\u660e","text":"

                                                    \u901a\u8fc7\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\uff0c\u53ef\u4ee5\u57fa\u4e8e\u88ab\u514b\u9686\u6570\u636e\u5377\u58f0\u660e\u7684\u914d\u7f6e\uff0c\u91cd\u65b0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\u3002

                                                    1. \u8fdb\u5165\u514b\u9686\u9875\u9762

                                                      • \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u514b\u9686\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u514b\u9686 \u3002

                                                        \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u514b\u9686 \u3002

                                                    2. \u76f4\u63a5\u4f7f\u7528\u539f\u914d\u7f6e\uff0c\u6216\u8005\u6309\u9700\u8fdb\u884c\u4fee\u6539\uff0c\u7136\u540e\u5728\u9875\u9762\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                                    "},{"location":"end-user/kpanda/storage/pvc.html#_6","title":"\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e","text":"

                                                    \u6709\u4e24\u79cd\u9014\u5f84\u53ef\u4ee5\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002\u652f\u6301\u901a\u8fc7\u8868\u5355\u6216 YAML \u6587\u4ef6\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u3002

                                                    Note

                                                    \u4ec5\u652f\u6301\u66f4\u65b0\u6570\u636e\u5377\u58f0\u660e\u7684\u522b\u540d\u3001\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                                    • \u5728\u6570\u636e\u5377\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u6570\u636e\u5377\u58f0\u660e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                                    • \u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\u9762\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0a\u89d2\u9009\u62e9 \u66f4\u65b0 \u5373\u53ef\u901a\u8fc7\u8868\u5355\u66f4\u65b0\uff0c\u9009\u62e9 \u7f16\u8f91 YAML \u5373\u53ef\u901a\u8fc7 YAML \u66f4\u65b0\u3002

                                                    "},{"location":"end-user/kpanda/storage/pvc.html#_7","title":"\u5220\u9664\u6570\u636e\u5377\u58f0\u660e","text":"

                                                    \u5728\u6570\u636e\u5377\u58f0\u660e\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u6570\u636e\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                                                    \u4e5f\u53ef\u4ee5\u70b9\u51fb\u6570\u636e\u5377\u58f0\u660e\u7684\u540d\u79f0\uff0c\u5728\u8be6\u60c5\u9875\u9762\u7684\u53f3\u4e0a\u89d2\u70b9\u51fb\u64cd\u4f5c\u6309\u94ae\u9009\u62e9 \u5220\u9664 \u3002

                                                    "},{"location":"end-user/kpanda/storage/pvc.html#_8","title":"\u5e38\u89c1\u95ee\u9898","text":"
                                                    1. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5b58\u50a8\u6c60\u6216\u6570\u636e\u5377\uff0c\u53ef\u4ee5\u521b\u5efa\u5b58\u50a8\u6c60\u6216\u521b\u5efa\u6570\u636e\u5377\u3002

                                                    2. \u5982\u679c\u5217\u8868\u4e2d\u6ca1\u6709\u53ef\u9009\u7684\u5feb\u7167\uff0c\u53ef\u4ee5\u8fdb\u5165\u6570\u636e\u5377\u58f0\u660e\u7684\u8be6\u60c5\u9875\uff0c\u5728\u53f3\u4e0a\u89d2\u5236\u4f5c\u5feb\u7167\u3002

                                                    3. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u542f\u7528\u5feb\u7167\uff0c\u5219\u65e0\u6cd5\u5236\u4f5c\u5feb\u7167\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u201c\u5236\u4f5c\u5feb\u7167\u201d\u9009\u9879\u3002

                                                    4. \u5982\u679c\u6570\u636e\u5377\u58f0\u660e\u6240\u4f7f\u7528\u7684\u5b58\u50a8\u6c60 (SC) \u6ca1\u6709\u5f00\u542f\u6269\u5bb9\u529f\u80fd\uff0c\u5219\u8be5\u6570\u636e\u5377\u4e0d\u652f\u6301\u6269\u5bb9\uff0c\u9875\u9762\u4e0d\u4f1a\u663e\u793a\u6269\u5bb9\u9009\u9879\u3002

                                                    "},{"location":"end-user/kpanda/storage/sc-share.html","title":"\u5171\u4eab\u5b58\u50a8\u6c60","text":"

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u652f\u6301\u5c06\u4e00\u4e2a\u5b58\u50a8\u6c60\u5171\u4eab\u7ed9\u591a\u4e2a\u547d\u540d\u7a7a\u95f4\u4f7f\u7528\uff0c\u4ee5\u4fbf\u63d0\u9ad8\u8d44\u6e90\u5229\u7528\u6548\u7387\u3002

                                                    1. \u5728\u5b58\u50a8\u6c60\u5217\u8868\u4e2d\u627e\u5230\u9700\u8981\u5171\u4eab\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u64cd\u4f5c\u680f\u4e0b\u70b9\u51fb \u6388\u6743\u547d\u540d\u7a7a\u95f4 \u3002

                                                    2. \u70b9\u51fb \u81ea\u5b9a\u4e49\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u9010\u4e00\u9009\u62e9\u9700\u8981\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u54ea\u4e9b\u547d\u540d\u7a7a\u95f4\u3002

                                                      • \u70b9\u51fb \u6388\u6743\u6240\u6709\u547d\u540d\u7a7a\u95f4 \u53ef\u4ee5\u4e00\u6b21\u6027\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u5f53\u524d\u96c6\u7fa4\u4e0b\u7684\u6240\u6709\u547d\u540d\u7a7a\u95f4\u3002
                                                      • \u5728\u5217\u8868\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u65b9\u70b9\u51fb \u79fb\u9664\u6388\u6743 \uff0c\u53ef\u4ee5\u89e3\u9664\u6388\u6743\uff0c\u505c\u6b62\u5c06\u6b64\u5b58\u50a8\u6c60\u5171\u4eab\u5230\u8be5\u547d\u540d\u7a7a\u95f4\u3002

                                                    "},{"location":"end-user/kpanda/storage/sc.html","title":"\u5b58\u50a8\u6c60(SC)","text":"

                                                    \u5b58\u50a8\u6c60\u6307\u5c06\u8bb8\u591a\u7269\u7406\u78c1\u76d8\u7ec4\u6210\u4e00\u4e2a\u5927\u578b\u5b58\u50a8\u8d44\u6e90\u6c60\uff0c\u672c\u5e73\u53f0\u652f\u6301\u63a5\u5165\u5404\u7c7b\u5b58\u50a8\u5382\u5546\u540e\u521b\u5efa\u5757\u5b58\u50a8\u6c60\u3001\u672c\u5730\u5b58\u50a8\u6c60\u3001\u81ea\u5b9a\u4e49\u5b58\u50a8\u6c60\uff0c\u7136\u540e\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u52a8\u6001\u914d\u7f6e\u6570\u636e\u5377\u3002

                                                    "},{"location":"end-user/kpanda/storage/sc.html#sc_1","title":"\u521b\u5efa\u5b58\u50a8\u6c60(SC)","text":"

                                                    \u76ee\u524d\u652f\u6301\u901a\u8fc7 YAML \u548c\u8868\u5355\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b58\u50a8\u6c60\uff0c\u8fd9\u4e24\u79cd\u65b9\u5f0f\u5404\u6709\u4f18\u52a3\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u7528\u6237\u7684\u4f7f\u7528\u9700\u6c42\u3002

                                                    • \u901a\u8fc7 YAML \u521b\u5efa\u6b65\u9aa4\u66f4\u5c11\u3001\u66f4\u9ad8\u6548\uff0c\u4f46\u95e8\u69db\u8981\u6c42\u8f83\u9ad8\uff0c\u9700\u8981\u719f\u6089\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\u914d\u7f6e\u3002

                                                    • \u901a\u8fc7\u8868\u5355\u521b\u5efa\u66f4\u76f4\u89c2\u66f4\u7b80\u5355\uff0c\u6839\u636e\u63d0\u793a\u586b\u5199\u5bf9\u5e94\u7684\u503c\u5373\u53ef\uff0c\u4f46\u6b65\u9aa4\u66f4\u52a0\u7e41\u7410\u3002

                                                    "},{"location":"end-user/kpanda/storage/sc.html#yaml","title":"YAML \u521b\u5efa","text":"
                                                    1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> YAML \u521b\u5efa \u3002

                                                    2. \u5728\u5f39\u6846\u4e2d\u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u7136\u540e\u5728\u5f39\u6846\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                                      \u652f\u6301\u4ece\u672c\u5730\u5bfc\u5165 YAML \u6587\u4ef6\u6216\u5c06\u586b\u5199\u597d\u7684\u6587\u4ef6\u4e0b\u8f7d\u4fdd\u5b58\u5230\u672c\u5730\u3002

                                                    "},{"location":"end-user/kpanda/storage/sc.html#_1","title":"\u8868\u5355\u521b\u5efa","text":"
                                                    1. \u5728\u96c6\u7fa4\u5217\u8868\u4e2d\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u7136\u540e\u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u70b9\u51fb \u5bb9\u5668\u5b58\u50a8 -> \u5b58\u50a8\u6c60(SC) -> \u521b\u5efa\u5b58\u50a8\u6c60(SC) \u3002

                                                    2. \u586b\u5199\u57fa\u672c\u4fe1\u606f\uff0c\u7136\u540e\u5728\u5e95\u90e8\u70b9\u51fb \u786e\u5b9a \u3002

                                                      \u81ea\u5b9a\u4e49\u5b58\u50a8\u7cfb\u7edf

                                                      • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                                                      • CSI \u5b58\u50a8\u9a71\u52a8\uff1a\u57fa\u4e8e\u6807\u51c6 Kubernetes \u7684\u5bb9\u5668\u5b58\u50a8\u63a5\u53e3\u63d2\u4ef6\uff0c\u9700\u9075\u5b88\u5b58\u50a8\u5382\u5546\u89c4\u5b9a\u7684\u683c\u5f0f\uff0c\u4f8b\u5982 rancher.io/local-path \u3002

                                                        • \u6709\u5173\u5982\u4f55\u586b\u5199\u4e0d\u540c\u5382\u5546\u63d0\u4f9b\u7684 CSI \u9a71\u52a8\uff0c\u53ef\u53c2\u8003 Kubernetes \u5b98\u65b9\u6587\u6863\u5b58\u50a8\u7c7b\u3002
                                                          • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                                                          • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                                                      HwameiStor \u5b58\u50a8\u7cfb\u7edf

                                                      • \u5b58\u50a8\u6c60\u540d\u79f0\u3001\u9a71\u52a8\u3001\u56de\u6536\u7b56\u7565\u5728\u521b\u5efa\u540e\u4e0d\u53ef\u4fee\u6539\u3002
                                                      • \u5b58\u50a8\u7cfb\u7edf\uff1aHwameiStor \u5b58\u50a8\u7cfb\u7edf\u3002
                                                      • \u5b58\u50a8\u7c7b\u578b\uff1a\u652f\u6301 LVM\uff0c\u88f8\u78c1\u76d8\u7c7b\u578b
                                                        • LVM \u7c7b\u578b \uff1aHwameiStor \u63a8\u8350\u4f7f\u7528\u6b64\u65b9\u5f0f\uff0c\u53ef\u4f7f\u7528\u9ad8\u53ef\u7528\u6570\u636e\u5377\uff0c\u5bf9\u5e94\u7684\u7684 CSI \u5b58\u50a8\u9a71\u52a8\u4e3a lvm.hwameistor.io\u3002
                                                        • \u88f8\u78c1\u76d8\u6570\u636e\u5377 \uff1a \u9002\u7528\u4e8e\u975e\u9ad8\u53ef\u7528\u573a\u666f\uff0c\u65e0\u9ad8\u53ef\u7528\u80fd\u529b\uff0c\u5bf9\u5e94\u7684 CSI \u9a71\u52a8\u4e3a hdd.hwameistor.io
                                                      • \u9ad8\u53ef\u7528\u6a21\u5f0f\uff1a\u4f7f\u7528\u9ad8\u53ef\u7528\u80fd\u529b\u4e4b\u524d\u8bf7\u786e\u8ba4 DRBD \u7ec4\u4ef6 \u5df2\u5b89\u88c5\u3002\u5f00\u542f\u9ad8\u53ef\u7528\u6a21\u5f0f\u540e\uff0c\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u6570\u8bbe\u7f6e\u4e3a 1 \u548c 2\u3002 \u5982\u9700\u8981\u53ef\u5c06\u6570\u636e\u5377\u526f\u672c\u4ece 1 Convert \u6210 1
                                                      • \u56de\u6536\u7b56\u7565\uff1a\u5220\u9664\u6570\u636e\u5377\u65f6\uff0c\u4fdd\u7559\u6570\u636e\u5377\u4e2d\u7684\u6570\u636e\u6216\u8005\u5220\u9664\u5176\u4e2d\u7684\u6570\u636e\u3002
                                                      • \u5feb\u7167/\u6269\u5bb9\uff1a\u5f00\u542f\u540e\uff0c\u57fa\u4e8e\u8be5\u5b58\u50a8\u6c60\u7684\u6570\u636e\u5377/\u6570\u636e\u5377\u58f0\u660e\u624d\u80fd\u652f\u6301\u6269\u5bb9\u548c\u5feb\u7167\u529f\u80fd\uff0c\u4f46 \u524d\u63d0\u662f\u5e95\u5c42\u4f7f\u7528\u7684\u5b58\u50a8\u9a71\u52a8\u652f\u6301\u5feb\u7167\u548c\u6269\u5bb9\u529f\u80fd\u3002

                                                      Note

                                                      \u76ee\u524d HwameiStor xfs\u3001ext4 \u4e24\u79cd\u6587\u4ef6\u7cfb\u7edf\uff0c\u5176\u4e2d\u9ed8\u8ba4\u4f7f\u7528\u7684\u662f xfs \u6587\u4ef6\u7cfb\u7edf\uff0c\u5982\u679c\u60f3\u8981\u66ff\u6362\u4e3a ext4\uff0c\u53ef\u4ee5\u5728\u81ea\u5b9a\u4e49\u53c2\u6570\u6dfb\u52a0 csi.storage.k8s.io/fstype: ext4

                                                    "},{"location":"end-user/kpanda/storage/sc.html#sc_2","title":"\u66f4\u65b0\u5b58\u50a8\u6c60(SC)","text":"

                                                    \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u66f4\u65b0\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u7f16\u8f91 \u5373\u53ef\u901a\u8fc7\u66f4\u65b0\u5b58\u50a8\u6c60\u3002

                                                    Info

                                                    \u9009\u62e9 \u67e5\u770b YAML \u53ef\u4ee5\u67e5\u770b\u8be5\u5b58\u50a8\u6c60\u7684 YAML \u6587\u4ef6\uff0c\u4f46\u4e0d\u652f\u6301\u7f16\u8f91\u3002

                                                    "},{"location":"end-user/kpanda/storage/sc.html#sc_3","title":"\u5220\u9664\u5b58\u50a8\u6c60(SC)","text":"

                                                    \u5728\u5b58\u50a8\u6c60\u5217\u8868\u9875\u9762\uff0c\u627e\u5230\u9700\u8981\u5220\u9664\u7684\u5b58\u50a8\u6c60\uff0c\u5728\u53f3\u4fa7\u7684\u64cd\u4f5c\u680f\u4e0b\u9009\u62e9 \u5220\u9664 \u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-cronjob.html","title":"\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09","text":"

                                                    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u3002

                                                    \u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u9002\u7528\u4e8e\u4e8e\u6267\u884c\u5468\u671f\u6027\u7684\u64cd\u4f5c\uff0c\u4f8b\u5982\u5907\u4efd\u3001\u62a5\u544a\u751f\u6210\u7b49\u3002\u8fd9\u4e9b\u4efb\u52a1\u53ef\u4ee5\u914d\u7f6e\u4e3a\u5468\u671f\u6027\u91cd\u590d\u7684\uff08\u4f8b\u5982\uff1a\u6bcf\u5929/\u6bcf\u5468/\u6bcf\u6708\u4e00\u6b21\uff09\uff0c\u53ef\u4ee5\u5b9a\u4e49\u4efb\u52a1\u5f00\u59cb\u6267\u884c\u7684\u65f6\u95f4\u95f4\u9694\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\uff08CronJob\uff09\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                                    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                                                    \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b9a\u65f6\u4efb\u52a1\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                                      \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b9a\u65f6\u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b9a\u65f6\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                                                    \u5728 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                                    • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                                    • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b9a\u65f6\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                                    • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                                                    "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                                                    \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                                    \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                                                    \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                                                    \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                                                    • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                                                    • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                                                    • \u955c\u50cf\uff1a
                                                      • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                                                      • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                                                      • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                                                      • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                                                    • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                                                    • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                                                    • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                                                      • \u6574\u5361\u6a21\u5f0f\uff1a
                                                        • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                                      • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                                        • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                                        • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                                        • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                                        • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                                        • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                                        • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                                                      • Mig \u6a21\u5f0f
                                                        • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                                        • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                                                    \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                                                    \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                                                    \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                                                    \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                                                    \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                                                    \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u914d\u7f6e","text":"
                                                    • \u5e76\u53d1\u7b56\u7565\uff1a\u662f\u5426\u5141\u8bb8\u591a\u4e2a Job \u4efb\u52a1\u5e76\u884c\u6267\u884c\u3002

                                                      • Allow \uff1a\u53ef\u4ee5\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u672a\u5b8c\u6210\u65f6\u5c31\u521b\u5efa\u65b0\u7684\u5b9a\u65f6\u4efb\u52a1\uff0c\u800c\u4e14\u591a\u4e2a\u4efb\u52a1\u53ef\u4ee5\u5e76\u884c\u3002\u4efb\u52a1\u592a\u591a\u53ef\u80fd\u62a2\u5360\u96c6\u7fa4\u8d44\u6e90\u3002
                                                      • Forbid \uff1a\u5728\u524d\u4e00\u4e2a\u4efb\u52a1\u5b8c\u6210\u4e4b\u524d\uff0c\u4e0d\u80fd\u521b\u5efa\u65b0\u4efb\u52a1\uff0c\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\u800c\u4e4b\u524d\u7684\u4efb\u52a1\u4ecd\u672a\u6267\u884c\u5b8c\uff0cCronJob \u4f1a\u5ffd\u7565\u65b0\u4efb\u52a1\u7684\u6267\u884c\u3002
                                                      • Replace \uff1a\u5982\u679c\u65b0\u4efb\u52a1\u7684\u6267\u884c\u65f6\u95f4\u5230\u4e86\uff0c\u4f46\u524d\u4e00\u4e2a\u4efb\u52a1\u8fd8\u672a\u5b8c\u6210\uff0c\u65b0\u7684\u4efb\u52a1\u4f1a\u53d6\u4ee3\u524d\u4e00\u4e2a\u4efb\u52a1\u3002

                                                      \u4e0a\u8ff0\u89c4\u5219\u4ec5\u9002\u7528\u4e8e\u540c\u4e00\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u3002\u591a\u4e2a CronJob \u521b\u5efa\u7684\u591a\u4e2a\u4efb\u52a1\u603b\u662f\u5141\u8bb8\u5e76\u53d1\u6267\u884c\u3002

                                                    • \u5b9a\u65f6\u89c4\u5219\uff1a\u57fa\u4e8e\u5206\u949f\u3001\u5c0f\u65f6\u3001\u5929\u3001\u5468\u3001\u6708\u8bbe\u7f6e\u4efb\u52a1\u6267\u884c\u7684\u65f6\u95f4\u5468\u671f\u3002\u652f\u6301\u7528\u6570\u5b57\u548c * \u81ea\u5b9a\u4e49 Cron \u8868\u8fbe\u5f0f\uff0c\u8f93\u5165\u8868\u8fbe\u5f0f\u540e\u4e0b\u65b9\u4f1a\u63d0\u793a\u5f53\u524d\u8868\u8fbe\u5f0f\u7684\u542b\u4e49\u3002\u6709\u5173\u8be6\u7ec6\u7684\u8868\u8fbe\u5f0f\u8bed\u6cd5\u89c4\u5219\uff0c\u53ef\u53c2\u8003 Cron \u65f6\u95f4\u8868\u8bed\u6cd5\u3002

                                                    • \u4efb\u52a1\u8bb0\u5f55\uff1a\u8bbe\u5b9a\u4fdd\u7559\u591a\u5c11\u6761\u4efb\u52a1\u6267\u884c\u6210\u529f\u6216\u5931\u8d25\u7684\u8bb0\u5f55\u3002 0 \u8868\u793a\u4e0d\u4fdd\u7559\u3002
                                                    • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u5c31\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002\u9ed8\u8ba4\u503c\u4e3a 360 s\u3002
                                                    • \u91cd\u8bd5\u6b21\u6570\uff1a\u4efb\u52a1\u53ef\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba4\u503c\u4e3a 6\u3002
                                                    • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u4efb\u52a1\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002
                                                    "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_6","title":"\u670d\u52a1\u914d\u7f6e","text":"

                                                    \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                                                    1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                                                    2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                                                    3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-cronjob.html#_7","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                                                    \u5b9a\u65f6\u4efb\u52a1\u7684\u9ad8\u7ea7\u914d\u7f6e\u4e3b\u8981\u6d89\u53ca\u6807\u7b7e\u4e0e\u6ce8\u89e3\u3002

                                                    \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-cronjob.html#yaml","title":"YAML \u521b\u5efa","text":"

                                                    \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b9a\u65f6\u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                                    \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                                                    apiVersion: batch/v1\nkind: CronJob\nmetadata:\n  creationTimestamp: '2022-12-26T09:45:47Z'\n  generation: 1\n  name: demo\n  namespace: default\n  resourceVersion: '92726617'\n  uid: d030d8d7-a405-4dcd-b09a-176942ef36c9\nspec:\n  concurrencyPolicy: Allow\n  failedJobsHistoryLimit: 1\n  jobTemplate:\n    metadata:\n      creationTimestamp: null\n    spec:\n      activeDeadlineSeconds: 360\n      backoffLimit: 6\n      template:\n        metadata:\n          creationTimestamp: null\n        spec:\n          containers:\n            - image: nginx\n              imagePullPolicy: IfNotPresent\n              lifecycle: {}\n              name: container-3\n              resources:\n                limits:\n                  cpu: 250m\n                  memory: 512Mi\n                requests:\n                  cpu: 250m\n                  memory: 512Mi\n              securityContext:\n                privileged: false\n              terminationMessagePath: /dev/termination-log\n              terminationMessagePolicy: File\n          dnsPolicy: ClusterFirst\n          restartPolicy: Never\n          schedulerName: default-scheduler\n          securityContext: {}\n          terminationGracePeriodSeconds: 30\n  schedule: 0 0 13 * 5\n  successfulJobsHistoryLimit: 3\n  suspend: false\nstatus: {}\n
                                                    "},{"location":"end-user/kpanda/workloads/create-daemonset.html","title":"\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b(DaemonSet)","text":"

                                                    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u3002

                                                    \u5b88\u62a4\u8fdb\u7a0b\uff08DaemonSet\uff09\u901a\u8fc7\u8282\u70b9\u4eb2\u548c\u6027\u4e0e\u6c61\u70b9\u529f\u80fd\u786e\u4fdd\u5728\u5168\u90e8\u6216\u90e8\u5206\u8282\u70b9\u4e0a\u8fd0\u884c\u4e00\u4e2a Pod \u7684\u526f\u672c\u3002\u5bf9\u4e8e\u65b0\u52a0\u5165\u96c6\u7fa4\u7684\u8282\u70b9\uff0cDaemonSet \u81ea\u52a8\u5728\u65b0\u8282\u70b9\u4e0a\u90e8\u7f72\u76f8\u5e94\u7684 Pod\uff0c\u5e76\u8ddf\u8e2a Pod \u7684\u8fd0\u884c\u72b6\u6001\u3002\u5f53\u8282\u70b9\u88ab\u79fb\u9664\u65f6\uff0cDaemonSet \u5219\u5220\u9664\u5176\u521b\u5efa\u7684\u6240\u6709 Pod\u3002

                                                    \u5b88\u62a4\u8fdb\u7a0b\u7684\u5e38\u89c1\u7528\u4f8b\u5305\u62ec\uff1a

                                                    • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u96c6\u7fa4\u5b88\u62a4\u8fdb\u7a0b\u3002

                                                    • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u65e5\u5fd7\u6536\u96c6\u5b88\u62a4\u8fdb\u7a0b\u3002

                                                    • \u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u8fd0\u884c\u76d1\u63a7\u5b88\u62a4\u8fdb\u7a0b\u3002

                                                    \u7b80\u5355\u8d77\u89c1\uff0c\u53ef\u4ee5\u5728\u6bcf\u4e2a\u8282\u70b9\u4e0a\u4e3a\u6bcf\u79cd\u7c7b\u578b\u7684\u5b88\u62a4\u8fdb\u7a0b\u90fd\u542f\u52a8\u4e00\u4e2a DaemonSet\u3002\u5982\u9700\u66f4\u7cbe\u7ec6\u3001\u66f4\u9ad8\u7ea7\u5730\u7ba1\u7406\u5b88\u62a4\u8fdb\u7a0b\uff0c\u4e5f\u53ef\u4ee5\u4e3a\u540c\u4e00\u79cd\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u591a\u4e2a DaemonSet\u3002\u6bcf\u4e2a DaemonSet \u5177\u6709\u4e0d\u540c\u7684\u6807\u5fd7\uff0c\u5e76\u4e14\u5bf9\u4e0d\u540c\u786c\u4ef6\u7c7b\u578b\u5177\u6709\u4e0d\u540c\u7684\u5185\u5b58\u3001CPU \u8981\u6c42\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u521b\u5efa DaemonSet \u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                                    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                                                    \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u5b88\u62a4\u8fdb\u7a0b\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                                      \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u5b88\u62a4\u8fdb\u7a0b \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5b88\u62a4\u8fdb\u7a0b\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                                                    \u5728 \u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                                    • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                                    • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u5b88\u62a4\u8fdb\u7a0b\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                                    • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                                                    "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                                                    \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                                    \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                                                    \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                                                    \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                                                    • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                                                    • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                                                    • \u955c\u50cf\uff1a
                                                      • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                                                      • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                                                      • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                                                      • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                                                    • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                                                    • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                                                    • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                                                      • \u6574\u5361\u6a21\u5f0f\uff1a
                                                        • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                                      • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                                        • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                                        • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                                        • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                                        • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                                        • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                                        • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                                                      • Mig \u6a21\u5f0f
                                                        • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                                        • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                                                    \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                                                    \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                                                    \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                                                    \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                                                    \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                                                    \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                                                    \u4e3a\u5b88\u62a4\u8fdb\u7a0b\u521b\u5efa\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u5b88\u62a4\u8fdb\u7a0b\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                                                    1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                                                    2. \u914d\u7f6e\u670d\u52a1\u53c2\u6570\uff0c\u8be6\u60c5\u8bf7\u53c2\u8003\u521b\u5efa\u670d\u52a1\u3002

                                                    3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-daemonset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                                                    \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                                    \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3

                                                    \u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                                                    • DNS \u7b56\u7565

                                                      • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                                                      • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                                                      • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                                                      • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                                                    • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                                                    • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                                                    • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                                                    • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                                                    • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                                                    • \u6700\u5927\u65e0\u6548 Pod \u6570\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                                                    • \u6700\u5927\u6d6a\u6d8c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                                                    • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                                                    • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                                                    • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                                                    • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                                                    • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                                                    • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                                                    • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                                                    • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                                                    • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                                                    \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                                                    \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-daemonset.html#yaml","title":"YAML \u521b\u5efa","text":"

                                                    \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u5b88\u62a4\u8fdb\u7a0b \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                                    \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u5b88\u62a4\u8fdb\u7a0b\u7684 YAML \u793a\u4f8b
                                                    kind: DaemonSet\napiVersion: apps/v1\nmetadata:\n  name: hwameistor-local-disk-manager\n  namespace: hwameistor\n  uid: ccbdc098-7de3-4a8a-96dd-d1cee159c92b\n  resourceVersion: '90999552'\n  generation: 1\n  creationTimestamp: '2022-12-15T09:03:44Z'\n  labels:\n    app.kubernetes.io/managed-by: Helm\n  annotations:\n    deprecated.daemonset.template.generation: '1'\n    meta.helm.sh/release-name: hwameistor\n    meta.helm.sh/release-namespace: hwameistor\nspec:\n  selector:\n    matchLabels:\n      app: hwameistor-local-disk-manager\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: hwameistor-local-disk-manager\n    spec:\n      volumes:\n        - name: udev\n          hostPath:\n            path: /run/udev\n            type: Directory\n        - name: procmount\n          hostPath:\n            path: /proc\n            type: Directory\n        - name: devmount\n          hostPath:\n            path: /dev\n            type: Directory\n        - name: socket-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins/disk.hwameistor.io\n            type: DirectoryOrCreate\n        - name: registration-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins_registry/\n            type: Directory\n        - name: plugin-dir\n          hostPath:\n            path: /var/lib/kubelet/plugins\n            type: DirectoryOrCreate\n        - name: pods-mount-dir\n          hostPath:\n            path: /var/lib/kubelet/pods\n            type: DirectoryOrCreate\n      containers:\n        - name: registrar\n          image: k8s-gcr.m.daocloud.io/sig-storage/csi-node-driver-registrar:v2.5.0\n          args:\n            - '--v=5'\n            - '--csi-address=/csi/csi.sock'\n            - >-\n              --kubelet-registration-path=/var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n          env:\n            - name: KUBE_NODE_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n          resources: {}\n          volumeMounts:\n            - name: socket-dir\n              mountPath: /csi\n            - name: registration-dir\n              mountPath: /registration\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - /bin/sh\n                  - '-c'\n                  - >-\n                    rm -rf /registration/disk.hwameistor.io \n                    /registration/disk.hwameistor.io-reg.sock\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: manager\n          image: ghcr.m.daocloud.io/hwameistor/local-disk-manager:v0.6.1\n          command:\n            - /local-disk-manager\n          args:\n            - '--endpoint=$(CSI_ENDPOINT)'\n            - '--nodeid=$(NODENAME)'\n            - '--csi-enable=true'\n          env:\n            - name: CSI_ENDPOINT\n              value: unix://var/lib/kubelet/plugins/disk.hwameistor.io/csi.sock\n            - name: NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: WATCH_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: NODENAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: spec.nodeName\n            - name: OPERATOR_NAME\n              value: local-disk-manager\n          resources: {}\n          volumeMounts:\n            - name: udev\n              mountPath: /run/udev\n            - name: procmount\n              readOnly: true\n              mountPath: /host/proc\n            - name: devmount\n              mountPath: /dev\n            - name: registration-dir\n              mountPath: /var/lib/kubelet/plugins_registry\n            - name: plugin-dir\n              mountPath: /var/lib/kubelet/plugins\n              mountPropagation: Bidirectional\n            - name: pods-mount-dir\n              mountPath: /var/lib/kubelet/pods\n              mountPropagation: Bidirectional\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: true\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      serviceAccountName: hwameistor-admin\n      serviceAccount: hwameistor-admin\n      hostNetwork: true\n      hostPID: true\n      securityContext: {}\n      schedulerName: default-scheduler\n      tolerations:\n        - key: CriticalAddonsOnly\n          operator: Exists\n        - key: node.kubernetes.io/not-ready\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/master\n          operator: Exists\n          effect: NoSchedule\n        - key: node-role.kubernetes.io/control-plane\n          operator: Exists\n          effect: NoSchedule\n        - key: node.cloudprovider.kubernetes.io/uninitialized\n          operator: Exists\n          effect: NoSchedule\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      maxUnavailable: 1\n      maxSurge: 0\n  revisionHistoryLimit: 10\nstatus:\n  currentNumberScheduled: 4\n  numberMisscheduled: 0\n  desiredNumberScheduled: 4\n  numberReady: 4\n  observedGeneration: 1\n  updatedNumberScheduled: 4\n  numberAvailable: 4\n
                                                    "},{"location":"end-user/kpanda/workloads/create-deployment.html","title":"\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09","text":"

                                                    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                                                    \u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u4e3b\u8981\u4e3a Pod \u548c ReplicaSet \u63d0\u4f9b\u58f0\u660e\u5f0f\u66f4\u65b0\uff0c\u652f\u6301\u5f39\u6027\u4f38\u7f29\u3001\u6eda\u52a8\u5347\u7ea7\u3001\u7248\u672c\u56de\u9000\u7b49\u529f\u80fd\u3002\u5728 Deployment \u4e2d\u58f0\u660e\u671f\u671b\u7684 Pod \u72b6\u6001\uff0cDeployment Controller \u4f1a\u901a\u8fc7 ReplicaSet \u4fee\u6539\u5f53\u524d\u72b6\u6001\uff0c\u4f7f\u5176\u8fbe\u5230\u9884\u5148\u58f0\u660e\u7684\u671f\u671b\u72b6\u6001\u3002Deployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u652f\u6301\u6570\u636e\u6301\u4e45\u5316\uff0c\u9002\u7528\u4e8e\u90e8\u7f72\u65e0\u72b6\u6001\u7684\u3001\u4e0d\u9700\u8981\u4fdd\u5b58\u6570\u636e\u3001\u968f\u65f6\u53ef\u4ee5\u91cd\u542f\u56de\u6eda\u7684\u5e94\u7528\u3002

                                                    \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-deployment.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                                    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-deployment.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                                                    \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                                      \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u65e0\u72b6\u6001\u8d1f\u8f7d \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002\u5982\u679c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-deployment.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                                                    • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                                    • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                                    • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                                                    • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-deployment.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                                                    \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                                    \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                                                    \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                                                    \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                                                    • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                                                    • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                                                    • \u955c\u50cf\uff1a
                                                      • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u5b89\u88c5\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                                                      • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                                                      • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                                                      • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                                                    • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                                                    • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                                                    • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                                                      • \u6574\u5361\u6a21\u5f0f\uff1a
                                                        • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                                      • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                                        • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                                        • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                                        • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                                        • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                                        • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                                        • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                                                      • Mig \u6a21\u5f0f
                                                        • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                                        • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                                                    \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                                                    \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                                                    \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                                                    \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                                                    \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                                                    \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-deployment.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                                                    \u4e3a\u65e0\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u65e0\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                                                    1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                                                    2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                                                    3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-deployment.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                                                    \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                                    \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                                                    • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002

                                                    • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                                                    • DNS \u7b56\u7565

                                                      • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                                                      • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                                                      • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                                                      • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                                                    • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                                                    • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                                                    • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                                                    • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                                                    • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                                                    • \u6700\u5927\u4e0d\u53ef\u7528\uff1a\u6307\u5b9a\u8d1f\u8f7d\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u4e0d\u53ef\u7528 Pod \u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\uff0c\u9ed8\u8ba4 25%\u3002\u5982\u679c\u7b49\u4e8e\u5b9e\u4f8b\u6570\u6709\u670d\u52a1\u4e2d\u65ad\u7684\u98ce\u9669\u3002
                                                    • \u6700\u5927\u5cf0\u503c\uff1a\u66f4\u65b0 Pod \u7684\u8fc7\u7a0b\u4e2d Pod \u603b\u6570\u8d85\u8fc7 Pod \u671f\u671b\u526f\u672c\u6570\u90e8\u5206\u7684\u6700\u5927\u503c\u6216\u6bd4\u7387\u3002\u9ed8\u8ba4 25%\u3002
                                                    • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                                                    • Pod \u53ef\u7528\u6700\u77ed\u65f6\u95f4\uff1aPod \u5c31\u7eea\u7684\u6700\u77ed\u65f6\u95f4\uff0c\u53ea\u6709\u8d85\u51fa\u8fd9\u4e2a\u65f6\u95f4 Pod \u624d\u88ab\u8ba4\u4e3a\u53ef\u7528\uff0c\u9ed8\u8ba4 0 \u79d2\u3002
                                                    • \u5347\u7ea7\u6700\u5927\u6301\u7eed\u65f6\u95f4\uff1a\u5982\u679c\u8d85\u8fc7\u6240\u8bbe\u7f6e\u7684\u65f6\u95f4\u4ecd\u672a\u90e8\u7f72\u6210\u529f\uff0c\u5219\u5c06\u8be5\u8d1f\u8f7d\u6807\u8bb0\u4e3a\u5931\u8d25\u3002\u9ed8\u8ba4 600 \u79d2\u3002
                                                    • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                                                    • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                                                    • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                                                    • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                                                    • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002

                                                    \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                                                    \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-deployment.html#yaml","title":"YAML \u521b\u5efa","text":"

                                                    \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                                    \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u65e0\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                                                    apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\nspec:\n  selector:\n    matchLabels:\n      app: nginx\n  replicas: 2 # \u544a\u77e5 Deployment \u8fd0\u884c 2 \u4e2a\u4e0e\u8be5\u6a21\u677f\u5339\u914d\u7684 Pod\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.14.2\n        ports:\n        - containerPort: 80\n
                                                    "},{"location":"end-user/kpanda/workloads/create-job.html","title":"\u521b\u5efa\u4efb\u52a1\uff08Job\uff09","text":"

                                                    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u4efb\u52a1\uff08Job\uff09\u3002

                                                    \u4efb\u52a1\uff08Job\uff09\u9002\u7528\u4e8e\u6267\u884c\u4e00\u6b21\u6027\u4efb\u52a1\u3002Job \u4f1a\u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod\uff0cJob \u4f1a\u4e00\u76f4\u91cd\u65b0\u5c1d\u8bd5\u6267\u884c Pod\uff0c\u76f4\u5230\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u4e00\u5b9a\u6570\u91cf\u3002\u6210\u529f\u7ec8\u6b62\u7684 Pod \u8fbe\u5230\u6307\u5b9a\u7684\u6570\u91cf\u540e\uff0cJob \u4e5f\u968f\u4e4b\u7ed3\u675f\u3002\u5220\u9664 Job \u65f6\u4f1a\u4e00\u540c\u6e05\u9664\u8be5 Job \u521b\u5efa\u7684\u6240\u6709 Pod\u3002\u6682\u505c Job \u65f6\u5220\u9664\u8be5 Job \u4e2d\u7684\u6240\u6709\u6d3b\u8dc3 Pod\uff0c\u76f4\u5230 Job \u88ab\u7ee7\u7eed\u6267\u884c\u3002\u6709\u5173\u4efb\u52a1\uff08Job\uff09\u7684\u66f4\u591a\u4ecb\u7ecd\uff0c\u53ef\u53c2\u8003Job\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-job.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"
                                                    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-job.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                                                    \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u4efb\u52a1\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                                      \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u4efb\u52a1 \u5217\u8868\u3002\u70b9\u51fb\u5217\u8868\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u4efb\u52a1\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u91cd\u542f\u7b49\u64cd\u4f5c\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-job.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"

                                                    \u5728 \u521b\u5efa\u4efb\u52a1 \u9875\u9762\u4e2d\uff0c\u6839\u636e\u4e0b\u8868\u8f93\u5165\u57fa\u672c\u4fe1\u606f\u540e\uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                                    • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                                    • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u4efb\u52a1\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                                    • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\u3002\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                                                    • \u63cf\u8ff0\uff1a\u8f93\u5165\u5de5\u4f5c\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u91cf\u5e94\u4e0d\u8d85\u8fc7 512 \u4e2a\u3002
                                                    "},{"location":"end-user/kpanda/workloads/create-job.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                                                    \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                                    \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                                                    \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                                                    \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                                                    • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                                                    • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                                                    • \u955c\u50cf\uff1a
                                                      • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                                                      • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                                                      • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                                                      • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                                                    • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                                                    • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                                                    • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                                                      • \u6574\u5361\u6a21\u5f0f\uff1a
                                                        • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                                      • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                                        • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                                        • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                                        • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                                        • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                                        • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                                        • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                                                      • Mig \u6a21\u5f0f
                                                        • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                                        • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                                                    \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                                                    \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                                                    \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\uff0c\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                                                    \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                                                    \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                                                    \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-job.html#_5","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                                                    \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u4efb\u52a1\u8bbe\u7f6e\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u4e24\u90e8\u5206\u3002

                                                    \u4efb\u52a1\u8bbe\u7f6e\u6807\u7b7e\u4e0e\u6ce8\u89e3

                                                    • \u5e76\u884c\u6570\uff1a\u4efb\u52a1\u6267\u884c\u8fc7\u7a0b\u4e2d\u5141\u8bb8\u540c\u65f6\u521b\u5efa\u7684\u6700\u5927 Pod \u6570\uff0c\u5e76\u884c\u6570\u5e94\u4e0d\u5927\u4e8e Pod \u603b\u6570\u3002\u9ed8\u8ba4\u4e3a 1\u3002
                                                    • \u8d85\u65f6\u65f6\u95f4\uff1a\u8d85\u51fa\u8be5\u65f6\u95f4\u65f6\uff0c\u4efb\u52a1\u4f1a\u88ab\u6807\u8bc6\u4e3a\u6267\u884c\u5931\u8d25\uff0c\u4efb\u52a1\u4e0b\u7684\u6240\u6709 Pod \u90fd\u4f1a\u88ab\u5220\u9664\u3002\u4e3a\u7a7a\u65f6\u8868\u793a\u4e0d\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\u3002
                                                    • \u91cd\u542f\u7b56\u7565\uff1a\u8bbe\u7f6e\u5931\u8d25\u65f6\u662f\u5426\u91cd\u542f Pod\u3002

                                                    \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b Pod \u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-job.html#yaml","title":"YAML \u521b\u5efa","text":"

                                                    \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u4efb\u52a1\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u4efb\u52a1 \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                                    \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u4efb\u52a1\u7684 YAML \u793a\u4f8b
                                                    kind: Job\napiVersion: batch/v1\nmetadata:\n  name: demo\n  namespace: default\n  uid: a9708239-0358-4aa1-87d3-a092c080836e\n  resourceVersion: '92751876'\n  generation: 1\n  creationTimestamp: '2022-12-26T10:52:22Z'\n  labels:\n    app: demo\n    controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n    job-name: demo\n  annotations:\n    revisions: >-\n      {\"1\":{\"status\":\"running\",\"uid\":\"a9708239-0358-4aa1-87d3-a092c080836e\",\"start-time\":\"2022-12-26T10:52:22Z\",\"completion-time\":\"0001-01-01T00:00:00Z\"}}\nspec:\n  parallelism: 1\n  backoffLimit: 6\n  selector:\n    matchLabels:\n      controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app: demo\n        controller-uid: a9708239-0358-4aa1-87d3-a092c080836e\n        job-name: demo\n    spec:\n      containers:\n        - name: container-4\n          image: nginx\n          resources:\n            limits:\n              cpu: 250m\n              memory: 512Mi\n            requests:\n              cpu: 250m\n              memory: 512Mi\n          lifecycle: {}\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n          securityContext:\n            privileged: false\n      restartPolicy: Never\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext: {}\n      schedulerName: default-scheduler\n  completionMode: NonIndexed\n  suspend: false\nstatus:\n  startTime: '2022-12-26T10:52:22Z'\n  active: 1\n
                                                    "},{"location":"end-user/kpanda/workloads/create-statefulset.html","title":"\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09","text":"

                                                    \u672c\u6587\u4ecb\u7ecd\u5982\u4f55\u901a\u8fc7\u955c\u50cf\u548c YAML \u6587\u4ef6\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u3002

                                                    \u6709\u72b6\u6001\u8d1f\u8f7d\uff08StatefulSet\uff09\u662f Kubernetes \u4e2d\u7684\u4e00\u79cd\u5e38\u89c1\u8d44\u6e90\uff0c\u548c\u65e0\u72b6\u6001\u8d1f\u8f7d\uff08Deployment\uff09\u7c7b\u4f3c\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406 Pod \u96c6\u5408\u7684\u90e8\u7f72\u548c\u4f38\u7f29\u3002\u4e8c\u8005\u7684\u4e3b\u8981\u533a\u522b\u5728\u4e8e\uff0cDeployment \u662f\u65e0\u72b6\u6001\u7684\uff0c\u4e0d\u4fdd\u5b58\u6570\u636e\uff0c\u800c StatefulSet \u662f\u6709\u72b6\u6001\u7684\uff0c\u4e3b\u8981\u7528\u4e8e\u7ba1\u7406\u6709\u72b6\u6001\u5e94\u7528\u3002\u6b64\u5916\uff0cStatefulSet \u4e2d\u7684 Pod \u5177\u6709\u6c38\u4e45\u4e0d\u53d8\u7684 ID\uff0c\u4fbf\u4e8e\u5728\u5339\u914d\u5b58\u50a8\u5377\u65f6\u8bc6\u522b\u5bf9\u5e94\u7684 Pod\u3002

                                                    \u901a\u8fc7\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\uff0c\u53ef\u4ee5\u57fa\u4e8e\u76f8\u5e94\u7684\u89d2\u8272\u6743\u9650\u8f7b\u677e\u7ba1\u7406\u591a\u4e91\u591a\u96c6\u7fa4\u4e0a\u7684\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u5305\u62ec\u5bf9\u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u7684\u521b\u5efa\u3001\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

                                                    \u5728\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u4e4b\u524d\uff0c\u9700\u8981\u6ee1\u8db3\u4ee5\u4e0b\u524d\u63d0\u6761\u4ef6\uff1a

                                                    • \u5728\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4e2d\u63a5\u5165 Kubernetes \u96c6\u7fa4\u6216\u8005\u7ba1\u7406\u5458\u5df2\u4e3a\u7528\u6237\u521b\u5efa\u4e86\u96c6\u7fa4\uff0c\u4e14\u80fd\u591f\u8bbf\u95ee\u96c6\u7fa4\u7684 UI \u754c\u9762\u3002

                                                    • \u521b\u5efa\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u548c\u7528\u6237\u3002

                                                    • \u5f53\u524d\u64cd\u4f5c\u7528\u6237\u5e94\u5177\u6709 NS Editor \u6216\u66f4\u9ad8\u6743\u9650\uff0c\u8be6\u60c5\u53ef\u53c2\u8003\u547d\u540d\u7a7a\u95f4\u6388\u6743\u3002

                                                    • \u5355\u4e2a\u5b9e\u4f8b\u4e2d\u6709\u591a\u4e2a\u5bb9\u5668\u65f6\uff0c\u8bf7\u786e\u4fdd\u5bb9\u5668\u4f7f\u7528\u7684\u7aef\u53e3\u4e0d\u51b2\u7a81\uff0c\u5426\u5219\u90e8\u7f72\u4f1a\u5931\u6548\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_2","title":"\u955c\u50cf\u521b\u5efa","text":"

                                                    \u53c2\u8003\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4f7f\u7528\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u3002

                                                    2. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u53f3\u4e0a\u89d2 \u955c\u50cf\u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u4f9d\u6b21\u586b\u5199\u57fa\u672c\u4fe1\u606f\u3001\u5bb9\u5668\u914d\u7f6e\u3001\u670d\u52a1\u914d\u7f6e\u3001\u9ad8\u7ea7\u914d\u7f6e\u540e\uff0c\u5728\u9875\u9762\u53f3\u4e0b\u89d2\u70b9\u51fb \u786e\u5b9a \u5b8c\u6210\u521b\u5efa\u3002

                                                      \u7cfb\u7edf\u5c06\u81ea\u52a8\u8fd4\u56de \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d \u5217\u8868\uff0c\u7b49\u5f85\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u53d8\u4e3a \u8fd0\u884c\u4e2d \u3002\u5982\u679c\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u51fa\u73b0\u5f02\u5e38\uff0c\u8bf7\u67e5\u770b\u5177\u4f53\u5f02\u5e38\u4fe1\u606f\uff0c\u53ef\u53c2\u8003\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001\u3002

                                                      \u70b9\u51fb\u65b0\u5efa\u5de5\u4f5c\u8d1f\u8f7d\u5217\u53f3\u4fa7\u7684 \u2507 \uff0c\u53ef\u4ee5\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u6267\u884c\u6267\u884c\u66f4\u65b0\u3001\u5220\u9664\u3001\u5f39\u6027\u6269\u7f29\u3001\u91cd\u542f\u3001\u7248\u672c\u56de\u9000\u7b49\u64cd\u4f5c\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_3","title":"\u57fa\u672c\u4fe1\u606f","text":"
                                                    • \u8d1f\u8f7d\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u53ea\u80fd\u5305\u542b\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\uff0c\u4e14\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 deployment-01\u3002\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u5185\u540c\u4e00\u7c7b\u578b\u5de5\u4f5c\u8d1f\u8f7d\u7684\u540d\u79f0\u4e0d\u5f97\u91cd\u590d\uff0c\u800c\u4e14\u8d1f\u8f7d\u540d\u79f0\u5728\u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u597d\u4e4b\u540e\u4e0d\u53ef\u66f4\u6539\u3002
                                                    • \u547d\u540d\u7a7a\u95f4\uff1a\u9009\u62e9\u5c06\u65b0\u5efa\u7684\u8d1f\u8f7d\u90e8\u7f72\u5728\u54ea\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4f7f\u7528 default \u547d\u540d\u7a7a\u95f4\u3002\u627e\u4e0d\u5230\u6240\u9700\u7684\u547d\u540d\u7a7a\u95f4\u65f6\u53ef\u4ee5\u6839\u636e\u9875\u9762\u63d0\u793a\u53bb\u521b\u5efa\u65b0\u7684\u547d\u540d\u7a7a\u95f4\u3002
                                                    • \u5b9e\u4f8b\u6570\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684 Pod \u5b9e\u4f8b\u6570\u91cf\uff0c\u9ed8\u8ba4\u521b\u5efa 1 \u4e2a Pod \u5b9e\u4f8b\u3002
                                                    • \u63cf\u8ff0\uff1a\u8f93\u5165\u8d1f\u8f7d\u7684\u63cf\u8ff0\u4fe1\u606f\uff0c\u5185\u5bb9\u81ea\u5b9a\u4e49\u3002\u5b57\u7b26\u6570\u4e0d\u8d85\u8fc7 512\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_4","title":"\u5bb9\u5668\u914d\u7f6e","text":"

                                                    \u5bb9\u5668\u914d\u7f6e\u5206\u4e3a\u57fa\u672c\u4fe1\u606f\u3001\u751f\u547d\u5468\u671f\u3001\u5065\u5eb7\u68c0\u67e5\u3001\u73af\u5883\u53d8\u91cf\u3001\u6570\u636e\u5b58\u50a8\u3001\u5b89\u5168\u8bbe\u7f6e\u516d\u90e8\u5206\uff0c\u70b9\u51fb\u4e0b\u65b9\u7684\u76f8\u5e94\u9875\u7b7e\u53ef\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                                    \u5bb9\u5668\u914d\u7f6e\u4ec5\u9488\u5bf9\u5355\u4e2a\u5bb9\u5668\u8fdb\u884c\u914d\u7f6e\uff0c\u5982\u9700\u5728\u4e00\u4e2a\u5bb9\u5668\u7ec4\u4e2d\u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\uff0c\u53ef\u70b9\u51fb\u53f3\u4fa7\u7684 + \u6dfb\u52a0\u591a\u4e2a\u5bb9\u5668\u3002

                                                    \u57fa\u672c\u4fe1\u606f\uff08\u5fc5\u586b\uff09\u751f\u547d\u5468\u671f\uff08\u9009\u586b\uff09\u5065\u5eb7\u68c0\u67e5\uff08\u9009\u586b\uff09\u73af\u5883\u53d8\u91cf\uff08\u9009\u586b\uff09\u6570\u636e\u5b58\u50a8\uff08\u9009\u586b\uff09\u5b89\u5168\u8bbe\u7f6e\uff08\u9009\u586b\uff09

                                                    \u5728\u914d\u7f6e\u5bb9\u5668\u76f8\u5173\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6b63\u786e\u586b\u5199\u5bb9\u5668\u7684\u540d\u79f0\u3001\u955c\u50cf\u53c2\u6570\uff0c\u5426\u5219\u5c06\u65e0\u6cd5\u8fdb\u5165\u4e0b\u4e00\u6b65\u3002\u53c2\u8003\u4ee5\u4e0b\u8981\u6c42\u586b\u5199\u914d\u7f6e\u540e\uff0c\u70b9\u51fb \u786e\u8ba4 \u3002

                                                    • \u5bb9\u5668\u7c7b\u578b\uff1a\u9ed8\u8ba4\u4e3a\u5de5\u4f5c\u5bb9\u5668\u3002\u6709\u5173\u521d\u59cb\u5316\u5bb9\u5668\uff0c\u53c2\u89c1 k8s \u5b98\u65b9\u6587\u6863\u3002
                                                    • \u5bb9\u5668\u540d\u79f0\uff1a\u6700\u591a\u5305\u542b 63 \u4e2a\u5b57\u7b26\uff0c\u652f\u6301\u5c0f\u5199\u5b57\u6bcd\u3001\u6570\u5b57\u53ca\u5206\u9694\u7b26\uff08\u201c-\u201d\uff09\u3002\u5fc5\u987b\u4ee5\u5c0f\u5199\u5b57\u6bcd\u6216\u6570\u5b57\u5f00\u5934\u53ca\u7ed3\u5c3e\uff0c\u4f8b\u5982 nginx-01\u3002
                                                    • \u955c\u50cf\uff1a
                                                      • \u5bb9\u5668\u955c\u50cf\uff1a\u4ece\u5217\u8868\u4e2d\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u955c\u50cf\u3002\u8f93\u5165\u955c\u50cf\u540d\u79f0\u65f6\uff0c\u9ed8\u8ba4\u4ece\u5b98\u65b9\u7684 DockerHub \u62c9\u53d6\u955c\u50cf\u3002 \u63a5\u5165\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u7684\u955c\u50cf\u4ed3\u5e93\u6a21\u5757\u540e\uff0c\u53ef\u4ee5\u70b9\u51fb\u53f3\u4fa7\u7684 \u9009\u62e9\u955c\u50cf \u6309\u94ae\u6765\u9009\u62e9\u955c\u50cf\u3002
                                                      • \u955c\u50cf\u7248\u672c\uff1a\u4ece\u4e0b\u62c9\u5217\u8868\u9009\u62e9\u4e00\u4e2a\u5408\u9002\u7684\u7248\u672c\u3002
                                                      • \u955c\u50cf\u62c9\u53d6\u7b56\u7565\uff1a\u52fe\u9009 \u603b\u662f\u62c9\u53d6\u955c\u50cf \u540e\uff0c\u8d1f\u8f7d\u6bcf\u6b21\u91cd\u542f/\u5347\u7ea7\u65f6\u90fd\u4f1a\u4ece\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u955c\u50cf\u3002 \u5982\u679c\u4e0d\u52fe\u9009\uff0c\u5219\u53ea\u62c9\u53d6\u672c\u5730\u955c\u50cf\uff0c\u53ea\u6709\u5f53\u955c\u50cf\u5728\u672c\u5730\u4e0d\u5b58\u5728\u65f6\u624d\u4ece\u955c\u50cf\u4ed3\u5e93\u91cd\u65b0\u62c9\u53d6\u3002 \u66f4\u591a\u8be6\u60c5\u53ef\u53c2\u8003\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u3002
                                                      • \u955c\u50cf\u4ed3\u5e93\u5bc6\u94a5\uff1a\u53ef\u9009\u3002\u5982\u679c\u76ee\u6807\u4ed3\u5e93\u9700\u8981 Secret \u624d\u80fd\u8bbf\u95ee\uff0c\u9700\u8981\u5148\u53bb\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u3002
                                                    • \u7279\u6743\u5bb9\u5668\uff1a\u5bb9\u5668\u9ed8\u8ba4\u4e0d\u53ef\u4ee5\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u4efb\u4f55\u8bbe\u5907\uff0c\u5f00\u542f\u7279\u6743\u5bb9\u5668\u540e\uff0c\u5bb9\u5668\u5373\u53ef\u8bbf\u95ee\u5bbf\u4e3b\u673a\u4e0a\u7684\u6240\u6709\u8bbe\u5907\uff0c\u4eab\u6709\u5bbf\u4e3b\u673a\u4e0a\u7684\u8fd0\u884c\u8fdb\u7a0b\u7684\u6240\u6709\u6743\u9650\u3002
                                                    • CPU/\u5185\u5b58\u914d\u989d\uff1aCPU/\u5185\u5b58\u8d44\u6e90\u7684\u8bf7\u6c42\u503c\uff08\u9700\u8981\u4f7f\u7528\u7684\u6700\u5c0f\u8d44\u6e90\uff09\u548c\u9650\u5236\u503c\uff08\u5141\u8bb8\u4f7f\u7528\u7684\u6700\u5927\u8d44\u6e90\uff09\u3002\u8bf7\u6839\u636e\u9700\u8981\u4e3a\u5bb9\u5668\u914d\u7f6e\u8d44\u6e90\uff0c\u907f\u514d\u8d44\u6e90\u6d6a\u8d39\u548c\u56e0\u5bb9\u5668\u8d44\u6e90\u8d85\u989d\u5bfc\u81f4\u7cfb\u7edf\u6545\u969c\u3002\u9ed8\u8ba4\u503c\u5982\u56fe\u6240\u793a\u3002
                                                    • GPU \u914d\u7f6e\uff1a\u4e3a\u5bb9\u5668\u914d\u7f6e GPU \u7528\u91cf\uff0c \u4ec5\u652f\u6301\u8f93\u5165\u6b63\u6574\u6570\u3002
                                                      • \u6574\u5361\u6a21\u5f0f\uff1a
                                                        • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5c06\u5360\u7528\u6574\u5f20\u7269\u7406 GPU\u5361\u3002\u540c\u65f6\u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                                      • \u865a\u62df\u5316\u6a21\u5f0f\uff1a
                                                        • \u7269\u7406\u5361\u6570\u91cf\uff1a\u5bb9\u5668\u80fd\u591f\u4f7f\u7528\u7684\u7269\u7406 GPU \u5361\u6570\u91cf\uff0c \u7269\u7406\u5361\u6570\u91cf\u9700\u8981 \u2264 \u5355\u8282\u70b9\u63d2\u5165\u7684\u6700\u5927 GPU \u5361\u6570\u3002
                                                        • GPU \u7b97\u529b\uff1a\u6bcf\u5f20\u7269\u7406 GPU \u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u7b97\u529b\u767e\u5206\u6bd4\uff0c\u6700\u591a\u4e3a100%\u3002
                                                        • \u663e\u5b58\uff1a\u6bcf\u5f20\u7269\u7406\u5361\u4e0a\u9700\u8981\u4f7f\u7528\u7684\u663e\u5b58\u6570\u91cf\u3002
                                                        • \u8c03\u5ea6\u7b56\u7565\uff08Binpack / Spread\uff09\uff1a\u652f\u6301\u57fa\u4e8e GPU \u5361\u548c\u57fa\u4e8e\u8282\u70b9\u7684\u4e24\u79cd\u7ef4\u5ea6\u7684\u8c03\u5ea6\u7b56\u7565\u3002Binpack \u662f\u96c6\u4e2d\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u540c\u4e00\u4e2a\u8282\u70b9\u7684\u540c\u4e00\u5f20 GPU \u5361\u4e0a\uff1bSpread \u662f\u5206\u6563\u5f0f\u8c03\u5ea6\u7b56\u7565\uff0c\u4f18\u5148\u5c06\u5bb9\u5668\u8c03\u5ea6\u5230\u4e0d\u540c\u8282\u70b9\u7684\u4e0d\u540c GPU \u5361\u4e0a\uff0c\u6839\u636e\u5b9e\u9645\u573a\u666f\u53ef\u7ec4\u5408\u4f7f\u7528\u3002\uff08\u5f53\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u4e0e\u96c6\u7fa4\u7ea7\u522b\u7684 Binpack / Spread \u8c03\u5ea6\u7b56\u7565\u51b2\u7a81\u65f6\uff0c\u7cfb\u7edf\u4f18\u5148\u4f7f\u7528\u5de5\u4f5c\u8d1f\u8f7d\u7ea7\u522b\u7684\u8c03\u5ea6\u7b56\u7565\uff09\u3002
                                                        • \u4efb\u52a1\u4f18\u5148\u7ea7\uff1aGPU \u7b97\u529b\u4f1a\u4f18\u5148\u4f9b\u7ed9\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u4f7f\u7528\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u51cf\u5c11\u751a\u81f3\u6682\u505c\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u76f4\u5230\u9ad8\u4f18\u5148\u7ea7\u4efb\u52a1\u7ed3\u675f\uff0c\u666e\u901a\u4efb\u52a1\u4f1a\u91cd\u65b0\u7ee7\u7eed\u4f7f\u7528 GPU \u7b97\u529b\uff0c\u5e38\u7528\u4e8e\u5728\u79bb\u7ebf\u6df7\u90e8\u573a\u666f\u3002
                                                        • \u6307\u5b9a\u578b\u53f7\uff1a\u5c06\u5de5\u4f5c\u8d1f\u8f7d\u8c03\u5ea6\u5230\u6307\u5b9a\u578b\u53f7\u7684 GPU \u5361\u4e0a\uff0c\u9002\u7528\u4e8e\u5bf9 GPU \u578b\u53f7\u6709\u7279\u6b8a\u8981\u6c42\u7684\u573a\u666f\u3002
                                                      • Mig \u6a21\u5f0f
                                                        • \u89c4\u683c\uff1a\u5207\u5206\u540e\u7684\u7269\u7406 GPU \u5361\u89c4\u683c\u3002
                                                        • \u6570\u91cf\uff1a\u4f7f\u7528\u8be5\u89c4\u683c\u7684\u6570\u91cf\u3002

                                                    \u8bbe\u7f6e GPU \u4e4b\u524d\uff0c\u9700\u8981\u7ba1\u7406\u5458\u9884\u5148\u5728\u96c6\u7fa4\u4e0a\u5b89\u88c5 GPU Operator \u548c nvidia-vgpu\uff08\u4ec5 vGPU \u6a21\u5f0f\u9700\u8981\u5b89\u88c5\uff09\uff0c\u5e76\u5728\u96c6\u7fa4\u8bbe\u7f6e\u4e2d\u5f00\u542f GPU \u7279\u6027\u3002

                                                    \u8bbe\u7f6e\u5bb9\u5668\u542f\u52a8\u65f6\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u9700\u8981\u6267\u884c\u7684\u547d\u4ee4\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u751f\u547d\u5468\u671f\u914d\u7f6e\u3002

                                                    \u7528\u4e8e\u5224\u65ad\u5bb9\u5668\u548c\u5e94\u7528\u7684\u5065\u5eb7\u72b6\u6001\u3002\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u914d\u7f6e\u3002

                                                    \u914d\u7f6e Pod \u5185\u7684\u5bb9\u5668\u53c2\u6570\uff0c\u4e3a Pod \u6dfb\u52a0\u73af\u5883\u53d8\u91cf\u6216\u4f20\u9012\u914d\u7f6e\u7b49\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u3002

                                                    \u914d\u7f6e\u5bb9\u5668\u6302\u8f7d\u6570\u636e\u5377\u548c\u6570\u636e\u6301\u4e45\u5316\u7684\u8bbe\u7f6e\u3002\u8be6\u60c5\u53ef\u53c2\u8003\u5bb9\u5668\u6570\u636e\u5b58\u50a8\u914d\u7f6e\u3002

                                                    \u901a\u8fc7 Linux \u5185\u7f6e\u7684\u8d26\u53f7\u6743\u9650\u9694\u79bb\u673a\u5236\u6765\u5bf9\u5bb9\u5668\u8fdb\u884c\u5b89\u5168\u9694\u79bb\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u4e0d\u540c\u6743\u9650\u7684\u8d26\u53f7 UID\uff08\u6570\u5b57\u8eab\u4efd\u6807\u8bb0\uff09\u6765\u9650\u5236\u5bb9\u5668\u7684\u6743\u9650\u3002\u4f8b\u5982\uff0c\u8f93\u5165 0 \u8868\u793a\u4f7f\u7528 root \u8d26\u53f7\u7684\u6743\u9650\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_5","title":"\u670d\u52a1\u914d\u7f6e","text":"

                                                    \u4e3a\u6709\u72b6\u6001\u8d1f\u8f7d\u914d\u7f6e\u670d\u52a1\uff08Service\uff09\uff0c\u4f7f\u6709\u72b6\u6001\u8d1f\u8f7d\u80fd\u591f\u88ab\u5916\u90e8\u8bbf\u95ee\u3002

                                                    1. \u70b9\u51fb \u521b\u5efa\u670d\u52a1 \u6309\u94ae\u3002

                                                    2. \u53c2\u8003\u521b\u5efa\u670d\u52a1\uff0c\u914d\u7f6e\u670d\u52a1\u53c2\u6570\u3002

                                                    3. \u70b9\u51fb \u786e\u5b9a \uff0c\u70b9\u51fb \u4e0b\u4e00\u6b65 \u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-statefulset.html#_6","title":"\u9ad8\u7ea7\u914d\u7f6e","text":"

                                                    \u9ad8\u7ea7\u914d\u7f6e\u5305\u62ec\u8d1f\u8f7d\u7684\u7f51\u7edc\u914d\u7f6e\u3001\u5347\u7ea7\u7b56\u7565\u3001\u8c03\u5ea6\u7b56\u7565\u3001\u6807\u7b7e\u4e0e\u6ce8\u89e3\u56db\u90e8\u5206\uff0c\u53ef\u70b9\u51fb\u4e0b\u65b9\u7684\u9875\u7b7e\u67e5\u770b\u5404\u90e8\u5206\u7684\u914d\u7f6e\u8981\u6c42\u3002

                                                    \u7f51\u7edc\u914d\u7f6e\u5347\u7ea7\u7b56\u7565\u5bb9\u5668\u7ba1\u7406\u7b56\u7565\u8c03\u5ea6\u7b56\u7565\u6807\u7b7e\u4e0e\u6ce8\u89e3
                                                    • \u5982\u5728\u96c6\u7fa4\u4e2d\u90e8\u7f72\u4e86 SpiderPool \u548c Multus \u7ec4\u4ef6\uff0c\u5219\u53ef\u4ee5\u5728\u7f51\u7edc\u914d\u7f6e\u4e2d\u914d\u7f6e\u5bb9\u5668\u7f51\u5361\u3002

                                                    • DNS \u914d\u7f6e\uff1a\u5e94\u7528\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u4f1a\u51fa\u73b0\u5197\u4f59\u7684 DNS \u67e5\u8be2\u3002Kubernetes \u4e3a\u5e94\u7528\u63d0\u4f9b\u4e86\u4e0e DNS \u76f8\u5173\u7684\u914d\u7f6e\u9009\u9879\uff0c\u80fd\u591f\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u6709\u6548\u5730\u51cf\u5c11\u5197\u4f59\u7684 DNS \u67e5\u8be2\uff0c\u63d0\u5347\u4e1a\u52a1\u5e76\u53d1\u91cf\u3002

                                                    • DNS \u7b56\u7565

                                                      • Default\uff1a\u4f7f\u5bb9\u5668\u4f7f\u7528 kubelet \u7684 --resolv-conf \u53c2\u6570\u6307\u5411\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u3002\u8be5\u914d\u7f6e\u53ea\u80fd\u89e3\u6790\u6ce8\u518c\u5230\u4e92\u8054\u7f51\u4e0a\u7684\u5916\u90e8\u57df\u540d\uff0c\u65e0\u6cd5\u89e3\u6790\u96c6\u7fa4\u5185\u90e8\u57df\u540d\uff0c\u4e14\u4e0d\u5b58\u5728\u65e0\u6548\u7684 DNS \u67e5\u8be2\u3002
                                                      • ClusterFirstWithHostNet\uff1a\u5e94\u7528\u5bf9\u63a5\u4e3b\u673a\u7684\u57df\u540d\u6587\u4ef6\u3002
                                                      • ClusterFirst\uff1a\u5e94\u7528\u5bf9\u63a5 Kube-DNS/CoreDNS\u3002
                                                      • None\uff1aKubernetes v1.9\uff08Beta in v1.10\uff09\u4e2d\u5f15\u5165\u7684\u65b0\u9009\u9879\u503c\u3002\u8bbe\u7f6e\u4e3a None \u4e4b\u540e\uff0c\u5fc5\u987b\u8bbe\u7f6e dnsConfig\uff0c\u6b64\u65f6\u5bb9\u5668\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u5c06\u5b8c\u5168\u901a\u8fc7 dnsConfig \u7684\u914d\u7f6e\u6765\u751f\u6210\u3002
                                                    • \u57df\u540d\u670d\u52a1\u5668\uff1a\u586b\u5199\u57df\u540d\u670d\u52a1\u5668\u7684\u5730\u5740\uff0c\u4f8b\u5982 10.6.175.20 \u3002

                                                    • \u641c\u7d22\u57df\uff1a\u57df\u540d\u67e5\u8be2\u65f6\u7684 DNS \u641c\u7d22\u57df\u5217\u8868\u3002\u6307\u5b9a\u540e\uff0c\u63d0\u4f9b\u7684\u641c\u7d22\u57df\u5217\u8868\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 search \u5b57\u6bb5\u4e2d\uff0c\u5e76\u5220\u9664\u91cd\u590d\u7684\u57df\u540d\u3002Kubernetes \u6700\u591a\u5141\u8bb8 6 \u4e2a\u641c\u7d22\u57df\u3002
                                                    • Options\uff1aDNS \u7684\u914d\u7f6e\u9009\u9879\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5bf9\u8c61\u53ef\u4ee5\u5177\u6709 name \u5c5e\u6027\uff08\u5fc5\u9700\uff09\u548c value \u5c5e\u6027\uff08\u53ef\u9009\uff09\u3002\u8be5\u5b57\u6bb5\u4e2d\u7684\u5185\u5bb9\u5c06\u5408\u5e76\u5230\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684 options \u5b57\u6bb5\u4e2d\uff0cdnsConfig \u7684 options \u7684\u67d0\u4e9b\u9009\u9879\u5982\u679c\u4e0e\u57fa\u4e8e dnsPolicy \u751f\u6210\u7684\u57df\u540d\u89e3\u6790\u6587\u4ef6\u7684\u9009\u9879\u51b2\u7a81\uff0c\u5219\u4f1a\u88ab dnsConfig \u6240\u8986\u76d6\u3002
                                                    • \u4e3b\u673a\u522b\u540d\uff1a\u4e3a\u4e3b\u673a\u8bbe\u7f6e\u7684\u522b\u540d\u3002

                                                    • \u5347\u7ea7\u65b9\u5f0f\uff1a \u6eda\u52a8\u5347\u7ea7 \u6307\u9010\u6b65\u7528\u65b0\u7248\u672c\u7684\u5b9e\u4f8b\u66ff\u6362\u65e7\u7248\u672c\u7684\u5b9e\u4f8b\uff0c\u5347\u7ea7\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e1a\u52a1\u6d41\u91cf\u4f1a\u540c\u65f6\u8d1f\u8f7d\u5747\u8861\u5206\u5e03\u5230\u65b0\u8001\u7684\u5b9e\u4f8b\u4e0a\uff0c\u56e0\u6b64\u4e1a\u52a1\u4e0d\u4f1a\u4e2d\u65ad\u3002 \u91cd\u5efa\u5347\u7ea7 \u6307\u5148\u5220\u9664\u8001\u7248\u672c\u7684\u8d1f\u8f7d\u5b9e\u4f8b\uff0c\u518d\u5b89\u88c5\u6307\u5b9a\u7684\u65b0\u7248\u672c\uff0c\u5347\u7ea7\u8fc7\u7a0b\u4e2d\u4e1a\u52a1\u4f1a\u4e2d\u65ad\u3002
                                                    • \u6700\u5927\u4fdd\u7559\u7248\u672c\u6570\uff1a\u8bbe\u7f6e\u7248\u672c\u56de\u6eda\u65f6\u4fdd\u7559\u7684\u65e7\u7248\u672c\u6570\u91cf\u3002\u9ed8\u8ba4 10\u3002
                                                    • \u7f29\u5bb9\u65f6\u95f4\u7a97\uff1a\u8d1f\u8f7d\u505c\u6b62\u524d\u547d\u4ee4\u7684\u6267\u884c\u65f6\u95f4\u7a97\uff080-9,999\u79d2\uff09\uff0c\u9ed8\u8ba4 30 \u79d2\u3002

                                                    Kubernetes v1.7 \u53ca\u5176\u4e4b\u540e\u7684\u7248\u672c\u53ef\u4ee5\u901a\u8fc7 .spec.podManagementPolicy \u8bbe\u7f6e Pod \u7684\u7ba1\u7406\u7b56\u7565\uff0c\u652f\u6301\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\uff1a

                                                    • \u6309\u5e8f\u7b56\u7565\uff08OrderedReady\uff09 \uff1a\u9ed8\u8ba4\u7684 Pod \u7ba1\u7406\u7b56\u7565\uff0c\u8868\u793a\u6309\u987a\u5e8f\u90e8\u7f72 Pod\uff0c\u53ea\u6709\u524d\u4e00\u4e2a Pod \u90e8\u7f72 \u6210\u529f\u5b8c\u6210\u540e\uff0c\u6709\u72b6\u6001\u8d1f\u8f7d\u624d\u4f1a\u5f00\u59cb\u90e8\u7f72\u4e0b\u4e00\u4e2a Pod\u3002\u5220\u9664 Pod \u65f6\u5219\u91c7\u7528\u9006\u5e8f\uff0c\u6700\u540e\u521b\u5efa\u7684\u6700\u5148\u88ab\u5220\u9664\u3002

                                                    • \u5e76\u884c\u7b56\u7565\uff08Parallel\uff09 \uff1a\u5e76\u884c\u521b\u5efa\u6216\u5220\u9664\u5bb9\u5668\uff0c\u548c Deployment \u7c7b\u578b\u7684 Pod \u4e00\u6837\u3002StatefulSet \u63a7\u5236\u5668\u5e76\u884c\u5730\u542f\u52a8\u6216\u7ec8\u6b62\u6240\u6709\u7684\u5bb9\u5668\u3002\u542f\u52a8\u6216\u8005\u7ec8\u6b62\u5176\u4ed6 Pod \u524d\uff0c\u65e0\u9700\u7b49\u5f85 Pod \u8fdb\u5165 Running \u548c ready \u6216\u8005\u5b8c\u5168\u505c\u6b62\u72b6\u6001\u3002 \u8fd9\u4e2a\u9009\u9879\u53ea\u4f1a\u5f71\u54cd\u6269\u7f29\u64cd\u4f5c\u7684\u884c\u4e3a\uff0c\u4e0d\u5f71\u54cd\u66f4\u65b0\u65f6\u7684\u987a\u5e8f\u3002

                                                    • \u5bb9\u5fcd\u65f6\u95f4\uff1a\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u5c06\u8d1f\u8f7d\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\uff0c\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002
                                                    • \u8282\u70b9\u4eb2\u548c\u6027\uff1a\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002
                                                    • \u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                                                    • \u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027\uff1a\u57fa\u4e8e\u5df2\u7ecf\u5728\u8282\u70b9\u4e0a\u8fd0\u884c\u7684 Pod \u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u4e0d\u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u3002
                                                    • \u62d3\u6251\u57df\uff1a\u5373 topologyKey\uff0c\u7528\u4e8e\u6307\u5b9a\u53ef\u4ee5\u8c03\u5ea6\u7684\u4e00\u7ec4\u8282\u70b9\u3002\u4f8b\u5982\uff0c kubernetes.io/os \u8868\u793a\u53ea\u8981\u67d0\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u7684\u8282\u70b9\u6ee1\u8db3 labelSelector \u7684\u6761\u4ef6\u5c31\u53ef\u4ee5\u8c03\u5ea6\u5230\u8be5\u8282\u70b9\u3002

                                                    \u5177\u4f53\u8be6\u60c5\u8bf7\u53c2\u8003\u8c03\u5ea6\u7b56\u7565\u3002

                                                    ![\u8c03\u5ea6\u7b56\u7565](../../../images/deploy15_1.png)\n

                                                    \u53ef\u4ee5\u70b9\u51fb \u6dfb\u52a0 \u6309\u94ae\u4e3a\u5de5\u4f5c\u8d1f\u8f7d\u548c\u5bb9\u5668\u7ec4\u6dfb\u52a0\u6807\u7b7e\u548c\u6ce8\u89e3\u3002

                                                    "},{"location":"end-user/kpanda/workloads/create-statefulset.html#yaml","title":"YAML \u521b\u5efa","text":"

                                                    \u9664\u4e86\u901a\u8fc7\u955c\u50cf\u65b9\u5f0f\u5916\uff0c\u8fd8\u53ef\u4ee5\u901a\u8fc7 YAML \u6587\u4ef6\u66f4\u5feb\u901f\u5730\u521b\u5efa\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u3002

                                                    1. \u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u4e0a\u7684 \u96c6\u7fa4\u5217\u8868 \uff0c\u7136\u540e\u70b9\u51fb\u76ee\u6807\u96c6\u7fa4\u7684\u540d\u79f0\uff0c\u8fdb\u5165 \u96c6\u7fa4\u8be6\u60c5 \u9875\u9762\u3002

                                                    2. \u5728\u96c6\u7fa4\u8be6\u60c5\u9875\u9762\uff0c\u70b9\u51fb\u5de6\u4fa7\u5bfc\u822a\u680f\u7684 \u5de5\u4f5c\u8d1f\u8f7d -> \u6709\u72b6\u6001\u8d1f\u8f7d \uff0c\u7136\u540e\u70b9\u51fb\u9875\u9762\u53f3\u4e0a\u89d2\u7684 YAML \u521b\u5efa \u6309\u94ae\u3002

                                                    3. \u8f93\u5165\u6216\u7c98\u8d34\u4e8b\u5148\u51c6\u5907\u597d\u7684 YAML \u6587\u4ef6\uff0c\u70b9\u51fb \u786e\u5b9a \u5373\u53ef\u5b8c\u6210\u521b\u5efa\u3002

                                                    \u70b9\u51fb\u67e5\u770b\u521b\u5efa\u6709\u72b6\u6001\u8d1f\u8f7d\u7684 YAML \u793a\u4f8b
                                                    kind: StatefulSet\napiVersion: apps/v1\nmetadata:\n  name: test-mysql-123-mysql\n  namespace: default\n  uid: d3f45527-a0ab-4b22-9013-5842a06f4e0e\n  resourceVersion: '20504385'\n  generation: 1\n  creationTimestamp: '2022-09-22T09:34:10Z'\n  ownerReferences:\n    - apiVersion: mysql.presslabs.org/v1alpha1\n      kind: MysqlCluster\n      name: test-mysql-123\n      uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n      controller: true\n      blockOwnerDeletion: true\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app.kubernetes.io/managed-by: mysql.presslabs.org\n      app.kubernetes.io/name: mysql\n      mysql.presslabs.org/cluster: test-mysql-123\n  template:\n    metadata:\n      creationTimestamp: null\n      labels:\n        app.kubernetes.io/component: database\n        app.kubernetes.io/instance: test-mysql-123\n        app.kubernetes.io/managed-by: mysql.presslabs.org\n        app.kubernetes.io/name: mysql\n        app.kubernetes.io/version: 5.7.31\n        mysql.presslabs.org/cluster: test-mysql-123\n      annotations:\n        config_rev: '13941099'\n        prometheus.io/port: '9125'\n        prometheus.io/scrape: 'true'\n        secret_rev: '13941101'\n    spec:\n      volumes:\n        - name: conf\n          emptyDir: {}\n        - name: init-scripts\n          emptyDir: {}\n        - name: config-map\n          configMap:\n            name: test-mysql-123-mysql\n            defaultMode: 420\n        - name: data\n          persistentVolumeClaim:\n            claimName: data\n      initContainers:\n        - name: init\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - clone-and-init\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: BACKUP_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_USER\n                  optional: true\n            - name: BACKUP_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: BACKUP_PASSWORD\n                  optional: true\n          resources: {}\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: config-map\n              mountPath: /mnt/conf\n            - name: data\n              mountPath: /var/lib/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      containers:\n        - name: mysql\n          image: docker.m.daocloud.io/mysql:5.7.31\n          ports:\n            - name: mysql\n              containerPort: 3306\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: ORCH_CLUSTER_ALIAS\n              value: test-mysql-123.default\n            - name: ORCH_HTTP_API\n              value: http://mysql-operator.mcamel-system/api\n            - name: MYSQL_ROOT_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: ROOT_PASSWORD\n                  optional: false\n            - name: MYSQL_USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: USER\n                  optional: true\n            - name: MYSQL_PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: PASSWORD\n                  optional: true\n            - name: MYSQL_DATABASE\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-secret\n                  key: DATABASE\n                  optional: true\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 100m\n              memory: 512Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          livenessProbe:\n            exec:\n              command:\n                - mysqladmin\n                - '--defaults-file=/etc/mysql/client.conf'\n                - ping\n            initialDelaySeconds: 60\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          readinessProbe:\n            exec:\n              command:\n                - /bin/sh\n                - '-c'\n                - >-\n                  test $(mysql --defaults-file=/etc/mysql/client.conf -NB -e\n                  'SELECT COUNT(*) FROM sys_operator.status WHERE\n                  name=\"configured\" AND value=\"1\"') -eq 1\n            initialDelaySeconds: 5\n            timeoutSeconds: 5\n            periodSeconds: 2\n            successThreshold: 1\n            failureThreshold: 3\n          lifecycle:\n            preStop:\n              exec:\n                command:\n                  - bash\n                  - /etc/mysql/pre-shutdown-ha.sh\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: sidecar\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - config-and-serve\n          ports:\n            - name: sidecar-http\n              containerPort: 8080\n              protocol: TCP\n          envFrom:\n            - secretRef:\n                name: test-mysql-123-mysql-operated\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: XTRABACKUP_TARGET_DIR\n              value: /tmp/xtrabackup_backupfiles/\n          resources:\n            limits:\n              cpu: '1'\n              memory: 1Gi\n            requests:\n              cpu: 10m\n              memory: 64Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n            - name: data\n              mountPath: /var/lib/mysql\n          readinessProbe:\n            httpGet:\n              path: /health\n              port: 8080\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 5\n            periodSeconds: 5\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: metrics-exporter\n          image: prom/mysqld-exporter:v0.13.0\n          args:\n            - '--web.listen-address=0.0.0.0:9125'\n            - '--web.telemetry-path=/metrics'\n            - '--collect.heartbeat'\n            - '--collect.heartbeat.database=sys_operator'\n          ports:\n            - name: prometheus\n              containerPort: 9125\n              protocol: TCP\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n            - name: USER\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_USER\n                  optional: false\n            - name: PASSWORD\n              valueFrom:\n                secretKeyRef:\n                  name: test-mysql-123-mysql-operated\n                  key: METRICS_EXPORTER_PASSWORD\n                  optional: false\n            - name: DATA_SOURCE_NAME\n              value: $(USER):$(PASSWORD)@(127.0.0.1:3306)/\n          resources:\n            limits:\n              cpu: 100m\n              memory: 128Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          livenessProbe:\n            httpGet:\n              path: /metrics\n              port: 9125\n              scheme: HTTP\n            initialDelaySeconds: 30\n            timeoutSeconds: 30\n            periodSeconds: 30\n            successThreshold: 1\n            failureThreshold: 3\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n        - name: pt-heartbeat\n          image: docker.m.daocloud.io/bitpoke/mysql-operator-sidecar-5.7:v0.6.1\n          args:\n            - pt-heartbeat\n            - '--update'\n            - '--replace'\n            - '--check-read-only'\n            - '--create-table'\n            - '--database'\n            - sys_operator\n            - '--table'\n            - heartbeat\n            - '--utc'\n            - '--defaults-file'\n            - /etc/mysql/heartbeat.conf\n            - '--fail-successive-errors=20'\n          env:\n            - name: MY_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: MY_POD_NAME\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.name\n            - name: MY_POD_IP\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: status.podIP\n            - name: MY_SERVICE_NAME\n              value: mysql\n            - name: MY_CLUSTER_NAME\n              value: test-mysql-123\n            - name: MY_FQDN\n              value: $(MY_POD_NAME).$(MY_SERVICE_NAME).$(MY_NAMESPACE)\n            - name: MY_MYSQL_VERSION\n              value: 5.7.31\n          resources:\n            limits:\n              cpu: 100m\n              memory: 64Mi\n            requests:\n              cpu: 10m\n              memory: 32Mi\n          volumeMounts:\n            - name: conf\n              mountPath: /etc/mysql\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          imagePullPolicy: IfNotPresent\n      restartPolicy: Always\n      terminationGracePeriodSeconds: 30\n      dnsPolicy: ClusterFirst\n      securityContext:\n        runAsUser: 999\n        fsGroup: 999\n      affinity:\n        podAntiAffinity:\n          preferredDuringSchedulingIgnoredDuringExecution:\n            - weight: 100\n              podAffinityTerm:\n                labelSelector:\n                  matchLabels:\n                    app.kubernetes.io/component: database\n                    app.kubernetes.io/instance: test-mysql-123\n                    app.kubernetes.io/managed-by: mysql.presslabs.org\n                    app.kubernetes.io/name: mysql\n                    app.kubernetes.io/version: 5.7.31\n                    mysql.presslabs.org/cluster: test-mysql-123\n                topologyKey: kubernetes.io/hostname\n      schedulerName: default-scheduler\n  volumeClaimTemplates:\n    - kind: PersistentVolumeClaim\n      apiVersion: v1\n      metadata:\n        name: data\n        creationTimestamp: null\n        ownerReferences:\n          - apiVersion: mysql.presslabs.org/v1alpha1\n            kind: MysqlCluster\n            name: test-mysql-123\n            uid: 5e877cc3-5167-49da-904e-820940cf1a6d\n            controller: true\n      spec:\n        accessModes:\n          - ReadWriteOnce\n        resources:\n          limits:\n            storage: 1Gi\n          requests:\n            storage: 1Gi\n        storageClassName: local-path\n        volumeMode: Filesystem\n      status:\n        phase: Pending\n  serviceName: mysql\n  podManagementPolicy: OrderedReady\n  updateStrategy:\n    type: RollingUpdate\n    rollingUpdate:\n      partition: 0\n  revisionHistoryLimit: 10\nstatus:\n  observedGeneration: 1\n  replicas: 1\n  readyReplicas: 1\n  currentReplicas: 1\n  updatedReplicas: 1\n  currentRevision: test-mysql-123-mysql-6b8f5577c7\n  updateRevision: test-mysql-123-mysql-6b8f5577c7\n  collisionCount: 0\n  availableReplicas: 1\n
                                                    "},{"location":"end-user/kpanda/workloads/pod-config/env-variables.html","title":"\u914d\u7f6e\u73af\u5883\u53d8\u91cf","text":"

                                                    \u73af\u5883\u53d8\u91cf\u662f\u6307\u5bb9\u5668\u8fd0\u884c\u73af\u5883\u4e2d\u8bbe\u5b9a\u7684\u4e00\u4e2a\u53d8\u91cf\uff0c\u7528\u4e8e\u7ed9 Pod \u6dfb\u52a0\u73af\u5883\u6807\u5fd7\u6216\u4f20\u9012\u914d\u7f6e\u7b49\uff0c\u652f\u6301\u901a\u8fc7\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\u3002

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u5728\u539f\u751f Kubernetes \u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u56fe\u5f62\u5316\u754c\u9762\u4e3a Pod \u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u914d\u7f6e\u65b9\u5f0f\uff1a

                                                    • \u952e\u503c\u5bf9\uff08Key/Value Pair\uff09\uff1a\u5c06\u81ea\u5b9a\u4e49\u7684\u952e\u503c\u5bf9\u4f5c\u4e3a\u5bb9\u5668\u7684\u73af\u5883\u53d8\u91cf
                                                    • \u8d44\u6e90\u5f15\u7528\uff08Resource\uff09\uff1a\u5c06 Container \u5b9a\u4e49\u7684\u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982\u5bb9\u5668\u7684\u5185\u5b58\u9650\u5236\u3001\u526f\u672c\u6570\u7b49
                                                    • \u53d8\u91cf/\u53d8\u91cf\u5f15\u7528\uff08Pod Field\uff09\uff1a\u5c06 Pod \u5b57\u6bb5\u4f5c\u4e3a\u73af\u5883\u53d8\u91cf\u7684\u503c\uff0c\u4f8b\u5982 Pod \u7684\u540d\u79f0
                                                    • \u914d\u7f6e\u9879\u952e\u503c\u5bfc\u5165\uff08ConfigMap key\uff09\uff1a\u5bfc\u5165\u914d\u7f6e\u9879\u4e2d\u67d0\u4e2a\u952e\u7684\u503c\u4f5c\u4e3a\u67d0\u4e2a\u73af\u5883\u53d8\u91cf\u7684\u503c
                                                    • \u5bc6\u94a5\u952e\u503c\u5bfc\u5165\uff08Secret Key\uff09\uff1a\u4f7f\u7528\u6765\u81ea Secret \u4e2d\u7684\u6570\u636e\u5b9a\u4e49\u73af\u5883\u53d8\u91cf\u7684\u503c
                                                    • \u5bc6\u94a5\u5bfc\u5165\uff08Secret\uff09\uff1a\u5c06 Secret \u4e2d\u7684\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf
                                                    • \u914d\u7f6e\u9879\u5bfc\u5165\uff08ConfigMap\uff09\uff1a\u5c06\u914d\u7f6e\u9879\u4e2d\u6240\u6709\u952e\u503c\u90fd\u5bfc\u5165\u4e3a\u73af\u5883\u53d8\u91cf
                                                    "},{"location":"end-user/kpanda/workloads/pod-config/health-check.html","title":"\u5bb9\u5668\u7684\u5065\u5eb7\u68c0\u67e5","text":"

                                                    \u5bb9\u5668\u5065\u5eb7\u68c0\u67e5\u6839\u636e\u7528\u6237\u9700\u6c42\uff0c\u68c0\u67e5\u5bb9\u5668\u7684\u5065\u5eb7\u72b6\u51b5\u3002\u914d\u7f6e\u540e\uff0c\u5bb9\u5668\u5185\u7684\u5e94\u7528\u7a0b\u5e8f\u5165\u5982\u679c\u5f02\u5e38\uff0c\u5bb9\u5668\u4f1a\u81ea\u52a8\u8fdb\u884c\u91cd\u542f\u6062\u590d\u3002Kubernetes \u63d0\u4f9b\u4e86\u5b58\u6d3b\uff08Liveness\uff09\u68c0\u67e5\u3001\u5c31\u7eea\uff08Readiness\uff09\u68c0\u67e5\u548c\u542f\u52a8\uff08Startup\uff09\u68c0\u67e5\u3002

                                                    • \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09 \u53ef\u63a2\u6d4b\u5230\u5e94\u7528\u6b7b\u9501\uff08\u5e94\u7528\u7a0b\u5e8f\u5728\u8fd0\u884c\uff0c\u4f46\u662f\u65e0\u6cd5\u7ee7\u7eed\u6267\u884c\u540e\u9762\u7684\u6b65\u9aa4\uff09\u60c5\u51b5\u3002 \u91cd\u542f\u8fd9\u79cd\u72b6\u6001\u4e0b\u7684\u5bb9\u5668\u6709\u52a9\u4e8e\u63d0\u9ad8\u5e94\u7528\u7684\u53ef\u7528\u6027\uff0c\u5373\u4f7f\u5176\u4e2d\u5b58\u5728\u7f3a\u9677\u3002

                                                    • \u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09 \u53ef\u63a2\u77e5\u5bb9\u5668\u4f55\u65f6\u51c6\u5907\u597d\u63a5\u53d7\u8bf7\u6c42\u6d41\u91cf\uff0c\u5f53\u4e00\u4e2a Pod \u5185\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5c31\u7eea\u65f6\uff0c\u624d\u80fd\u8ba4\u4e3a\u8be5 Pod \u5c31\u7eea\u3002 \u8fd9\u79cd\u4fe1\u53f7\u7684\u4e00\u4e2a\u7528\u9014\u5c31\u662f\u63a7\u5236\u54ea\u4e2a Pod \u4f5c\u4e3a Service \u7684\u540e\u7aef\u3002 \u82e5 Pod \u5c1a\u672a\u5c31\u7eea\uff0c\u4f1a\u88ab\u4ece Service \u7684\u8d1f\u8f7d\u5747\u8861\u5668\u4e2d\u5254\u9664\u3002

                                                    • \u542f\u52a8\u68c0\u67e5\uff08StartupProbe\uff09 \u53ef\u4ee5\u4e86\u89e3\u5e94\u7528\u5bb9\u5668\u4f55\u65f6\u542f\u52a8\uff0c\u914d\u7f6e\u540e\uff0c\u53ef\u63a7\u5236\u5bb9\u5668\u5728\u542f\u52a8\u6210\u529f\u540e\u518d\u8fdb\u884c\u5b58\u6d3b\u6027\u548c\u5c31\u7eea\u6001\u68c0\u67e5\uff0c \u786e\u4fdd\u8fd9\u4e9b\u5b58\u6d3b\u3001\u5c31\u7eea\u63a2\u6d4b\u5668\u4e0d\u4f1a\u5f71\u54cd\u5e94\u7528\u7684\u542f\u52a8\u3002 \u542f\u52a8\u63a2\u6d4b\u53ef\u4ee5\u7528\u4e8e\u5bf9\u6162\u542f\u52a8\u5bb9\u5668\u8fdb\u884c\u5b58\u6d3b\u6027\u68c0\u6d4b\uff0c\u907f\u514d\u5b83\u4eec\u5728\u542f\u52a8\u8fd0\u884c\u4e4b\u524d\u5c31\u88ab\u6740\u6389\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/health-check.html#_2","title":"\u5b58\u6d3b\u548c\u5c31\u7eea\u68c0\u67e5","text":"

                                                    \u5b58\u6d3b\u68c0\u67e5\uff08LivenessProbe\uff09\u7684\u914d\u7f6e\u548c\u5c31\u7eea\u68c0\u67e5\uff08ReadinessProbe\uff09\u7684\u914d\u7f6e\u53c2\u6570\u76f8\u4f3c\uff0c \u552f\u4e00\u533a\u522b\u662f\u8981\u4f7f\u7528 readinessProbe \u5b57\u6bb5\uff0c\u800c\u4e0d\u662f livenessProbe \u5b57\u6bb5\u3002

                                                    HTTP GET \u53c2\u6570\u8bf4\u660e\uff1a

                                                    \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u8def\u5f84\uff08 Path\uff09 \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\u3002\u5982\uff1a \u793a\u4f8b\u4e2d\u7684 /healthz \u8def\u5f84 \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u534f\u8bae \u8bbf\u95ee\u534f\u8bae\uff0cHttp \u6216\u8005Https \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002 \u6210\u529f\u9608\u503c\uff08successThreshold\uff09 \u63a2\u6d4b\u5931\u8d25\u540e\uff0c\u88ab\u89c6\u4e3a\u6210\u529f\u7684\u6700\u5c0f\u8fde\u7eed\u6210\u529f\u6570\u3002\u9ed8\u8ba4\u503c\u662f 1\uff0c\u6700\u5c0f\u503c\u662f 1\u3002\u5b58\u6d3b\u548c\u542f\u52a8\u63a2\u6d4b\u7684\u8fd9\u4e2a\u503c\u5fc5\u987b\u662f 1\u3002 \u6700\u5927\u5931\u8d25\u6b21\u6570\uff08failureThreshold\uff09 \u5f53\u63a2\u6d4b\u5931\u8d25\u65f6\u91cd\u8bd5\u7684\u6b21\u6570\u3002\u5b58\u6d3b\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03\u5c31\u610f\u5473\u7740\u91cd\u65b0\u542f\u52a8\u5bb9\u5668\u3002\u5c31\u7eea\u63a2\u6d4b\u60c5\u51b5\u4e0b\u7684\u653e\u5f03 Pod \u4f1a\u88ab\u6253\u4e0a\u672a\u5c31\u7eea\u7684\u6807\u7b7e\u3002\u9ed8\u8ba4\u503c\u662f 3\u3002\u6700\u5c0f\u503c\u662f 1\u3002"},{"location":"end-user/kpanda/workloads/pod-config/health-check.html#http-get","title":"\u4f7f\u7528 HTTP GET \u8bf7\u6c42\u68c0\u67e5","text":"

                                                    YAML \u793a\u4f8b\uff1a

                                                    apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-http\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/liveness\n    args:\n    - /server\n    livenessProbe:\n      httpGet:\n        path: /healthz  # \u8bbf\u95ee\u7684\u8bf7\u6c42\u8def\u5f84\n        port: 8080  # \u670d\u52a1\u76d1\u542c\u7aef\u53e3\n        httpHeaders:\n        - name: Custom-Header\n          value: Awesome\n      initialDelaySeconds: 3  # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u5e94\u8be5\u7b49\u5f85 3 \u79d2\n      periodSeconds: 3   # kubelet \u6bcf\u9694 3 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                                                    \u6309\u7167\u8bbe\u5b9a\u7684\u89c4\u5219\uff0cubelet \u5411\u5bb9\u5668\u5185\u8fd0\u884c\u7684\u670d\u52a1\uff08\u670d\u52a1\u5728\u76d1\u542c 8080 \u7aef\u53e3\uff09\u53d1\u9001\u4e00\u4e2a HTTP GET \u8bf7\u6c42\u6765\u6267\u884c\u63a2\u6d4b\u3002\u5982\u679c\u670d\u52a1\u5668\u4e0a /healthz \u8def\u5f84\u4e0b\u7684\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u6210\u529f\u4ee3\u7801\uff0c\u5219 kubelet \u8ba4\u4e3a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de\u5931\u8d25\u4ee3\u7801\uff0c\u5219 kubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u5c06\u5176\u91cd\u542f\u3002\u8fd4\u56de\u5927\u4e8e\u6216\u7b49\u4e8e 200 \u5e76\u4e14\u5c0f\u4e8e 400 \u7684\u4efb\u4f55\u4ee3\u7801\u90fd\u6807\u793a\u6210\u529f\uff0c\u5176\u5b83\u8fd4\u56de\u4ee3\u7801\u90fd\u6807\u793a\u5931\u8d25\u3002 \u5bb9\u5668\u5b58\u6d3b\u671f\u95f4\u7684\u6700\u5f00\u59cb 10 \u79d2\u4e2d\uff0c /healthz \u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 200 \u7684\u72b6\u6001\u7801\u3002 \u4e4b\u540e\u5904\u7406\u7a0b\u5e8f\u8fd4\u56de 500 \u7684\u72b6\u6001\u7801\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/health-check.html#tcp","title":"\u4f7f\u7528 TCP \u7aef\u53e3\u68c0\u67e5","text":"

                                                    TCP \u7aef\u53e3\u53c2\u6570\u8bf4\u660e\uff1a

                                                    \u53c2\u6570 \u53c2\u6570\u8bf4\u660e \u7aef\u53e3(Port) \u670d\u52a1\u76d1\u542c\u7aef\u53e3\u3002 \u5982\uff1a \u793a\u4f8b\u4e2d\u7684 8080 \u7aef\u53e3 \u5ef6\u8fdf\u65f6\u95f4\uff08initialDelaySeconds\uff09 \u5ef6\u8fdf\u68c0\u67e5\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\uff0c\u6b64\u8bbe\u7f6e\u4e0e\u4e1a\u52a1\u7a0b\u5e8f\u6b63\u5e38\u542f\u52a8\u65f6\u95f4\u76f8\u5173\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a30\uff0c\u8868\u660e\u5bb9\u5668\u542f\u52a8\u540e30\u79d2\u624d\u5f00\u59cb\u5065\u5eb7\u68c0\u67e5\uff0c\u8be5\u65f6\u95f4\u662f\u9884\u7559\u7ed9\u4e1a\u52a1\u7a0b\u5e8f\u542f\u52a8\u7684\u65f6\u95f4\u3002 \u8d85\u65f6\u65f6\u95f4\uff08timeoutSeconds\uff09 \u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002\u4f8b\u5982\uff0c\u8bbe\u7f6e\u4e3a10\uff0c\u8868\u660e\u6267\u884c\u5065\u5eb7\u68c0\u67e5\u7684\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a10\u79d2\uff0c\u5982\u679c\u8d85\u8fc7\u8fd9\u4e2a\u65f6\u95f4\uff0c\u672c\u6b21\u5065\u5eb7\u68c0\u67e5\u5c31\u88ab\u89c6\u4e3a\u5931\u8d25\u3002\u82e5\u8bbe\u7f6e\u4e3a0\u6216\u4e0d\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u8d85\u65f6\u7b49\u5f85\u65f6\u95f4\u4e3a1\u79d2\u3002

                                                    \u5bf9\u4e8e\u63d0\u4f9bTCP\u901a\u4fe1\u670d\u52a1\u7684\u5bb9\u5668\uff0c\u57fa\u4e8e\u6b64\u914d\u7f6e\uff0c\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\u96c6\u7fa4\u5bf9\u8be5\u5bb9\u5668\u5efa\u7acbTCP\u8fde\u63a5\uff0c\u5982\u679c\u8fde\u63a5\u6210\u529f\uff0c\u5219\u8bc1\u660e\u63a2\u6d4b\u6210\u529f\uff0c\u5426\u5219\u63a2\u6d4b\u5931\u8d25\u3002\u9009\u62e9TCP\u7aef\u53e3\u63a2\u6d4b\u65b9\u5f0f\uff0c\u5fc5\u987b\u6307\u5b9a\u5bb9\u5668\u76d1\u542c\u7684\u7aef\u53e3\u3002

                                                    YAML \u793a\u4f8b\uff1a

                                                    apiVersion: v1\nkind: Pod\nmetadata:\n  name: goproxy\n  labels:\n    app: goproxy\nspec:\n  containers:\n  - name: goproxy\n    image: k8s.gcr.io/goproxy:0.1\n    ports:\n    - containerPort: 8080\n    readinessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 5\n      periodSeconds: 10\n    livenessProbe:\n      tcpSocket:\n        port: 8080\n      initialDelaySeconds: 15\n      periodSeconds: 20\n

                                                    \u6b64\u793a\u4f8b\u540c\u65f6\u4f7f\u7528\u5c31\u7eea\u548c\u5b58\u6d3b\u63a2\u9488\u3002kubelet \u5728\u5bb9\u5668\u542f\u52a8 5 \u79d2\u540e\u53d1\u9001\u7b2c\u4e00\u4e2a\u5c31\u7eea\u63a2\u6d4b\u3002 \u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\uff0c \u5982\u679c\u63a2\u6d4b\u6210\u529f\uff0c\u8fd9\u4e2a Pod \u4f1a\u88ab\u6807\u8bb0\u4e3a\u5c31\u7eea\u72b6\u6001\uff0ckubelet \u5c06\u7ee7\u7eed\u6bcf\u9694 10 \u79d2\u8fd0\u884c\u4e00\u6b21\u68c0\u6d4b\u3002

                                                    \u9664\u4e86\u5c31\u7eea\u63a2\u6d4b\uff0c\u8fd9\u4e2a\u914d\u7f6e\u5305\u62ec\u4e86\u4e00\u4e2a\u5b58\u6d3b\u63a2\u6d4b\u3002 kubelet \u4f1a\u5728\u5bb9\u5668\u542f\u52a8 15 \u79d2\u540e\u8fdb\u884c\u7b2c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\u3002 \u5c31\u7eea\u63a2\u6d4b\u4f1a\u5c1d\u8bd5\u8fde\u63a5 goproxy \u5bb9\u5668\u7684 8080 \u7aef\u53e3\u3002 \u5982\u679c\u5b58\u6d3b\u63a2\u6d4b\u5931\u8d25\uff0c\u5bb9\u5668\u4f1a\u88ab\u91cd\u65b0\u542f\u52a8\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/health-check.html#_3","title":"\u6267\u884c\u547d\u4ee4\u68c0\u67e5","text":"

                                                    YAML \u793a\u4f8b:

                                                    apiVersion: v1\nkind: Pod\nmetadata:\n  labels:\n    test: liveness\n  name: liveness-exec\nspec:\n  containers:\n  - name: liveness\n    image: k8s.gcr.io/busybox\n    args:\n    - /bin/sh\n    - -c\n    - touch /tmp/healthy; sleep 30; rm -f /tmp/healthy; sleep 600\n    livenessProbe:\n      exec:\n        command:\n        - cat\n        - /tmp/healthy\n      initialDelaySeconds: 5 # kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\n      periodSeconds: 5  #kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\n

                                                    periodSeconds \u5b57\u6bb5\u6307\u5b9a\u4e86 kubelet \u6bcf 5 \u79d2\u6267\u884c\u4e00\u6b21\u5b58\u6d3b\u63a2\u6d4b\uff0c initialDelaySeconds \u5b57\u6bb5\u6307\u5b9a kubelet \u5728\u6267\u884c\u7b2c\u4e00\u6b21\u63a2\u6d4b\u524d\u7b49\u5f85 5 \u79d2\u3002\u6309\u7167\u8bbe\u5b9a\u89c4\u5219\uff0c\u96c6\u7fa4\u5468\u671f\u6027\u7684\u901a\u8fc7 kubelet \u5728\u5bb9\u5668\u5185\u6267\u884c\u547d\u4ee4 cat /tmp/healthy \u6765\u8fdb\u884c\u63a2\u6d4b\u3002 \u5982\u679c\u547d\u4ee4\u6267\u884c\u6210\u529f\u5e76\u4e14\u8fd4\u56de\u503c\u4e3a 0\uff0ckubelet \u5c31\u4f1a\u8ba4\u4e3a\u8fd9\u4e2a\u5bb9\u5668\u662f\u5065\u5eb7\u5b58\u6d3b\u7684\u3002 \u5982\u679c\u8fd9\u4e2a\u547d\u4ee4\u8fd4\u56de\u975e 0 \u503c\uff0ckubelet \u4f1a\u6740\u6b7b\u8fd9\u4e2a\u5bb9\u5668\u5e76\u91cd\u65b0\u542f\u52a8\u5b83\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/health-check.html#_4","title":"\u4f7f\u7528\u542f\u52a8\u524d\u68c0\u67e5\u4fdd\u62a4\u6162\u542f\u52a8\u5bb9\u5668","text":"

                                                    \u6709\u4e9b\u5e94\u7528\u5728\u542f\u52a8\u65f6\u9700\u8981\u8f83\u957f\u7684\u521d\u59cb\u5316\u65f6\u95f4\uff0c\u9700\u8981\u4f7f\u7528\u76f8\u540c\u7684\u547d\u4ee4\u6765\u8bbe\u7f6e\u542f\u52a8\u63a2\u6d4b\uff0c\u9488\u5bf9 HTTP \u6216 TCP \u68c0\u6d4b\uff0c\u53ef\u4ee5\u901a\u8fc7\u5c06 failureThreshold * periodSeconds \u53c2\u6570\u8bbe\u7f6e\u4e3a\u8db3\u591f\u957f\u7684\u65f6\u95f4\u6765\u5e94\u5bf9\u542f\u52a8\u9700\u8981\u8f83\u957f\u65f6\u95f4\u7684\u573a\u666f\u3002

                                                    YAML \u793a\u4f8b\uff1a

                                                    ports:\n- name: liveness-port\n  containerPort: 8080\n  hostPort: 8080\n\nlivenessProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 1\n  periodSeconds: 10\n\nstartupProbe:\n  httpGet:\n    path: /healthz\n    port: liveness-port\n  failureThreshold: 30\n  periodSeconds: 10\n

                                                    \u5982\u4e0a\u8bbe\u7f6e\uff0c\u5e94\u7528\u5c06\u6709\u6700\u591a 5 \u5206\u949f\uff0830 * 10 = 300s\uff09\u7684\u65f6\u95f4\u6765\u5b8c\u6210\u542f\u52a8\u8fc7\u7a0b\uff0c \u4e00\u65e6\u542f\u52a8\u63a2\u6d4b\u6210\u529f\uff0c\u5b58\u6d3b\u63a2\u6d4b\u4efb\u52a1\u5c31\u4f1a\u63a5\u7ba1\u5bf9\u5bb9\u5668\u7684\u63a2\u6d4b\uff0c\u5bf9\u5bb9\u5668\u6b7b\u9501\u4f5c\u51fa\u5feb\u901f\u54cd\u5e94\u3002 \u5982\u679c\u542f\u52a8\u63a2\u6d4b\u4e00\u76f4\u6ca1\u6709\u6210\u529f\uff0c\u5bb9\u5668\u4f1a\u5728 300 \u79d2\u540e\u88ab\u6740\u6b7b\uff0c\u5e76\u4e14\u6839\u636e restartPolicy \u6765 \u6267\u884c\u8fdb\u4e00\u6b65\u5904\u7f6e\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/job-parameters.html","title":"\u4efb\u52a1\u53c2\u6570\u8bf4\u660e","text":"

                                                    \u6839\u636e .spec.completions \u548c .spec.Parallelism \u7684\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u5c06\u4efb\u52a1\uff08Job\uff09\u5212\u5206\u4e3a\u4ee5\u4e0b\u51e0\u79cd\u7c7b\u578b:

                                                    Job \u7c7b\u578b \u8bf4\u660e \u975e\u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176 Job \u6210\u529f\u7ed3\u675f \u5177\u6709\u786e\u5b9a\u5b8c\u6210\u8ba1\u6570\u7684\u5e76\u884c Job \u5f53\u6210\u529f\u7684 Pod \u4e2a\u6570\u8fbe\u5230 .spec.completions \u65f6\uff0cJob \u88ab\u89c6\u4e3a\u5b8c\u6210 \u5e76\u884c Job \u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a Pod \u76f4\u81f3\u6709\u4e00\u4e2a\u6210\u529f\u7ed3\u675f

                                                    \u53c2\u6570\u8bf4\u660e

                                                    RestartPolicy \u521b\u5efa\u4e00\u4e2a Pod \u76f4\u81f3\u5176\u6210\u529f\u7ed3\u675f .spec.completions \u8868\u793a Job \u7ed3\u675f\u9700\u8981\u6210\u529f\u8fd0\u884c\u7684 Pod \u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 .spec.parallelism \u8868\u793a\u5e76\u884c\u8fd0\u884c\u7684 Pod \u7684\u4e2a\u6570\uff0c\u9ed8\u8ba4\u4e3a 1 spec.backoffLimit \u8868\u793a\u5931\u8d25 Pod \u7684\u91cd\u8bd5\u6700\u5927\u6b21\u6570\uff0c\u8d85\u8fc7\u8fd9\u4e2a\u6b21\u6570\u4e0d\u4f1a\u7ee7\u7eed\u91cd\u8bd5\u3002 .spec.activeDeadlineSeconds \u8868\u793a Pod \u8fd0\u884c\u65f6\u95f4\uff0c\u4e00\u65e6\u8fbe\u5230\u8fd9\u4e2a\u65f6\u95f4\uff0cJob \u5373\u5176\u6240\u6709\u7684 Pod \u90fd\u4f1a\u505c\u6b62\u3002\u4e14activeDeadlineSeconds \u4f18\u5148\u7ea7\u9ad8\u4e8e backoffLimit\uff0c\u5373\u5230\u8fbe activeDeadlineSeconds \u7684 Job \u4f1a\u5ffd\u7565backoffLimit \u7684\u8bbe\u7f6e\u3002

                                                    \u4ee5\u4e0b\u662f\u4e00\u4e2a Job \u914d\u7f6e\u793a\u4f8b\uff0c\u4fdd\u5b58\u5728 myjob.yaml \u4e2d\uff0c\u5176\u8ba1\u7b97 \u03c0 \u5230 2000 \u4f4d\u5e76\u6253\u5370\u8f93\u51fa\u3002

                                                    apiVersion: batch/v1\nkind: Job            # \u5f53\u524d\u8d44\u6e90\u7684\u7c7b\u578b\nmetadata:\n  name: myjob\nspec:\n  completions: 50        # Job\u7ed3\u675f\u9700\u8981\u8fd0\u884c50\u4e2aPod\uff0c\u8fd9\u4e2a\u793a\u4f8b\u4e2d\u5c31\u662f\u6253\u5370\u03c0 50\u6b21\n  parallelism: 5        # \u5e76\u884c5\u4e2aPod\n  backoffLimit: 5        # \u6700\u591a\u91cd\u8bd55\u6b21\n  template:\n    spec:\n      containers:\n      - name: pi\n        image: perl\n        command: [\"perl\",  \"-Mbignum=bpi\", \"-wle\", \"print bpi(2000)\"]\n      restartPolicy: Never #\u91cd\u542f\u7b56\u7565\n

                                                    \u76f8\u5173\u547d\u4ee4

                                                    kubectl apply -f myjob.yaml  #\u542f\u52a8 job\nkubectl get job #\u67e5\u770b\u8fd9\u4e2ajob\nkubectl logs myjob-1122dswzs \u67e5\u770bJob Pod \u7684\u65e5\u5fd7\n
                                                    "},{"location":"end-user/kpanda/workloads/pod-config/lifecycle.html","title":"\u914d\u7f6e\u5bb9\u5668\u751f\u547d\u5468\u671f","text":"

                                                    Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c Pod \u5185\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \u72b6\u6001\u3002\u5982\u679c Pod \u4e2d\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\uff0c\u5219\u72b6\u6001\u53d8\u4e3a Failed \u3002\u4ee5\u4e0b phase \u5b57\u6bb5\u503c\u8868\u660e\u4e86\u4e00\u4e2a Pod \u5904\u4e8e\u751f\u547d\u5468\u671f\u7684\u54ea\u4e2a\u9636\u6bb5\u3002

                                                    \u503c \u63cf\u8ff0 Pending \uff08\u60ac\u51b3\uff09 Pod \u5df2\u88ab\u7cfb\u7edf\u63a5\u53d7\uff0c\u4f46\u6709\u4e00\u4e2a\u6216\u8005\u591a\u4e2a\u5bb9\u5668\u5c1a\u672a\u521b\u5efa\u4ea6\u672a\u8fd0\u884c\u3002\u8fd9\u4e2a\u9636\u6bb5\u5305\u62ec\u7b49\u5f85 Pod \u88ab\u8c03\u5ea6\u7684\u65f6\u95f4\u548c\u901a\u8fc7\u7f51\u7edc\u4e0b\u8f7d\u955c\u50cf\u7684\u65f6\u95f4\u3002 Running \uff08\u8fd0\u884c\u4e2d\uff09 Pod \u5df2\u7ecf\u7ed1\u5b9a\u5230\u4e86\u67d0\u4e2a\u8282\u70b9\uff0cPod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u88ab\u521b\u5efa\u3002\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u4ecd\u5728\u8fd0\u884c\uff0c\u6216\u8005\u6b63\u5904\u4e8e\u542f\u52a8\u6216\u91cd\u542f\u72b6\u6001\u3002 Succeeded \uff08\u6210\u529f\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u6210\u529f\u7ec8\u6b62\uff0c\u5e76\u4e14\u4e0d\u4f1a\u518d\u91cd\u542f\u3002 Failed \uff08\u5931\u8d25\uff09 Pod \u4e2d\u7684\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u7ec8\u6b62\uff0c\u5e76\u4e14\u81f3\u5c11\u6709\u4e00\u4e2a\u5bb9\u5668\u662f\u56e0\u4e3a\u5931\u8d25\u800c\u7ec8\u6b62\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u5bb9\u5668\u4ee5\u975e 0 \u72b6\u6001\u9000\u51fa\u6216\u8005\u88ab\u7cfb\u7edf\u7ec8\u6b62\u3002 Unknown \uff08\u672a\u77e5\uff09 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\uff0c\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u6240\u81f4\u3002

                                                    \u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u5bb9\u5668\u7ba1\u7406\u4e2d\u521b\u5efa\u4e00\u4e2a\u5de5\u4f5c\u8d1f\u8f7d\u65f6\uff0c\u901a\u5e38\u4f7f\u7528\u955c\u50cf\u6765\u6307\u5b9a\u5bb9\u5668\u4e2d\u7684\u8fd0\u884c\u73af\u5883\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5728\u6784\u5efa\u955c\u50cf\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 Entrypoint \u548c CMD \u4e24\u4e2a\u5b57\u6bb5\u6765\u5b9a\u4e49\u5bb9\u5668\u8fd0\u884c\u65f6\u6267\u884c\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002\u5982\u679c\u9700\u8981\u66f4\u6539\u5bb9\u5668\u955c\u50cf\u542f\u52a8\u524d\u3001\u542f\u52a8\u540e\u3001\u505c\u6b62\u524d\u7684\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u5bb9\u5668\u7684\u751f\u547d\u5468\u671f\u4e8b\u4ef6\u547d\u4ee4\u548c\u53c2\u6570\uff0c\u6765\u8986\u76d6\u955c\u50cf\u4e2d\u9ed8\u8ba4\u7684\u547d\u4ee4\u548c\u53c2\u6570\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/lifecycle.html#_2","title":"\u751f\u547d\u5468\u671f\u914d\u7f6e","text":"

                                                    \u6839\u636e\u4e1a\u52a1\u9700\u8981\u5bf9\u5bb9\u5668\u7684\u542f\u52a8\u547d\u4ee4\u3001\u542f\u52a8\u540e\u547d\u4ee4\u3001\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                                                    \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u542f\u52a8\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5c06\u6309\u7167\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u542f\u52a8\u3002 \u542f\u52a8\u540e\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u542f\u52a8\u540e\u51fa\u53d1\u7684\u547d\u4ee4 \u505c\u6b62\u524d\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u5bb9\u5668\u5728\u6536\u5230\u505c\u6b62\u547d\u4ee4\u540e\u6267\u884c\u7684\u547d\u4ee4\u3002\u786e\u4fdd\u5347\u7ea7\u6216\u5b9e\u4f8b\u5220\u9664\u65f6\u53ef\u63d0\u524d\u5c06\u5b9e\u4f8b\u4e2d\u8fd0\u884c\u7684\u4e1a\u52a1\u6392\u6c34\u3002"},{"location":"end-user/kpanda/workloads/pod-config/lifecycle.html#_3","title":"\u542f\u52a8\u547d\u4ee4","text":"

                                                    \u6839\u636e\u4e0b\u8868\u5bf9\u542f\u52a8\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002

                                                    \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"end-user/kpanda/workloads/pod-config/lifecycle.html#_4","title":"\u542f\u52a8\u540e\u547d\u4ee4","text":"

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u542f\u52a8\u540e\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                                                    \u547d\u4ee4\u884c\u811a\u672c\u914d\u7f6e

                                                    \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c \u8fd0\u884c\u547d\u4ee4 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u591a\u4e2a\u547d\u4ee4\u4e4b\u95f4\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u5272\uff0c\u5982\u547d\u4ee4\u672c\u8eab\u5e26\u7a7a\u683c\uff0c\u5219\u9700\u8981\u52a0\uff08\u201c\u201d\uff09\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u8fd0\u884c\u53c2\u6570 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8f93\u5165\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u547d\u4ee4\u53c2\u6570\u3002 port=8080"},{"location":"end-user/kpanda/workloads/pod-config/lifecycle.html#_5","title":"\u505c\u6b62\u524d\u547d\u4ee4","text":"

                                                    \u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u63d0\u4f9b\u547d\u4ee4\u884c\u811a\u672c\u548c HTTP \u8bf7\u6c42\u4e24\u79cd\u5904\u7406\u7c7b\u578b\u5bf9\u505c\u6b62\u524d\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\u3002\u60a8\u53ef\u4ee5\u6839\u636e\u4e0b\u8868\u9009\u62e9\u9002\u5408\u60a8\u7684\u914d\u7f6e\u65b9\u5f0f\u3002

                                                    HTTP \u8bf7\u6c42\u914d\u7f6e

                                                    \u53c2\u6570 \u8bf4\u660e \u4e3e\u4f8b\u503c URL \u8def\u5f84 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684URL\u8def\u5f84\u3002\u3010\u542b\u4e49\u3011\u591a\u547d\u4ee4\u65f6\uff0c\u8fd0\u884c\u547d\u4ee4\u5efa\u8bae\u7528/bin/sh\u6216\u5176\u4ed6\u7684shell\uff0c\u5176\u4ed6\u5168\u90e8\u547d\u4ee4\u4f5c\u4e3a\u53c2\u6570\u6765\u4f20\u5165\u3002 /run/server \u7aef\u53e3 \u3010\u7c7b\u578b\u3011\u5fc5\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684\u7aef\u53e3\u3002 port=8080 \u8282\u70b9\u5730\u5740 \u3010\u7c7b\u578b\u3011\u9009\u586b\u3010\u542b\u4e49\u3011\u8bf7\u6c42\u7684 IP \u5730\u5740\uff0c\u9ed8\u8ba4\u662f\u5bb9\u5668\u6240\u5728\u7684\u8282\u70b9 IP\u3002"},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html","title":"\u8c03\u5ea6\u7b56\u7565","text":"

                                                    \u5728 Kubernetes \u96c6\u7fa4\u4e2d\uff0c\u8282\u70b9\u4e5f\u6709\u6807\u7b7e\u3002\u60a8\u53ef\u4ee5\u624b\u52a8\u6dfb\u52a0\u6807\u7b7e\u3002 Kubernetes \u4e5f\u4f1a\u4e3a\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u6dfb\u52a0\u4e00\u4e9b\u6807\u51c6\u7684\u6807\u7b7e\u3002\u53c2\u89c1\u5e38\u7528\u7684\u6807\u7b7e\u3001\u6ce8\u89e3\u548c\u6c61\u70b9\u4ee5\u4e86\u89e3\u5e38\u89c1\u7684\u8282\u70b9\u6807\u7b7e\u3002\u901a\u8fc7\u4e3a\u8282\u70b9\u6dfb\u52a0\u6807\u7b7e\uff0c\u60a8\u53ef\u4ee5\u8ba9 Pod \u8c03\u5ea6\u5230\u7279\u5b9a\u8282\u70b9\u6216\u8282\u70b9\u7ec4\u4e0a\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u529f\u80fd\u6765\u786e\u4fdd\u7279\u5b9a\u7684 Pod \u53ea\u80fd\u8fd0\u884c\u5728\u5177\u6709\u4e00\u5b9a\u9694\u79bb\u6027\uff0c\u5b89\u5168\u6027\u6216\u76d1\u7ba1\u5c5e\u6027\u7684\u8282\u70b9\u4e0a\u3002

                                                    nodeSelector \u662f\u8282\u70b9\u9009\u62e9\u7ea6\u675f\u7684\u6700\u7b80\u5355\u63a8\u8350\u5f62\u5f0f\u3002\u60a8\u53ef\u4ee5\u5c06 nodeSelector \u5b57\u6bb5\u6dfb\u52a0\u5230 Pod \u7684\u89c4\u7ea6\u4e2d\u8bbe\u7f6e\u60a8\u5e0c\u671b\u76ee\u6807\u8282\u70b9\u6240\u5177\u6709\u7684\u8282\u70b9\u6807\u7b7e\u3002Kubernetes \u53ea\u4f1a\u5c06 Pod \u8c03\u5ea6\u5230\u62e5\u6709\u6307\u5b9a\u6bcf\u4e2a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002 nodeSelector \u63d0\u4f9b\u4e86\u4e00\u79cd\u6700\u7b80\u5355\u7684\u65b9\u6cd5\u6765\u5c06 Pod \u7ea6\u675f\u5230\u5177\u6709\u7279\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u4e0a\u3002\u4eb2\u548c\u6027\u548c\u53cd\u4eb2\u548c\u6027\u6269\u5c55\u4e86\u60a8\u53ef\u4ee5\u5b9a\u4e49\u7684\u7ea6\u675f\u7c7b\u578b\u3002\u4f7f\u7528\u4eb2\u548c\u6027\u4e0e\u53cd\u4eb2\u548c\u6027\u7684\u4e00\u4e9b\u597d\u5904\u6709\uff1a

                                                    • \u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u8bed\u8a00\u7684\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002 nodeSelector \u53ea\u80fd\u9009\u62e9\u62e5\u6709\u6240\u6709\u6307\u5b9a\u6807\u7b7e\u7684\u8282\u70b9\u3002\u4eb2\u548c\u6027\u3001\u53cd\u4eb2\u548c\u6027\u4e3a\u60a8\u63d0\u4f9b\u5bf9\u9009\u62e9\u903b\u8f91\u7684\u66f4\u5f3a\u63a7\u5236\u80fd\u529b\u3002

                                                    • \u60a8\u53ef\u4ee5\u6807\u660e\u67d0\u89c4\u5219\u662f\u201c\u8f6f\u9700\u6c42\u201d\u6216\u8005\u201c\u504f\u597d\u201d\uff0c\u8fd9\u6837\u8c03\u5ea6\u5668\u5728\u65e0\u6cd5\u627e\u5230\u5339\u914d\u8282\u70b9\u65f6\uff0c\u4f1a\u5ffd\u7565\u4eb2\u548c\u6027/\u53cd\u4eb2\u548c\u6027\u89c4\u5219\uff0c\u786e\u4fdd Pod \u8c03\u5ea6\u6210\u529f\u3002

                                                    • \u60a8\u53ef\u4ee5\u4f7f\u7528\u8282\u70b9\u4e0a\uff08\u6216\u5176\u4ed6\u62d3\u6251\u57df\u4e2d\uff09\u8fd0\u884c\u7684\u5176\u4ed6 Pod \u7684\u6807\u7b7e\u6765\u5b9e\u65bd\u8c03\u5ea6\u7ea6\u675f\uff0c\u800c\u4e0d\u662f\u53ea\u80fd\u4f7f\u7528\u8282\u70b9\u672c\u8eab\u7684\u6807\u7b7e\u3002\u8fd9\u4e2a\u80fd\u529b\u8ba9\u60a8\u80fd\u591f\u5b9a\u4e49\u89c4\u5219\u5141\u8bb8\u54ea\u4e9b Pod \u53ef\u4ee5\u88ab\u653e\u7f6e\u5728\u4e00\u8d77\u3002

                                                    \u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u4eb2\u548c\uff08affinity\uff09\u4e0e\u53cd\u4eb2\u548c\uff08anti-affinity\uff09\u6765\u9009\u62e9 Pod \u8981\u90e8\u7f72\u7684\u8282\u70b9\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_2","title":"\u5bb9\u5fcd\u65f6\u95f4","text":"

                                                    \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5b9e\u4f8b\u6240\u5728\u7684\u8282\u70b9\u4e0d\u53ef\u7528\u65f6\uff0c\u7cfb\u7edf\u5c06\u5b9e\u4f8b\u91cd\u65b0\u8c03\u5ea6\u5230\u5176\u5b83\u53ef\u7528\u8282\u70b9\u7684\u65f6\u95f4\u7a97\u3002\u9ed8\u8ba4\u4e3a 300 \u79d2\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#nodeaffinity","title":"\u8282\u70b9\u4eb2\u548c\u6027\uff08nodeAffinity\uff09","text":"

                                                    \u8282\u70b9\u4eb2\u548c\u6027\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u5b83\u4f7f\u60a8\u53ef\u4ee5\u6839\u636e\u8282\u70b9\u4e0a\u7684\u6807\u7b7e\u6765\u7ea6\u675f Pod \u53ef\u4ee5\u8c03\u5ea6\u5230\u54ea\u4e9b\u8282\u70b9\u4e0a\u3002 \u8282\u70b9\u4eb2\u548c\u6027\u6709\u4e24\u79cd\uff1a

                                                    • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                                                    • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_3","title":"\u6807\u7b7e\u540d","text":"

                                                    \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_4","title":"\u64cd\u4f5c\u7b26","text":"
                                                    • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                                                    • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                                                    • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                                    • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                                    • Gt\uff1a\u6807\u7b7e\u7684\u503c\u5927\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                                                    • Lt\uff1a\u6807\u7b7e\u7684\u503c\u5c0f\u4e8e\u67d0\u4e2a\u503c\uff08\u5b57\u7b26\u4e32\u6bd4\u8f83\uff09
                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_5","title":"\u6743\u91cd","text":"

                                                    \u4ec5\u652f\u6301\u5728\u201c\u5c3d\u91cf\u6ee1\u8db3\u201d\u7b56\u7565\u4e2d\u6dfb\u52a0\uff0c\u53ef\u4ee5\u7406\u89e3\u4e3a\u8c03\u5ea6\u7684\u4f18\u5148\u7ea7\uff0c\u6743\u91cd\u5927\u7684\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u53d6\u503c\u8303\u56f4\u662f 1 \u5230 100\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_6","title":"\u5de5\u4f5c\u8d1f\u8f7d\u4eb2\u548c\u6027","text":"

                                                    \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                                                    • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                                                    • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                                                    \u5de5\u4f5c\u8d1f\u8f7d\u7684\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u53ef\u4ee5\u548c\u54ea\u4e9b Pod\u90e8 \u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5bf9\u4e8e\u76f8\u4e92\u901a\u4fe1\u7684\u670d\u52a1\uff0c\u53ef\u901a\u8fc7\u5e94\u7528\u4eb2\u548c\u6027\u8c03\u5ea6\uff0c\u5c06\u5176\u90e8\u7f72\u5230\u540c\u4e00\u62d3\u6251\u57df\uff08\u5982\u540c\u4e00\u53ef\u7528\u533a\uff09\u4e2d\uff0c\u51cf\u5c11\u5b83\u4eec\u4e4b\u95f4\u7684\u7f51\u7edc\u5ef6\u8fdf\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_7","title":"\u6807\u7b7e\u540d","text":"

                                                    \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_8","title":"\u547d\u540d\u7a7a\u95f4","text":"

                                                    \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_9","title":"\u64cd\u4f5c\u7b26","text":"
                                                    • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                                                    • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                                                    • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                                    • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_10","title":"\u62d3\u6251\u57df","text":"

                                                    \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_11","title":"\u5de5\u4f5c\u8d1f\u8f7d\u53cd\u4eb2\u548c\u6027","text":"

                                                    \u4e0e\u8282\u70b9\u4eb2\u548c\u6027\u7c7b\u4f3c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e5f\u6709\u4e24\u79cd\u7c7b\u578b\uff1a

                                                    • \u5fc5\u987b\u6ee1\u8db3\uff1a\uff08 requiredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u53ea\u6709\u5728\u89c4\u5219\u88ab\u6ee1\u8db3\u7684\u65f6\u5019\u624d\u80fd\u6267\u884c\u8c03\u5ea6\u3002\u6b64\u529f\u80fd\u7c7b\u4f3c\u4e8e nodeSelector \uff0c \u4f46\u5176\u8bed\u6cd5\u8868\u8fbe\u80fd\u529b\u66f4\u5f3a\u3002\u60a8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002
                                                    • \u5c3d\u91cf\u6ee1\u8db3\uff1a\uff08 preferredDuringSchedulingIgnoredDuringExecution \uff09 \u8c03\u5ea6\u5668\u4f1a\u5c1d\u8bd5\u5bfb\u627e\u6ee1\u8db3\u5bf9\u5e94\u89c4\u5219\u7684\u8282\u70b9\u3002\u5982\u679c\u627e\u4e0d\u5230\u5339\u914d\u7684\u8282\u70b9\uff0c\u8c03\u5ea6\u5668\u4ecd\u7136\u4f1a\u8c03\u5ea6\u8be5 Pod\u3002\u60a8\u8fd8\u53ef\u4e3a\u8f6f\u7ea6\u675f\u89c4\u5219\u8bbe\u5b9a\u6743\u91cd\uff0c\u5177\u4f53\u8c03\u5ea6\u65f6\uff0c\u82e5\u5b58\u5728\u591a\u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u8282\u70b9\uff0c\u6743\u91cd\u6700\u5927\u7684\u8282\u70b9\u4f1a\u88ab\u4f18\u5148\u8c03\u5ea6\u3002\u540c\u65f6\u60a8\u8fd8\u53ef\u4ee5\u5b9a\u4e49\u591a\u6761\u786c\u7ea6\u675f\u89c4\u5219\uff0c\u4f46\u53ea\u9700\u6ee1\u8db3\u5176\u4e2d\u4e00\u6761\u3002

                                                    \u5de5\u4f5c\u8d1f\u8f7d\u7684\u53cd\u4eb2\u548c\u6027\u4e3b\u8981\u7528\u6765\u51b3\u5b9a\u5de5\u4f5c\u8d1f\u8f7d\u7684 Pod \u4e0d\u53ef\u4ee5\u548c\u54ea\u4e9b Pod \u90e8\u7f72\u5728\u540c\u4e00\u62d3\u6251\u57df\u3002\u4f8b\u5982\uff0c\u5c06\u4e00\u4e2a\u8d1f\u8f7d\u7684\u76f8\u540c Pod \u5206\u6563\u90e8\u7f72\u5230\u4e0d\u540c\u7684\u62d3\u6251\u57df\uff08\u4f8b\u5982\u4e0d\u540c\u4e3b\u673a\uff09\u4e2d\uff0c\u63d0\u9ad8\u8d1f\u8f7d\u672c\u8eab\u7684\u7a33\u5b9a\u6027\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_12","title":"\u6807\u7b7e\u540d","text":"

                                                    \u5bf9\u5e94\u8282\u70b9\u7684\u6807\u7b7e\uff0c\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u7684\u6807\u7b7e\u4e5f\u53ef\u4ee5\u7528\u6237\u81ea\u5b9a\u4e49\u6807\u7b7e\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_13","title":"\u547d\u540d\u7a7a\u95f4","text":"

                                                    \u6307\u5b9a\u8c03\u5ea6\u7b56\u7565\u751f\u6548\u7684\u547d\u540d\u7a7a\u95f4\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_14","title":"\u64cd\u4f5c\u7b26","text":"
                                                    • In\uff1a\u6807\u7b7e\u503c\u9700\u8981\u5728 values \u7684\u5217\u8868\u4e2d
                                                    • NotIn\uff1a\u6807\u7b7e\u7684\u503c\u4e0d\u5728\u67d0\u4e2a\u5217\u8868\u4e2d
                                                    • Exists\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                                    • DoesNotExist\uff1a\u5224\u65ad\u67d0\u4e2a\u6807\u7b7e\u662f\u4e0d\u5b58\u5728\uff0c\u65e0\u9700\u8bbe\u7f6e\u6807\u7b7e\u503c
                                                    "},{"location":"end-user/kpanda/workloads/pod-config/scheduling-policy.html#_15","title":"\u62d3\u6251\u57df","text":"

                                                    \u6307\u5b9a\u8c03\u5ea6\u65f6\u7684\u5f71\u54cd\u8303\u56f4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6307\u5b9a\u4e3a kubernetes.io/Clustername \u8868\u793a\u4ee5 Node \u8282\u70b9\u4e3a\u533a\u5206\u8303\u56f4\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                                                    \u5de5\u4f5c\u8d1f\u8f7d\u662f\u8fd0\u884c\u5728 Kubernetes \u4e0a\u7684\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\uff0c\u5728 Kubernetes \u4e2d\uff0c\u65e0\u8bba\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\u662f\u7531\u5355\u4e2a\u540c\u4e00\u7ec4\u4ef6\u6216\u662f\u7531\u591a\u4e2a\u4e0d\u540c\u7684\u7ec4\u4ef6\u6784\u6210\uff0c\u90fd\u53ef\u4ee5\u4f7f\u7528\u4e00\u7ec4 Pod \u6765\u8fd0\u884c\u5b83\u3002Kubernetes \u63d0\u4f9b\u4e86\u4e94\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u7ba1\u7406 Pod\uff1a

                                                    • \u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                                                    • \u6709\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d
                                                    • \u5b88\u62a4\u8fdb\u7a0b
                                                    • \u4efb\u52a1
                                                    • \u5b9a\u65f6\u4efb\u52a1

                                                    \u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e\u81ea\u5b9a\u4e49\u8d44\u6e90 CRD \u6765\u5b9e\u73b0\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u7684\u6269\u5c55\u3002\u5728\u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u4e2d\uff0c\u652f\u6301\u5bf9\u5de5\u4f5c\u8d1f\u8f7d\u8fdb\u884c\u521b\u5efa\u3001\u66f4\u65b0\u3001\u6269\u5bb9\u3001\u76d1\u63a7\u3001\u65e5\u5fd7\u3001\u5220\u9664\u3001\u7248\u672c\u7ba1\u7406\u7b49\u5168\u751f\u547d\u5468\u671f\u7ba1\u7406\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html#pod","title":"Pod \u72b6\u6001","text":"

                                                    Pod \u662f Kuberneters \u4e2d\u521b\u5efa\u548c\u7ba1\u7406\u7684\u3001\u6700\u5c0f\u7684\u8ba1\u7b97\u5355\u5143\uff0c\u5373\u4e00\u7ec4\u5bb9\u5668\u7684\u96c6\u5408\u3002\u8fd9\u4e9b\u5bb9\u5668\u5171\u4eab\u5b58\u50a8\u3001\u7f51\u7edc\u4ee5\u53ca\u7ba1\u7406\u63a7\u5236\u5bb9\u5668\u8fd0\u884c\u65b9\u5f0f\u7684\u7b56\u7565\u3002 Pod \u901a\u5e38\u4e0d\u7531\u7528\u6237\u76f4\u63a5\u521b\u5efa\uff0c\u800c\u662f\u901a\u8fc7\u5de5\u4f5c\u8d1f\u8f7d\u8d44\u6e90\u6765\u521b\u5efa\u3002 Pod \u9075\u5faa\u4e00\u4e2a\u9884\u5b9a\u4e49\u7684\u751f\u547d\u5468\u671f\uff0c\u8d77\u59cb\u4e8e Pending \u9636\u6bb5\uff0c\u5982\u679c\u81f3\u5c11\u5176\u4e2d\u6709\u4e00\u4e2a\u4e3b\u8981\u5bb9\u5668\u6b63\u5e38\u542f\u52a8\uff0c\u5219\u8fdb\u5165 Running \uff0c\u4e4b\u540e\u53d6\u51b3\u4e8e Pod \u4e2d\u662f\u5426\u6709\u5bb9\u5668\u4ee5\u5931\u8d25\u72b6\u6001\u7ed3\u675f\u800c\u8fdb\u5165 Succeeded \u6216\u8005 Failed \u9636\u6bb5\u3002

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html#_2","title":"\u5de5\u4f5c\u8d1f\u8f7d\u72b6\u6001","text":"

                                                    \u7b2c\u4e94\u4ee3\u5bb9\u5668\u7ba1\u7406\u6a21\u5757\u4f9d\u636e Pod \u7684\u72b6\u6001\u3001\u526f\u672c\u6570\u7b49\u56e0\u7d20\uff0c\u8bbe\u8ba1\u4e86\u4e00\u79cd\u5185\u7f6e\u7684\u5de5\u4f5c\u8d1f\u8f7d\u751f\u547d\u5468\u671f\u7684\u72b6\u6001\u96c6\uff0c\u4ee5\u8ba9\u7528\u6237\u80fd\u591f\u66f4\u52a0\u771f\u5b9e\u7684\u611f\u77e5\u5de5\u4f5c\u8d1f\u8f7d\u8fd0\u884c\u60c5\u51b5\u3002 \u7531\u4e8e\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u7c7b\u578b\uff08\u6bd4\u5982\u65e0\u72b6\u6001\u5de5\u4f5c\u8d1f\u8f7d\u548c\u4efb\u52a1\uff09\u5bf9 Pod \u7684\u7ba1\u7406\u673a\u5236\u4e0d\u4e00\u81f4\uff0c\u56e0\u6b64\uff0c\u4e0d\u540c\u7684\u5de5\u4f5c\u8d1f\u8f7d\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u4f1a\u5448\u73b0\u4e0d\u540c\u7684\u751f\u547d\u5468\u671f\u72b6\u6001\uff0c\u5177\u4f53\u5982\u4e0b\u8868\uff1a

                                                    "},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html#_3","title":"\u65e0\u72b6\u6001\u8d1f\u8f7d\u3001\u6709\u72b6\u6001\u8d1f\u8f7d\u3001\u5b88\u62a4\u8fdb\u7a0b\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d 1. \u5de5\u4f5c\u8d1f\u8f7d\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30022. \u89e6\u53d1\u5347\u7ea7\u6216\u8005\u56de\u6eda\u52a8\u4f5c\u540e\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u30023. \u89e6\u53d1\u6682\u505c/\u6269\u7f29\u5bb9\u7b49\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u8fd0\u884c\u4e2d \u8d1f\u8f7d\u4e0b\u7684\u6240\u6709\u5b9e\u4f8b\u90fd\u5728\u8fd0\u884c\u4e2d\u4e14\u526f\u672c\u6570\u4e0e\u7528\u6237\u9884\u5b9a\u4e49\u7684\u6570\u91cf\u4e00\u81f4\u65f6\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u6267\u884c\u5220\u9664\u64cd\u4f5c\u65f6\uff0c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\uff0c\u76f4\u5230\u5220\u9664\u5b8c\u6210\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97\u5de5\u4f5c\u8d1f\u8f7d\u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002 \u672a\u5c31\u7eea \u5bb9\u5668\u5904\u4e8e\u5f02\u5e38\uff0cpending \u72b6\u6001\u65f6\uff0c\u56e0\u672a\u77e5\u9519\u8bef\u5bfc\u81f4\u8d1f\u8f7d\u65e0\u6cd5\u542f\u52a8\u65f6\u663e\u793a\u6b64\u72b6\u6001"},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html#_4","title":"\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u4e2d \u4efb\u52a1\u6b63\u5728\u6267\u884c\u4e2d\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u6267\u884c\u5b8c\u6210 \u4efb\u52a1\u6267\u884c\u5b8c\u6210\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5de5\u4f5c\u8d1f\u8f7d\u5904\u5728\u6b64\u72b6\u6001\u3002 \u5f02\u5e38 \u56e0\u4e3a\u67d0\u4e9b\u539f\u56e0\u65e0\u6cd5\u53d6\u5f97 Pod \u7684\u72b6\u6001\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u56e0\u4e3a\u4e0e Pod \u6240\u5728\u4e3b\u673a\u901a\u4fe1\u5931\u8d25\u3002"},{"location":"end-user/kpanda/workloads/pod-config/workload-status.html#_5","title":"\u5b9a\u65f6\u4efb\u52a1\u72b6\u6001","text":"\u72b6\u6001 \u63cf\u8ff0 \u7b49\u5f85\u4e2d \u5b9a\u65f6\u4efb\u52a1\u521b\u5efa\u6b63\u5728\u8fdb\u884c\u4e2d\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u542f\u52a8 \u521b\u5efa\u5b9a\u65f6\u4efb\u52a1\u6210\u529f\u540e\uff0c\u6b63\u5e38\u8fd0\u884c\u6216\u5c06\u5df2\u6682\u505c\u7684\u4efb\u52a1\u542f\u52a8\u65f6\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5df2\u505c\u6b62 \u6267\u884c\u505c\u6b62\u4efb\u52a1\u64cd\u4f5c\u65f6\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u4e8e\u6b64\u72b6\u6001\u3002 \u5220\u9664\u4e2d \u89e6\u53d1\u5220\u9664\u64cd\u4f5c\uff0c\u5b9a\u65f6\u4efb\u52a1\u5904\u5728\u6b64\u72b6\u6001\u3002

                                                    \u5f53\u5de5\u4f5c\u8d1f\u8f7d\u5904\u4e8e\u5f02\u5e38\u6216\u672a\u5c31\u7eea\u72b6\u6001\u65f6\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5c06\u9f20\u6807\u79fb\u52a8\u5230\u8d1f\u8f7d\u7684\u72b6\u6001\u503c\u4e0a\uff0c\u7cfb\u7edf\u5c06\u901a\u8fc7\u63d0\u793a\u6846\u5c55\u793a\u66f4\u52a0\u8be6\u7ec6\u7684\u9519\u8bef\u4fe1\u606f\u3002\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u67e5\u770b\u65e5\u5fd7\u6216\u4e8b\u4ef6\u6765\u83b7\u53d6\u5de5\u4f5c\u8d1f\u8f7d\u7684\u76f8\u5173\u8fd0\u884c\u4fe1\u606f\u3002

                                                    "},{"location":"end-user/register/index.html","title":"\u7528\u6237\u6ce8\u518c","text":"

                                                    \u65b0\u7528\u6237\u9996\u6b21\u4f7f\u7528 AI \u7b97\u529b\u5e73\u53f0\u9700\u8981\u8fdb\u884c\u6ce8\u518c\u3002

                                                    "},{"location":"end-user/register/index.html#_2","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                                    • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                                    • \u5df2\u5f00\u542f\u90ae\u7bb1\u6ce8\u518c\u529f\u80fd
                                                    • \u6709\u4e00\u4e2a\u53ef\u7528\u7684\u90ae\u7bb1
                                                    "},{"location":"end-user/register/index.html#_3","title":"\u90ae\u7bb1\u6ce8\u518c\u6b65\u9aa4","text":"
                                                    1. \u6253\u5f00 AI \u7b97\u529b\u5e73\u53f0\u9996\u9875 https://ai.isuanova.com/\uff0c\u70b9\u51fb \u6ce8\u518c

                                                    2. \u952e\u5165\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u90ae\u7bb1\u540e\u70b9\u51fb \u6ce8\u518c

                                                    3. \u7cfb\u7edf\u63d0\u793a\u53d1\u9001\u4e86\u4e00\u5c01\u90ae\u4ef6\u5230\u60a8\u7684\u90ae\u7bb1\u3002

                                                    4. \u767b\u5f55\u81ea\u5df1\u7684\u90ae\u7bb1\uff0c\u627e\u5230\u90ae\u4ef6\uff0c\u70b9\u51fb\u94fe\u63a5\u3002

                                                    5. \u606d\u559c\uff0c\u60a8\u6210\u529f\u8fdb\u5165\u4e86 AI \u7b97\u529b\u5e73\u53f0\uff0c\u73b0\u5728\u53ef\u4ee5\u5f00\u59cb\u60a8\u7684 AI \u4e4b\u65c5\u4e86\u3002

                                                    "},{"location":"end-user/share/notebook.html","title":"\u4f7f\u7528 Notebook","text":"

                                                    Notebook \u901a\u5e38\u6307\u7684\u662f Jupyter Notebook \u6216\u7c7b\u4f3c\u7684\u4ea4\u4e92\u5f0f\u8ba1\u7b97\u73af\u5883\u3002 \u8fd9\u662f\u4e00\u79cd\u975e\u5e38\u6d41\u884c\u7684\u5de5\u5177\uff0c\u5e7f\u6cdb\u7528\u4e8e\u6570\u636e\u79d1\u5b66\u3001\u673a\u5668\u5b66\u4e60\u548c\u6df1\u5ea6\u5b66\u4e60\u7b49\u9886\u57df\u3002 \u672c\u9875\u8bf4\u660e\u5982\u4f55\u5728\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0\u4e2d\u4f7f\u7528 Notebook\u3002

                                                    "},{"location":"end-user/share/notebook.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                                    • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                                    • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                                                    • \u7ba1\u7406\u5458\u4e3a\u7528\u6237\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4
                                                    • \u5df2\u51c6\u5907\u597d\u6570\u636e\u96c6\uff08\u4ee3\u7801\u3001\u6570\u636e\u7b49\uff09
                                                    "},{"location":"end-user/share/notebook.html#notebook_1","title":"\u521b\u5efa\u548c\u4f7f\u7528 Notebook \u5b9e\u4f8b","text":"
                                                    1. \u4ee5 \u7ba1\u7406\u5458\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                                    2. \u5bfc\u822a\u81f3 AI Lab -> \u8fd0\u7ef4\u7ba1\u7406 -> \u961f\u5217\u7ba1\u7406 \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae

                                                    3. \u952e\u5165\u540d\u79f0\uff0c\u9009\u62e9\u96c6\u7fa4\u3001\u5de5\u4f5c\u7a7a\u95f4\u548c\u914d\u989d\u540e\uff0c\u70b9\u51fb \u786e\u5b9a

                                                    4. \u4ee5 \u7528\u6237\u8eab\u4efd \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5bfc\u822a\u81f3 AI Lab -> Notebook \uff0c\u70b9\u51fb\u53f3\u4fa7\u7684 \u521b\u5efa \u6309\u94ae

                                                    5. \u914d\u7f6e\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                                                      \u57fa\u672c\u4fe1\u606f\u8d44\u6e90\u914d\u7f6e\u9ad8\u7ea7\u914d\u7f6e

                                                      \u952e\u5165\u540d\u79f0\uff0c\u9009\u62e9\u96c6\u7fa4\u3001\u547d\u540d\u7a7a\u95f4\uff0c\u9009\u62e9\u521a\u521b\u5efa\u7684\u961f\u5217\uff0c\u70b9\u51fb \u4e00\u952e\u521d\u59cb\u5316

                                                      \u9009\u62e9 Notebook \u7c7b\u578b\uff0c\u914d\u7f6e\u5185\u5b58\u3001CPU\uff0c\u5f00\u542f GPU\uff0c\u521b\u5efa\u548c\u914d\u7f6e PVC\uff1a

                                                      \u5f00\u542f SSH \u5916\u7f51\u8bbf\u95ee\uff1a

                                                    6. \u81ea\u52a8\u8df3\u8f6c\u5230 Notebook \u5b9e\u4f8b\u5217\u8868\uff0c\u70b9\u51fb\u5b9e\u4f8b\u540d\u79f0

                                                    7. \u8fdb\u5165 Notebook \u5b9e\u4f8b\u8be6\u60c5\u9875\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684 \u6253\u5f00 \u6309\u94ae

                                                    8. \u8fdb\u5165\u4e86 Notebook \u5f00\u53d1\u73af\u5883\uff0c\u6bd4\u5982\u5728 /home/jovyan \u76ee\u5f55\u6302\u8f7d\u4e86\u6301\u4e45\u5377\uff0c\u53ef\u4ee5\u901a\u8fc7 git \u514b\u9686\u4ee3\u7801\uff0c\u901a\u8fc7 SSH \u8fde\u63a5\u540e\u4e0a\u4f20\u6570\u636e\u7b49\u3002

                                                    "},{"location":"end-user/share/notebook.html#ssh-notebook","title":"\u901a\u8fc7 SSH \u8bbf\u95ee Notebook \u5b9e\u4f8b","text":"
                                                    1. \u5728\u81ea\u5df1\u7684\u7535\u8111\u4e0a\u751f\u6210 SSH \u5bc6\u94a5\u5bf9

                                                      \u5728\u81ea\u5df1\u7535\u8111\u4e0a\u6253\u5f00\u547d\u4ee4\u884c\uff0c\u6bd4\u5982\u5728 Windows \u4e0a\u6253\u5f00 git bash\uff0c\u8f93\u5165 ssh-keygen.exe -t rsa\uff0c\u7136\u540e\u4e00\u8def\u56de\u8f66\u3002

                                                    2. \u901a\u8fc7 cat ~/.ssh/id_rsa.pub \u7b49\u547d\u4ee4\u67e5\u770b\u5e76\u590d\u5236\u516c\u94a5

                                                    3. \u4ee5\u7528\u6237\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728\u53f3\u4e0a\u89d2\u70b9\u51fb \u4e2a\u4eba\u4e2d\u5fc3 -> SSH \u516c\u94a5 -> \u5bfc\u5165 SSH \u516c\u94a5

                                                    4. \u8fdb\u5165 Notebook \u5b9e\u4f8b\u7684\u8be6\u60c5\u9875\uff0c\u590d\u5236 SSH \u7684\u94fe\u63a5

                                                    5. \u5728\u5ba2\u6237\u7aef\u4f7f\u7528 SSH \u8bbf\u95ee Notebook \u5b9e\u4f8b

                                                    \u4e0b\u4e00\u6b65\uff1a\u521b\u5efa\u8bad\u7ec3\u4efb\u52a1

                                                    "},{"location":"end-user/share/workload.html","title":"\u521b\u5efa AI \u8d1f\u8f7d\u4f7f\u7528 GPU \u8d44\u6e90","text":"

                                                    \u7ba1\u7406\u5458\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u5206\u914d\u8d44\u6e90\u914d\u989d\u540e\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u521b\u5efa AI \u5de5\u4f5c\u8d1f\u8f7d\u6765\u4f7f\u7528 GPU \u7b97\u529b\u8d44\u6e90\u3002

                                                    "},{"location":"end-user/share/workload.html#_1","title":"\u524d\u7f6e\u6761\u4ef6","text":"
                                                    • \u5df2\u5b89\u88c5 AI \u7b97\u529b\u5e73\u53f0
                                                    • \u7528\u6237\u5df2\u6210\u529f\u6ce8\u518c
                                                    • \u7ba1\u7406\u5458\u4e3a\u7528\u6237\u5206\u914d\u4e86\u5de5\u4f5c\u7a7a\u95f4
                                                    • \u7ba1\u7406\u5458\u4e3a\u5de5\u4f5c\u7a7a\u95f4\u8bbe\u7f6e\u4e86\u8d44\u6e90\u914d\u989d
                                                    • \u7ba1\u7406\u5458\u5df2\u7ecf\u4e3a\u7528\u6237\u5206\u914d\u4e86\u4e00\u4e2a\u96c6\u7fa4
                                                    "},{"location":"end-user/share/workload.html#ai","title":"\u521b\u5efa AI \u8d1f\u8f7d\u6b65\u9aa4","text":"
                                                    1. \u4ee5\u7528\u6237\u8eab\u4efd\u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0
                                                    2. \u5bfc\u822a\u81f3 \u5bb9\u5668\u7ba1\u7406 \uff0c\u9009\u62e9\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\uff0c\u70b9\u51fb \u5de5\u4f5c\u8d1f\u8f7d -> \u65e0\u72b6\u6001\u8d1f\u8f7d \uff0c \u70b9\u51fb\u53f3\u4fa7\u7684 \u955c\u50cf\u521b\u5efa \u6309\u94ae

                                                    3. \u914d\u7f6e\u5404\u9879\u53c2\u6570\u540e\u70b9\u51fb \u786e\u5b9a

                                                      \u57fa\u672c\u4fe1\u606f\u5bb9\u5668\u914d\u7f6e\u5176\u4ed6

                                                      \u9009\u62e9\u81ea\u5df1\u7684\u547d\u540d\u7a7a\u95f4\u3002

                                                      \u8bbe\u7f6e\u955c\u50cf\uff0c\u914d\u7f6e CPU\u3001\u5185\u5b58\u3001GPU \u7b49\u8d44\u6e90\uff0c\u8bbe\u7f6e\u542f\u52a8\u547d\u4ee4\u3002

                                                      \u670d\u52a1\u914d\u7f6e\u548c\u9ad8\u7ea7\u914d\u7f6e\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u914d\u7f6e\u3002

                                                    4. \u81ea\u52a8\u8fd4\u56de\u65e0\u72b6\u6001\u8d1f\u8f7d\u5217\u8868\uff0c\u70b9\u51fb\u8d1f\u8f7d\u540d\u79f0

                                                    5. \u8fdb\u5165\u8be6\u60c5\u9875\uff0c\u53ef\u4ee5\u770b\u5230 GPU \u914d\u989d

                                                    6. \u4f60\u8fd8\u53ef\u4ee5\u8fdb\u5165\u63a7\u5236\u53f0\uff0c\u8fd0\u884c mx-smi \u547d\u4ee4\u67e5\u770b GPU \u8d44\u6e90

                                                    \u4e0b\u4e00\u6b65\uff1a\u4f7f\u7528 Notebook

                                                    "},{"location":"openapi/index.html","title":"OpenAPI \u6587\u6863","text":"

                                                    \u8fd9\u662f\u9762\u5411\u5f00\u53d1\u8005\u7684\u4e00\u4e9b OpenAPI \u6587\u6863\u3002

                                                    • \u4e91\u4e3b\u673a OpenAPI \u6587\u6863
                                                    • AI Lab OpenAPI \u6587\u6863
                                                    • \u5bb9\u5668\u7ba1\u7406 OpenAPI \u6587\u6863
                                                    • \u53ef\u89c2\u6d4b\u6027 OpenAPI \u6587\u6863
                                                    • \u5168\u5c40\u7ba1\u7406 OpenAPI \u6587\u6863
                                                    "},{"location":"openapi/index.html#openapi_1","title":"\u83b7\u53d6 OpenAPI \u8bbf\u95ee\u5bc6\u94a5","text":"

                                                    \u8bbf\u95ee\u5bc6\u94a5\uff08Access Key\uff09\u53ef\u7528\u4e8e\u8bbf\u95ee OpenAPI \u548c\u6301\u7eed\u53d1\u5e03\uff0c\u7528\u6237\u53ef\u5728\u4e2a\u4eba\u4e2d\u5fc3\u53c2\u7167\u4ee5\u4e0b\u6b65\u9aa4\u83b7\u53d6\u5bc6\u94a5\u5e76\u8bbf\u95ee API\u3002

                                                    \u767b\u5f55 AI \u7b97\u529b\u5e73\u53f0\uff0c\u5728\u53f3\u4e0a\u89d2\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\u627e\u5230 \u4e2a\u4eba\u4e2d\u5fc3 \uff0c\u53ef\u4ee5\u5728 \u8bbf\u95ee\u5bc6\u94a5 \u9875\u9762\u7ba1\u7406\u8d26\u53f7\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                                                    Info

                                                    \u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\u4ec5\u663e\u793a\u4e00\u6b21\u3002\u5982\u679c\u60a8\u5fd8\u8bb0\u4e86\u8bbf\u95ee\u5bc6\u94a5\u4fe1\u606f\uff0c\u60a8\u9700\u8981\u91cd\u65b0\u521b\u5efa\u65b0\u7684\u8bbf\u95ee\u5bc6\u94a5\u3002

                                                    "},{"location":"openapi/index.html#api","title":"\u4f7f\u7528\u5bc6\u94a5\u8bbf\u95ee API","text":"

                                                    \u5728\u8bbf\u95ee\u7b97\u4e30 AI \u7b97\u529b\u5e73\u53f0openAPI \u65f6\uff0c\u5728\u8bf7\u6c42\u4e2d\u52a0\u4e0a\u8bf7\u6c42\u5934 Authorization:Bearer ${token} \u4ee5\u6807\u8bc6\u8bbf\u95ee\u8005\u7684\u8eab\u4efd\uff0c \u5176\u4e2d ${token} \u662f\u4e0a\u4e00\u6b65\u4e2d\u83b7\u53d6\u5230\u7684\u5bc6\u94a5\u3002

                                                    \u8bf7\u6c42\u793a\u4f8b

                                                    curl -X GET -H 'Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRKVjlBTHRBLXZ4MmtQUC1TQnVGS0dCSWc1cnBfdkxiQVVqM2U3RVByWnMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NjE0MTU5NjksImlhdCI6MTY2MDgxMTE2OSwiaXNzIjoiZ2hpcHBvLmlvIiwic3ViIjoiZjdjOGIxZjUtMTc2MS00NjYwLTg2MWQtOWI3MmI0MzJmNGViIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiYWRtaW4iLCJncm91cHMiOltdfQ.RsUcrAYkQQ7C6BxMOrdD3qbBRUt0VVxynIGeq4wyIgye6R8Ma4cjxG5CbU1WyiHKpvIKJDJbeFQHro2euQyVde3ygA672ozkwLTnx3Tu-_mB1BubvWCBsDdUjIhCQfT39rk6EQozMjb-1X1sbLwzkfzKMls-oxkjagI_RFrYlTVPwT3Oaw-qOyulRSw7Dxd7jb0vINPq84vmlQIsI3UuTZSNO5BCgHpubcWwBss-Aon_DmYA-Et_-QtmPBA3k8E2hzDSzc7eqK0I68P25r9rwQ3DeKwD1dbRyndqWORRnz8TLEXSiCFXdZT2oiMrcJtO188Ph4eLGut1-4PzKhwgrQ' https://demo-dev.daocloud.io/apis/ghippo.io/v1alpha1/users?page=1&pageSize=10 -k\n

                                                    \u8bf7\u6c42\u7ed3\u679c

                                                    {\n    \"items\": [\n        {\n            \"id\": \"a7cfd010-ebbe-4601-987f-d098d9ef766e\",\n            \"name\": \"a\",\n            \"email\": \"\",\n            \"description\": \"\",\n            \"firstname\": \"\",\n            \"lastname\": \"\",\n            \"source\": \"locale\",\n            \"enabled\": true,\n            \"createdAt\": \"1660632794800\",\n            \"updatedAt\": \"0\",\n            \"lastLoginAt\": \"\"\n        }\n    ],\n    \"pagination\": {\n        \"page\": 1,\n        \"pageSize\": 10,\n        \"total\": 1\n    }\n}\n
                                                    "},{"location":"openapi/baize/index.html","title":"AI Lab OpenAPI \u6587\u6863","text":""},{"location":"openapi/ghippo/index.html","title":"\u5168\u5c40\u7ba1\u7406 OpenAPI \u6587\u6863","text":""},{"location":"openapi/insight/index.html","title":"\u53ef\u89c2\u6d4b\u6027 OpenAPI \u6587\u6863","text":""},{"location":"openapi/kpanda/index.html","title":"\u5bb9\u5668\u7ba1\u7406 OpenAPI \u6587\u6863","text":""},{"location":"openapi/virtnest/index.html","title":"\u4e91\u4e3b\u673a OpenAPI \u6587\u6863","text":""},{"location":"stylesheets/tags.html","title":"Tags","text":"

                                                    Following is a list of relevant tags:

                                                    [TAGS]

                                                    "}]} \ No newline at end of file