Configmap是kubernetes的一种资源对象,可以将应用的配置信息与容器镜像解耦,即配置信息的修改不需要重新构建容器镜像。
读取配置信息
我们将configmap的配置信息映射到容器的/etc/config/application.yaml文件中。
因此我们首先修改读取配置文件的程序common/config/config.go:
func initConfigByStream() (err error) {
// 从容器目录etc/config/application.yaml读取配置信息
values, err := ioutil.ReadFile("etc/config/application.yaml")
if err != nil {
fmt.Println(err.Error())
return
}
// 设置配置文件格式为yaml
viper.SetConfigType("yaml")
err = viper.ReadConfig(bytes.NewReader(values))
if err != nil {
fmt.Println(err.Error())
return
}
return
}
创建configmap
在configmap.go中创建三个函数,分别用于创建configmap、修改configmap和删除configmap。
func CreateConfigmap(clientset *kubernetes.Clientset, cmr *ConfigmapResource) {
configm