JFrog ArtifactoryとKubernetesを組み合わせて使うには
マイクロサービスをコンテナ化することで、開発対象アプリケーションを軽量かつ一貫性を持った稼働環境のままカプセル化でき、開発・テストから最終的な本番環境へのデプロイまで流用することができます。プロジェクトが進むとコンテナが増加するため、起動やトラッキング、管理するツールが必要になります。Kubernetes Docker registry、コンテナ化されたマイクロサービスを使用して迅速かつ計画通りにアプリケーションをデプロイできます。 また、Kubernetesはコンテナオーケストレーションツールとして事実上の標準になりつつあります。
マイクロサービス化により、複雑なモノリシックアプリケーションをより小さく管理しやすいものに細分化が可能になります。どこに問題があるか把握しやすくなり、迅速なソフトウェアリリースを行うアジャイル開発が可能になります。
ArtifactoryとHelmを使用した5段階のKubernetes CI/CDプロセス
今回は次の5つのステップによってコンテナ化されたマイクロサービスを簡単にデプロイし、CI/CD統合パイプラインを実現する方法を紹介します。
ステップ 1. マイクロサービスを開発します。.warまたは.jar拡張子で保存してください。
ステップ 2. 基本イメージとして、Ubuntu上のTomcatとJava-8を使用したDockerフレームワークを作成します。
ステップ 3. 上記で作成した.war/.jarファイルをDockerフレームワークに追加して、マイクロサービス用のDockerイメージを作成します。
ステップ 4. マイクロサービス用にHelm Chart(パッケージ)を作成します。
ステップ 5. Helm Chartを使用してマイクロサービスをKubernetesクラスタにデプロイします。
ArtifactoryはすべてのCI/CDニーズに対応するユニバーサルリポジトリマネージャとして機能するため、コンテナ内のマイクロサービスは組織内のどこで実行されていても Kubernetesクラスタにデプロイできます。Appパッケージをチェックインし、ビルド、テスト、プロモート、そして最後にKubernetesへのデプロイを実行します。
また、 JFrog Xrayを使ってDockerイメージをスキャンし、ライセンスのコンプライアンスとセキュリティの脆弱性に問題がないか確認することができます。
CI/CDプロセスのトレースが簡単に
Artifactoryは単なるリポジトリマネージャではありません。CI/CDプロセス全体を通して作成される重要なメタデータを大量にキャプチャして、以下のような情報の監査を行います。
- 一般的なビルドおよび環境情報
- 成果物と依存関係とともに公開されたモジュール
- Artifactory and Jenkins CIサーバー間の問題
- すべての成果物と依存関係の詳細なライセンス分析
- リリースの履歴情報
Artifactoryを使用して、Dockerイメージのアプリケーションレイヤー(WARファイルなど)を作成するCIジョブをトレースできます。また、2つのビルドを比較して差分を表示できるため、dockerイメージのどのレイヤーがどのビルドに対して生成されたのかをコミットまで簡単にトレースできます。
Artifactoryを使用したKubernetesの例では、 ArtifactoryがCI/CDプロセスの監査能力をどのように向上させるかについて詳しく学ぶことができます。
無料体験版を使用して、さっそくArtifctoryをHelm repositoryとして使用してみることをおすすめします。