C.2.1 イングレス・コントローラのインストール

OAA、OARMおよびOUAをインストールする前に、SSLおよび独自の証明書を使用するイングレス・コントローラをインストールする必要があります。次のステップを実行して、クラスタ内のいずれかのノードに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.nodePorts.http=30777 --set controller.service.nodePorts.https=30443 --set
            controller.config.use-forwarded-headers=true --set
            controller.config.enable-underscores-in-headers=true --set
            controller.admissionWebhooks.enabled=false stable/ingress-nginx

      ノート:

      これにより、コントローラがhttpsポート30443にインストールされます