Kubernetes 用の CI/CD パイプラインの設定は複雑です。一度設定すると、チームとインフラストラクチャが急速に拡大すると、CI/CD の管理が非常に困難になる可能性があります。効率的で完全に自動化された CI/CD は、機能をより早く提供するために重要な役割を果たします。 CI/CD を活用することで、アプリケーション チームはコード ベースのベスト プラクティスを確保しながら、より迅速に機能を提供できるようになります。 このブログ記事では、Devtron を使用して CI/CD パイプラインを簡単に作成および管理する方法について説明しますが、その前に CI/CD について簡単に確認しましょう。 CI/CD とは何ですか?CI は「継続的インテグレーション」の略で、開発者がプッシュした変更を検証およびテストするフェーズです。ここで、すべてのテスト ケース (単体テストや統合テストなど) を実行します。コードベースを検証してテストした後、このステップでソフトウェア成果物を構築できます。たとえば、コンテナ イメージをビルドすることも、バイナリ実行可能ファイルをビルドすることもできます。 CD は「継続的デリバリー」の略で、自動化されたプロセスでソフトウェア成果物を本番環境/ステージング環境にプッシュすることを意味します。この場合、コンテナ イメージをビルドしてコンテナ レジストリにプッシュした後、Devtron の助けを借りて同じイメージを Kubernetes クラスターにデプロイします。 Kubernetes ネイティブ CI/CD とは何ですか?Kubernetes ネイティブ CI/CD は、Kubernetes クラスターの一部になることでソフトウェア配信ワークフローを活用します。 Kubernetes ネイティブの CI/CD を使用する利点は、ビルド手順がポッド内で実行され、CI 用に外部で他のコンピューティング リソースを構成したり接続したりする必要がないことです。すべてのシークレットと外部認証情報がクラスター内にあるため、セキュリティの観点からこのアプローチが推奨されます。 Kubernetes ネイティブ CI/CD と DevtronYAML を使用してパイプラインを管理する場合は、ワークフローを記述して繰り返し更新する必要があります。 YAML を理解し、ビルド プロセスを調べ、さまざまな Linux コマンドを学習し、コードを手動でデプロイし、Kubernetes を学習することは、すべて開発者にとって困難です。彼らが求めているのは、直感的でシンプルで、ドメインの専門知識を必要としないものなのです。 Kubernetes についてあまり詳しくなくても、ビルドとデプロイメントを開発、実行、トリガーできるはずです。 これが私たちが Devtron で解決しようとしている問題です。 Kubernetes 上で CI/CD パイプラインをすばやくセットアップおよび管理するのに役立つ直感的なダッシュボードを提供します。 Devtron をインストールし、アプリケーション用の CI/CD パイプラインをいくつか設定しましょう。 Devtron のインストールについては、インストール ドキュメントを参照してください。 Devtron をインストールした後、ローカル マシンにインストールしたダッシュボード URL を取得するために Devtron サービスをポート転送します。 その後、ローカルホストのポート 8080 で Devtron ダッシュボードにアクセスできるようになります。 CI/CD パイプラインをデモンストレーションするために、GitHub リポジトリで Devtron が提供する nodejs デモ アプリケーションを使用しましょう。 これが完了したら、アプリケーションのグローバル構成を設定する必要があります。グローバル設定を設定するには、ドキュメントを参照してください。 ステップ1: GitOpsを有効にするGitOps を有効にするには、グローバル構成に移動し、任意の Git プロバイダーで認証します。私たちの場合は、GitHub を使用しました。すべての GitOps 構成に対して新しい GitHub 組織を作成することをお勧めします。 ステップ2: アプリケーションを作成するそれでは、Devtron で最初のアプリケーションの作成に移りましょう。アプリケーション名 (例: demo-application) を入力し、プロジェクト (例: devtron-demo) を割り当てて、「アプリの作成」をクリックします。 ステップ3: GitHubリポジトリとビルド構成を追加する次のステップは、ソース コードがホストされている Git リポジトリ URL を追加することです。プライベート リポジトリからアプリケーションをデプロイする場合は、Git アカウントのドキュメントを参照してください。 リポジトリの設定が完了したら、ビルド構成を設定する必要があります。コンテナ イメージをプルおよびプッシュするには、ビルド構成が必要です。レジストリを変更して、docker、ECR、GCR などを使用できます。これは、グローバル構成のコンテナ レジストリから構成できます。 Buildpacks が統合されたので、コードから直接 OCI 準拠のコンテナ イメージを構築できるようになりました。 プラットフォーム固有のイメージをビルドする場合は、ビルド構成で行うことができます。 ステップ4: 基本展開テンプレートを構成する基本デプロイメント テンプレートは、すべての魔法が起こる場所です。 Devtron は、Kubernetes 構成の複雑さをすべて抽象化し、テンプレートを Helm チャートにパッケージ化することで、きめ細かい構成を公開します。デプロイメント テンプレートには、本番環境レベルのマイクロサービスに必要なほぼすべての主要な構成が含まれており、基本 (GUI モード) と詳細 (YAML 構成) の 2 つの表示オプションが用意されています。 ContainerPort を構成したり、リクエストと制限のデプロイメントを設定したり、環境変数を提供したりできます。また、Devtron がデプロイメント中に使用および上書きする詳細な YAML 構成を取得できる高度なオプションもあります。以下はデプロイメント テンプレートの概要です。 事前定義されたテンプレートを少し調整するだけで、Horizontal Pod Autoscaling、Ingress、Security Context、Keda Autoscaling、ボリュームマウント、その他の Kubernetes 構成を構成できます。 Devtron のデプロイメント テンプレートを使用すると、Kubernetes 構成用の大規模な YAML ファイルを作成する必要がなくなります。 ステップ5: CI/CDパイプラインを作成してトリガーするデプロイメント テンプレートを構成したら、CI/CD ワークフローを構築できます。継続的インテグレーションの構成に移りましょう。パイプラインを作成するさまざまな方法の詳細については、ワークフロー エディターのドキュメントをお読みください。この例では、Devtron Dashbからビルドしてデプロイします。 それでは、CI ビルド パイプラインを作成し、パイプラインの詳細を構成しましょう。 CI パイプラインでは、脆弱性スキャン、ビルド前/後のステージ、ソース タイプ用のビルド イメージ、ブランチの固定、正規表現、プル リクエストまたはタグの作成などを構成できます。 ビルド パイプラインを作成したら、デプロイメント パイプラインを作成しましょう。同じページの + アイコンを使用して、デプロイメント パイプラインを追加します。 Devtron を使用すると、シーケンシャル パイプラインでも、同じビルドから複数の環境にデプロイする場合でも、必要な数のパイプラインを作成できます。 デプロイメント パイプラインデプロイメント前/後の段階で、ローリング、再作成、ブルーグリーン、カナリアなど、すぐに使用できる統合デプロイメント戦略を構成できます。また、同じアプリケーション内の異なる環境に対して異なるデプロイメント戦略を選択することもできます。デフォルトのデプロイメント戦略「ローリング」を次の図に示します。 このブログでは、ブルーグリーン展開戦略について引き続き説明します。デプロイメント戦略の構成を確認し、ユースケースに基づいて変更を加えることができます。この構成の変更は、他のすべての展開戦略に適用されます。 CI パイプラインと CD パイプラインを構成すると、パイプライン全体は次のようになります。同じアプリケーション内で、さまざまな環境やビルド タイプに対して、異なる構成を持つ複数のワークフローを作成できます。 面白いですね! ! パイプラインが作成されたので、パイプラインをトリガーする必要があります。そのためには、[ビルドとデプロイ] セクションに移動する必要があります。 イメージをビルドするには、「マテリアルの選択」をクリックし、ビルドするイメージを選択して、「ビルドの開始」をクリックします。 ビルドが開始されると、ビルド プロセスのログをチェックでき、ビルドが成功すると、アーティファクト セクションでビルドされたイメージを確認できます。また、次の画像に示すように、ダッシュボードで必要なすべての監査情報とともに以前のビルドを確認することもできます。 デプロイメント パイプラインをトリガーしましょう。イメージ ビルド パイプラインが正常に選択されると、ページに [ビルドとデプロイ] オプションが表示されます。イメージを選択し、「デプロイ」をクリックします。デプロイメントが開始されたコミットとセキュリティの詳細を検査することもできます。デプロイメントが開始されると、Devtron は各デプロイメントのすべてのステージと K8s 構成の詳細を提供します。また、CD パイプラインでは、次の図に示すように、デプロイメントに関するすべての監査情報を取得します。 ステップ6: アプリケーションの詳細アプリケーションをデプロイすると、アプリの詳細で表示できるようになります。ワークロードとアプリケーション メトリックに関するすべての正常性関連情報は、[アプリの詳細] タブから簡単に監視できます。 アプリケーションを正常にデプロイすると、アプリケーションに関するすべての情報を 360 度表示し、ログの表示、ターミナルでの実行、マニフェストやイベントの確認など、さまざまなポッド操作を実行できるようになります。また、複数のコンテナ ログを grep できる Logs Analyzer も付属しています。また、特定のアプリケーションに関連付けられているすべての Kubernetes リソースをグループ化して表示するので、デバッグや監視に非常に便利です。 結論はこのブログでは、Kubernetes CI/CD について学び、Devtron を使用してわずか 3 分ですべてのベスト プラクティスと GitOps を簡単に設定する方法を学びました。 Kubernetes CI/CD をすばやくセットアップする主な利点の 1 つは、コードベースの構築と継続的なテストを自動化することで、リリース プロセス全体を高速化できることです。開発者は手動でビルドやテストを行う必要がありません。高速で信頼性が高く、効率的な Kubernetes CI/CD により、より優れた製品とユーザーの満足度が向上します。 |
>>: AWS ECS と AWS Lambda: 5 つの主な違い
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますマーケティ...
これは最近友人と話し合っている話題です。トラフィックがあれば、コンバージョンは確実に増加すると多くの...
今日は10月20日月曜日です。いつものように朝から会社に来ました。パソコンの電源を入れた後、まずウェ...
[[419665]]正直に言うと、3~5 年間 Java 開発を行っていても、JVM チューニング ...
zvps は 2005 年に設立され、チェコ共和国に登録されています (会社登録番号: 290 37...
Qunarや58.comを含む一部の企業にとって、株式公開は明らかに投資を求め、発展を続けるための重...
クーポンコード SBK50OFF を使用すると、6 月末までサーバー バックアップ (R1soft/...
オンラインプロモーションを行う人は、一般的にフレンドリーリンクについて知っています。フレンドリーリン...
[[211645]]序文時間は流れる水のように、あっという間に過ぎていきます。自分が仮想環境にいるの...
不動産業界も後半に入り、各社は新たなチャンスを模索しています。インターネットの浸透はまるで稲妻のよう...
hostland.ru は、10 年以上の運営歴を持つ老舗ホスティング会社です。ロシア市場では比較的...
中国ではいくつかの電子商取引の巨大企業が出現しました。各社の戦略はそれぞれ異なりますが、いずれも独自...
私の友人の多くは、テンセントの QQ ニュース チャンネルをよく知っていると思います。毎日 QQ に...
百度傘下のウェブサイトであるhao123は、1999年5月に設立され、中国で最も古いインターネットナ...
58.com が米国で上場するというニュースが流れると、すぐにメディアの注目の的となった。残念ながら...