【发布时间】:2019-12-08 20:31:24
【问题描述】:
我正在编写一个将在 kubernetes 集群中运行的 Go 程序。
我希望程序使用 yaml(json 格式的 yaml)应用 kubernetes 工作负载
import (
"encoding/json"
"fmt"
corev1 "k8s.io/api/core/v1"
)
var (
workload = `{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "sleep",
},
"spec": {
"containers": [
{
"name": "sleep2",
"image": "tutum/curl",
"command": [
"/bin/sleep",
"infinity"
],
"imagePullPolicy": "Always",
"env": [
{
"name": "ENV_VAR",
"value": "i/love/sleeping"
}
]
}
]
}
}`
)
func ApplyWorkload(){
pod := corev1.Pod{}
if err := json.Unmarshal(workload, &pod); err != nil {
fmt.Errorf("%v", err)
}
// apply pod here
}
如何在 Go 中应用工作负载?
如果我的工作负载是部署,我应该为每个可能的工作负载运行一个 switch-case 吗?
【问题讨论】:
-
“json 格式的 yaml”是什么意思? YAML 和 JSON 是不同的格式。
-
但与您的问题更相关:您尝试过什么?包括所有相关代码。您遇到了哪些需要帮助的问题?
标签: go kubernetes