Azure

Node Auto-Scaling + Kubernetes with ACS-Engine on Azure.

はじめに

くどうです。

Azure上に、ACS-EngineでKubernetesを展開した場合に問題になるのはNode単位でのオートスケールです。
また、NodeのスケールはCPUなどではなく、resourcesを設定しdeploymentした場合など、
podがpendingになった場合スケールします。

現在(2017/12/13)本家のKubernetesが一度サポートしたはずのAzureでのオートスケールを削除しています。
GCPやAWSは対応してるんですが・・・・
その為、別の方法を考える必要があります。

唯一、動作するものとしてwbuchwalter/Kubernetes-acs-engine-autoscaler を紹介します。
基本的な利用方法は同じですので下記をご参考をお願いします。
https://github.com/wbuchwalter/Kubernetes-acs-engine-autoscaler
https://medium.com/@wbuchwalter/autoscaling-a-kubernetes-cluster-created-with-acs-engine-on-azure-5e24ddc6402e
上記のautoscalerは少々癖があります。
1、acs-engineを利用してdeployした場合は動作しません。
2、カスタムVnetに展開されたk8sの場合、autoscaler用のイメージはlatestではありません。

それぞれ説明していきたいと思います。

1、acs-engineを利用してdeployした場合は動作しません。

これはautoscalerがdeploment情報を参照しているためです。
acs-engineでdeployした場合、dnsSaffix+数字になってしまうためこれを利用できません(正確には出来ないわけではい)。

autoscalerはデフォルトでazuredeployという名前のdeploymentを探します。
その為、generateでテンプレートを作成後、az group deployment create などで展開します。
上記の方法で展開することで deployment nameをazuredeployに統一します。

acs-engineの利用方法は割愛します。

2、カスタムVnetに展開されたk8sの場合、autoscaler用のイメージはlatestではありません。

カスタムvnetを利用した場合、nsgが問題でエラーが発生します。
https://github.com/wbuchwalter/Kubernetes-acs-engine-autoscaler/issues/34
以下のイメージが公開されていますので、それを利用します。
emondek/kubernetes-acs-engine-autoscaler:remove-nsg-dependson

投稿日より10日前なのでもう少ししたら、Masterにマージされるかな?
https://github.com/wbuchwalter/Kubernetes-acs-engine-autoscaler/pull/68

まとめ

現状、Nodeのオートスケールは選択肢がwbuchwalter/Kubernetes-acs-engine-autoscaler のみかと思います。
k8sのHorizontal Pod Autoscalerと組み合わせて活用していきましょ。
k8sのslackでもscalingが頻繁にやりとりされているので参考にするのも良いと思います。

Related post

  1. Azure

    リソースのLockは大事です。ポータルからも設定できます。

    はじめにくどうです。以前、リソースのロックの話を書きました…

  2. Azure

    Azure のiPhoneアプリがリリースされた。

    BUILDBUILD をみながらiPhoneアプリがリリー…

  3. Azure

    Power BIはモテると誰かがいっていたのでOMSのデータを表示させてみる。

    はじめにくどうです。Power BIはモテると誰かが言って…

  4. Azure

    Azure RemoteAppを使ってみる。Officeが使えますよ!

    はじめにくどうです。事務所はちょっと寒いです。RemoteAppの…

  5. Azure

    他社さんの、社内勉強会に行ってきた。

    はじめにくどうです。9/8にNTTPCコミュニケーションズさんの…

  6. Azure

    Microsoft Azure でDockerはじめちゃいますか?

    じゅんくどうです。本投稿は「Azure Advent Calende…

  1. 未分類

    バックアップを取りましょ その3 (SystemRescueCDでリストア)
  2. 日記

    さくらVPSのリニューアル
  3. Azure

    Scale SetをAnsibleで構成管理してみる。でもHTTPで公開できない…
  4. Azure

    AzureのKali Linuxでapt-getを実行した時に Hash Sum…
  5. Azure

    Azure RemoteAppにWeb Clientがサポートになりました。地味…
PAGE TOP