kubernetes
見始めた。
良い資料
k8sを使うには、通常はmasterと呼ばれる親機とnodeと呼ばれる子機サーバーを用意して、k8sをそれぞれインストールし、それぞれ通信設定…めんどくさいです。
k8sのマネージドサービス上で展開すれば、masterとnodeは数分で勝手に準備され、不調になったnodeは自動で入れ替わる、さらにnodeの数も増減できる、などいいことだらけ。
nodes -> pods(内部ip持つ) -> containers ???
とりあえず、コマンドだけはうってみた。
流れのイメージはできた。
serviceとは
serviceひとつにpodsがぶらさがって、serviceに来たアクセスをどれかのpodにいい感じで分配します(
developmentとは
Replication Controllerとpodの両方を一括で管理できるものです
読んで、自分なりにまとめる。
実際の運用環境などだと、ホスト一台にdockerコンテナをいろいろ立てるというのは想定しづらい。
で、複数host(node), 分散環境での運用となると、管理は大変になる。それを解決する。
なので、
複数サーバーでのコンテン統合管理
コンテナ間でのネットワーク管理(ipアドレス、routing)
コンテナの負荷分散
コンテナの監視
無停止でのアップデート
という機能を提供する。
具体的にはマスタサーバーがあり、そこが管理する。
用語
pod
時々目にするけど、
複数のコンテナで仮想NICを共有する
ノードは物理的なNICごとに存在するけど、ノード内でさらに細かくIP(仮想NIC)で(コンテナ群を)グループ化したもの。というイメージかな。
これにServiceを定義付けて、pod外部から認識してもらう。(ip+port)
service
podに対して、外向け、内向けのip, portを付与する。local machineのserviceはportだけを付与するので、そこが違う
deployment