4.2.1 Ingressを使用してOAAをインストールするための前提条件
独自のイングレス・コントローラを使用する場合は、OAAをインストールする前にそれをインストールする必要があります。次のステップを実行して、クラスタ内のいずれかのノードにNGINXイングレス・コントローラをインストールします。
- SSL証明書の生成
- 選択したツールを使用して、秘密キー(
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と一致している必要があります。 - 次のコマンドを実行して、SSLのシークレットを作成します:
kubectl create secret tls oaa-tls-cert --key /OAA/ingress_ssl/tls.key --cert /OAA/ingress_ssl/tls.crt
- 選択したツールを使用して、秘密キー(
- NGINX Ingressのインストール
- 次のコマンドを使用して、NGINXのhelmチャート・リポジトリを追加します
helm repo add stable https://kubernetes.github.io/ingress-nginx
- 次のコマンドを使用して、リポジトリを更新します
helm repo update
- ネームスペース(
nginxssl
など)を作成します:kubectl create namespace nginxssl
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
- 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
パラメータに使用されます
- 次のコマンドを使用して、NGINXのhelmチャート・リポジトリを追加します