CAPA — Argo 프로젝트 인증 어소시에이트 · Argo Events 구성요소와 Helm·Kustomize 소스 · 퀴즈
퀴즈: Argo Events 구성요소와 Helm·Kustomize 소스
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
Argo Events 에서 바깥 사건을 CloudEvents 로 바꿔 EventBus 에 싣는 구성요소는?
- EventSource — 웹훅·SNS·SQS·PubSub 같은 외부 소스에서 사건을 받아 변환해 EventBus 로 보낸다
- Sensor — 외부 시스템을 폴링해 사건을 만들고 트리거까지 함께 실행한다
- Trigger — 사건을 받아 CloudEvents 형식으로 정규화한 뒤 Sensor 에 전달한다
- EventBus — 외부 소스에 직접 연결해 사건을 받고 Sensor 에 순서대로 배달한다
EventBus 에 대한 설명으로 문서와 맞는 것은?
- 클러스터 범위 리소스라 하나만 만들면 모든 네임스페이스의 EventSource 와 Sensor 가 공유한다
- 구현은 Kafka 하나뿐이며 EventSource 는 eventBusName 을 반드시 적어야 한다
- 네임스페이스 리소스라 EventSource·Sensor 가 있는 네임스페이스마다 있어야 하고, 이름이 default 가 아니면 eventBusName 으로 짝을 맞춘다
- Sensor 가 내부적으로 만드는 임시 큐라 사용자가 직접 만들 필요가 없다
Argo CD 가 Helm 차트를 다루는 방식을 바르게 설명한 것은?
- helm install/upgrade 를 실행해 Helm 릴리스를 만들고 롤백도 Helm 히스토리로 한다
- helm template 으로 매니페스트를 부풀리기만 하고 수명주기는 Argo CD 가 직접 관리한다
- 차트를 Kustomize 베이스로 변환한 뒤 kustomize build 로 렌더한다
- 차트의 values.yaml 만 읽고 템플릿은 Argo CD 자체 엔진으로 렌더한다
같은 키가 valueFiles, values, valuesObject, parameters 에 모두 있을 때 최종 값을 정하는 우선순위는?
- valueFiles > values > valuesObject > parameters
- values > valueFiles > parameters > valuesObject
- valuesObject > parameters > valueFiles > values
- parameters > valuesObject > values > valueFiles
randAlphaNum 으로 비밀번호를 만드는 차트를 Argo CD 로 배포하면 생기는 일과 그 이유는?
- 매 비교마다 값이 다시 생성되어 앱이 항상 OutOfSync 가 되므로 값을 고정해 줘야 한다
- 첫 sync 에서만 값이 생성되고 이후에는 시크릿에 저장된 값을 재사용하므로 문제가 없다
- Argo CD 가 랜덤 함수를 감지해 렌더를 거부하므로 helm-skip-schema-validation 을 켜야 한다
- 값이 매번 바뀌어도 Argo CD 는 시크릿을 비교 대상에서 제외하므로 Synced 로 표시된다
Argo CD 가 Application 소스를 Kustomize 로 렌더한다고 판단하는 조건은?
- source.kustomize 블록이 비어 있지 않을 때만 Kustomize 를 쓰고 없으면 일반 YAML 디렉터리로 본다
- repoURL 과 path 가 가리키는 위치에 kustomization.yaml 이 있으면 Kustomize 로 렌더한다
- targetRevision 이 태그가 아니라 브랜치일 때 Kustomize 를 쓰고 태그면 Helm 으로 본다
- Application 에 kustomize.config.k8s.io 어노테이션을 붙였을 때만 Kustomize 로 렌더한다