분류 전체보기 (107) 썸네일형 리스트형 [k8s] Deployment 정리(ReplicaSet, RollingUpdate, Rollback) Deployment란?Deployment는 Pod를 직접 띄우는 리소스가 아니라, "원하는 상태(desired state)의 Pod를 안정적으로 유지/업데이트"하도록 ReplicaSet을 관리하는 상위 컨트롤러."항상 nginx Pod 2개를 유지해줘""이미지를 nginx:1.27 → 1.28로 무중단(rolling)으로 바꿔줘""업데이트가 문제 생기면 이전 버전으로 롤백해줘"이런 걸 담당.Deployment가 관리하는 흐름Deployment → ReplicaSet → PodDeployment: 업데이트 전략/버전 히스토리/롤백/스케일 등 "운영 레벨"을 관리ReplicaSet: 특정 Pod 템플릿으로 "몇 개 유지할지" 관리Pod: 실제 컨테이너 실행 단위즉, Deployment를 만들면 보통 내부적으.. [k8s] 스케줄링 기본기: nodeSelector / nodeAffinity / podAntiAffinity로 Pod 배치 제어하기 (실습 포함) 1. nodeSelector: 가장 단순한 "노드 라벨 매칭"nodeSelector는 Pod가 특정 노드 라벨을 만족할 때만 스케줄되도록 강제한다.특징라벨 key: value를 정확히 매칭조건은 사실상 AND만 가능(표현력이 제한적)언제 유용한가?"이 Pod는 SSD 노드에서만"처럼 단순한 강제 배치예시apiVersion: v1kind: Podmetadata: name: ns-podspec: nodeSelector: disktype: ssd containers: - name: app image: nginx:1.27 확인 커맨드kubectl get pod ns-pod -o widekubectl describe pod ns-pod2. nodeAffinity: nodeSelector의 확장판.. [k8s] Secret 정리 (ConfigMap 차이) 개요Kubernetes를 쓰다 보면 "설정값을 Pod에 어떻게 안전하게 전달하지?"라는 상황이 자주 생긴다.이때 사용하는 대표 리소스가 ConfigMap과 Secret인데, 둘은 주입 방식(Env/Volume)이 거의 동일하지만 저장하는 데이터 성격과 보안 관점에서 중요한 차이가 있다.1. Secret이란?Secret은 비밀번호, 토큰, 인증서 같은 "민감한 값"을 Kubernetes 리소스로 저장하고 Pod에 주입하는 방식이다. 예를 들어 아래 같은 값들이 Secret으로 관리된다.DB 계정/비밀번호API Key / Access TokenTLS 인증서 / 개인키Docker Registry 로그인 정보즉, Secret의 역할은 간단히 말해:"민감한 설정값을 클러스터에 저장해두고, 필요한 Pod에만 전달해.. Sublime Text 맥 단축키 총정리: 사람들이 가장 많이 찾는 핵심만 Sublime Text는 기본 기능만 잘 사용해도 작업 속도가 확 달라지는 편집기입니다.특히 빠른 이동(⌘P), 멀티 커서(⌘D), 검색/치환(⌘F / ⌘⌥F) 이 세 가지가 익숙해지면 코드를 고치거나 텍스트를 정리하는 시간이 눈에 띄게 줄어듭니다. 이 글에서는 "전체 단축키 목록"처럼 길게 나열하지 않고, 실제로 사람들이 검색해서 많이 찾는 단축키 위주로 정리했습니다.맥 기준이며 기본 키맵을 기준으로 설명합니다. 댓글로 추천하고 싶은 단축키가 있으면 남겨주세요. 확인 후 본문에 추가하겠습니다.더보기macOS 단축키 표기 ⇧ : Shift⌃ : Control (Ctrl)⌘ : Command⌥ : Option (Alt)⌫ : Delete / Backspace⏎ : Enter / Return⇥ : Tab⎋ .. [k8s] ConfigMap 정리(Env/Volume 주입, 변경 반영, 실습 포인트) ConfigMap 한 줄 요약ConfigMap은 "쿠버네티스 클러스 안에 설정값을 저장해두고 Pod에서 꺼내 쓰게 해주는 리소스"이다.ConfigMap을 쓰는 이유1) 이미지와 설정을 분리컨테이너 이미지는 바꾸지 않고, 설정만 바꿔서 다른 환경에 배포할 수 있다.이미지: myap:1.0 (고정)설정: APP_MODE=dev / APP_MODE=prod (환경별 ConfigMap)2) YAML로 관리 가능 (GitOps / 추적 / 롤백에 유리)ConfigMap은 Kubernetes 오브젝트라스 kubectl apply 로 배포하고 변경 이력을 남기기 쉽다.3) Pod에 주입 방식을 표준화앱에서 설정을 읽는 방식(환경변수/파일)에 맞춰 ConfigMap을 깔끔하게 연결할 수 있다.ConfigMap은 "로컬.. [k8s] kubectl 자동완성(Tab completion) 설정하기 : zsh에서 kubectl completion 켜는 방법 더보기zsh란?zsh(Z shell)는 유닉스 계열(macOS/Linux)에서 많이 쓰는 커맨드 라인 셸(shell) 이다.사용자가 입력한 명령어를 해석해서 실행해주고, 히스토리/자동완성/환경변수/alias 같은 기능을 제공한다.macOS는 최근 버전에서 기본 셸이 bash에서 zsh로 변경되었고, 그래서 Mac 환경에서 zsh 기반 설정을 많이 한다.대표적인 셸 종류는 무엇인지?셸(shell)은 흔히 아래 종류들을 만난다.sh: 전통적인 유닉스 셸(표준의 기반)bash: Linux에서 가장 흔한 셸zsh: macOS 기본 셸로 많이 사용(완성/확장 기능이 풍부)fish: 사용성 중심(설정 쉬움, 자동완성 강함)ksh: Korn shell(전통/기업 환경에서 가끔)PowerShell: Windows 대표.. [k8s] namespace 구분 개요namespace를 사용하다보면 --namespace, ns, -n 같이 사용하는데 구분이 어려운 경우가 많다.이를 구분해보자. 1) --namesapce vs -n : 같은 뜻 (동일 기능)둘 다 "이 명령을 어느 네임스페이스 대상으로 실행할지" 지정kubectl get pods -n cka-practicekubectl get pods --namespace=cka-practice→ 결과 동일2) ns (옵션 아님)1) kubectl get ns여기서 ns는 리소스 타입 "namespaces"의 축약어kubectl get ns= 아래와 같은 의미:kubectl get namespaces즉,ns는 "네임스페이스를 지정한다"가 아니라"namespace라는 리소스를 조회한다"라는 뜻 [k8s] 컨텍스트(context)에 대해 알아보자 컨텍스트(context) 한 문장 정의컨텍스트는 kubectl이 명령을 실행할 때 사용할 "기본 접속 설정(프로필)"이다.즉, kubectl이 어느 클러스터에, 어떤 인증으로, 기본적으로 어느 네임스페이스에서 작업할지를 한 세트로 묶어두는 것.왜 이런 게 필요할까?쿠버네티스를 사용하다보면 보통 이런 일이 생긴다:로컬 kind 클러스터도 있고 (local)회사 dev 클러스터도 있고 (dev)회사 prod 클러스터도 있고 (prod)같은 클러스터여도 계정이 여러 개일 수 있음 (admin / readonly 등)근데 매번 명령 칠 때마다"이번엔 어떤 클러스터?""이번엔 어떤 계정?""기본 네임스페이스?"이걸 다 적어주기 어려움.그래서 '한 번 고른 기본값 세트'를 만들어 놓고, kubectl은 그냥 "현.. 이전 1 2 3 4 ··· 14 다음