쿠버네티스는 크게 1.오브젝트와 2.컨트롤러로 나뉜다. 사용자는 템플릿 등으로 쿠버네티스에 자원의 Desired State(바라는 상태)를 정의하고 컨트롤러는 Desired State(바라는 상태)와 현재 상태가 일치하도록 오브젝트들을 생성/삭제 한다.
...
...
네임스페이스는 쿠버네티스 클러스터 하나를 여러 개 논리적인 단위로 나누어서 사용하는 것이다.
쿠버네티스를 처음 설치하게 되면 기본적인 몇 개의 네임스페이스가 생성된다.
default
: 기본 네임스페이스이다. 쿠버네티스에서 별도의 네임스페이스를 지정하는 명령어를 입력하지 않는이상 default
네임스페이스에 적용한다.
kube-system
: 쿠버네티스 시스템에서 관리하는 네임스페이스로 관리용 파드나 설정이 있다.
kube-public
: 클러스터 안 모든 사용자가 읽을 수 있는 네임스페이스이다.
⇒ 모두가 볼 수 있기 때문에 클러스터 사용량 같은 정보를 여기서 관리함.
kube-node-lease
: 각 노드의 임대 오브젝트(Lease Object)들을 관리하는 네임스페이스
Lease Object?
: Lease Object는 클러스터가 확장될 때 노드의 하트비트 성능을 향상시키는 역할을 하는 오브젝트이다.
컨텍스트 정보 확인
# 1. 현재 컨텍스트 확인
kubectl config current-context
docker-desktop
# 2. 컨텍스트 정보 확인
kubectl config get-contexts docker-desktop
기본 네임스페이스 변경
kubectl config set-context docker-desktop --namespace=kube-system
# 혹은
kubectl config set-context $(kubectl config current-context) --namespace=kube-system
*kubens라는 툴 사용 시 쉽게 기본 네임스페이스를 변경할 수 있다.
모든 네임스페이스의 모든 파드 출력
kubectl get pods --all-namespaces