전체 글

DevOps Security Specialist를 목표하는 Security Compliance Engineer의 블로그
Kubernetes

Kubernetes kubeadm을 활용한 클러스터 업그레이드

1. 클러스터 업그레이드 절차 kubeadm 업그레이드 마스터 노드 업그레이드 마스터 노드 kubelet, kubectl 업그레이드 워커 노드 업그레이드 워커 노드 kubelet, kubectl 업그레이드 2. kubeadm 업그레이드 kubeadm 현재 버전 확인 `kubeadm version` apt 업데이트 `apt update` 업그레이드 가능한 kubeadm 버전 확인 `apt-cache madison kubeadm` kubeadm 업그레이드 apt-mark unhold kubeadm && \ apt-get update && apt-get install -y kubeadm=1.24.0-00 && \ apt-mark hold kubeadm 업그레이드 적용 확인 `kubeadm version` 클러..

Kubernetes

Kubernetes 커든(Cordon) 및 드레인(Drain) 개념과 설정

1. 개념 커든 특정 노드를 스케줄러에서 제외시켜 파드가 할당되지 않도록 함 기존에 노드에 배포된 파드는 그대로 남아있음 드레인 특정 노드를 스케줄러에서 제외시켜 파드가 할당되지 않도록 하고, 기존에 배포된 파드를 다른 노드로 이동시킴 노드를 업데이트하는 경우 활용 가능 2. 커든 설정 2.1. 명령어 커든 적용 kubectl cordon [노드_이름] 커든 해제 kubectl uncordon [노드_이름] 2.2. 커든 적용 w3-k8s 노드에 커든 적용 후 디플로이먼트 배포 w3-k8s 노드를 제외한 다른 노드에만 배포된 것을 확인 커든을 해제하고 다른 노드의 파드를 삭제하면 w3-k8s 노드에 재배포된 것을 확인 3. 드레인 설정 3.1. 명령어 드레인 적용 kubectl drain [노드_이름] ..

Kubernetes

Kubernetes 멀티 컨테이너 파드(Multi Container Pod)와 초기화 컨테이너(Init Containers) 개념 및 설정

1. 개념 멀티 컨테이너 파드 하나의 파드에 2개 이상의 컨테이너를 실행하는 파드 파드 당 하나의 컨테이너를 운영하는 것이 일반적이지만, 목적에 따라 메인 컨테이너와 이를 보조하는 컨테이너로 구성 가능(ex. 웹 서버+로그 에이전트 등) 멀티 컨테이너 디자인 패턴으로는 사이드카 / 어댑터 / 앰버서더가 존재 초기화 컨테이너 메인 컨테이너 실행 전 초기화 역할을 수행하는 컨테이너 초기화 컨테이너의 작업이 성공적으로 완료되어야만 메인 컨테이너 실행 초기화 컨테이너의 작업이 실패할 경우 성공할 때까지 계속 재실행 초기화 컨테이너가 여러개일 경우 순차적으로 실행 2. 멀티 컨테이너 생성 yaml을 활용해 생성 apiVersion: v1 kind: Pod metadata: labels: run: test-mult..

MR. ZERO
Security & DevOps