ユーザーがオペレータの外部REST APIを有効にする場合(オペレータのHelmチャートをインストールまたはアップグレードするときにexternalRestEnabled
をtrue
に設定)、kubernetes tls secret
を作成し、そのシークレット名をオペレータのHelmチャート値とともに使用して、外部REST APIエンドポイントでSSL/TLSアイデンティティに使用される証明書および秘密キーも指定する必要があります。
このサンプル・スクリプトでは、オペレータでの実験時にオペレータの外部REST APIに使用できる自己署名証明書および秘密キーが生成されます。
このスクリプトで生成された証明書とキーは、本番環境では使用「しないで」ください。
スクリプトの構文は次のとおりです:
$ kubernetes/samples/scripts/rest/generate-external-rest-identity.sh \
-a <SANs> -n <operator-namespace> [-s <secret-name>]
<SANs>
では、外部オペレータのREST HTTPS
インタフェース用に生成された自己署名証明書に含めるサブジェクト代替名がリストされます。<operator-namespace>
は、オペレータがインストールされるネームスペース、およびオプションでシークレット名(デフォルトはweblogic-operator-external-rest-identity
)と一致する必要があります。
サブジェクト代替名リストには、すべてのマスターおよびロード・バランサのアドレス(たとえば、クライアントが外部RESTエンドポイントにアクセスするために指定するもの)を含める必要があります。 また、次の例に示すように、各名前の前には、ホスト名の場合はDNS:
を、アドレスの場合はIP:
を付ける必要があります:
-a "DNS:myhost,DNS:localhost,IP:127.0.0.1"
外部証明書とキーは、オペレータのインストール後に変更できます。 詳細は、「オペレータの外部証明書の更新」を参照してください。
次のスクリプトは、自己署名証明書と秘密キーを使用して、weblogic-operator-identity
という名前のtls secret
をネームスペースweblogic-operator-ns
に作成します:
$ echo "externalRestEnabled: true" > my_values.yaml
$ generate-external-rest-identity.sh \
-a "DNS:${HOSTNAME},DNS:localhost,IP:127.0.0.1" \
-n weblogic-operator-ns -s weblogic-operator-identity >> my_values.yaml
$ kubectl -n weblogic-operator-ns describe secret weblogic-operator-identity
$ helm install my_operator weblogic-operator/weblogic-operator \
--namespace weblogic-operator-ns --values my_values.yaml --wait