사전 요구사항 및 설치

사전 요구사항 및 설치 (Prerequisites & Installation)

Cilium 상호 인증(Mutual Authentication)을 위한 사전 요구사항과 설치 방법을 안내해요. SPIFFE API를 통한 인증서 관리를 사용하며, Cilium Helm 차트가 SPIRE 서버 배포 옵션을 제공해요.

출처: Prerequisites

본문

사전 요구사항 (Prerequisites)

  • 상호 인증은 현재 인증서 관리에 SPIFFE API에서만 지원돼요.
  • Cilium Helm 차트에는 상호 인증용 SPIRE 서버를 배포하는 옵션이 포함돼 있어요. 직접 SPIRE 서버를 배포하고 Cilium이 그것을 사용하도록 구성할 수도 있어요.

설치 (Installation)

참고

기본 설치는 클러스터에서 PersistentVolumeClaim 지원이 필요해요. 클러스터 프로바이더에 지원되는지, 또는 어떻게 활성화하는지 확인해주세요.

랩이나 로컬 클러스터라면 설치 명령에 authentication.mutual.spire.install.server.dataStorage.enabled=false를 전달해 인메모리 스토리지로 전환할 수 있어요. 단, SPIRE 서버 파드가 재시작되면 모든 데이터를 다시 만들어야 해요.

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}

전체 릴리스 페이지를 참고해주세요.

상호 인증과 그와 연관된 SPIRE 서버는 다음 명령으로 활성화할 수 있어요. 이 명령은 Cilium CLI Helm 모드 버전 0.15 이상이 필요해요.

$ cilium install \
    --set authentication.mutual.spire.enabled=true \
    --set authentication.mutual.spire.install.enabled=true

다음으로 Cilium agent와 operator의 상태를 확인할 수 있어요:

$ cilium status

Helm으로 설치 — Cilium Helm 차트에는 상호 인증용 SPIRE 서버를 배포하는 옵션이 포함돼 있어요. 직접 SPIRE 서버를 배포하고 Cilium이 그것을 사용하도록 구성할 수도 있어요. 새 설치에 대해서는 Installation using Helm을 참고해주세요.

helm install cilium cilium/cilium --version 1.20.2 \
   --namespace kube-system \
   --set authentication.enabled=true \
   --set authentication.mutual.spire.enabled=true \
   --set authentication.mutual.spire.install.enabled=true
kubectl -n kube-system rollout restart deployment/cilium-operator
kubectl -n kube-system rollout restart ds/cilium

helm install cilium oci://quay.io/cilium/charts/cilium 1.20.2 \
   --namespace kube-system \
   --set authentication.enabled=true \
   --set authentication.mutual.spire.enabled=true \
   --set authentication.mutual.spire.install.enabled=true
kubectl -n kube-system rollout restart deployment/cilium-operator
kubectl -n kube-system rollout restart ds/cilium

다음으로 Cilium agent와 operator의 상태를 확인할 수 있어요:

$ cilium status

더 알아보기 (Learn more)