설치
설치 (Installation)
Cilium Ingress Controller를 Helm 또는 Cilium CLI로 활성화하는 방법을 안내해요. Ingress Controller, 전용 Envoy 구성, 그리고 proxy 로드 밸런싱 백엔드를 Envoy로 설정하는 방법을 다뤄요.
출처: Installation
본문
Helm으로 활성화하기 — Cilium Ingress Controller는 helm 플래그 ingressController.enabled를 true로 설정해서 활성화할 수 있어요. 새 설치에 대해서는 Installation using Helm을 참고해주세요.
helm upgrade cilium cilium/cilium --version 1.20.2 \
--namespace kube-system \
--reuse-values \
--set ingressController.enabled=true \
--set ingressController.loadbalancerMode=dedicated
kubectl -n kube-system rollout restart deployment/cilium-operator
kubectl -n kube-system rollout restart ds/cilium
helm upgrade cilium oci://quay.io/cilium/charts/cilium 1.20.2 \
--namespace kube-system \
--reuse-values \
--set ingressController.enabled=true \
--set ingressController.loadbalancerMode=dedicated
kubectl -n kube-system rollout restart deployment/cilium-operator
kubectl -n kube-system rollout restart ds/cilium
--set ingressController.default=true 플래그를 설정하면 Cilium이 기본 ingress 컨트롤러가 될 수 있어요. 그러면 ingressClass가 설정되지 않아도 ingress 항목이 생성돼요.
Ingress 지원 없이 envoy 트래픽 관리 기능만 사용하려면 --enable-envoy-config 플래그만 활성화하면 돼요.
helm upgrade cilium cilium/cilium --version 1.20.2 \
--namespace kube-system \
--reuse-values \
--set envoyConfig.enabled=true
kubectl -n kube-system rollout restart deployment/cilium-operator
kubectl -n kube-system rollout restart ds/cilium
helm upgrade cilium oci://quay.io/cilium/charts/cilium 1.20.2 \
--namespace kube-system \
--reuse-values \
--set envoyConfig.enabled=true
kubectl -n kube-system rollout restart deployment/cilium-operator
kubectl -n kube-system rollout restart ds/cilium
추가로 프록시 로드 밸런싱 기능은 loadBalancer.l7.backend=envoy 플래그로 구성할 수 있어요.
helm upgrade cilium cilium/cilium --version 1.20.2 \
--namespace kube-system \
--reuse-values \
--set loadBalancer.l7.backend=envoy
kubectl -n kube-system rollout restart deployment/cilium-operator
kubectl -n kube-system rollout restart ds/cilium
helm upgrade cilium oci://quay.io/cilium/charts/cilium 1.20.2 \
--namespace kube-system \
--reuse-values \
--set loadBalancer.l7.backend=envoy
kubectl -n kube-system rollout restart deployment/cilium-operator
kubectl -n kube-system rollout restart ds/cilium
다음으로 Cilium agent와 operator의 상태를 확인할 수 있어요:
$ cilium status
Cilium CLI로 활성화하기 — 최신 버전의 Cilium CLI를 설치해볼게요. Cilium CLI는 Cilium 설치, Cilium 설치 상태 검사, 다양한 기능(예: clustermesh, Hubble) 활성화/비활성화에 사용할 수 있어요.
CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/main/stable.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}
sha256sum --check cilium-linux-${CLI_ARCH}.tar.gz.sha256sum
sudo tar xzvfC cilium-linux-${CLI_ARCH}.tar.gz /usr/local/bin
rm cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}
CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/main/stable.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "arm64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-darwin-${CLI_ARCH}.tar.gz{,.sha256sum}
shasum -a 256 -c cilium-darwin-${CLI_ARCH}.tar.gz.sha256sum
sudo tar xzvfC cilium-darwin-${CLI_ARCH}.tar.gz /usr/local/bin
rm cilium-darwin-${CLI_ARCH}.tar.gz{,.sha256sum}
전체 릴리스 페이지를 참고해주세요.
Cilium Ingress Controller는 아래 명령으로 활성화할 수 있어요:
$ cilium install 1.20.2 \
--set kubeProxyReplacement=true \
--set ingressController.enabled=true \
--set ingressController.loadbalancerMode=dedicated
--set ingressController.default=true 플래그를 설정하면 Cilium이 기본 ingress 컨트롤러가 될 수 있어요. 그러면 ingressClass가 설정되지 않아도 ingress 항목이 생성돼요.
Ingress 지원 없이 envoy 트래픽 관리 기능만 사용하려면 --enable-envoy-config 플래그만 활성화하면 돼요.
$ cilium install 1.20.2 \
--set kubeProxyReplacement=true \
--set envoyConfig.enabled=true
추가로 프록시 로드 밸런싱 기능은 loadBalancer.l7.backend=envoy 플래그로 구성할 수 있어요.
$ cilium install 1.20.2 \
--set kubeProxyReplacement=true \
--set envoyConfig.enabled=true \
--set loadBalancer.l7.backend=envoy
다음으로 Cilium agent와 operator의 상태를 확인할 수 있어요:
$ cilium status
또한 이후 단계에서 트래픽을 관찰하는 데 사용될 Hubble CLI를 설치하는 것도 권장해요.
더 알아보기 (Learn more)
- Cilium Ingress — Cilium Ingress 컨트롤러
- Ingress 참조 — Ingress 어노테이션 참조
- HTTP Ingress 예제 — HTTP Ingress 예제
- Cilium 설치 (Installation using Helm) — Helm 기반 Cilium 설치