2023.08.27 - [인프라/Kubernetes] - Kubernetes 실습 및 서비스 구축
Kubernetes Pods Auto Scalling을 적용 해볼 것 입니다.
물리적 서버를 증가시키는 것이 아니라 내부 컨테이너 개수를 늘리는 것 입니다.
이전에 만든 deployment 수정
이부분 추가
cpu의 단위는 1000m = 1코어 라고 합니다.
resources:
requests:
cpu: 100m
limits:
cpu: 100m
전체 kind-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-web-server1
spec:
replicas: 4
selector:
matchLabels:
app: my-web-server1
template:
metadata:
name: my-web-server1
labels:
app: my-web-server1
spec:
containers:
- name: my-web-server1
image: sihyun2/firstservice
resources:
requests:
cpu: 20m
limits:
cpu: 20m
HorizontalPodAutoscaler 작성
kind-autoscaling.yaml
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: kubernetes-app-hpa
namespace: default
spec:
maxReplicas: 6
minReplicas: 4
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-web-server1
targetCPUUtilizationPercentage: 30
# kubectl apply -f kind-autoscaling.yaml
cpu 사용량 확인을 위한 Metric Server설치 및 수정
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
kubectl edit deployment metrics-server -n kube-system
-args: 밑에
--kubelet-insecure-tls 추가
작동 확인
테스트
파워쉘에서 실행
PS C:\Users\시현> while ($true){ curl http://localhost:30160}
Kubernetes 관련 파일은
https://github.com/Sihyun3/LearningKubernetes/tree/main
여기서 확인 가능합니다.
'인프라 > Kubernetes' 카테고리의 다른 글
Kubernetes 인그레스 컨트롤러 (0) | 2023.09.03 |
---|---|
Jenkins를 통한 Kubernetes rolling update (0) | 2023.09.03 |
Kubernetes 퍼시스턴트 볼륨 (0) | 2023.08.31 |
Kubernetes 디플로이먼트 정의 및 노드 포트 서비스 연동 (0) | 2023.08.28 |
Kind(Kubernetes in Docker)를 통한 kubernetes 실습 환경 구축 (0) | 2023.08.27 |