ブログ | NGINX

Red Hat OpenShift での NGINX Ingress Operator の使用開始

NGINX-F5 水平黒タイプ RGB の一部
アミール・ラウダットのサムネイル
アミール・ラウダット
2020年4月30日公開

当社はRed Hat とのパートナーシップを通じて、OpenShift で DevOps 対応のサービス提供を実現する高性能でスケーラブルな長期ソリューションを必要とするエンタープライズ ユーザーのサポートに引き続き注力していきます。 NGINX Ingress Operator for OpenShift は、ポイント アンド クリックによるインストールと自動アップグレードにより、OpenShift 環境のデフォルト ルーターとともにNGINX Plus Ingress Controller for Kubernetes を展開するためのサポートおよび認定されたメカニズムです。 Operator Lifecycle Manager (OLM) を活用して、NGINX Ingress Operator のインストール、アップグレード、および構成を実行できます。

デフォルトのルーターに加えて、NGINX Plus Ingress Controller を使用する理由は何でしょうか? 私たちのパートナーシップによって、安全でスケーラブルでサポートされたアプリケーション配信がどのように実現されるかについては、「Red Hat + NGINX の価値」ブログをご覧ください。

このステップバイステップガイドには、NGINX Ingress Operator の使用を開始するために必要なすべての情報が記載されています。 始める前に、OpenShift 4.3 以降を実行している OpenShift クラスター環境への管理者アクセス権があることを確認してください。

オペレーターのインストール

ここでは、NGINX Ingress Operator のインストール方法を示すビデオと、スクリーンショット付きの概要を紹介します。

OpenShift コンソールから NGINX Ingress Operator をインストールします。

  1. 管理者として OpenShift コンソールにログインします。
  2. 左側のナビゲーション列で、 「Operators」をクリックし、 「OperatorHub」をクリックします。 検索ボックスに「nginx」と入力し、表示されるNginx Ingress Operatorボックスをクリックします。

  3. 製品情報を確認した後、 「インストール」ボタンをクリックします。

  4. 開いた「オペレーター サブスクリプションの作成」ページで、オペレーターをインストールするクラスター名前空間を指定します (この例ではnginx-ingress )。 また、管理者による手動承認なしで実行中の Operator インスタンスの自動更新を有効にするには、 「承認戦略」の下の「自動」ラジオボタンをクリックします。 「購読」ボタンをクリックします。

  5. インストールが完了したら、ターミナルで次のコマンドを実行して、Operator が実行されていることを確認します。

    # oc get pods –n nginx-ingress NAME READY STATUS RESTARTS AGE nginx-ingress-operator-dd546d869- xxxxx 1/1 実行中 0 7分29秒
  6. 左側のナビゲーション列で「インストールされたオペレーター」をクリックします。 開いたページで、 「提供された API」列のNginxIngressControllerリンクをクリックします。 NginxIngressController は、Operator が OpenShift クラスターに NGINX Plus Ingress Controller をデプロイするために使用するカスタム リソースです。

  7. 開いたページで、次の例のようなマニフェストをテキスト フィールドに貼り付け、 [作成]ボタンをクリックして、NGINX Plus Ingress Controller for Kubernetes デプロイメントをデプロイします。

    defaultSecretフィールドとwildcardTLSフィールドに TLS 証明書とキーを含むSecretを埋め込んでいることに注意してください。 これにより、Ingress ポリシーに Secret を含める必要なく、TLS 終了とパススルーが可能になります。

    Kubernetes 用の NGINX Plus Ingress Controller を構成する際に設定できるオプションは多数あり、 GitHub リポジトリにリストされています。

    apiバージョン: k8s.nginx.org/v1alpha1kind: NginxIngressController
    メタデータ:
    名前: my-nginx-ingress-controller
    名前空間: nginx-ingress
    仕様:
    enableCRDs: true
    イメージ:
    pullPolicy: 常に
    リポジトリ: registry.hub.docker.com/nginx/nginx-ingress
    タグ: edge
    nginxPlus: false
    サービスタイプ: LoadBalancer
    タイプ: デプロイメント
    レプリカ: 2
    defaultSecret: nginx-ingress/default-server-secret
    wildcardTLS: default/app-secret
    configMapData:
    error-log-level: debug
    enableTLSPassthrough: true
    globalConfiguration: nginx-ingress/nginx-configuration
  8. デプロイメントを確認するには、ターミナルで次のコマンドを実行します。 出力に示されているように、前の手順で使用したマニフェストは、NGINX Plus Ingress Controller のレプリカを 2 つデプロイし、 LoadBalancerサービスで公開しました。 (読みやすくするために、 getコマンドの出力は複数行に分かれています。)

    # oc get pods -n nginx-ingress NAME READY STATUS RESTARTS AGE my-nginx-ingress-controller-579f455d7d- xxxxx 1/1 実行中 0 5分53秒 my-nginx-ingress-controller-579f455d7d- xxxxx 1/1 実行中 0 5分53秒 nginx-ingress-operator-dd546d869- xxxxx 1/1 実行中 0 56分 # oc get svc –n nginx-ingress my-nginx-ingress-controller LoadBalancer 172. xx .48.254 <保留中> ... nginx-ingress-operator-metrics ClusterIP 172. xx .209.190 <なし> ... ... 80:32028/TCP、443:31973/TCP 10 分... 80:32028/TCP、443:31973/TCP 10分
  9. 次のコマンドを実行して、NGINX Plus Ingress Controller がリクエストに応答することを確認します。 public_IP_addressには、NGINX Plus Ingress Controller を公開するLoadBalancerサービスの外部 IP アドレスを置き換えます。

    この時点でコマンドは404見つかりません。 これは、トラフィックをバックエンド Pod にルーティングするための Ingress リソースをまだ構成およびデプロイしていないためです。 詳細については、ドキュメント をご覧ください。

    # カール パブリックIPアドレス <html> 
    <head><title>404 見つかりません</title></head> 
    <body bgcolor="white"> 
    <center><h1>404 見つかりません</h1></center> 
    <hr><center>nginx/1.13.4</center> 
    </body> 
    </html>

    エンド ユーザーは NginxIngressController リソースの複数のマニフェストを送信でき、マニフェストごとに個別のデプロイメントが作成されることに注意してください。 Operator は、異なる名前空間にわたるデプロイメントもサポートします。 名前空間はマニフェストのメタデータセクションで指定できます。

次は何?

NGINX Ingress Operator は、特に以下の点で NGINX Plus Ingress Controller のデプロイメントの管理に役立ちます。

  • 構成 – いくつかの入力パラメータと 1 つのマニフェストだけで基本的なデプロイメントを起動します。
  • スケーリング – レプリカをシームレスに追加および削除
  • アップグレード – ダウンタイムなしでローリングアップデートを活用する
  • アンインストール – すべての Operator および Kubernetes Ingress Controller オブジェクトが適切かつ安全に削除されていることを確認します。

NGINX Plus Ingress Controller の準備とデプロイが完了したら、OpenShift で NGINX Plus の高度な機能を使用するには、ドキュメントGitHub リポジトリを参照してください。

まだ顧客ではありませんか? NGINX Plus と Ingress Controller を試すには、今すぐ30 日間の無料トライアルを開始するか、お問い合わせの上、ユースケースについてご相談ください

Red Hat + NGINX の価値


「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"