일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kotlin
- CI
- API
- QueryDSL
- spring kafka
- JPA
- centos7
- producer
- Spring Data JPA
- cd
- CodePipeline
- ECS
- offsetdatetime
- Entity
- Kubernetes
- K8s
- PAGING
- git
- transactionaleventlistener
- kafka
- mysql
- topic생성
- Spring JPA
- mirror maker2
- spring
- Streams
- AWS
- entity graph
- bean
- consumer
- Today
- Total
목록K8s (4)
Yebali

kube-proxy은 Kubernetes에서 Service를 만들었을 때 Service의 가상 IP, Port를 관리하고 ClusterIP나 NodePort로 접근할 수 있게 하는 컴포넌트이다. kube-proxy는 DeamonSet이 Control Plane과 각 Node마다 실행되며 클러스터 내부 IP로 연결하려는 트래픽을 적절한 Pod로 전달한다. kube-proxy가 네트워크를 관리하는 방법은 아래 3가지가 있다. userspace 모드 클라이언트가 Service의 ClusterIP를 통해 요청을 하면 iptables을 거쳐 kube-proxy가 요청을 받는다. 그리고 Service의 ClusterIP에 연결되어야하는 적절한 Pod로 요청을 매핑한다. 요청을 분배하는 방식은 라운드 로빈 방식을 사..

Job Job은 설정한 작업이 정상적으로 완료되면 종료되고, 비정상적으로 끝나면 다시 실행하는 Pod들을 관리한다. Job을 사용하면 여러 Pod들을 병렬로 실행할 수도 있다. apiVersion: batch/v1 kind: Job metadata: name: centos-job spec: completions: 5 # 실행할 Pod의 수 parallelism: 2 # 동시에 실행되는 Pod 수 activeDeadlineSeconds: 15 # 작업에 대한 데드라인 template: spec: containers: - name: centos-container image: centos:7 command: ["bash"] args: - "-c" - "echo 'Hello World'; sleep 5; ech..

Pod Pod은 kubernetes에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 단위이다. 하나 이상의 Container를 포함하고 있으며 Pod 내에서 Container들은 스토리지와 네트워크를 공유한다. Pod에는 Pod가 시작될 때 실행되는 InitContainer 등이 포함될 수 있다. Pod은 제한된 리소스 이상을 사용하게 되면 재시작된다. apiVersion: v1 kind: Pod metadata: name: nginx # Pod 이름 spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 resources: requests: cpu: 300m memory: 500Mi limits: # Pod가 사용..

Kubernetes의 컴포넌트를 크게 분류하면 기능제 제어를 전체적으로 담당하는 Control Plane와 Node로 나눌 수 있다. Control Plane etdc Kubernetes 클러스터가 동작하기 위한 리소스의 구성 정보, 상태 정보 및 명세 등을 key-value형태로 저장하는 저장소이다. 안정적인 동작을 위해 분산해서 저장하는 구조를 가지고 있다. kube-apiservice Kubernetes 클러스터로 들어오는 요청을 가장 앞에서 받아 적절한 컴포넌트로 다시 전달하는 역할을 한다. 대표적으로 'kubectl'을 통해 요청된 명령들이 위와 같은 과정으로 처리된다. kube-scheduler Kubernetes 클러스터는 보통 여러개의 노드로 구성되어 있다. 그리고 Pod를 여러 노드 중 ..