[DevOps]/[Kubernetes]
![[Kubernetes] 쿠버네티스 마이크로서비스 어플리케이션(Microservice application)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgDwSC%2FbtsHH9Hh06h%2FK2mLDyMQP4CRKK5SrEOfG0%2Fimg.png)
[Kubernetes] 쿠버네티스 마이크로서비스 어플리케이션(Microservice application)
*유데미에서 진행하는 Kubernetes for the Absolute Beginners - Hands-on 강의를 바탕으로 제작되었습니다. 마이크로서비스 어플리케이션 실습을 위해 개와 고양이를 선택하는 투표앱과 그 결과를 알려주는 결과앱을 연동하는 서비스를 만들어보겠습니다. 마이크로서비스는 각 서비스가 독립적으로 동작하고 느슨하게 연결되어 있는 특징이 있습니다. 이러한 독립적인 서비스를 쿠버네티스 배포와 서비스를 이용해 만들어보겠습니다. 1. 마이크로서비스 구성 pod는 5개로 voting-app, redis, worker, postgres, result-app가 있고 각 파드들을 이어주기 위한 쿠버네티스 서비스가 필요합니다. 서비스는 voting-app, redis, postgres, re..
![[Kubernetes] 쿠버네티스 서비스 - 3. 로드밸런서(LoadBalancer)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTENye%2FbtsHGUiwvOy%2FlEUQ45GdSSJ7K2GKdaNj5k%2Fimg.png)
[Kubernetes] 쿠버네티스 서비스 - 3. 로드밸런서(LoadBalancer)
*유데미에서 진행하는 Kubernetes for the Absolute Beginners - Hands-on 강의를 바탕으로 제작되었습니다. 1. 쿠버네티스 로드밸런서(부하 분산기) 쿠버네티스의 어플리케이션 생성 순서는 다음과 같습니다 1. Deployment 생성2. 서비스 생성(ClusterIP)3. 서비스 생성(LoadBalancer) 예시로 투표앱 생성 과정을 보겠습니다. 위의 사진에서 프론트엔드 부분인 voting-app과 result-app 부분만 따로 분리해서 보겠습니다. 위의 사진 처럼 노드마다 파드들이 분리되어 있습니다. voting-app의 경우 2개의 노드에 파드가 1개, 2개 씩 있고, 노드포트(30035)가 포트에서 트래픽을 수신해 각각의 타겟포트로 트래픽을 라우..
![[Kubernetes] 쿠버네티스 서비스 - 2. 클러스터ip(ClusterIP)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy6pQT%2FbtsHEQ9r79d%2FeQKWYKakl3oDzJqfDFkWC0%2Fimg.png)
[Kubernetes] 쿠버네티스 서비스 - 2. 클러스터ip(ClusterIP)
*유데미에서 진행하는 Kubernetes for the Absolute Beginners - Hands-on 강의를 바탕으로 제작되었습니다. 쿠버네티스 서비스(Service)는 3가지로 구분됩니다. 노드 포트, 클러스터ip, 로드 밸런스 이번 포스팅에서는 2번째인 클러스터ip에 대해 알아보겠습니다. 1. ClusterIP 풀스택 웹 어플리케이션은 어플리케이션의 다른 부분을 호스팅하는 부품을 가지고 있습니다. 예를 들어 front-end, back-end, redis 이렇게 3계층으로 구성되어 있다고 가정했을때, 프론트 엔드를 실행하는 파드들이 있고, 백엔드를 실행하는 파드들이 있고, 레디스를 실행하는 파드들이 있습니다. 웹 프로트엔드는 백엔드와 통신해야 하고, 백엔드 서버는 레디스 같은 데이..
![[Kubernetes] 쿠버네티스 서비스 - 1. 노드포트(NodePort)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzYnsl%2FbtsHEQ8DeGV%2Fiprs2YRDRX1pwM9h98kr81%2Fimg.png)
[Kubernetes] 쿠버네티스 서비스 - 1. 노드포트(NodePort)
*유데미에서 진행하는 Kubernetes for the Absolute Beginners - Hands-on 강의를 바탕으로 제작되었습니다. 쿠버네티스 서비스란 무엇이고 왜 필요하며 어떤 역할을 하는지 알아보겠습니다. 쿠버네티스 서비스: 쿠버네티스 어플리케이션 안팎의 다양한 구성요소 간의 통신을 가능하게 해줌, 서비스는 앱 내 마이크로 서비스 간의 느슨한 연결을 가능하게 해준다 1. 쿠버네티스 서비스가 없을 때 쿠버네티스 서비스가 없을 때 위 사진처럼 사용자는 curl http://10.244.0.2로 직접 접속해 파드 속 응용 프로그램을 실행시켜야 했습니다. 2. 쿠버네티스 서비스가 있을 때 쿠버네티스 서비스가 있으면 사용자는 노드포트(30008)과 노드의 ip(192.18.1.2)를 이용해 노드 속 ..
![[Kubenetes] 쿠버네티스 업데이트 & 롤백 2](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdejFoe%2FbtsHBmusu0B%2FEGhbDvxereATR1GWNrgQyK%2Fimg.png)
[Kubenetes] 쿠버네티스 업데이트 & 롤백 2
*유데미에서 진행하는 Kubernetes for the Absolute Beginners - Hands-on 강의를 바탕으로 제작되었습니다. 저번 포스팅에 이어 쿠버네티스 업데이트와 롤백 명령어에 대해 알아보겠습니다. rollout 명령어: kubernetes에서 배포를 관리하는 데 사용되는 명령어 이 명령어를 사용하여 배포를 시작하거나 롤백하고 배포의 상태를 알 수 있습니다. 그래서 rollout명령어에는 rollout history, rollout status, rollout undo 등의 명령어가 있습니다. # kubectl rollout history 리소스 유형 / 리소스 이름kubectl rollout history deployment/my-deployment>>>deployment.a..
![[Kubernetes] 쿠버네티스 업데이트 & 롤백](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbymaJO%2FbtsHBRmF3wE%2FXv40cRunX9xzMkXXy9HKf0%2Fimg.png)
[Kubernetes] 쿠버네티스 업데이트 & 롤백
*유데미에서 진행하는 Kubernetes for the Absolute Beginners - Hands-on 강의를 바탕으로 제작되었습니다. 쿠버네티스 Deployment에서 응용 프로그램의 업데이트와 롤백에 대해 알아보겠습니다. 쿠버네티스 롤아웃: 새로운 어플리케이션 버전을 클러스터에 배포하고 이전 버전을 대체하는 프로세스 롤아웃은 새로운 replicaset을 만들고 이전 replicaset을 사장 시켜 새로운 것과 바꿔줍니다. 그 과정에서 파드에서 실행되는 응용 프로그램의 버전 업그레이드를 가용성을 지키면서 수행할 수 있습니다. 또한 배포에 일어난 변화를 추적할 수 있게 해주고 필요하다면 배포의 이전 버전으로 되돌리는 작업(Rollback)도 가능합니다 배포에는 2가지가 있는데 recreati..