-
쿠버네티스 - namespace의 정의Kubernetes/kubectl 시작 2023. 6. 8. 21:38
[namespace] 의 개념 및 의미
kubectl create namespace
만약에, namespace를 생성할 때, 여러가지로 만들 수 있음.
ex) pink, black, purple 의 namespace를 생성한다면, 이 중 하나를 지정하여 prd, dev, beta test에서 사용가능함!
즉 물리클러스터는 하나지만, 여러 개 인것 처럼 만들어서 작동 가능!!!
위와 같이 각각의 namespace를 여러개 만들어서 실제 namespace는 한 번 호출하고 뒤에 여러개 중 하나의 스페이스를 지정해준다!
-> 만약 어떤 계열사에서 면세점, 백화점, 비행기 예약 등등의 웹페이지를 운영하는 직무를 맡았을 때, 하루 동안 면세점 페이지를 수정, 테스트 배포의 순으로 진행 -> namespace 고정함!
결론적으로 통합 솔루션에서 꼭 필요함!
[namespace 생성 및 사용하기]
- namespace 생성
- kubectl create namespace pink
- kubectl get namespace -> 어떤 namespace가 있는지 확인 가능(방금 생성 한것도 있는지 가능)
- yaml
- kubectl create namespace black --dry-run -o yaml > black-ns.yaml -> yaml 파일 미리 생성 가능한지 확인 후, yaml 형식의 파일 생성
- vim black-ns.yaml -> vi 편집기를 통해서 내용 수정 할 것 (필요한 container, name, image 등등)
- kubectl create -f black-ns.yaml -> yaml 파일 실행 하여 띄우기!
- namespace 관리
- kubectl get namespace
- kubectl delete namespace
[실습] master 노드에서 진행 - 먼저 어떤 namespace가 있는 지 확인하고, 친해지기
master = control-plane 에서 확인 하는 법
1. kubectl get namespaces
→ 위 4개는 이미 설치할 때, 설치되어 있음
default namespace : 베이스가 되고 있는 namespace를 말하는 것
nginx로 만들어진 것이 있기 때문에 webserver가 등장함
(yaml 파일의 경우, 들여쓰기가 중요함)
default를 찾고 싶을 때 옵션으로 넣어주면 됨 (-n = namespaces 약자)
2. kubectl get pods -n kube-system
kube-system(kubernetes 운영 환경에서 필요로 하는 pods)에서 동작중인 pods를 알고 싶을 때
3. 위 2개를 모두 보는 것
kubectl get pods --all-namespaces
-> 모든 네임스페이스가 보이기 때문에, 관리가 힘듬
(어떤 파드가 어플리케이션인지? 운영? 개발? 구별 힘듬)
[실습] - master 에서 실제로 namespace 생성
1. cli : kubectl create namespace purple
2. yaml : 기존에 yaml 파일이 존재해야 함, 실제 생성하기 전에 여부를 알 수 있는 명령어
(yaml형태로 볼 수 있음, 만약 -o 뒤에 json으로 칭하면, json 파일로 볼 수 있음 )
--dry-run : 실행은 아니며, yaml 명세서 얻기 위해 사용
<2-1 순서 부터 시작 >
2-1. kubectl create namespace orange —dry-run -o yaml
apiversion , metadata, name 및 종류 등등 의 정보를 볼 수 있음
2-2. 이후 , orange라는 namespace를 가진 yaml 파일을 생성함
2-3. yaml 파일을 가지고 namespace 생성함
그리고 동시에 namespaces에 목록 확인하기 : kubectl get namespaces
2-4. 뒤에 옵션을 넣어주면, blue namespace에서 동작하도록 만들 수 있음
2-5. blue 지정 한 후, pods에서 -n blue를 검색하면 등장함
# 하루 종일 base namespace를 하나로 fix 하는 법
→ base namespace를 변경 가능함
--> 다음페이지 에서는 사용할 네임스페이스를 switch 하는 방법!
'Kubernetes > kubectl 시작' 카테고리의 다른 글
쿠버네티스 multi-container pod 생성하기 (0) 2023.06.09 쿠버네티스 파드 생성 해보자! 눈감고 파드 생성하기 (0) 2023.06.08 container와 pod의 차이 - 쿠버네티스 (0) 2023.06.08 쿠버네티스 - yaml 템플릿 만들고 편리하게 써보기! (0) 2023.06.08 쿠버네티스 - 네임스페이스 Swithch (0) 2023.06.08 - namespace 생성