[K8s] 3. 쿠버네티스 namespace, yaml 템플릿과 API

히태하태·2022년 3월 3일
0

K8s 쿠버네티스

목록 보기
3/3

3.1 Namespace

3.1.1 Namespace 란 ?

물리적인 클러스터내에서 논리적으로 클러스터를 나누어서 사용 할 수 있도록 구분.
기본적으로 default Namespace 존재.
kube-로 시작하는 Namespace는 쿠버네티스 운영환경에 필요한 기본적인 Namespace.

3.1.2 Namespace 생성

  • CLI 을 이용한 Namespace 생성
    kubectl create namespace [namespace명] --dry-run -o yaml > [yaml파일명 ]
    --dry-run : 실제로 생성하지 않고 생성가능한지 확인용
    -o yaml : 실행 결과를 yaml 파일로 출력

    • yaml 내용물
      apiVersion: v1
      kind: Namespace
      metadata:
      name: [namespcae명]
  • yaml 파일을 통한 namespcae 생성 명령어
    kubectl create -f [yaml파일]
    kubectl create -f [yaml파일명] -n [실행될 네임스페이스] <- 생략시 default namespace

3.1.3 Namespace Switching

쿠버네티스의 config 에 Switching 할 context를 생성해야한다.
kubectl config view : 쿠버네티스 설정 정보 확인 (context 확인 가능)

context 를 이용한 default namespace 지정하여 파드 생성 등을 네임스페이스 지정없이 작업 가능.

  • 현재 context 조회 : kubectl config current-context
  • 컨텍스트 정보 확인 : kubectl config get-contexts [컨택스트명]
  • 새로운 context 생성 : kubectl config set-context [컨텍스트명] --cluster=[클러스터명] --user=[유저명] --namespace=[네임스페이스]
  • 사용 context 변경 : kubectl config use-context [컨텍스트명] --> [컨텍스트명]의 namespace를 default namespace로 가지게 되며, 이후 -n [네임스페이스] 옵션 없이 사용가능.

  • 네임스페이스 내 pod 삭제
    kubectl delete pods [pod] -n [namespace] --> 네임스페이스 생략시 , 현재 컨텍스트의 네임스페이스로...

  • 네임스페이스 삭제 (안에 모든 pods 삭제)
    kubectl delete namespaces [namespace]

  • 네임스페이스 확인
    kubectl get namespaces

3.2 yaml

3.3 API

API version
alpha -> beta -> stable 단계를 거쳐서 업데이트 되고있다.
kubectl explain pod : resouce documentaion. API version 및 description 확인 가능.

  • API Object 의 종류 및 버전
Object명버전
Deploymentapps/v1
Podv1
ReplicaSetapps/v1
ReplicationControllerv1
Servicev1
PersistentVolumev1
profile
시작이 반이다. 일단 시작해보자.

0개의 댓글