wonpick
devvon
wonpick
방문자🌱
오늘
어제
  • 분류 전체보기 (147)
    • 개발 (42)
      • Spark (7)
      • Hadoop (3)
      • ML&DL (4)
      • Paper Review (0)
      • ETC (24)
    • STUDY (77)
      • Data Engineering (54)
      • Cloud (4)
      • Algorithm (5)
      • SQL (10)
      • Toy Project (1)
    • Android (2)
    • Backend (14)
    • 인턴 (0)
    • 공모전 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

태그

  • 자연어처리
  • kodekloud
  • 최신 데이터 인프라 이해하기 #7
  • 인턴강연
  • Python
  • SQL
  • 최신 데이터 인프라 이해하기
  • cka
  • 쿠버네티스
  • 데이터엔지니어링

최근 댓글

최근 글

티스토리

Designed By.hELLO
wonpick

devvon

[K8S] Context ?
STUDY/Data Engineering

[K8S] Context ?

2023. 9. 9. 23:08

 

context 란? 

쿠버네티스 클러스터를 관리하는 CLI 도구인 kubectl에는 환경을 바꿔가며 Config 파일을 이용하여 클러스터를 관리할 수 있는 context 라는 기능이 존재한다. CLI를 활용하여 어느 쿠버네티스 클러스터를 컨트롤할지 결정할 수 있다. 

 

 

kubectl config

k8s설정은 다음과 같다.  

  • kubeconfig 내용 확인 : kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://xxx.xxx.xxx:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: DATA+OMITTED
    client-key-data: DATA+OMITTED

해당 파일은 kubectl명령어가 api-server에 접근할 때 사용할 인증 정보를 가지고 있다.

이 쿠버네티스 설정(이하 kubeconfig)은 크게 3가지 부분으로 구성되어 있다.

 

clusters 

생성한 클러스터 목록과 각 클러스터의 이름, 서버 주소 등

우리가 접속할 서버 정보와 관련된 것이며 서버는 여러개 있을 수 있다. 원한다면 쿠버네티스 클러스터를 여러개 설정할 수 있다.

 

  • cluster.local : 설정하지 않아도 기본적으로 구성되는 클러스터 이름 
  • client-authority-data : kubectl이 어떤 서버에 요청할 것인지에 대한 정보와 CA 인증서를 base64로 인코딩한 것이다. 
  • server : 실제 api-server의 주소 

users 

인증받을 사용자 정보

  • name : 사용자의 계정명 
  • client-certificate-data, client-key-data : 사용자가 사용할 클라이언트의 인증서(공개키)와 개인키

context

쿠버네티스 API 서버 정보(IP 또는 도메인)

  • clusters 항목과 users 항목을 조합해서 만들어지므로 여러 context가 나올 수 있다.

 

Context 확인
# 컨텍스트 리스트 조회
$ kubectl config get-contexts

# 클러스터 목록 조회 
$ kubectl config get-clusters

# 현재 컨텍스트 조회
$ kubectl config current-context

# 새로운 컨텍스트 생성
$ kubectl config set-context [컨텍스트]

# 특정 컨텍스트 사용 (전환)
$ kubectl config use-context [컨텍스트]

# 특정 컨텍스트 삭제
$ kubectl config unset contexts.[컨텍스트]

'STUDY > Data Engineering' 카테고리의 다른 글

01장 신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션  (1) 2024.01.07
[k8s] The connection to the server localhost:8080 was refused 해결방법  (0) 2023.09.09
[kodekloud] 05 Practice Test Cluster Upgrade Process 풀이  (0) 2023.08.24
[인프런] 왕초보도 따라하는 도커 기초 (2)  (0) 2023.03.30
[인프런] 왕초보도 따라하는 도커 기초 (1)  (0) 2023.03.30
    wonpick
    wonpick

    티스토리툴바