首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析yaml值- kubebuilder的字节数组

解析yaml值- kubebuilder的字节数组
EN

Stack Overflow用户
提问于 2021-03-15 11:38:09
回答 1查看 1.4K关注 0票数 3

我们使用库贝建设者来构建自定义控制器,问题是当您应用该文件时,我们无法解析原始数据,因为它是空的。

我创造了一个很小的例子来描述这个问题。

apiVersion: v1alpha1 p.test.com/v1alpha 1

代码语言:javascript
复制
kind: Rawtest
metadata:
  name: rawtest-sample
spec:
  system:
    type: test
    provider:
      type: aws
      infrastructureConfig:
        kind: InfrastructureConfig
        apiVersion: v1alpha1
        networks:
          vpc:
            cidr: aaa
          zones:
            - name: abc
              internal: 123
      workers:
        - name: myworker
          machine:
            type: "mt"
            image:
              name: name1
              version: "2"
          maximum: 2
          minimum: 1
          maxUnavailable: 0
          volume:
            type: a1
            size: 20Gi
          zones:
            - zone1

在运行时,我能够获得spec.system.type value=test和spec.system.provider.type value="aws",但是我无法获得infrastructureConfig: (第10行)下的所有数据

我创建了这个非常简单的项目来演示这个问题,请参阅api/type文件夹,在获得created对象之后(在应用config/sample/ file之后,您可以看到infrastructureconfig和所有相关数据是

https://github.com/JennyMet/

下面是试图读取原始值controller.go#L57的代码

&rawtest应该包含所有数据

请查看types.go#L32类型

raw型 shoot.go#L945

shoot.go#L774

https://github.com/gardener/gardener/blob/bf32324d9d1a366d8a0a7514956dc39c2f22f7b7/vendor/k8s.io/apimachinery/pkg/runtime/types.go#L94:6

我需要一种使它在kubebuilder中工作的方法,因为当我应用该文件时,我无法获得调试中的值.

调试pic

如果遗漏了什么请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2021-03-15 12:58:26

我做了以下工作

  1. 访问诸如https://yaml.to-go.online/这样的站点,将yaml转换为go结构
  2. 构造一个结构 T := AutoGenerated{}
  3. 我假设yaml数据以[]字节的形式加载到内存中
  4. 使用"gopkg.in/yaml.v2",Unmarshall将yaml转换为结构 err := yaml.Unmarshal([]字节(数据),&t)
  5. infrastructureconfig字段可作为t.Spec.System.Provider.InfrastructureConfig使用

请参阅https://play.golang.org/p/syx8v7gAmDH

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66637260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档