Kubernetes + GitLab
アプリのビルド、テスト、デプロイ、実行を大規模に行うために必要な機能がすべて揃っています
アプリのビルド、テスト、デプロイ、実行を大規模に行うために必要な機能がすべて揃っています
クラウドネイティブアプリケーションは、ソフトウェア開発の未来を形成します。コンテナ化および動的管理がなされ、マイクロサービス指向のクラウドネイティブシステムを使用することで、オペレーションの安定性を維持しながら、開発速度を上げることができます。
GitLabは、エンドツーエンドのソフトウェア開発およびオペレーションにおいて必要な機能をすべて備えた単一アプリケーションです。イシュートラッキングやソースコード管理のほか、CI/CD、モニタリングまで、すべての作業を1か所で行えるため、複雑なツールチェーンを簡素化し、サイクルタイムを短縮できます。ビルトインのコンテナレジストリとKubernetesインテグレーションを備えたGitLabを活用すれば、コンテナ化やクラウドネイティブ開発をこれまで以上に簡単に開始できるようになり、さらにクラウドアプリの開発プロセスも最適化できます。
Kubernetesは、オープンソースのコンテナオーケストレーションプラットフォームです。アプリケーションコンテナの管理における作業全体(デプロイやスケーリングからオペレーションまで)を自動化することを目的として設計されています。Kubernetesオーケストレーションを使用すれば、必要に応じてスケールアップおよびスケールダウンを行いながら、パーティション化を実行できるようになります。本番環境内のハードウェア使用率を制限し、機能のロールアウト時における中断を最小限に抑えながら、顧客の要求に迅速かつ効率的に対応できます。
GitLabをKubernetesと連携させる、またはKubernetes内で動作させるには、3つの異なる方法があります。これらの方法はすべて、単独で使用することも、組み合わせて使用することもできます。
各手法は、他の手法と一緒に使用したり、単独で使用したりできます。たとえば、仮想マシン上で実行されているオムニバスGitLabインスタンスの場合、その中に保管されているソフトウェアをDocker Runnerを通じてKubernetesにデプロイできます。
GitLabを使用すると、ベアメタルから仮想マシンまでほぼどこにでもアプリをデプロイできますが、GitLabはKubernetes向けに設計されています。Kubernetesインテグレーション を使用すれば、次のような高度な機能を利用できるようになります。
GitLab CI/CDを使用すれば、複数の環境へのデプロイを簡単に管理できるようになります。また、オートスケーリングするGitLab Runnerと自動テストを同時に実行できます。さらに、Review Appsでコードをマージする前に、本番環境のようなライブ環境で変更を手動でテストすることも可能です。RunnerやReview Apps、および独自のアプリケーションを、Kubernetesクラスターや任意の環境にデプロイできます。