GitLab KAS (Kubernetes Agent Server)

Install by Helm (GitLab v18.1 + K8s v1.33) or Operator

Q:

GitLab runners on K8s require a token from GitLab. Other than that there seems nothing else is needed. So, what purpose is KAS and its container(s) and such?

A:

GitLab Runners on Kubernetes only need a registration token to connect to GitLab and execute jobs. The GitLab Agent for Kubernetes (KAS) is for a completely different purpose than GitLab Runners:


โœ… GitLab Runner:


๐Ÿง  GitLab Kubernetes Agent (KAS):


โš–๏ธ Summary Comparison

Feature GitLab Runner GitLab Agent for K8s (KAS)
Purpose Run CI/CD jobs GitOps, real-time sync, observability
Needs GitLab token โœ… Registration token โœ… Agent token
Deploys workloads โœ… via CI pipeline โœ… via GitOps (pull)
Talks to GitLab โœ… via GitLab API โœ… via gRPC tunnel
Useful without GitLab.com? Yes Yes, with self-managed GitLab
KAS required? โŒ No โœ… Yes (for GitOps + observability)

โœ… Use KAS when:


Q:

Is KAS a viable replacement for ArgoCD, or does it work in tandem, or some kind of optional arrangement?

A:

Great question โ€” and one that many teams ask when comparing GitLab Agent for Kubernetes (KAS) and Argo CD.

๐Ÿงญ Short Answer:

Yes, GitLab Agent for Kubernetes can replace Argo CD for some GitOps use cases โ€” especially in environments already centered around GitLab. But it is not yet a full feature-for-feature replacement for teams using advanced Argo CD features.


๐Ÿ” Detailed Comparison: GitLab Agent (KAS) vs Argo CD

Feature GitLab Agent (KAS) Argo CD
GitOps model Pull-based Pull-based
Multi-repo support Yes Yes
Multi-cluster support Yes Yes
Sync methods Agent pulls manifests from GitLab projects Argo pulls from Git repos
Declarative app management Limited (no full UI for managing app-of-apps or nesting) Full declarative + app-of-apps support
UI for app state Minimal (only shows workloads + logs) Rich UI: health, history, sync, drift detection
RBAC / SSO Inherits GitLab project/group permissions Built-in RBAC, integrates with SSO
Drift detection Limited Yes (diffs live vs desired)
Automated sync/reconciliation Yes (with manifest projects) Yes (fully configurable)
Templates/overlays (e.g., Kustomize, Helm) Yes (if stored in GitLab project) Yes (built-in Helm, Kustomize, Jsonnet, etc.)
Notifications/Webhooks No native alerting Yes
Progressive delivery (e.g., blue-green, canary) No Yes (via Argo Rollouts integration)
Third-party integration GitLab-native Kubernetes-native (open ecosystem)
CLI kubectl gitlab-agent (limited) argocd CLI

๐Ÿ”„ Works in tandem?

Yes โ€” some teams do this:


โœ… Use GitLab Agent (KAS) when:

โœ… Use Argo CD when:


๐Ÿงช Final Take:

KAS is viable for many production GitOps workflows, especially if you want tight GitLab integration, but it's not as full-featured or mature as Argo CD for advanced deployment orchestration.