こんにちは。高妻(@Tomokazu106)です。早速ですがみなさんKubernetesは使っていますか?
下記、翻訳ブログでKubernetesは多機能すぎてオーバスペックだから扱うのが大変という認識が出回っていますね。まあオンプレだから大変というのもあると思います。
この2日後の今日、サイバーエージェントの青山さん(Kubernetes完全ガイド著者)が「Kubernetes は辛いのか?」という記事を書きました。
ざっくり内容を引用するとだいたいこんな感じです。この内容に自分も全く異論はないですね。マネージドKubernetesを使うなら楽で、オンプレは大変ですよと。
マネージド Kubernetesを使えるなら、開発者として利用するだけなのでそこまで難しくありません。
GKEなどのマネージドKubernetesサービスを利用するケースでは、Kubernetesの管理は殆ど必要がなくなります。
オンプレ上でKubernetesをやろうとするのであれば、少なくとも少人数で選択することはオススメしません。
なので、個人的にもKubernetesは激ムズというものではなくシンプルな構成にも素早く使えるし、巨大で複雑なサービス(メルカリのマイクロサービスなど)にも使える柔軟なコンテナオーケストレーションツールだと考えています。
実際にKubernetesを使っている感想
私が所属するGincoではKubernetesのマネージドサービスであるGKEを使ってGincoアプリのバックエンドを構築しています。バックエンドの構成がすごくシンプルなのもありKubernetesで簡単に構築することができています。
Kubenetesの扱いはすぐに慣れる
Kubernetesを1年くらい使ってみての感想ですが、Dockerの知識があればすぐに使い始められるなという印象です。
実際、Gincoに入るまでKubernetesは全く使ったことなかったですが、割とすんなり扱いに慣れることができました。構成がシンプルであまりいろんなものを使っていないということはあるかもしれませんが。
シンプルな構成でもオーバースペックとは感じない
DeploymentとService(L4ロードバランサ)、Ingress(L7ロードバランサ)だけの構成でスケーラブルなバックエンドを簡単に構築できます。
さらにGKEならKubernetesのアップデートとクラスタのオートスケールをしてくれるのでものすごく楽ですし、リソース不足を心配することもないので非常に助かります。
他にもいろんな機能がありますがあまり使うことはないですね。これらの機能がバックエンドを構築する上で邪魔になることもないのでオーバースペックともそんなに思わないです。
むしろいろんな機能をあとあと使えてラッキーといった感じですね。特にツール群はいろんなものがあってすごいです。
オンプレでKubernetesを使うのは確かに大変そう
しかし、オンプレでKubernetesを使うのは想像しただけで大変そうですね。何が大変そうかというと、Kubernetesクラスタの運用をしないといけないからですね。
クラスタ運用に専用チームが必要
GKEやEKS、AKSなどのマネージドサービスではKubernetes自体の管理が必要ないので、クラスタのインスタンス管理やスケールの仕組みを自前で用意しないといけないですね。
となるとKubernetesを運用するチームが専属で必要になりそうです。これは青山さんもブログでも書いていましたね。
本領を発揮するにはツールを使いこなす必要がある
Kubernetesを全力で使い倒すにはIstio、Consul、helm、envoy、kustomize、spinnakerなど多くのツールの使い方を学習して使いこなす必要がありますね。
ツールの学習ハードルが高い
ここがKubernetesの学習と実運用へのハードルを高くしていると思います。多くのツールの中から適切なものを選定する幅広い知識が必要ですし、実運用に使うとなったらそれぞれの深い理解が必要ですし。
自分はまだここら辺の知識も浅いですし、使ったりもできていないですが、Kubernetesを使うだけなら簡単という感じです。
Kubernetesはとりあえず簡単に使い始めることができるのでまずは試してみることをお勧めします。
Nginx建ててみるとか簡単な応答をするサーバを実装してServiceからDeploymentにリクエストを流してみるとかでいいので使ってみると導入の簡単さを感じることができるんじゃないかなと思います。以上です。
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す