목록배포/kubernetes (20)
개발놀이터
요즘 사이드 프로젝트 때문에 실습만 주구장창 했는데 오랜만에 이론 포스팅입니다. 쿠버네티스를 공부하다보면, 그리고 DevOps에 대해 공부하다보면 한번쯤은 보게 되는 논쟁 바로 "쿠버네티스 클러스터에 RDB배포? 시기상조다" VS "쿠버네티스 클러스터에 RDB배포 안해봤어? 겁나 편한데" 이 논쟁을 구글링하면 마땅한 답이 없습니다. 누가 시원하게 쓰면 좋아! 쓰면 나빠! 이걸 적어놓은걸 찾기 힘들었습니다. 그래서 GPT와 토론을 하면서 주장 -> 반박 -> 재반박 -> 반박에 반박 을 거듭하여 나름 정리해봤습니다. 우선 이 논쟁에 대해 짚어야 하는 부분은 크게 다섯가지입니다. 트랜잭션 롤백에 대한 관점마스터 슬레이브 노드 선출에 대한 관점네트워크 망분리로 인한 split-brain 상황에 대한 관점쿠..
이전 포스팅과 이어집니다! https://coding-review.tistory.com/560 AWS EKS 모니터링 환경 구축하기 (Prometheus, Grafana)이전 포스팅에서 이어집니다! https://coding-review.tistory.com/559 AWS EKS HPA로 확장성 높이기저번 포스팅에서 이어지는 내용입니다! https://coding-review.tistory.com/558 AWS EKS 스프링 + Nginx + SSL저번 포스coding-review.tistory.com 이전엔 프로메테우스 + 그라파나로 모니터링 환경을 구축해봤습니다. 이번 포스팅에선 이전 포스팅에다 슬랙을 추가해보도록 하겠습니다. 이전 포스팅 내용은 담지 않았습니다! helm repo add pro..
이전 포스팅에서 이어집니다! https://coding-review.tistory.com/559 AWS EKS HPA로 확장성 높이기저번 포스팅에서 이어지는 내용입니다! https://coding-review.tistory.com/558 AWS EKS 스프링 + Nginx + SSL저번 포스팅에서 이어지는 내용입니다! https://coding-review.tistory.com/557 AWS EKS 스프링 프로젝트에 Ncoding-review.tistory.com 이전 포스팅에선 HPA와 CA로 파드와 노드를 동적으로 늘리는 실습을 했습니다. 이번엔 모니터링 환경을 구축해보도록 하겠습니다! 이전 포스팅에서 다뤘던 내용은 다루지 않겠습니다! 모니터링 환경 구축프로메테우스 설치우선 프로메테우스 yaml..
저번 포스팅에서 이어지는 내용입니다! https://coding-review.tistory.com/558 AWS EKS 스프링 + Nginx + SSL저번 포스팅에서 이어지는 내용입니다! https://coding-review.tistory.com/557 AWS EKS 스프링 프로젝트에 NGINX 붙이기이번 포스팅은 이전 포스팅과 어느정도 이어집니다. 이전에 스프링 프로젝트를 간단coding-review.tistory.com 저번 포스팅에선 Nginx Ingress Controller 에 letsencrypt로 발급한 키로 secret을 만들어서 SSL을 연결했습니다. 이번 포스팅에선 HPA와 CA를 이용해서 파드에 무리가 가면 파드를 늘리고 파드를 늘리는 과정에서 노드의 자원이 부족하면 노드까지 늘..
저번 포스팅에서 이어지는 내용입니다! https://coding-review.tistory.com/557 AWS EKS 스프링 프로젝트에 NGINX 붙이기이번 포스팅은 이전 포스팅과 어느정도 이어집니다. 이전에 스프링 프로젝트를 간단하게 배포했는데 저는 추후 HTTPS를 붙여서 실제 도메인을 붙여볼 예정이기 때문에 Nginx에 스프링 프로젝트를coding-review.tistory.com 저번 포스팅에선 Nginx를 설치하고 스프링 프로젝트를 붙여서 로드밸런서를 이용해서 외부에서 접속해봤습니다. 이번엔 Nginx에 SSL을 붙여서 HTTPS를 적용시켜봤습니다. 거의 4일내내 이거만 한거같네요. 본격적으로 시작해보겠습니다! Nginx와 SSL 근데 이제 Kubernetes를 곁들인저도 Nginx에 SS..
이번 포스팅은 이전 포스팅과 어느정도 이어집니다. 이전에 스프링 프로젝트를 간단하게 배포했는데 저는 추후 HTTPS를 붙여서 실제 도메인을 붙여볼 예정이기 때문에 Nginx에 스프링 프로젝트를 붙여야했습니다. 이번 포스팅에선 Nginx를 붙이기만 하고 다음 포스팅에선 HTTPS를 적용해보겠습니다. 바로 시작해보겠습니다! 스프링에 Nginx 붙이기kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.7.0/deploy/static/provider/aws/deploy.yaml 우선 Ingress Controller를 설치해줍니다. 위의 명령어를 쓰면 namespace, Service Account..
이전 포스팅에서 어느정도 이어지는 포스팅입니다. 물론 완전히 이어지진 않아서 따로 봐도 상관없습니다. https://coding-review.tistory.com/555 AWS EKS로 스프링 프로젝트 배포하기이번 포스팅에선 EKS를 이용해서 스프링 프로젝트를 배포해보도록 하겠습니다. 온프레미스로 k8s를 구축할 땐 말도 드럽게 안듣더니 EKS로 하니까 역시 돈이 좋다는 것을 체감하고 있습니다. 개coding-review.tistory.com 이전 포스팅에서 단순하게 MySQL 파드, 서비스 / 스프링 파드, 서비스를 배포해서 외부에서 접속했던 것이라 어느정도 고도화가 필요했습니다. PV / PVC를 EBS볼륨과 바운드하는 것을 시작으로 Nginx로 웹서버 - WAS 서버 구축하기 등을 천천히 이어..
이번 포스팅에선 EKS를 이용해서 스프링 프로젝트를 배포해보도록 하겠습니다. 온프레미스로 k8s를 구축할 땐 말도 드럽게 안듣더니 EKS로 하니까 역시 돈이 좋다는 것을 체감하고 있습니다. 개발 난이도를 엄청나게 낮춰주네요. 이번 실습에선 담백하게 스프링 + MySQL 이렇게 구성했습니다. 이번 실습은 실제로 파드간 연결이 되는지 확인하는 것이 목적이었기 때문에 복잡성을 높이지 않았습니다. 이번 실습으로 실제로 파드간 연결이 되는 것이 확인되었으니 다음 포스팅에서 조금 고도화해서 다뤄보도록 하겠습니다. 이번 포스팅의 중점은 다음과 같습니다. Headless Service를 이용해서 파드간 연결이 가능한지 테스트 하기위한 실습입니다.복잡성을 최대한 줄이기 위해 Deployment (ReplicaSe..
저는 정말 어리석은 선택을 하고 2주라는 시간을 날려버렸습니다. 바로 쿠버네티스를 온프레미스로 구현하는 것이었는데요. 초심자에겐 정말 지옥같은 경험이었습니다. 근데 그 클러스터를 EC2인스턴스에서 구축하려고 했다는 것이 정말 어리석었죠. EC2 인스턴스는 비용절감을 위해 껐다 켰다 하고 있었는데 어느날 EC2를 켜보니 Calico가 안되더군요. 그걸로 하루를 날려먹고 쿠버네티스 클러스터를 재구축하면서 마무리지었습니다. 그리고 쿠버네티스 서비스의 LoadBalancer 타입을 시험해보고싶어서 Metallb를 구축하려다가 이것도 안되서 포기했습니다... 결국 EC2인스턴스에서 온프레미스처럼 쿠버네티스를 구축하려 했던 저의 미련한 실수였습니다. 온프레미스로 쿠버네티스를 구축하면 뭔가 한단계 성장할 것 ..
이번 포스팅은 쿠버네티스 환경을 구축하는 과정에서 생긴 실습 과정을 정리해보고자 작성하게 되었습니다. 쿠버네티스는 워커 노드를 설정하면 kubectl 명령어를 곧바로 사용할 수 없습니다. 이를 사용하기 위해서는 쿠버네티스의 인증, 인가 과정을 거쳐야 합니다. 이에대한 자세한 내용은 아래의 링크에 정리되어있습니다!https://coding-review.tistory.com/549 쿠버네티스 이론 : 인증, 인가쿠버네티스는 쿠버네티스와 관련된 명령어를 사용할 때 마스터 노드에 존재하는 API Server를 지나가게 되어있습니다. 하지만 어떤 곳에서든 kubectl같은 명령어를 사용할 수 있다면 이는 보안적coding-review.tistory.com 워커 노드에서 kubectl 명령어를 사용하기 위해서..