Skip to content
LlamaParse 文档版本 跟随上游 源快照 9d2e38f6 更新于 2026-10-17

你的 LlamaCloud 安装的用户可以用代码写智能体、通过 API 部署,并得到一个位于 /deployments/<agent-name> 的 HTTP 端点,其智能体会作为集群里的一个 pod 运行。LlamaCloud 的父 ingress 已经会把 /deployments/* 路由到后端,因此不需要为智能体另做 ingress 配置。但真正负责构建并运行智能体 pod 的那些组件(一个控制面 API、一个负责调和 LlamaDeployment 自定义资源的 Kubernetes operator,以及一个用于构建产物与备份的 S3 兼容桶)住在另一个独立的 llama-agents Helm chart 里。

作为集群运维者你有两个选择:把 llama-agents 作为 LlamaCloud 的集群内子 chart 运行,或者单独管理它。集群内是常见做法。

设 llamaAgents.deploy: true,LlamaCloud chart 就会引入这个子 chart、接好后端的功能开关,并渲染一条允许智能体 pod 访问后端 8000 端口的 NetworkPolicy。

llamaAgents:
  deploy: true

子 chart 的 values

透传的值都放在 llama-agents-subchart 之下。完整的面在上游的 llama-agents chart README 里;下面列的是常用项。

对象存储

子 chart 需要一个 S3 兼容桶来存放构建产物、备份与 git 仓库。凭据来自一个含有 S3_ACCESS_KEY 与 S3_SECRET_KEY 的 K8s Secret。

llama-agents-subchart:
  controlPlane:
    objectStorage:
      s3:
        bucket: "my-llama-agents-bucket"
        region: "us-east-1"
        endpointUrl: ""        # leave empty for AWS; set for MinIO/s3proxy/etc.
      secretRef: "llama-agents-s3-credentials"
      backupEncryptionSecretRef: "llama-agents-backup-password"   # optional

所有内容都在桶内以三个可配置前缀划出命名空间,因此只要前缀不冲突,一个桶就能与其他工作负载共用(包括 LlamaCloud 自己的文件存储桶)。如果你希望 S3 生命周期规则或 IAM 策略只作用于智能体产物,那么单独用一个桶会更简单。

键默认值用途
controlPlane.objectStorage.buildKeyPrefixbuilds/构建出的智能体产物
controlPlane.objectStorage.backupKeyPrefixbackups/备份归档(设了 backupEncryptionSecretRef 时会加密)
controlPlane.objectStorage.codeRepoKeyPrefixgit/代码仓库

应用命名空间

智能体 pod 默认跑在独立的 llama-agents 命名空间里,而不是 LlamaCloud 的 release 命名空间。控制面与 operator 自身仍留在 release 命名空间,而 LlamaCloud chart 会自动创建这个放应用的命名空间。

llama-agents-subchart:
  apps:
    namespace: my-agents-ns

填空字符串则让智能体 pod 与控制面、operator 一起跑在 release 命名空间里。

智能体 pod 的资源

operator 会为每个 LlamaDeployment 创建 pod。施加在这些 pod 上的 requests 与 limits 来自下列默认值:

llama-agents-subchart:
  operator:
    defaultAppRequests:
      cpu: "750m"
      memory: "2Gi"
    defaultAppLimits:
      cpu: ""            # empty = no limit
      memory: "4096Mi"
    maxDeployments: 0    # per-namespace cap, 0 = unlimited

若要超出「统一默认值」的范围(nodeSelector、tolerations、affinity、容器级覆盖),请设 operator.llamaDeploymentTemplate.spec.podSpec。operator 会把它作为所有被托管 pod 的基础 PodSpec。

CRD

子 chart 带两个 CRD:LlamaDeployment 与 LlamaDeploymentTemplate。Helm 的 CRD 生命周期是个别扭之处:打在 chart crds/ 目录里的 CRD 会在首次 helm install 时装上,但 helm upgrade 从不再碰它们,helm uninstall 也从不删除它们。所以全新安装开箱即用,可一旦子 chart 升了 CRD schema,不去自己动手就什么都不会更新。

为此,请单独安装配套的 llama-agents-crds chart,并按自己的节奏升级它。LlamaCloud chart 通过其 values.yaml 里的 llamaAgents.crdVersion 声明它已验证过的版本;安装时请钉到该版本:

终端窗口

helm upgrade --install llama-agents-crds \
  --version <llamaAgents.crdVersion> \
  oci://registry-1.docker.io/llamaindex/llama-agents-crds

它使用了 helm.sh/resource-policy: keep,因此对 CRD chart 执行 helm uninstall 会把 CRD 原样留下,也不会级联删掉你的 LlamaDeployment 资源。

对于生产环境的 BYOC,我们建议从一开始就安装 llama-agents-crds,而不是依赖首次安装时的随带打包,这样 CRD 的升级就能与 LlamaCloud 的发布解耦。

单独管理的控制面

如果你想按自己的发布节奏运行 llama-agents chart、把它放在别的命名空间,或放在另一个集群里但让它的 pod 能连回本集群,就不要用 deploy: true。保持 deploy: false,并把 LlamaCloud 指向该控制面的服务地址:

llamaAgents:
  controlPlaneUrl: "http://llama-agents-control-plane.llama-agents.svc.cluster.local:8000"

在这种模式下,LlamaCloud chart 既不部署子 chart 也不渲染那条 NetworkPolicy,而且本集群里并不需要存在这些 CRD。请使用内网地址 —— 控制面 API 并非按暴露到公网来设计。

逃生舱

有两个开关会改变智能体 pod 与后端的通信方式。多数安装都不需要它们中的任何一个。

取值默认值何时设置
llamaAgents.allowBackendEgresstrue若你自己编写 egress NetworkPolicy,就用它关掉 chart 的默认那条。只在 deploy: true 时才渲染。
llamaAgents.useBackendPublicUrlfalse让智能体的 LLAMA_CLOUD_BASE_URL 走公网 ingress 域名,而不是集群内的 ClusterIP。当你的集群网络策略栈挡住了智能体到后端的 ClusterIP 流量时设它。

useBackendPublicUrl 是在创建 deployment 时生效的,因此已有的 deployment 在被重建之前仍会使用原来的 URL。

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。