Deploy
Kubernetes Deploy는 애플리케이션의 배포를 관리하는 컨트롤러입니다. Deploy를 사용하면 컨테이너 이미지, 리소스 요청, 포트 및 레이블과 같은 애플리케이션 구성을 정의할 수 있습니다.
Deploy는 지속적인 배포를 지원하기 때문에, 새로운 버전의 애플리케이션을 배포하거나 업데이트할 때 유용합니다. 새로운 버전의 애플리케이션을 배포할 때, Deploy는 이전 버전의 애플리케이션과 새로운 버전의 애플리케이션을 동시에 유지보수할 수 있습니다. 이를 통해 애플리케이션의 가용성을 유지하면서 업데이트를 수행할 수 있습니다.
Deploy의 구성 파일은 일반적으로 YAML 파일로 작성됩니다. 이 파일은 애플리케이션의 구성을 정의하고, 이를 통해 Deploy 컨트롤러가 애플리케이션을 배포하고 관리할 수 있습니다.
Pod Scale
Pod Scale은 Kubernetes에서 애플리케이션의 확장을 관리하는 컨트롤러입니다. Pod Scale을 사용하면 더 많은 인스턴스를 추가하거나 제거하여 애플리케이션의 처리량을 조정할 수 있습니다.
Pod Scale은 수직 및 수평 스케일링을 지원합니다. 수직 스케일링은 인스턴스의 리소스 요청을 변경하여 수행되며, 수평 스케일링은 인스턴스의 수를 조정하여 수행됩니다.
Pod Scale의 구성 파일은 일반적으로 YAML 파일로 작성됩니다. 이 파일은 Pod의 최소 및 최대 인스턴스 수, 인스턴스를 추가 또는 제거하는 방법 등을 정의합니다.
Example
* TASK:
** name: webserver
** 2 replicas
** label: app_env_stage=dev
** container name: webserver
** container images: nginx:1.14
* Scale Out Deployment.
** Scale the deployment webserver to 3pods
1. Deploy 생성
apiVersion: apps/v1
kind: Deployment
metadata:
name: webserver
spec:
replicas: 2
selector:
matchLabels:
app_env_stage: dev
strategy: {}
template:
metadata:
labels:
app_env_stage: dev
spec:
containers:
- image: nginx:1.14
name: webserver
ports:
- containerPort: 80
2. 확인
root@k8s-master:~/cka30# kubectl get deploy webserver -o wide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
webserver 2/2 2 2 27s webserver nginx:1.14 app_env_stage=dev
3. Scale out
root@k8s-master:~/cka30# kubectl scale deployment webserver --replicas 3
deployment.apps/webserver scaled
'Kubernetes (k8s)' 카테고리의 다른 글
[k8s] VPA (Vertical Pod Autoscaler) 설치 및 실습 (1) | 2023.05.16 |
---|---|
[k8s] TLS Ingress 생성해서 https로 서비스 하기 (1) | 2023.05.03 |
[k8s] Persistent Volume (1) | 2023.04.20 |
[k8s] Resource 사용량 확인을 위한 Metric Server 설치 (1) | 2023.04.18 |
[k8s] Static Pod (0) | 2023.04.17 |
댓글