Kubernetess란?
컨테이너화된 애플리케이션의 배포, 관리, 확장을 자동화하는 오픈소스 플랫폼
구글이 내부적으로 사용하던 Borg 시스템의 경험을 바탕으로 오픈소스로 공개한 것이 쿠버네티스입니다.
쿠버네티스를 사용하면 서비스의 배포 및 확장을 자동화, 안정적인 서비스 운영과 관리 비용 절감
장애 발생 시 자동으로 복구하거나, 필요에 따라 자원을 유연하게 확장 가능
현대의 대규모 서비스 운영에 필수적인 도구로 쓰임
상태 관리 (원하는 상태를 선언 → 계속 유지): 고가용성
- 오토스케일링 / 롤링 업데이트 / 셀프힐링
오토스케일링: 서비스 크기에 따라서 CPU, 메모리 할당량이 자동으로 조절됨
자동화된 배포와 확장
- 운영 비용 및 인적 실수 감소
고가용성 보장
- 장애 발생 시 자가 복구(self-healing) 가능
자원 효율성 극대화
- 리소스 최적화를 통한 비용 절감
확장성 및 유연성 제공
- 대규모 서비스 운영과 신속한 기능 업데이트 가능
여러 노드를 연결해 여러 컴퓨터를 클러스터 컴퓨터로 운영가능
Kubernetes 사용하는 Flow (개발자 / 일반 서비스 사용자)
Docker 리소스와 대응되는 Kubernetes 리소스
컨테이너 표준: CNCF
클라우드 네이티브 컴퓨팅 파운데이션
클라우드 네이티브 표준을 지키는 도구들이 개발되는 곳
https://www.cncf.io/projects/kubernetes/
쿠버네티스도 CNCF 프로젝트 중 하나에서 발전
https://www.cncf.io/projects/ (graduate project들)
이론적인 부분 기본 개념만 정리했지만
내용이 너무많아서
직접 해보면서 계속 들러서 보고 이해하는 방식으로 접근할 예정
이제 이전글에서 설치했던
minikube를 켜보자
[이전글]
Kubernetess 시작하기
https://minikube.sigs.k8s.io/docs/start/?arch=%2Fwindows%2Fx86-64%2Fstable%2F.exe+download minikube startminikube is local Kubernetes, focusing on making it easy to learn and develop for Kubernetes. All you need is Docker (or similarly compatible) contain
atriel.tistory.com
#Window Powershell 실행하기
kompose도 미리설치하기
curl -L https://github.com/kubernetes/kompose/releases/download/v1.26.0/kompose-windows-amd64.exe -o kompose.exe
(안되면 -L 빼고)
#실행
minikube start
#상태확인
minikube status
#대쉬보드 확인해보기
minikube dashboard
ctrl+C로 대쉬보드종료하고
https://github.com/inspire12/likelion-infra
GitHub - inspire12/likelion-infra
Contribute to inspire12/likelion-infra development by creating an account on GitHub.
github.com
해당 깃파일을 fork해와서
k8s-start-practice 환경에서 진행했다
실행: likelion-infra git switch feature/k8s-start-practice
deployment/inspire12/kubernetes/likelion/
실행 전에 해야할 일..
minikube 여서 해야하는 것들..
cd deployment/inspire12/kubernetes/likelion/
minikube image load likelion-backend:latest
+ local image는 인식 시켜줘야함..
minikube service --all
+ minikube는 nodePort 방식으로되기떄문에 아마 에러가 날것이다
ConfigMap 설정 추가 (conf 파일 입력)
kubectl create configmap nginx-config --from-file=default.conf=./conf/default.conf
를 추가해주고
cd deployment/inspire12/kubernetes/likelion/
kubectl apply -f ./
minikube service --all
하면~
3개의 팟이 잘실행되는걸 확인가능 아마 브라우저 3개가 자동으로 켜질것이다
grafana 모니터링 addon | 각종 addon 기능들 쉽게 추가 가능
minikube addons list
minikube addons list | grep grafana
없을 경우 helm 차트로 설치
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus prometheus-community/kube-prometheus-stack \
--namespace monitoring --create-namespace
설치 후 확인
kubectl get pods,svc -n monitoring
kubectl port-forward svc/prometheus-kube-prometheus-prometheus -n monitoring 9090:9090
=> http://localhost:9090
kubectl port-forward svc/prometheus-grafana -n monitoring 3000:80
=> http://localhost:3000 admi/prom-operator
그래서 이걸 왜쓰냐~
'Web Backend' 카테고리의 다른 글
Spring Security + Jwt + Oauth2 구조 분석 (1) | 2025.04.30 |
---|---|
Docker Swarm (0) | 2025.04.07 |
Docker-compose (0) | 2025.04.07 |
Docker 네트워크 (0) | 2025.04.07 |
Kubernetess 시작하기 (0) | 2025.04.07 |