전체 글(119)
-
Load balancer
워커노드를 2개의 어플리케이션에서 같이써도, port 로 구분할 수있다. 비록, 70,71 워커노드에만 배포된다해도 서비스 덕분 클러스터의 모든 노드 port 에서 접근가능하다. -> 만약 특정 노드에만 올리는 어플리케이션이더라도, 다른 노드에서 그 어플리케이션의 port 를 쓰면 안되겠다! 도메인을 할당하는법은 뭘까? Load balance 를 하기 위해 새 vm 을 만드는거다. Load Balancer를 구성하려면 모든 load balance를 설정하고 관리하는 건 지루한 작업일수 있다. 근데, 클라우드 플랫폼(AWS,Azure 등) 은 해당 클라우드 플랫폼의 네이티브 load balancer 를 활용 할수 있다. 쿠버네티스는 특정 클라우드 공급자에 네이티브 load balancer 와 통합을 지원한..
2023.04.17 -
Cluster IP
웹 앱에서는 frontend, backend , redis(DB) 가 있다. 상호간 통신을 어떻게 할까? pod는 모두 할당된 ip 주소가 있지만, 고정이 아니다. service 를 통해서 pod를 하나로 묶고 하나의 인터페이스를 통해 단체 pod에 접속할 수있다. 요청은 무작위 한 pod 로 전달된다. 이러한 서비스 유형을 Cluster IP 라고 한다. 서비스인데, spec 에 type이 ClusterIP 다. pod defintion.yml 에서 metadata 의 labels 부분을 떼다가 selector에 넣어주면 끝! # 생성 kubectl create -f service-defintion.yml # 조회 kubectl get services
2023.04.17 -
Test-replicaSet
#replicaset 조회 kubectl get replicaset = kubectl get rs # 생성 yaml 파일 kubectl create -f replicaset-definition.yaml # 삭제 kubectl delete rs # 수정 edit (직접수정가능) kubectl edit rs new-replica-set ## 수정 주의: replicaset 의 이미지 명이 갱신돼도, 이미 생성된 pod는 갱신되지 않는다. -> pod를 delete 해줘야한다. # 개별 삭제 kubectl delete pod # 수정 scale kubectl scale rs new-replica-set --replicas=5 # selector 로 pod 들 삭제 (label selector정보는 replic..
2023.04.12 -
Recap-ReplicaSets
Replication Controller 는 하나의 pod에서 여러개의 인스턴스를 실행하도록 도와준다. pod가 하나일때도, pod가 고장나면 Replication Controller는 자동으로 새 pod를 불러올수있다. Replication Controller 는 1. 여러 pod로 로드를 나눌 수있다. 2. 여러 노드에 걸쳐 pod 의 부하를 분산할 수있다. (Load balancing) 3. App scale 도 조정할 수있다.(Scaling) Replication Controller , Replica Set 둘을 구분해야 하는데, Replication Controller 는 구식 기술로 Replica Set 으로 대체 되고 있다. Replication Controller 를 생성하는 방법은 yml..
2023.04.10 -
Pods with YAML
yaml 설정 파일로 pod를 생성할 수있다. 쿠버네티스는 yaml 파일을 써서 쿠버네티스 오브젝트를 생성한다. 오브젝트 예시 : pods, replicas, deployments, services 구조는 다 비슷한데, 아래 4가지는 root level 속성들이라 필수값이다. apiVersion: kind: metadata: spec: 1) api version은 쿠버네티스 API 버전인데, 종류에따라 올바른 api version 을 써야함. Pod는 apiVersion:v1 Kind Version POD v1 Service c1 ReplicaSet apps/v1 Deployment apps/v1 2) Kind : object 유형이다. 위 표의 kind에 해당하는걸 적으면 됨. Pod는 kind: po..
2023.04.09 -
Recap -Pods
최종 목표는 쿠버네티스 클러스터의 워커노드에 컨테이너 형태의 app을 배포하는거다. 근데, 쿠버네티스는 컨테이너를 워커노드에 직접 배포하진않는다. 컨테이너는 "Pod"라고 불리는 "쿠버네티스 object" 형태로 포장된다. pod는 하나의 어플리케이션의 인스턴스다. pod가 쿠버네티스에서 생성할수있는 가장 작은 object다. 사용자가 늘면 로드를 분산할 앱을 추가해야할것이다. spin up을 어케할까? -> pod에 컨테이너를 추가할까? X 동일한 pod를 추가한다. 만약 노드가 감당할수있는 사용자수를 넘기면? 클러스터에 새 노드에 추가 pod를 배포할 수있다. 클러스터의 물리적 용량을 확장하기위해서! Pod에는 여러 컨테이너가 담길수 있다. 사용자 처리를 할때 helper container 를 쓸 수..
2023.04.09