Kubernetesフレックス伸縮HPA機能強化Advanced Horizontal Pod Autoscaler-導入編の紹介

4111 ワード

背景
WHAT(何をする)
Advanced Horizontal Pod Autoscaler(略称:AHPA)はkubernetesにおけるHPAの機能強化である.原生HPA対応機能に加え、予測、実行モード構成、縮み制御などの機能を追加.AdvancedHorizontalPodAutoscalerを使用して、Delloymentなどのscale機能をサポートするオブジェクトを伸縮できます.
WHY(なぜ)
HPAの使用上の不便点:
  • 拡張モードは柔軟ではありません:HPAを作成した後、リソースの実際の拡張後に可用性を検証できます
  • 拡張制御には一定のリスクがあり、縮小は目標状態に従って単回実行され、業務ジッタ
  • になりやすい.
  • は規則性の強い応用に対して、特殊な処理を行うことができなくて、例えば早めに容量を準備して、容量拡張効率の低いもたらすリスクを低減します
  • .
  • サポート指標はカスタム拡張が必要であり、一定の開発コスト
  • が必要である.
    How(どうやって)
    AHPA機能はcontrollerとalgorithmの2つの部分に分かれています.
  • controller部:HPA機能互換、閾値トリガと予測トリガ結果処理、拡縮モード機能、縮容制御機能など
  • .
  • algorithm部:STL+auto-arimaに基づく予測アルゴリズム実装機能
  • を提供する
  • 全体のアーキテクチャは以下の通りである:
  • シーンの操作
    周期性の法則は明らかにコストの最適化を応用します--早めに容量を準備して、容量のリスクを下げます
    規則性の明らかな応用に対して、一般的に以下の特徴がある:上図の中で、赤い線は応用の入網流量(qps)、青い線は容器数を表す.図中の青色から、qpsが到来する前の時間(例えば:60 min)にすでに準備が開始され、qpsがピークに達する前に資源がreadyに達し、流量ピークが到来する時に準備がジッタを適用するリスクを低減していることがわかる.qpsピーク後,資源は緩やかに回収(縮容速度は線形に減少)し,浪費を回避した.上図から分かるように、規則性の明らかな応用に対して、早めに準備し、ゆっくりと縮小し、最終的に応用安定性を保証する前提の下でコスト最適化の目的を達成することができる.
    配置
    ぜんちじょうけん
  • helm v 2バージョンはv 2より大きい.11.0+.
  • 予測機能は「アリクラウドモニタリング」に依存し、「ack-aliba-cloud-metrics-adapter」コンポーネントをインストールする必要がある.

  • インストール&アンインストール
    chartのインストール
    方法1:「コンテナサービス」->「市場」->「アプリケーションディレクトリ」->「ack-advanced-horizontal-pod-autoscaler」にインストールします.次の図に従います.
    方式2:
    helm install ack-advanced-horizontal-pod-autoscaler -n ahpa

    chartのアンインストール
    helm delete ahpa

    helmパラメータ構成
    パラメータ
    説明
    デフォルト
    ahpa.replicaCount
    AHPAコントロールコピー数1
    ahpa.imageTag
    AHPAミラーtag.v1.0
    ahpa.imagePullPolicy
    AHPAミラー引き抜きポリシーAlways
    ahpa.ALGORITHM_SERVICE_AHPA_SVC_HOST
    AHPAアルゴリズム依存svcalgorithm-service
    algorithm.replicaCount
    アルゴリズム・サービスのコピー数1
    algorithm.ports
    アルゴリズムサービスポート番号5000
    algorithm.imageTag
    アルゴリズムサービスミラーtag1.0
    algorithm.imagePullPolicy
    アルゴリズム・サービス・ミラー・プル・ポリシーAlways
    alibabaCloudMetricsAdapter.needcreate
    alibaba-cloud-metric-adapterをインストールするかどうかtrue
    crds.needcreate
    crdsをインストールするかどうかtrue
    rbac.needcreate
    rbacを構成するかどうかtrue
    使用
    AHPA demoを実行
    apiVersion: autoscaling.alibabacloud.com/v1
    kind: AdvancedHorizontalPodAutoscaler
    metadata:
      labels:
        controller-tools.k8s.io: "1.0"
      name: ahpa-sample-original-support
      namespace: kube-system
    spec:
       scaleTargetRef:
          apiVersion: extensions/v1beta1
          kind: Deployment
          name: nginx-deploy
       selector:
         matchLabels:
           app: nginx-deploy
       minReplicas: 2
       maxReplicas: 5
       #     ,scalingUpOnly:    ,observer:    ,auto:    
       scaleMode: "auto"
       #      ,    60       
       forecastWindow: 60
       metrics:
         - type: External
           external:
            metric:
              name: k8s_workload_cpu_util
              selector:
                matchLabels:
                  k8s.cluster.id: "xxx"
                  k8s.workload.name: "nginx-deploy"
                  k8s.workload.type: "Deployment"
                  k8s.workload.namespace: "kube-system"
                  k8s.period: "100"
            target:
              type: Value
              value: 60

    AHPA機能強化構成説明&指標サポート
    機能強化の説明
    パラメータ
    説明
    デフォルト
    scaleMode
    拡張モード、scalingUpOnly:拡張モードのみ、observer:観察モード、auto:拡張モード
    "observer"
    forecastWindow
    予測未来時間ウィンドウ(分)、0は予測機能を使用しないことを示します
    0
    指標のサポート
  • Ingress(SLS)
  • SLB
  • CMS

  • 最後に
    Advanced Horizontal Pod Autoscalerは、周期的な法則の強いアプリケーションに対して事前準備を行い、拡張リソースの申請、アプリケーションの起動にかかる容量リスクを低減すると同時に、拡張モードと拡張制御をよりよくサポートし、自動拡張の業務の可用性を増加させることができる.AHPAは現在ホワイトリストのユーザーに開放して、住所を申請します:https://page.aliyun.com/form/act946163602/index.htmああ、皆さん、試用して新しいニーズを提出してください.
    iPhone 11 Pro、衛衣、Tシャツなどを吸いに来たら、すぐに手の調子を試してみましょう.https://www.aliyun.com/1111/2019/m-lottery?utm_content=g_1000083877
    テキストリンク
    本文は云栖コミュニティのオリジナル内容で、许可を得ずに転载してはいけません.~~~~