Skip to content

Test All Things on Kubernetes Cluster

Yungon Park edited this page Feb 11, 2021 · 1 revision

Kubernetes 클러스터에서 테스트하기

테스트를 위한 권장사항

  • kubectl
  • helm
  • 로컬에서 돌리기에는 부족할 수 있으므로, 클러스터를 구축하여 테스트 하시기 바랍니다. (비용이 부과될 수 있음)

Helm Chart로 설치하기

다음 명령으로 Helm Chart를 설치해 줍니다.

helm dependency update
helm install --set aws_access_key_id=(AWS Access Key) \
    --set aws_secret_access_key=(AWS Secret Access Key) \
    --set aws_default_region=(AWS Region Name: e.g. "ap-northeast-2" for Seoul Region) \
    --set s3_bucket_name=(S3 Bucket Name) \
    cdfs-test .

모든 Pod이 다 올라올 때까지 기다립니다. (Consumer나 Kafka Pod이 중간에 실패해도 ZooKeeper가 다 올라오면 정상적으로 실행됩니다.)

kubectl get pods                                              
NAME                                        READY   STATUS    RESTARTS   AGE
ingress-nginx-controller-79b9595f96-p247s   1/1     Running   0          60m
kafka-0                                     1/1     Running   2          3m27s
kafka-1                                     1/1     Running   0          2m18s
kafka-2                                     1/1     Running   0          92s
kafka-consumer-deployment-7cd9fb78d-9h2ns   1/1     Running   5          3m27s
kafka-consumer-deployment-7cd9fb78d-mqpcd   1/1     Running   5          3m27s
kafka-consumer-deployment-7cd9fb78d-qjwmg   1/1     Running   5          3m27s
kafka-producer-deployment-cddb4b65-6wfjp    1/1     Running   0          3m27s
kafka-producer-deployment-cddb4b65-7dk2j    1/1     Running   0          3m27s
kafka-producer-deployment-cddb4b65-ktz8g    1/1     Running   0          3m27s
zookeeper-0                                 1/1     Running   0          3m27s
zookeeper-1                                 1/1     Running   0          2m51s
zookeeper-2                                 1/1     Running   0          2m14s

S3 호환 스토리지를 사용하는 경우

Helm Chart를 설치하거나 업그레이드 할 때 다음 옵션을 추가해 줍니다.

  • --set s3_endpoint_name=(Object Storage에서 제공하는 Endpoint 주소)

한번에 저장하는 레코드 수 조정하기

Helm Chart를 설치하거나 업그레이드 할 때 다음 옵션을 추가해 줍니다. 값을 지정하지 않으면 10개의 데이터가 쌓일 때마다 S3 버킷에 데이터를 쌓습니다.

  • --set consumer.max_records_to_store=(임의의 숫자)

모니터링 기능 활성화

모니터링 기능은 fluentd를 통해 컨테이너의 로그를 Elasticsearch로 보냅니다. 그래서 Elasticsearch 클러스터의 주소가 필요합니다.

Helm Chart를 설치하거나 업그레이드 할 때 다음 옵션을 추가해 줍니다.

  • --set monitoring.enabled=true
  • --set monitoring.es_host=(Elasticsearch 클러스터의 주소)

Helm Chart 삭제하기

다음 명령으로 삭제합니다.

helm uninstall cdfs-test