Day37 (5.3)

ShinJuYong·2022년 5월 3일
0

camp

목록 보기
36/44
post-thumbnail

Https

GCP에선 직접인증서를 도메인마다 할당이가능하다

TCP 3-way handShakes

TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에
정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정

  • Client > Server : TCP SYN
  • Server > Client : TCP SYN ACK
  • Client > Server : TCP ACK

Kubernetes

쿠버네티스는 컨테이너 운영을 자동화하기 위한 도구 입니다.
컨테이너를 이용한 애플리케이션 배포 외에도 다양한 운영 관리 업무를 자동화할 수 있다
Default : 롤링배포와 자동확장기능

Pod

컨테이너가 모인 집합의 단위
컨테이너는 도커 컨테이너를 의미하고 쿠버네티스를 도커와 함께 사용한다면 Pod는 컨테이너 하나, 혹은 집합체가 된다 (Like Compose)

Master Node

쿠버네티스 클러스터 전체를 컨트롤하는 역할
API서버, 스케줄러, 컨트롤러 매니저, ETCD로 구성됨

  • API서버(명령, 통신 관련):  모든 명령과 통신을 API를 통해서 합니다.  모든 기능은 REST API로 제공하고 그에 따른 명령을 처리합니다.
  • Etec (정보 저장): Cluster의 데이터베이스 역할로 서버로 설정값이나 클러스터의 상태를 저장합니다. 따라서 분산형 Key/Value 형식이고 오픈소스이며, 빠른 응답과 신뢰성등의 장점이 있습니다.
  • 스케줄러(리소스들을 할당할지 선정): 파드나 서비스들을 적절한 노드에 저장하게 정리해주는 역할을 합니다.
  • 컨트롤러 매니져(RC,SC,VC,NC 관리):   Replica controller, Service controller, Volume Controller, Node controller를 생성하고  각 노드에 배포하여 관리합니다.

Walker Node

Master Node에 주어진 명령을 받고 실제로 서비스를 제공하는 컴포넌트

  • Kubelet(통신):노드에 배포되는 에이전트로, 마스터의 API서버와 통신하면서 노드가 수행해야 할 명령을 받아 수행하고, 반대로 노드의 상태등을 마스터로 전달하는 역활을 합니다.
  • Kube-proxy(노드 안에 트래픽 정리) : 노드로 들어오는 네트워크 트래픽을  적절한 컨테이너로 라우팅하고, 로드밸런싱등을 노드로 들어오고 나가는 네트워크 트래픽을 프록시하고 , 노드와 마스터간의 네티워크 통신을 관리합니다.
  • container runtime: pod를 통해 배포된 컨데이너를 실행하는 역할,  컨테이너 런타임은 보통 도커컨데이너를 생각하기 쉽고 대표적입니다. 이외에도 rkt,hyper container도 있습니다.
  • cAdvisor(모니터링): 각 노드에서  기동되는 모니터링 에이전트로, 노드내에서 가동되는 컨테이너들의 상태와 성능등의 정보를 수집하여, 마스터에게 전달합니다.

로드밸런서와 쿠버네티스의 차이

이전에 사용해봤던 로드밸런스는 부하를 분산하는 역할을 맡는다. 가상컴퓨터 안에 가상컨테이너가 실행되므로 인스턴스가 느리면 분산의 속도가 느리다

하지만 쿠버네티스는 Cluster안에 컨테이너가 실행되기 때문에 따로 가상 인스턴스를 실행하지 않아도 부하분산이 가능해진다.즉, 속도면에서 로드밸런서보다 더 낫다.

배포하기

일반적으로 도커만들듯이 이미지를 정하고, 환경변수를 추가시킨다.

알고리즘

프로그래머스-LV2-프린터
프로그래머스-LV2-괄호회전하기

0개의 댓글