第3章 特長

3.1. 新機能および変更された機能

3.1.1. IBM Power System のインフラストラクチャーでプロビジョニングされた OpenShift でのサンプルアプリケーションのデプロイ

IBM Power System インフラストラクチャーでプロビジョニングされている OpenShift 環境でサンプルアプリケーションをデプロイするには、pom.xml ファイルおよびコマンドに関連する IBM Power System のイメージ名を指定します。

サンプルアプリケーションの一部には、ワークフローを実証するために Red Hat Data Grid などの他の製品も必要になります。この場合は、これらの製品のイメージ名を、サンプルアプリケーションの YAML ファイルで関連する IBM Power System のイメージ名に変更する必要もあります。

3.1.2. 新しい Spring Boot OAuth2 クライアントおよび Resource Server Starters

OAuth2 Spring Security Starter のテスト済みおよび検証されたビルドが、以前の Spring Boot リリースに含まれる Spring Boot Keycloak Starter に置き換わるものである。本リリースで導入された新しい Starters のセットには、Spring Security OAuth2 Client Starter および Spring Security OAuth2 Resource Server Starter が含まれます。新しい Starters のいずれも Red Hat によってサポートされます。

3.1.3. OpenJDK 8 および OpenJDK 11 RHEL 8 Universal Base Images (UBI8) のサポート

Spring Boot 2.3 では、RHEL 8 上の Red Hat OpenJDK 8 用および Red Hat OpenJDK 11 用の OCI 準拠の ユニバーサルベースイメージ を使用して、Spring Boot アプリケーションを OpenShift にビルドし、デプロイするためのサポートが導入されました。RHEL 8 OpenJDK Universal Base イメージは、Red Hat がサポートする RHEL 8 OpenJDK ビルダーイメージを、Red Hat Build of Spring Boot の以前のリリースに置き換えます。これまでサポートされていた RHEL 8 OpenJDK ベースイメージは、Red Hat Build of Spring Boot での使用はサポート対象外となりました。

3.1.4. 2.4.1 にアップグレードされた Dekorate バージョン

Spring Boot 2.3 では、Spring Boot BOM に含まれる Dekorate のバージョンが 2.4.1 にアップグレードされます。

Dekorate 2.4.1 の新機能
  • 設定可能なロギングしきい値

    io.dekorate.log.level システムの property-drawer を使用して、ログレベルのしきい値を設定することで Dekorate 出力の詳細を制御できます。以下の値がサポートされています。

    • OFF
    • ERROR
    • WARN
    • INFO (デフォルト)
    • DEBUG
  • 設定可能な vcs プロパティー

    Dekorate 1.x では、生成されたマニフェストに追加される vcs ラベルには、property remoteorigin としてハードコードされ、URL が http プロトコルに変換されていました。

    Dekorate 2.4.1 では、プロパティー remote は設定でき、明示的に指定されない限り URL は HTTP に変換されません。これらのプログラミングは、以下のように io.dekorate.option.annotation.VcsOptions を使用して設定できます。

    public @interface VcsOptions {  /**
       * The remote to use.
       *
       * @return the name of the remote, defaults to 'origin'.
       */
      String remote() default "origin";  /**
       * Flag that specifies that https is preferred.
       * When use vcs url that use 'git+ssh' will be converted to https.
       *
       * @return true, if https is prefered.
       */
      boolean httpsPreferred() default false;
    }

    プロパティーを以下のように設定することもできます。

    dekorate.option.vcs.remote=<your remote here>
    dekorate.option.vcs.https-preferred=true
  • ポートマッピングへの変更

    以前のバージョンの Dekorate では、Ingress リソースおよび Route リソースを除くサービスリソースでのポートマッピングが許可されませんでした。このため、サービスの内部コンシューマーは、アプリケーションが使用する containerPort を正確に知る必要がありました。Dekorate 2.4.1 は、HTTP および HTTPS の loose-coupling を許可するポートマッピングを提供します。

    HTTP サービスは、ポート 80 および https サービスからポート 443 にマッピングされるようになりました。ポートマッピングは、以下の基準に従って行われます。

    • httpweb、および http1 という名前のポートは、ポート 80 にマッピングされます。
    • https または h2c という名前のポートは、ポート 443 にマッピングされます。
    • 番号付けされた 8080 はポート 80 にマッピングされます。
    • 番号付けされた 8443 はポート 443 にマッピングされます。
Dekorate 2.4.1 でのアノテーションの命名への変更

以下の表は、アノテーション名の変更を示しています。

Dekorate 1.xDekorate 2.4.1

DockerBuild

EnableDockerBuild

S2iBuild

EnableS2iBuild

JibBuild

EnableJibBuild

モジュールは Dekorate 2.4.1 で削除されました。

以下のモジュールは、バージョン 2.4.1 の Dekorate から削除されました。

  • service-catalog
  • halkyon
  • application-crd
  • CRD ジェネレーター

    この機能は fabric8 kubernetes-client に移動しました。

  • dependencies uberjar

    以前のバージョンの Dekorate は、すべての依存関係を持つシャドウ付き uberjar を提供していました。Dekorate 2.4.1 以降では、すべての依存関係を含むシャドウ uberjar が利用できなくなりました。

    io.dekorate.deps.xxx ライブラリーを使用する場合は、元のパッケージにこれらを更新する必要があります。

3.1.5. OpenShift の Spring Boot メータリングラベル

メータリングラベルを Spring Boot Pod に追加し、OpenShift Metering Operator を使用して Red Hat サブスクリプションの詳細を確認できます。

注記

メータリングラベルは、Operator がデプロイおよび管理する Pod に追加しないでください。

Spring Boot は以下のメータリングラベルを使用する必要があります。

  • com.redhat.component-name: "Spring_Boot"
  • com.redhat.component-type: application
  • com.redhat.component-version: 2.3.10
  • com.redhat.product-name: "Red_Hat_Runtimes"
  • com.redhat.product-version: 2021-Q3

詳細は、「メータリング」のドキュメントを参照してください。

ラベルの詳細は、「ノードでラベルを更新する方法について」を参照してください。

3.1.6. IBM Power Systems での Spring Boot Runtime のサポート

ppc64le プラットフォーム向け Spring Boot の Red Hat サポートは、IBM Power Systems インフラストラクチャーでプロビジョニングされる OpenShift 環境でのみサポートされます。IBM Power Systems での RHEL のスタンドアロンインストールでの Spring Bootアプリケーションの実行はサポートされていません。

IBM Power System でサポートされている OpenJ9 Java イメージと、IBM Power System でサポートされている製品向け新しいイメージは、Red Hat Ecosystem Catalog から入手できます。