Amazon EKSでHorizontalPodAutoscalerを設定しようとすると、TARGETS列に常に<unknown>/50%
が表示され、HPAについて説明すると、
警告FailedGetResourceMetric 17s(x50 over 1h)水平ポッドオートスケーラーはリソースcpuのメトリックを取得できません:リソースメトリックAPIからメトリックをフェッチできません:サーバーは要求されたリソースを見つけることができませんでした(pods.metrics.k8s.ioを取得)
Kube-controller-managerで--horizontal-pod-autoscaler-use-rest-clients
を使用することについて言及している同様の問題について他のサイトで複数の投稿を見つけましたが、EKSクラスターのkube-controller-managerの設定を変更する方法が見つからないため管理用のマスターノードにSSH接続できず、kube-controller-managerがシステム内のリソースとしてリストされていないようです。
https://github.com/kubernetes-incubator/metrics-server の指示に従って、metrics-serverを手動で設定しようとしましたが、その場合、EKSが提供していないことが示されていますAPI拡張機能の認証に必要な構成マップCould not create the API server: configmaps "extension-apiserver-authentication" not found
[〜#〜]編集済み[〜#〜]
AWSは、カスタム指標による水平ポッド自動スケーリングのサポートをリリースしました: https://aws.Amazon.com/pt/about-aws/whats-new/2018/08/Amazon-eks-supports-horizontal- pod-autoscaling-with-custom-metric /
前の回答
これは現在EKSの既知の問題です。サポートからの私の返答です(一部省略):
残念ながら、EKSコントロールプレーンには現在、メトリックサーバーアグリゲーターに関する問題があります。 EKSサービスチームはこれらの問題に取り組み、メトリックサーバーのサポートをコントロールプレーンにもたらします。
この機能がリリースされたらすぐに、次のリンクのいずれかで公表されるはずです。
- AWSブログ: https://blogs.Amazon.com/
- 新機能: https://aws.Amazon.com/new/
- AWSリリースノート: https://aws.Amazon.com/releasenotes/
この問題に対するあなたの関心を示したので、あなたに代わって解決策を提唱します。
うまくいけば、彼らはすぐにそれを整理します。
これは古いトピックであることはわかっていますが、最近設定に問題があったため、何かを追加したいと思いました。
HPAはeksバージョンeks.2からKubernetes 1.10でサポートされていますが、Kubernetes 1.11ではすでにバージョンeks.1からサポートされています。
しかし、「そのまま」では機能せず、問題は質問に記載されているものと同じです(現在のCPUが設定されていません)。
メトリックサーバーがデフォルトでEKSにインストールされていないことを知っておく必要があります。 metrics-serverはここにあります: https://github.com/kubernetes-incubator/metrics-server 。
Metrics-serverが実行された後、HPAはEKSで期待どおりに機能しています。
それが誰かを助けることを願っています!
現在サポートされていますが、少し遅れて新しいクラスターが必要です。まだ手動で更新をトリガーすることはできません。
https://aws.Amazon.com/blogs/opensource/horizontal-pod-autoscaling-eks/