Member-only story
KubernetesにおけるGitOpsとその注意点
What is GitOps?
上記のツールを使って、深夜にタコスを注文するときの実例を挙げてみましょう。GitOpsは、信頼できる情報源(git repo)とデリバリーエンジンを組み合わせたメカニズム群で表現されます。DoorDashのアプリケーションが信頼できる情報源であり、デリバリー・エンジンは、レストラン、配達員、そしてボンネット内のソフトウェアの組み合わせです。エンドユーザーは、食事を配達してもらうために必要なすべての物流に関心があるのではなく、アプリケーションで宣言されたオブジェクトに関心があるのです。
Why should I care?
本番環境にどのようなアプリケーションがデプロイされているかを知ることは、開発者やSREにとって価値のあることです。GitOps は、宣言されたアプリケーションを環境に導くコンパスの役割を果たします。シームレスなエントリーポイントを持つことで、開発者は簡素化された*デリバリーケイデンスでアプリケーションのリリースをデプロイできるようになります。GitOps は開発者に迅速なフィードバックを提供し、開発者のエクスペリエンスを向上させると同時に、製品を市場に出すまでのチームの速度が上がります。
A Practical Approach
Gitopsは2つの要素に分けられます。この例では、真実の源(Git)とCDエンジン(ArgoCD)です。いくつかのサンプルコードを含むレポを添付します。
GitOpsとタコスのデリバリーを比較するのは楽しいことですが、あなたやあなたの会社がアプリケーションのワークフローにGitOpsを採用する助けにはなりません。そこで、CDエンジンをあなたの環境に導入するための優れた情報が掲載されている、Argoのクイックスタートへのリンクを添付しました。
Kubernetes and GitOps
DoorDashのワークフローに沿って、開発者に_git push_と同じくらい簡単なKubernetesへのエントリーポイントを提供しています。開発者にとって最も重要なことは、新機能をテストし、ユーザーからのフィードバックを効率的に素早く得られることです。Kubernetesは、アプリケーション開発者にクラウド・スタック全体の複雑さを見せることなく、A/Bテストを可能にします。開発者のワークフローをシンプルにすることが、Gitopsの真価を発揮するところです。
まとめ
GitOpsプロセスを管理するためのツールは数多く存在しますが、重要なのはそのコア・コンセプトです。信頼できる情報源とCDエンジンは、開発者の経験を向上させ、アプリケーションの市場投入を効率化するための基本的なメカニズムです。
Orangesys.ioでは、kuberneteの運用、DevOps、監視のお手伝いをさせていただいています。ぜひ私たちにおまかせください。