kubectl源码分析之create configmap

技术人如何用博客构建个人知识图谱:从记录到复用 技术博客本质上是一种面向工程实践的知识管理方式,其核心在于将临时性工作记忆固化为可检索、可关联、可演进的长期知识资产。基于认知科学中的遗忘曲线原理,持续记录真实问题场景、环境快照与决策链条,能有效对抗技术细节的快速衰减;通过结构化标签与时间戳锚定,形成带上下文的个人知识图谱,显著提升问题复现与跨项目迁移效率。这种以‘Record’为驱动的技术写作范式,已广泛应用于Kubernetes排障、MySQL死锁分析、Nginx配置调试等高频实战场景,成为中高级开发者构建第二大脑的关键基础设施。 阅读详情

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967

课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。

腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518

第二个视频发布  https://edu.youkuaiyun.com/course/detail/27109

腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518

介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。

第三个视频发布:https://edu.youkuaiyun.com/course/detail/27574

详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件

第四个课程发布:https://edu.youkuaiyun.com/course/detail/28488

本课程将详细介绍k8s所有命令,以及命令的go源码分析,学习知其然,知其所以然
————————————————

type ConfigMapOpts struct {//选项结构体
	CreateSubcommandOptions *CreateSubcommandOptions
}
//创建configmap cobra命令
func NewCmdCreateConfigMap(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command {
	options := &ConfigMapOpts{//初始化选项结构体
		CreateSubcommandOptions: NewCreateSubcommandOptions(ioStreams),
	}

	cmd := &cobra.Command{//创建cobra命令
		Use:                   "configmap NAME [--from-file=[key=]source] [--from-literal=key1=value1] [--dry-run]",
		DisableFlagsInUseLine: true,
		Aliases:               []string{"cm"},
		Short:                 i18n.T("Create a configmap from a local file, directory or literal value"),
		Long:                  configMapLong,
		Example:               configMapExample,
		Run: func(cmd *cobra.Command, args []string) {
			cmdutil.CheckErr(options.Complete(f, cmd, args))//准备
			cmdutil.CheckErr(options.Run())//运行命令
		},
	}

	options.CreateSubcommandOptions.PrintFlags.AddFlags(cmd)//创建print flag选项

	cmdutil.AddApplyAnnotationFlags(cmd)//创建save-config选项
	cmdutil.AddValidateFlags(cmd)//创建validate选项
	cmdutil.AddGeneratorFlags(cmd, generateversioned.ConfigMapV1GeneratorName)//创建generator选项
	cmd.Flags().StringSlice("from-file", []string{}, "Key file can be specified using its file path, in which case file basename will be used as configmap key, or optionally with a key and file path, in which case the given key will be used.  Specifying a directory will iterate each named file in the directory whose basename is a valid configmap key.")//创建from-file选项
	cmd.Flags().StringArray("from-literal", []string{}, "Specify a key and literal value to insert in configmap (i.e. mykey=somevalue)")//创建from-literal选项
	cmd.Flags().String("from-env-file", "", "Specify the path to a file to read lines of key=val pairs to create a configmap (i.e. a Docker .env file).")//创建from-env-file选项
	cmd.Flags().Bool("append-hash", false, "Append a hash of the configmap to its name.")//创建append-hash选项
	return cmd
}
//做一些准备工作
func (o *ConfigMapOpts) Complete(f cmdutil.Factory, cmd *cobra.Command, args []string) error {
	name, err := NameFromCommandArgs(cmd, args)//从参数获取资源名称
	if err != nil {
		return err
	}

	var generator generate.StructuredGenerator
	switch generatorName := cmdutil.GetFlagString(cmd, "generator"); generatorName {
	case generateversioned.ConfigMapV1GeneratorName://获取generator选项并判断
		generator = &generateversioned.ConfigMapGeneratorV1{//构造generator对象
			Name:           name,
			FileSources:    cmdutil.GetFlagStringSlice(cmd, "from-file"),
			LiteralSources: cmdutil.GetFlagStringArray(cmd, "from-literal"),
			EnvFileSource:  cmdutil.GetFlagString(cmd, "from-env-file"),
			AppendHash:     cmdutil.GetFlagBool(cmd, "append-hash"),
		}
	default:
		return errUnsupportedGenerator(cmd, generatorName)
	}

	return o.CreateSubcommandOptions.Complete(f, cmd, args, generator)//运行createSubCommandoption的complete
}

其他和上一个命令一样,不做介绍

 

 

 

 

spring-boot-kibernetes-config-map:在Spring Boot应用程序中使用Kubernetes ConfigMap 在Spring Boot应用程序中使用Kibernetes Configmap 1. Spring Boot Application属性 首先,让我们向MVC控制器添加简单的启动属性,没什么大不了的: @RestController public class ControllerMVC { @Value ( " ${my.system.property:defaultValue} " ) protected String fromSystem; @RequestMapping ( " /say_hello " ) public String mvcTest () { return " Hello my majesty, your minions from " + fromSystem; } } 并将my.system.prop 立即下载

相关推荐

kube-list-configmap

kube-list-configmap kubectl 一个kubectl插件来... 快速开始 kubectl krew install kube-list-configmap kubectl kube-list-configmap

kubernetes configmap热更新源码简析

1 概述: 1.1 环境 版本信息如下: a、操作系统:centos 7.6 c、kubernetes版本:v1.15.0 1.2 configmap热更新原理概述 configmap(secret的热更新也是一个原理)是kubernetes支持的卷的一种,底层原理是kubelet根据configmap中的内容在宿主机上写成若干文件(目录默认是/var/lib/kubelet/pods/<pod的UUI>/volumes/kubernetes.io~configmap/<卷名>),

nangonghen的博客 1908

QT实现串口通信

要实现串口通信,需要知道串口通信需要的信息 主要参数有:波特率、校验位、数据位、停止位、控制流 主要操作有:串口的打开和关闭、刷新设备串口、接发数据、开关显示灯等。 实现效果如图: 最后附赠完整源码。 第一步:在头文件中引入 QtSerialPort 类的两个头文件(必须引入) // 引入串口通信的两个头文件(第一步) #include <QtSerialPort/QSerialPort> // 提供访问串口的功能 #include <QtSerialPo

m0_49456900的博客 6万+

Kubelet v1.25.x源码——ConfigmapManager

Kubelet v1.25.x源码ConfigmapManager简单分析

展望、进击 505

时钟门控ICG单元的timing问题

本文探讨了数字IC设计中门控时钟(ICG)的时序收敛问题,重点分析了ICG单元在setup时序检查中易出现违例的原因及优化方法。文章指出,由于ICG单元不在时钟树平衡范围内,其时钟路径延迟通常小于后续寄存器,导致setup时序难以满足。提出的解决方案包括:1)将ICG尽量靠近受控寄存器放置;2)使用set_clock_gating_check命令加强时序约束;3)在布局阶段设置负时钟延迟;4)CTS阶段设置插入延迟。同时强调set_clock_gating_check命令对ICG单元同样有效,并介绍了ICG

