翻訳
このドキュメントは The Kubectl Book の翻訳です。翻訳の GitHub リポジトリはこちら。
TL;DR
- リソース構成は一つ以上の git リポジトリに保管する
- 疎結合に保つために、ディレクトリの階層構造、git ブランチ、git リポジトリを活用できる
リソース構成の構造
このセクションの各章では、git を使ってリソース構成を構造化する方法を説明します。
はじめにディレクトリの階層構造を使った単純なアプローチに慣れてから、後でブランチやリポジトリを使った構造化を行うことも可能です。
背景
用語:
- ベース: 複数のプロジェクトにインポートできるように共通部分をくくり出した共有のリソース構成
- Overlay とカスタマイズ: 共有のリソース構成を特定のアプリケーション、環境、目的に合わせて修正すること
テクニック | 分離する変更 | 用途 | ワークフロー |
---|---|---|---|
ディレクトリ | NA | 基本的な構造 | 変更はただちにグローバルに伝播される |
ブランチ | 環境をまたぐ | 環境をまたいだ変更が容易になる | 段階的に変更が反映される |
リポジトリ | チームをまたぐ | チームをまたいで共有する構成に変更があれば能動的に取りに行く | 変更は使用者が pull する (アップグレードと同様) |
コンセプト:
- リソース構成を組織化するために、最初はディレクトリの階層構造を使った構造化だけを採用してもかまいません
- Overlay / カスタマイズするためのベースはディレクトリで分割して使用する
- 同じアプリケーションの複数のデプロイ環境を疎結合に作ることができます
- 環境を分離するためにブランチを分離する
- ブランチ間の共通部分を抜き出したベースをもとに Overlay / カスタマイズを行う
- 複数のチームが共有の構成を疎結合にに使うことができます
- チームを分離するためにリポジトリを分離する
- リポジトリ間の共通部分を抜き出したベースをもとに Overlay / カスタマイズを行う