サンプル全体で使用するドメインのタイプ(WLS
またはJRF
)を選択します。
JAVA_HOME
環境変数を設定し、有効なJDK 8または11インストールを参照する必要があります。
オペレータ・ソースを取得し、/tmp/weblogic-kubernetes-operator
に配置します。
例えば:
$ cd /tmp
$ git clone --branch v4.2.8
https://github.com/oracle/weblogic-kubernetes-operator.git
ノート: オペレータ・ソース・ツリーの最上位ディレクトリを/tmp/weblogic-kubernetes-operator
と呼びますが、別のロケーションを使用できます。
オペレータ・ソースの取得の詳細は、「開発者ガイドの要件」を参照してください。
Domain on PVサンプルを新しいディレクトリにコピーします。たとえば、ディレクトリ/tmp/sample
を使用します。
$ mkdir -p /tmp/sample
$ cp -r /tmp/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-weblogic-domain/domain-on-pv/* /tmp/sample
ノート: サンプルのこの作業用コピーを/tmp/sample
と呼びますが、別のロケーションを使用できます。
サンプルのwdt-artifacts
ディレクトリを新しいディレクトリにコピーします。たとえば、ディレクトリ/tmp/sample/wdt-artifacts
を使用します。
$ mkdir -p /tmp/sample/wdt-artifacts
$ cp -r /tmp/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-weblogic-domain/wdt-artifacts/* /tmp/sample/wdt-artifacts
最新のWebLogic Deploy Tooling (WDT)およびWebLogic Image Tool (WIT)インストーラのZIPファイルを/tmp/sample/wdt-artifacts
ディレクトリにダウンロードします。 WDTとWITの両方がイメージの作成に必要です。
$ cd /tmp/sample/wdt-artifacts
$ curl -m 120 -fL https://github.com/oracle/weblogic-deploy-tooling/releases/latest/download/weblogic-deploy.zip \
-o /tmp/sample/wdt-artifacts/weblogic-deploy.zip
$ curl -m 120 -fL https://github.com/oracle/weblogic-image-tool/releases/latest/download/imagetool.zip \
-o /tmp/sample/wdt-artifacts/imagetool.zip
WebLogic Image Toolを設定するには、次のコマンドを実行します:
$ cd /tmp/sample/wdt-artifacts
$ unzip imagetool.zip
$ ./imagetool/bin/imagetool.sh cache deleteEntry --key wdt_latest
$ ./imagetool/bin/imagetool.sh cache addInstaller \
--type wdt \
--version latest \
--path /tmp/sample/wdt-artifacts/weblogic-deploy.zip
wdt_latest
キーに対応するキャッシュ・エントリがない場合、WebLogic Image Tool cache deleteEntry
コマンドは何も実行しません。 WITキャッシュ参照情報はデフォルトで$HOME/cache/.metadata
ファイルに格納され、キャッシュにすでにWDTのバージョンが--type wdt --version latest
のロケーションにある場合、cache addInstaller
コマンドは失敗します。 WITキャッシュの詳細については、「WITキャッシュのドキュメント」を参照してください。
これらのステップでは、WITを/tmp/sample/wdt-artifacts/imagetool
ディレクトリにインストールし、さらにWDT ZIPファイル・インストーラを指すwdt_latest
エントリをツールのキャッシュに配置します。 WITおよびWDTインストーラへのキャッシュされた参照を、後でモデル・イメージを作成するためのサンプルで使用します。
後でアーカイブ・ヘルパーに使用するWebLogic Deploy Toolingを設定するには、次のコマンドを実行します:
$ unzip /tmp/sample/wdt-artifacts/weblogic-deploy.zip
ネームスペースsample-domain1-ns
を管理するようにオペレータが設定されていることを確認してください。 また、Traefikイングレス・コントローラが同じネームスペースを管理し、ポート30305
でリスニングしていることも確認してください。 これを行うには、「クイック・スタート」ガイドと同じステップに従って「ドメインの準備」ステップを実行します。
「ドメインの準備」ステップを完了したら、「停止」を確認し、次の手順に従って再開します。
Traefikポート30305
からこのサンプルのWebLogicドメイン内のクラスタにHTTPをリダイレクトするイングレスを設定します。
サンプル・ソース・ディレクトリにすでに含まれている各イングレスYAMLファイルでkubectl apply -f
を実行します:
$ kubectl apply -f https://raw.githubusercontent.com/oracle/weblogic-kubernetes-operator/release/4.2/kubernetes/samples/scripts/create-weblogic-domain/ingresses/traefik-ingress-sample-domain1-admin-server.yaml
$ kubectl apply -f https://raw.githubusercontent.com/oracle/weblogic-kubernetes-operator/release/4.2/kubernetes/samples/scripts/create-weblogic-domain/ingresses/traefik-ingress-sample-domain1-cluster-cluster-1.yaml
ノート: 各クラスタ・イングレスには、オペレータ・ドメインUIDとクラスタ名の両方を使用して修飾された異なるホスト名を指定します。 これにより、クラスタ名が異なるクラスタ間で同じ場合でも、各クラスタを一意にアドレス指定できるようになります。 curl
を使用して、イングレスを介してWebLogicドメインにアクセスする場合、イングレスのホスト名と一致するホスト名ヘッダーを指定する必要があります。
イングレスおよびロード・バランサの詳細は、Ingressを参照してください。
サンプルのドメイン・リソースYAMLによって参照されるWebLogic 12.2.1.4イメージを取得します。
a. ブラウザを使用して、Oracle Container Registryにアクセスします。
b. イメージのロケーションの選択: JRFドメインの場合は、Middleware
、fmw-infrastructure
の順に選択します。WLSドメインの場合は、Middleware
、weblogic
の順に選択します。
c. Sign Inを選択し、ライセンス契約に同意します。
d 端末を使用してコンテナ・レジストリにログイン: docker login container-registry.oracle.com
。
e. このサンプルの後半では、WebLogic Image Toolコマンドを実行するときに、モデル・イメージを作成するためのベース・イメージとしてイメージが使用されます。 具体的には、ツールは、--fromImage
パラメータを使用して、ツールのコマンドラインで指定された以前のライセンス・イメージのいずれかに対してdocker pull
を暗黙的にコールします。 JRFの場合、このサンプルはcontainer-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4
を指定し、WLSの場合、サンプルはcontainer-registry.oracle.com/middleware/weblogic:12.2.1.4
を指定します。
基本イメージの例は、デモおよび開発目的「のみ」に適した一般提供 (GA)イメージです。ここで、環境はパブリック・インターネットから使用できません。これらは「本番で使用できません」。 本番では、常にOCRのCPU (パッチ適用済)イメージを使用するか、WebLogic Image Tool (WIT)と--recommendedPatches
オプションを使用してイメージを作成する必要があります。 詳細は、「Oracle WebLogic Serverの本番環境の保護」の「最新のパッチと更新の適用」を参照してください。
ノート: Domain on PV、WLSドメイン・タイプを使用している場合は、この項をスキップし、Domain on PVサンプルについてはドメイン作成イメージのビルドに進みます。
ノート: この項の要件は、WLSおよびJRFドメイン・タイプの前提条件に追加されています。
JRFドメインには、インフラストラクチャ・データベースと、このデータベースにアクセスするためのドメインの構成が必要です。 詳細は、ユーザー・ドキュメントの「JRFドメイン」を参照してください。 ドメインを作成する「前」に、これらのステップをすべて実行する必要があります。
JRFドメインにはインフラストラクチャ・データベースが必要であり、異なるドメインごとにスキーマおよび一連の表を使用してこのデータベースを初期化する必要があります。 次の例は、データベースの設定方法を示しています。 データベースは次の属性を使用して設定されます:
属性 | 値 |
---|---|
データベースKubernetesネームスペース | default |
データベースKubernetesポッド | oracle-db |
データベース・イメージ | container-registry.oracle.com/database/enterprise:12.2.0.1-slim |
データベース・パスワード | MY_DBA_PASSWORD |
インフラストラクチャ・スキーマ・プレフィクス | FMW1 (for domain1) |
インフラストラクチャ・スキーマ・パスワード | MY_RCU_SCHEMA_PASSWORD |
データベースURL | oracle-db.default.svc.cluster.local:1521/devpdb.k8s |
データベース・イメージへのアクセス権があることを確認してから、それを使用してデプロイメントを作成します:
ブラウザを使用してhttps://container-registry.oracle.com
にログインし、Database -> enterprise
を選択してライセンス契約に同意します。
データベース・イメージを取得します:
docker login container-registry.oracle.com
です。docker pull container-registry.oracle.com/database/enterprise:12.2.0.1-slim
です。SYS
アカウントに必要なOracle DBAパスワードを使用して、oracle-db-secret
という名前のシークレットをデプロイします。
$ kubectl -n default create secret generic oracle-db-secret \
--from-literal='password=MY_DBA_PASSWORD'
_
および#
のみを使用します。 /tmp/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-oracle-db-service
のサンプル・スクリプトを使用して、ポッドoracle-db
で実行されるOracleデータベースを作成します。
$ cd /tmp/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-oracle-db-service
$ start-db-service.sh
このスクリプトは、接続文字列oracle-db.default.svc.cluster.local:1521/devpdb.k8s
および管理パスワードMY_DBA_PASSWORDを使用して、default
ネームスペースにデータベースをデプロイします。
このステップは、「データベースの実行」に記載されているステップに基づきます。
ノート: Kubernetesクラスタ・ノードのすべてがローカル・キャッシュ内のデータベース・イメージにアクセスできるわけではない場合は、container-registry.oracle.com
のログイン資格証明を使用してKubernetes docker secret
をデフォルトのネームスペースにデプロイし、-s your-image-pull-secret
を使用してこのシークレットの名前をパラメータとしてstart-db-service.sh
に渡します。 または、クラスタ内の各ローカルDockerキャッシュにデータベース・イメージをコピーします。 詳細は、「Cannot pull image」FAQを参照してください。
WARNING: Oracle Databaseイメージは、非本番用にのみサポートされています。 詳細は、My Oracle Supportノートを参照してください: Dockerで実行されているデータベース用のOracle Support (ドキュメントID 2216342.1)。
オペレータがデータベースおよびOPSSウォレットにアクセスできるようにするには、ドメインをデプロイする前に、モデルから参照されるデータベース接続文字列、ユーザー名およびパスワード、およびドメインから参照されるOPSSウォレット・パスワード・シークレットを含むRCUアクセス・シークレットを作成する必要があります。 また、モデルでRCUDbInfo
スタンザを定義する必要があります。
このサンプルには、/tmp/sample/wdt-artifacts/wdt-model-files
および/tmp/sample/domain-resources
ディレクトリ内のJRFモデルおよびドメインYAMLファイルの例が含まれており、次の項の手順でRCUおよびOPSSシークレットの設定について説明します。
サンプルの手順に従う場合は、WLS
のみの手順を避け、対応するモデル・イメージ・タグおよびドメインYAMLファイル名でJRF
をWLS
に置き換えます。
たとえば、次の例のようになります:
「JRFドメインYAML」ファイルには、sample-domain1-opss-wallet-password-secret
という名前のシークレットを参照するconfiguration.opss.walletPasswordSecret
フィールドがあり、選択したwalletPassword
があります。
JRFドメイン作成イメージ・モデルには、前提条件ステップの1つとしてデフォルト・ネームスペースにデプロイしたOracleデータベースにアクセスするために、属性rcu_prefix
、rcu_schema_password
およびrcu_db_conn_string
の適切な値を持つsample-domain1-rcu-access
シークレットを参照する次のdomainInfo -> RCUDbInfo
スタンザがあります。
RCUDbInfo:
rcu_prefix: '@@SECRET:@@ENV:DOMAIN_UID@@-rcu-access:rcu_prefix@@'
rcu_schema_password: '@@SECRET:@@ENV:DOMAIN_UID@@-rcu-access:rcu_schema_password@@'
rcu_db_conn_string: '@@SECRET:@@ENV:DOMAIN_UID@@-rcu-access:rcu_db_conn_string@@'
JRFドメインの重要な情報については、「JRFドメイン」を参照してください。