Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WebLogic Kubernetes Toolkit 概要

WebLogic Kubernetes Toolkit 概要

oracle4engineer

December 21, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. WebLogic環境のライフサイクル全てをカバー 運用の自動化、リリースの高速化を実現するためのツールを提供 • 自動スケールや自動復旧などをKubernetesと連携して実現 • WebLogic環境をIaC化し、ビルド/デプロイのフェーズでの自動化を支援 Oracle WebLogic Kubernetes Toolkit

    Copyright © 2023, Oracle and/or its affiliates. 2 Oracle WebLogic Kubernetes Operator Kubernetes上におけるWebLogic ドメインの作成/構成/管理を実現 Oracle WebLogic Deploy Tooling 既存のドメイン構成やアプリを抽出し、 VMやKubernetes上などの異なる環境 への移行を実現 Oracle WebLogic Image Tool WebLogic Dockerイメージの構築/ パッチ適用/更新を実現 WebLogic Server Remote Console あらゆる場所で稼働するWebLogicドメ インを管理するための軽量なコンソール・ アプリケーション Oracle WebLogic Monitoring Exporter WebLogic環境のメトリクスを Prometheusの形式でエクスポートし、 ドメインの監視を実現 Toolkit UI WebLogic Toolkitの操作をUIベースで 提供
  2. Toolkitそれぞれの大まかな役割 WebLogic Kubernetes Tookitの役割 Copyright © 2023, Oracle and/or its

    affiliates. 3 On-Premis/Cloud WebLogic Server Managed Server pod WLS Admin Server Sidecar WLS Managed Server Fluentd Container アプリ モデル化 Oracle WebLogic Deploy Tooling Oracle WebLogic Image Tool コンテナ化 デプロイ Oracle WebLogic Monitoring Exporter Oracle WebLogic Kubernetes Operator Oracle WebLogic Deploy Tooling Toolkit UI
  3. ユースケース: 移行 1. Oracle WebLogic Deploy Tooling (WDT)がアプリと構成を抽出 2. Oracle

    WebLogic Image Tool (WIT)がJDKとWebLogic Serverをコンテナとしてパッケージング ・WITを利用せずWebLogic Server for OCI(VM/BMベース)にWDTを利用したデプロイも可能 ・適用モデルによって、アプリやアプリ構成も含めてパッケージング可能 3. Oracle WebLogic Kubernetes Operator (WLS Operator)が動作するOKEクラスタ上にデプロイ WebLogic Kubernetes Toolkitの役割 Copyright © 2023, Oracle and/or its affiliates. 4 On-Premis/Cloud WebLogic Server アプリ ドメイン構成 WDT_Model.yaml (メタデータ) WDT 1. アプリ抽出/構 成情報の変換 アプリ アーカイブ(.zip) WIT 2. コンテナ作成 WLS ドメイン構成 アプリ WLS Admin Server WLS Managed Server WLS Operator アプリ WLS Managed Server アプリ 3. デプロイ 2’. デプロイ WDT WLS Admin Server WLS Managed Server アプリ WLS Managed Server アプリ WebLogic Server for OCI WebLogic Server for OKE
  4. WDT ユースケース: CI/CD WDTモデル、WIT、WLS Operatorを活用し、Java EEアプリのCI/CD環境を構築できる 1. ソースコードの変更、ドメインモデルの変更をコミット 2. JavaEEアプリケーションのビルド

    3. ドメインのモデルであるWDTモデルを取得(WDTで検証が可能) 4. WITを用いてアプリとドメインモデルをコンテナ化 5. コンテナレジストリにpush WebLogic Kubernetes Tookitの役割 Copyright © 2023, Oracle and/or its affiliates. 5 1. コミット 2. ビルド リポジトリ アプリ WDT_Model.yaml (メタデータ) WIT WLS ドメイン構成 アプリ アプリ構成 5. push コンテナ レジストリ 4. コンテナ化 WLS Operator WebLogic Domain pod1 AS pod2 MS pod3 MS Domain Custom Resource CI/CD パイプライン 3.ドメインモ デルの変更 Jenkins CI
  5. Managed Server pod ユースケース: 管理・運用 • Oracle WebLogic Kubernetes Operator

    (WLS Operator)上にWebLogicクラスタをデ プロイ • Oracle WebLogic Monitoring Exporterが Prometheusにメトリクスを出力 • デプロイ方法はWAR/サイドカー(Operator v3.2 以降)から選択 • モニタリングの用途としては、OCI Application Performance Monitoringが利用可能 • APM Java AgentをWLSにインストール • Oracle WebLogic Logging Exporterが Elasticsearchにログをプッシュ • ローカルのWebLogic Server Remote Consoleから管理コンソールにアクセス • 他のWebLogic サーバ/クラスタの管理を1つの Remote Consoleに集約 WebLogic Kubernetes Tookitの役割 Copyright © 2023, Oracle and/or its affiliates. 6 WLS Admin Server WLS Operator Monitoring Exporter Remote Console WLS Managed Server アプリ push push APM Java Agent push Application Performance Monitoring Fluentd Container
  6. WebLogic環境のKubernetesによるオーケストレーション運用・管理を実現するプラグイン Oracle WebLogic Kubernetes Operator (WLS Operator) Copyright © 2023,

    Oracle and/or its affiliates. 7 WebLogic環境のIaCを実現 • WebLogicのDockerイメージをベースにKubernetes環境に WebLogicドメイン環境をプロビジョニング • YAMLファイルに記述したWebLogicドメイン構成の定義を適用 するだけで自動的にWebLogicドメイン環境を構成 • YAMLファイルをバージョン管理することでWebLogicドメイン環 境をImmutableな再現性の高い環境として管理可能 Kubernetesへの管理の一本化 • 標準的なKubernetesのコマンドのみでWebLogic環境を運用 • 他のコンテナ・ベースのアプリケーションと運用方式を統一すること で効率よくクラウド・アプリケーションを運用管理 WLS AP WLS AP WLS Admin Operator Framework WebLogic Operator • Domain: A • Managed x 2 • Data Source: … apply WLS AP WLS AP WLS Admin Operator Framework WebLogic Operator WLS AP • Domain: A • Managed x 3 • Data Source: … apply
  7. Domain in PV (Persistent Volume) モデル概要 • WebLogicベースイメージのみコンテナ化 • WebLogicの構成とアプリケーションはPV上に配置

    • WebLogicの構成変更はWLST、管理コンソール、 もしくは ConfigMapによる上書きによって行う ユースケース • Kubernetes上でWebLogicのIaC運用を実現 WLS Operatorの適用モデル Copyright © 2023, Oracle and/or its affiliates. コンテナ・レジストリ WLS WLS Operator Framework WLS Operator WLS Admin WLS 1. build 2. push 3. apply WLS 基盤管理者 domain.yaml create-domain-inputs.yaml 開発者 AP AP 4. deploy PV 管理コンソール /WLST 8 WLS
  8. Domain in Image モデル概要 • WebLogicベースイメージ/WebLogicの構成/アプリケー ションをセットでコンテナ化 • セットでコンテナ化したコンテナイメージをKubernetes上に デプロイ

    • WebLogicの構成変更はコンテナイメージの更新か ConfigMapによる上書きによって行う ユースケース • コンテナベースのCI/CD運用の実現 WLS Operatorの適用モデル Copyright © 2023, Oracle and/or its affiliates. コンテナ・レジストリ WLS AP WLS AP WLS AP Operator Framework WLS Operator WLS Admin WLS AP 1. build 2. push 3. apply WLS AP 開発者 domain.yaml create-domain-inputs.yaml 9
  9. Model In Image モデル概要 • WebLogicベースイメージをコンテナ化 • WebLogicの構成(WDTモデルファイル)をどう配置するかは以 下の選択肢 •

    WebLogicベースイメージに含める • Auxiliary Imageとして分けてイメージ化 • ConfigMapとして保持 • アプリケーションをどう配置するかは以下の選択肢 • WebLogicベースイメージに含める • Auxiliary Imageとして分けてイメージ化 ユースケース • コンテナベースのCI/CD運用の実現 • Auxiliary Imageを活用した柔軟なコンテナの構成 WLS Operatorの適用モデル Copyright © 2023, Oracle and/or its affiliates. コンテナ・レジストリ WLS AP WLS AP Operator Framework WLS Operator WLS Admin WLS AP 1. build 2. push 3. apply WLS AP 開発者 domain.yaml wdt-model.yaml 10 WLS AP ※ WLS/WDTモデル/アプリケーションをまとめてコンテナ化するパターン
  10. Model in Imageにおけるコンテナは柔軟に構成が可能 • WebLogicバイナリとJavaのみが含まれたイメージを WebLogic Imageとする • WDTモデルファイルやアプリケーションなどをAuxiliary Imageと

    してPodに含められる メリット • WebLogicバイナリのイメージと、アプリやモデルのイメージを分 けて管理できるため、それぞれのイメージをそれぞれのライフサイ クルで更新可能になる • 1つのWebLogic Imageを異なる複数のモデル構成で共有で きる Auxiliary Image Copyright © 2023, Oracle and/or its affiliates. 11 アプリケーション Auxiliary Image その他のファイル WDTモデル OS WLS バイナリ WebLogic Image JDK パッチ OL 7-slim 分けて管理
  11. WebLogicドメイン構成の自動化を容易にするスクリプト・ツール 既存WebLogic環境のアプリケーション/構成を抽出 • オンプレミスのWebLogic環境やJava Cloud Serviceから構成情報 を抽出してメタデータ(YAML形式)に変換 • デプロイ済みのアプリケーションも同時に抽出 メタデータからドメイン構成を容易に再現

    • ドメインの全情報を異なるWebLogic環境にそのまま反映 • メタデータを編集してテンプレート化も可能 アプリケーションやドメイン構成の更新の同期 • 移行元の更新を移行先の環境に差分更新 • アプリケーションのデプロイのみの用途でも利用可能 Oracle WebLogic Deploy Tooling (WDT) Copyright © 2023, Oracle and/or its affiliates. 12 resources: JDBCSystemResource: MyDataSource: Target: '@@PROP:myjcs.cluster1.name@@' JdbcResource: JDBCDataSourceParams: JNDIName: jdbc/generic1 JDBCDriverParams: DriverName: oracle.jdbc.OracleDriver URL: 'jdbc:oracle:thin:@//@@PROP:dbcs1.url@@' PasswordEncrypted: '@@PROP:dbcs1.password@@' Properties: user: Value: '@@PROP:dbcs1.user@@' oracle.net.CONNECT_TIMEOUT: Value: 5000 JDBCConnectionPoolParams: MaxCapacity: 50 appDeployments: Application: simpleear : SourcePath: wlsdeploy/applications/simpleear.ear Target: '@@PROP:myjcs.cluster1.name@@' ModuleType: ear Library: 'jsf#2.0': SourcePath: '@@WL_HOME@@/common/deployable-libraries/jsf-2.0.war' Target: '@@PROP:myjcs.cluster1.name@@' ModuleType: war
  12. WebLogic Scripting Tool (WLST)を介してYAMLファイルからドメイン構成を作成・更新 WLSTを間接的に利用してWebLogicドメイン構成とYAML形式のモデルをスクリプトで相互変換 • WLSTを利用してドメイン構成を取得しYAML形式のモデルとアプリケーション・アーカイブを抽出 • モデルを元にWLSTを利用してドメイン構成を作成・更新 •

    アプリケーション・アーカイブとモデルを元にWLSTを利用してアプリケーションをデプロイ WebLogic Deploy Tooling (WDT) の仕組み Copyright © 2023, Oracle and/or its affiliates. 13 Source WebLogic Domain cluster JDBC #1 App #1 App #2 JDBC #1 Metadata Model (YAML/JSON) Application Archive WLST WLST Discover Domain Create/Update Domain Deploy Applications WLST App #1 App #2 Target WebLogic Domain cluster MS1 AS MS2 JDBC #1 App #1 App #2 JDBC #1 WDT WDT WDT 既存のWebLogicドメイン 反映先のWebLogicドメイン Metadata Model (YAML/JSON) MS1 AS MS2
  13. WebLogic Serverコンテナ運用の自動化を容易にするスクリプト・ツール WebLogic Serverコンテナイメージの作成 • JDKとWebLogicをインストールしたコンテナイメージの作成 • イメージ内にWebLogicドメインを作成 • カスタムファイルをイメージに内包可能

    既存のイメージを基に新しいイメージを作成 • JDKとOracle Homeのインストールのみも可能 既存のイメージにパッチを適用 • ドメインの作成/更新が可能 • アプリケーションの展開も可能 Oracle WebLogic Image Tool (WIT) Copyright © 2023, Oracle and/or its affiliates. 14 $ imagetool rebase Docker Imageの 新規作成 Docker Imageの更新 既存Imageをベースにして Docker Imageの作成
  14. WebLogic Serverからメトリクスを出力する、2種類のPrometheus互換エクスポーター Oracle WebLogic Monitoring Exporter Copyright © 2023, Oracle

    and/or its affiliates. 15 サーバにデプロイするWebアプリケーション • WARファイルに設定ファイルを直接含めることが可能 • 稼働中のシステムでもWebフォームを利用して設定変更することが可能 スタンドアロンプロセス(サイドカー) • Operator側にMonitoring Exporterセクションを追加後、PUTリクエスト (REST API)で設定ファイルを送信してプロセスを構成 • WLS Operator v3.2以降より使用可能
  15. 様々な場所で稼働するWebLogic Serverドメインを管理する軽量なコンソール WebLogic Server Remote Console Copyright © 2023, Oracle

    and/or its affiliates. 16 どこでもインストールと実行が可能 • 軽量でモダンなアプリケーション • REST APIでWebLogic Serverを操作 複数ドメインの管理コンソールを集約 • 物理マシン/VM/Kubernetesなどプラットフォームを 跨る管理の統一化 WebLogic Serverフットプリントを小さく • WebLogic Server “slim” インストーラを利用
  16. Toolkitの機能をUIベースで提供 Kubernetes上のWebLogic Serverライフサイクル管理を簡単にする • ドメイン情報の抽出 • ドメインモデルの編集/検証 • イメージの作成/更新 •

    Operatorをプロビジョニング • ドメインをプロビジョニング • Ingressをプロビジョニング WebLogic Kubernetes ToolKit UI Copyright © 2023, Oracle and/or its affiliates. 17