본문 바로가기

전체 글131

[k8s] 42. Networking Networking - Pod / Service Network (Calico), Pause Container Networking Pod Network 파드가 생성되면 파드 네트워크 범위내에서 고유 아이피를 가지는 인터페이스가 생성됨 이 인터페이스를 통해 여러 컨테이너간 통신 파드끼리의 통신은 Network Plugin으로 통신(쿠버네티스 기본 plugin은 kubnet) CNI Container Network Interface 오픈소스 네트워크 플러그인들이 있음 Service Network Node2의 파드에 서비스를 붙이면 Master의 kube-dns에 서비스의 이름과 아이피에 대한 도메인이 등록됨 api-server가 워커 노드들마다 파드 형태로 띄워진 kube-proxy에 서비스의 아이피가 어느 .. 2021. 2. 26.
[k8s] 41. Component Kubernetes Architecture Components 쿠버네티스는 한 대의 마스터와 여러 대의 워커노드로 구성 마스터 노드는 Control plane Component, 워커 노드는 Worker Component Networking 서비스와 파드 네트워크 영역이 있음 파드 네트워크 영역 파드 내의 컨테이너 통신과 파드끼리의 통신이 있음 파드끼리의 통신은 Calico Network Plugin을 사용했음 서비스 네트워크 영역 서비스를 파드에 붙여 서비스로 파드에 통신 가능 Storage 파드의 데이터는 hostPath, Cloud Service, 3rd party Vendors를 사용하는 방법이 있음 어떤 스토리지를 사용하든 Volume Type은 FileStorage, BlockStorage, .. 2021. 2. 26.
[k8s] 40. Autoscaler - 실습 Autoscaler 실습 1. Metrics Server 설치 마스터 노드에서 작업 1. 설치 kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml 2. Metrics Deployment 수정 kubectl edit deployment metrics-server -n kube-system ------------------------ spec: containers: - args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-insecure-tls - --kubelet-preferred-address-types=Interna.. 2021. 2. 25.
[k8s] 39. Autoscaler - HPA Autoscaler - HPA 세 가지의 종류가 있음 HPA: 파드의 개수를 늘림 VPA: 파드의 리소스를 증가시킴 CA: 클러스터에 노드를 추가 각 기능에 대해 간략히 알아보고 HPA에 대해 자세히 볼 예정 1. HPA 컨트롤러가 있고 replicas의 수치에 따라 파드가 운영 서비스도 파드에 연결이 돼서 모든 트래픽이 파드로 흐르는 상황 트래픽이 많아져서 어느 순간 파드내에 있는 리소스를 모두 사용하게 됨 조금 더 트래픽이 증가하면 파드는 죽을 수도 있음 사전에 HPA를 연결하고 컨트롤러에 연결했다면, HPA가 위험한 상황에 컨트롤러의 replicas를 2로 늘려줌 파드가 늘어나 자원이 수평적으로 늘어나는데 이를 Scale Out이라고 함 트래픽이 감소하여 리소스 사용량이 줄면 파드가 삭제되는데, 이.. 2021. 2. 25.
[k8s] 38. Ingress - 실습 Ingress - 실습 1. Nginx Controller 설치 1. Nginx 설치 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.27.1/deploy/static/mandatory.yaml 2. NodePort Service 생성 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.27.1/deploy/static/provider/baremetal/service-nodeport.yaml 3. nodePort 변경 대시보드에서 Ingress-nginx Namespace의 서비스에 들어가기 http의 no.. 2021. 2. 25.
[k8s] 37. Ingress - Nginx Ingress 사용목적 Service LoadBalancing 쇼핑몰을 운영한다고 가정했을 때, 쇼핑 페이지, 주문센터, 주문 서비스를 파드로 각각 만듦 그 파드에 각각 서비스를 연결 사용자에게는 각 서비스마다 다른 URL을 줌, path가 다름 일반적으로 각 path마다 서비스 IP를 이어주는 L4나 L7 스위치 장비가 있어야 함 쿠버네티스는 Ingress가 이 역할을 함 사용자가 /로 들어오면 쇼핑 페이지로, /customer는 주문센터, /order는 주문 서비스로 연결 별도의 IP 로드밸런싱을 해주는 장비가 필요 없음 Canary Upgarde V1이 서비스가 되는데, V2를 구동시키고 Ingress를 만들어서 두 서비스에 연결 사용자가 Ingress에 접근했을 때 90%는 V1으로, 10%는 V.. 2021. 2. 25.