개발/Infra
-
[k8s] Component개발/Infra 2021. 8. 7. 10:32
대세는 쿠버네티스 [초급~중급] 강의를 보고 정리한 글입니다. [중급 편] 아키텍쳐 Components (pod creation) master 노드의 /etc/kubernetes/manifests 에는 kube-apiserver.yaml, etcd.yaml, kube-scheduler.yaml 이 있다. k8s 구동 시 이 파일을 읽어서 각 컴포넌트를 pod 형태로 띄운다. worker 노드에는 k8s 설치될 때 같은 설치되는 kublet과 Container Runtime인 docker가 구동된 상태이며 /etc/kubernetes/manifests/kube-proxy.yaml 을 이용하여 각 노드에 kube-proxy도 띄운다. Pod 생성 과정 사용자가 kubectl로 pod 생성을 요청한다. kub..
-
[k8s] Autoscaler개발/Infra 2021. 8. 5. 23:06
대세는 쿠버네티스 [초급~중급] 강의를 보고 정리한 글입니다. [중급 편] Autoscaler Autoscaler 종류 replicas가 1인 Controller가 관리하는 Pod가 있고 Service 트래픽의 100%가 이 Pod로 들어온다. 이 상태에서 트래픽이 증가한다면 어떻게 될까? Pod의 Memory, CPU 리소스가 고갈되고 심지어 죽을 수도 있다. 아래 3가지 방법으로 이를 대비해보자. HPA(Horizontal Pod Autoscaler) : Pod 개수 증가 HPA는 Pod의 리소스 상태를 감지하고 있다가 위험한 상황 발생 시 Controller의 replicas를 1 -> 2로 증가시킨다. Controller는 Pod를 하나 더 만들게 되고 Pod는 수평적으로 증가하게 된다. 이를 S..
-
[k8s] Ingress개발/Infra 2021. 8. 3. 23:48
대세는 쿠버네티스 [초급~중급] 강의를 보고 정리한 글입니다. [중급 편] 컨트롤러 Ingress Ingress use case Service LoadBalancing www.mall.com -> Ingress -> Service1 -> Shopping Pod www.mall.com/customer -> Ingress -> Service2 -> Customer Center Pod www.mall.com/order -> Ingress -> Service3 -> Order Service Pod Canary Upgrade www.app.com -> Ingress -> Service1(90%) -> pod1(app v1), pod2(app v1) www.app.com -> Ingress -> Service2(1..
-
[k8s] StatefulSet Controller개발/Infra 2021. 8. 3. 22:45
대세는 쿠버네티스 [초급~중급] 강의를 보고 정리한 글입니다. [중급 편] 컨트롤러 StatefulSet Application의 종류 Stateless Application 앱이 여러 개 배포되어도 다 똑같은 서비스의 역할을 한다. 하나의 앱이 죽는다면 같은 서비스의 역할을 하는 앱을 복제하면 되고 이름도 어떻게 설정하든 상관없다. 볼륨이 반드시 필요하진 않다. 볼륨 하나에 모든 앱의 로그를 저장할 수 있다. 대체로 사용자들이 접속하며 여러 앱에 트래픽을 분산한다. (단순 분산) ReplicaSet 컨트롤러 예) Web Server(Apache, Nginx, IIS) Stateful Application 각각의 앱마다 자신의 역할이 있다. 하나의 앱(Arbiter 역할을 하는 앱)이 죽는다면 반드시 Ar..