kubernetes-client/java で context を切り替える
Javaからk8s扱ってたんだけどcontextの切り替えが良くわからなくて結局コード読んで調べた。
正解は config 作ってそこでsetContext
するだった。
kubectl config
だとcontext切り替え時はset-context
は罠でuse-context
使うんだけどプログラムからはsetContext
でしたね〜
難しい
var kubeConfigPath = System.getenv("HOME") + "/.kube/config"; var config = KubeConfig.loadKubeConfig(new FileReader(kubeConfigPath)); // Staging 用のContext にして API 作成 config.setContext("staging"); var stagingApi = new CoreV1Api(ClientBuilder.kubeconfig(config).build()); // production 用のContext にして API 作成 config.setContext("production"); var productionApi = new CoreV1Api(ClientBuilder.kubeconfig(config).build());