45 lines
1.5 KiB
Markdown
45 lines
1.5 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
|
|
# The profile is composed from common settings and the k3d overlay.
|
|
# Replace the endpoint values in a temporary file if installing manually.
|
|
helm_values_dir=deployments/cilium/values
|
|
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 "$helm_values_dir/common.yaml" \
|
|
--values "$helm_values_dir/profiles/k3d.yaml" \
|
|
--set k8sServiceHost=REPLACE_WITH_API_SERVER_DNS_OR_PRIVATE_IP \
|
|
--set k8sServicePort=REPLACE_WITH_API_SERVER_PORT
|
|
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-k3d.yaml` manually only 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
|
|
```
|