REST API是Kubernetes系统的重要部分,组件之间的所有操作和通信均由API Server处理的REST API调用,大多数情况下,API定义和实现都符合标准的HTTP REST格式,可以通过 kubectl命令管理工具或其他命令行工具来执行。
API 版本
为了在兼容旧版本的同时不断升级新的API,Kubernetes支持多种API版本,每种API版本都有不同的API路径,例如/api/v1或 /apis/extensions/v1beta1。
API版本规则是通过基于API level选择版本,而不是基于资源和域级别选择,是为了确保API能够描述一个清晰的连续的系统资源和行为的视图,能够控制访问的整个过程和控制实验性API的访问。
需要注意,API版本和软件的版本没有直接关系,不同API版本有不同程度稳定性,API文档中详细描述了每个级别的标准。
Alpha级别:
Beta级别:
API groups使得Kubernetes API的扩展更加方便。API groups是在REST路径和序列化对象的apiVersion字段中被指定。
目前,有几个API groups在使用:
使用自定义资源扩展API的两种方法:
可以使用--runtime-config 在api server上设置来启用或禁用某些资源和API Groups。--runtime-config可以使用逗号分隔值。例如,要禁用batch / v1,set --runtime-config=batch/v1=false, to enable batch/v2alpha1, set --runtime-config=batch/v2alpha1。该标签接受逗号分隔的一组key = value对,描述了运行时的api server配置。
提示:启用和禁用Groups或资源需要重新启动apiserver和controller-manager确保--runtime-config更改生效。
DaemonSets,Deployments,HorizontalPodAutoscalers,Ingress,Jobs和ReplicaSets,都是默认启用的。可以通过--runtime-config在api server上设置来启用其他扩展资源。--runtime-config接受逗号来分隔值。例如,要禁用deployments和 jobs,请设置 --runtime-config=extensions/v1beta1/deployments=false,extensions/v1beta1/jobs=false
本文翻译Kubernetes官方文档
本文分享自 kubernetes中文社区 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!