我不确定标题是否是正确的术语。。但我基本上想使用go客户端,获得符合kubectl的对象(YAML)。
即部署资源将是:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.15.4
ports:
- containerPort: 80
我可以通过go客户端从我的k8s群集进行部署,如下所示:
Deployments, err := clientset.AppsV1().Deployments().List(metav1.ListOptions{})
//and then loop through each deployment:
for _, deploy := range Deployments.Items{
//deploy is type v1.Deployment
}
如果我要列表部署并保存到文件,结构是:
type Deployment struct {
v1.TypeMeta `json:",inline"`
v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
Spec DeploymentSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
Status DeploymentStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
显然与kubectl文件的预期有很大不同。
(虽然我可以使用go客户端deployment.create(obj)来创建部署)。
如果我想创建一个kubectl有效资源,我可以创建一个遵循该类型的自定义结构,然后手动填充值。
有没有办法自动做到这一点?或者一些目前存在的助手函数?
本质上我想转换v1。通用kubectl yaml资源的部署结构。
以下是我使用类似kubectl结构将对象编码为json的方法。如下所示,这是专门针对CoreV1中的对象的,但您可以轻松地用所用的方案注册其他API。
scheme := runtime.NewScheme()
corev1.AddToScheme(scheme)
codec := serializer.NewCodecFactory(scheme).LegacyCodec(corev1.SchemeGroupVersion)
output, _ := runtime.Encode(codec, stripped)
我认为,您可以简单地编组结构
并获取yaml。
我使用了结构封送的“github.com/ghodss/yaml”
。请把这个包括在进口中。
Deployments, err := clientset.AppsV1().Deployments().List(metav1.ListOptions{})
//and then loop through each deployment:
for _, deploy := range Deployments.Items{
y, err := yaml.Marshal(deploy)
if err != nil {
panic(err)
}
fmt.Println("deployment print in yaml: ", string(y))
}
希望能有帮助。
问题内容: 我正在从一个网站获取许多页面的html源代码,我需要将其转换为json对象,并与json文档中的其他元素组合。。我在同一主题上看到了很多问题,但没有一个是有帮助的。 我的代码: 上面的代码提供了unicode类型,但是,当我将输出放入jsonLint时,它给了我无效的json错误。有人可以帮助我了解如何将完整的html转换为json对象吗? 问题答案: 将原始HTML内容转换为JSON
问题内容: 我有一个JSON对象,我将其转换为并在此处进行一些处理。稍后,我想转换相同的缓冲区数据以转换为有效的JSON对象。 我正在研究Node V6.9.1 下面是我尝试过的代码,但是当我转换回JSON却无法打开该对象时遇到了。 所以我尝试使用检查方式打印整个对象 如果我尝试像数组一样读取它 我也尝试解析它抛出 我需要将其视为我创建的真实对象(我的意思是像上面声明的那样)。 请帮忙.. 问题答
问题内容: 我知道GWT具有良好的RPC支持。但是出于各种目的,我需要自己构建: 1.)我该如何转换Bean对象(在客户端),如; 用GWT转换成JSON字符串?(理想情况下,仅使用GWT / Google正式提供的库)。 2.)其次,如何使用任何GWT客户端Logik将此生成的JSON字符串从客户端发送到任何服务器。(理想情况下,仅使用GWT / Google正式提供的库)。 我进行了很多搜索,
我正试图将下面的json转换成java bean,需要你的帮助 Sort.json 我的豆子看起来像 我的测试课是 我看到的错误是 请建议:
例如:Date值为:“dateCollected”:fri Jul 07 00:00:00 IST 1989, 但它只服用星期五而不是整个日期。
问题内容: 我正在将struts2用于Action,将jquery用于UI … 我想知道如何将Map对象转换为JSON对象并将其发送回UI, 现在可以在JSP页面中将其打印为普通的Java Map对象: 但我希望它是这样的: 我将如何实现这一目标…? 问题答案: 尝试Gson: 不过,我不建议将这种代码放入JSP。诸如此类的事情应该存在于Servlet或Action类之类的控制器中。 您还绝对不希