Kubernetes 13

Canary deployment를 k8s deployment에만 설정하지 않고 istio에도 설정하는 이유

🎯 핵심 질문:“이미 Kubernetes의 Deployment에서 Pod가 점진적으로 교체되는데,왜 Istio에서 트래픽 비율로 나눠서 배포하는 거야?”🔥 간단 요약부터:✅ Kubernetes의 롤링 업데이트는 Pod 수 기준의 점진적 배포✅ Istio의 트래픽 분할은 실제 요청 트래픽 기준의 점진적 배포이 두 개는 완전히 다른 관점에서 점진적 배포를 해석하고 있는 거야.🔍 구체적 비교 Kubernetes Deployment Istio Traffic Split기준몇 개의 Pod가 v1 → v2로 바뀌었는가?사용자의 요청 중 몇 %가 v2로 가는가?예시5개 중 1개씩 새로운 Pod로 교..

Kubernetes 2025.04.16

kubectl top 명령어 사용하기

일반적인 쿠버네티스 환경에선 Metrics Server가 기본적으로 설치되어 있지 않습니다. Metrics Server 설치 및 kubectl top 명령어를 사용하게되면 나타는 예시에 대해 작성합니다.1. Metrics Server 설치kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml2. Metrics 배포 상태 확인kubectl get deployment metrics-server -n kube-system정상적으로 설치되었다면 pod가 ready 상태로 나타나게됩니다.NAME READY UP-TO-DATE AVAILABLE A..

Kubernetes 2025.03.18

Docker Storage Driver란?

📌 Docker Storage Driver란?✅ Docker Storage Driver(스토리지 드라이버) 는 Docker 이미지와 컨테이너 파일 시스템을 관리하는 역할✅ UnionFS(Union File System) 개념을 기반으로 계층적 레이어 구조를 지원✅ 컨테이너가 실행될 때, 이미지 레이어를 기반으로 읽기-쓰기(Write Layer) 레이어를 추가📌 쉽게 말하면?Docker의 Storage Driver는 이미지의 레이어(layered) 구조를 가능하게 하는 핵심 요소여러 개의 읽기 전용(Read-Only) 레이어를 쌓아 올리고, 컨테이너 실행 시 읽기-쓰기(Write) 레이어를 추가이를 통해 이미지를 효율적으로 저장 및 공유할 수 있으며, 컨테이너가 종료되면 변경된 내용이 삭제됨1️⃣ Do..

Kubernetes 2025.02.27

nodeName과 nodeSelector 차이

두 명령어 전부 특정 노드에 pod를 스케줄링하기 위한 방법임.하지만 작동 방식과 사용 목적이 다름1. nodeName설명:Pod가 특정 노드에서만 실행되도록 강제합니다.스케줄러가 아니라, 사용자가 직접 노드를 명시합니다.Pod가 지정된 노드에서 실행될 수 없으면 다른 노드로 스케줄되지 않고 실패합니다.사용 예시:cks7262-node2 노드에서만 Pod가 실행됩니다. spec:     nodeName: cks7262-node2 특징:스케줄링을 완전히 우회하여 특정 노드를 직접 지정합니다.단순한 테스트나 강제 배포용으로 적합합니다.Pod가 실패하면 다른 노드로 재스케줄링되지 않습니다.2. nodeSelector설명:특정 노드에서만 실행되도록 제한하기 위해 노드의 레이블을 기준으로 필터링합니다.스케줄러가 ..

Kubernetes 2024.12.19

App-armor 1.30 이후 변경 사항 (securityContext)

Kubernetes v1.30부터는 annotations 대신 securityContext에서 AppArmor 프로필을 설정할 수 있습니다.Kubernetes의 securityContext를 사용하여 AppArmor 프로필을 적용하는 방법은 다음과 같습니다.Pod의 YAML 수정Pod YAML에서 securityContext를 사용하여 AppArmor 프로필을 설정합니다.Pod 전체 또는 특정 컨테이너에 대해 AppArmor 프로필을 적용할 수 있습니다.Pod 수준에서 AppArmor 프로필 적용Pod 전체에 AppArmor 프로필을 적용하려면 다음과 같이 설정합니다:spec: securityContext: appArmorProfile: type: Localhost localho..

Kubernetes/CKS 2024.11.26

