【问题标题】:calling the deployment yaml through client go examples通过客户端调用部署yaml go示例
【发布时间】:2019-11-30 02:23:26
【问题描述】:

我正在尝试通过客户端 go for k8 调用更新部署。但是我很难从 deployment.yaml 文件中更新更改 任何等效于 kubectl 的代码示例都通过 client-go API 应用 -f deployment.yaml

【问题讨论】:

  • 欢迎来到 SO。请您展示您已经尝试过的内容。

标签: kubernetes client-go


【解决方案1】:

此示例程序演示了管理Deployment 资源的基本操作,例如CreateListUpdateDelete

此代码可用hereGo client for Kubernetes. 的整个文档。

或者您可以编写自己的函数来部署 yaml 作为参数。

func cellDeploy(pathToFileName string) error {
    cmd := exec.Command("kubectl", "apply", "-f", pathToFileName)
    stdoutReader, _ := cmd.StdoutPipe()
    stdoutScanner := bufio.NewScanner(stdoutReader)
    go func() {
        for stdoutScanner.Scan() {
            fmt.Println(stdoutScanner.Text())
        }
    }()
    stderrReader, _ := cmd.StderrPipe()
    stderrScanner := bufio.NewScanner(stderrReader)
    go func() {
        for stderrScanner.Scan() {
            fmt.Println(stderrScanner.Text())
        }
    }()
    err := cmd.Start()
    if err != nil {
        fmt.Printf("Error : %v \n", err)
        os.Exit(1)
    }
    err = cmd.Wait()
    if err != nil {
        fmt.Printf("Error: %v \n", err)
        os.Exit(1)
    }

    return nil
}

【讨论】:

  • 我知道这种方法。但我正在寻找读取文件并通过 client-go api 应用更改的内容,并且 repo 中的示例不适用于读取 yaml 文件
  • 我在 python 中做到了。但是想知道 go 中的一些东西我正在 client-go 中寻找类似的东西github.com/kubernetes-client/python/blob/master/examples/…
猜你喜欢
  • 2020-06-25
  • 2017-09-10
  • 2020-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-04
相关资源
最近更新 更多