JFrog ArtifactoryとKubernetesを組み合わせて使うには

Kubernetes Voyage with Artifactory

マイクロサービスをコンテナ化することで、開発対象アプリケーションを軽量かつ一貫性を持った稼働環境のままカプセル化でき、開発・テストから最終的な本番環境へのデプロイまで流用することができます。プロジェクトが進むとコンテナが増加するため、起動やトラッキング、管理するツールが必要になります。Kubernetes Docker registry、コンテナ化されたマイクロサービスを使用して迅速かつ計画通りにアプリケーションをデプロイできます。 また、Kubernetesはコンテナオーケストレーションツールとして事実上の標準になりつつあります。

マイクロサービスを利用すると
マイクロサービス化により、複雑なモノリシックアプリケーションをより小さく管理しやすいものに細分化が可能になります。どこに問題があるか把握しやすくなり、迅速なソフトウェアリリースを行うアジャイル開発が可能になります。

ArtifactoryとHelmを使用した5段階のKubernetes CI/CDプロセス

今回は次の5つのステップによってコンテナ化されたマイクロサービスを簡単にデプロイし、CI/CD統合パイプラインを実現する方法を紹介します。

Use JFrog Artifactory to manage containerized microservices in Kubernetes; and collect build information and provide auditability throughout your CI/CD process.

ステップ 1. マイクロサービスを開発します。.warまたは.jar拡張子で保存してください。

ステップ 2. 基本イメージとして、Ubuntu上のTomcatとJava-8を使用したDockerフレームワークを作成します。

ステップ 3. 上記で作成した.war/.jarファイルをDockerフレームワークに追加して、マイクロサービス用のDockerイメージを作成します。

ステップ 4. マイクロサービス用にHelm Chart(パッケージ)を作成します。

注: Helm Chartとは、関連するKubernetesリソースのセットを記述するファイルの集まりです。アプリケーションが外部サービスとの依存関係を持つ複数のマイクロサービスで構成されている場合、デプロイメントはもう少し複雑になります。

ステップ 5. Helm Chartを使用してマイクロサービスをKubernetesクラスタにデプロイします。

ArtifactoryはすべてのCI/CDニーズに対応するユニバーサルリポジトリマネージャとして機能するため、コンテナ内のマイクロサービスは組織内のどこで実行されていても Kubernetesクラスタにデプロイできます。Appパッケージをチェックインし、ビルド、テスト、プロモート、そして最後にKubernetesへのデプロイを実行します。

また、 JFrog Xrayを使ってDockerイメージをスキャンし、ライセンスのコンプライアンスとセキュリティの脆弱性に問題がないか確認することができます。

CI/CDプロセスのトレースが簡単に

Artifactoryは単なるリポジトリマネージャではありません。CI/CDプロセス全体を通して作成される重要なメタデータを大量にキャプチャして、以下のような情報の監査を行います。

Artifactoryを使用して、Dockerイメージのアプリケーションレイヤー(WARファイルなど)を作成するCIジョブをトレースできます。また、2つのビルドを比較して差分を表示できるため、dockerイメージのどのレイヤーがどのビルドに対して生成されたのかをコミットまで簡単にトレースできます。

Artifactoryを使用したKubernetesの例では、 ArtifactoryがCI/CDプロセスの監査能力をどのように向上させるかについて詳しく学ぶことができます。

無料体験版を使用して、さっそくArtifctoryをHelm repositoryとして使用してみることをおすすめします。