【发布时间】:2019-04-29 01:22:00
【问题描述】:
我使用 io.fabric8.kubernetes-client,版本 4.1.1。我正在尝试使用 io.fabric 库加载 yaml。
---
apiVersion: "velero.io/v1"
kind: "BackupStorageLocation"
spec:
providerType: "aws"
objectStorage:
bucket: "test"
config:
region: "us-west-1"
metadata:
annotations: {}
name: "default"
namespace: "velero"
labels: {}
String content = "---\n" +
"apiVersion: \"velero.io/v1\"\n" +
"kind: \"BackupStorageLocation\"\n" +
"spec:\n" +
" providerType: \"aws\"\n" +
" objectStorage:\n" +
" bucket: \"test\"\n" +
" config:\n" +
" region: \"us-west-1\"\n" +
"metadata:\n" +
" annotations: {}\n" +
" name: \"default\"\n" +
" namespace: \"velero\"\n" +
" labels: {}\n" +
"";
List<HasMetadata> list = client.load(new ByteArrayInputStream(content.trim().getBytes())).createOrReplace();
得到以下异常:
Caused by: com.fasterxml.jackson.databind.JsonMappingException: No resource type found for:velero.io/v1#BackupStorageLocation
at [Source: (BufferedInputStream); line: 14, column: 13]
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:271)
at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:1718)
at io.fabric8.kubernetes.internal.KubernetesDeserializer.deserialize(KubernetesDeserializer.java:78)
at io.fabric8.kubernetes.internal.KubernetesDeserializer.deserialize(KubernetesDeserializer.java:32)
at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:1611)
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1188)
at io.fabric8.kubernetes.client.utils.Serialization.unmarshal(Serialization.java:129)
【问题讨论】:
-
你确定Kubernetes中存在对应的CRD吗?
-
@Vasily Angapov 是的
-
@ArundathiGVardhan:嗨,你能解决这个问题吗?
标签: java kubernetes fabric8