Outline 이번 글에서는 서비스를 외부 클라이언트(사용자) 들에게 노출 시키는 다양한 방법에 대하여 다뤄보도록 하겠다. - Definition 서비스를 외부 클라이언트에게 노출 시키는 방법은 총 세가지 다. 서비스의 타입을 NodePort 로 세팅한다. 서비스의 타입을 Load Balancer로 세팅한다. Ingress Controller란 오브젝트를 생성해 하나의 아이피로 여러 서비스를 노출 시킨다. - 위 세가지 방법을 하나씩 알아보도록 하겠다. - NodePort Service 개별 클러스터 노드의 특정 포트를 열어서 해당 포트를 통해 트래픽을 전달받는 것을 말한다. 노드 포트 타입의 서비스를 생성하면 쿠버네티스는노드 전체에 해당 포트를 예약한다. 예를들어, 노드 포트 서비스가 포트로 30000..
Outline 이전 글에 이어서 서비스에 대하여 세부적으로 알아보도록 하겠다. - Examples Example1-Allocating Ports to Service 항목 명이 ports 인 만큼 포트 여러 개를 설정 할 수 있다. apiVersion: v1 kind: Service metadata: name: jordy-svc-alloc-port spec: ports: - name: http port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 selector: app: jordy # jordy-pod-alloc-port.yamlhttp와 https포트를 할당했다. - Example 2-Using Named Ports 친숙하지 않는 번호를..
About Service(1), Basic Concept Date: Nov 15, 2019 5:19 PM State: Writing Basic Concept Outline 클라이언트에서 실제 비즈니스 로직을 처리하는 Pod 들 사이에는 서비스가 있다. 클라이언트가 서비스의 아이피로 접근해 요청을 하면 서비스는 그 요청을 적절히 Pod에게 배분해준다. - 이러한 업무 처리 방식은 클라이언트가 Pod의 아이피를 알 필요가 없게 만든다. 그런데 놀라운 것은 서비스도 Pod의 아이피를 몰라도 운영하는데 문제가 없다. - 기존에 쿠버네티스를 사용하지 않는 환경에서는 3 Tier 기준으로 Web Server, WAS, DB 모두에 IP를 명시해줘야 한다. 물론 여기에 방화벽과 IPS, DDOS 등의 장비들이 더해지..
검색어 필터링 후 컴포넌트 삭제 Deleting components which are filtered by search text Outline 쿠버네티스를 공부하며 이런저런 시도를 하다보니 Pod의 수가 엄청나게 많아졌다. 그래서 삭제를 할려고 하니 일일히 이름을 복사 붙여넣기 해서 삭제해야 한다. O 삭제 명령어 kubectl delete po O 전체 Pod 목록 NAME READY STATUS REST ARTS AGE batch-job-wczks 1/1 Running 0 11s jordi-9r74l 1/1 Running 0 5d23h jordi-hwp4r 1/1 Running 0 5d23h jordi-liveness 1/1 Running 0 16d jordi-skxq7 1/1 Running 0 5d..
About DaemonSet State: Completion Outline Replication Controller와 Replica Set은 일정한 수의 포드를 쿠버네티스 클러스터 내에서 생성 및 운영하는 것이 목적이다. 그렇기 때문에 특정한 포드가 쿠버네티스 내에서 사라져 서비스에 문제가 생기는 일은 사라지게 된다. 그렇다면 두 Object는 개별 노드 마다 리소스 모니터 Pods를 생성해야할 때도 유용하게 쓰일 수 있을까? 두 Object가 가지는 '클러스터 내에 일정한 수의 포드를 노드의 종류와 관계 없이 생성 및 운영 한다는' 특성 탓에 이러한 니즈에는 부적절하다고 볼 수 있다. 반면에 Daemon Set은 이러한 니즈에 부합하는 Object 이다. 개별 노드 마다 로그 수집기나 리소스 모니터 등..
About Replication Controller State: Writing Outline 컨테이너는 운영 과정에서 장애를 일으키거나 죽더라도 포드가 자동으로 살려준다. 하지만 포드를 담고 있는 노드가 죽으면, 노드 내부에 있는 포드는 Replication Controller에 의해 관리되고 있지 않으면 살아나지 못한다. 이번 챕터를 통해 Replication Controller가 컨테이너 상태를 어떻게 모니터링 하고, 살아있지 않으면 자동으로 살려주는 처리가 어떻게 이뤄지는 지 배워볼 것이다. 또한, 포드가 무한정 실행되는 것과 단일 작업을 수행한 다음 중지하는 것 에 대한 것도 배워볼 것이다. - Definition 레플리케이션 컨트롤러는 일정 수 의 포드를 유지시켜주는 역할을 한다. 더 적지도 많..
기본적으로 레이블 셀렉터를 통해 확인한 포드의 갯수를 일정하게 유지하며, 부족하면 템플릿을 참조해 숫자를 늘리고 많으면 Pod를 죽인다는 점에서는 동일하다. 참고로, 레이블은 특정 포드에 붙이는 포스트 잇 같은 옵션이다. 예를 들자면, 운영 환경에 상용되는 포드에는env=pod, 개발 환경에서 사용되는 Pod에는 env=dev 그리고 해당 포드가 db 라면 app=db , 서버라면 app=ap 와 같은 형태로 관리자의 필요에 따라 여러개를 붙일 수 있다. 이렇게 붙여진 레이블은 포드 목록 조회나 이번 글 처럼 레플리카 설정 시 사용된다. 다시 본론으로 돌아와서, 레플리카 컨트롤러와 레플리카 셋의 차이점은 셀렉터 설정 방법 다양성이라고 할 수 있다. 레플리카 컨트롤러의 경우 단순히 레이블 Key, Valu..
Specific Pod`s Full YAML kubectl get po jordi-4bxm8 -o yaml Specific Pod`s Full JSON kubectl get po jordi-4bxm8 -o json Pod`s separate Fields Information kubectl explain pods Pod`s detailed fields Information kubectl explain pod.spec Examples of YAML file. apiVersion: v1 kind: Pod metadata: name: kubia-manual-test spec: containers: - image: bearstark/jordi name: jordi ports: - containerPort: 808..
- Total
- Today
- Yesterday
- Replication Controller
- Delete
- kubernetes
- k8s
- POD
- Java Memory Structure
- JVM
- 자바 메모리 구조
- JMM
- Effective Java
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |