https://kubernetes.io/
Kubernetes
- 컨테이너 오케스트레이션 플랫폼으로서 대규모의 애플리케이션을 관리하고 배포하기 위한 플랫폼
오케스트레이션
- 컨테이너 기반의 애플리케이션을 운영할 때, 애플리케이션의 배포, 확장, 로드 밸런싱, 모니터링, 장애 복구 등 다양한 작업을 효율적으로 관리하는 것
Kubernetes 특징
- 컨테이너화 된 애플리케이션 구동
- 서비스 디시크버리와 로드밸런싱 기능
- 스토리지의 오케시트레이션 기능
- 자동화된 배포 기능
- 환경 변수, 스크릿 파일 등을 사용하여 애플리케이션을 구성 관리
Kubernetes 할 수 없는기능
- 소스 코드 배포, 빌드 기능
- 로깅, 모니터링 서비스
K8s - Pod
- 애플리케이션을 위해 서로 상호 작용해야 하는 컨테이너들의 논리적 집합
- K8s의 배포 및 실행되는 기본 실행 단위
K8s - Deployment
- 파드의 배포 및 관리를 위한 K8s의 리소스
- ReplicaSet을 기반으로 Pod의 복제본을 관리한다.
- 롱링 업데이트, 롤백, 스케일링 등의 기능을 제공한다.
K8s - Services
- Replicated된 Pods의 네트워크 노출과 로드벨런싱을 관리
K8s Minikube 설치
- Minikube - 테스트용도나 개발용도로 간단하게 사용할수있는 K8s 버전
K8s 기본 명령어
- 사용 가능한 노드 목록 확인
- kubectl get nodes
- 사용 가능한 파드 목록 확인
- kubectl get pods
- 현재 배포 중인 리소스 목록 가져오기
- kubectl get deployments
- 현재 사용 중인 services 목록 가져오기
- kubectl get services
- pod 생성
- kubectl run [pods명] --image=[이미지명] --port=[포트번호]
- pod 상세 정보 확인
- kubectl describe pods [pods명]
- pod 삭제
- kubectl delete pod/[pods명]
- deployment 생성
- kubectl create deployment [deployment명] --image=[이미지명]
- deployment Scale 변경
- kubectl scale deployment [deployment명] --replicas=[pods수]
- deployment 삭제
- kubectl delete deployment.apps/[deployment명]
// 사용 가능한 노드 목록 확인
kubectl get nodes
// 사용 가능한 파드 목록 확인
kubectl get pods
// 현재 배포 중인 리소스 목록 가져오기
kubectl get deployments
// 현재 사용 중인 services 목록 가져오기
kubectl get services
// Nginx 서버 실행
kubectl run gugbab-nginx --image=nginx --port=80
// pod 상세 정보 확인
kubectl describe pods gugbab-nginx
// pod 삭제 삭제
kubectl delete pod/gugbab-nginx
// deployment 생성
kubectl create deployment gugbab-nginx --image=nginx
// deployment Scale 변경
kubectl scale deployment gugbab-nginx --replicas=2
// deployment 삭제
kubectl delete deployment.apps/gugbab-nginx
'DevOps' 카테고리의 다른 글
[DevOps] Ansible Playbook - K8s Script 실행 example (0) | 2023.06.22 |
---|---|
[DevOps] Kubernetes yml - Deployment, Services 만들기 Example (0) | 2023.06.21 |
[IaC] Ansible Playbook Example (0) | 2023.06.12 |
[IaC] Ansible이란? Ansible config,SSH 설정, module Test (0) | 2023.06.11 |
[CICD] Jenkins - 다른 SSH 서버 + Docker Contaner 배포 하기 (0) | 2023.06.08 |