技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Kubernetesの勉強がてら勉強会

参加してきたのは以下。

SpringBootでマイクロサービスを作ってKubernetesにデプロイしてみる【実践編】 dreamarts.connpass.com

尚、当日資料は下記。

github.com

K8S とは?

コンテナオーケストレーション技術。
コンテナオーケストレーションは、

  • コンテナが落ちた時に自動でコンテナを用意してアップしてくれる
  • 新しいバージョンリリースの時には「新しいコンテナを作って新版デプロイ」「接続設定を新版に切り替え」「旧版コンテナの削除」を順次行ってくれる

要するにバックのサービス云々を意識せすに、サービス維持を自動化してもらうツールと言える。

特徴として

  • Declarative 宣言的
  • Immutable 固定化
  • AutoHealing 自己修復的

この特徴のおかげで、「致命的エラーが出た?新しいコンテナ作ればいいやん」という状況が生まれる。
ただし、このアーキテクチャを採用する場合

  • サーバサイドにセッション情報を保持する作りは崩壊する。
    • つまりステートレスサーバを作らなければならない(破棄前提)

個人的な意見だと Playframework でやればおk!

K8s の構成

基本的に

  • kubectl
    コントロールサーバ。ここから K8s
  • kube-apiserver
    kubectl からリクエストを受ける部分。
    こいつが kube-scheduler に処理を移譲する
  • kube-scheduler
    apiserver で受けた内容を元に、Pod を操作する部分。
  • Kubelet
    Podを起動し管理するエージェント
  • Pod
    コンテナ本体

という構成とのこと。

Docker

カーネルレベルの機能としてプロセスを分離し、そこで Ubuntuなどの様なコマンドセットを用意することで、それぞれのディストリビューションとして振る舞う。
という様なお話。

すみません、自分で調べてたので聞き流してしまいました(汗

Docker 周りはこの辺聞けばいいと思う。

11. dockerネットワーキングとか、kubernetesネットワーキングとか | Fukabori.fm

いまさらDockerに入門したので分かりやすくまとめます - Qiita