4.2.1 Ingressを使用してOAAをインストールするための前提条件

独自のイングレス・コントローラを使用する場合は、OAAをインストールする前にそれをインストールする必要があります。次のステップを実行して、クラスタ内のいずれかのノードにNGINXイングレス・コントローラをインストールします。

  1. SSL証明書の生成
    1. 選択したツールを使用して、秘密キー(tls.key)および証明書署名リクエスト(CSR)を生成します。CSRを認証局(CA)に送信して、証明書(tls.crt)を生成します。この手順については、「サーバー証明書および信頼証明書の生成」「証明書を生成するためのサード・パーティCAの使用」を参照してください。
      または、テスト目的で証明書を使用するために、opensslを使用して自己署名証明書を生成できます:
      mkdir /OAA/ingress_ssl
      cd /OAA/ingress_ssl
      openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=node.example.com"
      

      ノート:

      「サーバー証明書および信頼証明書の生成」で独自のCAを作成した場合は、そのCAを使用して証明書を生成することもできます。

      ノート:

      証明書の検証中にホスト名の問題が発生しないように、CNがインストール先のkubernetesノードのhost.domainと一致している必要があります。
    2. 次のコマンドを実行して、SSLのシークレットを作成します:
      kubectl create secret tls oaa-tls-cert --key /OAA/ingress_ssl/tls.key --cert /OAA/ingress_ssl/tls.crt
  2. NGINX Ingressのインストール
    1. 次のコマンドを使用して、NGINXのhelmチャート・リポジトリを追加します
      helm repo add stable https://kubernetes.github.io/ingress-nginx
    2. 次のコマンドを使用して、リポジトリを更新します
      helm repo update
    3. ネームスペース(nginxsslなど)を作成します:
      kubectl create namespace nginxssl
    4. helm install nginx-ingressコマンドを使用して、NGINXをインストールします。たとえば:
      helm install nginx-ingress -n nginxssl --set controller.extraArgs.default-ssl-certificate=oaa-tls-cert  --set controller.service.type=NodePort --set controller.admissionWebhooks.enabled=false stable/ingress-nginx
    5. NodePortのポート番号を取得します。たとえば:
      kubectl get services -n nginxssl -o jsonpath="{.spec.ports[1].nodePort}" nginx-ingress-ingress-nginx-controller

      このコマンドは、ポート番号(31281など)を返します。したがって、イングレス・コントローラのURLはhttp://node.example.com:31281です

      返されるホスト名とポートは、「イングレスを使用してOAA/OARMをインストールするためのインストール・プロパティ・ファイルの更新」installOAA.propertiesにあるinstall.global.serviceurlパラメータに使用されます