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

    PowerMockupのAzure Icon Setを更新(ver2.5)

    更新アップデートしてたのでPowerMockupのシェイプも更新…

  2. AlibabaCloud

    Azure、AWS、GCP、Alibaba CloudのCPU脆弱性対応のまとめ

    くどうですCPUの脆弱性が公開されて各クラウドベンダーが対応し…

  3. Azure

    WindowsコンテナでWebサーバー!IISだって動きます!

    はじめにくどうです。前回のコンテナの基本的な扱いの続きです。今回は…

  4. Azure

    Cognitive ServicesでFace APIを使ってみる。これ面白い!

    はじめにくどうです。Cognitive Services …

  5. AWS

    マネージドサービスだけでAzureとAWSを接続する方法。

    はじめに2019/2/6 AWSでサイト対サイト VPNでIK…

  6. Azure

    Azure Storage にTime Machine でバックアップをする方法

    Macbook 買ったのでバックアップしましょう。と、いうことでA…

  1. AlibabaCloud

    AliEaters#9でLTしてきた。
  2. その他

    PowerMockupが便利でっせ。有料だけど。
  3. Azure

    AzureにVulsをインストールしてみる。コピペでどーん。Docker編
  4. Linux

    PowerShell on Bash on Ubuntu on Windows …
  5. 未分類

    「Virtual Server 2005 R2」にFedora 5 をインストー…
PAGE TOP