2023.08.27 - [인프라/Kubernetes] - Kubernetes 실습 및 서비스 구축
Kubernetes 실습 및 서비스 구축
예상 k8s 서비스 아키텍쳐 Kubernetes 란? 쿠버네티스는 컨테이너화된 서비스를 쉽고 빠르게 배포,확장,관리하기 자동화 해주는 오픈소스 플랫폼입니다. k8s 사용 이유 쿠퍼네티스는 분산 되어 있는
younyellow.tistory.com
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
GitHub - Sihyun3/LearningKubernetes
Contribute to Sihyun3/LearningKubernetes development by creating an account on GitHub.
github.com
여기서 확인 가능합니다.
'인프라 > 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 |