メインコンテンツまでスキップ

HPAの設定

現在、クラスターには水平ポッド自動スケーリングを可能にするリソースはなく、以下のコマンドで確認できます:

~$kubectl get hpa -A
No resources found

今回はuiサービスを利用し、CPU使用率に基づいてスケールさせます。まず最初に、uiのPod仕様を更新して、CPU requestlimitの値を指定します。

~/environment/eks-workshop/modules/autoscaling/workloads/hpa/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: ui
spec:
template:
spec:
containers:
- name: ui
resources:
limits:
cpu: 250m

次に、HPAがワークロードをスケールする方法を決定するためのパラメータを定義するHorizontalPodAutoscalerリソースを作成する必要があります。

~/environment/eks-workshop/modules/autoscaling/workloads/hpa/hpa.yaml
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: ui
namespace: ui
spec:
minReplicas: 1
maxReplicas: 4
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: ui
targetCPUUtilizationPercentage: 80
A

常に少なくとも1つのレプリカを実行する

B

4つ以上のレプリカにはスケールしない

C

HPAにui Deploymentのレプリカ数を変更するよう指示する

D

CPU使用率のターゲットを80%に設定する

この設定を適用しましょう:

~$kubectl apply -k ~/environment/eks-workshop/modules/autoscaling/workloads/hpa