マニフェストのシンボリックリンク参照

Unixの別ファイル参照の標準機能にシンボリックリンクがあります。
kubernetesは、シンボリックリンクのマニフェストもkubectl -f applyできます。

$ ls
clusterA/ clusterB/
$ cd clusterB/
$ ln -s ../clusterA/somepod.yaml .
$ kubectl apply -f somepod.yaml

リンクを生成するディレクトリに移動したうえでln -sを実行することがポイントです。
別のディレクトリから実行すると使えないリンクができます。間違えた場合はリンクをrmのうえ再作成します。

コンテナは標準化を指向して構築するため、複数のクラスタで同じ定義を利用したいケースがあります。
そのための手軽な構成としてシンボリックリンクを活用できます。

kubectl apply -fはディレクトリを指定でき、ディレクトリ内のPod群を一括作成するため、シンボリックリンクの集合でアプリケーションクラスタを定義できます。

k8sネイティブのCIツール Tektonもこの手法が有効です。

またシンボリックリンクはgitリポジトリにコミットできるため、このクラスタ定義はポータブルです。

中馬崇尋
Chuma Takahiro