SuperAPI AI 工具集

sap-kyma-cli

部署与运维

查看项目

更新于 10-16 09:55

技能介绍

用途:该技能面向 SAP BTP 上的 Kyma(Kubernetes)部署流程,用于把智能体模板(自带 Containerfile 与 k8s/ 目录)构建、推送并部署到 Kyma 集群,并将服务通过 APIRule 暴露。

主要能力与用法:

  1. 配置访问。kubeconfig 来源为 BTP cockpit(kyma env 实例 → Kubeconfig URL),设置 export KUBECONFIG=/path/to/kubeconfig.yaml,可用 kubectl get nodes 做连通性检查。
  2. 构建与推送。podman build -f Containerfile -t my-first-agent:0.1.0 .,随后 podman tag 与 podman push 到 $REGISTRY。在主权区域,$REGISTRY 必须位于区域内,DockerHub 被屏蔽,应使用客户的 ACR / ECR / harbor。
  3. 部署。以 Secret 提供 AI Core 凭据(不得写入镜像):kubectl create secret generic aicore-credentials --from-env-file=.env.aicore;再执行 kubectl apply -f k8s/deployment.yaml、k8s/service.yaml、k8s/apirule.yaml,并通过 kubectl get apirule my-first-agent -o jsonpath='{.status.virtualService}' 查看暴露地址。
  4. 认证切换。在 k8s/apirule.yaml 中把 accessStrategies 的 handler: noop 改为 handler: jwt,并配置 trusted_issuers 与 jwks_urls 指向 IAS 租户地址;Agent Card 与 /healthz 规则应保持 noop,因为发现与存活探测需公开。

适用场景:需要将智能体部署到 SAP BTP Kyma 的场景,包含本地或 CI 中的容器构建、镜像推送与清单部署。

常见限制与坑:主权区域出现 ImagePullBackOff 通常说明镜像仓库未被白名单,需切换区域内仓库;APIRule 处于 pending 多为集群 kyma-system/kyma-gateway 未就绪,需等待后重查;忘记 envFrom: secretRef: aicore-credentials 会在运行时收到 AI Core 的 401;缺少资源 requests 的 HPA 无法扩缩容。

验证:kubectl rollout status deployment/my-first-agent,以及 curl -s https://my-first-agent.<cluster-domain>/.well-known/agent.json | jq .name。其余细节暂未提供。