[Alibaba Cloud] KubernetesのProfessional managed clustersは何が違うのか?

29 Nov 2020, 20:46 By mosuke5

こんにちは、もーすけです。
Container Service for Kubernetes (ACK) では、新しくマネージドクラスタの中でサービスレベルを選べるようになりました。 Professional managed clustersというものです。 このクラスターは通常のマネージドクラスタと比べて何が違うのでしょうか? 調べてみたのでまとめました。

料金

クラスタあたり、$0.09/時間の料金がかかります。
ざっくり計算すると、一ヶ月あたり 0.09ドル * 24時間 * 30日 * 110円 = 7,128円 となります。 AWSのEKSとくらべても少し安いくらいでしょうか?(サービスレベルでは比べていない)

この他、サーバーリソース代が別途かかるので注意してください。

通常クラスタとの違い

通常のクラスタとの違いをまとめます。
ドキュメント(ACK Pro clusters)に比較表があるのですが、正直情報が不足しているのでそのあたりを補って解説していきたいと思います。

Cluster size

Professionalは、Worker Nodeを5,000ノードまで追加できるようになります。
Standardでは100ノードまでです。

とはいえ、相当な規模のクラスタでないと100ノード以上追加することはないでしょう。 アプリケーションなどの用途によってクラスタ自体を分離してしまうことがも多いと思います。正直この点の恩恵をうけるのはまれでしょう。

SLA

Professionalでは99.95%となり、補償付きです。
補償付きというのは、SLAを満たさなかった場合に返金が行われるということです。 ただの目標値としてではなく、お客さんの期待にコミットしていくという意思表示に見えます。

API Server

Professionalでは、可用性の監視があり、そして自動的なスケールもされるとのことです。 KubernetesのMaster Nodeについては、マネージドになっているためユーザでは状況を確認することや対策をすることができない領域です。 この領域について、自動でスケーリングすることや可用性の監視が行われる点は非常におおきいと考えます。 KubernetesのAPI Serverのパフォーマンスが劣化するのはかなりの規模の場合にのみとも考えられますが、別の要因で遅くなる可能性もあるので安心ポイントです。

どのように監視してスケーリングをしているかのヒントは下記のブログに隠されています。 合わせて読んでみてください。

etcd

etcd自身のバックアップを行ってくれるようです。
Master Nodeがマネージドの環境では、etcdのバックアップもユーザサイドでは実施できません。 Kubernetes内の情報は、すべて別にマニフェストとして外出しする必要がありました。 もちろんProfessionalでもKubernetesの魅力を発揮するためにマニフェスト管理は必要なのですが、有事の際の対応としては嬉しいです。

Kube-scheduler

Topology-aware CPU scheduling という機能が使えるようになります。
詳しい実装などについては記述がないのですが、CPU集中型のワークロードの場合に効率的にPodのスケジューリングを行うもののようです。 Podのrequests.cpulimits.cpuの値を同値にすることで、スケジューリング時に最大のCPU利用量も考慮します。 その分、CPUを使わないときでもリソースを確保するため、Podの集約率は落ちます。その点を考慮できる仕組みとみてとれます。

Topology-aware CPU schedulingに関するドキュメント
https://www.alibabacloud.com/help/doc-detail/178168.htm

もうひとつはGang schedulingです。
これは、バッチジョブなどで、複数のPodを動かす必要があった場合に、all or nothing(全部同時にスケジュールされるか。しないか)の状態である必要があります。 こういったスケジュールを提供するGang schedulingが有効にできるとのことです。 この考え方は、KubernetsのSIGの中でもkubernetes-sigs/kube-batchなどで実装されたりしています。

Gang Schedulingに関するドキュメント
https://www.alibabacloud.com/help/doc-detail/178169.htm

Data encryption

kms-pluginによるデータの暗号化を提供、と書いてあるのですが、これはコントロールプレーンのetcdの暗号化のことです。 ユーザサイドの運用上はなにも影響がありません。 仮に第三者にIaaSレイヤーの管理に問題があっても、中のデータを閲覧できないようにするというものです。 暗号化・復号化にCPUを使いますが、パフォーマンス劣化になるほどではないと考えています。

https://www.alibabacloud.com/help/doc-detail/177372.htm

Security management

不明です。分かり次第追記します。

まとめ

新しく高いサービスレベルを求めるユーザ向けにProfessional managed clusterなるものがでました。 その違いを見ていきました。不明な部分もありますが、全貌が見えてきました。 また、これらの内容をより深く理解するためには、先日翻訳した下記記事が役に立ちそうです。 ACKの開発メンバーがなにを考えて作っているか理解していくことができます。

記事へのフィードバック

本記事に対して、フィードバックあればこちらのフォームからご記入ください。フォードバックしてみる

このエントリーをはてなブックマークに追加