--명령어로 생성
root@k8s-master-00:~# kubectl create namespace ns-01
namespace/ns-01 created
root@k8s-master-00:~# kubectl get namespace
NAME STATUS AGE
~~
ns-01 Active 8s
~~
--yaml 파일 을 이용하여 두번째 네임스페이스 생성
root@k8s-master-00:~# vim ns-02.yaml
apiVersion: v1
kind: Namespace
metadata:
name: ns-02
root@k8s-master-00:~# kubectl apply -f ns-02.yaml
namespace/ns-02 created
root@k8s-master-00:~# kubectl get namespace
NAME STATUS AGE
~~
ns-01 Active 2m32s
ns-02 Active 24s
~~
--생성시 Memory 사용률 제한으로 생성
--네임스페이스 생성
root@k8s-master-00:~# kubectl create namespace ns-03
namespace/ns-03 created
root@k8s-master-00:~# kubectl get namespace
NAME STATUS AGE
~~
ns-01 Active 4m38s
ns-02 Active 2m30s
ns-03 Active 1s
~~
root@k8s-master-00:~# vim memory-defaults.yml
apiVersion: v1
kind: LimitRange
metadata:
name: mem-limit-range
spec:
limits:
- default:
memory: 512Mi
defaultRequest:
memory: 256Mi
type: Container
~
--특정 네임스페이스에 적용
root@k8s-master-00:~# kubectl apply -f memory-defaults.yml --namespace=ns-03
limitrange/mem-limit-range created
root@k8s-master-00:~# kubectl describe namespace ns-03
Name: ns-03
Labels: kubernetes.io/metadata.name=ns-03
Annotations: <none>
Status: Active
No resource quota.
Resource Limits
Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio
---- -------- --- --- --------------- ------------- -----------------------
Container memory - - 256Mi 512Mi -
--ns-02와 비교
root@k8s-master-00:~# kubectl describe namespace ns-02
Name: ns-02
Labels: kubernetes.io/metadata.name=ns-02
Annotations: <none>
Status: Active
No resource quota.
No LimitRange resource.
root@k8s-master-00:~# vim memory-defaults-pod.yml
apiVersion: v1
kind: Pod
metadata:
name: default-mem-demo
spec:
containers:
- name: default-mem-demo-ctr
image: nginx
root@k8s-master-00:~# kubectl apply -f memory-defaults-pod.yml --namespace=ns-03
pod/default-mem-demo created
--namespace default 아니므로 안보임
root@k8s-master-00:~# kubectl get pod
NAME READY STATUS RESTARTS AGE
mysql-6875f6767-g2q7h 1/1 Running 1 (114m ago) 24h
--따로 지정
root@k8s-master-00:~# kubectl get pod -n ns-03
NAME READY STATUS RESTARTS AGE
default-mem-demo 1/1 Running 0 29s
--pod 정보 확인
root@k8s-master-00:~# kubectl get pod default-mem-demo --output=yaml --namespace=ns-03
~~
spec:
containers:
- image: nginx
imagePullPolicy: Always
name: default-mem-demo-ctr
resources:
limits:
memory: 512Mi
requests:
memory: 256Mi
~~
--삭제
root@k8s-master-00:~# kubectl delete namespace ns-01
namespace "ns-01" deleted
root@k8s-master-00:~# kubectl delete namespace ns-02
namespace "ns-02" deleted
root@k8s-master-00:~# kubectl delete namespace ns-03
namespace "ns-03" deleted
root@k8s-master-00:~# kubectl get pod -n ns-03
No resources found in ns-03 namespace.