본문 바로가기

kubernetes

쿠버네티스 namespace context

 

네임스페이스

클러스터와 노드가 물리적인 구성 단위라면 컨텍스트와 네임스페이스는 논리적인 구성 단위.

https://artist-developer.tistory.com/33

 

[Kubernetes] 쿠버네티스 namespace

안녕하세요. 개발자김모씨입니다. 오늘도 쿠버네티스 이야기로 돌아왔습니다. 오늘 살펴볼 이야기는 쿠버네티스의 namespace 입니다! namespace란? 우리는 저번 포스팅에서 쿠버네티스 클러스터 위

artist-developer.tistory.com

 

<aside> 💡 kubectl get namespace 네임스페이스 불러오기

default : 기본 네임스페이스 • kube-node-lease : 각 노드의 임대 오브젝트(Lease Ojbect) • kube-public : 클러스터 사용량 정보 등 ,클러스터 내에서 모든 사용자가 읽을 수 있음 • kube-system : 쿠버네티스 시스템 관리 네임 스페이스

</aside>

생성 
kubectl create namespace [name]
k create ns [name]

네임스페이스 실행[변경]
kubectl ns testnamespace

yaml파일로 생성
kubectl create namespace [name] --dry-run -o yaml > [filename].yaml

yaml파일 생성후 실행 
kubectl create -f filename.yaml 또는
kubectl apply -f filename.yaml

삭제
kubectl delete namespaces [name]

Context

Config 파일을 이용하여 여러 개의 클러스터에 쉽게 접근할 수 있도록 하는 것이 context입니다. kubectl을 이용하여 CLI로 쿠버네티스 작업을 할 때, 어느 클러스터 혹은 네임스페이스에 작업을 할지를 결정할 수 있습니다.

kubectl config view

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: <https://kubernetes.docker.internal:6443>
  name: docker-desktop
- cluster:
    insecure-skip-tls-verify:trueserver: <https://xxx.xxx.xxx:6443>
  name: flask-test-cluster-cluster
contexts:
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-desktop
- context:
    cluster: flask-test-cluster-cluster
    user: dave.rhee_flask-test-cluster
  name: flask-test-cluster-context
current-context: flask-test-cluster-context
kind: Config
preferences: {}
users:
- name: dave.rhee_flask-test-cluster
  user:
    token: REDACTED
- name: docker-desktop
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
  • apiVersion 사용할 K8S API 버전
  • clusters 생성한 클러스터 목록과 각 클러스터의 이름, 서버 주소 등
  • contexts 어떤 사용자가 어떤 이름의 클러스터를 사용하는지에 대한 정보
  • kind 이 파일은 설정 파일이므로 kind가 Config
  • users 사용 권한을 가진 사용자 정보
context 조회
kubectl config get-contexts [콘텍스트 이름]

사용
kubectl config use-context [콘텍스트 이름]

context 에 네임스페이스 생성
kubectl config set-context [kubernetesadmin@kubernetes] --namespace=[name]

네임스페이스를 default로 다시 변경
kubectl config set-context $(kubectl config current-context) --namespace="default"

삭제
kubectl config delete-context NAME

'kubernetes' 카테고리의 다른 글

쿠버네티스 object 명령어  (0) 2023.10.10
쿠버네티스 object volume  (1) 2023.10.10
쿠버네티스 대시보드  (0) 2023.10.10
쿠버네티스 k9s  (0) 2023.10.10
쿠버네티스 krew  (1) 2023.10.10