Crossplane 설치하기
Crossplane 설치하기 (Install)
Crossplane은 기존 Kubernetes 클러스터 안에 설치되며, Crossplane 파드를 생성합니다. Crossplane을 설치하면 Crossplane Provider, Function, Configuration 리소스도 함께 설치할 수 있습니다.
출처: 문서
본문
💡 Tip: 아직 Kubernetes 클러스터가 없다면 Kind로 로컬에 하나 만들어 보세요.
사전 요구 사항 (Prerequisites)
- 현재 지원되는(actively supported) Kubernetes 버전
- Helm 버전 v3.2.0 이상
Crossplane 설치하기
Helm 차트를 사용해서 Crossplane을 설치합니다.
Crossplane Helm 저장소 추가하기
helm repo add 명령으로 Crossplane의 안정(stable) 저장소를 추가해 주세요.
$ helm repo add crossplane-stable https://charts.crossplane.io/stable
helm repo update로 로컬 Helm 차트 캐시를 갱신합니다.
$ helm repo update
Crossplane Helm 차트 설치하기
helm install 명령으로 Crossplane Helm 차트를 설치합니다.
🔧 참고:
helm install --dry-run --debug옵션으로 Crossplane이 클러스터에 가하는 변경 사항을 미리 확인할 수 있어요. Helm은 실제 클러스터를 바꾸지 않고 적용할 설정을 보여줍니다.
Crossplane은 crossplane-system 네임스페이스에 생성되어 설치됩니다.
$ helm install crossplane \
--namespace crossplane-system \
--create-namespace crossplane-stable/crossplane
kubectl get pods -n crossplane-system로 설치된 Crossplane 파드를 확인해 보세요.
$ kubectl get pods -n crossplane-system
NAME READY STATUS RESTARTS AGE
crossplane-6d67f8cd9d-g2gjw 1/1 Running 0 26m
crossplane-rbac-manager-86d9b5cf9f-2vc4s 1/1 Running 0 26m
설치 옵션 (Installation options)
Crossplane Helm 차트 커스터마이즈하기
Crossplane은 설치 시점에 Helm 차트를 구성해서 다양한 커스터마이즈를 지원합니다. 어떤 커스터마이즈가 가능한지 Helm 차트 README를 참고하세요. --set이나 values.yaml을 사용하는 커스텀 옵션 실행 방법은 Helm 문서에서 확인할 수 있어요.
Feature flags
Crossplane은 새 기능을 feature flag 뒤에 숨겨서 도입합니다. 기본적으로 alpha 기능은 꺼져 있고, beta 기능은 기본적으로 켜집니다. feature flag를 활성화하려면 Helm 차트의 args 값을 설정해 주세요. 사용 가능한 feature flag는 crossplane core start --help를 실행하거나 아래 표에서 바로 확인할 수 있습니다.
| 상태 | 플래그 | 설명 |
| Beta | --enable-custom-to-managed-resource-conversion | 패키지 설치 시 CRD에서 MRD로의 변환 지원 활성화 |
| Beta | --enable-deployment-runtime-configs | DeploymentRuntimeConfig 지원 활성화 |
| Beta | --enable-realtime-compositions | 실시간 composition 지원 활성화 |
| Beta | --enable-ssa-claims | 서버 사이드 애플라이(SSA)로 claims를 XR과 동기화하는 지원 활성화 |
| Beta | --enable-usages | Usages 지원 활성화 |
| Alpha | --enable-dependency-version-downgrades | 패키지 업데이트 시 의존성 버전 자동 다운그레이드 활성화 |
| Alpha | --enable-dependency-version-upgrades | 패키지 업데이트 시 의존성 버전 자동 업그레이드 활성화 |
| Alpha | --enable-function-response-cache | 성능 향상을 위한 composition function 응답 캐싱 활성화 |
| Alpha | --enable-operations | Operations 지원 활성화 |
| Alpha | --enable-pipeline-inspector | 함수 파이프라인 실행 데이터를 사이드카로 내보내는 지원 활성화 |
| Alpha | --enable-provider-deletion-protection | 활성 관리 리소스가 있는 Provider의 삭제 자동 보호 활성화. --enable-usages 필요 |
| Alpha | --enable-signature-verification | ImageConfig API를 통한 패키지 서명 검증 지원 활성화 |
이 플래그들은 values.yaml 파일이나 설치 시점의 --set 플래그로 설정할 수 있어요. 예를 들면 --set args='{"--enable-operations","--enable-signature-verification"}'처럼 사용합니다.
프리릴리스 Crossplane 버전 설치하기
master Crossplane Helm 채널에서 프리릴리스 버전을 설치할 수 있습니다. master 채널의 버전은 활발히 개발 중이며 불안정할 수 있어요.
⚠️ 경고: 프로덕션에서는 Crossplane
master릴리스를 사용하지 마세요. 반드시stable채널만 사용하세요.master는 테스트와 개발 전용입니다.
helm repo add 명령으로 Crossplane 저장소를 추가합니다.
$ helm repo add crossplane-master https://charts.crossplane.io/master/
helm repo update로 로컬 Helm 차트 캐시를 갱신합니다.
$ helm repo update
master 채널에서 helm install로 Crossplane Helm 차트를 설치합니다. 최신 프리릴리스 버전을 설치하려면 --devel 플래그를 사용하세요.
$ helm install crossplane \
--namespace crossplane-system \
--create-namespace crossplane-master/crossplane \
--devel
소스 코드에서 빌드하고 설치하기
소스 코드에서 Crossplane을 빌드하면 빌드 및 설치 과정을 완전히 제어할 수 있습니다. 이 고급 설치 경로에 대한 전체 지침은 소스 코드 설치 가이드에서 확인할 수 있어요.
더 알아보기 (Learn more)
- Getting Started with Managed Resources - 관리 리소스로 시작하기
- Configuration 패키지 - Configuration 패키지 설치와 관리