# 네임스페이스 개념과 실습
- 컴퓨터 OS 하드디스크에서 폴더의 개념이 네임스페이스 이다.
- 리소스를 각각의 분리된 영역으로 나눌수 있다.
- 여러 네임스페이스를 사용하면 쿠버네티스 시스템을 더 작은 그룹으로 분할
- 여러 서버로 분리된 하나의 게임에서의 자신만의 유니크한 id를 생성하여 사용한다는 개념으로 이해 할 수있다.
# 네임스페이스 생성하기
kubectl create ns office
kubectl create ns office2 --dry-run=client -o yaml
kubectl create ns office2 --dry-run=client -o yaml > office-ns.yaml
cat office-ns.yaml
# 생성한 namespace 에 자원을 할당하기
kubectl create deploy nginx --image nginx --port 80 -n office
- 위의 명령어를 실행하면 kubectl get pod 에서는 조회가 불가능하다.
# namespace 조회하기
kubectl get all -n office
- 위의 명령으로 서비스 실행 상태를 확인이 가능하다.
# 모든 namespace 를 조회하는 방법
kubectl get all --all-namespaces
kubectl get pod
# namespace 세팅하기
gedit ~/.kube/config
- 파일 오픈 후 context항목에 namespace: office 를 추가한뒤 저장한다.
kubectl get pod
- 조회를 해보면 namespace 에 등록한 nginx 서비스만 보이는것을 확인 할 수있다.
# namespace 삭제
kubectl delete ns office
kubectl get all
- office 정보가 조회되지 않으므로, 삭제가 되었다고 보면 된다.
- namespace를 통채로 삭제하면 그 하위 모든 정보들도 함께 삭제가 된다.
# 네임스페이스 연습문제 실습
# 현재 시스템의 네임스페이스 확인하기
kubectl get ns
- 줄수의 갯수를 세어서 화면에 표시하는 명령어
kubectl get ns | wc -l
# kube-system에 몇개의 pod가 존재 하는가?
kubectl get pod -n kube-system
kubectl get pod -n kube-system | wc -l
# 모든 네임스페이스의 갯수 확인
kubectl get pod --all-namespaces | wc -l
# 젠킨스의 네임스페이스를 배치하고 pod를 배치하라
- pod 예제 가져오기 > 쿠버네티스 공식사이트 > pod 검색 > Pod Overview > kind: 검색 > 정보 복사하여 가져오기
# 네임스페이스 생성
kubectl create ns ns-jenkins --dry-run=client -o yaml
kubectl create ns ns-jenkins --dry-run=client -o yaml > jenkins-ns.yaml
gedit jenkins-ns.yaml
- 쿠버네티스 공식 사이트에서 복사한 pod 내용을 붙여넣기
apiVersion: v1
kind: Namespace
metadata:
name: ns-jenkins
---
apiVersion: v1
kind: Pod
metadata:
name: jenkins
namespace: ns-jenkins
spec:
containers:
- name: jenkins
image: jenkins/jenkins:lts
ports:
- containerPort: 8080
# 생성한 yaml 파일 실행하기
kubectl create -f jenkins-ns.yaml
- 실행하면 네임스페이스와 pod를 생성 및 실행한것을 확인 할 수 있다.
# 생성한 jenkins 서비스 확인하기
kubectl get pod -n ns-jenkins
# coredns 는 어디에 속해있는지 확인하기
kubectl get pod --all-namespaces
kubectl get pod --all-namespaces | grep coredns
'⭐ Kubernetes & EKS > 네임스페이스 (Namespace)' 카테고리의 다른 글
NameSpace 와 EKS Network? (0) | 2022.06.03 |
---|