kubernetes/api

GitHub: kubernetes/api

Kubernetes API 定义的规范 Go 类型库,为外部 API 对象提供 schema 并作为多个 Kubernetes 核心库的共享依赖。

Stars: 749 | Forks: 450

# api 由 Kubernetes API server 提供的外部 API 类型的 schema。 ## 目的 该库是 Kubernetes API 定义的规范位置。与此仓库的大多数交互很可能是作为 client-go 的依赖项。 将其单独发布是为了避免以下用户的菱形依赖问题,这些用户 依赖于 `k8s.io/client-go`、`k8s.io/apimachinery`、 `k8s.io/apiserver` 中的多个...... ## 推荐用法 我们建议使用本仓库中的 Go 类型。您可以将它们直接序列化为 JSON。 如果您想存储或与 proto 格式的 Kubernetes API 对象进行交互,我们 建议使用 `k8s.io/apimachinery` 中的“官方”序列化栈。 直接将这些类型序列化为 proto 产生的数据将无法与 wire format 匹配,也无法与其他 Kubernetes 生态系统工具兼容。 原因是 wire format 包含一个 magic prefix 和一个 envelope proto。 请参阅: https://kubernetes.io/docs/reference/using-api/api-concepts/#protobuf-encoding 出于同样的原因,我们不建议将这些 proto 对象嵌入到 您自己的 proto 定义中。最好以 wire format 将 Kubernetes 对象存储为字节数组,因为它是自描述的。这允许您 在无需更改代码的情况下使用 JSON 或二进制 (proto) wire format。否则, 同时对 Custom Resources 和内置类型进行操作将会很困难。 ## 兼容性 分支跟踪 Kubernetes 分支并与其保持兼容。 ## 它来自哪里? `api` 从 https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/api 同步。代码更改在该位置进行,合并到 `k8s.io/kubernetes` 后同步到此处。 ## 您*不应*做的事情 1. https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/api 会同步到 k8s.io/api。所有更改必须在前者中进行。后者是只读的。
标签:API定义, EVTX分析, Go语言, Homebrew安装, 开发工具包, 数据结构, 日志审计, 程序破解