クラウドサービス
クラウドサービスとして利用できるKubernetesクラスタはローカル環境に依存せず環境を簡単に構築できる代わりに、お金がかかるものがほとんどです。各クラウドベンダーには無料プランがついているものの、期間やお金を気にせず学習したいという方はKatacodaやOktetoをお勧めします(この章ではSaaSでクラウド作成する方法は省略します)。
また、ワーカーノードのみ管理する/自分で作成したリソースのみ管理するため、Control Planeを操作したい場合は、ローカル環境でのクラスタ作成または自分で構築するKubernetesクラスタの利用をお勧めします。
-
Katacoda
- Kubernetes公式ドキュメントから参照されている。ブラウザ上でクラスタの作成からkubectlの操作を行う。チュートリアルメニューなどが用意されている。
-
Okteto
ブラウザからクラスタを作成するが、ローカルからkubectlを利用してクラスタにアクセスすることも可能。個人学習用としては筆者最推し。
-
マネージドサービス
- Amazon Elastic Kubernetes Service(EKS)
- Google Kubernetes Engine(GKE)
- Azure Kubernetes Service(AKS)
Katacoda
利用するためにはユーザー登録が必要です。さまざまなチュートリアルがあるのでぜひ登録して試してみてください。
また、Kubernetes公式ドキュメントから利用することもできます。
公式ドキュメントの「Launch Terminal」をクリックするとKubernetesクラスタが構築された状態でターミナルが起動します。
起動したら「kubectlを利用してクラスタにアクセスする」に進んでください。
Okteto
利用するためにはGitHubのアカウントが必要です。Oketoのアカウントを作成するには、公式サイトのStart for Free>Login with GitHubからGitHubアカウントを連携してください。
OktetoではブラウザのUIを利用して各種リソースの作成などの操作を行うことができますが、かなりメモリを消費するためローカルからアクセスしてリソースを作成することをお勧めします。
ローカルからアクセスするためには、ブラウザでOktetoにログイン後Settings>Download Config Fileでconfigファイルをダウンロードしてください。
画面に出てくるexport KUBECONFIG=$HOME/Downloads/okteto-kube.config:${KUBECONFIG:-$HOME/.kube/config}
をローカルのターミナル上で実行することでkubectlにconfigを設定することができます。
設定した後は「kubectlを利用してクラスタにアクセスする」に進んでください。
マネージドサービス
各種SaaS企業からKubernetesのマネージドサービスが提供されています。マネージドなので本番環境を運用するにあたって便利な点が多いですが、以下の理由から学習という意味ではあまりお勧めしません。
- 元々そのプラットフォームに馴染みがある場合は良いが、ない場合はそれぞれのプラットフォームの癖(ダッシュボードの見方・使い方やアカウントの取り扱い方法など)を学習するコストがかかってしまう
- お金がかかる。無料プランがある場合でも、間違えてお金がかかってしまうこともある
- マネージドになっている部分はユーザーがさわれない部分になるので、触って学習できる内容に限度がある
ここでは代表的なマネージドサービスの名前を挙げるだけにとどめておきます。本番環境の運用を行う場合は、いずれかを利用することが多いでしょう。
- Amazon Elastic Kubernetes Service(EKS)
- Google Kubernetes Engine(GKE)
- Azure Kubernetes Service(AKS)
自分でクラスタを構築する
Kubernetesは自分でNodeを用意し、Control Planeと各Worker Nodeの設定をすればクラスタを構築することができます。
用意するサーバは物理サーバでも仮想マシンでも構いません。自分でクラスタを構築することは「Kubernetes the Hard Way」と言われているように、難しく時間がかかります。ただ勉強にはなるので、知識を深めたい・じっくり勉強したいという方は挑戦してみると面白いでしょう。
GCPを利用してクラスタを構築する
GCPを利用する場合、先人が構築方法を残してくれているので、以下のドキュメントを参考に構築すると良いでしょう。GCPアカウントの初期作成時に付与される無料クレジットの枠で構築できます。
Raspberry Piを利用してクラスタを構築する
割と人気のある方法で、「一家に一台Kubernetesクラスタ」と言ってはRaspberry Pi(ラズパイ)でKubernetesクラスタを構築するエンジニアが後をたちません。しかしこの方法は複数のラズパイ+付属品を買う必要があり、お金はそれなりにかかります。
筆者は試したことがないためお勧めサイトはないのですが、「Kubernetes ラズパイ」と検索すると先人たちがたくさん知恵を残してくれているので、おうちにクラスタが欲しい方はチャレンジしてみてください。