この記事では、Cloud Toolkitを利用してContainer Service for Kubernetes上にアプリケーションをデプロイする方法を紹介します。
本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。
前回の記事では、ローカルのJavaアプリケーションをAlibaba Cloud ECSインスタンスに直接デプロイする方法を説明しました。すでにAlibaba Cloud Container Service for Kubernetesを利用している方にとっては、このプラグインを使って Container Service for Kubernetes上にアプリケーションをデプロイする方法が気になるかもしれません。この記事では、この疑問に答え、Alibaba Cloud Container Service for Kubernetesにアプリケーションをデプロイする方法を解説します。
Kubernetesのコンテナサービスについて
Alibaba Cloud Container Service for Kubernetesは、アプリケーションのライフサイクルを通じて、エンタープライズレベルの高性能かつ柔軟なKubernetesコンテナ化アプリケーションの管理を提供します。このサービスは、クラスタの作成と拡張を簡素化し、仮想化、ストレージ、ネットワーク、およびセキュリティにおけるAlibaba Cloudの機能を統合して、Kubernetesコンテナ化アプリケーションの実行環境を改善します。
アプリケーションのローカル開発
この記事では、Webページに「Hello World」を印刷するためのJavaサーブレットを例に、展開方法を説明します。
public class IndexServlet extends HttpServlet {
private static final long serialVersionUID = -112210702214857712L;
@Override
public void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();
// Demo: Use Alibaba Cloud Toolkit to modify the code of a local application and deploy the application to the cloud.
writer.write("Deploy from alibaba cloud toolkit. 2018-10-24");
return;
}
@Override
protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {
return;
}}
このリンクからソースコードをダウンロードできます。
先ほどのコードは、Webページに "Hello World "という文字列を表示するための標準的なJavaプロジェクトです。
Dockerfileファイル(ダウンロードファイル)を書き、プロジェクトのルートディレクトリに保存します。
FROM tomcat:8.5.34-jre8
COPY target/javademo.war /usr/local/tomcat/webapps/
プラグインのインストール
Alibaba Cloudは、開発者がローカルIDEで書かれたアプリケーションを効率的にContainer Service for KubernetesにデプロイするためのEclipseベースのプラグインを提供しています。
プラグインのURL:https://www.aliyun.com/product/cloudtoolkit_en
このEclipseベースのプラグインのインストール手順は、一般的なプラグインと似ているため、ここでは詳細を説明しません。
プラグインの環境設定
プラグインをインストールしたら、選択して環境設定を行います。
トップメニュー > ウィンドウ > 環境設定 > Alibaba Cloud Toolkit > アカウント
以下のページが表示されたら、Alibaba CloudアカウントのAKとSKを設定して、環境設定の設定は完了です(RAMユーザーアカウントを使用している場合は、RAMユーザーのAKとSKを入力してください)。
プロジェクトをローカルにイメージとしてパッケージ化するようにDocker接続を設定します。
トップメニュー>ウィンドウ>環境設定>Alibaba Cloud Toolkit>Dockerを選択します。
アプリケーションのデプロイ
Eclipseでプロジェクト名を右クリックし、ショートカットメニューからAlibaba Cloud > Deploy to CS Kubernetesを選択します。以下のようなデプロイ画面が表示されます。
ステップ 1
パッケージ方法の選択:
ダイアログボックスで、ローカルアプリケーションのコンテキストディレクトリとDockerfileを設定し(通常はローカルアプリケーションに応じて自動的に識別され設定されます)、[次へ]をクリックします。
要件に応じてMavenを使用してアプリケーションをビルドするには、[Use Maven build]を選択することができます。
ステップ 2
リポジトリを選択:
ダイアログボックスで、コンテナ レジストリのリージョン、ネームスペース、イメージ リポジトリを選択し、[次へ] をクリックします。
注:まだイメージ リポジトリがない場合は、ダイアログ ボックスの右上にある [新規リポジトリの作成] をクリックしてイメージ リポジトリを作成します。作成手順の詳細については、このドキュメントを参照してください。
ステップ3
プロジェクトを CS Kubernetes に配置する] ダイアログ ボックスで、Container Service for Kubernetes のクラスタ、ネームスペース、および配置を選択し、[完了] をクリックします。
注: Container Service for Kubernetes の配置を作成していない場合は、ダイアログボックスの右上にある [Create a new Kubernetes deployment] をクリックして Container Service ¨C Kubernetes コンソールに移動し、配置を作成します。作成手順の詳細については、このドキュメントを参照してください。
Finish をクリックして、ローカル アプリケーションを Container Service for Kubernetes にデプロイします。
アリババクラウドは日本に2つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