WebLogicドメイン管理者資格証明のユーザー名とパスワードを選択し、それを使用してドメインのKubernetesシークレットを作成します。
$ kubectl create secret generic sample-domain1-weblogic-credentials \
--from-literal=username=ADMIN_USERNAME --from-literal=password=ADMIN_PASSWORD \
-n sample-domain1-ns
ADMIN_USERNAME
およびADMIN_PASSWORD
を、選択したユーザー名とパスワードに置き換えます。 パスワードは8文字以上で、アルファベット以外の文字を1つ以上含む必要があります。
ドメイン・ランタイム暗号化シークレットを作成します。
$ kubectl -n sample-domain1-ns create secret generic \
sample-domain1-runtime-encryption-secret \
--from-literal=password=my_runtime_password
これら2つのコマンドは、サンプル・ドメインYAMLファイルで使用されるsample-domain1-weblogic-credentials
およびsample-domain1-runtime-encryption-secret
という名前のシークレットを作成します。 異なるシークレット名を使用する場合は、次のステップに従ってサンプル・ドメインのYAMLファイルを更新する必要があります。
両方のリソースを定義する単一のYAMLリソース・ファイルを使用して、sample-domain1
ドメイン・リソースおよび関連するsample-domain1-cluster-1
クラスタ・リソースを作成します。 ドメイン・リソースおよびクラスタ・リソースは、従来のWebLogic構成ファイルを置換しませんが、かわりに、これらのファイルと連携して、対応するドメインのKubernetesアーティファクトを記述します。
次のコマンドを使用して、2つのサンプル・リソースを適用します。
$ kubectl apply -f https://raw.githubusercontent.com/oracle/weblogic-kubernetes-operator/release/4.2/kubernetes/samples/quick-start/domain-resource.yaml
ノート: 表示または変更が必要な場合は、サンプル・ドメイン・リソースを/tmp/quickstart/domain-resource.yaml
などのファイルにダウンロードできます。 次に、kubectl apply -f /tmp/quickstart/domain-resource.yaml
を使用してファイルを適用します。
ドメイン・リソースは、クラスタ・リソース、WebLogic Serverインストール・イメージ、定義したシークレット、および従来のWebLogic構成とWebLogicアプリケーションを含むサンプルの「補助イメージ」を参照します。
クイック・スタート・ガイドのサンプル・ドメイン・リソースは、WebLogic Serverバージョン12.2.1.4一般提供 (GA)イメージを参照します。 GAイメージは、パブリック・インターネットから環境を使用できないデモンストレーションおよび開発目的「のみ」に適しています。「本番での使用はできません」。 本番では、常にOCRのCPU (パッチ適用済)イメージを使用するか、WebLogic Image Tool (WIT)と--recommendedPatches
オプションを使用してイメージを作成する必要があります。 詳細は、「Oracle WebLogic Serverの本番環境の保護」の「最新のパッチと更新の適用」を参照してください。
オペレータがドメインのサーバーを起動したことを確認します。
a. kubectl
を使用して、ドメインが作成されたことを示します。
$ kubectl describe domain sample-domain1 -n sample-domain1-ns
b. 次のコマンドを使用して、ドメインのステータスを取得します。 jq
実行可能ファイルがインストールされていない場合は、2番目のコマンドを実行してドメイン・ステータスを取得します。
$ kubectl get domain sample-domain1 -n sample-domain1-ns -o json | jq .status
または
$ kubectl get domain sample-domain1 -n sample-domain1-ns -o jsonpath='{.status}'
c. しばらくすると、管理サーバーと管理対象サーバーが実行されていることがわかります。
$ kubectl get pods -n sample-domain1-ns
d ドメインのすべてのKubernetesサービスも表示されます。
$ kubectl get services -n sample-domain1-ns
オペレータがドメインのサーバーを起動しなかった場合は、「ドメインのデバッグ」を参照してください。
次のYAMLファイルを使用して、ドメイン・ネームスペースにドメインのイングレス・ルートを作成します。
a. 「イングレス・ルートYAML」を/tmp/quickstart/ingress-route.yaml
などのファイルにダウンロードします。
b. 次に、次のコマンドを使用してファイルを適用します。
$ kubectl apply -f /tmp/quickstart/ingress-route.yaml \
--namespace sample-domain1-ns
イングレス・コントローラが新しいイングレス・ルートに気づき、ドメインのサーバー・ポッドに正常にルーティングされていることを確認するには、次の例に示すように、HTTP 200ステータス・コードを返す"クイック・スタート・アプリケーションのURLにリクエストを送信します。
$ curl -i http://localhost:30305/quickstart/
HTTP/1.1 200 OK
Content-Length: 274
Content-Type: text/html; charset=UTF-8
Date: Wed, 15 Jun 2022 14:20:59 GMT
Set-Cookie: JSESSIONID=JONnvS__IkBUN9nqZG4SfuUU3QdEj_4bissfck1GPbY6YJxgjXpS!1733001435; path=/; HttpOnly
X-Oracle-Dms-Ecid: be865b9d-cc96-4dca-ab80-f0b6c5b05326-00000015
X-Oracle-Dms-Rid: 0
<!DOCTYPE html>
<html>
<body>
<h1>Welcome to the WebLogic on Kubernetes Quick Start Sample</font></h1><br>
<b>WebLogic Server Name:</b> managed-server1<br><b>Pod Name:</b> sample-domain1-managed-server1<br><b>Current time:</b> 14:21:00<br><p>
</body>
</html>
$ LOADBALANCER_INGRESS_IP=$(kubectl get svc traefik-operator -n traefik -o jsonpath='{.status.loadBalancer.ingress[].ip}{"\n"}')
$ curl -i http://${LOADBALANCER_INGRESS_IP}/quickstart/
HTTP/1.1 200 OK
Content-Length: 274
Content-Type: text/html; charset=UTF-8
Date: Wed, 15 Jun 2022 14:20:59 GMT
Set-Cookie: JSESSIONID=JONnvS__IkBUN9nqZG4SfuUU3QdEj_4bissfck1GPbY6YJxgjXpS!1733001435; path=/; HttpOnly
X-Oracle-Dms-Ecid: be865b9d-cc96-4dca-ab80-f0b6c5b05326-00000015
X-Oracle-Dms-Rid: 0
<!DOCTYPE html>
<html>
<body>
<h1>Welcome to the WebLogic on Kubernetes Quick Start Sample</font></h1><br>
<b>WebLogic Server Name:</b> managed-server1<br><b>Pod Name:</b> sample-domain1-managed-server1<br><b>Current time:</b> 14:21:00<br><p>
</body>
</html>
Kubernetesクラスタが実行されている場所によっては、ファイアウォール・ポートを開くか、セキュリティ・リストを更新してこのポートへのイングレスを許可する必要があります。
WebLogic Server管理コンソールにアクセスするには:
Open a browser to http://localhost:30305/console.
a. Get the load balancer ingress IP address using the following command:
$ LOADBALANCER_INGRESS_IP=$(kubectl get svc traefik-operator -n traefik -o jsonpath='{.status.loadBalancer.ingress[].ip}{"\n"}')
b. Open a browser to http://${LOADBALANCER_INGRESS_IP}/console.
WebLogic Server管理コンソールを使用して、サーバーを起動または停止したり、クラスタをスケーリングしないでください。 「サーバーの起動と停止」および「スケーリング」を参照してください。