Kubernetes

쿨린이가 Kubernetes(쿠버네티스)를 처음 공부하려면 무엇부터 공부해야 할까?

seungkyua@gmail.com 2024. 4. 30. 10:04
반응형

Kubernetes 를 세미나를 하거나 모임에서 만나면 쿠버네티스를 알고 싶어 하시는 분들이 제일 문제 물어보는 것이 있다.

"쿠버네티스를 잘 모르는데 이제부터 공부하고 싶어요. 어떤거 부터 하면 좋을까요?"

그 동안은 이는 리눅스를 무엇부터 공부해야 할까요? 와 거의 비슷한 이야기인거 같다. 그래서 키워드로 스스로 공부할 수 있도록 키워드로 리스트를 만들었다.

컨테이너

  • Docker 노트북에 설치
  • 리눅스 네임스페이스 & cgroup
  • dockerfile 작성 및 docker image 만들기
  • docker image 실행/종료/삭제 하기
  • docker hub 에 가입하여 개인 계정에 image 올리기

Kubernetes

  • Kubernetes 는 누가 만들었을까? 어떻게 해서 나오게 된 것일까? (Google Borg 로 검색)
  • CNCF (Cloud Native Computing Foundation) - 이 재단이 어떤 재단인지 알아보기
  • Kubernetes 는 기능이 어떤 것들이 있을까?
    • 기본적으로 Kubernetes 는 컨테이너 이미지를 실행시키는 등 관리하는 역할 수행
  • Kubernetes 노트북에 설치 (아래 3개 중에 하나)
    • kind
    • k3s
    • minikube
  • Kubernetes client 설치
    • kubectl 설치
  • Kubernetes Architecture 확인
    • Control plane
      • etcd (key-value store)
      • kube-apiserver
      • kube-controller
      • kube-scheduler
    • Node
      • kube-proxy
      • kubelet
    • Network plugin
  • Kubernetes 에서 Pod 란 무엇인가?
  • Kubernetes 에 Nginx 이미지를 pod 로 띄우기
    • pod yaml 만들기
    • kubectl 로 pod yaml 을 Kubernetes 에 배포하기
  • Pod 는 어떻게 뜨는 것일까?
    • 사용자가 pod yaml 을 작성
    • 사용자가 kubectl 로 pod yaml 을 kubernetes 로 보냄
    • kubernetes api-server 가 이를 받아서 etcd 에 저장
    • kube-scheduler 가 pod 를 원하는 node 로 스케줄링
    • 스케줄링된 node 에 실행중인 kubelet 이 pod 를 실행
  • Kubernetes Resource 알아보기
    • Pod
    • ReplicaSet
    • Deployment
    • Label & Selector
    • Service
      • ClusterIP
      • NodePort
      • LoadBalancer
    • Ingress & Ingress Controller
    • StatefulSet
    • DaemonSet
    • StorageClass
    • Persistent Volume
    • Persistent Volume Claim
    • ConfigMap
    • Secret
    • ServiceAccount
    • ClusterRole
    • ClusterRoleBinding
  • Custom Controller (Operator 란 무엇인가?)
  • CNCF Projects 알아보기
    • Graduated Projects
    • Incubating Projects
    • Sandbox Projects
반응형