Files
agents/search_agent/k8s-test-deployment.yaml
2026-01-17 07:37:59 +00:00

138 lines
3.3 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: agent-search-test
---
apiVersion: v1
kind: Secret
metadata:
name: search-agent-secrets
namespace: agent-search-test
type: Opaque
stringData:
# LLM API Key 在请求中传入,环境变量可以留空
LLM_API_KEY: ""
# Serper 搜索 API Key (必须)
SERPER_API_KEY: "8253b4f240b520194065312f90e85f9be0fa205f"
# Jina Reader API Key (必须)
JINA_API_KEY: "jina_e26dc30420a44a1e859216528065b203TkMRmsoz-FgMDQC5FZX9jr5oF2CI"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: search-agent
namespace: agent-search-test
labels:
app: search-agent
managed-by: manual-test
spec:
replicas: 1
selector:
matchLabels:
app: search-agent
template:
metadata:
labels:
app: search-agent
managed-by: manual-test
spec:
nodeSelector:
kubernetes.io/arch: arm64
imagePullSecrets:
- name: acr-secret
containers:
- name: search-agent
image: agnettaiji.azurecr.io/ai-agents/search-agent:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
name: http
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: TEMPLATE_TYPE
value: "search_agent"
- name: SERVICE_HOST
value: "0.0.0.0"
- name: SERVICE_PORT
value: "8080"
- name: LOG_LEVEL
value: "INFO"
# LLM 配置 (必须)
- name: LLM_BASE_URL
value: "https://litellm.graystone-fb459c5d.southeastasia.azurecontainerapps.io/"
- name: LLM_MODEL
value: "taiji/gpt-4o-mini"
# LLM_API_KEY 可选,在请求中传入
- name: LLM_API_KEY
valueFrom:
secretKeyRef:
name: search-agent-secrets
key: LLM_API_KEY
# Serper API Key (必须)
- name: SERPER_API_KEY
valueFrom:
secretKeyRef:
name: search-agent-secrets
key: SERPER_API_KEY
# Jina API Key (必须)
- name: JINA_API_KEY
valueFrom:
secretKeyRef:
name: search-agent-secrets
key: JINA_API_KEY
# 搜索配置
- name: MAX_ITERATIONS
value: "3"
- name: MAX_RESULTS_PER_QUERY
value: "10"
- name: CONTENT_MAX_LENGTH
value: "5000"
- name: TIMEOUT
value: "60"
resources:
requests:
cpu: "500m"
memory: "512Mi"
limits:
cpu: "1000m"
memory: "1Gi"
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 10
failureThreshold: 3
readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
---
apiVersion: v1
kind: Service
metadata:
name: search-agent
namespace: agent-search-test
labels:
app: search-agent
managed-by: manual-test
spec:
type: LoadBalancer
selector:
app: search-agent
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http