kubernetes资源命名约束和最佳实践
kubernetes资源命名约束
名称和 UID
UID
:一个非空的、不透明的、系统生成的值,保证在时间和空间上是唯一的;旨在区分类似实体的历史事件。
Name
:保证在特定时间在给定范围内唯一的非空字符串;用于资源 URL;由客户在创建时提供,并鼓励对人类友好;旨在促进单例对象的创建幂等性和空间唯一性,区分不同的实体。
名称和 UID 的目标
- 跨空间和时间唯一标识(通过 UID)对象。
- 跨空间唯一地命名(通过名称)对象。
- 在 API 操作或配置文件中提供人性化的名称。
- 允许 API 资源的幂等创建 (#148) 和单例对象的空间唯一性的实施。
- 允许为某些对象自动生成 DNS 名称。
名称
客户端提供的字符串,它引用资源 URL 中的对象,例如/api/v1/pods/some-name
.
一次只能有一个给定类型的对象具有给定名称。但是,如果您删除该对象,您可以创建一个具有相同名称的新对象。
**注意:**当对象代表一个物理实体时,比如 Node 代表一个物理主机,当主机以相同的名称重新创建而不删除和重新创建 Node 时,Kubernetes 将新主机视为旧主机,这可能导致不一致。
DNS 子域名
很多资源类型需要可以用作 DNS 子域名的名称。 DNS 子域名的定义可参见 RFC 1123。 这一要求意味着名称必须满足如下规则:
- 不能超过 253 个字符
- 只能包含小写字母、数字,以及 ‘-’ 和 ‘.’
- 必须以字母数字开头
- 必须以字母数字结尾
RFC 1123 标签名
某些资源类型需要其名称遵循 RFC 1123 所定义的 DNS 标签标准。也就是命名必须满足如下规则:
- 最多 63 个字符
- 只能包含小写字母、数字,以及 ‘-’
- 必须以字母数字开头
- 必须以字母数字结尾
RFC 1035 标签名
某些资源类型需要其名称遵循 RFC 1035 所定义的 DNS 标签标准。也就是命名必须满足如下规则:
- 最多 63 个字符
- 只能包含小写字母、数字,以及 ‘-’
- 必须以字母开头
- 必须以字母数字结尾
路径分段名称
某些资源类型要求名称能被安全地用作路径中的片段。 换句话说,其名称不能是 .
、..
,也不可以包含 /
或 %
这些字符。
节点命名规则
# 公有云方案1
# Node的名称会在集群资源分配阶段确定下来,每个节点都会分配到一个序号`${seq}`,从0开始的自增整型。这个与k8s中StatefulSet的命名规则保持一致,因此能够做到云上云下一致管理。
<cluster_name>-<seq># 公有云方案2
数据中心-机房-node-number# 公有云方案3(推荐)
# 用.分割更好
# 这样dns上你可以分到子域里
# 这样自动化时候,你就对着某个子域,防止写错到全局
# 在私有云环境中可以加上机架号,便于机器故障快速定位
kubenode{number}.集群代号.机房.公司domain
参考链接
Kubernetes 对象名称和 IDs
https://datatracker.ietf.org/doc/html/rfc1123
Kubernetes 设计:标识符和名称
kubernetes资源命名约束和最佳实践相关推荐
- idea资源包下创建资源包_资源包技巧和最佳实践
idea资源包下创建资源包 今天是资源捆绑日. 通常,这是Java中最著名的国际化机制(i18n). 使用它应该很容易. 但是,弄污双手时会出现许多小问题. 如果您有相同的想法,则此文章适合您. 基本 ...
- 资源包技巧和最佳实践
今天是资源捆绑日. 通常,这是Java中最著名的国际化机制(i18n). 使用它应该很容易. 但是,在弄脏手时会出现许多小问题. 如果您有相同的想法,则此文章适合您. 基本 java.util.Res ...
- 可能是Asp.net Core On host、 docker、kubernetes(K8s) 配置读取的最佳实践
写在前面 为了不违反广告法,我竭尽全力,不过"最佳实践"确是标题党无疑,如果硬要说的话 只能是个人最佳实践. 问题引出 可能很多新手都会遇到同样的问题:我要我的Asp.net ...
- Kubernetes Ingress 高可靠部署最佳实践
摘要: 在Kubernetes集群中,Ingress作为集群流量接入层,Ingress的高可靠性显得尤为重要,今天我们主要探讨如何部署一套高性能高可靠的Ingress接入层. 简介 在Kubernet ...
- 确保Kubernetes环境安全的3种最佳实践
Kubernetes编排平台是一个巨大的开源项目,其发展固有地是Swift的. 当使用不断变化的Kubernetes平台来自动化容器化云原生应用程序的部署,扩展和管理时,变更的步伐显着提高了遵守安全最 ...
- Spark on K8S 的最佳实践和需要注意的坑
本文来自 Data Mechanics 的 CEO Jean-Yves Stephan 和 CTO Julien Dumazert 在 Spark Summit North America 2020 ...
- 译:Kubernetes 最佳实践
本文翻译自 Jack Roper 的文章 Kubernetes Best Practice. 译者:文章中作者从应用程序开发.治理和集群配置三个方面给出了一些 Kubernetes 的最佳实践,同时翻 ...
- Kubernetes 最佳实践
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 本文翻译自 Jack Roper 的文章 Kubernetes Best Practice. 译者:文章中作者从应 ...
- SpringCloud 应用在 Kubernetes 上的最佳实践 —— 高可用(弹性伸缩)
作者 | 三未 前言 弹性伸缩是一种为了满足业务需求.保证服务质量.平衡服务成本的重要应用管理策略.弹性伸缩让应用的部署规模能够根据实时的业务量产生动态调整,在业务高峰期扩大部署规模,保证服务不被业务 ...
最新文章
- 小蚂蚁学习mysql性能优化(5)--SQL以及索引优化--需要添加索引的列
- NS2仿真:公交车移动周期模型及性能分析
- re2c php,PHP的词法解析器:re2c
- 作为Leader如何与团队成员更好地沟通?
- iptables规则备份和恢复、firewall的zone的操作、service的操作
- 行号 设置vim_Vim从小白到入门
- CSDN粉丝解答:六月份第二期精选——简单bug处理、资料索取、编程系统设计等
- 【Unity3D与23种设计模式】模板方法模式(Template Method)
- SQL 2005安装问题解决办法
- 异或!!不占用额外空间!!
- 华为4g无线路由器虚拟服务器设置方法,华为4g2pro路由器虚拟服务器设置
- java对菜单项的监听_我是新手,请问大神java菜单项和下拉列表添加监听和监听方法???有变量和方法就行了...
- 9型转x型 cobol_9家企业入列省首批试点 建设培育产教融合型企业
- 简述ip地址的abc类如何划分_IP 地址分类及 ABCDE 五类是如何划分的
- 百度贴吧界面html程序代码,如何把自己的网址转换为百度贴吧网址?
- 如何实现 React 中的状态自动保存?
- 老男孩22期python视频_老男孩教育python全栈视频22期
- 如何给自己的U盘自定义图标
- 小米A1(小米5X国际版)刷机完全指南
- delphi 控件大全(确实很全)