コンテンツへスキップ

クラスタローカルドメイン暗号化の設定

警告

Knative Servingの暗号化機能cluster-local-domain-tlssystem-internal-tlsは実験段階です。ご注意ください!

始める前に

セキュアなHTTPS接続を有効にするには、以下の要件を満たす必要があります。

  • Knative Servingがインストールされている必要があります。Servingコンポーネントのインストールの詳細については、Knativeインストールガイドを参照してください。

警告

この機能は現在、KourierとIstioをネットワークレイヤーとして使用した場合のみサポートされています。

cert-managerのインストールと設定、および統合

まず、cert-managerとKnative cert-manager統合をインストールして設定する必要があります。詳細については、Knative cert-manager統合の設定を参照してください。

cluster-local-domain-tlsの有効化

cluster-local-domain-tlsを有効にするには、knative-serving名前空間内のconfig-network ConfigMapを更新します。

  1. config-network ConfigMapを編集するには、次のコマンドを実行します。

    kubectl edit configmap config-network -n knative-serving
    
  2. dataセクションにcluster-local-domain-tls: Enabled属性を追加します。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: config-network
      namespace: knative-serving
    data:
       ...
       cluster-local-domain-tls: Enabled
       ...
    
  3. Knative Servingコントローラーを再起動して、Knative cert-manager統合を開始します。

    kubectl rollout restart deploy/controller -n knative-serving
    

おめでとうございます!Knativeは、クラスタローカルドメインのTLS証明書を取得および更新するように構成されました。

検証

  1. Knativeサービスをデプロイします。

  2. kubectl get ksvc -n <your-namespace> -o yamlを使用してURLを確認します。

  3. サービスURLクラスタローカルドメイン(https://helloworld.test.svc.cluster.local)は、httpsになっているはずです。

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld
  namespace: test
spec:
  # ...
status:
  address:
    # cluster-local-domain:
    url: https://helloworld.test.svc.cluster.local
  # ...
  # external domain:
  url: http://helloworld.first.example.com

信頼

注記

信頼に関する簡単なメモとして、Knativeサービスのクラスタローカルドメインを呼び出すすべてのクライアントは、証明書に署名した認証局を信頼する必要があります。これはKnativeの範囲外ですが、動作するシステムを確保するために対処する必要があります。特に、認証局がCAまたは中間証明書のローテーションを実行する場合。詳細については、Knative cert-manager統合の設定を参照してください。

サイトトラフィックを理解するために、アナリティクスとCookieを使用しています。サイトの使用に関する情報は、その目的でGoogleと共有されます。詳細はこちら。