NGINX Ingress Controllerのインストール

目的

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

Kubernetesにリリースされているアプリケーションが増えてくると
個別にアクセスポートを割り振るのは効率が悪くなる。

そのため、GINX Ingress Controllerをプロキシサーバーのように設定する。

※内容は以下のイントールガイドに沿ったものになります。
Installation with Manifests

前提

・kubernetesが作成済みであること
・kubectlコマンドが実行可能であること
・gitが使用可能であること

以下はkubectlコマンドが使用可能な端末で行う。

NGINX Ingress Controllerをイントールする

Gitから対象モジュールを取得する。
安定版はv2.1.1※2022/03/24時点

 

 

RBACを構成する

Ingressコントローラーの名前空間とサービスアカウントを作成

サービスアカウントのクラスターロールとクラスターロールバインディングを作成

共通リソースを作成する

まず、TLS証明書とNGINXのデフォルトサーバーのキーを使用してシークレットを作成

次に、NGINX構成をカスタマイズするための構成マップを作成

最後に、IngressClassリソースを作成

カスタムリソースを作成する

VirtualServerおよびVirtualServerRoute、TransportServerおよびポリシーリソース のカスタムリソース定義を作成

 

 

IngressControllerをデプロイする

NGINXの場合、次を実行する

IngressControllerポッド用のサービスを作成

ここまででIngressControllerのイントールは完了。

動作確認用サンプルアプリを作成

apacheのデプロイ、サービスを作成する

作成ファイル:apache-app-svc.yaml

 

サンプルアプリのデプロイ

1kubectl apply -f apache-app-svc.yaml

Ingress設定ファイルをデプロイ

サンプルアプリにアクセスできるようにIngress設定ファイルを作成する

作成ファイル:ingress.yaml

 

※host「test-smallit.jp」の部分は任意の値に変更する必要あり

Ingress設定ファイルをデプロイ

IngressControllerサービスのノードポートを確認する

※今回は「30987」がノードポートとなる。

サンプルアプリにアクセスする

ブラウザで以下のURLにアクセスする。
http://test-smallit.jp:30987/

「It works!」が表示されれば正常に動作しています。

ぜひ参考にしてみてください!

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス