쿠버네티스 리소스

JooHeon·2024년 12월 23일
0

쿠버네티스 클러스터를 관리하려면 kubectl과 메니페스트 파일로 컨트롤 플레인에 리소스를 등록해야한다.
매니페스트 파일은 yml 혹은 json으로 구성되는 메타정보를 나타내고 kubectl은 매니페스트 파일로 컨트롤 플레인의 api에 요청을 보낸다.

쿠버네티스 리소스 카테고리는 해당 문서에서 참조할 수 있다
매니페스트 파일에서 kind는 리소스의 종류를 나타내고 각 종류에따라 spec이 달라진다
쿠버네티스는 crd로 확장성을 제공하고 클라우드 컴퓨팅을 제공하는 업체에서는 이를 통해 자사 서비스를 제공한다

워크로드 리소스에서 많이 사용되는 것은 deployment로 depolyment 하위에 replicaSet이 있고 그 하위에 pod가 있다
만약 deployment, replicaSet, pod 리소스를 모두 등록했으면 deployment만 적용된다

deployment의 기본 배포전략은 rollingUpdate로 새로운 인스턴스를 1개씩 생성하고 실행되어있는 인스턴스를 1개씩 제거한다
장점으로는 인스턴스 1개 만큼의 비용으로 무중단 배포가 가능하고 단점으로는 구 버전과 신 버전 트래픽이 동시에 존재할 수 있다
Blue/Green 배포전략은 실행되어있는 인스턴스 갯수만큼 새로운 인스턴스를 생성하고 실행되어있는 인스턴스를 제거한다
장점으로는 신 버전 트래픽만 존재하며 단점으로는 인스턴스 수 만큼 띄워야하는데, 이는 항상 서버의 리소스가 50%를 넘으면 안 된다는 의미이기도 하다
Recreate는 모든 인스턴스를 제거하고 새로운 인스턴스를 생성한다.

서비스 리소스
일반적으로 csp에 alb(https 인증서 서비스, 내부 http 라우팅등)이 구성되어있다. 이 경우 쿠버네티스 내부에서 lb를 사용할 필요가 없어서 인그레스 컨트롤러는 생성하지 않는다.
고성능 lb가 필요한 경우 l4 lb를 csp에 두고 인그레스 컨트롤러를 통해 l7 lb를 할 수도 있다.

0개의 댓글