namespace
기본 namespace
custom namespace
prometheus, argo, istio 등등의 시스템 관련 솔루션들은 독자 namespace를 할당
microservice별로 namespace를 할당하여 논리적으로 분리
namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: skills
# namespace 생성 및 확인
kubectl create ns my-app
kubectl get ns --show-labels
kubectl delete ns my-app
# 특정 namespace에 있는 자원 확인
kubectl get pod -n kube-system
kubectl get all -n kube-system
# 모든 namespace에 있는 자원 확인
kubectl get all -A
# 네임스페이스가 있는 리소스 확인
kubectl api-resources --namespaced=true
# 네임스페이스가 없는 리소스 확인
kubectl api-resources --namespaced=false
# EKS namespace Terminating에서 안넘어갈때
for ns in $(kubectl get ns --field-selector status.phase=Terminating -o jsonpath='{.items[*].metadata.name}')
do
kubectl get ns $ns -ojson | jq '.spec.finalizers = []' | kubectl replace --raw "/api/v1/namespaces/$ns/finalize" -f -
done
for ns in $(kubectl get ns --field-selector status.phase=Terminating -o jsonpath='{.items[*].metadata.name}')
do
kubectl get ns $ns -ojson | jq '.metadata.finalizers = []' | kubectl replace --raw "/api/v1/namespaces/$ns/finalize" -f -
done