u011075954的专栏 1113

win11重装系统简易教程-小白也可以上手!

本文介绍一下win11系统重装的各个步骤,也作为记录供自己后面查看。附上我之前参考的一位知乎大神写的重装win10系统文章的地址本文用到的工具全部是,不需要下载第三方镜像文件(不是说这个不好,只是第三方的软件或镜像文件网上非常多,琳琅满目,小白需要筛选甄别,直接用官方的就比较省心,大神请自便~)

Sddqa的博客 1万+

【Kubernetes 系列】详解 ConfigMap 九种创建方式

很多应用在其初始化或运行期间要依赖一些配置信息。大多数时候, 存在要调整配置参数所设置的数值的需求。 ConfigMap 是 Kubernetes 用来向应用 Pod 中注入配置数据的方法。ConfigMap 允许你将配置文件与镜像文件分离,以使容器化的应用程序具有可移植性。 本节内容将学习,如何创建 ConfigMap 以及配置 Pod 使用存储在 ConfigMap 中的数据。我们可以使用 或者在 中的 ConfigMap 生成器来创建 ConfigMap。kubectl 从 1.14 版本开始支持

半身风雪 7518

显示发光---LED/OLED/LCD/AMOLED原理图介绍

显示发光不同原理介绍

Classical_Man的博客 2857

kubelet源码分析-创建

