본문 바로가기
IT 끄적이기

쿠버네티스(k8s) 학습하기 - 쿠버네티스에 대한 기본 개념

by 미르아 2024. 12. 27.
728x90

1. 쿠버네티스 환경 설정

  • Minikube 설치: 로컬 환경에서 쿠버네티스를 실습하기 위해 Minikube를 사용하는 것이 좋습니다. Minikube는 경량화된 쿠버네티스 클러스터를 제공합니다.
  • kubectl 설치: 쿠버네티스를 제어하기 위한 CLI 도구입니다.
  • Docker 설치: 쿠버네티스에서 애플리케이션을 배포하려면 컨테이너 이미지가 필요하므로 Docker가 필수적입니다.

2. 기본 쿠버네티스 학습

  • 기본 개념 학습:
    • Pod, Deployment, Service, ConfigMap, Secret 등 쿠버네티스의 기본 리소스를 이해합니다.
    • 클러스터, 노드, 네임스페이스 등 구조를 파악합니다.
  • 실습: 간단한 애플리케이션(예: Nginx)을 쿠버네티스 클러스터에 배포해 보세요.

3. CI/CD 구현

  • Jenkins와 Kubernetes 연동: Jenkins를 컨테이너로 실행하며 쿠버네티스에서 CI/CD 파이프라인을 실행할 수 있습니다.
  • Helm: 애플리케이션 배포를 템플릿화하여 CI/CD를 효율적으로 관리합니다.
  • GitOps 도구 사용: ArgoCD나 Flux를 활용하면 깃 레포지토리 기반으로 CI/CD를 구축할 수 있습니다.

4. API 게이트웨이 설정

  • Ingress Controller 설치: Nginx Ingress Controller를 사용해 클러스터로 들어오는 요청을 라우팅합니다.
  • API Gateway 도구: Kong Gateway, Traefik 등을 활용해 API 게이트웨이를 설정합니다.

5. 모니터링 구현

  • Prometheus와 Grafana: 클러스터 및 애플리케이션 성능 모니터링 도구로 가장 많이 사용됩니다.
  • Kubernetes Dashboard: 클러스터 상태를 시각적으로 확인할 수 있는 기본 대시보드입니다.
  • Log 관리: Loki, Fluentd 등을 이용해 애플리케이션 로그를 수집하고 분석합니다.

6. 학습 리소스

  • 공식 문서: 쿠버네티스 공식 문서를 참고하세요.
  • 온라인 강의: 유튜브와 Udemy에 초급자를 위한 강의가 많습니다.
  • 실습 플랫폼: Katacoda, Play with Kubernetes와 같은 무료 실습 환경을 활용하세요.

다른 "노드"와의 차이점

측면 쿠버네티스 노드 Node.js 노드 머신러닝 노드

역할 클러스터의 작업 단위 (서버, Pod 실행) 서버 실행 환경 신경망의 계산 단위
구체적인 정의 서버(물리적/가상 머신) JavaScript 런타임 데이터 처리 및 가중치 계산
맥락 클라우드 네이티브 환경 관리 서버사이드 개발 딥러닝 및 AI 모델
728x90