クラスタローカルドメイン暗号化の設定¶
警告
Knative Servingの暗号化機能cluster-local-domain-tls
とsystem-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を更新します。
-
config-network
ConfigMapを編集するには、次のコマンドを実行します。kubectl edit configmap config-network -n knative-serving
-
data
セクションにcluster-local-domain-tls: Enabled
属性を追加します。apiVersion: v1 kind: ConfigMap metadata: name: config-network namespace: knative-serving data: ... cluster-local-domain-tls: Enabled ...
-
Knative Servingコントローラーを再起動して、Knative cert-manager統合を開始します。
kubectl rollout restart deploy/controller -n knative-serving
おめでとうございます!Knativeは、クラスタローカルドメインのTLS証明書を取得および更新するように構成されました。
検証¶
-
Knativeサービスをデプロイします。
-
kubectl get ksvc -n <your-namespace> -o yaml
を使用してURLを確認します。 -
サービス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統合の設定を参照してください。