Zuerst k8s verwenden gengo, um Code zu generieren.
Es gibt mehrere Projekte in kubernetes/cmd/libs/go2idl, wie zum Beispiel go-to-protobuf, client-gen, set-gen, lister-gen.
- K8s generieren Protobuf von Go-Struktur von Go-to-Protobuf. Das Generate-Skript definiert in kubernetes/hack/update-generated-protobuf.sh
- K8s generieren Client und Util-Quellcode von Client-Gen, Set-Gen, Lister-Gen, das Generate-Skript definieren in kubernetes/hack/update- codegen.sh
- K8s generieren types.generated.go von go/codec, das Skript generieren definieren in kubernetes/hack/update-codecgen.sh. Der Typ in types.generated.go ist für die RPC-Serialisierung.