koukiblog

たぶんweb系の話題

k8sクラスタのsecretsを別のクラスタにコピーしたいとき

secretsといってもbase64encodeされているだけなので、簡単にコピーできます。

kubectl get secrets -o yaml > current_secrets.yaml

で取り出して

kubectl apply -f current_secrets.yaml

でok。

このときTYPE:kubernetes.io/service-account-tokenなど、おそらくコピーすべきでないsecretsも含まれていることに注意が必要です。

アプリケーションで利用するsecretsにラベルを付与しておけば、secretsを取り出すときにラベルでフィルタできるので便利です。次この作業をするかどうかはわからないのですが、念のため僕はsecretsにlabelを付与しておくことにしました。