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が頻繁にやりとりされているので参考にするのも良いと思います。

関連記事

  1. AWS

    Azureの機能を一覧にしてみました。

    最近、Azureの進化が止まらないので自分でも整理するために出力してみ…

  2. Azure

    Azure Active Directory のBasic とかPremium とかのライセンスって…

    はじめにくどうです。Azure Active Direct…

  3. Azure

    Azure Active Directoryを削除する。なんか消えないんすけど。

    はじめに今回はAzure Active Directory(以下A…

  4. Azure

    MCP70-532を受験してきた。

    はじめにくどうですAzureのMCP試験は3つあります。…

  5. Azure

    Azure Active Directory の削除方法。それ、ServicePrincipalの問…

    はじめにくどうです。みなさんAzure Active Direct…

  6. Azure

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

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

  1. AWS

    Azure ADとAWS Directory Serviceで同期してみよう。
  2. その他

    ルワンダ旅行記 – ICT立国を目指す国で見てきたもの –…
  3. 未分類

    オープンソースカンファレンス2007 Hokkaido
  4. Azure

    Azureのシンボルをpngに変換してみた。I converted the sy…
  5. 日記

    CloudNative Days TokyoでRancherさんの松坂牛を当てる…
PAGE TOP