2026/02/23 22

k8s 실전: 리소스 업데이터 및 기본 조작 명령어

kubectl set애플리케이션 리소스 수정을 위한 전용 명령어주로 Pod 을 자동 생성하는 리소스에 사용kubectl set env [옵션]Pod Template의 환경변수 수정 시 사용하는 명령어주로 사용되는 옵션-f파일명 지정 시--selector셀렉터 태그 지정 시--all--containers특정 컨테이너 지정 시--env추가/변경할 환경변수--fromconfigmap, secret 등을 수정 시kubectl set image [옵션]Pod template의 이미지 수정 시 사용하는 명령어주로 사용되는 명령어f --selector--all--containers--dry-runkubectl set subject [옵션]권한 관리(RBAC) 대상(Subject)을 추가하거나 변경할 때 사용주로..

Cloud Native/K8s 2026.02.23

k8s 실전: 리소스 관련 명령어

kubectl create -f [옵션]파일이나 표준 입력에 정의된 명세를 사용해 k8s 리소스를 생성하는 명령어각 리소스(예: deployment, service, RBAC role 등)를 하위 명령어로 가짐예 : kubectl create service ~이미 생성되어 있으면 오류를 출력주로 사용되는 옵션--edit리소스를 클러스터에 생성하기 전 편집기로 열기--dry-run리소스를 생성하지 않고 생성될 객체를 미리보기--save-configtrue 설정 시, 현재 오브젝트의 설정이 어노테이션에 저장되어 나중에 kubectl apply 시 사용--kustomizeKustomize 디렉토리를 처리해 리소스 생성-f 나 -R과 같이 사용이 불가-R(--recursive)-f 로 지정된 디렉터리를 재귀적..

Cloud Native/K8s 2026.02.23

k8s 이론: 스케줄링

스케줄링 - k8s 스케줄러kube-scheduler 란?k8s 클러스터에서 어떤 Pod를 어떤 노드에 배치할지 결정하는 기본 스케줄러Control Plane의 일부로 실행기본 스케줄러이기 때문에 사용자 정의 스케줄러를 생성해서 사용할 수 있다.새로 생성되었거나 아직 노드가 할당되지 않은 Pod를 감지하여 이 파드를 실행할 노드를 선택작동원리-노드 선택 과정2단계를 거쳐 선택하게 됨FilteringPod의 요구를 만족하는 가능 후보 노드들을 걸러냄만약 하나도 없다면 Pod는 대기상태(pending)Scoring후보 노드 중 어떤 노드가 제일 적합한지 평가하기 위해 각각에 점수를 매김, 여러 기준으로 점수가 매겨짐스코어가 가장 높은 노드에 Pod를 바인딩만약 스코어가 같다면 그 노드들 중 무작위로 선택스케..

Cloud Native/K8s 2026.02.23

k8s 이론: 보안

보안 - Pod Security Standards(PSS)PSS는 Pod가 가지는 보안 관련 설정을 검증하는 정책 레벨기존에는 PodScurityPolicy가 사용되었으나 despercated 되면서 PSS + 내부 어드미션 컨트롤러(Admission Controller)가 사용중이다.PSS의 목적은 컨테이너 격리, 권한 상승 방지, 호스트 리소스 보호등의 보안 취약점으로 직결되는 설정을 표준화시켜 제한하는데 있다.PSS 전체 보안 스펙트럼을 포괄하기 위해 3개의 정책 레벨을 제공PSS 가 정의하는 3개의 정책 레벨Privileged가장 제약이 없는 정책인프라 수준이나 신뢰된 시스템 워크로드용으로 사용BaseLine기본값기본적인 Pod 설정을 허용하되, 보안 위험이 있는 큰 설정은 제한Restricte..

Cloud Native/K8s 2026.02.23

k8s 이론: 구성

구성 - ConfigMap설정 데이터를 저장하는 API 오브젝트컨테이너 내부 코드와 설정을 분리하기 위해 사용ConfigMap 오브젝트 구조data, binaryData 필드를 통해 데이터 담음data 필드는 UTF-8 문자열을 입력하며 binaryData는 이진 데이터를 입력data와 binaryData는 영숫자, '-', '_', '.'만 포함이 가능하며 data와 binaryData의 키는 서로 중복될 수 없다.ConfigMap 이름은 유효한 DNS 서브도메인 형식(+선택)ConfigMap을 불변(immutable)로 선언할 수도 있다.Pod가 ConfigMap을 활용하는 방법환경변수컨테이너의 env, envFrom 필드를 이용해 ConfigMap의 특정 키를 환경변수로 주입해 사용가능볼륨으로 마운..

Cloud Native/K8s 2026.02.23

k8s 이론: 스토리지

