본문 바로가기

카테고리 없음

note: namespace

--명령어로 생성 
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.