Namespace
namespace 생성
#CLI로 생성
kubectl create namespace product
#YAML로 생성
kubectl create namespace ecommence --dry-run -o yaml > ecommence-ns.yaml
vi ecommence-ns.yaml
kubectl create -f ecommence-ns.yaml
#namespace 조회
kubectl get namespaces
NAME STATUS AGE
default Active 27d
ecommence Active 5d16h
kube-node-lease Active 27d
kube-public Active 27d
kube-system Active 27d
product Active 41s
namespace에서 Pod 실행
cat > nginx.yaml
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- image: nginx:1.14
name: nginx
ports:
- containerPort: 80
- containerPort: 443
#namespace를 지정하지 않으면, default 네임스페이스를 사용한다
kubectl create -f nginx.yaml
#default namespace에서 pod 조회
kubectl get pods -n default
#이미 시스템에서 사용하고 있는 namespace인 kube-system
kubectl get pods -n kube-system
#모든 namespace에서 pod 조회
kubectl get pods --all-namespaces
default namespace 변경하기
#product를 default namespace로 바꾸기
#현재 context 정보 확인 해보고
kubectl config view
#user context를 하나 등록하는데, namespace를 product로 세팅한다
kubectl config set-context product-admin@kubernetes --cluster=kubernetes --user=kubernetes-admin --namespace product
Context "product-admin@kubernetes" created
#추가된 context 정보 확인
kubectl config view
#추가된 컨텍스트의 유저로 사용처리한다. 이때 유저가 가지고 있는 namespace가 default namespace가 된다.
kubectl config use-context product-admin@kubernetes
Switched to context "product-admin@kubernetes".
#원복하려면 기존에 있던 kubernetes-admin@kubernetes 로 세팅
kubectl config use-context kubernetes-admin@kubernetes
Switched to context "kubernetes-admin@kubernetes".