kubernetes学习笔记16:secret和initcontroller

secret用来存储经过base64编码的密码token等敏感信息的资源对象,有type属性(opaque,service-account-token,dockerconfigjson,bootstrap.token),data属性,是用来存储secret数据的,以key-value形式。

创建方式有系统创建和用户手动创建,通过kubectl get secret看看创建了多少,再通过kubectl describe secret secretName获取secret详情,使用方式:主要被pod使用,一般通过volumn挂载到指定容器目录了。

可以直接指定挂载,还有就是系统自动生成,把serviceaccount-secret自动挂载到容器目录(路径可以通过kibectl describe pod podID|grep token)。另外需要访问私有镜像仓库,可以通过secret来实现。

在pod里使用imagepullsecrets来配置,或者自动注入,在pod里使用serviceaccount来配置imagepullsecrets,pod创建时自动注入imagepullsecrets。

secret大小限制1M,读取secret的最佳实践不要用list和watch,推荐使用get,获取需要secret。serviceaccount用来解决pod在集群里身份认证的问题,信息存储在secret里。
resource是容器的一个资源配置管理,目前支持cpu,内存,临时存储。
securitycontext用于限制容器的一些行为,保证系统和其他容器的安全,分为容器级别,级别,集群级别。控制项有用户ID,组ID,特权容器,SELinux,APParmor,子进程获取父进程,capaliblities,系统调用控制。
initcontroller,它比普通controller先启动,直到所有initcontroller启动成功,普通controller才启动,它按照定义的次序启动,而普通controller是并发启动,initcontroller执行成功后会退出,普通controller会一直执行,甚至会重启恢复。

initcontroller为普通controller服务,初始化一些东西,前置条件的检验。

posted @   ppjj  阅读(65)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示