Citrix ADC ingress controller

Kubernetes シークレットリソースを介した LoadBalancer タイプのサービスの SSL 証明書

このセクションでは、Kubernetesシークレット として保存された SSL 証明書を LoadBalancer タイプのサービスで使用する方法について説明します。注釈service.citrix.com/service-typeSSLまたはSSL_TCPの場合、証明書が適用されます 。

Citrix ingress controller デフォルト証明書を使用する

SSL証明書が提供されていない場合は、デフォルトのCitrix ingress controller 証明書を使用できます。

Citrix ingress controller の YAML ファイルには、使用するシークレット名と、そのシークレット名を引数として取る名前空間を指定する必要があります。

デフォルトのCitrix ingress controller

        --default-ssl-certificate <NAMESPACE>/<SECRET_NAME> 

Kubernetes シークレットとしての SSL 証明書のサービスアノテーション

Citrix ingress controller erは、Kubernetesシークレットとして保存されているSSL証明書をタイプLoadBalancerのサービスに使用するために、次のサービスアノテーションを提供します。

サービスアノテーション 説明
service.citrix.com/secret このアノテーションを使用して、フロントエンドサーバー証明書のシークレットリソースの名前を指定します。証明書と鍵が含まれている必要があります。証明書セクションに中間 CA 証明書の一覧を指定し、その後にサーバー証明書を指定することもできます。これらの中間 CA は、SSL ハンドシェイク中に自動的にリンクされ、クライアントに送信されます。
service.citrix.com/ca-secret この注釈は、クライアント証明書認証用の CA 証明書を提供するために使用します。 この証明書は、Citrix ADC のフロントエンドSSL仮想サーバーにバインドされます。
service.citrix.com/backend-secret Citrix ADCとワークロード間のバックエンド通信が暗号化されたチャネルで行われ、ワークロードでクライアント認証が必要な場合は、このアノテーションを使用します。この証明書は SSL ハンドシェイク中にサーバーに送信され、バックエンド SSL サービスグループにバインドされます。
service.citrix.com/backend-ca-secret このアノテーションを使用して、バックエンドサーバー証明書を認証するサーバー認証を有効にします。この構成では、サーバーのCA証明書がCitrix ADC上のSSLサービスにバインドされます。
service.citrix.com/preconfigured-certkey この注釈を使用して、フロントエンドサーバー証明書として使用されるCitrix ADCで事前構成された証明書キーの名前を指定します。
service.citrix.com/preconfigured-ca-certkey この注釈を使用して、クライアント証明書認証用のCA証明書として使用されるCitrix ADCで事前構成された証明書キーの名前を指定します。この証明書は、Citrix ADC のフロントエンドSSL仮想サーバーにバインドされます。
service.citrix.com/preconfigured-backend-certkey この注釈を使用して、バックエンドSSLサービスグループにバインドするCitrix ADCで事前構成された証明書キーの名前を指定します。この証明書は、サーバ認証のための SSL ハンドシェイク中にサーバに送信されます。
service.citrix.com/preconfigured-backend-ca-certkey この注釈を使用して、サーバー認証のためにバックエンドSSLサービスグループにバインドするCitrix ADCで事前構成されたCA証明書キーの名前を指定します。

例:フロントエンドシークレットとフロントエンド CA シークレット

service.citrix.com/secret 注釈の例をいくつか挙げます。

次の注釈は、サービス内のすべてのポートに適用できます。

        service.citrix.com/secret: hotdrink-secret

キーとしてportnameまたはport -protocolを指定すると、次の表記法を使用して、特定のポートに適用できる証明書を指定できます。

        # port-protocol : secret

        service.citrix.com/secret: '{"443-tcp": "hotdrink-secret", "8443-tcp": "hotdrink-secret"}' 

         # portname: secret

        service.citrix.com/secret: '{"https": "hotdrink-secret"}' 

service.citrix.com/ca-secret 注釈の例をいくつか挙げます。

Kubernetes にデプロイされたサービスのクライアント証明書認証に使用される、生成された CA シークレットをアタッチするには、次のアノテーションを指定する必要があります。

次の注釈は、サービス内のすべてのポートに適用できます。

  service.citrix.com/ca-secret: hotdrink-ca-secret

キーとしてportnameまたはport -protocolを指定すると、次の表記法を使用して、特定のポートに適用できる証明書を指定できます。

  # port-protocol: secret
  service.citrix.com/ca-secret: '{"443-tcp": "hotdrink-ca-secret", "8443-tcp": "hotdrink-ca-secret"}'      

  # portname: secret

  service.citrix.com/ca-secret: '{"https": "hotdrink-ca-secret"}' 

例:バックエンドシークレットとバックエンド CA シークレット

service.citrix.com/backend-secret 注釈の例をいくつか挙げます。

  # port-protocol: secret
  service.citrix.com/backend-secret: '{"443-tcp": "hotdrink-secret", "8443-tcp": "hotdrink-secret"}'      

  # portname: secret

  service.citrix.com/backend-secret: '{"tea-443": "hotdrink-secret", "tea-8443": "hotdrink-secret"}' 

  # applicable to all ports

  service.citrix.com/backend-secret: "hotdrink-secret"

service.citrix.com/backend-ca-secret 注釈の例をいくつか挙げます。

  # port-proto: secret
  service.citrix.com/backend-ca-secret: '{"443-tcp": "coffee-ca", "8443-tcp": "tea-ca"}'      

  # portname: secret

  service.citrix.com/backend-ca-secret: '{"coffee-443": "coffee-ca", "tea-8443": "tea-ca"}' 

  # applicable to all ports

  service.citrix.com/backend-ca-secret: "hotdrink-ca-secret"
Kubernetes シークレットリソースを介した LoadBalancer タイプのサービスの SSL 証明書