mac上实践k8s operator笔记(三)

文章目录要做什么?怎么做ConfigMap创建传值测试Service创建传值测试结果ConfigMap与Pod传值Service与Pod要做什么?在之前的文章中我们可以创建operator并且通过operator来创建我们的k8s Pod了。这次我们要对pod进行拓展,三个方面ConfigMap,Service和ReplicaSet, 并最终创建Deployment怎么做ConfigMapConfigMap用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。ConfigMap
摘要由CSDN通过智能技术生成

要做什么?

在之前的文章中我们可以创建operator并且通过operator来创建我们的k8s Pod了。
这次我们要对pod进行拓展,三个方面ConfigMap,Service和ReplicaSet, 并最终创建Deployment

怎么做

ConfigMap

ConfigMap用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。ConfigMap跟secret很类似,但它可以更方便地处理不包含敏感信息的字符串。

https://www.kubernetes.org.cn/configmap

创建

func NewConfigMap(cr *mykindv1alpha1.Mykind) *corev1.ConfigMap {
   
	labels := map[string]string{
   
		"app": cr.Name,
	}
	m1 := make(map[string]string)
	m1["a"] = cr.Spec.EnvsValue
	return &corev1.ConfigMap{
   
		ObjectMeta: metav1.ObjectMeta{
   
			Name:      cr.Name + "-configmap",
			Namespace: cr.Namespace,
			Labels:    labels,
		},
		Data: m1,
	}
}

configMap := NewConfigMap(instance)
r.client.Create(context.TODO(), configMap)

传值

传值我们需要通过corev1.EnvVarSource和corev1.ConfigMapKeySelector,

func NewConfigMapKeySelector(configmap *corev1.ConfigMap) *corev1.ConfigMapKeySelector {
   
	return &corev1.ConfigMapKeySelector{
   
		LocalObjectReference: corev1.LocalObjectReference{
   
			Name: configmap.ObjectMeta.Name,
		},
		Key: "a",
	}
}

func NewEnvVarSource(configMapSelector *corev1.ConfigMapKeySelector) *corev1.EnvVarSource {
   
	return &corev1.EnvVarSource{
   
		ConfigMapKeyRef: configMapSelector,
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值