pod 간 통신 확인 하는 법 (nc)

컨테이너로 사용되는 pod들은 패키지가 최소로 설치되기때문에 대중적으로 사용되는 curl 명령어가 설치가 안되어 있는 경우도 많다.그럴때 사용하는 명령어를 작성하고자 한다.pod에서 incoming connection을 보고자 할 때# 원하는 pod에 진입  # 원하는 pod에 진입 kubectl exec -it 파드명 -- sh# nc 명령어로 통해 서비스 통신 포트 확인 nc -v -z -w 2 서비스명 80해당 포트가 열려 있을 경우 서비스명 (IP명:80) open 이라 나타난다.  nc 명령어 주요 옵션은 다음과 같다.-v (verbose):이 옵션은 상세 출력 모드를 활성화합니다. 연결 시도에 대한 자세한 정보를 제공하여 무슨 일이 일어나고 있는지 더 명확하게 볼 수 있습니다.-z (zero..

Kubernetes 2024.09.23

CKA 문제 업데이트 공지 // 2024년 11월 25일 이후

최종 출시 날짜는 정해지지 않았지만, 2024년 11월 25일 이전에는 변경 사항이 적용되지 않는다고 합니다. CKA에서 무엇이 바뀌나요? CKA 도메인(예: 저장소, 문제 해결 등)은 변경되지 않지만, 각 도메인 제목 아래에 설명된 대로 역량에 대한 향후 변경 사항(일부 추가/삭제 및 업데이트된 언어)을 검토하세요.업데이트된 릴리스 이후에 치러지는 모든 CKA 시험은 새로운 도메인 및 역량 세트에 대해 테스트됩니다(업데이트는 아래 참조).참고: 시험 예약이 첫 시도 또는 재시험인지는 중요하지 않으며, 시험 구매를 완료한 날짜도 중요하지 않습니다. 중요한 날짜는 시험을 보는 날짜뿐입니다.    인증된 Kubernetes 관리자(CKA)는 다음을 수행할 수 있습니다. 기본 설치는 물론, 프로덕션 등급의 K..

Kubernetes/CKA 2024.09.10

CKA 자격증 취득 후기

---# 시험 환경 이슈모니터를 큰 것으로 시험을 치고 싶어 웹캠을 구매 후 집에서 시험을 진행했는데, 사놓은 웹캠이 깜빡거려서 시험을 치루지 못하였다..분명 카메라 테스트까지도 다 했었는데 몇 분마다 깜빡 거리는 것에 대해선 테스트할 겨를이 없어 실제 시험 환경 테스트 도중  부정 행위로 간주되어 시험을 치루지도 못하고 환경 테스트 도중 끝났다..매우 황당한 경험이였고.. 바로 쿠X에서 구매한 저렴한 웹캠을 판매한 뒤 6만원 정도 되는 웹캠을 구매하여 시험을 정상적으로 치룰 수 있게 되었다.나중에 알고보니 노트북에 모니터를 연결하여 노트북을 덮고 모니터로만 시험을 치루는 게 가능하다 합니다..큰 화면으로 시험을 진행하고 싶은 분들은 꼭 웹캠을 구매 안하셔도 된다는 점..메모장을 시험 도중에 애용하려했는..

Kubernetes/CKA 2024.09.10

Static Pod는 왜 namespace 지정이 안될까?

그것은 static pod의 특성때문이다.스태틱 파드의 특성네임스페이스 지정 불가: 스태틱 파드는 Kubernetes에서 직접 관리하는 것이 아니라, 노드의 kubelet에 의해 관리된다. 스태틱 파드의 설정 파일을 배치할 때, 파드의 메타데이터에 namespace 필드를 지정할 수 없으며, 기본적으로 default 네임스페이스에 배치됨. 따라서 k get pod -n node01 명령어로 조회하려고 했을 때, node01이라는 네임스페이스가 존재하지 않으므로 파드가 조회되지 않는 것이였다..스태틱 파드는 노드에 종속: 스태틱 파드는 특정 노드에서 실행되며, 해당 노드의 /etc/kubernetes/manifests/ 디렉토리 안에 YAML 파일을 배치하여 생성됨.따라서 해당 파드는 지정된 노드에서만 실..

Kubernetes/CKA 2024.08.20