Kubernetes 我是否需要使用遗留API组?
据了解,Kubernetes 我是否需要使用遗留API组?,kubernetes,Kubernetes,据了解,/api/v1上的所有内容都是“遗留”api组。尽管文档中没有进一步的细节,但我从“遗留”一词的使用中得出的自然推论是: 我不应该在新代码中使用它,而且 它的所有功能都已在其他API组中重新实现,可能带有更干净的接口 但是,在中,我被指示使用遗留API组访问我新创建的pod: 现在,我们可以向该pod中运行的应用程序发出HTTP请求: curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/$POD_NAME/
/api/v1
上的所有内容都是“遗留”api组。尽管文档中没有进一步的细节,但我从“遗留”一词的使用中得出的自然推论是:
- 我不应该在新代码中使用它,而且
- 它的所有功能都已在其他API组中重新实现,可能带有更干净的接口
curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/$POD_NAME/
有什么好处?“传统”API组是否真的包含其他任何地方都不存在的功能,或者是否有其他非传统方式向我的pod发出请求,而教程并未更新以反映这些请求?所有较新的Kubernetes API对象都可以在命名的API组中找到(例如,类似于
apps/v1
API组中的Deployment
对象)——这也是您在声明新对象时在apiVersion
字段中使用的组
较旧的API对象(如Pod
或Service
对象)位于未命名的API组(也称为core或legacy)中。它们的apiVersion
只是v1
,没有任何名称
在此上下文中,“legacy”似乎不是指“请不要再使用它”。相反,它似乎是指“请不要向此API组添加任何新对象”。从阅读文档来看,“legacy”API组似乎不会很快被弃用(毕竟,没有其他API可以用来创建Pod或服务)
根据该计划,目标是
…[将单片式v1 API分成模块化组,并允许单独启用/禁用组。这允许[Kubernetes开发人员]将来将单片式API服务器拆分为更小的组件。[…]为了向后兼容,v1对象属于名称为空的组,因此现有v1配置文件将保持有效