Files
kubernetes-security-baselin…/local-quickstart/cilium.md
T
swaphb fc53e16dd4
Kube-bench CIS scan / Scan ephemeral K3s cluster (push) Successful in 1m6s
organize deployment configuration
2026-08-15 13:17:46 -04:00

41 lines
1.3 KiB
Markdown

# Cilium local profile
The standard k3d profile is the default quick start. This profile is for
demonstrating Cilium with kube-proxy replacement.
Create it with:
```bash
k3d cluster create --config local-quickstart/k3d-cilium-cluster-config.yaml
```
Before installing Cilium, set the API server endpoint in a temporary values
file. The endpoint must be reachable directly from every node. Do not use the
Kubernetes service VIP because kube-proxy is disabled during bootstrap.
```bash
kubectl config current-context
kubectl get nodes -o wide
cp deployments/cilium/cilium-values.yaml /tmp/cilium-values.yaml
# Replace REPLACE_WITH_API_SERVER_DNS_OR_PRIVATE_IP with the reachable API endpoint.
helm repo add cilium https://helm.cilium.io/
helm repo update
helm upgrade --install cilium cilium/cilium \
--namespace kube-system \
--version 1.20.0 \
--values /tmp/cilium-values.yaml
kubectl -n kube-system rollout status daemonset/cilium --timeout=300s
kubectl -n kube-system get pods -l k8s-app=cilium
```
Install ArgoCD only after Cilium is Ready. Apply
`deployments/argocd/optional-apps/cilium.yaml` manually after the endpoint is configured;
it is intentionally outside the root app-of-apps watched directory until the
cluster has been bootstrapped without kube-proxy.
Delete the profile with:
```bash
k3d cluster delete security-baseline-cilium
```