名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。

【サポーターズCoLab勉強会】入門Kubernetes に参加したが理解が追いついてない

わからないものを知るのが良くて、仮想化技術の1つということだけ知っているものを聞いてみた。

正直、何%わかったのかと言われると50%もわかっていれば良いほうなんだけれども、こういうものが存在している…! という発見があっただけでも十分収穫だったかなと思います。

ササッと同じように構成して、いい感じによしなにやってくれるツールが存在しているだけで結構びっくりしました。

勉強会URL

supporterzcolab.com

講師

twitter.com

かたおかさん。実は結構前から知っている人だったのですが、ウォッチしている間にいろいろな経験を積んで今はベンチャー企業のCTOやっているんだとか。スピード感と技術キャッチアップ力がすごいなというイメージ。

概要

前半はDockerのお話でした。物理マシンと違うところや、実際どういう構成になっているか等。 このあたりは割とありふれている話なので、省略。

Kubernates(クーべネティス/クーベルネイテス)はコンテナの統合的操作/管理(オーケストレーション)を行うものらしい。 なんか何でもよしなにやってくれる。(本当か?と思ったが、デモ見た感じではやってくれそうな感じはした)

Kubernatesは複数のノードからなるクラスタ(グルーピングされたもの)と、複数のコンテナが走っているノードからなっている(と捉えた)。ノードは1マシンとかの単位。

1つのノードに処理が偏らないようにバランスを取ってよしなにやってくれる。また使うImage数の管理ができ、最小で4つ、厳しいときは10個! とかそういう設定ができ、負荷が高くなってくると自動的にImageが起動される。

マイクロサービスとの相性がよく、例えばGoのサーバーとRailsのサーバーを組み合わせるためには通信が必要になるがそれもうまいこと設定ができる。通信の管理はL4(ICP/IP)レベルのServiceと、外部公開されたアプリケーションから叩かれるL7(アプリケーション)レベルのIngressの両方が存在している。IngressではAPIとWEBページのどちらに投げるかの投げ先を変更できる。

ロードバランサーも組み込める、例えばnginxとか使える。もちろんDocker以外の仮想コンテナとか、ロードバランサーにも変更できる。柔軟性もやばくないかこれ。

みたいなメモが残っているけど、実際かなり概念的なレイヤーで理解しかできていないため、挙動はどうなんだろう? みたいな気持ちになることはある。デモでちょっと見てみたけど、いくつかのマイクロサービスと連携していくときにはちょうど良さそうなサービスだなと思いました。GCPもついでに抑えられるとめっちゃ強いかも。

人間がいい感じに何かを調整してやる世界観は早めに脱していく必要があると思います。コンピュータ同士が互いを監視しあって、健康状態をチェックしよしなにやってくれるのが正しい世界観であるように感じました。(矯正されたのかも)

また、 Japan Container Days なるイベントが存在しており、 仮想コンテナ技術に関するやり取りが多くなされているようだ。

おすすめはこの二冊らしい。最近、本のおすすめを受けるような気がする。

インターネットの記事でしっかりと概要・使い方を学びつつ、詳細な概念などは書籍で読んでいったほうが良いのだろうか。

コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤

コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤

入門 Kubernetes

入門 Kubernetes

後者は見たことがあるなあ。。。

まとめ

なんというか名前しか知らない技術の話を聞いていて、ほえーってなっていたんですが、会社のサービスだとどこに活かせるかな? とか、新規でサービス作るときに使ってみたい… ! とか前向きになれる勉強会でした。

僕も雑にサーバー立ててやってみたいな、、、みたいな気持ちになりました。でも、もう少し仮想コンテナとか勉強してからかな。少し早すぎたかもしれませんが、もっと先の世界が広がっていることを知ることができ、有意義に感じました。

というわけでまずはDockerやっていき! からまた先を考えてみたいですね。(現状でDockerは枯れた技術なのかはわからないけれども、導入例等が充実しているのは強みだと思うし、やっぱ最初に広まるって価値あるんだなと思うとか)