Kubernetes上のOracle WebCenter Sites
WebLogic Kubernetes Operatorは、Oracle WebCenter Sitesのデプロイメントをサポートします。このドキュメントの手順に従って、KubernetesにOracle WebCenter Sitesドメインを設定します。
このリリースでは、Oracle WebCenter Sitesドメインは、ドメイン・ホームが永続ボリューム(PV)にある永続ボリューム上のドメインのモデルのみを使用してサポートされます。
オペレータには、Kubernetes環境でのOracle WebCenter Sitesドメインのデプロイおよび管理を支援する複数の重要な機能があります。次のことができます。
- Kubernetes永続ボリューム(PV)にOracle WebCenter Sitesインスタンスを作成します。このPVは、NFSファイル・システムまたは他のKubernetesボリューム・タイプに配置できます。
- 宣言的な起動パラメータと必要な状態に基づいてサーバーを起動します。
- 外部アクセス用にOracle WebCenter Sitesのサービスおよびコンポジットを公開します。
- 管理対象サーバーをオンデマンドで起動および停止するか、REST APIと統合してWLDF、Prometheus、Grafanaまたはその他のルールに基づいてスケーリングを開始することにより、Oracle WebCenter Sitesドメインをスケーリングします。
- オペレータおよびWebLogic ServerログをElasticsearchに公開し、Kibanaで操作します。
- PrometheusおよびGrafanaを使用してOracle WebCenter Sitesインスタンスをモニターします。
現在の本番リリース
Oracle WebCenter Sitesドメイン・デプロイメント用に現在サポートされているOracle WebLogic Server Kubernetes Operatorの本番リリースは、4.2.9です
最近の変更および既知の問題
KubernetesでのOracle WebCenter Sitesドメイン・デプロイメントの最近の変更および既知の問題は、リリース・ノートを参照してください。
WebCenter Sitesドメインの制限事項
このリリースでの制限は、こちらを参照してください。
このドキュメントについて
このドキュメントには、様々な読者を対象とした項目が含まれています。探しているものをより簡単に見つけるために、この目次を参照してください:
クイック・スタートでは、特別なものではなくデフォルトを使用して、Oracle WebCenter Sitesドメイン・インスタンスを迅速に実行する方法を説明しています。これは、開発およびテストのみを目的としています。
インストレーション・ガイドおよび管理ガイドでは、Kubernetesオペレータの使用のすべての側面について、次のような詳細情報を提供しています:
- オペレータのインストールおよび構成。
- オペレータを使用したOracle WebCenter Sitesドメインの作成および管理。
- Kubernetesロード・バランサの構成。
- オペレータおよびWebLogic Serverのログ・ファイルにアクセスするためのElasticsearchおよびKibanaの構成。
- Oracle WebCenter Sites Dockerイメージへのパッチ適用。
- ドメインの削除。
- その他
追加資料
KubernetesでのOracle WebCenter Sitesドメイン・デプロイメントでは、Oracle WebLogic Server Kubernetes Operatorフレームワークを利用します。
- 設計、アーキテクチャ、ドメイン・ライフサイクル管理、および構成のオーバーライドなど、オペレータの理解を深めるには、オペレータのドキュメントを参照してください。
- Oracle WebCenter Sitesのアーキテクチャおよびコンポーネントについてさらに学習するには、Oracle WebCenter Sitesの理解を参照してください。
- KubernetesでのOracle WebCenter Sitesドメイン・デプロイメントの既知の問題および一般的な質問を理解するには、よくある質問を参照してください。
リリース・ノート
Kubernetes上のOracle WebCenter Sitesの最新の変更および既知の問題を確認します。
最近の変更
日付 | バージョン | 後方非互換性の導入 | 変更 |
---|---|---|---|
2024年12月10日 | 24.4.3 | いいえ | Oracle WebLogic Kubernetes Operatorバージョン4.2.9で認定されているOracle WebCenter Sites 14.1.2.0.0ドメイン・デプロイメントをサポートします。このリリースのOracle WebCenter Sites 14.1.2.0.0コンテナ・イメージは、container-registry.oracle.comからダウンロードできます。 |
既知の問題
問題 | 説明 |
---|---|
LoadBalancerエンドポイントによる公開 | 現在の公開は、「WebCenter Sitesでの公開設定」の項で説明されているとおり、NodePortを介してのみサポートされます。 |
インストール・ガイド
WebLogic Kubernetes Operatorをインストールし、Oracle Webcenter Sitesドメインを準備およびデプロイします。
要件および制限事項
WebCenter Sitesドメイン・クラスタのサイズ設定に関する推奨事項を含む、WebLogic Kubernetes Operatorを使用したOracle WebCenter Sitesドメインのデプロイおよび実行のためのシステム要件および制限を理解します。
内容
概要
このドキュメントでは、WebLogic Kubernetes Operatorを使用してWebCenter Sitesドメインをデプロイおよび実行するための特別な考慮事項を説明します。ここにリストされている考慮事項以外に、WebCenter Sitesドメインは、Fusion Middleware InfrastructureドメインおよびWebLogic Serverドメインと同様に機能します。
このリリースでは、WebCenter Sitesドメインは、WebCenter Sitesドメインが永続ボリューム(PV)にあるdomain on a persistent volume
モデルのみを使用してサポートされます。
システム要件
- Oracle Linux 8に基づくコンテナ・イメージがサポートされるようになりました。My Oracle SupportおよびOracle Container Registryは、両方のOracle Linux 8に基づくコンテナ・イメージをホストします。
- Kubernetes 1.25.0+、1.26.2+、1.27.2+、1.28.2+および1.29.1+ (
kubectl version
で確認)。 - サポートされているKubernetes、Docker、FannelおよびCalicoバージョンのオペレータの前提条件を確認します。
- Helm 3.10.2+ (
helm version --client --short
で確認)。 - Oracle WebLogic Kubernetes Operator 4.2.9 (オペレータ・リリース・ページを参照)。
- JDK 17とJDK 21を使用したOracle Linux 8およびOracle Linux 9に基づくコンテナ・イメージがサポートされています。
- オペレータをインストールするには、
cluster-admin
ロールが必要です。オペレータでは実行時にcluster-admin
ロールは必要ありません。 - 現在、Linux以外のコンテナでのWebCenterSitesの実行はサポートされていません。
- これらのプロキシ設定は、それぞれのリポジトリから必要なバイナリおよびソース・コードをプルするために使用されます:
- export NO_PROXY=“localhost,127.0.0.0/8,$(hostname -i),.your-company.com,/var/run/docker.sock”
- export no_proxy=“localhost,127.0.0.0/8,$(hostname -i),.your-company.com,/var/run/docker.sock”
- export http_proxy=http://www-proxy-your-company.com:80
- export https_proxy=http://www-proxy-your-company.com:80
- export HTTP_PROXY=http://www-proxy-your-company.com:80
- export HTTPS_PROXY=http://www-proxy-your-company.com:80
ノート:
hostname -i
およびnslookup
IPアドレスを使用して、ホストIPを前述のno_proxy、NO_PROXYリストに追加します。
制限事項
オペレータを使用したKubernetesでのWebLogic Serverドメインの実行と比較して、WebCenter Sitesドメインには現在、次の制限があります:
Domain in image
モデルは、このバージョンのオペレータではサポートされていません。- 構成済クラスタのみがサポートされています。動的クラスタは、WebCenter Sitesドメインではサポートされていません。すべてのスケーリング機能を引き続き使用できることに注意してください。ドメイン作成時にクラスタの最大サイズを定義する必要があるだけです。
- 現在、Linux以外のコンテナでのWebCenter Sitesの実行はサポートされていません。
- WebCenter Sitesドメインのデプロイおよび実行は、オペレータ・バージョン4.2.9以降でのみサポートされています。
- WebLogic Logging Exporterは現在、WebLogic Serverログのみをサポートしています。他のログはElasticsearchに送信されません。ただし、LogstashやFluentdなどのログ処理ツールでサイドカーを使用してログを取得できることに注意してください。
- WebLogic Monitoring Exporterは現在、WebLogic MBeanツリーのみをサポートしています。JRF MBeansのサポートはまだ追加されていません。
WebCenter Sitesクラスタのサイズ設定に関する推奨事項
WebCenter Sites | 通常の使用状況 | 中程度の使用状況 | 高い使用状況 |
---|---|---|---|
管理サーバー | CPU数: 1、メモリー: 4GB | CPU数: 1、メモリー: 4GB | CPU数: 1、メモリー: 4GB |
管理対象サーバー | サーバー数: 2、CPU数: 2、メモリー: 16GB | サーバー数: 2、CPU数: 4、メモリー: 16GB | サーバー数: 3、CPU数: 6、メモリー: 16-32GB |
PVストレージ | 最小250GB | 最小250GB | 最小500GB |
環境の準備
必要なシークレットの作成、永続ボリュームとボリューム・クレームの作成、データベースの作成、データベース・スキーマの作成など、Oracle WebCenter Sitesドメインの作成を準備します。
内容
このドキュメントでは、Kubernetesクラスタの設定、およびデータベースを含むWebLogicオペレータの設定を含む環境を設定するステップについて説明します。
- 概要
- Kubernetesクラスタの設定
- Oracle WebCenter Sitesイメージの構築
- 他の依存イメージのプル
- Oracle WebCenter Sitesドメインをデプロイするためのコード・リポジトリの設定
- ロールの付与および失効したリソースのクリア
- WebLogic Kubernetes Operatorのインストール
- NFSサーバーの構成
- WebCenter Sitesドメインの環境の準備
- データベースへのアクセスの構成
概要
Kubernetesクラスタの設定
公式のKubernetes設定ドキュメントを参照して、本番グレードのKubernetesクラスタを設定します。
Kubernetesクラスタの作成後、オプションで次ができます:
- ロード・バランサを作成して、トラフィックをバックエンド・ドメインにルーティングします。
- オペレータ・ログ用にKibanaおよびElasticsearchを構成します。
Oracle WebCenter Sitesイメージの構築
「イメージの作成または更新」に従って、Oracle WebCenter Sites 14.1.2.0.0イメージを構築します。
Oracle WebCenter Sitesイメージの取得
最新のバンドル・パッチおよび必要な個別パッチを含むOracle WebCenter Sitesイメージは、Oracleによって事前に構築されており、Oracle WebCenter Sites 14.1.2.0.0、最新パッチ・セット更新(PSU)、およびクリティカル・パッチ・アップデート(CPU)プログラムでリリースされたその他の修正が含まれています。これは、本番デプロイメントでサポートされている唯一のイメージです。次のいずれかの方法を使用して、Oracle WebCenter Sitesイメージを取得します:
Oracle Container Registryからダウンロード:
Oracle Container Registry
にログインし、「ミドルウェア」 > webcentersites/webcentersites_cpuに移動して、ライセンス契約にまだ同意していない場合は同意する必要があります。PodmanまたはDockerクライアントからOracle Container Registry (container-registry.oracle.com)にログインします:
$ podman login container-registry.oracle.com
イメージをプルします:
たとえば:
$ podman pull container-registry.oracle.com/middleware/webcentersites:14.1.2.0.0
またはタグを使用してイメージをプルします:
$ podman pull container-registry.oracle.com/middleware/webcentersites:14.1.2.0.0-<Tag>
My Oracle Supportからダウンロード:
My Oracle Support (MOS)からWebCenter Sitesイメージをダウンロードします。
ダウンロードしたパッチzipファイルを解凍します。
podman load
コマンドを使用してイメージ・アーカイブをロードします。たとえば:
$ podman load < wcsites-141200.tar.gz Loaded image: oracle/wcsites:14.1.2.0.0
My Oracle Supportから取得したイメージに含まれない任意の追加のパッチでOracle WebCenter Sites Dockerイメージを構築して使用する場合は、「イメージの作成または更新」のトピックのステップに従ってイメージを作成します。
ノート: Oracle WebCenter Sitesドメイン・デプロイメントに使用されるデフォルトのOracle WebCenter Sitesイメージ名は
oracle/wcsites:14.1.2.0.0
です。取得されるイメージは、podman tag
コマンドを使用してoracle/wcsites:14.1.2.0.0
としてタグ付けする必要があります。イメージに別の名前を使用する場合は、create-domain-inputs.yaml
ファイル内の新しいイメージ・タグ名、およびoracle/wcsites:14.1.2.0.0
イメージ名が使用されている他のインスタンスでも必ず更新してください。
他の依存イメージのプル
依存イメージには、WebLogic Kubernetes OperatorおよびTraefikが含まれます。これらのイメージをプルして、ローカル・レジストリに追加します:
- これらのDockerイメージをプルし、次のように再度タグ付けします:
Oracle Container Registryからイメージをプルするには、Webブラウザでhttps://container-registry.oracle.comに移動し、Oracle Single Sign-On認証サービスを使用してログインします。SSO資格証明がまだない場合は、ページの上部にある「サインイン」リンクをクリックして作成します。
Webインタフェースを使用して、デプロイする予定のOracleソフトウェア・イメージのOracle標準条件および制約事項に同意します。これらの条件の同意は、ソフトウェア・イメージをOracle Single Sign-Onログイン資格証明にリンクするデータベースに格納されます。
次に、これらのDockerイメージをプルし、再度タグ付けします:
podman login https://container-registry.oracle.com (enter your Oracle email Id and password)
This step is required once at every node to get access to the Oracle Container Registry.
WebLogic Kubernetes Operatorイメージ:
$ podman pull container-registry.oracle.com/middleware/weblogic-kubernetes-operator:4.2.9
$ podman tag container-registry.oracle.com/middleware/weblogic-kubernetes-operator:4.2.9 oracle/weblogic-kubernetes-operator:4.2.9
- 前述の構築およびプルされたイメージをすべてクラスタ内のすべてのノードにコピーするか、クラスタがアクセスできるDockerレジストリに追加します。
ノート: 開発マシンでKubernetesを実行していない場合は、レジストリでDockerイメージをKubernetesクラスタに表示できるようにする必要があります。次のように、DockerおよびKubernetesを実行しているマシンにイメージをアップロードします:
# on your build machine
$ podman save Image_Name:Tag > Image_Name-Tag.tar
$ scp Image_Name-Tag.tar YOUR_USER@YOUR_SERVER:/some/path/Image_Name-Tag.tar
# on the Kubernetes server
$ podman load < /some/path/Image_Name-Tag.tar
Oracle WebCenter Sitesドメインをデプロイするためのコード・リポジトリの設定
KubernetesでのOracle WebCenter Sitesドメイン・デプロイメントでは、Oracle WebLogic Kubernetes Operatorインフラストラクチャを利用します。Oracle WebCenter Sitesドメインをデプロイするには、次のようにデプロイメント・スクリプトを設定する必要があります:
ソース・コードを設定する作業ディレクトリを作成します。
$ mkdir $HOME/wcs_1412 $ cd $HOME/wcs_1412
WebCenter Sites Kubernetesデプロイメント・スクリプトをこのリポジトリからダウンロードします。
$ git clone https://github.com/oracle/fmw-kubernetes.git
このドキュメントで説明するように、$HOME/wcs_1412/fmw-kubernetes/OracleWebCenterSites/kubernetes
のデプロイメント・スクリプトを使用して、WebCenter Sitesドメインを設定できるようになりました。
これは、必要なすべてのスクリプトを実行するためのホーム・ディレクトリになります。
$ cd $HOME/wcs_1412/fmw-kubernetes/OracleWebCenterSites/kubernetes
$ export WORKDIR=$HOME/wcs_1412/fmw-kubernetes/OracleWebCenterSites/kubernetes
失効したリソースのクリア
WebLogicカスタム・リソース定義がすでに存在するかどうかを確認するには、次のコマンドを実行します:
$ kubectl get crd NAME CREATED AT domains.weblogic.oracle 2020-03-14T12:10:21Z
WebLogicカスタム・リソース定義が見つかった場合は、次のコマンドを実行して削除します:
bash $ kubectl delete crd domains.weblogic.oracle customresourcedefinition.apiextensions.k8s.io "domains.weblogic.oracle" deleted
WebLogic Kubernetes Operatorのインストール
WebLogic Kubernetes Operatorのネームスペースを作成します:
$ kubectl create namespace operator-ns namespace/operator-ns created
ノート: この演習では、"operator-ns" (任意の名前)というネームスペースを作成します。
次のメソッドも使用できます。
- domainUID/domainnameとして
wcsitesinfra
- ドメイン・ネームスペースとして
wcsites-ns
- オペレータ・ネームスペースとして
operator-ns
- traefikネームスペースとして
traefik
- domainUID/domainnameとして
オペレータのネームスペースにWebLogic Kubernetes Operatorのサービス・アカウントを作成します:
$ kubectl create serviceaccount -n operator-ns operator-sa serviceaccount/operator-sa created
Weblogic Kubernetes Operatorリポジトリの追加
$ helm repo add weblogic-operator https://oracle.github.io/weblogic-kubernetes-operator/charts --force-update
オプションで、これらのステップに従って、オペレータのログの内容をElasticsearchに送信できます。
helmを使用して、ダウンロードしたリポジトリからWebLogic Kubernetes Operatorをインストールして起動します:
Helmでweblogic-operatorをインストールします
$ helm install weblogic-kubernetes-operator weblogic-operator/weblogic-operator --version 4.2.9 --namespace operator-ns --set serviceAccount=operator-sa --set "javaLoggingLevel=FINE" --wait NAME: weblogic-kubernetes-operator LAST DEPLOYED: Tue May 19 04:04:32 2024 NAMESPACE: operator-ns STATUS: deployed REVISION: 1 TEST SUITE: None
オペレータのポッドが実行中であることを確認するには、オペレータのネームスペースにポッドをリストします。WebLogic Kubernetes Operatorの1つが表示されます:
$ kubectl get pods -n operator-ns NAME READY STATUS RESTARTS AGE weblogic-operator-66d44b89fb-d9tqf 2/2 Running 0 5m39s weblogic-operator-webhook-798bbcbfcc-z82rl 2/2 Running 0 5m39s
そして、次のサンプル・ログ・スニペットに示すように、オペレータ・ポッドのログを表示して確認します:
$ kubectl logs -n operator-ns -c weblogic-operator deployments/weblogic-operator Launching Oracle WebLogic Server Kubernetes Operator... VM settings: Max. Heap Size (Estimated): 21.59G Using VM: Java HotSpot(TM) 64-Bit Server VM {"timestamp":"2024-10-07T12:30:40.520682507Z","thread":1,"fiber":"","namespace":"","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.helpers.HealthCheckHelper","method":"createAndValidateKubernetesVersion","timeInMillis":1728304240520,"message":"Kubernetes version is: v1.27.8","exception":"","code":"","headers":{},"body":""} {"timestamp":"2024-10-07T12:30:40.779242046Z","thread":1,"fiber":"","namespace":"","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.OperatorMain$MainDelegateImpl","method":"logStartup","timeInMillis":1728304240779,"message":"Oracle WebLogic Kubernetes Operator, version: 4.2.9, implementation: 7394a56ef6ac3231a766455d8d199095f6e69fbb.7394a56, build time: 2024-09-11T17:18:22+0000","exception":"","code":"","headers":{},"body":""} {"timestamp":"2024-10-07T12:30:40.78423637Z","thread":1,"fiber":"","namespace":"","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.OperatorMain$MainDelegateImpl","method":"lambda$logStartup$0","timeInMillis":1728304240784,"message":"The following optional operator features are enabled: []","exception":"","code":"","headers":{},"body":""} {"timestamp":"2024-10-07T12:30:40.794745506Z","thread":1,"fiber":"","namespace":"","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.OperatorMain$MainDelegateImpl","method":"logStartup","timeInMillis":1728304240794,"message":"Operator namespace is: operator-ns","exception":"","code":"","headers":{},"body":""} {"timestamp":"2024-10-07T12:30:40.796536215Z","thread":1,"fiber":"","namespace":"","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.OperatorMain$MainDelegateImpl","method":"logStartup","timeInMillis":1728304240796,"message":"Operator service account is: operator-sa","exception":"","code":"","headers":{},"body":""} {"timestamp":"2024-10-07T12:30:42.294724178Z","thread":57,"fiber":"fiber-1-child-2 NOT_COMPLETE","namespace":"wcsites-ns1","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.helpers.EventHelper$CreateEventStep$CreateEventResponseStep","method":"onSuccess","timeInMillis":1728304242294,"message":"Start managing namespace wcsites-ns1","exception":"","code":"","headers":{},"body":""} {"timestamp":"2024-10-07T12:30:42.296199191Z","thread":58,"fiber":"fiber-1-child-1 NOT_COMPLETE","namespace":"wcsites-ns","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.helpers.EventHelper$CreateEventStep$CreateEventResponseStep","method":"onSuccess","timeInMillis":1728304242296,"message":"Start managing namespace wcsites-ns","exception":"","code":"","headers":{},"body":""} {"timestamp":"2024-10-07T12:30:44.482491307Z","thread":125,"fiber":"fiber-1 NOT_COMPLETE","namespace":"","domainUID":"","level":"INFO","class":"oracle.kubernetes.operator.OperatorMain","method":"logStartingLivenessMessage","timeInMillis":1728304244482,"message":"Starting operator liveness Thread","exception":"","code":"","headers":{},"body":""}
NFS (ネットワーク・ファイル・システム)サーバーの構成
NFSサーバーを構成するには、nfs-utilsパッケージをできればマスター・ノードにインストールします:
$ sudo yum install nfs-utils
nfs-serverサービスを開始し、システムの再起動後にサービスが開始するように構成します:
$ sudo systemctl start nfs-server
$ sudo systemctl enable nfs-server
NFS共有としてエクスポートするディレクトリを作成します。たとえば、/scratch/K8SVolume
:
$ sudo mkdir -p /scratch/K8SVolume
$ sudo chown -R 1000:0 /scratch/K8SVolume
NFSサーバーのホスト名またはIPアドレス
ノート: 以降の項でPV/PVCを作成するときに使用されるNFSサーバーおよびNFS共有パスのホスト名またはIPアドレス。
WebCenter Sitesドメインの環境の準備
デフォルト・ネームスペースを使用する場合を除き、1つ以上のドメインをホストできるKubernetesネームスペースを作成します:
$ kubectl create namespace wcsites-ns namespace/wcsites-ns created $ kubectl label namespace wcsites-ns weblogic-operator=enabled
Kubernetesシークレットの作成:
- create-weblogic-credentialsスクリプトを使用して、ドメインのユーザー名とパスワードを含むKubernetesシークレットをドメインと同じKubernetesネームスペースに作成します:
出力: ```bash $ sh kubernetes/create-weblogic-domain-credentials/create-weblogic-credentials.sh
-u weblogic -p Welcome1 -n wcsites-ns
-d wcsitesinfra -s wcsitesinfra-domain-credentialssecret/wcsitesinfra-domain-credentials created secret/wcsitesinfra-domain-credentials labeled The secret wcsitesinfra-domain-credentials has been successfully created in the wcsites-ns namespace. ```説明:
* weblogic is the weblogic username * Welcome1 is the weblogic password * wcsitesinfra is the domain name * wcsites-ns is the domain namespace * wcsitesinfra-domain-credentials is the secret name
ノート: 次のように資格証明を調査できます:
bash $ kubectl get secret wcsitesinfra-domain-credentials -o yaml -n wcsites-ns
- ドメインと同じKubernetesネームスペースの
create-rcu-credentials.sh
スクリプトを使用して、リポジトリ構成ユーティリティ(ユーザー名およびパスワード)のKubernetesシークレットを作成します:
出力:
$ sh kubernetes/create-rcu-credentials/create-rcu-credentials.sh \ -u WCS1 -p Oradoc_db1 -a sys -q Oradoc_db1 -n wcsites-ns \ -d wcsitesinfra -s wcsitesinfra-rcu-credentials secret/wcsitesinfra-rcu-credentials created secret/wcsitesinfra-rcu-credentials labeled The secret wcsitesinfra-rcu-credentials has been successfully created in the wcsites-ns namespace.
説明:
* WCS1 is the schema user * Oradoc_db1 is the schema password * Oradoc_db1 is the database SYS users password * wcsitesinfra is the domain name * wcsites-ns is the domain namespace * wcsitesinfra-rcu-credentials is the secret name
ノート: 次のように資格証明を調査できます:
$ kubectl get secret wcsitesinfra-rcu-credentials -o yaml -n wcsites-ns
Kubernetes PVおよびPVC (永続ボリュームおよび永続ボリューム・クレーム)を作成します:
kubernetes/create-wcsites-domain/utils/create-wcsites-pv-pvc-inputs.yaml
を更新します。
トークン
%NFS_SERVER%
を、「NFSサーバーの構成」の項で作成したNFSサーバーのホスト名/IPに置き換えます。NFSサーバーで、次に示すようにフォルダを作成し、権限を付与します。
$ sudo rm -rf /scratch/K8SVolume/WCSites && sudo mkdir -p /scratch/K8SVolume/WCSites && sudo chown 1000:0 /scratch/K8SVolume/WCSites
weblogicDomainStoragePath
パラメータを/scratch/K8SVolume/WCSites
で更新します。create-pv-pvc.sh
スクリプトを実行して、PVおよびPVC構成ファイルを作成します:
$ sh kubernetes/create-weblogic-domain-pv-pvc/create-pv-pvc.sh \ -i kubernetes/create-wcsites-domain/utils/create-wcsites-pv-pvc-inputs.yaml \ -o kubernetes/create-wcsites-domain/output Input parameters being used export version="create-weblogic-sample-domain-pv-pvc-inputs-v1" export baseName="domain" export domainUID="wcsitesinfra" export namespace="wcsites-ns" export weblogicDomainStorageType="NFS" export weblogicDomainStorageNFSServer="%NFS_SERVER%" export weblogicDomainStoragePath="/scratch/K8SVolume/WCSites" export weblogicDomainStorageReclaimPolicy="Retain" export weblogicDomainStorageSize="10Gi" Generating kubernetes/create-wcsites-domain/output/pv-pvcs/wcsitesinfra-domain-pv.yaml Generating kubernetes/create-wcsites-domain/output/pv-pvcs/wcsitesinfra-domain-pvc.yaml The following files were generated: kubernetes/create-wcsites-domain/output/pv-pvcs/wcsitesinfra-domain-pv.yaml kubernetes/create-wcsites-domain/output/pv-pvcs/wcsitesinfra-domain-pvc.yaml Completed
- PVおよびPVCを作成するには、
kubectl create
を出力構成ファイルとともに使用します:
出力:
$ kubectl create -f kubernetes/create-wcsites-domain/output/pv-pvcs/wcsitesinfra-domain-pv.yaml \ -f kubernetes/create-wcsites-domain/output/pv-pvcs/wcsitesinfra-domain-pvc.yaml persistentvolume/wcsitesinfra-domain-pv created persistentvolumeclaim/wcsitesinfra-domain-pvc created
ノート: PVおよびPVの詳細を次のように検証できます:
$ kubectl describe pv wcsitesinfra-domain-pv -n wcsites-ns
$ kubectl describe pvc wcsitesinfra-domain-pvc -n wcsites-ns
必要に応じて、Kubernetesクラスタ内のノードに、特定のノード上のサーバーのターゲット・スケジューリングのラベルを付けます:
kubectl label node <node-name> name=abc
ノート: ここで、
<node-name>
はkubectl get nodes
コマンドのNAMEフィールドに表示されるノードです。abcは、定義するラベルです。ラベルはキーと値のペアであり、意味のあるものにできます。nodeSelectorにも同じものを使用する必要があります。スケジューリングでは、ラベルに基づいてこれらのノードを選択できます。
データベースへのアクセスの構成
Oracle WebCenter Sitesドメインには、必要なスキーマがインストールされたデータベースが必要です。リポジトリ作成ユーティリティ(RCU)を使用すると、これらのスキーマを作成できます。ドメインを作成する前にデータベースを設定する必要があります。KubernetesでOracle WebCenter Sitesを実行することで追加される要件はありません。同じ既存の要件が適用されます。
本番デプロイメントでは、Kubernetesの外部で実行されているスタンドアロン(非コンテナ)ベースのデータベースを設定して使用する必要があります。
ドメインを作成する前に、データベースに必要なスキーマを設定する必要があります。
Oracle WebCenter Sitesドメインの作成
既存のPVまたはPVCにOracle WebCenter Sitesドメイン・ホームを作成し、生成されたOracle WebCenter Sitesドメインをデプロイするためのドメイン・リソースYAMLファイルを作成します。
内容
- スクリプトの概要
- 前提条件
- WebCenter Sitesドメイン作成入力ファイルの準備
- WebCenter Sitesドメインの作成
- WebCenter Sitesドメインの初期化
- WebCenter Sitesドメインの検証
- WebCenter Sitesサービスの公開
- イングレス・コントローラまたはWebサーバーを使用したロード・バランス
- WebCenter Sitesの構成
- WebCenter Sitesプロパティ管理の設定
- WebCenter Sitesでの公開設定
- カスタマイズ
スクリプトの概要
このドキュメントでは、サンプル・スクリプトを使用して、既存のKubernetes永続ボリューム(PV)および永続ボリューム・クレーム(PVC)でWebCenter Sitesドメイン・ホームを作成する方法について詳しく説明します。また、スクリプトはドメインYAMLファイルを生成します。これを使用して、対応するドメインのKubernetesアーティファクトを起動できます。
前提条件
- ドメイン・リソースのドキュメントを確認します。
- 要件および制限事項を確認します。
- 環境の準備のすべての準備ステップが実行されていることを確認します。
- データベースおよびWebLogic Kubernetes Operatorが実行中であることを確認します。
WebCenter Sitesドメイン作成入力ファイルの準備
必要に応じて、次に示すようにcreate-domain-inputs.yaml
を編集することで、ドメイン作成入力をカスタマイズできます:
WebCenter Sitesドメイン・デプロイメントのサンプル・スクリプトは、以前にダウンロードしたリポジトリ(kubernetes/create-wcsites-domain/domain-home-on-pv/
)から入手できます。
デフォルト値を更新する前に、create-domain-inputs.yaml
ファイルのコピーを作成します。
スクリプトによって作成されたデフォルト・ドメインには、次の特性があります:
- ポート
7001
でリスニングするAdminServer
という名前の管理サーバー。 - サイズが
5
のwcsites-cluster
という名前の構成済クラスタ。 wcsites_server1
という名前の管理対象サーバー。ポート7103
でリスニングします。/shared/logs/<domainUID>
にあるログ・ファイル。
構成パラメータ
入力ファイルには、次のパラメータを指定できます:
パラメータ | 定義 | デフォルト |
---|---|---|
adminPort |
Kubernetesクラスタ内の管理サーバーのポート番号。 | 7001 |
adminServerName |
管理サーバーの名前。 | AdminServer |
clusterName |
ドメイン用に生成するWebLogicクラスタ・インスタンスの名前。デフォルトでは、WebCenter Sitesドメインのクラスタ名はwcsites-cluster です。 |
wcsites-cluster |
configuredManagedServerCount |
ドメインの管理対象サーバー・インスタンスの数。 | 3 |
createDomainFilesDir |
ホスト・マシン上のディレクトリで、createDomainScriptName プロパティで指定されたスクリプトを含む、WebLogicドメインの作成に必要なすべてのファイルを検索します。デフォルトでは、このディレクトリは相対パスwlst に設定され、作成スクリプトはwlst ディレクトリの組込みWLSTオフライン・スクリプトを使用してWebLogicドメインを作成します。絶対パスも、ファイル・システム内の任意のディレクトリを指すようにサポートされています。組込みスクリプトは、指定したディレクトリにあるかぎり、ユーザーが指定したスクリプトまたはモデル・ファイルに置き換えできます。このディレクトリ内のファイルは、Kubernetes構成マップに配置され、Kubernetesポッドがスクリプトおよびサポート・ファイルを使用してドメイン・ホームを作成できるように、createDomainScriptsMountPath にマウントされます。 |
wlst |
createDomainScriptsMountPath |
ドメイン作成スクリプトがポッド内にあるマウント・パス。create-domain.sh スクリプトは、Kubernetesポッドでスクリプト(createDomainScriptName プロパティで指定)を実行してドメイン・ホームを作成するKubernetesジョブを作成します。createDomainFilesDir ディレクトリ内のファイルはポッドのこの場所にマウントされるため、Kubernetesポッドはスクリプトおよびサポート・ファイルを使用してドメイン・ホームを作成できます。 |
/u01/weblogic |
createDomainScriptName |
ドメインの作成スクリプトがWebLogicドメインの作成に使用するスクリプト。create-domain.sh スクリプトは、このスクリプトを実行してドメイン・ホームを作成するKubernetesジョブを作成します。スクリプトは、createDomainScriptsMountPath プロパティで指定されたポッド内ディレクトリにあります。組込みスクリプトを使用するかわりに、ドメイン・ホームを作成するための独自のスクリプトを指定する必要がある場合は、このプロパティを使用して、ドメイン作成ジョブを実行するスクリプトの名前を設定する必要があります。 |
create-domain-job.sh |
domainHome |
WebCenter Sitesドメインのホーム・ディレクトリ。This field cannot be modified. |
/u01/oracle/user_projects/domains/wcsitesinfra |
domainPVMountPath |
ドメイン永続ボリュームのマウント・パス。This field cannot be modified. |
/u01/oracle/user_projects/domains |
domainUID |
この特定のドメインの識別に使用される一意のID。生成されたWebLogicドメインの名前およびKubernetesドメイン・リソースの名前として使用されます。このIDは、Kubernetesクラスタ内のすべてのドメインにわたって一意である必要があります。このIDには、Kubernetesサービス名で有効ではない文字を含めることはできません。 | wcsitesinfra |
exposeAdminNodePort |
管理サーバーがKubernetesクラスタの外部に公開されているかどうかを示すブール。 | false |
exposeAdminT3Channel |
T3管理チャネルがKubernetesクラスタの外部に公開されているかどうかを示すブール。 | false |
image |
WebCenter Sites Dockerイメージ。オペレータには、WebCenter Sitesリリース14.1.2.0.0が必要です。イメージの取得または作成方法の詳細は、「WebCenter Sites Dockerイメージ」を参照してください。 | oracle/wcsites:14.1.2.0.0 |
imagePullPolicy |
WebLogic Dockerイメージ・プル・ポリシー。有効な値は、IfNotPresent 、Always またはNever です |
IfNotPresent |
imagePullSecretName |
Docker StoreにアクセスしてWebLogic Server DockerイメージをプルするためのKubernetesシークレットの名前。このパラメータを指定すると、シークレットの存在が検証されます。 | |
includeServerOutInPodLog |
ポッドの標準出力にserver.outを含めるかどうかを示すブール。 | true |
initialManagedServerReplicas |
ドメインの最初に起動する管理対象サーバーの数。 | 1 |
javaOptions |
管理サーバーおよび管理対象サーバーを起動するためのJavaオプション。Javaオプションには、WebLogicドメイン情報を取得するための次の事前定義された1つ以上の変数への参照を含めることができます: $(DOMAIN_NAME) 、$(DOMAIN_HOME) 、$(ADMIN_NAME) 、$(ADMIN_PORT) および$(SERVER_NAME) 。 |
-Dweblogic.StdoutDebugEnabled=false |
logHome |
ドメイン・ログ、サーバー・ログ、サーバー・アウトおよびノード・マネージャのログ・ファイルのポッド内の場所。This field cannot be modified. |
/u01/oracle/user_projects/logs/wcsitesinfra |
managedServerNameBase |
管理対象サーバー名の生成に使用されるベース文字列。 | wcsites_server |
managedServerPort |
各管理対象サーバーのポート番号。 | 7103 |
namespace |
ドメインを作成するKubernetesネームスペース。 | wcsites-ns |
persistentVolumeClaimName |
ドメイン・ホームをホストするために作成された永続ボリューム・クレームの名前。指定しない場合、値はdomainUID から<domainUID>-weblogic-sample-pvc として導出されます。 |
wcsitesinfra-domain-pvc |
productionModeEnabled |
ドメインで本番モードが有効かどうかを示すブール。 | true |
serverStartPolicy |
起動するWebLogic Serverインスタンスを決定します。有効な値は、Never 、IfNeeded 、AdminOnly です。 |
IfNeeded |
t3ChannelPort |
NetworkAccessPointのT3チャネルのポート。 | 30012 |
t3PublicAddress |
T3チャネルのパブリック・アドレス。これは、Kubernetesクラスタのパブリック・アドレスに設定する必要があります。これは通常、ロード・バランサ・アドレスです。 | 指定しない場合、スクリプトはKubernetesクラスタのIPアドレスに設定しようとします。 |
weblogicCredentialsSecretName |
管理サーバーのユーザー名とパスワードのKubernetesシークレットの名前。指定しない場合、値はdomainUID から<domainUID>-weblogic-credentials として導出されます。 |
wcsites-domain-credentials |
weblogicImagePullSecretName |
WebLogic Serverイメージのプルに使用されるDocker StoreのKubernetesシークレットの名前。 | |
serverPodCpuRequest 、serverPodMemoryRequest 、serverPodCpuCLimit 、serverPodMemoryLimit |
許容されるコンピュート・リソースの最大量および各サーバー・ポッドに必要なコンピュート・リソースの最小量。詳細は、Managing Compute Resources for Containers にあるKubernetesのドキュメントを参照してください。 |
リソース・リクエストおよびリソース制限が指定されていません。詳細は、「WebCenter Sitesクラスタのサイズ設定に関する推奨事項」を参照してください。 |
rcuSchemaPrefix |
データベースで使用するスキーマ接頭辞。たとえば、WCS1 。RCUスキーマとドメインの一致を簡略化するために、これをdomainUIDと同じにできます。 |
WCS1 |
rcuDatabaseURL |
データベースURL。 | oracle-db.wcsitesdb-ns.svc.cluster.local:1521/devpdb.k8s |
rcuCredentialsSecret |
指定するロードバランサ・ホスト名。 | wcsites-rcu-credentials |
loadBalancerHostName |
K8S環境外でアクセス可能な最後のURLのホスト名。 | abc.def.com |
loadBalancerPortNumber |
K8S環境外でアクセス可能な最後のURLのポート。 | 30305 |
loadBalancerProtocol |
K8S環境外でアクセス可能な最後のURLのプロトコル。 | http |
loadBalancerType |
使用されるロードバランサ名。例: Traefikまたは“” | traefik |
unicastPort |
アプリケーションが使用するユニキャスト・ポートの開始範囲。 | 50000 |
sitesSamples |
デフォルトでサンプル・サイトなしでインストールするサイト。それ以外の場合はtrue。 | false |
adminAdministrationPort |
管理サーバーの管理ポート番号。 | 9002 |
adminServerSSLPort |
管理サーバーのSSLポート番号。 | 7002 |
sslEnabled |
trueを選択してSSLを有効にします。secureEnabledがtrueに設定されている場合、sslEnabledはデフォルトでtrueに設定されます。 | false |
managedServerSSLPort |
各WCS管理対象サーバーのSSLポート番号。 | 7104 |
managedServerAdministrationPort |
管理対象サーバーの管理ポート番号。 | 9111 |
secureEnabled |
ドメインでセキュアが有効かどうかを示すブール。この値は、14.1.2.0.0でのみ意味を持ちます。この値は、開発モード(つまり、productionModeEnabledがfalseの場合)では意味がありません。 | false |
生成されたYAMLファイル内のKubernetesリソースの名前を、create-domain-inputs.yaml
ファイルで指定されたこれらのプロパティの値で形成できます: adminServerName
、clusterName
およびmanagedServerNameBase
。Kubernetesサービス名で無効な文字は、生成されたYAMLファイルで有効な値に変換されます。たとえば、大文字は小文字に変換され、アンダースコア(“_“)はハイフン(”-“)に変換されます。
サンプルは、1つのクラスタのみを持つドメインに対して、WebCenter Sitesドメイン・ホームおよび関連するKubernetesリソースを作成する方法を示しています。また、サンプルでは、ユーザーが独自のスクリプトを提供して、他のユース・ケース用にドメイン・ホームを作成する機能も示しています。生成されたドメインYAMLファイルを変更して、さらにユース・ケースを含めることができます。
WebCenter Sitesドメインの作成
create-domain.shスクリプトの構文の理解:
$ ./create-domain.sh \ -i create-domain-inputs.yaml \ -o /<path to output-directory>
このスクリプトは次の機能を実行します:
このドメイン用に生成されたKubernetes YAMLファイルのディレクトリ(まだ存在しない場合)を作成します。パス名は
/<path to output-directory>/weblogic-domains/<domainUID>
です。ディレクトリがすでに存在する場合は、このスクリプトを使用する前にその内容を削除します。ユーティリティWebCenter Sitesコンテナを起動し、オフラインWLSTスクリプトを実行して共有ストレージにドメインを作成するKubernetesジョブを作成します。
ジョブが終了するまで実行して待機します。
前述で作成したディレクトリにKubernetesドメインYAMLファイル
domain.yaml
を作成します。このYAMLファイルは、kubectl create -f
またはkubectl apply -f
コマンドを使用してKubernetesリソースを作成するために使用できます:$ kubectl apply -f ../<path to output-directory>/weblogic-domains/<domainUID>/domain.yaml
作成スクリプトによって作成されたドメイン・ホームをクリーン・アップするための便利なユーティリティ・スクリプト
delete-domain-job.yaml
を作成します。
ここで、次の
create-domain.sh
サンプル・スクリプトを実行し、create-domain-inputs入力ファイルおよび次のような出力ディレクトリを指すようにします:bash-4.2$ rm -rf kubernetes/create-wcsites-domain/output/weblogic-domains bash-4.2$ sh kubernetes/create-wcsites-domain/domain-home-on-pv/create-domain.sh \ -i kubernetes/create-wcsites-domain/domain-home-on-pv/create-domain-inputs.yaml \ -o kubernetes/create-wcsites-domain/output Input parameters being used export version="create-weblogic-sample-domain-inputs-v1" export sslEnabled="false" export adminPort="7001" export adminServerSSLPort="7002" export adminAdministrationPort="9002" export adminServerName="adminserver" export domainUID="wcsitesinfra" export domainHome="/u01/oracle/user_projects/domains/$domainUID" export serverStartPolicy="IfNeeded" export clusterName="wcsites-cluster" export configuredManagedServerCount="3" export initialManagedServerReplicas="1" export managedServerNameBase="wcsites-server" export managedServerPort="7103" export managedServerSSLPort="7104" export managedServerAdministrationPort="9111" export image="oracle/wcsites:14.1.2.0.0" export imagePullPolicy="IfNotPresent" export productionModeEnabled="true" export secureEnabled="false" export weblogicCredentialsSecretName="wcsitesinfra-domain-credentials" export includeServerOutInPodLog="true" export logHome="/u01/oracle/user_projects/logs/$domainUID" export t3ChannelPort="30012" export exposeAdminT3Channel="false" export adminNodePort="30701" export exposeAdminNodePort="false" export namespace="wcsites-ns" javaOptions=-Dweblogic.StdoutDebugEnabled=false export persistentVolumeClaimName="wcsitesinfra-domain-pvc" export domainPVMountPath="/u01/oracle/user_projects" export createDomainScriptsMountPath="/u01/weblogic" export createDomainScriptName="create-domain-job.sh" export createDomainFilesDir="wlst" export serverPodMemoryRequest="4G" export serverPodCpuRequest="2000m" export serverPodMemoryLimit="4G" export serverPodCpuLimit="2000m" export rcuSchemaPrefix="wcsk8s1" export rcuDatabaseURL="shivaoke-3.subnet1bom1.devcec02bom.oraclevcn.com:1521/orcl.subnet1bom1.devcec02bom.oraclevcn.com" export rcuCredentialsSecret="wcsitesinfra-rcu-credentials" export loadBalancerHostName="cjuyal-1.subnet1bom1.devcec02bom.oraclevcn.com" export loadBalancerPortNumber="30305" export loadBalancerProtocol="http" export loadBalancerType="traefik" export unicastPort="50000" export sitesSamples="false" validateWlsDomainName called with wcsitesinfra createFiles - valuesInputFile is create-wcsites-domain/domain-home-on-pv/create-domain-inputs.yaml createDomainScriptName is create-domain-job.sh Generating create-wcsites-domain/output//weblogic-domains/wcsitesinfra/create-domain-job.yaml Generating create-wcsites-domain/output//weblogic-domains/wcsitesinfra/delete-domain-job.yaml Generating create-wcsites-domain/output//weblogic-domains/wcsitesinfra/domain.yaml Checking to see if the secret wcsitesinfra-domain-credentials exists in namespace wcsites-ns configmap "wcsitesinfra-create-fmw-infra-sample-domain-job-cm" deleted configmap/wcsitesinfra-create-fmw-infra-sample-domain-job-cm created Checking the configmap wcsitesinfra-create-fmw-infra-sample-domain-job-cm was created configmap/wcsitesinfra-create-fmw-infra-sample-domain-job-cm labeled Checking if object type job with name wcsitesinfra-create-fmw-infra-sample-domain-job exists No resources found in wcsites-ns namespace. $loadBalancerType is NOT empty Creating the domain by creating the job create-wcsites-domain/output//weblogic-domains/wcsitesinfra/create-domain-job.yaml job.batch/wcsitesinfra-create-fmw-infra-sample-domain-job created Waiting for the job to complete... status on iteration 1 of 20 pod wcsitesinfra-create-fmw-infra-sample-domain-job-6x8cg status is Running status on iteration 2 of 20 pod wcsitesinfra-create-fmw-infra-sample-domain-job-6x8cg status is Running status on iteration 3 of 20 pod wcsitesinfra-create-fmw-infra-sample-domain-job-6x8cg status is Running status on iteration 4 of 20 pod wcsitesinfra-create-fmw-infra-sample-domain-job-6x8cg status is Completed Domain wcsitesinfra was created and will be started by the WebLogic Kubernetes Operator The following files were generated: create-wcsites-domain/output//weblogic-domains/wcsitesinfra/create-domain-inputs.yaml create-wcsites-domain/output//weblogic-domains/wcsitesinfra/create-domain-job.yaml create-wcsites-domain/output//weblogic-domains/wcsitesinfra/domain.yaml Completed
前述のドメイン作成ログをモニターするには:
$ kubectl get pods -n wcsites-ns |grep wcsitesinfra-create wcsitesinfra-create-fmw-infra-sample-domain-job-6x8cg 0/1 Completed 0 6m48s
$ kubectl get pods -n wcsites-ns | grep wcsitesinfra-create | awk '{print $1}' | xargs kubectl -n wcsites-ns logs -f
サンプル出力:
The domain will be created using the script /u01/weblogic/createSitesDomain.sh Install Automation -> Starting automation script [mkdir] Created dir: /u01/wcs-wls-docker-install/work [echo] [10/7/24, 12:48 PM] Work Directory=/u01/wcs-wls-docker-install/work [echo] [10/7/24, 12:48 PM] DB URL: jdbc:oracle:thin:@ [echo] [10/7/24, 12:48 PM] Info -> The script.db.connectstring has been set. [echo] [10/7/24, 12:48 PM] Info.setDBConnectStringPropertey -> setting shivaoke-3.subnet1bom1.devcec02bom.oraclevcn.com:1521/orcl.subnet1bom1.devcec02bom.oraclevcn.com [echo] [10/7/24, 12:48 PM] Validation -> Checking if full path to JAVA executable is correctly specified [exec] java version "17.0.12" 2024-07-16 LTS [exec] Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286) [exec] Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing) [echo] [10/7/24, 12:48 PM] Validation -> Checking database connection [echo] [10/7/24, 12:48 PM] dbUrl-----------------: jdbc:oracle:thin:@shivaoke-3.subnet1bom1.devcec02bom.oraclevcn.com:1521/orcl.subnet1bom1.devcec02bom.oraclevcn.com [echo] [10/7/24, 12:48 PM] Database Connection --> Success! [echo] [10/7/24, 12:48 PM] 1st phase: WebCenter Sites installation started... [copy] Copying 1 file to /u01/wcs-wls-docker-install/work [copy] Copying /u01/wcs-wls-docker-install/rcu.rsp to /u01/wcs-wls-docker-install/work/rcu.rsp [echo] [10/7/24, 12:48 PM] 1st phase: WebCenter Sites installation completed [echo] [10/7/24, 12:48 PM] 2nd phase: WebCenter Sites RCU configuration started... [echo] [10/7/24, 12:48 PM] Installation -> Repository Creation Utility - creates schema [echo] [10/7/24, 12:48 PM] connectString-----------------: shivaoke-3.subnet1bom1.devcec02bom.oraclevcn.com:1521/orcl.subnet1bom1.devcec02bom.oraclevcn.com [replace] Replaced 1 occurrences in 1 files. [replace] Replaced 1 occurrences in 1 files. [replace] Replaced 1 occurrences in 1 files. [replace] Replaced 1 occurrences in 1 files. [replace] Replaced 1 occurrences in 1 files. [echo] [10/7/24, 12:48 PM] Create schema using command: /u01/oracle/oracle_common/bin/rcu -silent -responseFile /u01/wcs-wls-docker-install/work/rcu.rsp -f < /u01/wcs-wls-docker-install/work/rcuPasswords10710756107204523639.txt >/u01/wcs-wls-docker-install/work/rcu_output.log [echo] [10/7/24, 12:48 PM] RCU Create Schema -> Please wait ... may take several minutes [echo] [10/7/24, 12:49 PM] [echo] RCU Logfile: /u01/wcs-wls-docker-install/work/rcu/RCU2024-10-07_12-48_1569219683/logs/rcu.log [echo] Processing command line .... [echo] Repository Creation Utility - Checking Prerequisites [echo] Checking Global Prerequisites [echo] Repository Creation Utility - Checking Prerequisites [echo] Checking Component Prerequisites [echo] Repository Creation Utility - Creating Tablespaces [echo] Validating and Creating Tablespaces [echo] Create tablespaces in the repository database [echo] Repository Creation Utility - Create [echo] Repository Create in progress. [echo] Percent Complete: 16 [echo] Executing pre create operations [echo] Percent Complete: 33 [echo] Percent Complete: 33 [echo] Percent Complete: 35 [echo] Percent Complete: 37 [echo] Percent Complete: 39 [echo] Percent Complete: 39 [echo] Percent Complete: 39 [echo] Creating Common Infrastructure Services(STB) [echo] Percent Complete: 48 [echo] Percent Complete: 48 [echo] Percent Complete: 58 [echo] Percent Complete: 58 [echo] Percent Complete: 58 [echo] Creating Audit Services Append(IAU_APPEND) [echo] Percent Complete: 66 [echo] Percent Complete: 66 [echo] Percent Complete: 76 [echo] Percent Complete: 76 [echo] Percent Complete: 76 [echo] Creating Audit Services Viewer(IAU_VIEWER) [echo] Percent Complete: 84 [echo] Percent Complete: 84 [echo] Percent Complete: 84 [echo] Percent Complete: 85 [echo] Percent Complete: 85 [echo] Percent Complete: 85 [echo] Percent Complete: 86 [echo] Percent Complete: 86 [echo] Percent Complete: 86 [echo] Percent Complete: 87 [echo] Percent Complete: 88 [echo] Percent Complete: 88 [echo] Percent Complete: 88 [echo] Creating Weblogic Services(WLS) [echo] Percent Complete: 93 [echo] Percent Complete: 93 [echo] Percent Complete: 97 [echo] Percent Complete: 97 [echo] Percent Complete: 100 [echo] Creating Audit Services(IAU) [echo] Creating Oracle Platform Security Services(OPSS) [echo] Creating WebCenter Sites(WCSITES) [echo] Executing post create operations [echo] Repository Creation Utility: Create - Completion Summary [echo] Database details: [echo] ----------------------------- [echo] Host Name : shivaoke-3.subnet1bom1.devcec02bom.oraclevcn.com [echo] Port : 1521 [echo] Service Name : ORCL.SUBNET1BOM1.DEVCEC02BOM.ORACLEVCN.COM [echo] Connected As : sys [echo] Prefix for (prefixable) Schema Owners : WCSK8S1 [echo] RCU Logfile : /u01/wcs-wls-docker-install/work/rcu/RCU2024-10-07_12-48_1569219683/logs/rcu.log [echo] Component schemas created: [echo] ----------------------------- [echo] Component Status Logfile [echo] Common Infrastructure Services Success /u01/wcs-wls-docker-install/work/rcu/RCU2024-10-07_12-48_1569219683/logs/stb.log [echo] Oracle Platform Security Services Success /u01/wcs-wls-docker-install/work/rcu/RCU2024-10-07_12-48_1569219683/logs/opss.log [echo] WebCenter Sites Success /u01/wcs-wls-docker-install/work/rcu/RCU2024-10-07_12-48_1569219683/logs/wcsites.log [echo] Audit Services Success /u01/wcs-wls-docker-install/work/rcu/RCU2024-10-07_12-48_1569219683/logs/iau.log [echo] Audit Services Append Success /u01/wcs-wls-docker-install/work/rcu/RCU2024-10-07_12-48_1569219683/logs/iau_append.log [echo] Audit Services Viewer Success /u01/wcs-wls-docker-install/work/rcu/RCU2024-10-07_12-48_1569219683/logs/iau_viewer.log [echo] WebLogic Services Success /u01/wcs-wls-docker-install/work/rcu/RCU2024-10-07_12-48_1569219683/logs/wls.log [echo] Repository Creation Utility - Create : Operation Completed [echo] [10/7/24, 12:49 PM] Successfully created schemas [echo] [10/7/24, 12:49 PM] 2nd phase: WebCenter Sites RCU configuration completed successfully. [echo] [10/7/24, 12:49 PM] Oracle WebCenter Sites Installation complete. You can connect to the WebCenter Sites instance at http://10.244.1.228:7002/sites/ Sites RCU Phase completed successfull!!! Sites Installation completed in 47 seconds. --------------------------------------------------------- The domain will be created using the script /u01/weblogic/create-domain-script.sh wlst.sh -skipWLSModuleScanning /u01/weblogic/createSitesDomain.py -oh /u01/oracle -jh /u01/jdk -parent /u01/oracle/user_projects/domains/wcsitesinfra/.. -name wcsitesinfra -user weblogic -password Welcome1 -rcuDb shivaoke-3.subnet1bom1.devcec02bom.oraclevcn.com:1521/orcl.subnet1bom1.devcec02bom.oraclevcn.com -rcuPrefix wcsk8s1 -rcuSchemaPwd Welcome1 -adminListenPort 7001 -adminName adminserver -managedNameBase wcsites-server -managedServerPort 7103 -prodMode true -secureMode false -managedServerCount 3 -clusterName wcsites-cluster -exposeAdminT3Channel false -t3ChannelPublicAddress 100.69.176.148 -t3ChannelPort 30012 -sslEnabled false -adminServerSSLPort 7002 -managedServerSSLPort 7104 -domainType wcsites -adminAdministrationPort 9002 -managedServerAdministrationPort 9111 -machineName wcsites_machine Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands Creating Admin Server... Creating cluster... Creating Node Managers... managed server name is wcsites-server1 managed server name is wcsites-server2 managed server name is wcsites-server3 ['wcsites-server1', 'wcsites-server2', 'wcsites-server3'] Will create Base domain at /u01/oracle/user_projects/domains/wcsitesinfra Writing base domain... Base domain created at /u01/oracle/user_projects/domains/wcsitesinfra Extending domain at /u01/oracle/user_projects/domains/wcsitesinfra Database shivaoke-3.subnet1bom1.devcec02bom.oraclevcn.com:1521/orcl.subnet1bom1.devcec02bom.oraclevcn.com ExposeAdminT3Channel false with 100.69.176.148:30012 Applying JRF templates... Extension Templates added Applying WCSITES templates... Extension Templates added INFO: deleting wcsites_server1 INFO: deleted wcsites_server1 Configuring the Service Table DataSource... fmwDb...jdbc:oracle:thin:@shivaoke-3.subnet1bom1.devcec02bom.oraclevcn.com:1521/orcl.subnet1bom1.devcec02bom.oraclevcn.com Set user...wcsk8s1_OPSS Set user...wcsk8s1_IAU_APPEND Set user...wcsk8s1_IAU_VIEWER Set user...wcsk8s1_STB Set user...wcsk8s1_WCSITES Getting Database Defaults... Targeting Server Groups... Targeting Server Groups... Set CoherenceClusterSystemResource to defaultCoherenceCluster for server:wcsites-server1 Set CoherenceClusterSystemResource to defaultCoherenceCluster for server:wcsites-server2 Set CoherenceClusterSystemResource to defaultCoherenceCluster for server:wcsites-server3 Targeting Cluster ... Set CoherenceClusterSystemResource to defaultCoherenceCluster for cluster:wcsites-cluster Set WLS clusters as target of defaultCoherenceCluster:[wcsites-cluster] Preparing to update domain... Oct 07, 2024 12:50:27 PM oracle.security.jps.az.internal.runtime.policy.AbstractPolicyImpl initializeReadStore INFO: Property for read store in parallel: oracle.security.jps.az.runtime.readstore.threads = null Domain updated successfully Copying /u01/weblogic/server-config-update.sh to PV /u01/oracle/user_projects/domains/wcsitesinfra Copying /u01/weblogic/unicast.py to PV /u01/oracle/user_projects/domains/wcsitesinfra replacing tokens in /u01/oracle/user_projects/domains/wcsitesinfra/server-config-update.sh Successfully Completed
WebCenter Sitesドメインの初期化
ドメインを起動するには、前述のdomain.yaml
を適用します:
```bash
$ kubectl apply -f kubernetes/create-wcsites-domain/output/weblogic-domains/wcsitesinfra/domain.yaml
domain.weblogic.oracle/wcsitesinfra created
cluster.weblogic.oracle/wcsitesinfra-wcsites-cluster created
```
WebCenter Sitesドメインの検証
ドメイン、サーバー・ポッドおよびサービスが作成され、READY状態であることを確認します:
サンプル実行は次のとおりです:
-bash-4.2$ kubectl get pods -n wcsites-ns -w
NAME READY STATUS RESTARTS AGE
wcsitesinfra-create-fmw-infra-sample-domain-job-6x8cg 0/1 Completed 0 12m
wcsitesinfra-introspector-s56gz 1/1 Running 0 20s
wcsitesinfra-introspector-s56gz 0/1 Completed 0 51s
wcsitesinfra-introspector-s56gz 0/1 Completed 0 53s
wcsitesinfra-introspector-s56gz 0/1 Terminating 0 54s
wcsitesinfra-adminserver 0/1 Pending 0 0s
wcsitesinfra-adminserver 0/1 Pending 0 0s
wcsitesinfra-adminserver 0/1 Init:0/1 0 0s
wcsitesinfra-adminserver 0/1 Init:0/1 0 2s
wcsitesinfra-adminserver 0/1 PodInitializing 0 12s
wcsitesinfra-adminserver 0/1 Running 0 13s
wcsitesinfra-adminserver 0/1 Running 1 (0s ago) 87s
wcsitesinfra-adminserver 1/1 Running 1 (3m4s ago) 4m31s
wcsitesinfra-wcsites-server1 0/1 Pending 0 0s
wcsitesinfra-wcsites-server1 0/1 Pending 0 0s
wcsitesinfra-wcsites-server1 0/1 Init:0/1 0 0s
wcsitesinfra-wcsites-server1 0/1 Init:0/1 0 1s
wcsitesinfra-wcsites-server1 0/1 PodInitializing 0 12s
wcsitesinfra-wcsites-server1 0/1 Running 0 13s
wcsitesinfra-wcsites-server1 0/1 Running 1 (1s ago) 87s
wcsitesinfra-wcsites-server1 1/1 Running 1 (4m19s ago) 5m45s
-bash-4.2$ kubectl get all -n wcsites-ns
NAME READY STATUS RESTARTS AGE
pod/wcsitesinfra-adminserver 1/1 Running 1 (11m ago) 13m
pod/wcsitesinfra-create-fmw-infra-sample-domain-job-6x8cg 0/1 Completed 0 25m
pod/wcsitesinfra-wcsites-server1 1/1 Running 1 (7m10s ago) 8m36s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/wcsitesinfra-adminserver ClusterIP None <none> 7001/TCP 13m
service/wcsitesinfra-cluster-wcsites-cluster ClusterIP 10.96.46.39 <none> 7103/TCP 8m36s
service/wcsitesinfra-wcsites-server1 ClusterIP None <none> 7103/TCP 8m36s
NAME COMPLETIONS DURATION AGE
job.batch/wcsitesinfra-create-fmw-infra-sample-domain-job 1/1 2m2s 25m
NAME AGE
domain.weblogic.oracle/wcsitesinfra 14m
NAME AGE
cluster.weblogic.oracle/wcsitesinfra-wcsites-cluster 14m
管理および管理対象サーバー・ログを表示するには、ポッド・ログを確認します:
$ kubectl logs -f wcsitesinfra-adminserver -n wcsites-ns
$ kubectl exec -it wcsitesinfra-adminserver -n wcsites-ns -- /bin/bash
$ kubectl logs -f wcsitesinfra-wcsites-server1 -n wcsites-ns
$ kubectl exec -it wcsitesinfra-wcsites-server1 -n wcsites-ns -- /bin/bash
ポッドの検証
サーバーを実行しているポッドを表示するには、次のコマンドを使用します:
$ kubectl get pods -n NAMESPACE
次に、このコマンドの出力例を示します:
-bash-4.2$ kubectl get pods -n wcsites-ns
NAME READY STATUS RESTARTS AGE
wcsitesinfra-adminserver 1/1 Running 1 (12m ago) 13m
wcsitesinfra-create-fmw-infra-sample-domain-job-6x8cg 0/1 Completed 0 26m
wcsitesinfra-wcsites-server1 1/1 Running 1 (7m50s ago) 9m16s
サービスの検証
ドメインのサービスを表示するには、次のコマンドを使用します:
$ kubectl get services -n NAMESPACE
次に、このコマンドの出力例を示します:
-bash-4.2$ kubectl get services -n wcsites-ns
NAME READY STATUS RESTARTS AGE
wcsitesinfra-adminserver 1/1 Running 0 7m38s
wcsitesinfra-create-fmw-infra-sample-domain-job-6l7zh 0/1 Completed 0 23m
wcsitesinfra-wcsites-server1 1/1 Running 0 5m50s
WebCenter Sitesサービスの公開
次に、すべてのWebCenter Sites管理対象サーバーに必要なサービスを公開するためのデフォルト値を示します。いずれかの値が変更された場合はリセットします。
kubernetes/create-wcsites-domain/utils/wcs-services.yaml
の詳細:
- 名前: wcsitesinfra-wcsites-server1-np
- ネームスペース: wcsites-ns
- weblogic.domainUID: wcsitesinfra
- weblogic.serverName: wcsites_server1
- NodePortポート: NONSSLのデフォルト値は7103です。SSL/E2ESSLの場合は7104に更新します。
次のコマンドを実行してサービスを公開します: (ドメインが3台を超える管理対象サーバー用に構成されている場合は、追加のサーバー用にサービスyamlを追加します。)
$ kubectl apply -f kubernetes/create-wcsites-domain/utils/wcs-services.yaml
service/wcsitesinfra-wcsites-server1-np created
service/wcsitesinfra-wcsites-server1-svc created
service/wcsitesinfra-wcsites-server2-svc created
service/wcsitesinfra-wcsites-server3-svc created
作成されたサービスを検証するには、このコマンドの出力例を次に示します:
-bash-4.2$ kubectl get services -n wcsites-ns
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
wcsitesinfra-adminserver ClusterIP None <none> 7001/TCP 14m
wcsitesinfra-cluster-wcsites-cluster ClusterIP 10.96.46.39 <none> 7103/TCP 10m
wcsitesinfra-wcsites-server1 ClusterIP None <none> 7103/TCP 10m
wcsitesinfra-wcsites-server1-np NodePort 10.96.201.245 <none> 7103:30966/TCP 18s
wcsitesinfra-wcsites-server1-svc ClusterIP None <none> 50000/TCP,50001/TCP,50002/TCP,50003/TCP,50004/TCP,50005/TCP,50006/TCP,50007/TCP,50008/TCP,50009/TCP 18s
wcsitesinfra-wcsites-server2-svc ClusterIP None <none> 50000/TCP,50001/TCP,50002/TCP,50003/TCP,50004/TCP,50005/TCP,50006/TCP,50007/TCP,50008/TCP,50009/TCP 18s
wcsitesinfra-wcsites-server3-svc ClusterIP None <none> 50000/TCP,50001/TCP,50002/TCP,50003/TCP,50004/TCP,50005/TCP,50006/TCP,50007/TCP,50008/TCP,50009/TCP 18s
イングレス・コントローラまたはWebサーバーを使用したロード・バランス
Kubernetesクラスタで実行されているWebLogicドメインのロード・バランサ・プロバイダを選択できます。サポートされている各ロード・バランサの現在の機能および設定手順の詳細は、WebLogic Kubernetes Operatorロード・バランサのサンプルを参照してください。
K8SでWebCenter Sitesドメインを設定するためのロードバランサの設定方法の詳細は、次を参照してください:
Traefikの場合、K8SでのWebCenter SitesドメインのロードバランサTraefikの設定を参照してください
Nginxの場合、K8SでのWebCenter SitesドメインのロードバランサNginxの設定を参照してください
Apache webtierの場合、K8SでのWebCenter SitesドメインのロードバランサApache Webtierの設定を参照してください
WebCenter Sitesの構成
URL
http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-PORT}/sites/sitesconfigsetup
を押してWebCenter Sitesを構成しますインストール時に、インストールするサンプル・サイトを選択し、必要なパスワードを入力します。sites-configの場所は変更しないでください。場所を変更すると、インストールは失敗します。
構成が完了した後、ドメインを編集し、管理対象サーバーを再起動します。
管理対象サーバーを停止するには:
$ kubectl patch cluster wcsitesinfra-wcsites-cluster -n wcsites-ns --type=merge -p '{"spec":{"replicas":0}}'
すべての構成済管理対象サーバーを起動するには:
$ kubectl patch cluster wcsitesinfra-wcsites-cluster -n wcsites-ns --type=merge -p '{"spec":{"replicas":3}}'
管理対象サーバー・ポッドが強制終了されるまで待機してから再起動します。次のコマンドを使用してモニターします:
-bash-4.2$ kubectl get pods -n wcsites-ns -w NAME READY STATUS RESTARTS AGE wcsitesinfra-adminserver 1/1 Running 0 111m wcsitesinfra-create-fmw-infra-sample-domain-job-6x8cg 0/1 Completed 0 126m wcsitesinfra-wcsites-server1 1/1 Running 0 3m7s wcsitesinfra-wcsites-server2 1/1 Running 0 3m7s wcsitesinfra-wcsites-server3 1/1 Running 0 3m7s
WebCenter Sitesプロパティ管理の設定
Traefikロード・バランサの場合: プロパティ管理ツールを使用し、cookieserver.validnames
プロパティを値JSESSIONID,sticky
で更新します。
Nginxロード・バランサの場合: プロパティ管理ツールを使用し、cookieserver.validnames
プロパティを値JSESSIONID,stickyid
で更新します。
WebCenter Sitesでの公開設定
公開先の構成中に、次のコマンドを実行して確認できるターゲット・クラスタのNodePort port
を使用します:
(この例の公開では、ポート30155
を使用する必要があります。)
-bash-4.2$ kubectl get service/wcsitesinfra-wcsites-server1-np -n wcsites-ns
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
wcsitesinfra-wcsites-server1-np NodePort 10.96.201.245 <none> 7103:30966/TCP 18m
カスタマイズ
顧客固有のカスタマイズ(extend.sites.webapp-lib.war)は、ドメイン・マウント・パス内のsite-homeディレクトリに配置する必要があります。
管理ガイド
Oracle WebCenter Sitesドメインを管理するための一般的なユーティリティ・ツールおよび構成の一部の使用方法について説明します。
ロード・バランサの設定
Oracle WebLogic Server Kubernetes Operatorは、TraefikおよびNGINX (kubernetes/ingress-nginx)などのイングレスベースのロード・バランサをサポートしています。また、Apache Webtierロード・バランサもサポートしています。
Traefik
この項では、Oracle WebCenter Sitesドメイン・クラスタをロード・バランシングするために、イングレスベースのTraefikロード・バランサ(本番デプロイメントではバージョン2.2.1以上)をインストールおよび構成する方法について説明します。アプリケーションURLの非SSL、SSL終端およびエンドツーエンドSSLアクセスに対してTraefikを構成できます。
これらのステップに従い、TraefikをKubernetesクラスタ内のOracle WebCenter Sitesドメインのロード・バランサとして設定します:
- Traefik (イングレスベース)ロード・バランサのインストール
- ドメインのイングレスの作成
- アプリケーションURLアクセスの検証
- Traefikイングレスのアンインストール
- Traefikのアンインストール
Traefik (イングレスベース)ロード・バランサのインストール
Helmを使用して、Traefik (イングレスベース)ロード・バランサをインストールします。サンプルでは
values.yaml
ファイルを使用しますが、具体的にはkubernetes.namespaces
を設定します。$ cd ${WORKDIR} $ kubectl create namespace traefik $ helm repo add traefik https://helm.traefik.io/traefik --force-update
サンプル出力:
"traefik" has been added to your repositories
Traefikのインストール:
$ helm install traefik traefik/traefik \ --namespace traefik \ --values charts/traefik/values.yaml \ --set "kubernetes.namespaces={traefik}" \ --set "service.type=NodePort" --wait
{{%expand “サンプル出力を表示するにはここをクリックしてください。” %}}
LAST DEPLOYED: Sun Sep 13 21:32:00 2024 NAMESPACE: traefik STATUS: deployed REVISION: 1 TEST SUITE: None
Traefikのデプロイメント用のサンプル
values.yaml
:image: name: traefik pullPolicy: IfNotPresent ingressRoute: dashboard: enabled: true # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) annotations: {} # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) labels: {} providers: kubernetesCRD: enabled: true kubernetesIngress: enabled: true # IP used for Kubernetes Ingress endpoints ports: traefik: port: 9000 expose: true # The exposed port for this service exposedPort: 9000 # The port protocol (TCP/UDP) protocol: TCP web: port: 8000 # hostPort: 8000 expose: true exposedPort: 30305 nodePort: 30305 # The port protocol (TCP/UDP) protocol: TCP # Use nodeport if set. This is useful if you have configured Traefik in a # LoadBalancer # nodePort: 32080 # Port Redirections # Added in 2.2, you can make permanent redirects via entrypoints. # https://docs.traefik.io/routing/entrypoints/#redirection # redirectTo: websecure websecure: port: 8443 # # hostPort: 8443 expose: true exposedPort: 30443 # The port protocol (TCP/UDP) protocol: TCP nodePort: 30443
Traefikステータスを検証し、SSLおよび非SSLサービスのポート番号を確認します:
$ kubectl get all -n traefik NAME READY STATUS RESTARTS AGE pod/traefik-5fc4947cf9-fbl9r 1/1 Running 5 7d17h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/traefik NodePort 10.100.195.70 <pending> 80:30305/TCP,443:30443/TCP 7d17h NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/traefik 1/1 1 1 7d17h NAME DESIRED CURRENT READY AGE replicaset.apps/traefik-5fc4947cf9 1 1 1 7d17h
HTTPホスト
traefik.example.com
を使用して、URLhttp://<MASTERNODE-HOSTNAME>:30305
からTraefikダッシュボードにアクセスします。$ curl -H "host: <MASTERNODE-HOSTNAME>" http://<MASTERNODE-HOSTNAME>:30305/dashboard/
ノート:
<MASTERNODE-HOSTNAME>
の完全修飾ノード名を指定してくださいTraefikを構成して、このネームスペースで作成されたイングレスを管理します。
traefik
はTraefikネームスペース、wcsites-ns
はドメインのネームスペースです:
$ helm upgrade traefik traefik/traefik --namespace traefik --reuse-values \
--set "kubernetes.namespaces={traefik,wcsites-ns}"
Release "traefik" has been upgraded. Happy Helming!
NAME: traefik
LAST DEPLOYED: Sun Sep 13 21:32:12 2020
NAMESPACE: traefik
STATUS: deployed
REVISION: 2
TEST SUITE: None
ドメインのイングレスの作成
サンプルのHelmチャートを使用して、ドメイン・ネームスペースにドメインのイングレスを作成します。ここでは、イングレスにパスベースのルーティングが使用されます。デフォルト構成のサンプル値は、ファイル${WORKDIR}/charts/ingress-per-domain/values.yaml
に表示されています。デフォルトでは、type
はTRAEFIK
、sslType
はNONSSL
、domainType
はwcs
です。これらの値は、コマンドラインで値を渡すことによってオーバーライドすることも、構成のタイプ(NONSSL、SSLおよびE2ESSL)に基づいてサンプル・ファイルvalues.yaml
で編集することもできます。
必要に応じて、イングレスYAMLファイルを更新して、アクセスする必要があるドメイン・アプリケーションURLに基づいて(spec.rules.host.http.paths
の項で)より多くのパス・ルールを定義できます。Traefik (イングレスベース)ロード・バランサのテンプレートYAMLファイルは、${WORKDIR}/charts/ingress-per-domain/templates/traefik-ingress.yaml
にあります。
Oracle WebCenter Sitesドメイン・アプリケーションURLにアクセスするための適切な
LOADBALANCER_HOSTNAME
を選択します。$ export LOADBALANCER_HOSTNAME=<LOADBALANCER_HOSTNAME>
たとえば、マスター・ノード端末からコマンドを実行する場合、マスター・ホスト名は
LOADBALANCER_HOSTNAME
です:$ export LOADBALANCER_HOSTNAME=$(hostname -f)
NONSSL
構成にHelmを使用してingress-per-domain
をインストールします:$ cd ${WORKDIR} $ helm install wcsitesinfra-ingress \ \ charts/ingress-per-domain --namespace wcsites-ns \ --values charts/ingress-per-domain/values.yaml \ --set "traefik.hostname=${LOADBALANCER_HOSTNAME}"
サンプル出力:
NAME: wcsitesinfra-ingress LAST DEPLOYED: Mon Jul 20 11:44:13 2024 NAMESPACE: wcsites-ns STATUS: deployed REVISION: 1 TEST SUITE: None
Oracle WebCenter Sitesアプリケーションへのセキュアなアクセス(
SSL
終端およびE2ESSL
)の場合は、証明書を作成し、Kubernetesシークレットを生成します:$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/tls1.key -out /tmp/tls1.crt -subj "/CN=*" $ kubectl -n wcsites-ns create secret tls wcs-tls-cert --key /tmp/tls1.key --cert /tmp/tls1.crt
Traefik TLSStoreカスタム・リソースを作成します。
SSL終端の場合は、ユーザー定義のSSL証明書を使用するようにTraefikを構成する必要があります。ユーザー定義のSSL証明書が構成されていない場合、TraefikはデフォルトのSSL証明書を作成します。Traefikのユーザー定義SSL証明書を構成するには、TLSStoreカスタム・リソースを使用します。SSL証明書で作成されたKubernetesシークレットは、TLSStoreオブジェクトで参照する必要があります。次のコマンドを実行して、TLSStoreを作成します:
$ cat <<EOF | kubectl apply -f - apiVersion: traefik.containo.us/v1alpha1 kind: TLSStore metadata: name: default namespace: wcsites-ns spec: defaultCertificate: secretName: wcs-tls-cert EOF
SSL
構成にHelmを使用してingress-per-domain
をインストールします。$ cd ${WORKDIR} $ helm install wcsitesinfra-ingress \ \ charts/ingress-per-domain --namespace wcsites-ns \ --values charts/ingress-per-domain/values.yaml \ --set "traefik.hostname=${LOADBALANCER_HOSTNAME}" \ --set sslType=SSL
サンプル出力:
NAME: wcsitesinfra-ingress LAST DEPLOYED: Mon Jul 20 11:44:13 2020 NAMESPACE: wcsites-ns STATUS: deployed REVISION: 1 TEST SUITE: None
E2ESSL
構成にHelmを使用してingress-per-domain
をインストールします。ノート:
E2ESSL
構成を使用するには、sslEnabled
がtrue
に設定されたOracle WebCenter Sitesドメインを作成しておく必要があります。詳細は、「Oracle WebCenter Sitesドメインの作成」を参照してください。$ cd ${WORKDIR} $ helm install wcsitesinfra-ingress \ \ charts/ingress-per-domain --namespace wcsites-ns \ --values charts/ingress-per-domain/values.yaml \ --set sslType=E2ESSL
サンプル出力:
NAME: wcsitesinfra-ingress LAST DEPLOYED: Fri Apr 9 09:47:27 2021 NAMESPACE: wcsites-ns STATUS: deployed REVISION: 1 TEST SUITE: None
Oracle WebCenter SitesアプリケーションへのNONSSLアクセスの場合は、イングレスによってサービスの詳細を取得します:
$ kubectl describe ingress wcsitesinfra-traefik -n wcsites-ns Name: wcsitesinfra-traefik Labels: app.kubernetes.io/managed-by=Helm weblogic.resourceVersion=domain-v2 Namespace: wcsites-ns Address: Ingress Class: <none> Default backend: <default> Rules: Host Path Backends ---- ---- -------- www.example.com /console wcsitesinfra-adminserver:7001 (10.244.3.138:7001) /em wcsitesinfra-adminserver:7001 (10.244.3.138:7001) /wls-exporter wcsitesinfra-adminserver:7001 (10.244.3.138:7001) /weblogic wcsitesinfra-adminserver:7001 (10.244.3.138:7001) /sbconsole wcsitesinfra-adminserver:7001 (10.244.3.138:7001) /management wcsitesinfra-adminserver:7001 (10.244.3.138:7001) /testconsole wcsitesinfra-adminserver:7001 (10.244.3.138:7001) /sites wcsitesinfra-cluster-wcsites-cluster:7103 (10.244.1.230:7103) /cas wcsitesinfra-cluster-wcsites-cluster:7103 (10.244.1.230:7103) /wls-exporter wcsitesinfra-cluster-wcsites-cluster:7103 (10.244.1.230:7103) Annotations: kubernetes.io/ingress.class: traefik meta.helm.sh/release-name: wcsitesinfra-ingress meta.helm.sh/release-namespace: wcsites-ns traefik.ingress.kubernetes.io/router.middlewares: wcsites-ns-custom-header@kubernetescrd Events: <none>
Oracle WebCenter SitesアプリケーションへのSSLアクセスの場合は、前述のデプロイ済イングレスによってサービスの詳細を取得します:
$ kubectl describe ingress wcsitesinfra-traefik -n wcsites-ns
Oracle WebCenter SitesアプリケーションへのE2ESSLアクセスの場合は、前述のデプロイ済イングレスによってサービスの詳細を取得します:
$ kubectl describe IngressRouteTCP wcsitesinfra-traefik -n wcsites-ns
ロード・バランサが新しいイングレスを認識し、ドメイン・サーバー・ポッドへのルーティングに成功したことを確認するには、次のように、HTTP 200ステータス・コードを返すWebLogic ReadyAppフレームワークのURLにリクエストを送信できます:
bash $ curl -v http://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_PORT}/weblogic/ready * Trying 149.87.129.203... > GET http://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_PORT}/weblogic/ready HTTP/1.1 > User-Agent: curl/7.29.0 > Accept: */* > Proxy-Connection: Keep-Alive > host: ${LOADBALANCER_HOSTNAME} > < HTTP/1.1 200 OK < Date: Sat, 14 Mar 2020 08:35:03 GMT < Vary: Accept-Encoding < Content-Length: 0 < Proxy-Connection: Keep-Alive < * Connection #0 to host localhost left intact
アプリケーションURLアクセスの検証
NONSSL構成の場合
Traefikロードバランサを設定した後、ドメイン・アプリケーションがロードバランサ・ポート30305を介してアクセス可能であることを確認します。ロード・バランサ(Traefik port 30305)
を介して、WebCenter Sitesドメイン・タイプのドメインを設定するために次のURLを使用できます:
http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-PORT}/weblogic/ready
http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-PORT}/console
http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-PORT}/em
http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-PORT}/sites/version.jsp
SSL構成の場合
Traefik (イングレスベース)ロード・バランサを設定した後、ドメイン・アプリケーションがHTTPSアクセスのSSLロード・バランサ・ポート30443
を介してアクセス可能であることを確認します。タイプがwcs
のOracle WebCenter SitesドメインのサンプルURLは次のとおりです:
https://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_SSLPORT}/weblogic/ready
https://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_SSLPORT}/console
https://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_SSLPORT}/em
https://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_SSLPORT}/sites/version.jsp
E2ESSL構成の場合
Traefik (イングレスベース)ロード・バランサを設定した後、ドメイン・アプリケーションがHTTPSアクセスのSSLロード・バランサ・ポート30443
を介してアクセス可能であることを確認します。
ブラウザからアプリケーションURLにアクセスするには、ブラウザ・ホスト(Windowsの場合、
C:\Windows\System32\Drivers\etc\hosts
)の/etc/hosts
を次のエントリで更新しますX.X.X.X admin.domain.org X.X.X.X wcsites.domain.org
ノート: X.X.X.Xの値は、このイングレスがデプロイされているホストIPアドレスです。
ノート: 企業プロキシの背後にある場合は、ブラウザのプロキシ設定を適切に更新して、更新されたホスト名
/etc/hosts
ファイルにアクセスしてください。
タイプがwcs
のOracle WebCenter SitesドメインのサンプルURLは次のとおりです:
https://admin.domain.org:${LOADBALANCER_SSLPORT}/weblogic/ready
https://admin.domain.org:${LOADBALANCER_SSLPORT}/console
https://admin.domain.org:${LOADBALANCER_SSLPORT}/em
https://wcsites.domain.org:${LOADBALANCER_SSLPORT}/sites/version.jsp
Traefikイングレスのアンインストール
イングレス・デプロイメントをアンインストールおよび削除します:
$ helm delete wcsitesinfra-ingress -n wcsites-ns
Traefikのアンインストール
$ helm delete traefik -n traefik
NGINX
この項では、Oracle WebCenter Sitesドメイン・クラスタをロード・バランシングするためのイングレスベースのNGINXロード・バランサのインストールおよび構成方法について説明します。アプリケーションURLの非SSL、SSL終端およびエンドツーエンドSSLアクセスに対してNGINXを構成できます。
これらのステップに従い、NGINXをKubernetesクラスタ内のOracle WebCenter Sitesドメインのロード・バランサとして設定します:
前提条件は、公式のインストール・ドキュメントを参照してください。
- 非SSLおよびSSL終端構成用のNGINXロード・バランサのインストール
- SSLアクセス用のシークレットの生成
- エンドツーエンドSSL構成用のNGINXロード・バランサのインストール
- イングレスを管理するためのNGINXの構成
- ドメイン・アプリケーションURLアクセスの検証
- NGINXイングレスのアンインストール
- NGINXのアンインストール
リポジトリ情報を取得するには、次のHelmコマンドを入力します:
$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
$ helm repo update
非SSLおよびSSL終端構成用のNGINXロード・バランサのインストール
ドメイン・ネームスペースでHelmを使用して、
ingress-nginx
コントローラをデプロイします:$ helm install nginx-ingress -n wcsites-ns \ --set controller.service.type=NodePort \ --set controller.admissionWebhooks.enabled=false \ --set controller.service.nodePorts.http=30305 \ ingress-nginx/ingress-nginx
SSLアクセス用のシークレットの生成
Oracle WebCenter Sitesアプリケーションへのセキュアなアクセス(SSLおよびE2ESSL)の場合は、証明書を作成し、シークレットを生成します:
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/tls1.key -out /tmp/tls1.crt -subj "/CN=domain1.org" $ kubectl -n wcsites-ns create secret tls wcs-tls-cert --key /tmp/tls1.key --cert /tmp/tls1.crt
ノート:
CN
の値は、このイングレスをデプロイするホストであり、シークレット名は<domainUID>-tls-certである必要があります。
エンドツーエンドSSL構成用のNGINXロード・バランサのインストール
ドメイン・ネームスペースでHelmを使用して、ingress-nginxコントローラをデプロイします:
$ helm install nginx-ingress -n wcsites-ns \ --set controller.extraArgs.default-ssl-certificate=wcsites-ns/wcs-tls-cert \ --set controller.service.type=NodePort \ --set controller.admissionWebhooks.enabled=false \ --set controller.extraArgs.enable-ssl-passthrough=true \ ingress-nginx/ingress-nginx
デプロイされたイングレス・コントローラのステータスを確認します:
$ kubectl --namespace wcsites-ns get services | grep ingress-nginx-controller
サンプル出力:
nginx-ingress-ingress-nginx-controller NodePort 10.106.186.235 <none> 80:30305/TCP,443:30443/TCP 19m
イングレスを管理するためのNGINXの構成
Oracle WebCenter Sitesドメイン・アプリケーションURLにアクセスするための適切な
LOADBALANCER_HOSTNAME
を選択します。$ export LOADBALANCER_HOSTNAME=<LOADBALANCER_HOSTNAME>
たとえば、マスター・ノード端末からコマンドを実行する場合、マスター・ホスト名は
LOADBALANCER_HOSTNAME
です:$ export LOADBALANCER_HOSTNAME=$(hostname -f)
サンプルのHelmチャートを使用して、ドメイン・ネームスペースにドメインのイングレスを作成します。ここでは、イングレスにパスベースのルーティングが使用されます。デフォルト構成のサンプル値は、ファイル
${WORKDIR}/charts/ingress-per-domain/values.yaml
に表示されています。デフォルトでは、type
はTRAEFIK
、sslType
はNONSSL
、domainType
はwcs
です。これらの値は、コマンドラインで値を渡すことによってオーバーライドすることも、サンプル・ファイルvalues.yaml
で編集することもできます。
必要に応じて、イングレスYAMLファイルを更新して、アクセスする必要があるドメイン・アプリケーションURLに基づいて(spec.rules.host.http.paths
の項で)より多くのパス・ルールを定義できます。${WORKDIR}/charts/ingress-per-domain/templates/nginx-ingress.yaml
にあるNGINXロード・バランサのテンプレートYAMLファイルを更新します。$ cd ${WORKDIR} $ helm install wcsitesinfra-ingress charts/ingress-per-domain \ --namespace wcsites-ns \ --values charts/ingress-per-domain/values.yaml \ --set "nginx.hostname=${LOADBALANCER_HOSTNAME}" \ --set type=NGINX
サンプル出力:
NAME: wcsitesinfra-ingress LAST DEPLOYED: Fri Jul 24 09:34:03 2020 NAMESPACE: wcsites-ns STATUS: deployed REVISION: 1 TEST SUITE: None
SSL終端構成にHelmを使用して
ingress-per-domain
をインストールします:$ cd ${WORKDIR} $ helm install wcsitesinfra-ingress charts/ingress-per-domain \ --namespace wcsites-ns \ --values charts/ingress-per-domain/values.yaml \ --set "nginx.hostname=${LOADBALANCER_HOSTNAME}" \ --set type=NGINX --set sslType=SSL
サンプル出力:
NAME: wcsitesinfra-ingress LAST DEPLOYED: Fri Jul 24 09:34:03 2020 NAMESPACE: wcsites-ns STATUS: deployed REVISION: 1 TEST SUITE: None
E2ESSL
構成にHelmを使用してingress-per-domain
をインストールします。ノート:
E2ESSL
構成を使用するには、sslEnabled
がtrue
に設定されたOracle WebCenter Sitesドメインを作成しておく必要があります。「Oracle WebCenter Sitesドメインの作成」を参照してください。$ cd ${WORKDIR} $ helm install wcsitesinfra-ingress charts/ingress-per-domain \ --namespace wcsites-ns \ --values charts/ingress-per-domain/values.yaml \ --set type=NGINX --set sslType=E2ESSL
サンプル出力:
NAME: wcsitesinfra-ingress LAST DEPLOYED: Fri Jul 24 09:34:03 2020 NAMESPACE: wcsites-ns STATUS: deployed REVISION: 1 TEST SUITE: None
ドメイン・アプリケーションURLアクセスの検証
NONSSL構成
コマンドを使用して、NGINXの
LOADBALANCER_NON_SSLPORT
NodePortを取得します:$ LOADBALANCER_NON_SSLPORT=$(kubectl --namespace wcsites-ns get services -o jsonpath="{.spec.ports[0].nodePort}" nginx-ingress-ingress-nginx-controller) $ echo ${LOADBALANCER_NON_SSLPORT}
Oracle WebCenter Sitesドメイン・アプリケーションURLが
LOADBALANCER_NON_SSLPORT
を介してアクセス可能であることを検証します:http://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_NON_SSLPORT}/weblogic/ready http://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_NON_SSLPORT}/console http://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_NON_SSLPORT}/em http://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_NON_SSLPORT}/sites/version.jsp
SSL構成
コマンドを使用して、NGINXの
LOADBALANCER_SSLPORT
NodePortを取得します:$ LOADBALANCER_SSLPORT=$(kubectl --namespace wcsites-ns get services -o jsonpath="{.spec.ports[1].nodePort}" nginx-ingress-ingress-nginx-controller) $ echo ${LOADBALANCER_SSLPORT}
Oracle WebCenter Sitesドメイン・アプリケーションURLが
LOADBALANCER_SSLPORT
を介してアクセス可能であることを検証します:https://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_SSLPORT}/weblogic/ready https://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_SSLPORT}/console https://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_SSLPORT}/em https://${LOADBALANCER_HOSTNAME}:${LOADBALANCER_SSLPORT}/sites/version.jsp
E2ESSL構成
リモート・ブラウザからWebCenter Sitesドメイン・アプリケーションURLにアクセスするには、イングレスがデプロイされているホストのIPアドレスを使用して、ブラウザ・ホスト構成ファイル
/etc/hosts
(Windowsの場合、C:\Windows\System32\Drivers\etc\hosts
)を次のエントリで更新します:X.X.X.X admin.domain.org X.X.X.X wcsites.domain.org
ノート:
- X.X.X.X値は、このイングレスがデプロイされているホストIPアドレスです。
- 企業プロキシの背後にある場合は、ブラウザのプロキシ設定を適切に更新して、更新されたホスト名
/etc/hosts
ファイルにアクセスしてください。
コマンドを使用して、NGINXの
LOADBALANCER_SSLPORT
NodePortを取得します:$ LOADBALANCER_SSLPORT=$(kubectl --namespace wcsites-ns get services -o jsonpath="{.spec.ports[1].nodePort}" nginx-ingress-ingress-nginx-controller) $ echo ${LOADBALANCER_SSLPORT}
Oracle WebCenter Sitesドメイン・アプリケーションURLが
LOADBALANCER_SSLPORT
を介してアクセス可能であることを検証します:https://admin.domain.org:${LOADBALANCER_SSLPORT}/weblogic/ready https://admin.domain.org:${LOADBALANCER_SSLPORT}/console https://admin.domain.org:${LOADBALANCER_SSLPORT}/em https://wcsites.domain.org:${LOADBALANCER_SSLPORT}/sites/version.jsp
ノート: これはデフォルトのホスト名です。
values.yaml
でホスト名を更新した場合は、更新された値を使用します。
NGINXイングレスのアンインストール
wcsitesinfra-ingress
デプロイメントをアンインストールおよび削除します:
$ helm uninstall wcsitesinfra-ingress -n wcsites-ns
NGINXのアンインストール
$ helm uninstall nginx-ingress -n wcsites-ns
Apache Webtier
この項では、Oracle WebCenter Sitesドメイン・クラスタをロード・バランシングするためのApache Webtierのインストールおよび構成方法について説明します。アプリケーションURLの非SSLおよびSSL終端アクセスに対してApache Webtierを構成できます。
これらのステップに従い、Apache WebtierをKubernetesクラスタ内のOracle WebCenter Sitesドメインのロード・バランサとして設定します:
- Apache Webtierイメージの構築
- Apacheプラグイン構成ファイルの作成
- 証明書および秘密キーの準備
- Apache Webtier Helmチャートのインストール
- ドメイン・アプリケーションURLアクセスの検証
- Apache Webtierのアンインストール
Apache Webtierイメージの構築
Apache Webtier Dockerイメージを構築するには、サンプルを参照してください。
Apacheプラグイン構成ファイルの作成
custom_mod_wl_apache.conf
という名前の構成ファイルには、外部からアクセスできる必要があるドメインにデプロイされたOracle WebCenter SitesアプリケーションのすべてのURLルーティング・ルールが必要です。このファイルを環境に基づいた値で更新します。ファイル・コンテンツは、次のようになります。wcsドメインの構成ファイルcustom_mod_wl_apache.confのサンプル・コンテンツ
# Copyright (c) 2018, 2021, Oracle and/or its affiliates. # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. <IfModule mod_weblogic.c> WebLogicHost ${WEBLOGIC_HOST} WebLogicPort 7001 </IfModule> # Directive for weblogic admin Console deployed on Weblogic Admin Server <Location /console> SetHandler weblogic-handler WebLogicHost wcsitesinfra-adminserver WebLogicPort 7001 </Location> <Location /em> SetHandler weblogic-handler WebLogicHost wcsitesinfra-adminserver WebLogicPort 7001 </Location> <Location /wls-exporter> SetHandler weblogic-handler WebLogicHost wcsitesinfra-adminserver WebLogicPort 7001 </Location> <Location /weblogic> SetHandler weblogic-handler WebLogicHost wcsitesinfra-adminserver WebLogicPort 7001 </Location> # Directive for all application deployed on weblogic cluster with a prepath defined by LOCATION variable # For example, if the LOCAITON is set to '/weblogic', all applications deployed on the cluster can be accessed via # http://myhost:myport/weblogic/application_end_url # where 'myhost' is the IP of the machine that runs the Apache webtier, and # 'myport' is the port that the Apache webtier is publicly exposed to. # Note that LOCATION cannot be set to '/' unless this is the only Location module configured. <Location /sites> WLSRequest On WebLogicCluster wcsitesinfra-cluster-wcsites-cluster:7103 PathTrim /weblogic1 </Location> <Location /cas> WLSRequest On WebLogicCluster wcsitesinfra-cluster-wcsites-cluster:7103 PathTrim /weblogic1 </Location> <Location /wls-exporter> WLSRequest On WebLogicCluster wcsitesinfra-cluster-wcsites-cluster:7103 PathTrim /weblogic1 </Location>
custom_mod_wl_apache.confの格納に使用できるPVおよびPVC (PV-claim-name)を作成します。PVまたはPVCの作成については、サンプルを参照してください。
証明書と秘密キーの準備
(SSL終端構成の場合のみ)次のコマンドを実行して、
openssl
を使用して独自の証明書および秘密キーを生成します。$ cd ${WORKDIR} $ cd charts/apache-samples/custom-sample $ export VIRTUAL_HOST_NAME=WEBLOGIC_HOST $ export SSL_CERT_FILE=WEBLOGIC_HOST.crt $ export SSL_CERT_KEY_FILE=WEBLOGIC_HOST.key $ sh certgen.sh
ノート: WEBLOGIC_HOSTを、Apache Webtierをインストールするホスト名に置き換えます。
証明書生成の出力
$ls certgen.sh custom_mod_wl_apache.conf custom_mod_wl_apache.conf_orig input.yaml README.md $ sh certgen.sh Generating certs for WEBLOGIC_HOST Generating a 2048 bit RSA private key ........................+++ .......................................................................+++ unable to write 'random state' writing new private key to 'apache-sample.key' ----- $ ls certgen.sh custom_mod_wl_apache.conf_orig WEBLOGIC_HOST.info config.txt input.yaml WEBLOGIC_HOST.key custom_mod_wl_apache.conf WEBLOGIC_HOST.crt README.md
Apache Webtier Helmチャートの入力値を準備します。
次のコマンドを実行して、Apache Webtier Helmチャートの入力値ファイルを準備します。
$ base64 -i ${SSL_CERT_FILE} | tr -d '\n' $ base64 -i ${SSL_CERT_KEY_FILE} | tr -d '\n' $ touch input.yaml
入力パラメータ・ファイル
charts/apache-samples/custom-sample/input.yaml
を更新します。サンプルinput.yamlファイルのスナップショット
$ cat apache-samples/custom-sample/input.yaml # Use this to provide your own Apache webtier configuration as needed; simply define this # Persistence Volume which contains your own custom_mod_wl_apache.conf file. persistentVolumeClaimName: <pv-claim-name> # The VirtualHostName of the Apache HTTP server. It is used to enable custom SSL configuration. virtualHostName: <WEBLOGIC_HOST> # The customer-supplied certificate to use for Apache webtier SSL configuration. # The value must be a string containing a base64 encoded certificate. Run following command to get it. # base64 -i ${SSL_CERT_FILE} | tr -d '\n' customCert: <cert_data> # The customer-supplied private key to use for Apache webtier SSL configuration. # The value must be a string containing a base64 encoded key. Run following command to get it. # base64 -i ${SSL_KEY_FILE} | tr -d '\n' customKey: <key_data>
Apache Webtier Helmチャートのインストール
指定した入力パラメータを使用して、Apache Webtier Helmチャートをドメイン・ネームスペース(たとえば、
wcsites-ns
)にインストールします:$ cd ${WORKDIR}/charts $ helm install apache-webtier --values apache-samples/custom-sample/input.yaml --namespace wcsites-ns apache-webtier --set image=oracle/apache:12.2.1.3
Apache Webtierのステータスを確認します:
$ kubectl get all -n wcsites-ns | grep apache
Apache Webtierのステータスのサンプル出力:
pod/apache-webtier-apache-webtier-65f69dc6bc-zg5pj 1/1 Running 0 22h service/apache-webtier-apache-webtier NodePort 10.108.29.98 <none> 80:30305/TCP,4433:30443/TCP 22h deployment.apps/apache-webtier-apache-webtier 1/1 1 1 22h replicaset.apps/apache-webtier-apache-webtier-65f69dc6bc 1 1 1 22h
ドメイン・アプリケーションURLアクセスの検証
Apache Webtierロード・バランサの実行後、ロード・バランサ・ポート30305/30443
を介してドメイン・アプリケーションにアクセス可能であることを確認します。タイプがwcs
のドメインのアプリケーションURLは次のとおりです:
ノート: ポート
30305
はLOADBALANCER-Non-SSLPORTで、ポート30443
はLOADBALANCER-SSLPORTです。
NONSSL構成
http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-Non-SSLPORT}/weblogic/ready
http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-Non-SSLPORT}/console
http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-Non-SSLPORT}/em
http://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-Non-SSLPORT}/sites/version.jsp
SSL構成
https://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-SSLPORT}/weblogic/ready
https://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-SSLPORT}/console
https://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-SSLPORT}/em
https://${LOADBALANCER-HOSTNAME}:${LOADBALANCER-SSLPORT}/sites/version.jsp
Apache Webtierのアンインストール
$ helm delete apache-webtier -n wcsites-ns
ドメインのモニターおよびログの公開
Oracle WebCenter Sitesドメインをモニターし、WebLogic ServerログをElasticsearchに公開します。
Oracle WebCenter Sitesドメインを設定した後、次のことができます:
PrometheusおよびGrafanaを使用してOracle WebCenter Sitesインスタンスをモニター
WebLogic Monitoring Exporter
を使用すると、実行中のOracle WebCenter Sitesインスタンスからランタイム情報をスクレイピングし、PrometheusおよびGrafanaを使用してモニターできます。
前提条件
このドキュメントでは、Prometheus OperatorがKubernetesクラスタにデプロイされていることを前提としています。まだデプロイされていない場合は、次のステップに従ってPrometheusオペレータをデプロイします。
kube-prometheusプロジェクトのクローン作成
$ git clone https://github.com/coreos/kube-prometheus.git
ノードのラベル付け
Kube-Prometheusでは、すべてのエクスポータ・ノードにkubernetes.io/os=linux
のラベルを付ける必要があります。ノードにラベルが付いていない場合は、次のコマンドを使用してラベル付けする必要があります:
$ kubectl label nodes --all kubernetes.io/os=linux
PrometheusおよびGrafanaリソースの作成
kube-prometheus
ディレクトリに変更し、次のコマンドを実行してネームスペースおよびCRDを作成します:
ノート: 各コマンドが処理されるまで1分間待機します。
$ cd kube-prometheus
$ kubectl create -f manifests/setup
$ until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done
$ kubectl create -f manifests/
外部アクセスの提供
Grafana、PrometheusおよびAlertmanagerに外部アクセスを提供するには、次のコマンドを実行します:
$ kubectl patch svc grafana -n monitoring --type=json -p '[{"op": "replace", "path": "/spec/type", "value": "NodePort" },{"op": "replace", "path": "/spec/ports/0/nodePort", "value": 32100 }]'
$ kubectl patch svc prometheus-k8s -n monitoring --type=json -p '[{"op": "replace", "path": "/spec/type", "value": "NodePort" },{"op": "replace", "path": "/spec/ports/0/nodePort", "value": 32101 }]'
$ kubectl patch svc alertmanager-main -n monitoring --type=json -p '[{"op": "replace", "path": "/spec/type", "value": "NodePort" },{"op": "replace", "path": "/spec/ports/0/nodePort", "value": 32102 }]'
ノート:
32100
はGrafanaの外部ポートです32101
はPrometheusの外部ポートです32102
はAlertmanagerの外部ポートです
WebLogic Monitoring Exporterの設定
WebLogic Serverメトリックを収集し、WebCenter SitesドメインをモニターするWebLogic Monitoring Exporterを設定します。
WebLogic Monitoring Exporterデプロイメント・パッケージの生成
リスニング・ポートは管理サーバーと管理対象サーバーで異なるため、2つのパッケージが必要です。管理サーバー(wls-exporter-as.war
)に1つのバイナリ、および管理対象クラスタ(wls-exporter-ms.war
)に1つのバイナリが必要です。必要なプロキシを設定し、スクリプトgetX.X.X.sh
を実行して2つのバイナリを生成します:
$ cd kubernetes/create-wcsites-domain/utils/weblogic-monitoring-exporter
$ sh get1.1.0.sh
出力:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 607 0 607 0 0 357 0 --:--:-- 0:00:01 --:--:-- 357
100 2016k 100 2016k 0 0 398k 0 0:00:05 0:00:05 --:--:-- 797k
-------------------wls-exporter-ms start-------------------
created /tmp/ci-GNysQzP1kv
Copying completed
/tmp/ci-GNysQzP1kv /kubernetes/create-wcsites-domain/utils/weblogic-monitoring-exporter
in temp dir
adding: WEB-INF/weblogic.xml (deflated 66%)
adding: config.yml (deflated 63%)
wls-exporter-ms.war is ready
-------------------wls-exporter-ms end-------------------
-------------------wls-exporter-as start-------------------
Copying completed
in temp dir
adding: WEB-INF/weblogic.xml (deflated 66%)
adding: config.yml (deflated 52%)
wls-exporter-as.war is ready
-------------------wls-exporter-as end-------------------
zip completed
kubernetes/3.3.0/create-wcsites-domain/utils/weblogic-monitoring-exporter
WARファイルのWebLogicドメイン・ホームへのコピー
wls-exporter-as.war
およびwls-exporter-ms.war
ファイルを管理サーバー・ポッドのドメイン・ホーム・ディレクトリにコピーします。
$ kubectl cp wls-exporter-as.war wcsites-ns/wcsitesinfra-adminserver:/u01/oracle/user_projects/domains/wcsitesinfra/
$ kubectl cp wls-exporter-ms.war wcsites-ns/wcsitesinfra-adminserver:/u01/oracle/user_projects/domains/wcsitesinfra/
WebLogic Monitoring Exporterのデプロイ
次のステップに従って、WebLogic Serverインスタンスにパッケージをデプロイします:
管理サーバーおよび管理対象サーバーで、Oracle Enterprise Managerを使用してWebLogic Monitoring Exporter (
wls-exporter-ms.war
)を個別にデプロイします。エクスポータWARをデプロイするサーバーを選択します:
アプリケーション名を設定します。管理サーバーと管理対象サーバーに別々にデプロイされている場合、アプリケーション名は異なる必要があります。両方のデプロイメントのコンテキスト・ルートが
wls-exporter
であることを確認します:
アプリケーションのインストールおよび起動をクリックします。
次に、WebLogic Monitoring Exporterアプリケーション(
wls-exporter-ms.war
)をデプロイします。変更をアクティブ化してアプリケーションを起動します。アプリケーションが起動され、ポートが公開されている場合は、このURL:
http://<server:port>/wls-exporter
を使用してWebLogic Monitoring Exporterコンソールにアクセスできます。wls-exporter-as.war
についても同じステップを繰り返します。
Prometheusオペレータの構成
Prometheusを使用すると、WebLogic Monitoring Exporterからメトリックを収集できます。Prometheusオペレータは、サービス検出を使用してターゲットを識別します。WebLogic Monitoring Exporterのエンド・ポイントをターゲットとして検出するには、サービスを指すサービス・モニターを作成する必要があります。
次のサンプル・サービス・モニター・デプロイメントYAML構成ファイルを参照してください
kubernetes/create-wcsites-domain/utils/weblogic-monitoring-exporter/wls-exporter.yaml
。
wls-exporterの場合はServiceMonitor
:
apiVersion: v1
kind: Secret
metadata:
name: basic-auth
namespace: monitoring
data:
password: V2VsY29tZTE= # Welcome1 i.e.'WebLogic password'
user: d2VibG9naWM= # weblogic i.e. 'WebLogic username'
type: Opaque
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: wls-exporter-wcsitesinfra
namespace: monitoring
labels:
k8s-app: wls-exporter
spec:
namespaceSelector:
matchNames:
- wcsites-ns
selector:
matchLabels:
weblogic.domainName: wcsitesinfra
endpoints:
- basicAuth:
password:
name: basic-auth
key: password
username:
name: basic-auth
key: user
port: default
relabelings:
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
interval: 10s
honorLabels: true
path: /wls-exporter/metrics
wls-exporter
からのメトリックのエクスポートにはbasicAuth
が必要であるため、base64でエンコードされたユーザー名とパスワードを使用してKubernetes Secret
が作成されます。このSecret
は、ServiceMonitor
デプロイメントで使用されます。
ユーザー名とパスワードに対してbase64でエンコードされた文字列を生成する場合は、エンコードされた文字列に改行文字が追加されているかどうかを確認します。この行の文字が原因で認証に失敗します。改行の文字列を回避するには、次の例を使用します:
$ echo -n "Welcome1" | base64
V2VsY29tZTE=
前述のwls-exporter
のデプロイメントYAML構成では、weblogic.domainName: wcsitesinfra
がspec.selector.matchLabels
のラベルとして使用されるため、サービス・モニターのすべてのサービスが選択されます。このラベルを使用しない場合は、サーバー名がspec.selector.matchLabels
の一致ラベルとして使用されている場合、サーバーごとに個別のサービス・モニターを作成する必要があります。これを行うと、Prometheusではデフォルトでwls-exporterで提供されているラベルを無視するため、構成のラベルを変更する必要があります。
デフォルトでは、Prometheusではターゲットによって提供されるすべてのラベルを格納しません。サービス・モニター・デプロイメントYAML構成では、weblogic-monitoring-exporter
によって提供される特定のラベル(Grafanaダッシュボードで必要)がPrometheusに格納されるように、構成のラベル変更(spec.endpoints.relabelings
)を指定する必要があります。構成YAMLファイルから次のセクションを削除しないでください:
relabelings:
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
WebLogicドメイン・ネームスペースにRoleBinding
およびRole
を追加
RoleBindingは、PrometheusがWebLogic Monitoring Exporterによって提供されるエンドポイントにアクセスするために必要です。KubernetesクラスタでWebLogic Serverポッドが実行されているネームスペースにRoleBindingを追加する必要があります。Prometheusオペレータ・デプロイメント・マニフェストでkube-prometheus/manifests/prometheus-roleBindingSpecificNamespaces.yaml
ファイルを編集し、次の例と同じようにネームスペース(wcsites-ns
)にRoleBinding
を追加します:
- apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: prometheus-k8s
namespace: wcsites-ns
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: prometheus-k8s
subjects:
- kind: ServiceAccount
name: prometheus-k8s
namespace: monitoring
同様に、KubernetesクラスタでWebLogic Serverポッドが実行されているネームスペースにRole
を追加します。Prometheusオペレータ・デプロイメント・マニフェストでkube-prometheus/manifests/prometheus-roleSpecificNamespaces.yaml
を編集し、次の例と同じようにネームスペース(wcsites-ns
)にRole
を追加します:
- apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: prometheus-k8s
namespace: wcsites-ns
rules:
- apiGroups:
- ""
resources:
- services
- endpoints
- pods
verbs:
- get
- list
- watch
次に、クラスタで有効にするため、RoleBinding
およびRole
にprometheus-roleBindingSpecificNamespaces.yaml
およびprometheus-roleSpecificNamespaces.yaml
を適用します。
$ kubectl apply -f kube-prometheus/manifests/prometheus-roleBindingSpecificNamespaces.yaml
$ kubectl apply -f kube-prometheus/manifests/prometheus-roleSpecificNamespaces.yaml
サービス・モニターのデプロイ
サービス・モニターをデプロイするには、前述のwls-exporter.yamlデプロイメントYAMLを使用して、次のコマンドを実行します:
$ kubectl create -f kubernetes/create-wcsites-domain/utils/weblogic-monitoring-exporter/wls-exporter.yaml
Prometheusでのサービスの検出の有効化
サービス・モニターのデプロイメント後、Prometheusではwls-exporterおよびエクスポートのメトリックを検出できます。
Prometheusダッシュボードには、http://mycompany.com:32101/
からアクセスできます。
Grafanaダッシュボードのデプロイ
ドメイン・メトリックを表示するには、WebLogic Monitoring Exporterで提供されているGrafanaダッシュボードをデプロイします。
Grafanaダッシュボードには、http://mycompany.com:32100/
からアクセスできます。
admin/admin
でGrafanaダッシュボードにログインします。「Settings」に移動し、「DataSources」、「Add Data Source」の順に選択します。
HTTP URL: Prometheus URL
http://mycompany.com:32101/
認証: Basic認証の有効化
Basic認証の詳細: ステップ「Prometheusオペレータの構成」で提供されるWebLogic資格証明
ここから
weblogic_dashboard.json
ファイルをダウンロードします。「Add」、「Import」の順にクリックします。変更したJSONを「Paste JSON」ブロックに貼り付けてからロードします。
WebLogic Serverダッシュボードが表示されます。
ログのElasticsearch統合
Oracle WebCenter Sitesドメインをモニターし、WebLogic ServerログをElasticsearchに公開します。
1. ElasticsearchをWebLogic Kubernetes Operatorに統合
参照情報は、WebLogic Kubernetes OperatorのElasticsearch統合を参照してください。
Elasticsearch統合を有効にするには、WebLogic Kubernetes Operatorをデプロイする前にファイルkubernetes/charts/weblogic-operator/values.yaml
を編集する必要があります。
# elkIntegrationEnabled specifies whether or not ELK integration is enabled.
elkIntegrationEnabled: true
# logStashImage specifies the Docker image containing logstash.
# This parameter is ignored if 'elkIntegrationEnabled' is false.
logStashImage: "logstash:6.6.0"
# elasticSearchHost specifies the hostname of where Elasticsearch is running.
# This parameter is ignored if 'elkIntegrationEnabled' is false.
elasticSearchHost: "elasticsearch.default.svc.cluster.local"
# elasticSearchPort specifies the port number of where Elasticsearch is running.
# This parameter is ignored if 'elkIntegrationEnabled' is false.
elasticSearchPort: 9200
WebLogic Kubernetes Operatorをデプロイし、前述の変更を行った後、weblogic-operatorポッドには追加のLogstashコンテナが含まれます。Logstashコンテナは、構成されたElasticsearchサーバーにweblogic-operatorログをプッシュします。
2. Logstashポッドを使用したWebLogic ServerおよびWebCenter Sitesログの公開
Logstashポッドを使用して、WebLogic ServerログをElasticsearchサーバーに公開できます。このLogstashポッドは、共有ドメイン・ホームにアクセスできる必要があります。WebCenter Sites wcsitesinfra
では、Logstashポッドのドメイン・ホームの永続ボリュームを使用できます。Logstashポッドを作成するステップは、次のとおりです:
Logstash構成ファイルのサンプルは、kubernetes/create-wcsites-domain/utils/logstash/logstash.conf
にあります
$ vi kubernetes/create-wcsites-domain/utils/logstash/logstash.conf
input {
file {
path => "/u01/oracle/user_projects/logs/wcsitesinfra/adminserver.log"
start_position => beginning
}
file {
path => "/u01/oracle/user_projects/logs/wcsitesinfra/wcsites-server*.log"
start_position => beginning
}
file {
path => "/u01/oracle/user_projects/logs/wcsitesinfra/adminserver.out"
start_position => beginning
}
file {
path => "/u01/oracle/user_projects/logs/wcsitesinfra/wcsites-server*.out"
start_position => beginning
}
file {
path => "/u01/oracle/user_projects/domains/wcsitesinfra/servers/**/logs/sites.log"
start_position => beginning
}
file {
path => "/u01/oracle/user_projects/domains/wcsitesinfra/servers/**/logs/cas.log"
start_position => beginning
}
}
filter {
grok {
match => [ "message", "<%{DATA:log_timestamp}> <%{WORD:log_level}> <%{WORD:thread}> <%{HOSTNAME:hostname}> <%{HOSTNAME:servername}> <%{DATA:timer}> <<%{DATA:kernel}>> <> <%{DATA:uuid}> <%{NUMBER:timestamp}> <%{DATA:misc}> <%{DATA:log_number}> <%{DATA:log_message}>" ]
}
}
output {
elasticsearch {
hosts => ["elasticsearch.default.svc.cluster.local:9200"]
}
}
ここで、**はwcsitesinfra
の下にあるすべてのサーバーからのすべてのsites.logおよびcas.logがLogstashにプッシュされることを意味します。
$ kubectl cp kubernetes/create-wcsites-domain/utils/logstash/logstash.conf wcsites-ns/wcsitesinfra-adminserver:/u01/oracle/user_projects/logs/logstash.conf
WebLogic Serverのドメイン・ホームの永続ボリュームの詳細を取得します。次のコマンドは、ネームスペース“wcsites-ns”の永続ボリュームの詳細をリストします:
$ kubectl get pv -n wcsites-ns
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
wcsitesinfra-domain-pv 10Gi RWX Retain Bound wcsites-ns/wcsitesinfra-domain-pvc wcsitesinfra-domain-storage-class 5d21h
Logstashデプロイメントのサンプルは、Logstashポッドのkubernetes/create-wcsites-domain/utils/logstash/logstash.yaml
にあります。ドメイン・ホームのマウントされた永続ボリュームは、LogstashポッドへのWebLogic Serverログへのアクセスを提供します。
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: logstash-wls
namespace: wcsites-ns
spec:
template: # create pods using pod definition in this template
metadata:
labels:
k8s-app: logstash-wls
spec:
volumes:
- name: weblogic-domain-storage-volume
persistentVolumeClaim:
claimName: wcsitesinfra-domain-pvc
- name: shared-logs
emptyDir: {}
containers:
- name: logstash
image: logstash:6.6.0
command: ["/bin/sh"]
args: ["/usr/share/logstash/bin/logstash", "-f", "/u01/oracle/user_projects/logs/logstash.conf"]
imagePullPolicy: IfNotPresent
volumeMounts:
- mountPath: /u01/oracle/user_projects
name: weblogic-domain-storage-volume
- name: shared-logs
mountPath: /shared-logs
ports:
- containerPort: 5044
name: logstash
LogstashデプロイメントyamlおよびLogstash構成ファイルを作成した後、次のコマンドを使用してLogstashをデプロイします:
$ kubectl create -f kubernetes/create-wcsites-domain/utils/logstash/logstash.yaml
3. ElasticsearchおよびKibanaのデプロイメントのテスト
WebLogic Operatorは、テスト目的でElasticsearchおよびKibanaのサンプル・デプロイメントも提供します。次に示すように、KubernetesクラスタにElasticsearchおよびKibanaをデプロイできます:
$ kubectl create -f kubernetes/elasticsearch-and-kibana/elasticsearch_and_kibana.yaml
次に示すように、Kibanaダッシュボードのポート情報を取得します:
ポッドの起動を待機します:
-bash-4.2$ kubectl get pods -w
NAME READY STATUS RESTARTS AGE
elasticsearch-8bdb7cf54-mjs6s 1/1 Running 0 4m3s
kibana-dbf8964b6-n8rcj 1/1 Running 0 4m3s
-bash-4.2$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
elasticsearch ClusterIP 10.100.11.154 <none> 9200/TCP,9300/TCP 4m32s
kibana NodePort 10.97.205.0 <none> 5601:31884/TCP 4m32s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 71d
Kibanaダッシュボードには、http://mycompany.com:kibana-nodeport/
からアクセスできます。この例では、ノード・ポートは31884です。
Kibanaでの索引パターンの作成
「Kibana」 > 「Management」で索引パターンlogstash*
を作成します。サーバーが起動した後、Kibanaダッシュボードにログ・データが表示されます:
Elasticsearchへのログの公開
Oracle WebCenter Sitesドメインをモニターし、WebLogic ServerログをElasticsearchに公開します。
WebLogic Logging Exporterは、ログ・イベント・ハンドラをWebLogic Serverに追加します。Elasticsearch REST APIを使用して、WebLogic ServerログをKubernetesのElasticsearchに直接プッシュできます。詳細は、WebLogic Logging Exporterプロジェクトを参照してください。
このサンプルでは、WebLogic ServerログをElasticsearchに公開し、Kibanaで表示する方法を示します。オペレータ・ログの公開については、このサンプルを参照してください。
前提条件
このドキュメントでは、すでにElasticsearchおよびKibanaをログ収集用に設定していることを前提としています。まだ行っていない場合は、このドキュメントを参照してください。
WebLogic Logging Exporterバイナリのダウンロード
事前組込みバイナリは、WebLogic Logging Exporterの「リリース」ページで使用できます。
ダウンロード:
- 「リリース」ページのweblogic-logging-exporter-1.0.0.jar。
- Maven Centralのsnakeyaml-1.25.jar。
これらの識別子は、このドキュメントのサンプル・コマンドで使用されます。
* `wcsites-ns`: WebCenter Sites domain namespace
* `wcsitesinfra`: `domainUID`
* `wcsitesinfra-adminserver`: Administration Server pod name
JARファイルのWebLogicドメイン・ホームへのコピー
weblogic-logging-exporter-1.0.0.jar
およびsnakeyaml-1.25.jar
ファイルを管理サーバー・ポッドのドメイン・ホーム・ディレクトリにコピーします。
$ kubectl cp <file-to-copy> <namespace>/<Administration-Server-pod>:<domainhome>
$ kubectl cp snakeyaml-1.25.jar wcsites-ns/wcsitesinfra-adminserver:/u01/oracle/user_projects/domains/wcsitesinfra/
$ kubectl cp weblogic-logging-exporter-1.0.0.jar wcsites-ns/wcsitesinfra-adminserver:/u01/oracle/user_projects/domains/wcsitesinfra/
ドメイン構成への起動クラスの追加
WebLogicリモート・コンソールにログインし、左側のナビゲーション・ペインで「ツリーの編集」をクリックし、「環境」を展開して、「起動クラス」をクリックします。
「新規」をクリックして、新しい起動クラスを追加します。説明的な名前を選択できますが、クラス名は
weblogic.logging.exporter.Startup
である必要があります。起動クラスを、ログのエクスポート元となる各サーバーにターゲット指定します。
/u01/oracle/user_projects/domains/wcsitesinfra/config/config.xml
ファイルで、この更新は次の例のようになります:$ kubectl exec -it wcsitesinfra-adminserver -n wcsites-ns cat /u01/oracle/user_projects/domains/wcsitesinfra/config/config.xml
<startup-class> <name>weblogic-logging-exporter</name> <target>AdminServer,wcsites_cluster</target> <class-name>weblogic.logging.exporter.Startup</class-name> </startup-class>
WebLogic Server CLASSPATH
の更新
setDomainEnv.sh
ファイルをポッドからローカル・フォルダにコピーします:$ kubectl cp wcsites-ns/wcsitesinfra-adminserver:/u01/oracle/user_projects/domains/wcsitesinfra/bin/setDomainEnv.sh $PWD/setDomainEnv.sh tar: Removing leading `/' from member names
例外を無視:
tar: Removing leading '/' from member names
setDomainEnv.sh
のサーバー・クラス・パスを更新します:CLASSPATH=/u01/oracle/user_projects/domains/wcsitesinfra/weblogic-logging-exporter-1.0.0.jar:/u01/oracle/user_projects/domains/wcsitesinfra/snakeyaml-1.25.jar:${CLASSPATH} export CLASSPATH
変更した
setDomainEnv.sh
ファイルをポッドにコピーして戻します:$ kubectl cp setDomainEnv.sh wcsites-ns/wcsitesinfra-adminserver:/u01/oracle/user_projects/domains/wcsitesinfra/bin/setDomainEnv.sh
WebLogic Logging Exporterの構成ファイルの作成
Elasticsearchサーバーのホストおよびポート番号をファイル
kubernetes/create-wcsites-domain/utils/weblogic-logging-exporter/WebLogicLoggingExporter.yaml
に指定します:例:
weblogicLoggingIndexName: wls publishHost: elasticsearch.default.svc.cluster.local publishPort: 9200 domainUID: wcsitesinfra weblogicLoggingExporterEnabled: true weblogicLoggingExporterSeverity: TRACE weblogicLoggingExporterBulkSize: 1
WebLogicLoggingExporter.yaml
ファイルをWebLogic管理サーバー・ポッドのドメイン・ホーム・ディレクトリにコピーします:$ kubectl cp kubernetes/create-wcsites-domain/utils/weblogic-logging-exporter/WebLogicLoggingExporter.yaml wcsites-ns/wcsitesinfra-adminserver:/u01/oracle/user_projects/domains/wcsitesinfra/config/
ドメイン内のすべてのサーバーを再起動
サーバーを再起動するには、次のコマンドを使用してサーバーを停止してから起動します:
サーバーを停止するには:
$ kubectl patch domain wcsitesinfra -n wcsites-ns --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "Never" }]'
サーバーを起動するには:
$ kubectl patch domain wcsitesinfra -n wcsites-ns --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "IfNeeded" }]'
すべてのサーバーの再起動後、次に示すように、サーバー・ログを参照してweblogic-logging-exporter
クラスがコールされていることを確認します:
======================= WebLogic Logging Exporter Startup class called
Reading configuration from file name: /u01/oracle/user_projects/domains/wcsitesinfra/config/WebLogicLoggingExporter.yaml
Config{weblogicLoggingIndexName='wls', publishHost='domain.host.com', publishPort=9200, weblogicLoggingExporterSeverity='Notice', weblogicLoggingExporterBulkSize='2', enabled=true, weblogicLoggingExporterFilters=FilterConfig{expression='NOT(MSGID = 'BEA-000449')', servers=[]}], domainUID='wcsitesinfra'}
Kibanaでの索引パターンの作成
「Kibana」 > 「Management」で索引パターンwls*
を作成します。サーバーが起動した後、Kibanaダッシュボードにログ・データが表示されます:
アップグレードおよびパッチ適用
既存のOracle WebCenter Sitesイメージにパッチを適用するか、基礎となるKubernetesクラスタを新しいリリースにアップグレードしたり、WebLogic Kubernetes Operatorリリースをアップグレードするなど、インフラストラクチャをアップグレードします。
Oracle WebCenter Sites製品のDockerイメージへのパッチの適用
実行中のOracle WebCenter Sites Kubernetes環境で、基礎となるOracle WebCenter Sites製品イメージをアップグレードします。
次の手順では、実行中のOracle WebCenter Sites Kubernetes環境で、Oracle WebCenter Sites製品Dockerイメージの新しいリリースをアップグレードする方法について説明します。ローリング・アップグレードの方法は、ドメインの管理対象サーバー・ポッドをアップグレードするために使用されます。
ノート: ローリング・アップグレードの方法が使用されるため、ゼロ・ダウンタイムが予想されます。
前提条件
- Oracle WebCenter Sitesドメインが作成され、すべての管理および管理対象ポッドが稼働していることを確認します。
- Oracle WebCenter Sitesドメイン・デプロイメントに使用されるデータベースが、アップグレード・プロセス中に稼働していることを確認します。
upgrade-domain-inputs.yamlの準備
kubernetes/create-wcsites-domain/domain-home-on-pv/upgrade/upgrade-domain-inputs.yamlを変更します。次にデフォルト値を示します。
# Name of the Admin Server
adminServerName: adminserver
# Unique ID identifying a domain.
# This ID must not contain an underscope ("_"), and must be lowercase and unique across all domains in a Kubernetes cluster.
domainUID: wcsitesinfra
# Number of managed servers to generate for the domain
configuredManagedServerCount: 3
#Number of managed servers running at the time of upgrade
managedServerRunning: 3
# Base string used to generate managed server names
managedServerNameBase: wcsites-server
# Oracle WebCenter Sites Docker image.
# Refer to build Oracle WebCenter Sites Docker image https://github.com/oracle/docker-images/tree/master/OracleWebCenterSites
# for details on how to obtain or create the image.
# tag image to a new tag for example: oracle/wcsites:14.1.2.0.0-XXXXXX
image: oracle/wcsites:14.1.2.0.0-XXXXXX
# Image pull policy
# Legal values are "IfNotPresent", "Always", or "Never"
imagePullPolicy: IfNotPresent
# Name of the domain namespace
namespace: wcsites-ns
アップグレード・スクリプトの実行
変更したupgrade-domain-inputs.yamlファイルを使用してアップグレード・スクリプトを実行し、スクリプトが終了するまで待機します。
$ sh kubernetes/create-wcsites-domain/domain-home-on-pv/upgrade/upgrade.sh -i upgrade-domain-inputs.yaml
増分的にロール・アウトされるポッドをモニターします。
$ kubectl get pods -n wcsites-ns -w
WebCenter Sitesパッチの構成
URL http://LOADBALANCER − HOSTNAME:{LOADBALANCER-PORT}/sites/sitespatchsetupを押してWebCenter Sitesパッチを構成します
オペレータ・リリースのアップグレード
WebLogic Kubernetes Operatorリリースを新しいバージョンにアップグレードします。
これらの手順は、追加のバージョンがリリースされるときに、4.xリリース・ファミリ内のオペレータのアップグレードに適用されます。
Kubernetes Operatorをアップグレードするには、helm upgrade
コマンドを使用します。オペレータをアップグレードする場合、helm upgrade
コマンドでは、新しいHelmチャートおよびイメージを指定する必要があります。たとえば:
helm repo add weblogic-operator https://oracle.github.io/weblogic-kubernetes-operator/charts
--force-update
helm upgrade \
--reuse-values \
--set version=4.2.9 \
--namespace operator-ns \
--wait \
weblogic-kubernetes-operator \
charts/weblogic-operator
Kubernetesクラスタのアップグレード
実行中のOracle WebCenter Sites Kubernetes環境で、基礎となるKubernetesクラスタ・バージョンをアップグレードします。
次の手順では、Oracle WebCenter Sitesドメインがデプロイされているkubeadm
を使用して作成されたKubernetesクラスタをアップグレードする方法について説明します。ローリング・アップグレードの方法は、Kubernetesクラスタのノード(マスターおよびワーカー)をアップグレードするために使用されます。
警告: アップグレード・プロセスの一部としてノードを排出する必要があるため、Kubernetesクラスタのアップグレード中に停止時間が発生することが予想されます。
前提条件
- 前提条件を確認し、Kubernetesクラスタをアップグレードする準備ができていることを確認します。環境がすべての前提条件を満たしていることを確認します。
- Oracle WebCenter Sitesドメイン・デプロイメントに使用されるデータベースが、アップグレード・プロセス中に稼働していることを確認します。
Kubernetesバージョンのアップグレード
Kubernetesのアップグレードは、1つのマイナー・バージョンから次のマイナー・バージョン、または同じマイナーのパッチ・バージョン間でサポートされます。たとえば、1.xから1.x+1にアップグレードできますが、1.xから1.x+2にアップグレードすることはできません。Kubernetesバージョンをアップグレードするには、まずKubernetesクラスタのすべてのマスター・ノードを順次アップグレードし、続いて各ワーカー・ノードを順次アップグレードする必要があります。
- 1.29から1.30にアップグレードするためのKubernetes公式ドキュメントはこちらを参照してください
- 1.28から1.29にアップグレードするためのKubernetes公式ドキュメントはこちらを参照してください
- 1.27から1.28にアップグレードするためのKubernetes公式ドキュメントはこちらを参照してください
- 1.26から1.27にアップグレードするためのKubernetes公式ドキュメントはこちらを参照してください
- 1.25から1.26にアップグレードするためのKubernetes公式ドキュメントはこちらを参照してください
イメージの作成または更新
Oracle WebCenter Sitesドメインのデプロイに使用されるOracle WebCenter Sites Dockerイメージを作成または更新します。Oracle WebCenter Sites Dockerイメージは、WebLogic Image ToolまたはDockerfileのアプローチを使用して作成できます。
My Oracle Support (MOS)へのアクセス権があり、パッチ(バンドルまたは個別)を使用して新しいイメージを構築する必要がある場合は、WebLogic Image Toolを使用して本番デプロイメント用のOracle WebCenter Sitesイメージを構築することをお薦めします。
- WebLogic Image Toolを使用したOracle WebCenter Sites Dockerイメージの作成または更新
- Dockerfileを使用したOracle WebCenter Sites Dockerイメージの作成
WebLogic Image Toolを使用したOracle WebCenter Sites Dockerイメージの作成または更新
WebLogic Image Toolを使用すると、新しいOracle WebCenter Sites Dockerイメージを作成するか(パッチを含めることも可能)、既存のイメージを1つ以上のパッチ(バンドル・パッチおよび個別パッチ)で更新できます。
推奨事項:
- createを使用して、新しいOracle WebCenter Sites Dockerイメージを作成します。
- パッチなし
- または、Oracle WebCenter Sitesバイナリを含むバンドル・パッチおよび個別パッチ。これは、イメージのサイズが最適化されるため、Oracle WebCenter Sitesパッチにアクセスできる場合に推奨される方法です。
- updateを使用して、単一の個別パッチで既存のOracle WebCenter Sites Dockerイメージにパッチを適用します。パッチ適用ツールによって導入された追加のイメージ・レイヤーにより、パッチ適用済イメージ・サイズが大幅に増加する場合があることに注意してください。
WebLogic Image Toolの設定
- WebLogic Image Toolの前提条件
- WebLogic Image Toolの設定
- 設定の検証
- WebLogic Image Toolビルド・ディレクトリ
- WebLogic Image Toolキャッシュ
- 追加のビルド・スクリプトの設定
WebLogic Image Toolの前提条件
環境が次の前提条件を満たしていることを確認します:
- ビルド・マシン上のDockerクライアントおよびデーモン(Dockerバージョン19.03.1.ce以上)。
- Bashバージョン4.0以上(
コマンドの完全な機能 を有効にするため)。 - JAVA_HOME環境変数が適切なJDKの場所に設定されます。
WebLogic Image Toolの設定
WebLogic Image Toolを設定するには:
作業ディレクトリを作成して変更します。このステップでは、このディレクトリは
imagetool-setup
.bash $ mkdir imagetool-setup $ cd imagetool-setup
ですリリース・ページから最新バージョンのWebLogic Image Toolをダウンロードします。
リリースZIPファイルを
imagetool-setup
ディレクトリに解凍します。Linux環境でWebLogic Image Toolを設定するには、次のコマンドを実行します:
$ cd imagetool-setup/imagetool/bin $ source setup.sh
設定の検証
WebLogic Image Toolの設定を検証するには:
次のコマンドを入力して、WebLogic Image Toolのバージョンを取得します:
$ imagetool --version
imagetool
と入力し、[Tab]キーを押して、使用可能なimagetool
コマンドを表示します:$ imagetool <TAB> cache create help rebase update
WebLogic Image Toolビルド・ディレクトリ
WebLogic Image Toolは、実行されるたびに、wlsimgbuilder_temp
という接頭辞が付いた一時的なDockerコンテキスト・ディレクトリを作成します。通常の状況では、このコンテキスト・ディレクトリは削除されます。ただし、プロセスが中断された場合やツールがディレクトリを削除できない場合は、手動で削除すると安全です。デフォルトでは、WebLogic Image Toolは、ユーザーのホーム・ディレクトリの下にDockerコンテキスト・ディレクトリを作成します。一時コンテキストに別のディレクトリを使用する場合は、環境変数WLSIMG_BLDDIR
を設定します:
$ export WLSIMG_BLDDIR="/path/to/buid/dir"
WebLogic Image Toolキャッシュ
WebLogic Image Toolは、ローカル・ファイル・キャッシュ・ストアを保持しています。このストアは、Java、WebLogic ServerインストーラおよびWebLogic Serverパッチが存在するローカル・ファイル・システム内の場所を参照するために使用されます。デフォルトでは、キャッシュ・ストアはユーザーの$HOME/cache
ディレクトリにあります。このディレクトリでは、参照情報は.metadata
ファイルに格納されます。自動的にダウンロードされたすべてのパッチもこのディレクトリにあります。デフォルトのキャッシュ・ストアの場所を変更するには、環境変数WLSIMG_CACHEDIR
を設定します:
$ export WLSIMG_CACHEDIR="/path/to/cachedir"
追加のビルド・スクリプトの設定
WebLogic Image Toolを使用してOracle WebCenter Sites Dockerイメージを作成するには、Oracle WebCenter Sitesドメイン用の追加のコンテナ・スクリプトが必要です。
docker-imagesリポジトリをクローニングして、これらのスクリプトを設定します。このステップでは、このディレクトリは
DOCKER_REPO
です:$ cd imagetool-setup $ git clone https://github.com/oracle/docker-images.git
オペレータ・ソース・リポジトリから
imagetool-setup
の場所に、追加のWebLogic Image Toolビルド・ファイルをコピーします:$ mkdir -p imagetool-setup/docker-images/OracleWebCenterSites/imagetool/14.1.2.0.0 $ cd imagetool-setup/docker-images/OracleWebCenterSites/imagetool/14.1.2.0.0 $ cp -rf ${WORKDIR}/imagetool-scripts/* .
イメージの作成
WebLogic Image Toolの設定および必要なビルド・スクリプトの後、次のステップに従って、WebLogic Image Toolを使用して新しいOracle WebCenter Sites Dockerイメージをcreate
します。
Oracle WebCenter Sitesインストール・バイナリおよびパッチのダウンロード
次に示す必要なOracle WebCenter Sitesインストール・バイナリおよびパッチをOracle Software Delivery Cloudからダウンロードし、選択したディレクトリに保存する必要があります。このステップでは、このディレクトリはdownload location
です。
インストール・バイナリおよびパッチのサンプル・リスト: * JDK:
* jdk-21.0.3_linux-x64.tar.gzまたはjdk-17.0.12_linux-x64.tar.gz
- Fusion MiddleWare Infrastructureインストーラ:
- fmw_14.1.2.0.0_infrastructure_generic.jar
- Fusion MiddleWare Infrastructureパッチ:
- 存在する場合
- WCSインストーラ:
- fmw_14.1.2.0.0_wcsites_generic.jar
- WCSパッチ:
- 存在する場合
ノート: これはパッチのサンプル・リストです。Oracle WebCenter Sitesイメージの適切なパッチのリストを取得する必要があります。
必要なビルド・ファイルの更新
コード・リポジトリの場所${WORKDIR}/imagetool-scripts
で使用可能な次のファイルは、イメージの作成に使用されます。
additionalBuildCmds.txt
buildArgs
buildArgs
ファイルで、%DOCKER_REPO%
のすべての出現箇所を、imagetool-setup/docker-images
の完全パスであるdocker-images
リポジトリの場所で更新します。たとえば、次を更新します:
%DOCKER_REPO%/OracleWebCenterSites/imagetool/14.1.2.0.0/
更新後:
<imagetool-setup-location>/docker-images/OracleWebCenterSites/imagetool/14.1.2.0.0/
同様に、プレースホルダ
%JDK_VERSION%
および%BUILDTAG%
を適切な値で更新します。
イメージの作成
WebLogic Image ToolキャッシュにJDKパッケージを追加します:
$ imagetool cache addInstaller --type jdk --version 17.0.12 --path <download location>/jdk-17.0.12_linux-x64_bin.tar.gz
ダウンロードしたインストール・バイナリをWebLogic Image Toolキャッシュに追加します:
$ imagetool cache addInstaller --type fmw --version 14.1.2.0.0 --path <download location>/fmw_14.1.2.0.0_infrastructure_generic.jar $ imagetool cache addInstaller --type wcs --version 14.1.2.0.0 --path <download location>/fmw_14.1.2.0.0_wcsites_generic.jar
ダウンロードしたパッチをWebLogic Image Toolキャッシュに追加します:
キャッシュにパッチを追加するコマンド:
$ imagetool cache addEntry --key <KEY-VALUE> --value <download location>/<PATCH-FILE-NAME>
パッチ・リストを
buildArgs
に更新します。buildArgs
ファイルのcreate
コマンドに、--patches
フラグを使用してOracle WebCenter Sitesパッチ・リストを追加し、--opatchBugNumber
フラグを使用してOpatchパッチを追加します。前述のパッチのリストのサンプル・オプションは次のとおりです:製品のパッチおよびOpatchパッチのリストを追加した後の
buildArgs
ファイルの例:imagetool create --jdkVersion=17.0.12 --type WCS --version=14.1.2.0.0 --tag=oracle/wcsites:14.1.2.0.0 --chown oracle:root --installerResponseFile <imagetool-setup-location>/OracleFMWInfrastructure/dockerfiles/14.1.2.0.0/install.file,<imagetool-setup-location>/OracleWebCenterSites/dockerfiles/14.1.2.0.0/wcs.file --additionalBuildCommands <imagetool-setup-location>/OracleWebCenterSites/imagetool/14.1.2.0.0/additionalBuildCmds.txt --additionalBuildFiles <imagetool-setup-location>/OracleWebCenterSites/dockerfiles/14.1.2.0.0/sites-container-scripts,<imagetool-setup-location>/OracleWebCenterSites/dockerfiles/14.1.2.0.0/wcs-wls-docker-install
WebLogic Image Toolの
create
コマンドで使用可能なオプションの完全なリストは、このページを参照してください。wcs-wls-docker-installインストーラjarの作成
cd <imagetool-setup-location>/OracleWebCenterSites/dockerfiles/14.1.2.0.0/wcs-wls-docker-install docker run --rm -u root -v ${PWD}:/wcs-wls-docker-install groovy:4.0.4-jdk17 /wcs-wls-docker-install/packagejar.sh
次のコマンドを入力して、Oracle WebCenter Sitesイメージを作成します:
$ imagetool @<absolute path to `buildargs` file>"
imagetoolコマンドで生成されたサンプルDockerfile。
########## BEGIN DOCKERFILE ########## # # Copyright (c) 2021, Oracle and/or its affiliates. # # Licensed under the Universal Permissive License v 1.0 as shown at # https://oss.oracle.com/licenses/upl # # FROM oraclelinux:7-slim as OS_UPDATE LABEL com.oracle.weblogic.imagetool.buildid="3b37c045-11c6-4eb8-b69c-f42256c1e082" USER root RUN yum -y --downloaddir= install gzip tar unzip libaio \ && yum -y --downloaddir= clean all \ && rm -rf /var/cache/yum/* \ && rm -rf ## Create user and group RUN if [ -z "$(getent group oracle)" ]; then hash groupadd &> /dev/null && groupadd oracle || exit -1 ; fi \ && if [ -z "$(getent passwd oracle)" ]; then hash useradd &> /dev/null && useradd -g oracle oracle || exit -1; fi \ && mkdir /u01 \ && chown oracle:root /u01 # Install Java FROM OS_UPDATE as JDK_BUILD LABEL com.oracle.weblogic.imagetool.buildid="3b37c045-11c6-4eb8-b69c-f42256c1e082" ENV JAVA_HOME=/u01/jdk COPY --chown=oracle:root jdk-8u291-linux-x64.tar.gz /tmp/imagetool/ USER oracle RUN tar xzf /tmp/imagetool/jdk-8u291-linux-x64.tar.gz -C /u01 \ && mv /u01/jdk* /u01/jdk \ && rm -rf /tmp/imagetool # Install Middleware FROM OS_UPDATE as WLS_BUILD LABEL com.oracle.weblogic.imagetool.buildid="3b37c045-11c6-4eb8-b69c-f42256c1e082" ENV JAVA_HOME=/u01/jdk \ \ ORACLE_HOME=/u01/oracle OPATCH_NO_FUSER=true RUN mkdir -p /u01/oracle \ && mkdir -p /u01/oracle/oraInventory \ && chown oracle:root /u01/oracle/oraInventory \ && chown oracle:root /u01/oracle COPY --from=JDK_BUILD --chown=oracle:root /u01/jdk /u01/jdk/ COPY --chown=oracle:root fmw_14.1.2.0.0_infrastructure.jar install.file /tmp/imagetool/ COPY --chown=oracle:root fmw_14.1.2.0.0_wcsites.jar wcs.file /tmp/imagetool/ COPY --chown=oracle:root oraInst.loc /u01/oracle/ COPY --chown=oracle:root p28186730_139428_Generic.zip /tmp/imagetool/opatch/ COPY --chown=oracle:root patches/* /tmp/imagetool/patches/ USER oracle RUN \ -Xmx1024m -jar /tmp/imagetool/fmw_14.1.2.0.0_infrastructure.jar -silent ORACLE_HOME=/u01/oracle \ /u01/jdk/bin/java -responseFile /tmp/imagetool/install.file -invPtrLoc /u01/oracle/oraInst.loc -ignoreSysPrereqs -force -novalidation RUN \ -Xmx1024m -jar /tmp/imagetool/fmw_14.1.2.0.0_wcsites.jar -silent ORACLE_HOME=/u01/oracle \ /u01/jdk/bin/java -responseFile /tmp/imagetool/wcs.file -invPtrLoc /u01/oracle/oraInst.loc -ignoreSysPrereqs -force -novalidation RUN cd /tmp/imagetool/opatch \ && /u01/jdk/bin/jar -xf /tmp/imagetool/opatch/p28186730_139428_Generic.zip \ && /u01/jdk/bin/java -jar /tmp/imagetool/opatch/6880880/opatch_generic.jar -silent -ignoreSysPrereqs -force -novalidation oracle_home=/u01/oracle RUN /u01/oracle/OPatch/opatch napply -silent -oh /u01/oracle -phBaseDir /tmp/imagetool/patches \ && /u01/oracle/OPatch/opatch util cleanup -silent -oh /u01/oracle FROM OS_UPDATE as FINAL_BUILD ARG ADMIN_NAME ARG ADMIN_HOST ARG ADMIN_PORT ARG MANAGED_SERVER_PORT ENV ORACLE_HOME=/u01/oracle \ \ JAVA_HOME=/u01/jdk ${DEFAULT_LOCALE:-en_US.UTF-8} \ LC_ALL=${PATH}:/u01/jdk/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:/u01/oracle PATH= LABEL com.oracle.weblogic.imagetool.buildid="3b37c045-11c6-4eb8-b69c-f42256c1e082" COPY --from=JDK_BUILD --chown=oracle:root /u01/jdk /u01/jdk/ COPY --from=WLS_BUILD --chown=oracle:root /u01/oracle /u01/oracle/ USER oracle WORKDIR /u01/oracle #ENTRYPOINT /bin/bash USER root COPY --chown=oracle:root files/sites-container-scripts/overrides/oui/ /u01/oracle/wcsites/common/templates/wls/ USER oracle RUN cd /u01/oracle/wcsites/common/templates/wls && \ $JAVA_HOME/bin/jar uvf oracle.wcsites.base.template.jar startup-plan.xml file-definition.xml && \ rm /u01/oracle/wcsites/common/templates/wls/startup-plan.xml && \ rm /u01/oracle/wcsites/common/templates/wls/file-definition.xml # # Install the required packages # ----------------------------- USER root ENV SITES_CONTAINER_SCRIPTS=/u01/oracle/sites-container-scripts \ \ SITES_INSTALLER_PKG=wcs-wls-docker-install "${DOMAIN_ROOT:-/u01/oracle/user_projects/domains}" \ DOMAIN_ROOT=\ ADMIN_PORT=7001 \ WCSITES_PORT=7002 \ ADMIN_SSL_PORT=9001 \ WCSITES_SSL_PORT=9002 $PATH:/u01/oracle/sites-container-scripts PATH= RUN yum install -y hostname && \ rm -rf /var/cache/yum RUN mkdir -p ${SITES_CONTAINER_SCRIPTS} && \ mkdir -p /u01/wcs-wls-docker-install COPY --chown=oracle:root files/sites-container-scripts/ ${SITES_CONTAINER_SCRIPTS}/ COPY --chown=oracle:root files/wcs-wls-docker-install/ /u01/wcs-wls-docker-install/ RUN chown oracle:root -R /u01/oracle/sites-container-scripts && \ chown oracle:root -R /u01/wcs-wls-docker-install && \ chmod a+xr /u01/oracle/sites-container-scripts/* && \ chmod a+xr /u01/wcs-wls-docker-install/*.sh # Expose all Ports # ------------------------------------------------------------- EXPOSE $ADMIN_PORT $ADMIN_SSL_PORT $WCSITES_PORT $WCSITES_SSL_PORT USER oracle WORKDIR ${ORACLE_HOME} # Define default command to start. # ------------------------------------------------------------- CMD ["/u01/oracle/sites-container-scripts/createOrStartSitesDomain.sh"] ########## END DOCKERFILE ##########
Docker images
コマンドを使用して作成したイメージを確認します:$ Docker images | grep wcsites
イメージの更新
WebLogic Image Toolの設定および必要なビルド・スクリプトの後、WebLogic Image Toolを使用して既存のOracle WebCenter Sites Dockerイメージをupdate
します:
パッチごとに次のコマンドを入力して、WebLogic Image Toolキャッシュに必要なパッチを追加します:
$ cd <imagetool-setup> $ imagetool cache addEntry --key 35188131_14.1.2.0.0 --value < %path-to-downloaded-pathes%/patches/p35188131_141200_Generic.zip [INFO] Added entry 35188131_14.1.2.0.0=< %path-to-downloaded-pathes%/patches/p35188131_122140_Generic.zip
WebLogic Image Toolの
update
コマンドに次の引数を指定します:–-fromImage
- 更新する必要があるイメージを識別します。次の例では、更新するイメージはoracle/wcsites:14.1.2.0.0
です。–-patches
- 複数のパッチをカンマ区切りリストとして指定できます。--tag
- 構築するイメージに適用する新しいタグを指定します。
WebLogic Image Toolの
update
コマンドで使用可能なオプションの完全なリストは、ここを参照してください。ノート: WebLogic Image Toolキャッシュには、最新のOPatch zipが必要です。WebLogic Image Toolは、OPatchがイメージでまだ更新されていない場合は更新します。
例
update
コマンドの例:$ imagetool update --fromImage oracle/wcsites:14.1.2.0.0 --chown oracle:root --tag=oracle/wcsites:14.1.2.0.0-35188131 --patches=35188131_14.1.2.0.0 --opatchBugNumber=28186730_13.9.4.2.12 [INFO ] Image Tool build ID: 7c268a9a-723f-424e-a06e-cb615c783e6d [INFO ] Temporary directory used for docker build context: %path-to-temp-directory%/tmpBuild/wlsimgbuilder_temp8555048225669509 [INFO ] Using patch 28186730_13.9.4.2.8 from cache: %path-to-downloaded-pathes%/patches/p28186730_139428_Generic.zip [INFO ] OPatch will not be updated, fromImage has version 13.9.4.2.4, available version is 13.9.4.2.4 [WARNING] skipping patch conflict check, no support credentials provided [WARNING] No credentials provided, skipping validation of patches [INFO ] Using patch 31548912_14.1.2.0.0 from cache: %path-to-downloaded-pathes%/patches/p31548912_122140_Generic.zip [INFO ] docker cmd = docker build --no-cache --force-rm --tag oracle/wcsites:14.1.2.0.0-21.1.1 --build-arg http_proxy=http://www-proxy-your-company.com:80 --build-arg https_proxy=http://www-proxy-your-company.com:80 --build-arg no_proxy=localhost,127.0.0.0/8,/var/run/docker.sock %path-to-temp-directory%/tmpBuild/wlsimgbuilder_temp8555048225669509 Sending build context to Docker daemon 212.7MB Step 1/7 : FROM oracle/wcsites:14.1.2.0.0-21.1.1 as FINAL_BUILD ---> 480f1a31c02b Step 2/7 : USER root ---> Running in 9d5a81ad5bde Removing intermediate container 9d5a81ad5bde ---> 71b50b0b34dc Step 3/7 : ENV OPATCH_NO_FUSER=true ---> Running in c361884e8a71 Removing intermediate container c361884e8a71 ---> 2951de256951 Step 4/7 : LABEL com.oracle.weblogic.imagetool.buildid="7c268a9a-723f-424e-a06e-cb615c783e6d" ---> Running in e2f485ac9039 Removing intermediate container e2f485ac9039 ---> 970f6552ef9a Step 5/7 : USER oracle ---> Running in e3c85228af4b Removing intermediate container e3c85228af4b ---> 4401fdb4ebbe Step 6/7 : COPY --chown=oracle:root patches/* /tmp/imagetool/patches/ ---> 978a48e1cc95 Step 7/7 : RUN /u01/oracle/OPatch/opatch napply -silent -oh /u01/oracle -phBaseDir /tmp/imagetool/patches && /u01/oracle/OPatch/opatch util cleanup -silent -oh /u01/oracle && rm -rf /tmp/imagetool ---> Running in 5039320b2f10 Oracle Interim Patch Installer version 13.9.4.2.4 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle Home : /u01/oracle Central Inventory : /u01/oracle/oraInventory from : /u01/oracle/oraInst.loc OPatch version : 13.9.4.2.4 OUI version : 13.9.4.0.0 Log file location : /u01/oracle/cfgtoollogs/opatch/opatch2020-08-04_05-15-38AM_1.log OPatch detects the Middleware Home as "/u01/oracle" Verifying environment and performing prerequisite checks... OPatch continues with these patches: 31548912 Do you want to proceed? [y|n] Y (auto-answered by -silent) User Responded with: Y All checks passed. Please shutdown Oracle instances running out of this ORACLE_HOME on the local system. (Oracle Home = '/u01/oracle') Is the local system ready for patching? [y|n] Y (auto-answered by -silent) User Responded with: Y Backing up files... Applying interim patch '31548912' to OH '/u01/oracle' ApplySession: Optional component(s) [ oracle.wcsites.wccintegration, 14.1.2.0.0 ] , [ oracle.wcsites.wccintegration, 14.1.2.0.0 ] not present in the Oracle Home or a higher version is found. Patching component oracle.wcsites, 14.1.2.0.0... Patching component oracle.wcsites, 14.1.2.0.0... Patching component oracle.wcsites.visitorservices, 14.1.2.0.0... Patching component oracle.wcsites.visitorservices, 14.1.2.0.0... Patching component oracle.wcsites.examples, 14.1.2.0.0... Patching component oracle.wcsites.examples, 14.1.2.0.0... Patching component oracle.wcsites.developer.tools, 14.1.2.0.0... Patching component oracle.wcsites.developer.tools, 14.1.2.0.0... Patching component oracle.wcsites.satelliteserver, 14.1.2.0.0... Patching component oracle.wcsites.satelliteserver, 14.1.2.0.0... Patching component oracle.wcsites.sitecapture, 14.1.2.0.0... Patching component oracle.wcsites.sitecapture, 14.1.2.0.0... Patch 31548912 successfully applied. Log file location: /u01/oracle/cfgtoollogs/opatch/opatch2020-08-04_05-15-38AM_1.log OPatch succeeded. Oracle Interim Patch Installer version 13.9.4.2.4 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle Home : /u01/oracle Central Inventory : /u01/oracle/oraInventory from : /u01/oracle/oraInst.loc OPatch version : 13.9.4.2.4 OUI version : 13.9.4.0.0 Log file location : /u01/oracle/cfgtoollogs/opatch/opatch2020-08-04_05-16-11AM_1.log OPatch detects the Middleware Home as "/u01/oracle" Invoking utility "cleanup" OPatch will clean up 'restore.sh,make.txt' files and 'scratch,backup' directories. You will be still able to rollback patches after this cleanup. Do you want to proceed? [y|n] Y (auto-answered by -silent) User Responded with: Y Backup area for restore has been cleaned up. For a complete list of files/directories deleted, Please refer log file. OPatch succeeded. Removing intermediate container 5039320b2f10 ---> 1be958e1e859 Successfully built 1be958e1e859 Successfully tagged oracle/wcsites:14.1.2.0.0-21.1.1-29710661 [INFO ] Build successful. Build time=73s. Image tag=oracle/wcsites:14.1.2.0.0-21.1.1-29710661 The example Dockerfile generated by the WebLogic Image Tool with the `–-dryRun` option: $ imagetool update --fromImage oracle/wcsites:14.1.2.0.0 --chown oracle:root --tag=oracle/wcsites:14.1.2.0.0-35188131 --patches=35188131_14.1.2.0.0 --opatchBugNumber=28186730_13.9.4.2.12 --dryRun [INFO ] Image Tool build ID: a2fca032-7807-4bfb-b5a4-0ed90a710a56 [INFO ] Temporary directory used for docker build context: %path-to-temp-directory%/tmpBuild/wlsimgbuilder_temp4743247141639108603 [INFO ] Using patch 28186730_13.9.4.2.8 from cache: %path-to-downloaded-pathes%/patches /p28186730_139428_Generic.zip [INFO ] OPatch will not be updated, fromImage has version 13.9.4.2.8, available version is 13.9.4.2.8 [WARNING] skipping patch conflict check, no support credentials provided [WARNING] No credentials provided, skipping validation of patches [INFO ] Using patch 29710661_14.1.2.0.0 from cache: %path-to-downloaded-pathes%/patches /p29710661_122140_Generic.zip [INFO ] docker cmd = docker build --no-cache --force-rm --tag oracle/wcsites:14.1.2.0.0 --build-arg http_proxy=http://www-proxy-your-company.com:80 --build-arg https_proxy=http://www-proxy-your-company.com:80 --build-arg no_proxy=localhost,127.0.0.0/8,/var/run/docker.sock %path-to-temp-directory%/tmpBuild/wlsimgbuilder_temp4743247141639108603 ########## BEGIN DOCKERFILE ########## # # Copyright (c) 2019, 2020, Oracle and/or its affiliates. # # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. # # FROM oracle/wcsites:14.1.2.0.0 as FINAL_BUILD USER root ENV OPATCH_NO_FUSER=true LABEL com.oracle.weblogic.imagetool.buildid="a2fca032-7807-4bfb-b5a4-0ed90a710a56" USER oracle COPY --chown=oracle:root patches/* /tmp/imagetool/patches/ RUN /u01/oracle/OPatch/opatch napply -silent -oh /u01/oracle -phBaseDir /tmp/imagetool/patches \ && /u01/oracle/OPatch/opatch util cleanup -silent -oh /u01/oracle \ && rm -rf /tmp/imagetool ########## END DOCKERFILE ########## [INFO ] Dry run complete. No image created.
Docker images
コマンドを使用して構築したイメージを確認します:$ Docker images | grep wcsites oracle/wcsites 14.1.2.0.0-35188131 2ef2a67a685b About a minute ago 3.74GB
Dockerfileを使用したOracle WebCenter Sites Dockerイメージの作成
テストおよび開発の目的で、Dockerfileを使用してOracle WebCenter Sitesイメージを作成できます。Server JRE Dockerイメージの構築またはプル、Oracle FMW Infrastructure Dockerイメージ、Oracle WebCenter Sitesインストーラおよびバンドル・パッチ・バイナリのダウンロードなど、重要な前提条件ステップについては、READMEファイルを参照してください。
事前構築済のOracle Fusion Middleware Infrastructureイメージcontainer-registry.oracle.com/middleware/fmw-infrastructure:14.1.2.0.0
は、container-registry.oracle.com
にあります。このイメージをプルおよび名前変更して、Oracle WebCenter Sitesイメージを構築することをお薦めします。
$ docker pull <path-to-container-registry>/fmw-infrastructure:14.1.2.0.0
$ docker tag <path-to-container-registry>/fmw-infrastructure:14.1.2.0.0 oracle/fmw-infrastructure:14.1.2.0.0
Oracle Fusion Middleware Infrastructureイメージを構築し、その上にレイヤーとしてOracle WebCenter Sitesイメージを構築するには、次のステップに従います:
サンプル・リポジトリのローカル・クローンを作成します:
$ git clone https://github.com/oracle/docker-images
oracle/fmw-infrastructure:14.1.2.0.0
イメージを構築します:$ cd docker-images/OracleFMWInfrastructure/dockerfiles $ sh buildDockerImage.sh -v 14.1.2.0.0 -s
これにより、
oracle/fmw-infrastructure:14.1.2.0.0
という名前のイメージが生成されます。Oracle Technology Networkまたはe-deliveryからOracle WebCenter Sitesインストーラをダウンロードします。
ノート: インストーラ・バイナリをDockerfileと同じ場所にコピーします。
パッチを使用してOracle WebCenter Sitesイメージを構築するには、パッチのzipファイル(たとえば、
p35188131_141200_Generic.zip
)をダウンロードして、必要なバージョンのpatches/
フォルダにドロップする必要があります。たとえば、14.1.2.0.0
の場合、フォルダは14.1.2.0.0/patches
です。提供されているスクリプトを実行して、Oracle WebCenter Sitesイメージを作成します:
$ cd docker-images/OracleWebCenterSites/dockerfiles $ ./buildDockerImage.sh -v 14.1.2.0.0 -s
生成されるイメージの名前は
oracle/wcsites:14.1.2.0.0
です。サンプルと手順は、Oracle WebCenter Sitesイメージの名前がwcsites:14.1.2.0.0
であることを前提としています。この名前と一致するようにイメージの名前を変更するか、作成したイメージを参照するようにサンプルを更新する必要があります。
アンインストール
Oracle WebCenter Sitesドメインの設定をクリーン・アップします。
Oracle WebCenter Sitesドメインの設定をクリーン・アップする方法を学習します。
管理サーバーおよび管理対象サーバー・ポッドの停止
ドメイン内のすべてのサーバー・ポッドを停止します。これは、ドメイン"serverStartPolicy"に"Never"のパッチを適用することで実行できます。同様のサンプル・コマンドを示します。
$ kubectl patch domain wcsites-domain-name -n wcsites-namespace --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "Never" }]'
たとえば:
$ kubectl patch domain wcsitesinfra -n wcsites-ns --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "Never" }]'
公開されたサービスの削除
```bash
$ kubectl delete -f create-wcsites-domain/utils/wcs-services.yaml
```
ドメインの削除
Helmを使用してドメインのイングレス(たとえば、Traefikイングレス)を削除します:
$ helm uninstall wcsites-domain-ingress -n wcsites-namespace
たとえば:
$ helm uninstall wcsitesinfra-ingress -n wsites-ns
ドメイン・ジョブの削除(これによりRCUスキーマが削除されます)
$ kubectl apply -f kubernetes/create-wcsites-domain/output/weblogic-domains/wcsitesinfra/delete-domain-job.yaml
ジョブが終了したかどうかを確認します。
${WORKDIR}/delete-domain
にあるサンプルのdelete-weblogic-domain-resources.sh
スクリプトを使用して、ドメイン・リソースを削除します:$ cd ${WORKDIR}/delete-domain $ ./delete-weblogic-domain-resources.sh -d sample-domain1
たとえば:
$ cd ${WORKDIR}/delete-domain $ ./delete-weblogic-domain-resources.sh -d wcsites-ns
kubectl
を使用して、サーバー・ポッドおよびドメイン・リソースが削除されていることを確認します:$ kubectl get pods -n sample-domain1-ns $ kubectl get domains -n sample-domain1-ns $ kubectl get clusters -n sample-domain1-ns
たとえば:
$ kubectl get pods -n wcsites-ns $ kubectl get domains -n wcsites-ns $ kubectl get clusters -n wcsites-ns
ドメイン・ネームスペースの削除
インストールされているイングレス・ロード・バランサ(たとえば、Traefik)を構成して、ドメイン・ネームスペースでのイングレスの管理を停止します:
$ helm upgrade traefik traefik/traefik \ --namespace traefik \ --reuse-values \ --set "kubernetes.namespaces={traefik}" \ --wait
ドメイン・ネームスペースを削除します:
$ kubectl delete namespace sample-domain1-ns
たとえば:
$ kubectl delete namespace wcsites-ns
オペレータの削除
オペレータの削除:
$ helm uninstall sample-weblogic-operator -n sample-weblogic-operator-ns
たとえば:
$ helm uninstall weblogic-kubernetes-operator -n operator-ns
オペレータのネームスペースの削除:
$ kubectl delete namespace sample-weblogic-operator-ns
たとえば:
$ kubectl delete namespace operator-ns
ロード・バランサの削除
インストールされているイングレス・ベースのロード・バランサ(たとえば、Traefik)を削除します:
$ helm uninstall traefik-operator -n traefik
Traefikネームスペースを削除します:
$ kubectl delete namespace traefik
ドメイン・ホームの削除
create-domain.sh
スクリプトを使用して生成されたドメイン・ホームを削除するには、ドメイン・ホーム永続ボリューム(PV)にアタッチされたストレージの内容を適切な権限で手動で削除します。
たとえば、host_path
タイプのドメインの永続ボリュームの場合:
$ rm -rf /scratch/K8SVolume/WCSites/*
Oracle Cloud Infrastructure
WebLogic Kubernetes Operatorを使用したWebCenter Sitesドメインの設定
これは、Oracle Cloud InfrastructureでWebLogic Kubernetes Operatorが管理するWebcenterSitesドメインを実行するためのガイドです。
OKE環境の準備
OKEでのWebLogic Kubernetes Operatorが管理するWebCenter Sitesドメインの実行
概要
すべての要塞/ワーカー・ノードにアクセスするための公開SSHキーの作成
- Linux端末でssh-keygenを使用してSSHキーを作成します。
Generating public/private rsa key pair.
Your identification has been saved in <path>/id_rsa.
Your public key has been saved in <path>/id_rsa.pub.
The key fingerprint is:
SHA256:xCi1gf1QFafbRwOM3WjUTgqEInwi6UklbuxbBeMzA6M demokey
The key's randomart image is:
+---[RSA 2048]----+
| +++oo..++*++ |
| ++==+==. oo=.+ |
|Eo+o*+++o .o +o |
| oo * .. o.... |
| . . S . . . |
| o . |
| . |
| |
| |
+----[SHA256]-----+
- これにより、id_rsaおよびid_rsa.pubが生成されます
- インスタンスの作成時にid_rsa.pubを使用し、後でインスタンスにログインする際には秘密キーであるid_rsaを使用します。
OKEのコンパートメントの作成
テナンシ内には、必要なネットワーク・リソース(VCN、サブネット、インターネット・ゲートウェイ、ルート表、セキュリティ・リスト)を含むコンパートメントがある必要があります。1.OCIコンソールに移動し、左上のメニューを使用して「アイデンティティ」→「コンパートメント」オプションを選択します。2.「コンパートメントの作成」ボタンをクリックします。3.コンパートメント名(WCSCDev)および説明(OKEコンパートメント)を入力し、「コンパートメントの作成」ボタンをクリックします。
仮想クラウド・ネットワークの作成
- OCIコンソールで、ナビゲーション・メニューを使用します。「ソリューション、プラットフォームおよびエッジ」で、「ネットワーキング」に移動し、「Virtual Cloud Networks (VCN)」をクリックします
- WCSCDevコンパートメントを選択し、「仮想クラウド・ネットワークの作成」をクリックします
- WCSCDevコンパートメントを選択し、「ネットワーキングQuickstart」をクリックします。「インターネット接続性を持つVCN」起動ワークフロー
- 名前を追加します(例: WCNVCN)
- 「次」をクリックします「確認および作成」。
コンテナ・クラスタの作成(OKE)
- OCIコンソールで、ナビゲーション・メニューを使用します。「ソリューション、プラットフォームおよびエッジ」で、「開発者サービス」に移動し、「コンテナ・クラスタ(OKE)」をクリックします
- WCSCDevコンパートメントを選択し、「クラスタの作成」をクリックします
*「クラスタ作成」ダイアログで、「名前」フィールドでプレースホルダ値を変更し、かわりにWCSOKEClusterと入力します。
- 最初、クラスタは「作成中」状態であり、ボタンはアクセスできません。状態が「アクティブ」になると、すべてのボタンが有効になります。
要塞ノードの作成
内部リソースにアクセスするための要塞ノードを設定します。
kubeconfigをダウンロードしてOKEクラスタにアクセスするためのOCI CLIの設定
- 要塞ノードにログインします
- OCI CLIをインストールします
$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
- インストール・スクリプトのプロンプトに応答します。
- 後でkubeconfigをダウンロードするには、設定後にoci構成ファイルを設定する必要があります。次のコマンドに従って、プロンプトが表示されたら詳細を入力します。
$ oci setup config
This command provides a walkthrough of creating a valid CLI config file.
The following links explain where to find the information required by this
script:
User OCID and Tenancy OCID:
https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#Other
Region:
https://docs.cloud.oracle.com/Content/General/Concepts/regions.htm
General config documentation:
https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm
Enter a location for your config [/home/opc/.oci/config]:
Enter a user OCID: ocid1.user.xxxxx5n3a
Enter a tenancy OCID: ocid1.tenancy.xxxxxxmffq
Enter a region (e.g. ap-mumbai-1, ap-seoul-1, ap-sydney-1, ap-tokyo-1, ca-toronto-1, eu-frankfurt-1, eu-zurich-1, sa-saopaulo-1, uk-london-1, us-ashburn-1, us-gov-ashburn-1, us-gov-chicago-1, us-gov-phoenix-1, us-langley-1, us-luke-1, us-phoenix-1): us-phoenix-1
Do you want to generate a new RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]: Y
Enter a directory for your keys to be created [/home/opc/.oci]:
Enter a name for your key [oci_api_key]:
Public key written to: /home/opc/.oci/oci_api_key_public.pem
Enter a passphrase for your private key (empty for no passphrase):
Private key written to: /home/opc/.oci/oci_api_key.pem
Fingerprint: 30:b9:a6:80:6e:b7:bb:7d:f9:79:6b:84:48:30:03:16
Config written to /home/opc/.oci/config
If you haven't already uploaded your public key through the console,
follow the instructions on the page linked below in the section 'How to
upload the public key':
https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#How2
- 作成した公開キーを$HOME/.oci (oci_api_key_public.pem)でOCIコンソールにアップロードする必要があります。コンソールにログインし、上部のナビゲーションのOCIユーザー名の下にあるドロップダウンの「ユーザー設定」に移動します
「ユーザーの詳細」ページの、左側のナビゲーションで「Apiキー」を選択し、「公開キーの追加」ボタンをクリックしてから“oci_api_key_public.pem”の内容をコピーします。「追加」をクリックします。
これで、OCI CLIを使用してOCIリソースにアクセスできます。
Kubeconfigへのアクセスの設定(OKEクラスタ)
Dockerのインストール
- 要塞ノードにログインします
- インスタンスにログインし、最新のdocker-engineをインストールしてDockerサービスを開始します
#install docker-engine
sudo yum -y install docker-engine
#Enable and start docker service
sudo systemctl enable docker
sudo systemctl start docker
#Add opc to docker group
sudo /sbin/usermod -a -G docker opc
- ログアウトしてホストに再度ログインし、ユーザーが正しくグループに追加されるようにします
- Dockerのバージョンを確認します。
$ docker version
Client: Docker Engine - Community
Version: 19.03.1-ol
API version: 1.40
Go version: go1.12.5
Git commit: ead9442
Built: Wed Sep 11 06:40:28 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.1-ol
API version: 1.40 (minimum version 1.12)
Go version: go1.12.5
Git commit: ead9442
Built: Wed Sep 11 06:38:43 2019
OS/Arch: linux/amd64
Experimental: false
Default Registry: docker.io
containerd:
Version: v1.2.0-rc.0-108-gc444666
GitCommit: c4446665cb9c30056f4998ed953e6d4ff22c7c39
runc:
Version: spec: 1.0.1-dev
GitCommit:
docker-init:
Version: 0.18.0
GitCommit: fec3683
- インスタンスが企業ネットワーク上にある場合は、プロキシ要件の構成(rootとして実行)
### Create the drop-in file /etc/systemd/system/docker.service.d/http-proxy.conf that contains proxy details:
cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://<your-company-domain>:80"
Environment="HTTPS_PROXY=http://<your-company-domain>:80"
Environment="NO_PROXY=localhost,127.0.0.0/8,.<no-proxy-domain>,/var/run/docker.sock"
EOF
- dockerデーモンを再起動して最新の変更をロードします
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
- プロキシがdockerで構成されているかどうかを確認します
$ docker info|grep -i proxy
Kubernetesパッケージのインストール
- 要塞ノードにログインします
- 外部kubernetesリポジトリを追加します(rootとして実行)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*
EOF
- SELinuxを許容モードに設定します(効率的に無効化します)
export PATH=/sbin:$PATH
setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
- プロキシをエクスポートして(インスタンスが企業ネットワーク上にある場合)、最新のkubeadm、kubeletおよびkubectlをインストールします
VERSION=1.27.6-0
sudo yum install -y kubelet-$VERSION kubeadm-$VERSION kubectl-$VERSION --disableexcludes=kubernetes
### enable kubelet service so that it auto-restart on reboot
sudo systemctl enable --now kubelet
- トラフィック・ルーティングの問題を回避するために、sysctlでnet.bridge.bridge-nf-call-iptablesが1に設定されていることを確認します(rootユーザーとして実行)
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
- kubeletを–fail-swap-onフラグでfalseに更新し、kubeletを再起動します(1.8以降、kubeletはスワップが有効な状態で起動に失敗します)
### run as a root user
### Update --fail-swap-on=false into /etc/sysconfig/kubelet
sed -i 's/KUBELET_EXTRA_ARGS=/KUBELET_EXTRA_ARGS="--fail-swap-on=false"/' /etc/sysconfig/kubelet
cat /etc/sysconfig/kubelet
### Reload and restart kubelet
systemctl daemon-reload
systemctl restart kubelet
Kubeconfigにアクセスするための要塞ノードの設定
- OCIコンソールで、ナビゲーション・メニューを使用します。「ソリューション、プラットフォームおよびエッジ」で、「開発者サービス」に移動し、「コンテナ・クラスタ(OKE)」をクリックし、‘WCSOKECluster’をクリックします
- 「クラスタへのアクセス」をクリックし、「ローカル・アクセス」をクリックすると、クラスタにアクセスするためのkubeconfigのダウンロード方法の詳細が表示されます。
$ oci -v
$ mkdir -p $HOME/.kube
$ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.phx.xxxxxx --file $HOME/.kube/config --region us-phoenix-1 --token-version 2.0.0
$ export KUBECONFIG=$HOME/.kube/config
- kubeconfigが設定されると、任意のホストまたはラップトップからkubectlコマンドを使用してクラスタにアクセスできます。
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
10.0.10.2 Ready node 111m v1.27.6
10.0.10.3 Ready node 111m v1.27.6
10.0.10.4 Ready node 111m v1.27.6
FSSのファイルシステムおよびセキュリティ・リストの作成
ファイルシステムの設定
OCIRの作成
Dockerイメージを管理するためのOCIRを設定します。
要塞ホストの準備
OKEでのWebLogic Kubernetes Operatorが管理するOracle WebCenter Sitesドメインの実行
ステップ1: パブリック・セキュリティ・リストの作成
要塞ノードのOKEクラスタと同じVCNにパブリック・セキュリティ・リスト(bastion_public_sec_list)を作成します*イングレス・ルール: (10.0.22.0/24は要塞サブネットに使用される予定のCIDRです)*エグレス:
ステップ2: プライベート・セキュリティ・リストの作成
ワーカー・ノード・サブネットに追加されるOKEクラスタと同じVCNにプライベート・セキュリティ・リスト(bastion_private_sec_list)を作成します。*イングレス・ルール: (10.0.22.0/24は要塞サブネットに使用される予定のCIDR)*エグレス・ルール:
ステップ3: ルート表の作成
要塞サブネットに使用される次の詳細を含むルート表(oke-bastion-routetables)を作成します
ステップ4: 要塞サブネットの作成
次を使用した要塞サブネットを作成します。CIDRブロック: 10.0.22.0/24、ルート表: oke-bastion-routetables (ステップ3で作成)、セキュリティ・リスト: bastion_public_sec_list (ステップ1で作成)およびDHCPオプション: デフォルト使用可能
ステップ5: 要塞アクセス用のワーカー・サブネットへのプライベート・セキュリティの追加
ステップ2で作成したプライベート・セキュリティ・リスト(bastion_private_sec_list)をワーカー・サブネットに追加して、要塞ノードをワーカー・ノードにssh接続できるようにします
ステップ6: 要塞ノードの作成
サブネットが“bastion-subnet”の要塞ノードを作成し(ステップ4で作成)、プライベート・セキュリティ・リスト(bastion_private_sec_list)を追加して(ステップ2でワーカー・サブネットに作成)、要塞ノードをワーカー・ノードにSSH接続できるようにします*インスタンスの更新名、オペレーティング・システム・イメージの選択、可用性ドメインおよびインスタンス・タイプ*クラスタが作成されるコンパートメント、VCNおよびサブネット・コンパートメントを選択します。ステップ4で作成したリージョナル要塞サブネットを選択します。「パブリックIPアドレスの割当て」をクリックしてください。
*要塞が作成されると次のように表示されます
ステップ7: 要塞ホストからのワーカー・ノードへのアクセス
- 要塞ノードにログインします
scp -i id_rsa id_rsa opc@<bastion-host-address>:/home/opc
ssh -i id_rsa opc@<bastion-host-address>
- id_rsaのコピーを要塞ノードに配置してワーカー・ノードにアクセスします
ssh -i id_rsa opc@10.0.1.5
詳細は次を参照してください: https://docs.cloud.oracle.com/en-us/iaas/Content/Resources/Assets/whitepapers/bastion-hosts.pdf
ファイル・システムの準備
OKEでのWebLogic Kubernetes Operatorが管理するOracle WebCenter Sitesドメインの実行
FSSのファイルシステムおよびセキュリティ・リストの作成
ノート: OKEで作成されたVCNにファイルシステムおよびセキュリティ・リストを作成していることを確認してください*OCIコンソールにログインし、ファイル・ストレージに移動して「ファイル・システム」をクリックします*「ファイル・システムの作成」をクリックします
*デフォルト値でファイル・システムおよびマウント・ターゲットを作成できます。ただし、ファイル・システムおよびマウント・ターゲットの名前を変更する場合は、次のステップに従います。
ノート: マウント・ターゲットの仮想クラウド・ネットワークが、インスタンスが作成され、このファイル・システムにアクセスするネットワークを参照していることを確認してください。*ファイル・システム名を"WCSFileSystem"に編集および変更します
*マウント・ターゲット名をWCSMountTargetに編集および変更して、選択した仮想クラウド・ネットワークが“WCSVCN”で、すべてのインスタンスが作成される仮想クラウド・ネットワークであることを確認します。パブリック・サブネットを選択します。「作成」をクリックします
*ファイル・システムが作成されると、次のページに移動します。“WCSFileSystem”リンクをクリックします。
*「マウント・コマンド」をクリックすると、このファイル・システムをインスタンスにマウントする方法の詳細が表示されます。
*「マウント・コマンド」ポップアップには、インスタンスからマウント・ターゲットにアクセスするためにセキュリティ・リストで構成する必要がある内容の詳細が表示されます。インスタンスで実行する必要があるマウント・コマンドを書き留めます
*マウント・コマンドのポップアップに示されているように、次のイングレス・ルールを使用してセキュリティ・リスト"fss_security list"を作成します。
*マウント・コマンドのポップアップに示されているように、次のようにエグレス・ルールを作成します。
*次に示すように、作成されたセキュリティ・リスト"fss_security list"を各サブネットに追加してください: それ以外の場合、作成されたセキュリティ・リスト・ルールはインスタンスに適用されません。
*作成されたセキュリティ・リスト"fss_security list"がサブネットに追加されたら、インスタンスにログインし、ファイル・システムを要塞ノードにマウントします
#login as root
sudo su
#Install NFS Utils
yum install nfs-utils
#Create directory where you want the mount the file system
mkdir -p /mnt/WCSFileSystem
#Give proper permissions so that all users can access the share volume
chmod 777 /mnt/WCSFileSystem
# Alternatively you can use: "mount 10.0.0.7:/WCSFileSystem /mnt/WCSFileSystem". To persist on reboot add into /etc/fstab
echo "10.0.0.7:/WCSFileSystem /mnt/WCSFileSystem nfs nfsvers=3 0 0" >> /etc/fstab
mount -a
cd /mnt/WCSFileSystem
- /WCSFileSystemが作成されたファイルシステムを指していることを確認します
[root@wcsbastioninstance WCSFileSystem]# df -h .
Filesystem Size Used Avail Use% Mounted on
10.0.0.7:/WCSFileSystem 8.0E 0 8.0E 0% /mnt/WCSFileSystem
[root@wcsbastioninstance WCSFileSystem]#
OCIRの作成
OKEでのWebLogic Kubernetes Operatorが管理するOracle WebCenter Sitesドメインの実行
必要なすべてのイメージをOCIRにプッシュし、OCIRから使用します。OCIRにイメージをプッシュする前に、次のステップに従います
認証トークンの作成
OCIRログインからコンソールにイメージをプッシュ/プルするためのDockerパスワードとして使用される認証トークンを作成し、上部のナビゲーションのOCIユーザー名の下にあるドロップダウンの「ユーザー設定」に移動します*「ユーザーの詳細」ページで、左側のナビゲーションで「認証トークン」を選択し、「トークンの生成」ボタンをクリックします: 名前を入力し、「トークンの生成」をクリックします
*トークンが生成されます
*生成されたトークンをコピーします。ノート: これは一度のみ表示され、さらに使用するためには安全な場所にコピーする必要があります。ノート: これは一度のみ表示され、さらに使用するためには安全な場所にコピーする必要があります。
OCIR名の取得
Oracle Cloud InfrastructureコンソールにログインしてOCIRリポジトリ名を取得します。OCIコンソールで、ナビゲーション・メニューを開きます。「ソリューションおよびプラットフォーム」で、「開発者サービス」に移動して「レジストリ(OCIR)」をクリックします。
OCIRの使用
Docker CLIを使用してOCIRにログインします(phoenixの場合: phx.ocir.io、ashburnの場合: iad.ocir.ioなど) a. docker login phx.ocir.io b.ユーザー名の入力を求められたら、OCIRリポジトリ名/ociユーザー名(axcmmdmzqtqb/oracleidentitycloudservice/myemailid@oracle.comなど)としてdockerユーザー名を入力します c. パスワードの入力を求められたら、生成された認証トークン、つまりp[3k;pYePDSTD:-(LlASを入力します
イメージにタグ付けしてOCIRにプッシュできます。
$ docker login phx.ocir.io
$ username - axcmmdmzqtqb/oracleidentitycloudservice/myemailid@oracle.com
$ password - p[3k;pYePDSTD:-(LlAS (Token Generated for OCIR using user setting)
これは、すべてのイメージの要塞ノードで実行する必要があります。
よくある質問
この項では、KubernetesへのOracle WebCenter Sitesドメイン・デプロイメントの既知の問題について説明します。また、よくある質問に対する回答も示します。
Oracle WebCenter Sitesコンポジット・アプリケーションの外部URLアクセスの構成
Oracle WebCenter Sitesコンポジット・アプリケーションがインターネット経由で外部URLにアクセスする場合(クラスタがhttpプロキシ・サーバーの背後にある場合)、管理サーバーおよび管理対象サーバー・ポッドに対して次のプロキシ・パラメータを構成する必要があります。
-Dhttp.proxyHost=www-your-proxy.com
-Dhttp.proxyPort=proxy-port
-Dhttps.proxyHost=www-your-proxy.com
-Dhttps.proxyPort=proxy-port
-Dhttp.nonProxyHosts="localhost|wcsitesinfra-adminserver|wcsitesinfra-wcsites-server1|*.svc.cluster.local|*.your.domain.com|/var/run/docker.sock"
これを行うには、domain.yaml
構成ファイルを編集し、プロキシ・パラメータをspec.serverPod.env.JAVA_OPTIONS
環境変数値に追加します。
たとえば:
serverPod:
env:
- name: JAVA_OPTIONS
value: -Dweblogic.StdoutDebugEnabled=false -Dweblogic.ssl.Enabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dhttp.proxyHost=www-your-proxy.com -Dhttp.proxyPort=proxy-port -Dhttps.proxyHost=www-your-proxy.com -Dhttps.proxyPort=proxy-port -Dhttp.nonProxyHosts="localhost|wcsitesinfra-adminserver|wcsitesinfra-wcsites-server1|*.svc.cluster.local|*.your.domain.com|/var/run/docker.sock"
- name: USER_MEM_ARGS
value: '-Djava.security.egd=file:/dev/./urandom -Xms256m -Xmx1024m '
volumeMounts:
ノート:
-Dhttp.nonProxyHosts
パラメータには、管理サーバーおよび各管理対象サーバーのポッド名が必要です。例:wcsitesinfra-adminserver
、wcsitesinfra-wcsites-server1
など。
更新されたdomain.yaml
ファイルを適用します:
$ kubectl apply -f domain.yaml
ノート: サーバー・ポッドは自動的に再起動されます(ローリング再起動)。
Oracle WebLogic Server Kubernetes OperatorのFAQ
一般的なOracle WebLogic Server Kubernetes Operatorの使用に関するよくある質問を参照してください。
付録
この項では、KubernetesでのOracle WebCenter Sitesドメイン・デプロイメントに関連するその他のタスクについて説明します。
ドメイン・リソースのサイズ設定
Kubernetesクラスタに設定されたOracle WebCenter Sitesドメインのリソースのサイズ設定について説明します。
WebCenter Sitesクラスタのサイズ設定に関する推奨事項
Oracle WebCenter Sites | 通常の使用状況 | 中程度の使用状況 | 高い使用状況 |
---|---|---|---|
管理サーバー | CPUコア数: 1、メモリー: 4GB | CPUコア数: 1、メモリー: 4GB | CPUコア数: 1、メモリー: 4GB |
管理対象サーバー | サーバー数: 2、CPUコア数: 2、メモリー: 16GB | サーバー数: 2、CPUコア数: 4、メモリー: 16GB | サーバー数: 3、CPUコア数: 6、メモリー: 16-32GB |
PVストレージ | 最小250GB | 最小250GB | 最小500GB |
セキュリティ強化
DockerおよびKubernetesクラスタの強化に関するリソースを確認します。
Kubernetesクラスタの保護には、APIサーバー、etcd、ノード、コンテナ・イメージ、コンテナ・ランタイムおよびクラスタ・ネットワークを保護する、複数の前面での強化が含まれます。徹底した防御の原則、最小特権の原則を適用し、攻撃面を最小化します。Kube-Benchなどのセキュリティ・ツールを使用して、クラスタのセキュリティ状態を検証します。Kubernetesは急速に進化しているため、Kubernetesクラスタの保護に関する最新情報は、Kubernetesのセキュリティの概要を参照してください。また、デプロイされたDockerコンテナがDockerのセキュリティのガイダンスに従っていることも確認してください。
この項では、DockerおよびKubernetesを安全に構成する方法について説明します。
参照
- Dockerの強化
- Kubernetesの強化
- DockerおよびKubernetesで実行されるOracle WebLogic Serverのセキュリティ・ベスト・プラクティス
オンプレミスのクイック・スタート・デプロイメント
このクイック・スタートを使用して、Oracle WebLogic Server Kubernetes OperatorでKubernetesクラスタ(オンプレミス環境)にOracle WebCenter Sitesドメイン・デプロイメントを作成します。このウォークスルーはデモンストレーションのみを目的としており、本番で使用するものではないことに注意してください。これらの手順は、Kubernetesをすでに理解していることを前提としています。詳細な手順が必要な場合は、「インストール・ガイド」を参照してください。
ハードウェア要件
オペレータを使用してOracle WebCenter Sitesドメインをデプロイおよび実行するためにサポートされているLinuxカーネルは、Oracle Linux 8およびRed Hat Enterprise Linux 8です。詳細は、「前提条件」を参照してください。
この演習で単一ノードのKubernetesクラスタを作成して、コンテナとして実行されているOracle WebCenter SitesおよびOracle Databaseの1つの管理対象サーバーでwcsitesinfra
ドメイン・タイプをデプロイするための、最小ハードウェア要件です
ハードウェア | サイズ |
---|---|
RAM | 32GB |
ディスク領域 | 250GB+ |
CPUコア | 6 |
Kubernetesクラスタで設定されたOracle WebCenter Sitesドメインのリソースのサイズ設定については、ここを参照してください。
オンプレミス環境でのOracle WebCenter Sitesの設定
このトピックのステップを実行して、単一インスタンスのオンプレミスKubernetesクラスタを作成し、Oracle WebCenter Sitesのwcsitesinfra
ドメイン・タイプを作成します。
- ステップ1 - Kubernetesクラスタ用の仮想マシンの準備
- ステップ2 - 単一インスタンスのKubernetesクラスタの設定
- ステップ3 - スクリプトおよびイメージの取得
- ステップ4 - WebLogic Kubernetes Operatorのインストール
- ステップ5 - Traefik (イングレスベース)ロード・バランサのインストール
- ステップ6 - Oracle WebCenter Sitesドメインの作成および構成
1. Kubernetesクラスタ用の仮想マシンの準備
説明のため、これらの手順はOracle Linux 8用です。Linuxの異なるフレーバを使用している場合は、それに応じてステップを調整する必要があります。
ノート: これらのステップは、特に指定しないかぎり、
root
ユーザーで実行する必要があります。コマンドにYOUR_USERID
が表示されるたびに、実際のuserid
に置き換える必要があります。
1.1 前提条件
DockerおよびKubernetesファイルが格納されるディレクトリを選択します。Dockerディレクトリは、すべてのイメージおよびコンテナを含むDockerファイル・システムに使用されるため、多くの空き領域(100GBを超える)を持つディスク上に存在する必要があります。Kubernetesディレクトリは、
/var/lib/kubelet
ファイル・システムおよび永続ボリューム・ストレージに使用されます。$ export kubelet_dir=/u01/kubelet $ mkdir -p $docker_dir $kubelet_dir $ ln -s $kubelet_dir /var/lib/kubelet
ホストでIPv4転送が有効になっていることを確認します。
ノート: eth0をコンピュート・リソースのイーサネット・インタフェース名(異なる場合)に置き換えてください。
$ /sbin/sysctl -a 2>&1|grep -s 'net.ipv4.conf.eth0.forwarding' $ /sbin/sysctl -a 2>&1|grep -s 'net.ipv4.conf.lo.forwarding' $ /sbin/sysctl -a 2>&1|grep -s 'net.ipv4.ip_nonlocal_bind'
例: すべてが1に設定されていることを確認します
$ net.ipv4.conf.eth0.forwarding = 1 $ net.ipv4.conf.lo.forwarding = 1 $ net.ipv4.ip_nonlocal_bind = 1
解決策: 次のコマンドを使用して、すべての値をすぐに1に設定します:
$ /sbin/sysctl net.ipv4.conf.eth0.forwarding=1 $ /sbin/sysctl net.ipv4.conf.lo.forwarding=1 $ /sbin/sysctl net.ipv4.ip_nonlocal_bind=1
再起動後の設定を保持するには: /usr/lib/sysctl.d/、/run/sysctl.d/および/etc/sysctl.d/のファイルで前述の値を1に更新します
転送のiptablesルールを確認します。
Kubernetesはiptablesを使用して多くのネットワーキングおよびポート転送のルールを処理します。標準のDockerインストールでは、転送を妨げるファイアウォール・ルールを作成できます。
転送トラフィックを受け入れるiptablesルールが設定されているかどうかを確認します:
$ /sbin/iptables -L -n | awk '/Chain FORWARD / {print $4}' | tr -d ")"
出力が“DROP”の場合は、次のコマンドを実行します:
$ /sbin/iptables -P FORWARD ACCEPT
iptablesルールが“ACCEPT”に正しく設定されているかどうかを確認します:
$ /sbin/iptables -L -n | awk '/Chain FORWARD / {print $4}' | tr -d ")"
firewalldを無効化して停止します:
$ systemctl disable firewalld $ systemctl stop firewalld
1.2 CRI-OおよびPodmanのインストール
ノート: すでにCRI-OおよびPodmanを構成している場合は、「Kubernetesのインストールおよび構成」に進みます
オペレーティング・システムのバージョンが適切であることを確認します:
$ uname -a $ more /etc/oracle-release
たとえば:
Linux xxxxxx 5.15.0-100.96.32.el8uek.x86_64 #2 SMP Tue Feb 27 18:08:15 PDT 2024 x86_64 x86_64 x86_64 GNU/Linux Oracle Linux Server release 8.6
CRI-Oのインストール:
dnf config-managerにOLCNE (Oracle Cloud Native Environment)リポジトリを追加します。これにより、dnfはCRI-Oインストールに必要な追加パッケージをインストールできます。
Oracle Linux 8の場合:
$ dnf config-manager --add-repo https://yum.oracle.com/repo/OracleLinux/OL8/olcne18/x86_64
Oracle Linux 9の場合:
$ dnf config-manager --add-repo https://yum.oracle.com/repo/OracleLinux/OL9/olcne18/x86_64
cri-oをインストールします:
$ dnf install -y cri-o
ノート: 異なるバージョンのCRI-Oまたは異なるオペレーティング・システムにインストールするには、CRI-Oインストール手順を参照してください。
CRI-Oサービスの開始:
カーネル・モジュールおよびプロキシを設定します
### Enable kernel modules overlay and br_netfilter which are required for Kubernetes Container Network Interface (CNI) plugins $ modprobe overlay $ modprobe br_netfilter ### To automatically load these modules at system start up create config as below $ cat <<EOF > /etc/modules-load.d/crio.conf overlay br_netfilter EOF $ sysctl --system ### Set the environmental variable CONTAINER_RUNTIME_ENDPOINT to crio.sock to use crio as the container runtime $ export CONTAINER_RUNTIME_ENDPOINT=unix:///var/run/crio/crio.sock ### Setup Proxy for CRIO service $ cat <<EOF > /etc/sysconfig/crio http_proxy=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT https_proxy=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT HTTPS_PROXY=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT HTTP_PROXY=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT no_proxy=localhost,127.0.0.0/8,ADD-YOUR-INTERNAL-NO-PROXY-LIST,/var/run/crio/crio.sock NO_PROXY=localhost,127.0.0.0/8,ADD-YOUR-INTERNAL-NO-PROXY-LIST,/var/run/crio/crio.sock EOF
CRI-Oのランタイムを設定します
### Setting the runtime for crio ## Update crio.conf $ vi /etc/crio/crio.conf ## Append following under [crio.runtime] conmon_cgroup = "kubepods.slice" cgroup_manager = "systemd" ## Uncomment following under [crio.network] network_dir="/etc/cni/net.d" plugin_dirs=[ "/opt/cni/bin", "/usr/libexec/cni", ]
CRI-Oサービスを開始します
## Restart crio service $ systemctl restart crio.service $ systemctl enable --now crio
Podmanのインストール:
Oracle Linux 8でPodmanが使用できない場合は、次のコマンド構文を使用してPodmanおよび関連ツールをインストールします:
$ sudo dnf module install container-tools:ol8
Oracle Linux 9で、Podmanが使用できない場合は、次のコマンド構文を使用してPodmanおよび関連ツールをインストールします:
$ sudo dnf install container-tools
設定では"docker" CLIコマンドを使用するため、Oracle Linux 8/9で使用できない場合、podman-dockerパッケージをインストールします。これにより、次のコマンド構文を使用して効果的にdockerコマンドにpodmanの別名を指定できます:
$ sudo dnf install podman-docker
Podmanルートレスを構成します:
ユーザーID (ルートレス環境)でPodmanを使用する場合、Podmanでは、実行しているユーザーはファイル/etc/subuidおよび/etc/subgidにリストされているUIDの範囲が必要です。ファイルを直接更新するのではなく、usermodプログラムを使用して、次のコマンドでUIDおよびGIDをユーザーに割り当てることができます:
$ sudo /sbin/usermod --add-subuids 100000-165535 --add-subgids 100000-165535 <REPLACE_USER_ID> $ podman system migrate
ノート: 前述の“podman system migrate”は、rootではなくユーザーIDで実行する必要があります。
ユーザーIDの追加を検証します
$ cat /etc/subuid $ cat /etc/subgid
予想される類似の出力
opc:100000:65536 <user-id>:100000:65536
1.3 Kubernetesのインストールおよび構成
外部Kubernetesリポジトリを追加します:
$ cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/ enabled=1 gpgcheck=1 gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni EOF
SELinuxを許容モードに設定します(効率的に無効化します):
$ export PATH=/sbin:$PATH $ setenforce 0 $ sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
プロキシをエクスポートし、
kubeadm
、kubelet
およびkubectl
をインストールします:### Get the nslookup IP address of the master node to use with apiserver-advertise-address during setting up Kubernetes master ### as the host may have different internal ip (hostname -i) and nslookup $HOSTNAME $ ip_addr=`nslookup $(hostname -f) | grep -m2 Address | tail -n1| awk -F: '{print $2}'| tr -d " "` $ echo $ip_addr ### Set the proxies $ export NO_PROXY=localhost,127.0.0.0/8,ADD-YOUR-INTERNAL-NO-PROXY-LIST,/var/run/crio/crio.sock,$ip_addr,.svc $ export no_proxy=localhost,127.0.0.0/8,ADD-YOUR-INTERNAL-NO-PROXY-LIST,/var/run/crio/crio.sock,$ip_addr,.svc $ export http_proxy=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT $ export https_proxy=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT $ export HTTPS_PROXY=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT $ export HTTP_PROXY=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT ### Install the kubernetes components and enable the kubelet service so that it automatically restarts on reboot $ dnf install -y kubeadm kubelet kubectl $ systemctl enable --now kubelet
トラフィック・ルーティングの問題を回避するために、
sysctl
でnet.bridge.bridge-nf-call-iptables
が1に設定されていることを確認します:$ cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 EOF $ sysctl --system
スワップ・チェックを無効にします:
$ sed -i 's/KUBELET_EXTRA_ARGS=/KUBELET_EXTRA_ARGS="--fail-swap-on=false"/' /etc/sysconfig/kubelet $ cat /etc/sysconfig/kubelet ### Reload and restart kubelet $ systemctl daemon-reload $ systemctl restart kubelet
crioを使用してイメージをプルします:
$ kubeadm config images pull --cri-socket unix:///var/run/crio/crio.sock
1.4 Helmの設定
Helm v3.10.3+をインストールします。
https://github.com/helm/helm/releasesからHelmをダウンロードします。Helm v3.10.3をダウンロードする例:
$ wget https://get.helm.sh/helm-v3.10.3-linux-amd64.tar.gz
tar.gz
を解凍します:$ tar -zxvf helm-v3.10.3-linux-amd64.tar.gz
解凍したディレクトリでHelmバイナリを検索し、目的の宛先に移動します:
$ mv linux-amd64/helm /usr/bin/helm
helm version
を実行して、インストールを検証します:$ helm version version.BuildInfo{Version:"v3.10.3", GitCommit:"835b7334cfe2e5e27870ab3ed4135f136eecc704", GitTreeState:"clean", GoVersion:"go1.18.9"}
2. 単一インスタンスのKubernetesクラスタの設定
ノート :
- これらのステップは、特に指定しないかぎり、
root
ユーザーで実行する必要があります。 - 別のcidrブロック(つまり、
kubeadm init
コマンドの--pod-network-cidr=
に10.244.0.0/16
以外)を使用することを選択した場合は、NO_PROXY
およびno_proxy
も適切な値で更新します。- また、デプロイする前に必ず
kube-flannel.yaml
を新しい値で更新してください。
- また、デプロイする前に必ず
- 次を適切な値で置き換えます:
ADD-YOUR-INTERNAL-NO-PROXY-LIST
REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT
2.1 マスター・ノードの設定
必要な環境変数を設定するシェル・スクリプトを作成します。ログイン時に実行されるように、ユーザーの
.bashrc
にこれを追加できます。HTTPプロキシの背後にいる場合は、ここでプロキシ設定を構成する必要もあります:## grab my IP address to pass into kubeadm init, and to add to no_proxy vars ip_addr=`nslookup $(hostname -f) | grep -m2 Address | tail -n1| awk -F: '{print $2}'| tr -d " "` export pod_network_cidr="10.244.0.0/16" export service_cidr="10.96.0.0/12" export PATH=$PATH:/sbin:/usr/sbin ### Set the proxies export NO_PROXY=localhost,127.0.0.0/8,ADD-YOUR-INTERNAL-NO-PROXY-LIST,/var/run/docker.sock,$ip_addr,$pod_network_cidr,$service_cidr export no_proxy=localhost,127.0.0.0/8,ADD-YOUR-INTERNAL-NO-PROXY-LIST,/var/run/docker.sock,$ip_addr,$pod_network_cidr,$service_cidr export http_proxy=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT export https_proxy=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT export HTTPS_PROXY=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT export HTTP_PROXY=http://REPLACE-WITH-YOUR-COMPANY-PROXY-HOST:PORT
スクリプトを調達して環境変数を設定します:
$ . ~/.bashrc
コマンド補完を実装するには、次をスクリプトに追加します:
$ [ -f /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion $ source <(kubectl completion bash)
kubeadm init
を実行して、マスター・ノードを作成します:$ kubeadm init \ --pod-network-cidr=$pod_network_cidr \ --apiserver-advertise-address=$ip_addr \ --ignore-preflight-errors=Swap > /tmp/kubeadm-init.out 2>&1
YOUR_USERID:YOUR_GROUP
を使用して端末にログインします。次に、YOUR_USERID:YOUR_GROUP
を使用して、ステップ1から3と同様の~/.bashrc
を設定します。ノート: 今後は、
YOUR_USERID:YOUR_GROUP
を使用して、root
ではなく、kubectl
コマンドを実行します。Kubernetesクラスタにアクセスするための
YOUR_USERID:YOUR_GROUP
を設定します:$ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl
コマンドを使用して、KubernetesクラスタにアクセスするようにYOUR_USERID:YOUR_GROUP
が設定されていることを検証します:$ kubectl get nodes
ノート: このステップでは、ポッド・ネットワーク・アドオンがまだインストールされていないため、ノードは準備完了状態ではありません。次のステップの後、ノードのステータスは準備完了と表示されます。
ポッド・ネットワーク・アドオン(
flannel
)をインストールして、ポッドが相互に通信できるようにします。ノート:
10.244.0.0/16
とは異なるcidrブロックを使用している場合は、クラスタにデプロイする前に、正しいcidrアドレスでkube-flannel.yml
をダウンロードして更新します:$ wget https://github.com/flannel-io/flannel/releases/download/v0.25.1/kube-flannel.yml ### Update the CIDR address if you are using a CIDR block other than the default 10.244.0.0/16 $ kubectl apply -f kube-flannel.yml
マスター・ノードが準備完了ステータスであることを検証します:
$ kubectl get nodes
たとえば:
NAME STATUS ROLES AGE VERSION mymasternode Ready master 8m26s v1.27.2
または:
$ kubectl get pods -n kube-system
たとえば:
NAME READY STATUS RESTARTS AGE pod/coredns-86c58d9df4-58p9f 1/1 Running 0 3m59s pod/coredns-86c58d9df4-mzrr5 1/1 Running 0 3m59s pod/etcd-mymasternode 1/1 Running 0 3m4s pod/kube-apiserver-node 1/1 Running 0 3m21s pod/kube-controller-manager-mymasternode 1/1 Running 0 3m25s pod/kube-flannel-ds-amd64-6npx4 1/1 Running 0 49s pod/kube-proxy-4vsgm 1/1 Running 0 3m59s pod/kube-scheduler-mymasternode 1/1 Running 0 2m58s
マスター・ノードでポッドをスケジュールするには、ノードを
taint
します:$ kubectl taint nodes --all node-role.kubernetes.io/master-
完了しました。Kubernetesクラスタ環境は、Oracle WebCenter Sitesドメインをデプロイする準備ができています。
Kubernetesクラスタを設定するには、公式のドキュメントを参照してください。
3. スクリプトおよびイメージの取得
3.1 Oracle WebCenter Sitesドメインをデプロイするためのコード・リポジトリの設定
これらのステップに従って、Oracle WebCenter Sitesドメインのデプロイに必要なソース・コード・リポジトリを設定します。
3.2 必要なDockerイメージを取得し、ローカル・レジストリに追加
Oracle Container RegistryからOracle WebLogic Operatorイメージを取得します:
- 初めてユーザーがOracle Container Registryからイメージをプルするには、https://container-registry.oracle.comに移動し、Oracle Single Sign-On (SSO)認証サービスを使用してログインします。SSO資格証明がまだない場合は、ページの上部にある「サインイン」リンクをクリックして作成します。
Webインタフェースを使用して、デプロイする予定のOracleソフトウェア・イメージのOracle標準条件および制約事項に同意します。これらの条件の同意は、ソフトウェア・イメージをOracle Single Sign-Onログイン資格証明にリンクするデータベースに格納されます。
イメージを取得するには、Oracle Container Registryにログインします:
$ podman login container-registry.oracle.com
- オペレータ・イメージをプルします:
$ podman pull container-registry.oracle.com/middleware/weblogic-kubernetes-operator:4.2.9 $ podman tag container-registry.oracle.com/middleware/weblogic-kubernetes-operator:4.2.9 oracle/weblogic-kubernetes-operator:4.2.9
Oracle Container RegistryからWebCenter Sitesイメージをプル、または「イメージの作成または更新」に従って、Oracle WebCenter Sites 14.1.2.0.0イメージを構築します。事前構築済のOracle WebCenter Sitesイメージ14.1.2.0.0インストール・イメージをプルします:
$ podman pull container-registry.oracle.com/middleware/webcentersites:14.1.2.0.0
前述の構築およびプルされたイメージをすべてクラスタ内のすべてのノードにコピーするか、クラスタがアクセスできるDockerレジストリに追加します。
3.3 Oracle WebCenter Sitesドメインをデプロイするためのコード・リポジトリの設定
KubernetesでのOracle WebCenter Sitesドメイン・デプロイメントでは、Oracle WebLogic Kubernetes Operatorインフラストラクチャを利用します。Oracle WebCenter Sitesドメインをデプロイするには、次のようにデプロイメント・スクリプトを設定する必要があります:
ソース・コードを設定する作業ディレクトリを作成します。
$ mkdir $HOME/wcs_1412 $ cd $HOME/wcs_1412
WebCenter Sites Kubernetesデプロイメント・スクリプトをこのリポジトリからダウンロードし、WebLogic Operatorサンプルの場所にコピーします。
$ git clone https://github.com/oracle/fmw-kubernetes.git $ export WORKDIR=$HOME/wcs_1412/fmw-kubernetes/OracleWebCenterSites/kubernetes
このドキュメントで説明するように、
$HOME/wcs_1412/fmw-kubernetes/OracleWebCenterSites/kubernetes
のデプロイメント・スクリプトを使用して、WebCenter Sitesドメインを設定できるようになりました。
4. WebLogic Kubernetes Operatorのインストール
4.1 WebLogic Kubernetes Operatorの準備。
Oracle WebCenter Sites Operatorコードのオペレータ
WORKDIR
にネームスペースoperator-ns
を作成します:$ kubectl create namespace operator-ns
オペレータのネームスペースにオペレータのサービス・アカウント
operator-sa
を作成します:$ kubectl create serviceaccount -n operator-ns operator-sa
4.2 WebLogic Kubernetes Operatorのインストール
Helmを使用して、クローニングしたディレクトリからオペレータをインストールして起動します:
$ cd ${WORKDIR}
$ helm repo add weblogic-operator https://oracle.github.io/weblogic-kubernetes-operator/charts --force-update
$ helm install weblogic-kubernetes-operator weblogic-operator/weblogic-operator --version 4.2.9 --namespace operator-ns --set serviceAccount=operator-sa --set "javaLoggingLevel=FINE" --wait
NAME: weblogic-kubernetes-operator
LAST DEPLOYED: Tue May 19 04:04:32 2024
NAMESPACE: operator-ns
STATUS: deployed
REVISION: 1
TEST SUITE: None
4.3 WebLogic Kubernetes Operatorの検証
オペレータのネームスペースにポッドをリストして、オペレータのポッドが実行中であることを検証します。オペレータの1つが表示されます:
$ kubectl get pods -n operator-ns
オペレータ・ポッドのログを表示して、オペレータが稼働していることを検証します:
$ kubectl logs -n operator-ns -c weblogic-operator deployments/weblogic-operator
WebLogic Kubernetes Operator v4.2.9がインストールされています。ロード・バランサおよびOracle WebCenter Sitesドメインの設定を続行します。
5.Traefik (イングレスベース)ロード・バランサのインストール
Oracle WebLogic Server Kubernetes Operatorは、Traefik、Nginx、Apache Webtierの3つのロード・バランサをサポートしています。サンプルはドキュメントに記載されています。
このクイック・スタートでは、Traefikイングレス・コントローラをインストールして、Oracle WebCenter Sitesドメインのロード・バランシングを提供する方法を示します。
Traefikのネームスペースを作成します:
$ kubectl create namespace traefik
サード・パーティ・サービス用のHelmを設定します:
$ helm repo add traefik https://helm.traefik.io/traefik --force-update
提供されているサンプル値を使用して、Traefikオペレータを
traefik
ネームスペースにインストールします:$ cd ${WORKDIR} $ helm install traefik traefik/traefik \ --namespace traefik \ --values charts/traefik/values.yaml \ --set "kubernetes.namespaces={traefik}" \ --set "service.type=NodePort" \ --wait
6. Oracle WebCenter Sitesドメインの作成および構成
6.1 Oracle WebCenter Sitesドメインの準備
Oracle WebCenter Sitesドメインをホストできるネームスペースを作成します:
$ kubectl create namespace wcsites-ns $ kubectl label namespace wcsites-ns weblogic-operator=enabled
Kubernetesシークレットを作成します。
ドメインと同じKubernetesネームスペースにドメインのKubernetesシークレットを作成します。この例では、ユーザー名は
weblogic
、パスワードはWelcome1
、ネームスペースはwcsites-ns
です:$ cd ${WORKDIR}/create-weblogic-domain-credentials $ ./create-weblogic-credentials.sh \ -u weblogic \ -p Welcome1 \ -n wcsites-ns \ -d wcsitesinfra \ -s wcsitesinfra-domain-credentials
ドメインと同じKubernetesネームスペースにRCUのKubernetesシークレットを作成します:
- スキーマ・ユーザー: WCS1
- スキーマ・パスワード: Oradoc_db1
- DB sysユーザー・パスワード: Oradoc_db1
- ドメイン名: wcsitesinfra
- ドメイン・ネームスペース: wcsites-ns
- シークレット名: wcsitesinfra-rcu-credentials
$ cd ${WORKDIR}/create-rcu-credentials $ ./create-rcu-credentials.sh \ -u WCS1 \ -p Oradoc_db1 \ -a sys \ -q Oradoc_db1 \ -d wcsitesinfra \ -n wcsites-ns \ -s wcsitesinfra-rcu-credentials
Kubernetes永続性ボリュームおよび永続性ボリューム・クレームを作成します。
Oracle WebCenter Sitesドメイン・ホーム・ディレクトリを作成します。
uid:gid
が1000:0
のホスト・システムにユーザーがすでに存在するかどうかを確認します。$ sudo getent passwd 1000
このコマンドがユーザー名(最初のフィールド)を返す場合は、次の
useradd
コマンドをスキップできます。そうでない場合は、useradd
を使用してoracleユーザーを作成します:$ sudo useradd -u 1000 -g 0 oracle
Oracle WebCenter Sitesドメイン・ホームに使用するディレクトリを作成します:
$ sudo mkdir /scratch/K8SVolume/WCSites $ sudo chown -R 1000:0 /scratch/K8SVolume/WCSites
create-wcsites-domain/utils/create-wcsites-pv-pvc-inputs.yaml
を次の値で更新します:
- baseName: domain
- domainUID: wcsitesinfra
- ネームスペース: wcsites-ns
- weblogicDomainStoragePath: /scratch/K8SVolume/WCSites
$ cd ${WORKDIR}/ $ cp create-wcsites-domain/utils/create-pv-pvc-inputs.yaml create-wcsites-domain/utils/create-pv-pvc-inputs.yaml.orig $ sed -i -e "s:baseName\: weblogic-sample:baseName\: domain:g" create-pv-pvc-inputs.yaml $ sed -i -e "s:domainUID\::domainUID\: wcsitesinfra:g" create-pv-pvc-inputs.yaml $ sed -i -e "s:namespace\: default:namespace\: wcsites-ns:g" create-pv-pvc-inputs.yaml $ sed -i -e "s:#weblogicDomainStoragePath\: /scratch/K8SVolume/WCSites:weblogicDomainStoragePath\: /scratch/K8SVolume/WCSites:g" create-pv-pvc-inputs.yaml
create-pv-pvc.sh
スクリプトを実行して、PVおよびPVC構成ファイルを作成します:
$ sh create-weblogic-domain-pv-pvc/create-pv-pvc.sh \ -i create-wcsites-domain/utils/create-wcsites-pv-pvc-inputs.yaml \ -o create-wcsites-domain/output
- 前のステップで作成した構成ファイルを使用してPVおよびPVCを作成します:
$ kubectl create -f create-wcsites-domain/output/pv-pvcs/wcsitesinfra-domain-pv.yaml $ kubectl create -f create-wcsites-domain/output/pv-pvcs/wcsitesinfra-domain-pvc.yaml
Oracle WebCenter Sitesドメインのデータベースをインストールして構成します。
このステップは、スタンドアロン・データベースがまだ設定されておらず、コンテナでデータベースを使用する場合にのみ必要です。
ノート: Oracle Database Dockerイメージは、本番以外の用途でのみサポートされています。詳細は、My Oracle Supportノート: Oracle Support for Database Running on Docker(ドキュメントID 2216342.1)を参照してください。本番環境では、スタンドアロン・データベースを使用することをお薦めします。この例では、コンテナにデータベースを作成するステップを示します。
Oracle WebCenter Sitesドメインの作成を開始する環境の準備が整いました。
6.2 Oracle WebCenter Sitesドメインの作成
Oracle WebCenter Sitesドメイン・デプロイメントのサンプル・スクリプトは、
<weblogic-kubernetes-operator-project>/kubernetes/create-wcsites-domain
にあります。create-domain-inputs.yaml
(またはそのコピー)を編集して、ドメインの詳細を指定する必要があります。create-domain.sh
スクリプトを実行して、ドメインを作成します:$ cd ${WORKDIR}/ $ sh create-wcsites-domain/domain-home-on-pv/create-domain.sh \ -i create-wcsites-domain/domain-home-on-pv/create-domain-inputs.yaml \ -o create-wcsites-domain/output
Kubernetesドメイン・オブジェクトを作成します:
create-domain.shが成功すると、ドメインおよびサーバーを起動するKubernetesリソース・ドメインの作成に使用できる
output/weblogic-domains/wcsitesinfra/domain.yaml
が生成されます:$ cd ${WORKDIR}/ $ kubectl create -f create-wcsites-domain/output/weblogic-domains/wcsitesinfra/domain.yaml
wcsitesinfra
という名前のKubernetesドメイン・オブジェクトが作成されていることを検証します:$ kubectl get domain -n wcsites-ns NAME AGE wcsitesinfra 3m18s
ドメインを作成すると、イントロスペクト・ポッドが作成されます。これにより、ドメイン・ホームが検査され、
wcsitesinfra-adminserver
ポッドが起動されます。wcsitesinfra-adminserver
ポッドが正常に起動すると、管理対象サーバー・ポッドがパラレルで起動されます。wcsites-ns
ネームスペースで、ドメイン作成のステータスを確認します:$ kubectl get pods -n wcsites-ns -w
Oracle WebCenter Sitesドメイン・サーバー・ポッドおよびサービスが作成され、準備完了状態になっていることを確認します:
$ kubectl get all -n wcsites-ns
6.3 WebCenter Sites公開サービスの作成
kubernetes/create-wcsites-domain/utils/wcs-services.yamlの詳細:
- 名前: wcsitesinfra-wcsites-server1-np
- ネームスペース: wcsites-ns
- weblogic.domainUID: wcsitesinfra
- weblogic.serverName: wcsites_server1
- NodePortポート: NONSSLのデフォルト値は7103です。SSL/E2ESSLの場合は7104に更新します。
次のコマンドを実行してサービスを公開します: (ドメインが3台を超える管理対象サーバー用に構成されている場合は、追加のサーバー用にサービスyamlを追加します。)
$ kubectl apply -f kubernetes/create-wcsites-domain/utils/wcs-services.yaml
service/wcsitesinfra-wcsites-server1-np created
service/wcsitesinfra-wcsites-server1-svc created
service/wcsitesinfra-wcsites-server2-svc created
service/wcsitesinfra-wcsites-server3-svc created
6.4 Oracle WebCenter Sitesドメイン・サービスでアクセスするためのTraefikの構成
Oracle WebCenter Sitesドメイン・ネームスペース(
wcsites-ns
)で作成されたイングレスを管理するようにTraefikを構成します:$ helm upgrade traefik traefik/traefik \ --reuse-values \ --namespace traefik \ --set "kubernetes.namespaces={traefik,wcsites-ns}" \ --wait
サンプルのHelmチャートを使用して、ドメイン・ネームスペースにドメインのイングレスを作成します:
$ cd ${WORKDIR} $ helm install wcsitesinfra-ingress charts/ingress-per-domain \ --namespace wcsites-ns \ --values charts/ingress-per-domain/values.yaml \ --set "traefik.hostname=$(hostname -f)" \
ドメインごとに作成されたイングレスの詳細を検証します:
$ kubectl describe ingress wcsitesinfra-ingress -n wcsites-ns
6.5 Oracle WebCenter SitesドメインURLにアクセスできることの検証
環境の
LOADBALANCER_HOSTNAME
を取得します:export LOADBALANCER_HOSTNAME=$(hostname -f)
ドメイン・タイプ
wcsitesinfra
のOracle WebCenter Sitesドメインでは、次のURLを使用できます:資格証明: ユーザー名:
weblogic
パスワード:Welcome1
http://${LOADBALANCER_HOSTNAME}:30305/console http://${LOADBALANCER_HOSTNAME}:30305/em http://${LOADBALANCER_HOSTNAME}:30305/sites
Oracle WebCenter Sites on Kubernetesのデプロイおよび管理
G24054-01
最終更新: 2024年12月
Copyright © 2024, Oracle and/or its affiliates.
原本著者: Oracle Corporation