chatbot-rag-app-observability/k8s-deployment-chatbot-rag-app.yaml (73 lines of code) (raw):
apiVersion: v1
kind: Secret
metadata:
name: chatbot-regular-secrets
type: Opaque
stringData:
ELASTICSEARCH_URL: "YOUR_ELASTIC_SEARCH_URL"
ELASTICSEARCH_USER: "elastic"
ELASTICSEARCH_PASSWORD: "elastic"
OTEL_EXPORTER_OTLP_HEADERS: "Authorization=Bearer%20xxxx"
OTEL_EXPORTER_OTLP_ENDPOINT: "https://1234567.apm.us-west-2.aws.cloud.es.io:443"
OPENAI_API_KEY: "YYYYYYYY"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: chatbot-regular
spec:
replicas: 2
selector:
matchLabels:
app: chatbot-regular
template:
metadata:
labels:
app: chatbot-regular
spec:
containers:
- name: chatbot-regular
#Replace your image location below or continue to use this prebuilt version
image: ghcr.io/elastic/elasticsearch-labs/chatbot-rag-app:latest
ports:
- containerPort: 4000
env:
- name: LLM_TYPE
value: "openai"
- name: CHAT_MODEL
value: "gpt-4o-mini"
- name: OTEL_RESOURCE_ATTRIBUTES
value: "service.name=chatbot-regular,service.version=0.0.1,deployment.environment=dev"
- name: OTEL_SDK_DISABLED
value: "false"
- name: OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT
value: "true"
- name: OTEL_EXPERIMENTAL_RESOURCE_DETECTORS
value: "process_runtime,os,otel,telemetry_distro"
- name: OTEL_EXPORTER_OTLP_PROTOCOL
value: "http/protobuf"
- name: OTEL_METRIC_EXPORT_INTERVAL
value: "3000"
- name: OTEL_BSP_SCHEDULE_DELAY
value: "3000"
envFrom:
- secretRef:
name: chatbot-regular-secrets
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "500m"
---
apiVersion: v1
kind: Service
metadata:
name: chatbot-regular-service
spec:
selector:
app: chatbot-regular
ports:
- port: 80
targetPort: 4000
type: LoadBalancer