根据https://kubernetes.io/docs/reference/api-overview/,所有内容/api/v1
都是“遗留”API 组。尽管文档没有详细说明,但我从“遗留”一词的使用中自然得出的结论是:
但是,在Kubernetes 教程的模块 2 中,我被指示使用旧 API 组访问我新创建的 pod:
现在我们可以向在该 pod 中运行的应用程序发出 HTTP 请求:
curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/$POD_NAME/
是什么赋予了?“遗留” API 组是否真的包含其他任何地方都不存在的功能,或者是否有另一种非遗留方式向我的 pod 发出本教程尚未更新以反映的请求?
所有较新的 Kubernetes API 对象都可以在命名API 组中找到(例如,API 组中的Deployment
对象apps/v1
)——这也是您在apiVersion
声明新对象时在现场使用的组。
在未命名的API 组(也称为core或legacy)中可以找到较旧的 API 对象(如Pod
或Service
对象)。他们只是,没有任何名字。apiVersion
v1
在这种情况下,“遗留”似乎并不意味着“请不要再使用它”。相反,它的意思似乎是“请不要再向这个 API 组添加任何新对象”。从阅读文档来看,“遗留”API 组似乎不会很快被弃用(毕竟,它不像有任何其他 API 可用于创建 Pod 或服务)。
根据各自的设计方案,目标是...
...[将整体 v1 API 分解为模块化组并允许单独启用/禁用组。这允许 [Kubernetes 开发人员] 在未来将单体 API 服务器分解为更小的组件。[...] 为了向后兼容,v1 对象属于具有空名称的组,因此现有的 v1 配置文件将保持有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句