オペレータールート証明書を抽出し、イングレスに追加する

IBM® Sterling Intelligent Promising Operatorを使用する場合、イングレスとOMS Gateway間の通信を保護するためにTLS証明書を使用することを推奨します。 KubernetesシークレットからSterling Intelligent Promising Operatorルート証明書を抽出し、それを使用してイングレスリソースを設定し、安全な接続を確保します。 ルート証明書は、オペレータと同じ名前空間内のsip-operator-caという名前のシークレットに格納されます。 もしあなたがOMS Gatewayサービス用に独自のTLS証明書を提供するなら、シークレットから証明書を取り出す必要はありません。 ルート証明書の抽出は、独自のTLS証明書を提供しない場合にのみ必要です。

手順

  • ルート証明書を取り出す
    ルート証明書は、Sterling Intelligent Promising オペレータがインストールされている名前空間の sip-operator-ca という名前のシークレットで利用できます。
    kind: Secret
    apiVersion: v1
    metadata:
      name: sip-operator-ca
      namespace: <sip_operator_namespace>
    data:
      tls.crt: >-
        <Base64-encoded TLS certificate file in PEM format>
      tls.key: >-
        <Base64-encoded private key file associated with the TLS certificate, also in PEM format>
      tls.p12: >-
        <Base64-encoded PKCS#12 file that contains a certificate and private key>
      tls.p12.password: <Base64-encoded password that is used to decrypt the .p12 file>
    type: kubernetes.io/tls
    1. Base64-encodedルート証明書を含むtls.crtフィールドを、以下のコマンドで取り出してデコードする。
      kubectl get secret sip-operator-ca -n <sip_namespace> -o yaml

      このコマンドは、ルート証明書をPEM形式で含むsip-operator-root-cert.crtという名前のファイルを作成する。

    2. オプション:秘密鍵を取り出す。
      秘密鍵はtls.keyフィールドにも含まれています。 必要であれば、以下のコマンドで解凍してデコードする:
      echo "<Base64-encoded private key>" | base64 --decode > tls.key
    3. オプション:PKCS#12証明書を取り出す。
      1. 証明書と秘密鍵を含む.p12フォーマットが必要な場合は、次のコマンドのようにデコードしてください:
        echo "<Base64-encoded PKCS#12>" | base64 --decode > tls.p12
      2. 次の例に示すように、.p12ファイルに関連付けられたパスワードをデコードする:
        echo "<Base64-encoded password>" | base64 --decode > p12-password.txt
  • クラウド・プロバイダー固有の設定を更新する
    各クラウド・プロバイダーは、TLS証明書とイングレス・コントローラーを設定する手順が異なる場合がある。 詳細については、クラウド環境のイングレスにTLS証明書を追加する手順について、公式ドキュメントを参照してください。