3

次のものを使用して、kubernetes クラスターのセットアップに取り組んでいます。

  • クラウドプロバイダーとしてのAWS
  • クラスターを作成および管理するための cli ツールとしてのkops (バージョン 1.6.0-alpha、テストのみ)
  • クラスターを制御するkubectl (サーバー: v1.6.2 およびクライアント: 1.6.0)
  • ローカル OS としての Ubuntu 16

次のものを含む単純な k8s クラスターがあります。

  • AWS リージョン: us-west-2
  • 1 つのマスター: t2.medium / k8s-1.5-debian-jessie-amd64-hvm-ebs-2017-01-09
  • 1 つのノードonver: t2.medium / k8s-1.5-debian-jessie-amd64-hvm-ebs-2017-01-09

また、クラスター上にいくつかのポッドをデプロイし、jmeter ストレス テストを作成して人為的なトラフィックを生成しました。

私の質問は、kops over aws を使用して k8s クラスターに自動スケーリング ノードを作成するにはどうすればよいですか?

kops リポジトリで次の ad-don kops アドオンを見つけました。ドキュメントにあるようにデプロイしましたが、利用可能です。

私のパラメータは次のとおりです。

CLOUD_PROVIDER=aws
IMAGE=gcr.io/google_containers/cluster-autoscaler:v0.4.0
MIN_NODES=1
MAX_NODES=3
AWS_REGION=us-east-2
GROUP_NAME="<the-auto-scaling-group-Name>"
SSL_CERT_PATH="/etc/ssl/certs/ca-certificates.crt" # (/etc/ssl/certs for gce)


$ kubectl get deployments --namespace=kube-system

NAME                   DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
cluster-autoscaler     1         1         1            1           3h
dns-controller         1         1         1            1           3h
kube-dns               2         2         2            2           3h
kube-dns-autoscaler    1         1         1            1           3h
kubernetes-dashboard   1         1         1            1           3h

ただし、ストレス コンテナーを含むポッドを使用してノードにストレスをかけた後、何も起こらず (100% の CPU 使用率)、自動スケーリング グループは変更されません。

CPU使用率

自動スケーリング グループ

一方、kops の出力を terraform にエクスポートしますが、CPU 使用率に基づいて自動スケーリングを生成するための自動スケーリング ポリシーはありません。

最後に、k8s ブログで、AWS によって将来的にサポートされることを示す エントリを見つけることができましたが、それに関する他の発表はありません。

AWS と kops でのそのタスクに関する提案や経験はありますか? 次に、テストのためだけに自動スケーリング ポリシーを手動で生成してみます。

4

2 に答える 2