‫Dockerを学び､ Composeを学び､ Swarmを学べば､
‫Kubernetesを教える際にゼロから始める必要がないほど､
‫基本的な知識が身につくという利点があります｡
‫用語の中には､ 特にKubernetesの内部で制御して使用するオブジェクトについて話すとき､
‫用語が矛盾していたり､ 新しいものがあったりして､ 少し混乱することがあります｡
‫Kubernetesランドで調べたことがある人なら､
‫圧倒的に聞き続けるのが「Pod」です｡
‫ポッドは展開の基本単位です｡
‫技術的にはKubernetesの中に直接コンテナをデプロイしているわけではありません｡
‫私たちはPodをデプロイするだけで､
‫その上にコントローラーと呼ばれるものを使って､ Podを制御しています｡
‫技術的には､ Podを直接デプロイすることもできますが､ 実際にはそうしたいとは思わないでしょう｡
‫ほとんどの場合､ コントローラを作成します｡ これは､ 常にそこに座って､
‫Kubernetesの内部で起こっていることが､ あなたが頼んだとおりになっているかどうかを検証するオブジェクトです｡
‫タイプが異なる差動エンジンです｡
‫最初はDeploymentsとReplicaSetから始めますが､ これはほとんど独占的に使用することになります｡
‫デプロイメントは､ Swarmでサービスを行った方法と非常に似ており､
‫それは下位のレベルでポッドを制御します｡
‫そして､
‫さまざまなタイプのコントローラ､ サードパーティ製のコントローラ､
‫たとえばステートフルセット､ デーモンセット､ ジョブ､ クーロンジョブなど､
‫さまざまなものに変更することができます｡
‫Kubernetesの柔軟性は､
‫Podという基本単位を与えてくれて､
‫それをコントローラでさまざまに制御できることです｡
‫Kubernetesでは､ Swarmで慣れ親しんだサービスとは少し異なります｡
‫このサービスは､ Swarmのようなアプリケーションのデプロイとは関係ないんです｡
‫サービス､ 特にPodのセットに与えるエンドポイントは､
‫デプロイメントコントローラのようなコントローラを使ってレプリカPodのセットをデプロイするときに､
‫その上にサービスを設定することがよくあることです｡
‫サービスとは､ クラスタ内で永続的なエンドポイントを与え､
‫他のすべてが特定のDNS名とポートでそのポッドセットにアクセスできるようにすることを意味します｡
‫次は､ 本当に素早く､ 名前空間です｡
‫名前空間はオプションの高度な機能なので､ Docker Mastery自体ではあまり使いませんが､
‫ドキュメントを見たり､ ブログを読んだりしていると､ 名前空間について言及されているのを耳にすることがあると思います｡
‫名前空間は､ 実際には､ コマンドラインで表示されるフィルターに過ぎません｡
‫本当にそれだけなんです｡ セキュリティ機能ではありません｡
‫Dockerの内部をある程度知っている人なら､ Dockerの名前空間について聞いたことがあると思います｡
‫これは決して同じことではありません｡
‫これは､ kubectrlコマンドラインを使用しているときに､
‫その時点で関心のあるものだけを表示するようにビューをフィルタリングするための簡単な方法です｡
‫例えば､
‫Docker Desktopを使用する場合､ デフォルトのネームスペースに設定され､ バックグラウンドでKubernetesを実行しているシステムコンテナをすべてフィルタリングしてしまうことが良い例かもしれません｡
‫なぜなら､ 通常､ kubectrlのコマンドラインを実行しているときに､
‫それらを見たくないからです｡
‫そして､ 異なるビューを見たい場合は､ 名前空間を変更してそれらを見ることができます｡
‫ただ､ セキュリティ機能ではなく､ フィルターとして考えてください｡
‫もちろん､ Kubernetesにはもっとたくさんの魅力があるので､ いずれはご紹介したいと思います｡
‫シークレットがある｡
‫ConfigMapsがあります｡ サードパーティーのものがたくさんある｡
‫でも､ コンセプトはもういい｡ コマンドを打ち込んでコマンドラインで結果を確認し､
‫図面上で可視化してみよう｡