ホームページ  >  記事  >  Java  >  Spring Boot と Kubernetes を使用してコンテナ化されたアプリケーションを実装する

Spring Boot と Kubernetes を使用してコンテナ化されたアプリケーションを実装する

PHPz
PHPzオリジナル
2023-06-23 08:40:391142ブラウズ

クラウド コンピューティング テクノロジの発展に伴い、コンテナ化されたアプリケーションは、アプリケーションを展開および管理するための重要な方法になりました。この傾向が進むにつれて、多くの開発者は、コンテナー化されたアプリケーションを学習して使用する過程で、Spring Boot フレームワークとコンテナー スケジューリング ツールである Kubernetes の使用を選択します。この記事では、Spring Boot と Kubernetes を使用してコンテナ化されたアプリケーションを簡単に実装する方法を紹介します。

Spring Boot とは何ですか?

Spring Boot は Spring フレームワークに基づく開発フレームワークで、カプセル化と自動構成を通じて Spring アプリケーションの開発プロセスを簡素化します。 Spring Boot の自動構成メカニズムを使用すると、開発者は多数のアプリケーション コンポーネントを手動で構成する必要がなくなり、代わりに、単純なアノテーションを通じてさまざまなコンポーネントの初期化と注入を完了できます。したがって、Spring Boot を使用すると、業務コードや設定ファイルの記述量が削減され、開発効率が大幅に向上します。

Kubernetes とは?

Kubernetes は、アプリケーションの実行環境を自動的にスケーリングおよび管理できるオープンソースのコンテナ スケジューリング システムであり、開発者はアプリケーションの開発とリリースに集中できます。 Kubernetes は、開発者がコンテナ内のアプリケーションのデプロイ、実行、スケーリング、サービス検出を自動化できるようにする豊富な API とツールを提供します。

Spring Boot と Kubernetes を使用してコンテナー化されたアプリケーションを実装するための基本的な手順

Spring Boot と Kubernetes を使用してコンテナー化されたアプリケーションを実装するための基本的な手順を簡単に紹介します。

ステップ 1: Spring Boot アプリケーションを作成する

Spring Boot では、単純な Java クラスを作成し、いくつかのアノテーションを追加するだけでアプリケーションを作成できます。以下は、最小限の Spring Boot Web アプリケーションを作成するための簡単なサンプル コードです。

@RestController
public class HelloController {
    
    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
    
    public static void main(String[] args) {
        SpringApplication.run(HelloController.class, args);
    }
}

上記のコードでは、@RestController アノテーションを使用してコントローラー クラスを識別し、GET リクエストを処理するためにコントローラー クラスに hello() メソッドを記述します。 main() メソッドで SpringApplication.run() を呼び出してアプリケーションを開始します。この単純なプログラムは、ポート 8080 をリッスンして /hello http インターフェイスを提供し、「Hello, World!」文字列結果を返します。

ステップ 2: Docker コンテナーを作成する

アプリケーションを作成した後、Docker を使用してコンテナーを作成できます。 Docker は、コンテナを作成および管理するためのツールです。これにより、開発者は、アプリケーション、環境、依存関係をポータブル コンテナにカプセル化して、展開とテストを容易にすることができます。

Docker コンテナを作成するには、アプリケーション イメージの構築プロセスを定義する Dockerfile ファイルを作成する必要があります。以下は簡単な Dockerfile の例です。

FROM openjdk:11-jdk-slim
COPY target/myapp.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

上記のコードでは、openjdk:11-jdk-slim イメージに基づいて新しいコンテナーを構築し、アプリケーションの実行可能 jar パッケージをコンテナーにコピーし、コンテナーが Bag を開始するときにこの jar を実行します。

ステップ 3: Kubernetes を使用してアプリケーションをデプロイする

Docker コンテナーが作成されたら、Kubernetes を使用してコンテナーをデプロイする必要があります。 Kubernetes は、アプリケーションのさまざまなリソースとコンポーネントを定義および管理するための多くのオブジェクト タイプを提供します。

上記のアプリケーションの場合、Deployment オブジェクトを使用して、アプリケーションのデプロイメントとそのコピーの数を定義できます。 Service オブジェクトを使用してアプリケーションのサービス検出アクセス方法を定義すると、アプリケーションは異なるノード間をシームレスに切り替えることができます。以下は、単純な Kubernetes デプロイメント ファイルの例です。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
        - name: myapp
          image: myapp:latest
          ports:
            - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: myapp-service
spec:
  selector:
    app: myapp
  ports:
    - name: http
      port: 80
      targetPort: 8080
  type: LoadBalancer

上記のコードでは、Deployment オブジェクトを定義し、アプリケーションのコピー数を 3 に設定し、コンテナ内で実行されているイメージを myapp:latest として指定します。また、Service オブジェクトを定義し、ポート 80 をコンテナの 8080 ポートにマップし、アクセス方法を LoadBalancer タイプに設定しました。

Kubernetes を使用してアプリケーションをデプロイした後、Service オブジェクトの外部 IP アドレスにアクセスすることでアプリケーションにアクセスできます。

概要

Spring Boot と Kubernetes を使用すると、アプリケーションを簡単にコンテナ化、デプロイ、管理できます。 Spring Boot は、開発者がアプリケーションを迅速に作成できるようにするシンプルなアプリケーション開発フレームワークを提供し、Kubernetes はアプリケーションのデプロイとメンテナンスを簡素化する強力なコンテナ管理ツールを提供します。

以上がSpring Boot と Kubernetes を使用してコンテナ化されたアプリケーションを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。