스토리지 - Volumek8s에서 지원하는 볼륨은 Ephemeral Volume과 Persistance Volume 등을 지원Ephemeral은 Pod 삭제 시, 같이 삭제Persistance는 Pod가 삭제되어도 유지volume은 디렉터리 취급을 받으며 Pod 내 컨테이너에서 접근volume 을 사용하려면spec.volumes 필드에서 Pod에 제공할 volume을 지정하고 spce.containers[*].volumeMounts의 컨테이너에 해당 volume을 mount할 위치를 선언volume은 다른 volume 안에 mount될 수 없고 다른 volume에 있는 내용물을 가리키는 하드링크를 포함할 수 없다.스토리지 - Persistance Volume(PV)관리자가 프로비저닝 하거나 스토리지 클래..

Cloud Native/K8s 2026.02.23

k8s 이론: 서비스, 로드밸런싱, 네트워킹

서비스, 로드밸런싱, 네트워킹 - 개요k8s 네트워크 모델클러스터 내 각 Pod는 클러스터 전체에서 유일한 IP를 가짐Pod는 자신의 네트워크 namespace를 가지고 같은 Pod내 여러 컨테이너는 localhost로 서로 통신이 가능이 모델 내에서는 Pod들은 NAT 없이 직접 통신이 가능k8s ServicePod는 생성, 삭제, 수정 등으로 IP가 변경이 될 수 있다는 문제가 있어 이를 해결하기 위해 동적인 Pod IP를 대신할 정적인 접근점이 필요해 Service가 생김Service는 여러 Pod를 백엔드 집합으로 묶어 그 Pod들이 변경이 되어도 접근이 가능한 정적인 IP 주소나 hostname 을 제공내부적은로 k8s는 서비스 + Pod 간의 매핑정보를 가진 EndpointSlice 객체를 사..

Cloud Native/K8s 2026.02.23

k8s 이론: 워크로드

워크로드란?k8s에서 배포할 수 있는 가장 작은 컴퓨트 오브젝트인 Pod와 이를 실행하는데 도움이 되는 상위단계를 추상화한 것클러스터에서 실행되는 애플리케이션을 관리, 유지, 배포, 확장하는 단위 리소스를 총칭하는 개념k8s가 제공하는 built-in 워크로드 리소스Deployment, ReplicaSet(레거시 :ReplicationController)Deployment가 관리하는 Pod가 필요에 의하여 교체/상호교체가 용이하기 때문에 클러스터는 Stateless 애플레이션를 관리하기 좋다StatefulSet데이터 지속성이 필요한 경우처럼 상태를 가지는 애플리케이션을 위한 Pod 집합을 관리DaemonSet노드별로 하나씩 Pod를 실행해야 하는 경우 사용클러스터에 노드가 추가되면 자동으로 새 노드에 P..

Cloud Native/K8s 2026.02.23

k8s 이론: 아키텍처

클러스터란?k8s를 구성하는 기본 단위로, 클러스터에선 컨트롤 플레인과 노드 사이에선 지속적인 통신이 이뤄짐이것의 목적은 컨테이너화된 애플리케이션을 안정적으로 배포 스케일, 관리하는 것출처: https://kubernetes.io/ko/docs/concepts/overview/components/클러스터 동작 에시사용자가 Deployment 생성 요청kube-apiserver가 이를 받아 상태를 etcd에 기록kube-apiserver가 kube-scheduler에게 전달kube-scheduler가 파드를 노드에 배치kube-scheduler가 kube-apiserver에게 보고kube-apiserver가 노드에게 응답노드 내 kubelet이 노드에서 파드를 실행하고 상태를 보고kube-apiserver..

Cloud Native/K8s 2026.02.23

k8s 이론: 개요

k8s 란?컨테이너화된 워크로드와 서비스를 관리를 위한 이식과 확장이 용이한 오픈소스 플랫폼이자 컨테이너 오케스트레이션 도구k8s의 특징1. 자가 치유 및 자동화 (Self-Healing & Automation)상태 유지: 사용자가 원하는 상태를 선언한 파일인 YAML를 사용하여 k8s가 YAML 파일에 선언한대로 지속적으로 감시자동 복구: 컨테이너가 응답하지 않거나 노드에 장애가 발생하면, 즉시 새로운 컨테이너로 교체하거나 재시작하여 중단 없는 서비스를 유지2. 서비스 디스커버리 및 로드 밸런싱자동 노출: 컨테이너에 자체 IP나 DNS 이름을 부여하여 외부에서 접근하도록 유도부하 분산: 네트워크 부하를 여러 컨테이너에 골고루 배포하여 애플리케이션의 안정성을 보장3. 무중단 롤아웃과 롤백버전 관리: 서비..

Cloud Native/K8s 2026.02.23