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リポジトリにコミットできるため、このクラスタ定義はポータブルです。
⁋ 2022/03/19↻ 2024/12/18
中馬崇尋
Chuma Takahiro
Chuma Takahiro