Red Hat上でのKubernetesサーバーの自動スケーリング – HPAの実装方法
- 作成日 2024.12.12
- redhat
効率的なリソース管理とパフォーマンス最適化を実現するためには、Kubernetesの自動スケーリングが欠かせません。このブログでは、RHEL環境でHorizontal Pod Autoscaler(HPA)を実装し、負荷に応じたPodのスケールを行う手順を説明します。
目次
Horizontal Pod Autoscaler(HPA)とは
HPAは、PodのCPUやメモリ使用率などのメトリクスを監視し、Podの数を動的に調整する機能です。
HPA実行に必要な条件
- クラスターにMetrics Serverがデプロイされている
- Podにリソースリクエストとリミットが設定されている
Metrics Serverのインストール
リソース使用状況を収集するため、Metrics Serverをインストールします。
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yamlサンプルデプロイメントの作成
リソースリクエストを含むデプロイメントを作成します。
apiVersion: apps/v1
kind: Deployment
metadata:
name: example-deployment
spec:
replicas: 2
selector:
matchLabels:
app: example-app
template:
metadata:
labels:
app: example-app
spec:
containers:
- name: example-container
image: nginx
resources:
requests:
cpu: "200m"
memory: "128Mi"HPAの作成
CPU使用率を50%に保つようHPAを作成します。
kubectl autoscale deployment example-deployment --cpu-percent=50 --min=1 --max=10HPAのステータス確認
現在のHPAの状態とメトリクスを確認します。
kubectl get hpa負荷テストの実施
負荷を生成してHPAの動作を確認します。
kubectl run -i --tty load-generator --image=busybox --restart=Never -- /bin/sh
while true; do wget -q -O- http://<SERVICE_IP>; donePodのスケール状況を確認
スケーリングによって増加したPodを確認します。
kubectl get podsHPAの設定変更
既存のHPAを編集して、新たな目標やポリシーを追加します。
kubectl edit hpa example-deploymentCustom Metricsの使用
カスタムメトリクスに基づいたスケーリング設定を作成します。
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: custom-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: example-deployment
minReplicas: 1
maxReplicas: 10
metrics:
type: External
external:
metricName: http_requests
targetValue: 1000スケーリングポリシーの設定
スケーリングの速度や安定性をカスタマイズするポリシーを適用します。
kubectl patch hpa example-deployment -p '{"spec":{"behavior":{"scaleDown":{"stabilizationWindowSeconds":300}}}}'HPA導入時の注意点
- 適切なリソース設定を行う
- リソース消費が他のサービスに影響を与えないよう監視を実施
- 負荷シナリオを考慮したテストを行う
HPAが役立つユースケース
- 高トラフィックを処理するeコマースサイト
- 需要が変動するAPIサービス
- イベントベースのバックエンドシステム
-
前の記事
Rubyのselfを完全解剖:コンテキストとオブジェクトの関係を深掘り 2024.12.12
-
次の記事
Google スライド オブジェクトをグループ化するショートカットキー 2024.12.12
コメントを書く