【发布时间】:2021-01-10 14:55:47
【问题描述】:
我正在使用以下代码来获取 k8s config map 数据。
这段代码可以正常工作,但是我不确定解组,是否有点冗长,是否有可靠的方法来实现这一点?
cm, e := c.Kubernetes.CoreV1().ConfigMaps(“ns1”).Get(“vs-manifest”, metav1.GetOptions{})
if e != nil {
return errors.New(“error “occurred”)
}
//here I want to get the data
var cmData map[string]string
e = yaml.Unmarshal([]byte(cm.Data["cm1.yaml"]), &cmData)
if err != nil{
return errors.New(“error “occurred”)
}
//here i need to read rzr field
appVersion := strings.ReplaceAll(cmData[“rzr”], ".", "-")
这是配置图vs-manifest
apiVersion: v1
kind: ConfigMap
metadata:
name: vs-manifest
namespace: ns1
data:
cm1.yaml: |
version: 1.5
repo: milestones
rzr: 1.0005.044
【问题讨论】:
-
"cleaner" 总是一种观点,这会导致不好的问题。你能把你的要求缩小一点吗?这段代码的违规部分到底是什么?
-
@UlrichEckhardt - 我考虑了更健壮的代码,因为我需要在 prod 中运行它,我得到了一个我现在正在检查的答案
标签: azure go kubernetes yaml