Exercise 4.3: Resource Limits for a Namespace
Namespace 생성
kubectl create ns dev
Namespace 생성 확인
kubectl get ns dev
LimitRange 생성
cat <<EOF | kubectl -n dev create -f - apiVersion: v1 kind: LimitRange metadata: name: default-resource-range spec: limits: - default: cpu: 1 memory: 500Mi defaultRequest: cpu: 0.5 memory: 100Mi type: Container EOF
LimitRange 생성 확인
kubectl get limitranges -n dev
Deployment 생성
kubectl create deployment nginx --image=nginx -n dev
Deployment 생성 확인
kubectl get deploy,pod -l app=nginx -n dev
Pod에 할당된 리소스 확인
kubectl -n low-usage-limit get pod POD_NAME -o yaml \ | grep -A 6 -B 5 resources
OR
kubectl -n dev get pod \ $(kubectl get pod -l app=nginx -o=jsonpath='{.items[0].metadata.name}' -A) -o yaml \ | grep -A 6 -B 5 resources
리소스 할당을 명시한 Deployment 생성
cat <<EOF | kubectl -n dev create -f - apiVersion: apps/v1 kind: Deployment metadata: labels: app: apache name: apache spec: replicas: 1 selector: matchLabels: app: apache template: metadata: labels: app: apache spec: containers: - image: httpd name: apache resources: limits: cpu: "1" memory: "4Gi" requests: cpu: "0.5" memory: "500Mi" EOF
Deployment 생성 확인
kubectl get deploy,pod -l app=apache -n dev
Pod에 할당된 리소스 확인
kubectl -n low-usage-limit get pod POD_NAME -o yaml \ | grep -A 6 -B 5 resources
OR
kubectl -n dev get pod \ $(kubectl get pod -l app=apache -o=jsonpath='{.items[0].metadata.name}' -A) -o yaml \ | grep -A 6 -B 5 resources
리소스 삭제
{ kubectl delete deployment --all -n dev kubectl delete ns dev }
Last updated