kubernetes HPA弾性スケーリング容量配備形態(3)

図1は、HPAが弾性伸縮実装されているポッドkubernetes内部に、弾性ポッドスケーリング能力に応じて閾値設定を監視することができ、それは、現在のデフォルトのHPA CPUとメモリ容量の閾値検出器スケーリングをサポートすることができます。
しかし、いくつかのコントローラを伸張するために使用されていないHPAがDaemonSetようにスケーリングすることができない
2、また、APIとすることができる弾性伸縮達成するために、より柔軟なモニタリング指標を達成するために、メトリックカスタムメトリックカスタムによってプロメテウスを呼び出し

kubernetes HPA弾性スケーリング容量配備形態(3)

ここでHPAの展開は、HPAは、リソース使用量のポッドを得ることができないので、ときHPA前提展開メトリック・サーバーの最初の展開ではない、メトリック・サーバーのサービスを要求します

Kubernetes hepsterを使用して、以前のバージョンでは、より多くの1.10バージョンの背後にあるメトリック・サーバを使用することをお勧め
メトリック・サーバーを使用することをお勧めします

キー:

HPAのための条件:
1 \ HPAないオートスケールdaemonsetタイプコントロール
2 \オートスケールを達成するために、ポッド必須設定要求

展開し始めました。

私はあなたが直接起動することができ、Baiduのネットワークディスクにここに右のファイルだし、修正せずに直接使用することができ、すべての必要な変更

リンク:https://pan.baidu.com/s/1D5yoH6GZO3C0a9PZLK8oUw
抽出コード:27s1

kubeadm実施形態
メトリックサーバは、githubのから削除引っ張っ

gitのクローン[email protected]:kubernetes-インキュベーター/メトリクス-server.git
または手動でローカルホストにダウンロードしてからアップロード
https://github.com/kubernetes-incubator/metrics-server

forループを使用してダウンロードはこちら

delegator.yamlのauth-AUTH-reader.yamlメトリックメトリックapiservice.yaml-サーバdeployment.yaml内のファイルのメトリックservice.yamlサーバ・リソース・reader.yaml。DO wgetのhttps://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/metrics-server/$file;done

kubernetes HPA弾性スケーリング容量配備形態(3)
6つのファイルの合計

ここでは、2つのファイルを変更する必要がある
のvimメトリックサーバdeployment.yamlを変更します

kubernetes HPA弾性スケーリング容量配備形態(3)
これらの必要性を修正する
のvimリソース-reader.yamlを変更します

kubernetes HPA弾性スケーリング容量配備形態(3)

これらが設定され、作成を開始している
kubectlは-f適用されます。

完全な外観を作成します。
kubernetes HPA弾性スケーリング容量配備形態(3)

kubernetes HPA弾性スケーリング容量配備形態(3)
kubernetes HPA弾性スケーリング容量配備形態(3)

このメトリック・サーバーの配備が完了したことを示して
HPAを展開し、次の開始

YAMLの展開作成し
ます。[root @ K8S-マスターHPA]#猫のautuscalertest.yamlの
V1は:apiVersion
種類:サービス
メタデータ:
名前:autuscalertest
ラベル:
アプリケーション:autuscalertest
仕様:
タイプ:NodePort
ポート:

  • ポート:80
    targetPort:80
    nodePort:30110
    プロトコル:TCPの
    選択:
    アプリ:autuscalertest

    apiVersion:拡張/ v1beta1
    種類:展開の
    メタデータ:
    名前:autuscalertest
    スペック:
    レプリカ:2
    テンプレート:
    メタデータ:
    ラベル:
    アプリ:autuscalertest
    注釈:
    prometheus.io/scrape: '真'
    仕様:
    コンテナ:

    • 名前:podinfodの
      画像:nginxの
      imagePullPolicy:ネバーの
      ポート:
      • containerPort:80
        プロトコル:TCPの
        資源:
        リクエスト:
        メモリ: "32Mi"
        CPU: "1メートル"
        の制限:
        メモリ: "256Mi"
        CPU: "100メートル"

kubernetes HPA弾性スケーリング容量配備形態(3)

リクエストパラメータ持っている必要があります
-f autuscalertest.yamlの作成直接kubectlの完了後に
、ここで部数が2カザフスタンあります

完了後に
作成HPA YAMLは
kubernetes HPA弾性スケーリング容量配備形態(3)
、CPUとメモリ使用量しきい値にポッドを指定された
10までの、そして容器2の最小数

创建
kubectl create -f HorizontalPodAutoscaler.yaml

kubernetes HPA弾性スケーリング容量配備形態(3)
次のテスト

WebBenchの圧力試験

コンパイルしてインストール
wgetのhttp://www.ha97.com/code/webbench-1.5.tar.gz
タール-1.5.tar.gz zxvfのWebBench
1.5-のWebBenchのためにCDを
作る
make installを

kubernetes HPA弾性スケーリング容量配備形態(3)

ハの効果を見てください
kubernetes HPA弾性スケーリング容量配備形態(3)
kubernetes HPA弾性スケーリング容量配備形態(3)
kubernetes HPA弾性スケーリング容量配備形態(3)

説明私たちのHPAを有効にするにはある、と、圧力測定ビンを待った後、時間をかけてこれらの10個のコンテナは、ここ2にコピーハノートの数が削減されます、すぐに2に削減されていない、それはいくつかの時間がかかります

kubernetes HPA弾性スケーリング容量配備形態(3)

まあ、展開上のHPAが完了し、問題あなたはプライベートの手紙私ヘクタールができるの背後には何か

おすすめ

転載: blog.51cto.com/xiaorenwutest/2480053