ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쿠버네티스 - 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 하는 방법! 

Designed by Tistory.