「手軽に使うDockerの本」の感想・備忘録

スポンサーリンク

点数

77

感想

説明が丁寧でとても読みやすかった。

また、コマンドを1つずつ順番に入力していくので、理解しやすかった。

Kubernetesに関しては参考になる程度で、本格的に使用する場合は別の情報が必要になると思う。

docker runで起動したコンテナ間で通信させる方法

  1. docker network create xxx でネットワークを生成
  2. docker runに–net=ネットワーク名を指定する。
  3. 使い終わったらdocker network rm xxxでネットワークも削除する。

※通常はdocker composeを使うので、上記を使うことはまずない

Kubernetes

Kubernetesとは

  • クーベネティスと読む。
  • k8sと略す。
  • コンテナのオーケストレーションツールであり、ロードバランサを使ってコンテナを冗長構成にする場合に必要になる。
    そのため、プログラマが使うことはほとんどない。
    Kubernetesで何をできるかを知っておけばよい。
  • 複数のマシンがあり、その1台1台に複数のコンテナがあることが前提である。
  • Docker Composeを各マシンでupしたり監視するのは大変だが、Kubernetesを使えば煩雑さがなくなる。
    (Docker Composeはコンテナの起動までだが、Kubernetesはその状態の維持までやってくれる)
  • マニフェストファイル(compose.yamlのようなもの)を作っておけば、それに従って各マシンにコンテナを作成・管理してくれる。

マスターノードとワーカーノード

  • Kubernetesはマスターノードとワーカーノードで構成される。
  • 「ノード=マシン」と考えればよい。
  • マスターノード:ワーカーノード上のコンテナを管理する。現場監督・棟梁。
    マスターノード上ではコンテナは動いていない。
  • ワーカーノード:コンテナが動作するマシン。
  • マスターノードとワーカーノードで構成された一群をクラスターと呼ぶ。
  • 管理者はマスターノードを初期設定や調整をするだけで、ワーカーノードを直接管理することはない。

Kubernetesを利用するために必要なソフトウェア

  • Kubernetes本体
  • CNI: Container Networking Interface(コンテナ用の仮想ネットワークドライバ)、代表的なものとしてflannel, Calico, AWS VPC CNIなど。
  • マスターノードにはコンテナの状態管理のためにetcsというデータベースをインストールする。
    (マニフェストファイルはetcdに書き込まれる。この情報によってPodが管理される)
  • 当然だが、ワーカーノードにはDocker Engineなどのコンテナエンジンが必要。
  • 管理者のPCには、マスターノードにログインして初期設定・調整を行うことができるkubectlをインストールする。

コメント