profile
멋있는 백엔드 개발자
post-thumbnail

Authentication / Authorization

Cluster에는 접근할 때 필요한 정보(CA crt, Client crt, Client key)가 들어있는 kubeconfig라는 파일이 존재외부에서 Client Key와 Client crt를 가지고 https로 API Server에 접근이 가능kubectl은 kub

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

AutoScaler

HPA를 Controller에 연결하면 HPA가 해당 Controller의 Pod 자원 사용량을 체크임계치 이상 자원을 사용하면 Controller의 replicas를 늘려 Pod을 scale out 시킴적절한 조건기동이 빠르게 되는 App에 적용해야 함Stateles

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

Ingress

Pod마다 Service를 연결한 후 path에 따라 트래픽을 연결시켜 줌업그레이드 할 Pod에 별도의 Service를 연결시킨 후 설정한 비율의 트래픽을 업그레이드 할 Pod으로 연결시킬 수 있음Ingress Controller라고 부르는 Ingress를 구현할 별도

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

StatefulSet

Stateless Application VS Stateful Application | | Stateless Application | Stateful Application | | --- | --- | --- | | 역할 | 단순 복제 | 각자 역할을 가짐 | | 재생성 | 같은 서비스의 역할을 하는 앱을 생성 앱 이름 달라도 상관 없음 | Down된 앱과...

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

DaemonSet, Job, CronJob

ReplicaSet은 node의 자원 상황에 따라 scheduler가 판단하여 Pod을 배치함selector 과 template 을 지정해 template으로 각 node에 Pod을 생성하고 selector로 Pod의 label과 연결특정한 Node에만 배포하고 싶을

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

Deployment

기존 Pod들을 전체 삭제하고 새로운 Pod들을 만든 후 트래픽을 연결하는 방식특징삭제 후 새로운 버전의 Pod생성까지 시간만큼 Down Time 발생하는 단점방법기존 버전의 Pod를 삭제하고 새로운 버전의 Pod를 생성새로운 Pod을 한번에 설정한 갯수만큼 만들어 연

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

ReplicaSet, Replication Controller

Pod를 재생성할 때, 어떤 Pod를 재생성할 지에 대한 templateTemplate을 update한 후 pod를 재생성하면 업데이트 된 버전으로 재생성함기존에 연결된 Pod들은 자동으로 변경되지 않음Template에 Pod의 이름을 명시해도 replicas가 2 이

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

Controller

ReplicaSet, Replication ControllerDeploymentDaemonSet, Job, CronJobStatefulSetIngressAutoScaler어떤 Node에 있는 Pod 또는 해당 Node가 죽으면, controller는 관리하는 Pod을

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

Namespace / ResourceQuota / LimitRange

하나의 Cluster 내 pod들을 Namespace로 묶어서 관리특정 Namespace의 자원 독점 방지를 위해 Resource Quota를 두어 총 사용 가능한 자원을 제한Limit Range를 두어 Namespace에 들어올 pod의 크기를 제한Namespace

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

ConfigMap / Secret

환경(dev, pord)에 따라 변하는 설정과 관련된 값들을 관리하는 Object환경에 대한 값들이 서비스 내부에서 관리되면 바뀔때마다 이미지 전체를 관리해줘야 함환경 값에 따라 다른 이미지가 만들어지기 때문에 많은 이미지를 저장, 관리해야 함클러스터 내 다른 서비스에

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

Volume

pod내의 container끼리 데이터를 공유하기 위한 volumepod내에 생성되기 때문에 pod 삭제시 함께 삭제됨 → 일시적으로 사용하는 데이터만 저장node의 path를 volume으로써 사용pod가 삭제되더라도 데이터는 유지주의 사항pod 재생성시 기존 nod

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

Service

Service 특징 Service는 default로 해당 클러스터의 ip를 가짐 pod를 Service에 연결하면 클러스터 ip로도 연결된 pod의 포트로 접근할 수 있음 pod는 재생성되면 ip가 변경되므로 service를 연결하여 service의 i

2022년 11월 15일
·
0개의 댓글
·

QoS Classes (Quality of Service)

class의 우선 순위에 따라 down 되지 않도록 더 낮은 Pod를 down 시킨 후 자원을 분배모든 Container에 request와 limit가 설정되어 있어야request, limit에는 memory와 cpu가 모두 설정되어 있어야각 Container 내에 m

2022년 11월 15일
·
0개의 댓글
·

Node Schedule

Node 생성 시 Label을 등록하고 Pod에 해당 node의 label을 작성현재 node들의 남은 자원을 기준으로 판단하여 적절한 Node에 배치node1의 잉여 메모리: 1Ginode2의 잉여 메모리: 4Gi새로운 Pod의 필요 메모리: 2Gi→ 스케쥴러가 no

2022년 11월 15일
·
0개의 댓글
·

Pod Life Cycle

Pod의 전체 상태를 대표하는 속성pendingrunningsucceededfailedunknownPod가 생성되면서 실행하는 단계와 상태를 알려주는 속성ConditionsInitializedContainerReadyPodScheduledReadyReason (stat

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

Pod

하나의 Pod 내에는 여러 컨테이너를 가질 수 있다.컨테이너들끼리는 같은 host를 공유localhost를 이용해 상호 접근 가능같은 포트가 여러 컨테이너에 할당되지 못함Pod가 생성되면 IP가 자동 할당클러스터 내에서만 해당 IP로 접근 가능pod 재생성 시 IP 변

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

[RabbitMQ] Prefetch와 성능

Queue의 메시지를 Consumer의 메모리에 쌓아둘 수 있는 최대 메시지의 양이다.만약 Prefetch = 250일 경우, RabbitMQ는 250개의 메시지까지 한번에 consumer의 메모리에 Push한다.그 후 Consumer는 메모리에서 메시지를 하나씩 꺼내

2022년 7월 7일
·
0개의 댓글
·
post-thumbnail

[RabbitMQ] 기초 개념

AMQP를 구현한 오픈소스 메세지 브로커이다.producers에서 consumers로 메세지(요청)를 전달할 때 중간에서 브로커 역할을 한다.사용하는 케이스는 다음과 같다.요청을 많은 사용자에게 전달할 때요청에 대한 처리시간이 길 때많은 작업이 요청되어 처리를 해야할

2022년 7월 7일
·
0개의 댓글
·
post-thumbnail

Checked/Unchecked Exception

Java에는 Checked Exception과 Unchecked Exception(Runtime Exception)이 있다.예외 복구예외 처리 회피예외 전환예외 상황 파악 후 문제를 해결하는 방법예외를 catch해서 일정 시간, 조건만큼 대기 후 다시 재시도 반복최대

2022년 4월 22일
·
0개의 댓글
·
post-thumbnail

인터페이스 default/static method

자바 8버전 이후부터 인터페이스에 기본 메소드(default method)와 스태틱 메소드(static method)를 사용할 수 있다.여러 구현체들이 한 인터페이스를 구현하고 있을 때, 인터페이스에 어떤 기능을 추가하기 위해서는 그것을 구현한 구현체들 모두에서 기능에

2022년 2월 17일
·
0개의 댓글
·