コンテナ化された MID Server の自動スケーリング
MID Server は、任意の数のレプリカを使用して StatefulSet を介して展開できます。Kubernetes Horizontal Pod Autoscaler (HPA) を活用して自動的にスケーリングできます。Horizontal Pod Autoscaler は、需要に合わせて作業負荷リソース (展開や StatefulSet など) を自動的に更新します。
![]() |
- 名前
- ヘッドレスサービス名
- 永続ボリューム要求 (PVC)
- ストレージクラス、アクセスモード、ストレージ要求などのパラメーター
- リソースの要求/制限
PVC により、MID Server が config.xml、メタデータファイル、およびそのいくつかのサブフォルダーを格納する目的の永続ボリュームが宣言されます。
作業負荷の変動中に、実行中の MID Server コンテナを含むポッドを削除して、新しいポッドに置き換えることができます。StatefulSet は、同じ永続ボリュームが新しいポッドに接続されていることを確認し、MID Server がその状態を再開できるようにします。
永続ボリュームにマウントできるサブフォルダーは、新しい MID Server のインストールで最初は空であるものだけです。config.xml ファイルとその他のメタデータファイルは、ポッドがシャットダウンされたときにバックアップし、起動時に復元する必要があります。
YAML ファイルとしてエクスポートされた展開要求は、Kubernetes クラスター内に StatefulSet 作業負荷と新しい MID Server ポッドを作成するために使用できます。
デプロイ YAML ファイルに変更を加えて再適用すると、デプロイの既存のポッドが再作成されます。StatefulSet 展開では、構成ファイルはバックアップ フォルダーから復元されます。init スクリプトは、MID Server を起動する前に、展開環境の変更を検出し、構成ファイルに適用する必要があります。
HPA 自動スケーリングのアクティブ化
HPA 自動スケーリングは、HPA コントローラーを作成することで、既存の StatefulSet 作業負荷に対してアクティブ化できます。
HPA v1 構成を使用してインスタンスで展開要求を作成すると、エクスポートされた YAML ファイルが適用され、HPA 自動スケーリングがすぐに開始されます。
minReplicas および maxReplicas:Kubernetes クラスター内の任意の時点での最小および最大の作業負荷リソースレプリカを定義します。
metrics:CPU やメモリに基づいてスケールアップまたはスケールダウンの係数を定義します。
averageUtilization:使用率の観点からリソース測定基準を指定します。
averageValue:直接値でリソース測定基準を指定します。
behavior:[動作] フィールドでスケールアップまたはスケールダウンを指定します。
policies:仕様の [動作] セクションで 1 つ以上のスケーリングポリシーを指定できます。複数のポリシーが指定されている場合、最大の変更を許可するポリシーがデフォルトで選択されます。
periodSeconds:ポリシーが true を保持する必要がある過去の時間の長さを示します。
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: autoscaling-demo-hpa
namespace: default
labels:
app: MIDServerManagement
provider: ServiceNow
spec:
minReplicas: 2
maxReplicas: 10
metrics:
- resource:
name: cpu
target:
averageUtilization: 30
type: Utilization
type: Resource
- resource:
name: memory
target:
type: AverageValue
averageValue: 1Gi
type: Resource
behavior:
scaleDown:
stabilizationWindowSeconds: 300
policies:
- type: Pods
value: 4
periodSeconds: 60
- type: Percent
value: 10
periodSeconds: 60
selectPolicy: Max
scaleTargetRef:
apiVersion: apps/v1
kind: StatefulSet
name: autoscaling-demo-ss
Glide プロパティ
- mid.container.deployment.volume_mount.subpaths
- タイプ:文字列
- デフォルト値:mid_container、agent/extlib、agent/logs、agent/scripts、agent/security、agent/security_backup、agent/work
永続ボリュームマウントサブパスのカンマ区切りリストを指定します。
- mid.container.deployment.headless_service_yaml_included
- Type : True/False
- デフォルト値:True
エクスポートされた YAML ファイルにヘッドレスサービスリソースを含めるかどうかを指定します。
MID Server 設定パラメーター
- mid.drain.timeout
- タイプ:整数
- デフォルト値:900
ドレーン操作のタイムアウトを秒単位で指定します。
- mid.drain.run_before_container_termination
- タイプ:ブーリアン
- デフォルト値:true
コンテナの終了前にコンテナ化された MID Server をドレーンするかどうかを指定します。
