カテゴリ: Quarkus 更新日: 2026/03/02

Quarkus Kubernetes拡張の設定方法を完全解説!初心者でもわかるクラウド連携入門

Quarkus Kubernetes拡張(quarkus-kubernetes)の設定方法
Quarkus Kubernetes拡張(quarkus-kubernetes)の設定方法

先生と生徒の会話形式で理解しよう

生徒

「Quarkusで作ったアプリをKubernetesにデプロイしたいんですが、何から始めればいいですか?」

先生

「Quarkusには、Kubernetesと連携するための便利な拡張機能があります。それを使うと設定がとても楽になります。」

生徒

「設定って難しくないですか?YAMLとかたくさん書くイメージがあります…」

先生

「基本はプロパティファイルだけで進められます。順番に見ていけば迷いませんよ。」

1. QuarkusとKubernetes拡張の概要

1. QuarkusとKubernetes拡張の概要
1. QuarkusとKubernetes拡張の概要

Quarkusは、Java向けに最適化された軽量で高速なフレームワークとして注目されています。特にクラウドネイティブやマイクロサービス開発との相性が良く、Kubernetes環境での運用を前提に設計されています。その中でもQuarkus Kubernetes拡張は、JavaアプリケーションをKubernetesへ簡単にデプロイするための機能をまとめたものです。DockerfileやKubernetesマニフェストを自動生成できるため、初心者でもクラウド連携に挑戦しやすくなっています。

2. Quarkus Kubernetes拡張を追加する方法

2. Quarkus Kubernetes拡張を追加する方法
2. Quarkus Kubernetes拡張を追加する方法

QuarkusでKubernetes連携を行うためには、まず拡張機能をプロジェクトに追加します。Quarkus CLIを使う方法が最も簡単で、コマンド一つで設定が完了します。これにより、Kubernetes向けの設定項目が自動的に有効化され、後続の作業がスムーズになります。


./mvnw quarkus:add-extension -Dextensions="kubernetes"

この操作を行うと、プロジェクトの設定ファイルにKubernetes拡張が組み込まれます。Mavenを使っている場合でも、Gradleを使っている場合でも考え方は同じです。

3. application.propertiesで基本設定を行う

3. application.propertiesで基本設定を行う
3. application.propertiesで基本設定を行う

Quarkus Kubernetes拡張の大きな特徴は、YAMLを直接書かなくても設定できる点です。application.propertiesに必要な情報を記述するだけで、Kubernetes用の設定が反映されます。アプリケーション名やポート番号、コンテナイメージ名などを指定することで、実運用に近い形を簡単に作れます。


quarkus.kubernetes.name=sample-quarkus-app
quarkus.kubernetes.version=1.0.0
quarkus.kubernetes.namespace=default
quarkus.container-image.build=true
quarkus.container-image.group=mycompany
quarkus.container-image.name=sample-quarkus

この設定だけでも、Kubernetes用のマニフェスト生成に必要な情報は十分に揃います。初心者はまずここを理解することが重要です。

4. シンプルなRESTアプリを用意する

4. シンプルなRESTアプリを用意する
4. シンプルなRESTアプリを用意する

次に、Kubernetesへデプロイする対象となるQuarkusアプリケーションを用意します。ここでは非常にシンプルなREST APIを例にします。HTTPリクエストに対して文字列を返すだけの構成ですが、Kubernetes連携の流れを理解するには十分です。


import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;

@Path("/hello")
public class HelloResource {

    @GET
    public String hello() {
        return "Hello Quarkus on Kubernetes";
    }
}

このクラスを作成するだけで、Quarkusは自動的にエンドポイントを公開します。クラウド環境でも同じコードがそのまま動く点が魅力です。

5. Kubernetesマニフェストの自動生成

5. Kubernetesマニフェストの自動生成
5. Kubernetesマニフェストの自動生成

Quarkus Kubernetes拡張を設定した状態でビルドを実行すると、Kubernetes用のマニフェストファイルが自動生成されます。これにより、DeploymentやServiceの定義を手書きする必要がなくなります。生成されるファイルは、targetディレクトリ配下にまとめられます。


./mvnw package

ビルド後に生成されたYAMLを確認すると、アプリケーション名やポート設定が反映されていることがわかります。内容を読むことで、Kubernetesの基本構造も自然と理解できます。

6. 開発環境での動作確認ポイント

6. 開発環境での動作確認ポイント
6. 開発環境での動作確認ポイント

Kubernetesへデプロイする前に、ローカル環境での動作確認は欠かせません。Quarkusは開発モードが非常に強力で、変更内容が即座に反映されます。これにより、クラウド連携前の不具合を早い段階で発見できます。


./mvnw quarkus:dev

ブラウザやHTTPクライアントからエンドポイントへアクセスし、期待通りのレスポンスが返るかを確認しておくと安心です。

7. Kubernetes連携で意識したいポイント

7. Kubernetes連携で意識したいポイント
7. Kubernetes連携で意識したいポイント

Quarkus Kubernetes拡張を使う際は、コンテナイメージの管理やポート設定、リソース制限などを意識することが大切です。最初は難しく感じるかもしれませんが、Quarkusが多くの設定を自動化してくれるため、少しずつ理解を深めていけば問題ありません。クラウドネイティブな開発に慣れる第一歩として、この拡張は非常に有効です。

カテゴリの一覧へ
新着記事
New1
Micronaut
Micronautの@Factoryとは?複雑なBean生成を管理するための方法を解説
New2
Quarkus
QuarkusのDIとCDIを完全理解!@Producesでプロデューサーメソッドを使う方法を初心者向けに解説
New3
Java
JavaのStringBufferクラスを徹底解説!スレッド安全な文字列操作の仕組みと使い分け
New4
Micronaut
Micronautで非同期HTTP処理を行う方法!リアクティブ対応の基礎知識
人気記事
No.1
Java&Spring記事人気No1
Quarkus
Quarkus入門!GitHub ActionsでCI/CDパイプラインを構築して自動ビルドを実現する方法
No.2
Java&Spring記事人気No2
Java
Javaのコンパイルと実行の流れを解説!JVM・JDK・JREの違いも初心者向けに整理
No.3
Java&Spring記事人気No3
Quarkus
QuarkusのCI/CD入門!GitHub Actionsで自動デプロイを実現する方法
No.4
Java&Spring記事人気No4
Micronaut
Micronautのルーティング設定ガイド!プレフィックス付与とAPIバージョニングの基本
No.5
Java&Spring記事人気No5
Micronaut
Micronautのフィルタ徹底解説!HTTPリクエスト共通処理をスマートに追加する方法
No.6
Java&Spring記事人気No6
Java
Java Optional ifPresentの使い方を徹底解説!nullチェックをスマートに省略する方法
No.7
Java&Spring記事人気No7
Java
Java Functionインタフェースの使い方を完全ガイド!map変換と処理チェーンを理解する
No.8
Java&Spring記事人気No8
Java
JavaのString比較を徹底解説!equalsと==の違い、初心者が陥る罠とは?