본문 바로가기
반응형

전체 글 목록571

[쿠버네티스] 데몬셋과 스테이트풀셋의 롤링 업데이트 데몬셋데몬셋은 클러스터의 모든(또는 일부) 노드에 파드를 하나씩만 실행하므로 롤링 업데이트를 할때 잉여 파드를 만들 수 없고 삭제 후 제거 전략만 가능하다. maxUnavailable 값을 조정하여 동시에 업데이트할 노드 개수를 조절할 수는 있지만, 여러 개의 파드를 한꺼번에 제거하면 파드가 대체될때까지 그만큼 처리 용량이 감소한다.  스테이트풀셋스테이트풀셋은 자신이 지정한순서대로 파드를 관리하는데, 이 순서는 업데이트에도 적용된다. 마지막 파드부터 롤아웃을 시작해서 첫번째 파드까지 진행된다. 이를 활용하여 부 인스턴스에서 업데이트가 안정적인지 먼저 확인해 볼 수 있다. maxSurge나 maxUnavailable 설정은 사용할 수 없고 동시에 업데이트되는 파드 수는 항상 하나다. 다만 partition.. 2024. 8. 3.
[쿠버네티스] 디플로이먼트의 롤아웃과 롤백 롤아웃레플리카셋을 새로 만들어 레플리카 수를 지정된 숫자만큼 늘린 후 기존 레플리카의 레프릴카 수를 0으로 낮추는 방식 주의점디플로이먼트 정의가 변경된다고 무조건 롤아웃이 일어나지는 않음. 파드의 정의가 변경될 때만 발생한다. 리비전디플로이먼트의 버전 기록을 의미. 디플로이먼트가 새 버전으로 롤아웃될 때마다 리비전 번호가 증가하며, 이를 통해 특정 리비전으로 롤백할 수 있음 롤백 명령kubectl rollout undo deploy/web --to-revision=2 컨피그맵과 시크릿 관련 주의점1. 설정을 가변적인 요소로 보고 릴리스에 컨피그맵 수정을 포함하는 방법컨피그맵 YAML  파일의 수정이 일어나도 이름은 바뀌지 않으므로 디플로이먼트 YAML이 수정되지는 않음.=> 이 방법은 롤아웃 기록이 남지.. 2024. 8. 3.
[쿠버네티스] 스테이트풀셋 스테이트풀셋주요 용도안정된 프레임워크에서 동작하는 애플리케이션에 스케일링 기능을 제공하는 파드 컨트롤러.주로 데이터베이스, 메시지 큐, 로그 처리 시스템 등 상태 정보를 유지해야 하는 애플리케이션에 사용 특징고유한 네트워크 ID: 스테이트풀셋에서 생성되는 각 파드는 규칙적인 이름과 고유한 네트워크 ID(도메인 네임)를 가진다. 예를 들어, 파드 이름이 statefulset-0, statefulset-1, statefulset-2와 같이 부여된다.순차적 생성 및 종료: 파드는 순서대로 생성되고 종료된다. 첫 번째 파드가 Running 상태가 되면 그 다음 파드가 생성되는 식으로 동작다.apiVersion: apps/v1kind: StatefulSetmetadata: name: example-statefu.. 2024. 7. 27.
[쿠버네티스] 다양한 컨테이너 유형 정리 알아볼 유형은 크게 3가지(기본은 뺏음)1. 초기화 컨테이너2. 사이드카 컨테이너(로그 수집 등에 활용)3. 앰버서더 컨테이너(프록시 서버 등에 활용)  1. 초기화 컨테이너 (Init Containers)초기화 컨테이너는 파드(Pod) 내의 일반 컨테이너들이 시작되기 전에 실행되는 특수한 컨테이너로, 파드가 정상적으로 작동하기 위해 필요한 초기화 작업을 수행 주요 특징:순차 실행: 초기화 컨테이너는 일반 컨테이너가 시작되기 전에 순차적으로 실행됨독립된 환경: 각 초기화 컨테이너는 다른 초기화 컨테이너와 독립된 환경에서 실행되기 때문에 서로 다른 이미지를 사용할 수 있음실패 처리: 초기화 컨테이너가 실패하면, Kubernetes는 이를 재시도하며, 모든 초기화 컨테이너가 성공적으로 완료될 때까지 일반 컨.. 2024. 7. 27.
[쿠버네티스] 레플리카셋, 데몬셋 레플리카셋파드의 개수관리 - 디플로이먼트가 레플리카셋을 관리하는 컨트롤러 리소스라면 레플리카셋은 파드를 관리하는 컨트롤러 리소스- 그럼 디플로이는 왜 존재하는가? 롤링 업데이트 또는 자동롤백이 가능하려면 디플로이먼트가 있어야됨 롤링 업데이트: 새로운 버전의 애플리케이션을 배포할 때, 중단 없이 파드를 점진적으로 교체할 수 있음. 새로운 파드를 생성하면서 기존 파드를 점진적으로 종료자동 롤백: 배포 도중 문제가 발생하면 이전 버전으로 자동 롤백   데몬셋클러스터 내 모든 노드 또는 셀렉터와 일치하는 일부 노드에서 단일 레플리카 또는 파드로 동작하는 리소스 - 데몬셋을 사용해서 고가용성을 확보하는 예시: 리버스 프록시- 데몬셋은 모든 노드에 nginx 리버스 프록시를 배포함으로써 모든 노드의 고가용성을 제공.. 2024. 7. 27.
[쿠버네티스] 볼륨 종류 1. 공 디렉토리 볼륨 (emptyDir)특징:파드와 동일한 생애 주기: emptyDir 볼륨은 파드가 생성될 때 빈 디렉토리로 생성되고, 파드가 삭제될 때 함께 삭제됩니다.데이터 유지: 파드 내의 컨테이너가 재시작되거나 대체되더라도 데이터는 유지됩니다.임시 스토리지: 주로 캐시, 임시 데이터 저장소 등 일시적인 데이터 저장에 사용됩니다.예시:apiVersion: v1kind: Podmetadata: name: emptydir-examplespec: containers: - name: busybox image: busybox command: ['sh', '-c', 'while true; do sleep 3600; done'] volumeMounts: - mountPath: /d.. 2024. 7. 27.
반응형