본문 바로가기
🏁 42seoul 프로젝트

[42seoul] ft_services : Kubernetes를 활용한 (작은) 서비스 아키텍쳐 배포

by kukim 2021. 10. 28.

🎶 ft_services

@42seoul : (2020.12.15 ~ 2021.01.13)

📖 About

  • Kubernetes를 활용하여 아래의 아키텍쳐를 구현하시오.
  • Docker 빌드는 Dockerhub를 사용하지 않고 직접 DOCKERFILE을 만듭니다. (OS : alpine)
ft_service_draw

🏁 Run

1.Start setup.sh

  • minikube setting
  • docker build
  • kubectl apply
  • Dashboard
setup

2. kubernetes 시연

nginx_ftps word_php_my
  • Deploy : Grafana, influxDB, telegraf
    • 192.168.99.152:3000
    • k delete deploy:influxdb -> pv 저장공간 check
    • k apply -f influxdb -> 재연결 okay
grafana_influxdb

3. pkill App in Pods -> restart

  • kubectl exec deploy/nginx -- pkill nginx
  • kubectl exec deploy/ftps -- pkill vsftpd
  • kubectl exec deploy/grafana -- pkill grafana
  • kubectl exec deploy/telegraf -- pkill telegraf
  • kubectl exec deploy/influxdb -- pkill influx
  • kubectl exec deploy/wordpress -- pkill php-fpm7
  • kubectl exec deploy/mysql -- pkill /usr/bin/mysqld
pkill

📖 Review

  • kubernetes, 컨테이너 오케스트레이션는 아름답다. 네트워크를 통해서 수 많은 클러스터를 하나의 서버처럼 사용하고, 각각의 쿠버네티스 Object들을 .yaml로 상태 관리하고 유연하게 서비스 확장이 가능하며 배포, 롤백 및 버전 관리에 탁월하며 다양한 볼륨 연결할 수 있다니 대단하다. 구글 크기의 회사가 쿠버네티스로 운영해도 문제가 없다고 하니 구글보다 큰 기업이지 않는 이상 쿠버네티스로 모든 해결되지 않을까 생각이 들었다. 하지만 작은 서비스에겐 오버 스펙이라고 느껴졌다.
  • kubernetes의 개념, 기본적인 Object(pod, deployment, service …), 외부 접속 설정(Cluster IP, LoadBalancer), 스케일 아웃을 맛보았다. (아! 쿠버네티스가 이런거구나?!)
  • 아쉬운 점 : 실무에서 진행한 프로젝트가 실무에선 어느정도 수준일까 궁금했고, 실제로 어떻게 구현할까 의문이 들었다. 또한 추후에 CI/CD 적용과 kubeflow 서비스도 추가해볼 생각이다.

🔗 Reference

🧑🏻‍💻 Author

kukim

댓글