26.7. Horizontal Pod Autoscaler の表示
Horizontal Pod Autoscaler のステータスを表示するには、以下を実行します。
oc get
コマンドを使用して CPU 使用率および Pod 制限の情報を表示します。$ oc get hpa/hpa-resource-metrics-cpu NAME REFERENCE TARGET CURRENT MINPODS MAXPODS AGE hpa-resource-metrics-cpu DeploymentConfig/default/frontend/scale 80% 79% 1 10 8d
出力には以下が含まれます。
- Target。デプロイメント設定で制御されるすべての Pod でターゲットに設定された平均 CPU 使用率です。
- Current。デプロイメント設定で制御されるすべての Pod における現在の CPU 使用率。
- Minpods/Maxpods。Autoscaler で設定できるレプリカの最小数および最大数です。
Horizontal Pod Autoscaler オブジェクトの詳細情報を参照するには、
oc describe
コマンドを使用します。$ oc describe hpa/hpa-resource-metrics-cpu Name: hpa-resource-metrics-cpu Namespace: default Labels: <none> CreationTimestamp: Mon, 26 Oct 2015 21:13:47 -0400 Reference: DeploymentConfig/default/frontend/scale Target CPU utilization: 80% 1 Current CPU utilization: 79% 2 Min replicas: 1 3 Max replicas: 4 4 ReplicationController pods: 1 current / 1 desired Conditions: 5 Type Status Reason Message ---- ------ ------ ------- AbleToScale True ReadyForNewScale the last scale time was sufficiently old as to warrant a new scale ScalingActive True ValidMetricFound the HPA was able to successfully calculate a replica count from pods metric http_requests ScalingLimited False DesiredWithinRange the desired replica count is within the acceptable range Events:
26.7.1. Horizontal Pod Autoscaler の状況条件の表示
状況条件セットを使用して、Horizontal Pod Autoscaler がスケーリングできるかどうかや、現時点でこれがいずれかの方法で制限されているかどうかを判別できます。
Horizontal Pod Autoscaler の状況条件は、自動スケーリング API の v2beta1
バージョンで利用できます。
kubernetesMasterConfig: ... apiServerArguments: runtime-config: - apis/autoscaling/v2beta1=true
以下の状況条件が設定されます。
AbleToScale
は Horizontal Pod Autoscaler がスケールをフェッチし、更新できるかどうかや、いずれかのバックオフ条件がスケーリングを防いでいないかどうかを示します。-
True
条件はスケーリングが許可されることを示します。 -
False
条件は指定される理由によりスケーリングが許可されないことを示します。
-
ScalingActive
は Horizontal Pod Autoscaler が有効にされており (ターゲットのレプリカ数がゼロでない)、必要なメトリクス (scale) を計算できるかどうかを示します。-
True
条件はメトリクスが適切に機能していることを示します。 -
False
条件は通常フェッチするメトリクスに関する問題を示します。
-
ScalingLimited
は、レプリカの最大または最小数に達したために自動スケーリングが許可されないことを示します。-
True
条件は、スケーリングするためにレプリカの最小または最大数を引き上げるか、または引き下げる必要があることを示します。 -
False
条件は、要求されたスケーリングが許可されることを示します。
-
この行を追加または編集する必要がある場合には、OpenShift Container Platform サービスを再起動します。
# systemctl restart atomic-openshift-master-api atomic-openshift-master-controllers
Horizontal Pod Autoscaler に影響を与える条件を表示するには、oc describe hpa
を使用します。条件は status.conditions
フィールドに表示されます。
$ oc describe hpa cm-test
Name: cm-test
Namespace: prom
Labels: <none>
Annotations: <none>
CreationTimestamp: Fri, 16 Jun 2017 18:09:22 +0000
Reference: ReplicationController/cm-test
Metrics: ( current / target )
"http_requests" on pods: 66m / 500m
Min replicas: 1
Max replicas: 4
ReplicationController pods: 1 current / 1 desired
Conditions: 1
Type Status Reason Message
---- ------ ------ -------
AbleToScale True ReadyForNewScale the last scale time was sufficiently old as to warrant a new scale
ScalingActive True ValidMetricFound the HPA was able to successfully calculate a replica count from pods metric http_request
ScalingLimited False DesiredWithinRange the desired replica count is within the acceptable range
Events:
- 1
- Horizontal Pod Autoscaler の状況メッセージです。
-
AbleToScale
条件では、HPA がスケールを取得して更新できるか、またバックオフ関連の条件によりスケーリングを防止できるかどうかを指定します。 -
ScalingActive
の条件は、HPA を有効にするか (たとえば、ターゲットのレプリカ数は 0 でないなど)、任意のスケーリングを計算できるかどうかを指定します。「False」の状態は通常、メトリクスの取得に問題があることを示します。 -
ScalingLimited
の条件は、スケーリングが Horiontal Pod Autoscaler の最大値または最小値で制限されていることを示します。「True
」の状態は通常、Horizontal Pod Autoscaler で最小または最大レプリカ数の制限の増減を実行する必要があることを示します。
-
以下は、スケーリングできない Pod の例です。
Conditions: Type Status Reason Message ---- ------ ------ ------- AbleToScale False FailedGetScale the HPA controller was unable to get the target's current scale: replicationcontrollers/scale.extensions "hello-hpa-cpu" not found
以下は、スケーリングに必要なメトリクスを取得できなかった Pod の例です。
Conditions: Type Status Reason Message ---- ------ ------ ------- AbleToScale True SucceededGetScale the HPA controller was able to get the target's current scale ScalingActive False FailedGetResourceMetric the HPA was unable to compute the replica count: unable to get metrics for resource cpu: no metrics returned from heapster
以下は、要求される自動スケーリングが要求される最小数よりも小さい場合の Pod の例です。
Conditions: Type Status Reason Message ---- ------ ------ ------- AbleToScale True ReadyForNewScale the last scale time was sufficiently old as to warrant a new scale ScalingActive True ValidMetricFound the HPA was able to successfully calculate a replica count from pods metric http_request ScalingLimited False DesiredWithinRange the desired replica count is within the acceptable range Events: