Deploy AI Platform Engineering on EKS
This guide shows how to deploy the ai-platform-engineering helm chart to your EKS cluster using ArgoCD.
Prerequisites: Ensure you have completed the previous sections:
- ArgoCD is deployed on your cluster
- Agent secrets are configured
Step 1: Create ArgoCD Application
Copy the ArgoCD application template:
cp deploy/eks/argocd-application.yaml.example argocd-application.yaml
Step 2: Configure Your Deployment
Create a new branch to customize your deployment configuration. You can see an example at example-argocd-deploy-values branch.
Enable Desired Agents
Edit helm/values.yaml
to enable the agents you want to deploy:
# Agent configurations
agent-argocd:
- enabled: false
+ enabled: true
nameOverride: "agent-argocd"
image:
repository: "ghcr.io/cnoe-io/agent-argocd"
agent-pagerduty:
- enabled: false
+ enabled: true
nameOverride: "agent-pagerduty"
image:
repository: "ghcr.io/cnoe-io/agent-pagerduty"
agent-github:
enabled: false # Only enable what you need
# ... configure other agents as needed
Step 3: Configure Secret Management
Choose one of the following approaches based on how you've set up your secrets in the Configure Agent Secrets section.
Option A: Using Manual Secrets
If you created secrets manually in the previous step, edit helm/values-existing-secrets.yaml
to reference your secret names:
# Secret for your global LLM provider
global:
secrets:
- secretName: ""
+ secretName: "llm-secret"
# Agent specific secrets
agent-argocd:
secrets:
- secretName: ""
+ secretName: "argocd-secret"
agent-pagerduty:
secrets:
- secretName: ""
+ secretName: "pagerduty-secret"
# ... configure other agent secrets as needed
Option B: Using External Secrets
If you're using external secret management (e.g., AWS Secrets Manager, HashiCorp Vault):
cp helm/values-external-secrets.yaml.example helm/values-external-secrets.yaml
Then edit the file to configure your external secret management solution with the appropriate providers and secret references.
Step 3: Update ArgoCD Application
Edit your argocd-application.yaml
file:
Set Target Branch
- repoURL: https://github.com/cnoe-io/ai-platform-engineering.git
targetRevision: <YOUR BRANCH NAME> # Replace with your branch name
ref: values
Set Chart Version
Find the current chart version in helm/Chart.yaml
and update:
sources:
# Main chart from GHCR
- chart: ai-platform-engineering
repoURL: ghcr.io/cnoe-io/helm-charts
targetRevision: <CHART VERSION> # Replace with your chart version
Step 4: Commit and Push Changes
git add .
git commit -m "Configure ai-platform-engineering deployment"
git push origin your-branch-name
Step 5: Deploy with ArgoCD
Apply the ArgoCD application:
kubectl apply -f argocd-application.yaml
Step 6: Verify Deployment
Check the ArgoCD UI or use kubectl to verify your deployment:
# Check ArgoCD applications
kubectl get applications -n argocd
# Check deployed pods
kubectl get pods -n ai-platform-engineering
# Check application sync status
kubectl describe application ai-platform-engineering -n argocd
Troubleshooting
- Application not syncing: Check that your branch name and chart version are correct in the ArgoCD application
- Pods not starting: Verify that all required secrets are created and contain valid values
- Agent connection issues: Check the logs of individual agent pods for authentication or configuration errors