심플코더
간단한 코딩 공간
   

글쓰기    관리    수식입력
  • 분류 전체보기 (84)
    • AWS (1)
    • JavaScript (11)
    • 개인학습 (5)
    • DB (11)
    • OS (9)
    • Network (7)
    • DevOps (0)
    • TypeScript (1)
    • 개발 (1)
    • CKA (28)
hELLO · Designed By 정상우.
심플코더

간단한 코딩 공간

CKA

(TIL) Kubernetes namespace

Intro

지금까지 다뤘던 Pod, Deployment, Service 등은 모두 특정한 Namespace에 속해 동작한다.
NameSpace를 별도로 지정하지 않으면 기본 네임스페이스인 default에서 동작하게된다.

 

Kubernetes의 기본 Namespace

default

가장 기본적으로 사용되는 네임스페이스이다.

kube-system

Kubernetes의 내부 컴포넌트들이 위치하는 곳으로 DNS, 네트워킹등이 이에 해당한다.

kube-public

모든 사용자에게 공개적으로 공유 가능한 리소스들이다.

 

왜 Namespace를 사용하는가?

Namespace를 사용함으로써 dev-prod 환경을 하나의 클러스터에서 분리해서 사용할 수 있으며, 리소스 사용량 제한을 걸거나 RBAC를 Namespace 단위로 설정할 수 있다.

 

Namespace 간 통신

같은 네임스페이스 안에서는 service의 이름으로 바로 접근이 가능하다.
예를 들어 web-service라는 이름으로 배포된 service에 web-service라는 명링으로 바로 접근이 가능하다.

다만 다른 namepsace의 서비스에 접근하려면 전체 도메인명을 사용해야하며 예시는 아래와 같다.

webservice.dev.svc.cluster.local

 

Namespace를 포함한 kubectl 명령어

kubectl get pods --namespace kube-system

kube-system namespace에 있는 pods를 조회한다.

kubectl apply -f pod.yaml --namespace dev

dev 네임스페이스에 pod.yaml 파일을 이용하여 객체를 생성한다

meatadata:
    name: web-app
    namespace: dev

yaml파일에 namespace를 명시할 수 있다.

Namespace 생성은 아래와 같이 수행할 수 있다.

apiVersion: v1
kind: Namespace
metadata:
    name: dev

혹은

kubectl create namespace dev

kubectl에서 현재 작업중인 namespace의 위치는 다음과 같이 바꿀 수 있다.

kubectl config set-context --current --namespace=dev

 

Namespace에 리소스제한 설정하기

apiVersion: v1
kind: ResourceQuota
metadata:
    name: dev-quota
    namespace: dev
spec:
    hard:
        pods: "10"
        requtests.cpu: "4"
        limits.cpu: "10"
        limits.memory: "10Gi"

'CKA' 카테고리의 다른 글

(TIL) kubectl apply의 내부 동작  (0) 2025.03.23
(TIL) Kubernetes의 imperative, declarative  (0) 2025.03.22
(TIL) Kubernetes Service  (0) 2025.03.16
(TIL) Kubernetes Deployment  (0) 2025.03.16
(TIL) Replicaset  (0) 2025.03.15
    'CKA' 카테고리의 다른 글
    • (TIL) kubectl apply의 내부 동작
    • (TIL) Kubernetes의 imperative, declarative
    • (TIL) Kubernetes Service
    • (TIL) Kubernetes Deployment
    심플코더
    심플코더

    티스토리툴바