k8s 资源组版本支持列表

1 kubernetes的资源注册表

kube-apiserver组件启动后的第一件事情是将Kubernetes所支持的资源注册到Scheme资源注册表中,这样后面启动的逻辑才能够从Scheme资源注册表中拿到资源信息并启动和运行API服务。

kube-apiserver资源注册分为两步:第1步,初始化Scheme资源注册表;第2步,注册Kubernetes所支持的资源。

资源的注册过程并不是通过函数调用触发的,而是通过Go语言的导入(import)和初始化(init)机制触发的。

    1.  KubeAPIServer代码路径(cmd/kube-apiserver/app/server.go),kube-apiserver导入了legacyscheme和master包;
    2.  legacysheme包下面,定义了全局变量 Scheme, 这样就可以通过legacysheme.Scheme的方式进行全局调用;
    3.  kube-apiserver启动时导入了master包,master包中的import_known_versions.go文件调用了Kubernetes资源下的install包,通过导入包的机制触发初始化函数。
    4.  core.AddToScheme函数注册了core资源组内部版本的资源,v1.AddToScheme函数注册了core资源组外部版本的资源,scheme.SetVersionPriority函数注册了资源组的版本顺序。如果有多个资源版本,排在最前面的为资源首选版本。

2 待注册资源的代码路径

  打开 kubernetes 指定版本源码,根据下述路径可得,待注册的GVR列表信息

路径

描述

kubernetes/pkg/apis/ k8s 待注册的资源组
kubernetes/pkg/apis/apps/install/install.go  k8s 待注册的资源版本
kubernetes/pkg/apis/apps/register.

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-04 07:14:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-04 07:14:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-04 07:14:03       82 阅读
  4. Python语言-面向对象

    2024-05-04 07:14:03       91 阅读

热门阅读

  1. Matplotlib 绘图可视化全面总结

    2024-05-04 07:14:03       37 阅读
  2. 富格林:细节决定能否安全出金

    2024-05-04 07:14:03       32 阅读
  3. Spring MVC 中配置 DispatcherServlet

    2024-05-04 07:14:03       24 阅读
  4. 【EXCEL自动化12】删除excel文件中指定的行数据

    2024-05-04 07:14:03       34 阅读
  5. C#面:解释一下 UDDI、WSDL 的意义及其作用

    2024-05-04 07:14:03       28 阅读
  6. 每天学习一个Linux命令之ldd

    2024-05-04 07:14:03       31 阅读
  7. logback

    2024-05-04 07:14:03       34 阅读