Crossplane 퀴즈
- Crossplane의 Composition이 해결하는 핵심 문제는?
- A) Kubernetes 클러스터의 네트워킹 구성
- B) 여러 인프라 리소스를 하나의 추상화된 API로 묶어 셀프서비스 제공
- C) 컨테이너 이미지 빌드 자동화
- D) Pod의 리소스 요청 최적화
정답 보기
정답: B) 여러 인프라 리소스를 하나의 추상화된 API로 묶어 셀프서비스 제공
설명: Composition은 RDS 인스턴스, SecurityGroup, SubnetGroup 등 여러 Managed Resource를 하나의 Composite Resource(XR)로 패키징합니다. 개발자는 복잡한 인프라 세부사항을 알 필요 없이, 간단한 Claim으로 필요한 인프라를 프로비저닝할 수 있습니다.
- Crossplane의 Claim(XC)과 Composite Resource(XR)의 관계는?
- A) Claim은 클러스터 범위이고, XR은 네임스페이스 범위
- B) Claim은 네임스페이스 범위의 요청이고, XR은 클러스터 범위의 실제 리소스
- C) Claim과 XR은 동일한 리소스
- D) XR은 Claim의 백업 복사본
정답 보기
정답: B) Claim은 네임스페이스 범위의 요청이고, XR은 클러스터 범위의 실제 리소스
설명: Claim(XC)은 네임스페이스 범위로, 개발자가 필요한 인프라를 요청하는 인터페이스입니다. Claim이 생성되면 대응하는 Composite Resource(XR)가 클러스터 범위에 생성되고, XR이 Composition에 따라 실제 Managed Resource들을 프로비저닝합니다.
- Crossplane에서 AWS 리소스를 관리할 때 IRSA(IAM Roles for Service Accounts)를 사용하는 이유는?
- A) Crossplane 라이선스 비용을 줄이기 위해
- B) AWS 자격 증명을 Pod에 안전하게 전달하고, 최소 권한 원칙을 적용하기 위해
- C) Crossplane의 성능을 향상시키기 위해
- D) 멀티 클러스터 지원을 위해
정답 보기
정답: B) AWS 자격 증명을 Pod에 안전하게 전달하고, 최소 권한 원칙을 적용하기 위해
설명: IRSA를 사용하면 AWS Access Key를 직접 관리하지 않고, Kubernetes ServiceAccount에 IAM Role을 연결하여 임시 자격 증명을 자동으로 주입합니다. 이를 통해 보안을 강화하고, Provider별로 필요한 최소한의 IAM 권한만 부여할 수 있습니다.
- Terraform과 Crossplane의 가장 큰 아키텍처적 차이점은?
- A) Terraform은 YAML을 사용하고, Crossplane은 HCL을 사용
- B) Terraform은 명령형 실행(apply/destroy)이고, Crossplane은 Kubernetes 컨트롤러로 지속적 조정(reconciliation)
- C) Terraform은 클라우드만 지원하고, Crossplane은 온프레미스만 지원
- D) Terraform은 무료이고, Crossplane은 유료
정답 보기
정답: B) Terraform은 명령형 실행(apply/destroy)이고, Crossplane은 Kubernetes 컨트롤러로 지속적 조정(reconciliation)
설명: Terraform은 terraform apply/destroy 명령으로 실행하는 워크플로우 기반 도구입니다. Crossplane은 Kubernetes 컨트롤러 패턴으로 동작하여, 선언된 상태와 실제 상태를 지속적으로 비교하고 조정(reconcile)합니다. 이를 통해 드리프트를 자동으로 감지하고 수정합니다.
- ACK(AWS Controllers for Kubernetes)와 Crossplane을 함께 사용하는 시나리오는?
- A) ACK와 Crossplane은 호환되지 않으므로 하나만 사용
- B) ACK로 단순 AWS 리소스를 관리하고, Crossplane Composition으로 복잡한 멀티 리소스 패키지를 추상화
- C) ACK는 개발 환경, Crossplane은 프로덕션 환경에서만 사용
- D) ACK는 네트워킹, Crossplane은 스토리지만 관리
정답 보기
정답: B) ACK로 단순 AWS 리소스를 관리하고, Crossplane Composition으로 복잡한 멀티 리소스 패키지를 추상화
설명: ACK는 AWS API와 1:1 매핑되는 단순한 리소스 관리에 적합하고, Crossplane은 Composition을 통해 여러 리소스를 하나의 추상화된 API로 패키징하는 데 강점이 있습니다. 간단한 S3 버킷은 ACK로, RDS+SecurityGroup+SubnetGroup 패키지는 Crossplane Composition으로 관리할 수 있습니다.
- Crossplane의 Connection Details가 중요한 이유는?
- A) 네트워크 연결 상태를 모니터링
- B) 프로비저닝된 리소스의 접속 정보(엔드포인트, 비밀번호 등)를 Kubernetes Secret으로 자동 생성
- C) Crossplane Provider 간의 연결을 관리
- D) 멀티 클러스터 간의 네트워크 연결을 구성
정답 보기
정답: B) 프로비저닝된 리소스의 접속 정보(엔드포인트, 비밀번호 등)를 Kubernetes Secret으로 자동 생성
설명: Connection Details는 Crossplane이 프로비저닝한 리소스의 접속 정보(데이터베이스 엔드포인트, 포트, 사용자명, 비밀번호 등)를 자동으로 Kubernetes Secret에 저장하는 기능입니다. 애플리케이션은 이 Secret을 마운트하여 프로비저닝된 인프라에 연결할 수 있습니다.
- Backstage + Crossplane 통합에서 개발자 셀프서비스 워크플로우의 순서는?
- A) ArgoCD 배포 → Backstage 카탈로그 등록 → Crossplane Claim 생성
- B) Backstage Template에서 Crossplane Claim YAML 생성 → Git Push → ArgoCD 동기화 → Crossplane 프로비저닝
- C) Crossplane 프로비저닝 → Backstage Template 생성 → Git Push
- D) Git Push → Backstage 카탈로그 등록 → ArgoCD 배포
정답 보기
정답: B) Backstage Template에서 Crossplane Claim YAML 생성 → Git Push → ArgoCD 동기화 → Crossplane 프로비저닝
설명: 개발자가 Backstage Template에서 파라미터(DB 크기, 환경 등)를 입력하면, Template이 Crossplane Claim YAML을 생성하고 Git 리포지토리에 Push합니다. ArgoCD가 변경을 감지하여 클러스터에 동기화하면, Crossplane이 Claim을 처리하여 실제 인프라를 프로비저닝합니다.
- Crossplane의 드리프트 감지(Drift Detection)가 Terraform 대비 우수한 점은?
- A) Terraform이 드리프트 감지를 지원하지 않음
- B) Crossplane은 컨트롤러가 지속적으로 실제 상태를 감시하여 자동 수정하고, Terraform은 수동
plan/apply필요 - C) Crossplane이 더 빠른 속도로 프로비저닝
- D) Crossplane이 더 많은 클라우드를 지원
정답 보기
정답: B) Crossplane은 컨트롤러가 지속적으로 실제 상태를 감시하여 자동 수정하고, Terraform은 수동 plan/apply 필요
설명: Crossplane의 컨트롤러는 주기적으로 실제 클라우드 리소스 상태를 확인하고, 선언된 상태와 차이가 있으면 자동으로 수정합니다. Terraform은 terraform plan을 수동으로 실행해야 드리프트를 감지할 수 있으며, 수정도 terraform apply를 실행해야 합니다.