이 영역을 누르면 첫 페이지로 이동
천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

페이지 맨 위로 올라가기

천천히 꾸준히 조용히

천천히 꾸준히 조용히.. i3months 블로그

[Kubernetes] CRD, Controller

  • 2026.07.28 16:41
  • DevOps/Docker && Kubernetes
반응형

 

 

 

YAML 쓸 때 항상 kind: 로 이게 쿠버의 무슨 리소스를 지정하는지 명시하는데 Custom Resource Definition을 사용하면 쿠버에 새로운 kind를 등록할 수 있다. 

 

HTML 처음 배울 때 <span> 이런거 말고 나만의 태그를 만들수는 없나 생각했었고 WEb Components가 그걸 가능하게 해줬는데 쿠버에서는 CRD를 통해 구현할 수 있음. 

 

kind: Database    
metadata:
  name: my-db
spec:
  engine: postgres
  version: "15"
  storage: 10Gi

 

 

이렇게 설정해주면 쿠버의 API가 확장되니 kubectl으로 k get databases 같은 명령어를 실행할 수 있게 된다. 

 

CRD만 만들면 아무 일도 안 일어난다. 그냥 데이터 형식을 정의한거니까.. 

실제로 일할 컨트롤러를 만들어주자. 이 컨트롤러 역할은 Operator가 수행한다. 

 

kind: Database 같은 리소스가 생기는지 감시하고 생겨났다면 명세에 정의된대로 postgres Pod Service PVC를 만들어준다.

 

사실 Deployment, ReplicaSet, Pod 의 관계랑 똑같음.

kind: Database를 만들면 Operator가 그걸 보고 Pod Service PVC 만들고 문제 생기면 복구함. 

 

Operator를 실제로 구현할 필요는 없고 이미 설치된 CRD를 잘 다룰 수 있으면 된다. 

 

k get crd                          # 클러스터에 등록된 CRD 목록
k describe crd <이름>               # 그 CRD의 스펙 확인
k api-resources                    # 사용 가능한 모든 리소스 종류 (CRD 포함)
k get <커스텀리소스>                 # 커스텀 리소스 조회

 

 

 

DB 백업, 장애 복구, 버전 업그레이드 같은 서비스 운영을 코드로 자동화하는게 Operator의 목적이다. 

추상화가 목적임. Helm은 만들어주고 끝이지만 Operator는 계속 모니터링해서 감시해준다. 

단순 설치는 Helm으로 하고 운영이 복잡한 시스템에서는 Operator를 사용한다. 

 

 

 


 

 

 

Pod를 관리하는 세 가지 컨트롤러는 이미지로 정리 

 

 

 

 

 

 

 


 

 

 

kubeconfig에는 kubectl이 어떤 클러스터에 어떤 자격으로 접속할지를 저장한다.

~/.kube/config 에는 어떤 클러스터가 있는지, 어떤 자격증명이 있는지를 저장함.

 

k config get-contexts              # 컨텍스트 목록 (현재 것은 * 표시)
k config current-context           # 지금 어느 컨텍스트?
k config use-context <이름>         # 컨텍스트 전환
k config set-context --current --namespace=<ns>   # 현재 컨텍스트의 기본 namespace 변경

 

 

k config use-conext 명령어로 접속할 클러스터를 미리 정하고 접근해야 함. 

 

 

 

 

 

반응형
저작자표시 (새창열림)

'DevOps > Docker && Kubernetes' 카테고리의 다른 글

[Kubernetes] Certified Kubernetes Administrator 연습 (3)  (0) 2026.08.06
[Kubernetes] Certified Kubernetes Administrator 연습 (2)  (0) 2026.08.04
[Kubernetes] HPA, kubeadm, Helm, Kustomize  (0) 2026.07.28
[Kubernetes] NetworkPolicy, Ingress  (0) 2026.07.28
[Kubernetes] Probe, Resource Limits  (0) 2026.07.27

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Kubernetes] Certified Kubernetes Administrator 연습 (3)

    [Kubernetes] Certified Kubernetes Administrator 연습 (3)

    2026.08.06
  • [Kubernetes] Certified Kubernetes Administrator 연습 (2)

    [Kubernetes] Certified Kubernetes Administrator 연습 (2)

    2026.08.04
  • [Kubernetes] HPA, kubeadm, Helm, Kustomize

    [Kubernetes] HPA, kubeadm, Helm, Kustomize

    2026.07.28
  • [Kubernetes] NetworkPolicy, Ingress

    [Kubernetes] NetworkPolicy, Ingress

    2026.07.28
다른 글 더 둘러보기

정보

천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

  • 천천히 꾸준히 조용히의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (727)
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • C (25)
      • C++ (12)
      • Java (19)
      • JavaScript (15)
      • Python (1)
      • PHP (2)
    • Computer Science (163)
      • Machine Learning (38)
      • Operating System (18)
      • Computer Network (28)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Data Science (11)
      • Embedded Software (10)
      • Computer Architecture (4)
      • Compiler Design (11)
      • Computer Security (13)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (37)
      • Docker && Kubernetes (22)
      • Jenkins (4)
      • Cloud Service (11)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • 💡 솔루션 (17)
    • 👥 모각코 (12)
    • 💬 기록 (15)
    • 📚 논문 (7)
    • -------------- (25)

최근 글

나의 외부 링크

메뉴

  • 홈
반응형

정보

i3months의 천천히 꾸준히 조용히

천천히 꾸준히 조용히

i3months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Daum. Copyright © i3months.

티스토리툴바