Flow は、一般的な Kubernetes デプロイメント機能を提供します。組み込みの kubectl ツールを使用して、Kubernetes YAML ファイルを任意のクラスターにデプロイできます。ネイティブの kubectl が提供する機能に加えて、Flow は、Kubernetes でのアプリケーションの迅速なビルドとリリースに役立つ、組み込みの動的テンプレートを提供します。本トピックでは、Flow を使用して Kubernetes リリースタスクを追加および設定する方法と、デプロイメント後にログを表示する方法について説明します。
ソリューション概要
デプロイメントタスクの追加
次のいずれかの方法でデプロイメントタスクを追加できます。
-
パイプラインを作成するときに、[Kubernetes apply] ステップを含むテンプレートを選択します。
[ビジュアルオーケストレーション] タブの左側のペインから [Java] カテゴリを選択します。[Java · Test, build image and deploy to Kubernetes cluster/Alibaba Cloud Container Service] テンプレートを選択し、[Create] をクリックします。

-
パイプラインに新しいタスクを追加し、[Kubernetes apply] ステップを追加します。
タスクパネルで、左側の [Deploy] カテゴリを選択し、右側で [Kubernetes apply] を選択します。
デプロイメントタスクの設定
[Kubernetes apply] ステップでは、次の設定を行います:
-
既存の Kubernetes [クラスター接続] を選択するか、新規作成します。Kubernetes クラスター接続の作成方法の詳細については、「Kubernetes クラスターの管理」をご参照ください。
[Kubernetes apply] ステップの他のパラメーターとして、[Kubectl version] (例:
v1.16.4)、[Namespace] (例:default)、[YAML path] (例:app-configs/manifest2) を設定します。必要に応じて、[Use Replace mode]、[Skip TLS Verification]、[Skip template validation] などのオプションを選択します。次に、[Variables] セクションで、イメージなどのパラメーターを設定します。 -
デプロイメントのターゲットとなる [Namespace] を入力します。
-
現在のデプロイメントの [YAML path] を入力し、必要な変数を追加します。
-
Kubernetes YAML ファイルで、${image} プレースホルダーを使用して Docker イメージを動的変数として定義します。
apiVersion: apps/v1 kind: Deployment metadata: labels: run: spring-boot-sample name: spring-boot-sample spec: replicas: 4 selector: matchLabels: run: spring-boot-sample template: metadata: labels: run: spring-boot-sample spec: containers: image: ${image} name: nginx -
[Kubernetes apply] ステップでは、YAML ファイルに変数を渡すことができます。ステップの設定で [Add] をクリックして、各変数とそのソースを定義します。これらの変数は、デプロイメント時に YAML ファイル内のプレースホルダーを動的に置き換えます。[Kubernetes apply] ステップの [Variables] セクションで、
image変数の値をイメージビルドステップの出力 ([Build image and push to Alibaba Cloud Container Registry] ステップによって生成されたイメージ URL) に設定します。これにより、デプロイメント時に YAML ファイルの ${image} プレースホルダーが実際のイメージ URL に置き換えられます。デプロイメントでは、設定されたクラスター接続 (例:corefile-test)、Kubectl バージョン (例:v1.16.4)、名前空間 (例:default)、および YAML パス (例:app-configs/manifest2) を使用します。
説明Kubernetes での YAML ファイルのユースケースについては、「Kubernetes YAML 仕様へのリファレンス」をご参照ください。
-
デプロイメントログの表示
設定が完了したら、パイプラインを実行してデプロイメントタスクを実行します。ソースコード内の YAML ファイルが、指定された Kubernetes クラスターにデプロイされます。
-
デプロイメント中に [Logs] をクリックすると、その進捗状況と関連ログを表示できます。
-
ログ出力には、スキャンされたすべての YAML ファイル、
kubectl applyからの標準出力、およびデプロイメント後のすべてのリソース変更の概要が含まれます。たとえば、
kubectl applyコマンドはdeployment.apps/spring-boot-sample configuredを出力します。リソースの概要には、spring-boot-sampleが 105 分間実行されていることが示されます。最後に、メッセージ[SUCCESS] Step executed successfullyにより、アプリケーションが Kubernetes クラスターに正常にデプロイされたことを確認できます。
Kubernetes YAML 仕様へのリファレンス
ワークロード
サービスディスカバリーとネットワーク
リソースタイプ | リファレンス |
サービス | https://kubernetes.io/docs/concepts/services-networking/service/ |
Ingress | https://kubernetes.io/docs/concepts/services-networking/ingress/ |