CLOUD/Docker&Kubernetes

[Kubernetes] Namespace

alsruds 2023. 5. 1. 14:25

어 ?

쿠버네티스 대시보드에 네임스페이스 한 번 만들러 갈래 ?

 

그래 따라와 ~

 


 

(1) Namespace 설정 방법

# Namespace 생성
apiVersion: v1
kind: Namespace
metadata:
  name: nm-1
  
# Pod 생성
apiVersion: v1
kind: Pod
metadata:
  name: pod-1
  namespace: nm-1		# Namespace 지정
spec:
  containers:
  - name: container
    image: ubuntu:latest
    command: ["/bin/sh", "-ec", "while :; do echo '.'; sleep 5 ; done"]

 

 

(2) ResourceQuota

▷ 네임스페이스별 총 리소스 사용을 제한하는 제약 조건 제공 : 오브젝트 수 / 총 컴퓨트 리소스 양 제한

클러스터 공유 시, 과도한 사용을 제한하기 위한 도구

# Namespace 생성
apiVersion: v1
kind: Namespace
metadata:
  name: nm-2
  
# ResourceQuota 생성
apiVersion: v1
kind: ResourceQuota
metadata:
  name: rq-1
  namespace: nm-2
spec:
  hard:		# 메모리 제한
    requests.memory: 1Gi
    limits.memory: 2Gi
    
# Pod 생성
apiVersion: v1
kind: Pod
metadata:
  name: pod-1
  namespace: nm-1
spec:
  containers:
  - name: container
    image: ubuntu:latest
    command: ["/bin/sh", "-ec", "while :; do echo '.'; sleep 5 ; done"]
    resources:
      requests:
        memory: 500Mi
      limits:
        memory: 1Gi

 

 

(3) LimitRange

하나의 파드 또는 컨테이너가 ResourceQuota 에서 생성한 모든 리소스를 독점하는 것을 방지

# Namespace 생성
apiVersion: v1
kind: Namespace
metadata:
  name: nm-3

# ResourceQuota 생성
apiVersion: v1
kind: ResourceQuota
metadata:
  name: rq-2
  namespace: nm-3
spec:
  hard:
    requests.memory: 1Gi
    limits.memory: 2Gi

# LimitRange 생성
apiVersion: v1
kind: LimitRange
metadata:
  name: lr-1
  namespace: nm-3
spec:
  limits:
  - type: Container
    min:
      memory: 0.1Gi		# 최소 메모리
    max:
      memory: 0.4Gi		# 최대 메모리
    maxLimitRequestRatio:
      memory: 3			# 최소/최대 비율 제한
    defaultRequest:
      memory: 0.1Gi
    default:
      memory: 0.2Gi
      
# Pod 생성
apiVersion: v1
kind: Pod
metadata:
  name: pod-1
  namespace: nm-3
spec:
  containers:
  - name: container
    image: ubuntu:latest
    command: ["/bin/sh", "-ec", "while :; do echo '.'; sleep 5 ; done"]
    resources:
      requests:
        memory: 0.15Gi
      limits:
        memory: 0.3Gi