「RKSを知る!」の連載第11回目の記事としまして、RKSと他のマネージドKubernetesサービスのクラスター作成方法について、各ベンダごとに調査した結果を解説したいと思います。
また、Elastic Kubernetes Service (Amazon EKS) およびAzure Kubernetes Service (AKS)も調査対象とし、RKSはどのようなクラスター作成ができるのかを比較しながら確認していきます。
本連載についてはリンクページを用意していますため、概要や連載記事は下記URLからご確認ください。
RKSを知る! 概要&連載リンク集
RKSクラスター作成方法
RKSのクラスター作成方法については現状2種類ございます。
1つがRidge CloudのGUIからの作成方法となります。GUIではリージョンの選定やインスタンスタイプなどを選択し、コマンド操作なしでクラスターを作成することができます。
もう1つはRidgeAPIからの作成となります。
こちらはJSONエンコーディングを使用するRESTFULAPIで、これらを使用しRKSの作成、管理が可能となります。詳しくはRidge Cloudが提供している公式ドキュメントをご参照ください。
https://www.ridge.co/platform/rks/
各クラウドベンダのクラスター作成方法の比較
実際にRKSのクラスター作成方法を比較していく上で、まず各ベンダごとにどのような作成方法があるかを確認していきます。
■RKS
・Ridge CloudのGUIから作成
・RidgeAPIからの作成
※RKSのクラスター作成方法の説明は上記で記載しているため割愛します。
■EKS
・GUIからのクラスタ作成
・eksctlを用いたコマンドによる作成
※eksctlでの構築が一般的で、GUIからはあまり実施しない(GUIで構築するための前提事項をeksctlで 実施する必要があるため)
■AKS
・GUIからのクラスタ作成
・Azure Cloud Shellおよびサブスクリプションを紐づけたローカル環境のPowerShellでの作成
作成方法から各ベンダごとに作成方法はGUI、CUIともに対応することができます。CUIの作成は各クラウドベンダ固有のコマンドなどで差分が発生しますので、今回はGUIで設定項目の比較を行っていきます。
■RKSクラスター作成画面
■GUIからのクラスタ構築項目
・クラスター名
・クラスター可用性(高可用性か否か)
・Kubernetesバージョン
・デプロイ先のデータセンター指定
・ノードプール名
・ノード数
・構成(CPU、メモリ、ストレージ)
■EKSクラスター作成画面
■GUIからのクラスタ構築項目
クラスタ基本設定
・クラスタ名
・kubernetesバージョン
・クラスタサービスロール(前提で作成したロール)
・シークレット暗号化可否
・タグ付け
ネットワーキング設定
・VPC選択
・サブネット選択
・セキュリティグループ選択
・クラスターエンドポイント選択
・CNI選択
■AKSクラスター作成画面
■GUIからのクラスタ構築項目
・基本情報(プロジェクトの詳細、クラスター名、デプロイ先、Kubernetesバージョン、ノードサイズ)
・ノードプール設定
・認証設定(AzureDirectory連携)
・ネットワーク設定
・サービス統合設定(Log管理、ポリシー管理、レジストリ管理)
各クラウドベンダでの比較してみて
クラスター作成について、各クラウドベンダごとにGUIならではの特色があることがわかりました。
RKSと各クラウドベンダーの大まかな違いとして、RKSはKuberntesの基本コンポーネントのみの作成となるため、設定項目が少なく、作成が容易である反面、セキュリティやネットワーク面での設定はクラスター作成時に設定することができないのが特徴となります。
また、各クラウドベンダーはクラスター作成時にセキュリティやネットワーク面でカスタマイズすることができるので、要件に沿ったクラスターを構築できる反面、クラスターと連携することができるサービスが多いため、設定難易度が高いことが挙げられます。
さいごに
今回は各クラウドベンダーのクラスター作成について調査し、各ベンダーごとに特色があることがわかりました。今回は割愛しましたが、CUIでの作成についても各ベンダごとに独自のコマンドや作成方法が異なっており、とても興味深いと感じました。
また、クラスター作成の際にどのクラウドベンダーでも対象となるノードの性能や、周辺サービスなど調査しなければならないコンポーネントにも気づくことができました。
上記については、別途別の調査記事として公開させていただけます!