翻訳

このドキュメントは The Kubectl Book の翻訳です。翻訳の GitHub リポジトリはこちら

Experimental

Content in this chapter is experimental and will evolve based on user feedback.

Leave feedback on the conventions by creating an issue in the kubectl GitHub repository.

Also provide feedback on new kubectl docs at the survey

TL;DR

別々のチームが所有しているリソース構成への変更を切り離す

リポジトリ構造をベースとしたレイアウト

動機

  • 別々の環境を管理するチーム間で分離する
    • 権限
  • きめ細かい制御
    • PR
    • Issue
    • Project
    • Automation

ディレクトリ構造

リソース構成

リポジトリのタイプ クラスタへのデプロイ 内容 名前の例
ベース No - ベースとして使用 他チームと共有する構成 platform
App Yes - 手動でまたは継続的にデプロイ デプロイ可能な構成 guest-book

ディレクトリブランチで説明されているテクニックを使用します。

ワークフロー例

  1. Java プラットフォームチームに所属するアリスが他チームが使用する Java ベースを更新する
  2. アリスが新規リリースのために Git タグを作成する
  3. GuestBook App チームに所属するボブが新しい Java ベースに切り替えるため、参照を更新する

シナリオ

  1. アリスが Java ベースリポジトリを修正し、v2 タグを作成する
    • 変更はこの段階ではどこにもプッシュされない
  2. ボブが GuestBook App リポジトリを修正し、Java ベースの v2 を使うようにする
    • 変更が継続的デプロイメントによりプッシュされる

Created with Raphaël 2.1.4

構造:

  • プラットフォームチームが共有の構成のためにベースリポジトリを作成する
  • App チームが App を開発するために App リポジトリを作成する
    • ベースリポジトリをリモートに参照

ベースリポジトリ: プラットフォームチーム

tree
.
├── bases # Used as a Base only
│   ├── kustomization.yaml
│   └── ...
├── java # Java Bases
│   ├── kustomization.yaml # Uses bases: ["../bases"]
│   └── ...
└── python # Python Bases

App リポジトリ: GuestBook チーム

tree
.
├── bases # References Base Repositories
│   └── ...
├── prod
│   └── ...
├── staging
│   └── ...
└── test
    └── ...

リモート URL vs Vendoring
  • 同じ組織が所有・管理しているリポジトリは URL によって参照できます
  • 別の組織が所有・管理しているリポジトリは vendor として管理し、vendor ディレクトリへのパスによって参照すべきです

results matching ""

    No results matching ""