ソフトウェアの導入を管理するために複数のツールやプロセスをやりくりすることにうんざりしていませんか? DevOps の世界を席巻している革新的なアプローチである GitOps を始めましょう。 GitOps とは何なのか、GitOps があなたが探していたソリューションである理由、実際の企業が GitOps を使用して業務を変革している方法について詳しく見ていきましょう。
GitOps に関する話題は何ですか?
コードからインフラストラクチャに至るまで、システム全体が Git リポジトリにきちんとパッケージ化されている世界を想像してみてください。素敵ですね?一言で言えば、それが GitOps です。 2017 年に誕生したこの Weaveworks の発案は、組織がソフトウェアを管理および提供する方法を再定義しています。
GitOps 101: 基本
それでは、GitOps はどのように機能するのでしょうか?細かく見てみましょう:
GitOps が好きになる理由
現実世界の GitOps
開発、テスト、運用のいずれの場合でも、GitOps があなたをサポートします。これにより、環境が完全に調和し、問題が早期に発生することが保証されます。しかし、私たちの言葉をただ鵜呑みにしないでください。実際の成功事例をいくつか見てみましょう:
この用語を作った会社よりも始めるのに適した人は誰でしょうか? Weaveworks は GitOps を使用して独自のインフラストラクチャを管理します:
例:
# Sample Flux HelmRelease for a microservice apiVersion: helm.fluxcd.io/v1 kind: HelmRelease metadata: name: my-app namespace: default spec: releaseName: my-app chart: repository: https://charts.mycompany.com name: my-app version: 1.2.3 values: replicaCount: 3 image: repository: myregistry.azurecr.io/my-app tag: v1.0.0
Git 内のこの YAML ファイルは、Helm を使用して「my-app」アプリケーションを自動的にデプロイおよび更新します。
世界中のイベントの数百万枚のチケットを扱うチケットマスターは、大規模な Kubernetes インフラストラクチャの管理に GitOps を採用しました:
ArgoCD アプリケーション マニフェストの例:
apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: ticketing-service namespace: argocd spec: project: default source: repoURL: https://github.com/ticketmaster/ticketing-service.git targetRevision: HEAD path: k8s destination: server: https://kubernetes.default.svc namespace: production syncPolicy: automated: prune: true selfHeal: true
Financial Times は、GitOps を使用して複数のクラウド プロバイダーにわたるインフラストラクチャを管理しています:
高度な GitOps: 好奇心が強い人向け
GitOps に慣れてきたら、次のことを試してみるとよいでしょう:
平坦ではない道
本当のことを言いましょう。GitOps は、すべてが晴れやかではありません。次のような問題に直面するかもしれません:
実践的な例: Web アプリケーションへの GitOps の実装
GitOps を試してみませんか?これを Web アプリケーションに実装する方法の簡単な例を次に示します:
k8s-manifests/ ├── deployment.yaml ├── service.yaml └── ingress.yaml
このワークフローにより、Git リポジトリがシステムの望ましい状態を常に反映し、実際のインフラストラクチャが同期された状態に保たれます。
まとめ
GitOps は単なる技術バズワードではなく、ゲームチェンジャーです。 Git を唯一の信頼できる情報源にすることで、DevOps の取り組みをよりスムーズで効率的に進めることができます。少数のサービスを管理している場合でも、数百のクラスターを管理している場合でも、GitOps は運用を合理化し、信頼性を向上させるのに役立ちます。
あなたの番です!
GitOps の水に足を浸したことがありますか?どのようなハードルに直面しましたか?どのようにしてそれらを克服しましたか?コメントで GitOps 戦争のストーリーを共有してください。お互いから学び、DevOps の生活を楽にしましょう!
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3