kubelet是k8s单独部署的应用,它是一个节点的监视器,管理器。 我们操作的所有资源信息最后的最后都是由kubelet呈现出来的,比如创建pod。所以它是k8s的核心(我认为)。 ![image.png](https://img-blog.csdnimg.cn/img_convert/f434af953e0b87be12f27be40ddf1509.png#clientId=u5956da4a-678f-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=43

a1023934860的博客 1239

(七)独立按键

(七)独立按键

m0_52555663的博客 1730

海康visionmaster开发笔记10-集成HALCON第三方算子到VM工具箱的方法

海康visionmaster开发笔记10-HALCON第三方算子到VM工具箱的方法

视觉人机器视觉的博客 4349

kubectl 命令详解(十七):create configmap

kubectl create configmap 命令详解。

youzhouliu的博客 2381

推荐系统(十六):基于ESMM的商品召回/推荐系统

ESMM(Entire Space Multi-Task Model)是阿里巴巴提出的多任务学习框架,通过联合建模点击率(CTR)和点击转化率(CVR)解决传统CVR模型样本稀疏问题。其核心思想是将 CVR 定义为 CTR 与 CTCVR 的条件概率,模型包含两个子任务。

Jin_Kwok的博客 1267

kubectl源码分析之create clusterrole

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967 课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。 腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518 第二个视频发布https://edu.youkuaiyun.com/c..

mark's technic world 531

uni-app - 最详细 H5 网页接入微信登录功能,提供公众号配置与详细注释示例代码(移动端网页实现点击登录按钮后 调用微信公众号授权登录功能 详细讲解接入流程与详细示例代码)官方最新超级详细教程

uniapp中H5微信登录,uniapp H5微信授权登录,微信公众号第三方网页(H5)授权登录(OAuth2.0)流程及逻辑详细教程,UNIAPP 开发H5 怎么实现微信公众号登录功能,uniapp如何实现H5网页的公众号微信登录,怎么做uniapp微信登录,uniapp h5项目怎么实现微信登录的功能,uniapp微信浏览器H5授权微信登录,UniApp开发H5接入微信登录的全过程,uniapp的H5页面使用微信登录,uniapp H5微信授权登录,H5之微信授权登陆 (uniapp网页版微信授权登录)

🏆 前端领域优质创作者 7410

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

kubectl源码分析之create deployment

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967 课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。 腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518 第二个视频发布https://edu.youkuaiyun.com/c..

mark's technic world 747

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

kubectl源码分析之create命令

func NewCmdCreate(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command { o := NewCreateOptions(ioStreams) cmd := &cobra.Command{ Use: "create -f F...

mark's technic world 2239

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

kubectl源码分析之create serviceaccount

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967 课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。 腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518 第二个视频发布https://edu.youkuaiyun.com/c..

mark's technic world 1135

kubectl源码分析之create clusterrolebinding

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967 课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。 腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518 第二个视频发布https://edu.youkuaiyun.com/c..

mark's technic world 736

突破AWX Operator部署困境:从日志分析到数据库修复的全栈排障指南

作为Kubernetes环境中Ansible自动化的核心组件,AWX Operator的部署故障常常让管理员陷入困境: - operator日志中充斥着模糊的错误信息 - PostgreSQL数据库初始化失败却找不到具体原因 - Pod状态显示Running但AWX界面始终无法访问 - 调试配置修改后问题依旧反复出现 本文将系统梳理AWX Operator故障排查方法论,通过12个实战场

gitblog_00817的博客 436

Velero数据迁移实战:掌握CSI卷快照与块级备份的5大核心策略

Velero作为Kubernetes备份与迁移的业界标准工具,在复杂存储环境中的数据迁移场景中展现出强大的能力。本文深入探讨Velero在CSI卷快照和块级数据移动方面的核心技术,帮助中级技术用户掌握高效数据迁移的最佳实践。 ## 1. CSI卷快照数据移动架构解析 Velero的CSI卷快照数据移动功能通过统一的插件化架构,实现了卷数据的无缝迁移。这一架构的核心在于将快照创建、数据传输和存储

gitblog_00131的博客 316

JVM CDS警告解析:类加载路径越界诊断与修复

Class Data Sharing(CDS)是JVM通过共享归档加速启动的核心机制,其原理基于类加载器分层契约——仅Bootstrap ClassLoader加载的系统类(如java.lang.*、java.util.*)可安全共享。该机制的技术价值在于显著降低多实例JVM的内存占用与启动延迟,广泛应用于Spring Boot微服务、容器化部署及高密度Java进程场景。当出现‘sharing is only supported for boot loader classes’警告,本质是应用类(如Spri

weixin_34405354的博客 429

10.kubectl configmap 使用指南01

这将创建一个名为 api-token-config 的 ConfigMap,其中包含一个键 APITOKEN,其值为 api-token.txt 文件的内容。这将创建一个名为 my-config 的 ConfigMap,其中包含 foo.env 和 bar.env 文件中的键值对。这将创建一个名为 my-config 的 ConfigMap,其中包含 path/to/bar 目录下所有有效文件的内容。创建一个包含令牌的文件创建一个文件,例如 api-token.txt,内容为您的 API 令牌。

Evan的博客 1208

kubernetes存储-configmap

使用configmap设置环境变量。使用conigmap设置命令行参数。通过数据卷使用configmap。configmap热更新。通过yaml文件创建。

weixin_56744753的博客 420

Kubernetes对configmap的创建和管理

【代码】Kubernetes对configmap的创建和管理。

wsx014的博客 823

configmap存储mysql_使用kubectl创建ConfigMap

一、使用kubectl创建ConfigMap可以使用kubectl create configmap命令,可以根据目录, 文件或 字符串创建ConfigMap。kubectl create configmap 代表ConfigMap的名字,代表目录、文件或者字符串。数据源对应于ConfigMap中的键值对,key = 文件名或者命令行中提供的keyvalue = 文件内容或命令中提供的字符串可以...

weixin_39631350的博客 422
上一篇: kubectl源码之create secret
下一篇: kubectl源码分析之create serviceaccount
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值