我正在開發一個 Java 應用程式,該應用程式使用官方 Kubernetes Java 客戶端創建一些 Kubernetes 作業。每個 Job 使用其配置目錄,該目錄已作為 configMap 存在于集群中。(此 configMap 是使用創建的kubectl create configmap {name} --from-file=/... )
使用 Java 客戶端,我成功創建了一個V1ConfigMap參考特定 configMap的物件,我還發現它V1Volume.setConfigMap()會轉換V1ConfigMapVolumeSource為V1Volume可由容器掛載的物件。
但是,我找不到映射V1ConfigMap和V1ConfigMapVolumeSource.
這是我的代碼:
public void setConfigMap(V1ConfigMap cm, String mountPath){
V1ConfigMapVolumeSource volSource = new V1ConfigMapVolumeSource();
//Some additional mappings are needed here.
//volSource = ...(cm)
//create V1Volume from V1ConfigMapVolumeSource
String volName = "appSetting";
V1Volume settingVol = new V1Volume().name(volName);
settingVol.setConfigMap(volSource);
//create V1VolumeMount
V1VolumeMount volumeMount = new V1VolumeMount();
volumeMount.setMountPath(mountPath);
volumeMount.setName(volName);
//set created objects to the Job
job.getSpec().getTemplate().getSpec().addVolumesItem(settingVol);
job.getSpec().getTemplate().getSpec().getContainers().get(0).addVolumeMountsItem(volumeMount);
}
有誰知道解決這個問題的方法,還是我的方法完全錯誤?
uj5u.com熱心網友回復:
正如 的檔案中所述V1ConfigMapVolumeSource,有一個name引數(型別String),它是所指物件的名稱。
要ConfigMap在 a 中鏈接 a ConfigMapVolumeSource,只需將 的名稱放在ConfigMapname 引數中,就足夠了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/385093.html
標籤:爪哇 Kubernetes 配置图
