Kubernetesで展開を自動化するにはどうすればよいですか?


12

Rancherを介してKubernetesをデプロイし、JenkinsがGitHubに新しいコードをチェックインするときに新しいイメージを構築してDockerHubにプッシュすると仮定すると、新しいイメージのデプロイを自動化するにはどうすればよいですか?

質問をするもう1つの方法は、「以前はOctopusを使用して展開を管理していました。KubernetesやRancherに似たようなものが組み込まれていますか?」最終的に、私が苦労しているのはこの最後のギャップです。

回答:


4

Rancherを使用している時点で、最も簡単な方法は、カスタムのRancherカタログを登録し、デプロイするスタック/サービスごとにアイテムを作成することです。

カスタムカタログを追加する

Rancherカタログは、次の構造を持つGitリポジトリです

Gitリポジトリー構造

次に、JenkinsでRancher REST APIを呼び出してスタック/サービスをデプロイ/更新するジョブを作成できます。

ここに画像の説明を入力してください

その順番で、RancherはこのサービスのDockerイメージの最新バージョンをプルし、カタログからDocker Composeファイルに対応してデプロイします。

ここに画像の説明を入力してください

長所:

  • ほとんどすべてのアプリに使用される一般的なアプローチ
  • Jenkins自体がRancher環境に展開され、エージェントがKubernetesクラスターに作成される場合があります

短所:

  • 開発チームは、一般的なビルドを使用できるように強固なリリース戦略に従う必要があります
  • Rancher 2.0のアルファリリースでは、ストレージドライバーはまだ問題になっています

-2

Kubernetesプロバイダーを使用したTerraform。


1
こんにちは。同じことを行う方法の詳細や役立つリンクを使用して、答えを少し広げることができますか?
Dawny33
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.