[ 기본 설정 추가 ]
● Metrics Server 설치
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.3/components.yaml
● Kubernetes Dashboard 의 네임스페이스 : kube-system 설정 변경
》 kube-system 네임스페이스에 추가된 metrics-server 디플로이먼트 설정 변경
args:
- '--cert-dir=/tmp'
- '--secure-port=443'
- '--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname'
- '--kubelet-use-node-status-port'
- '--metric-resolution=15s'
- '--kubelet-insecure-tls' # 이 부분을 추가 !
● 확인하기
# 명령어 실행
kubectl get apiservices | grep metrics
# 정상 설치 결과
True
[ HPA ]
》 CPU 에 부하주기
● Deployment
apiVersion: apps/v1
kind: Deployment # deployment 선언
metadata:
name: cpu1 # deployment 이름
spec:
selector:
matchLabels:
resource: cpu
replicas: 2
template:
metadata:
labels:
resource: cpu
spec:
containers:
- name: container
image: nuy0307/hello:1
resources:
requests:
cpu: 100m
limits:
cpu: 200m
● Service
apiVersion: v1
kind: Service
metadata:
name: cpu-svc1
spec:
selector:
resource: cpu
ports:
- port: 80
protocol: TCP
targetPort: 80
type: LoadBalancer # 로드밸런서 지정
● AutoScale
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: hpa-resource-cpu
spec:
maxReplicas: 5 # 최대 개수 지정
minReplicas: 2 # 최소 개수 지정
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: cpu1
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 10
● 테스트하기
# 부하 주기
while true; do curl http://200.200.200.13/; sleep 0.01; done
# 터미널에서 실시간 현황 확인하기
kubectl get hpa -w
'CLOUD > Docker&Kubernetes' 카테고리의 다른 글
[Kubernetes] MSA 실습하기 - Admin & Main MSA (0) | 2023.04.28 |
---|---|
[Kubernetes] MSA 실습하기 - RabbitMQ (0) | 2023.04.28 |
[Kubernetes] Controller - Deployment (Recreate / RollingUpdate / BlueGreen) (0) | 2023.04.26 |
[Kubernetes] Controller - ReplicaSet (0) | 2023.04.26 |
[Kubernetes] Service - 롤링 업데이트 (0) | 2023.04.25 |