‫デプロイメントとその上のサービスについて考えている方は､
‫これまで､ OSIレイヤ7､ HTTPネームルーティング､
‫DNSルーティングなど､ 呼びたいものについて話していないことにお気づきかもしれませんね｡
‫基本的に､
‫複数のサイトが同じポートを使う必要があるサーバーの場合､ その考え方は正しいです｡
‫ポート80と443の場合､
‫ポート以外の何かで､ 異なるコンテナにルーティングするものが必要です｡
‫Kubernetesにおけるそれは､ Ingressと呼ばれるものです｡
‫これは特定のリソースであり､ 必ずしもロードバランサーやサービスに起因するものではありません｡
‫これは技術的には別のもので､ ほとんどのクラスタが異なるウェブサイトや､
‫異なるURLや名前のコンテナをたくさん実行したいという共通の問題に焦点を当てています｡
‫そこにフォーカスしたのが､
‫今回のプロジェクト「Ingress」なのです｡
‫Kubernetesクラスタにはデフォルトではインストールされませんが､
‫公式にはそのための機能があります｡
‫この仕組みは､ KubernetesがHTTPプロキシを発明したわけではありません｡
‫これらは､ 他のサードパーティプロキシーが機能を使用するためのメカニズムを提供するだけなので､
‫クラスタにingressをインストールします｡
‫そして､ どのプロキシを使うかによって､ コンテナにアクセスする方法をアプリに指示することができます｡
‫例えば､ Aというウェブサイトがあるとします｡ comで､ あなたはウェブサイトBを持っています｡
‫comを使用しています｡
‫この2つは､ それぞれ別の展開になります｡
‫どうにかして全ノードで同じポートを確保する必要がある......｡
‫その80443｡
‫異なるウェブサイトを異なるコンテナに取得する必要があります｡
‫そのためのIngressです｡
‫Swarmでは､ そのような機能は最初からなかったのです｡
‫だから､ 本当にコンテナとしてプロキシをいくつかデプロイするだけで､
‫そのコンテナとは特に関係ないんです｡
‫Ingressが何であるかを理解していなかったのです｡
‫でも､ Kubernetesはそうなんです｡
‫ドキュメントを見ると､ デフォルトの例として､ 誰もがNginxについて話しています｡
‫このコースを通してNginxを使用しています｡
‫まずはそちらを試してみるべきでしょう｡
‫他のものがいいんです｡
‫私はTraefikが好きで､ 特にSwarmの講座の例でそれを実感していただけると思います｡
‫私がカンファレンスで話すのを見ると､ Traefikの話をすることが多いのですが､
‫それはコンテナの世界で作られたプロキシだからです｡
‫コンテナの起動と終了を繰り返すエフェメラルコンテナでは､
‫プロキシを再プログラムする必要があり､ コンテナクラスタ内の複数のWebサイトに必要なSSLやその他すべてのことを心配しなければならないというのが､
‫その始まりです｡
‫そこで､ 彼らはこの新しい製品を設計し､ それが他の製品を生み出しているのです｡
‫今は会社ぐるみでサポート契約を結んでいます｡
‫調べてみてはいかがでしょうか｡
‫Kubernetesのプラグインは､
‫大手も含めてたくさんのベンダーが作っていますよね｡
‫HAProxy､ F5､ そしてEnvoyやIstioといった新しいプレイヤーもイングレスタイプをサポートしています｡
‫言っておきますが､
‫厳密にはingress機能自体は1ではまだベータ版です｡ 15.
‫それぞれ､ どれを選ぶかによって､ 実装が変わってきます｡
‫F5は､ 企業で本当によく使われている外付けのハードウェアロードバランサーです｡
‫もちろん､ そのためのIngressコントローラは､ Kubernetesの内部から外部リソースを制御するのに役立ちます｡
‫これらすべての要点は､ アプリケーション開発者がDevOps担当者やOpsチームと一緒にYAMLを書くときに､
‫ingressコントローラーが何をすべきかを理解するために必要なアノテーションをYAMLに入れることができるようにすることです｡
‫基本的には､ どのようにルーティングすればよいのでしょうか？
‫正しい道とは？ どこに持っていけばいいんだろう？
‫私はどのポートを使っているのですか？ 私はSSLを掴んでいるのでしょうか？
‫私は証明書を取得しているのでしょうか？ 提供してくれるんですか？
‫そういうのは全部､ 任せてください｡
‫まず､ 資料を見ることをお勧めします｡
‫Nginxをデフォルトで試してみるだけでもいいかもしれませんね｡
‫間違いなく､ あなたが意見を持っていない場合､ それはあなたとあなたのウェブサイトのための証明書を自動的に取得するLet's
‫Encryptを含む多くの機能を使用して簡単に､ Traefikを試してみてくださいすぐに箱から出してください｡
‫Ingressで何をすべきか､ ご自身のハードウェア要件やソフトウェア要件がわかっている場合は､
‫こちらのリソースにあるドキュメントに､ さまざまなIngressオプションのリストがあります｡