开发

开发 #

本文档详细介绍了如何在本地构建和运行kwokkwokctl

目录结构 #

  • cmd
    • kwok - kwok 的主入口点
    • kwokctl - kwokctl 的主入口点
  • pkg
    • apis - API 定义
      • config
        • v1alpha1 - 仅用于解析和转换的配置 API 定义
      • internalversion - 仅供内部使用
      • v1alpha1 - 仅用于解析和转换的 API 定义
    • config - 配置实用程序
    • kwok - kwok 实现
    • kwokctl - kwokctl 实现

构建和运行 #

从容器开始 #

构建kwok镜像和kwokctl二进制文件。

IMAGE_PREFIX=localhost BUILDER=docker make build build-image

构建成功后,二进制文件将位于./bin/$(go env GOOS)/$(go env GOARCH),镜像将标记为localhost/kwok:${tag},可以在docker images中找到。

现在,我们可以使用docker运行时使用kwokctl创建集群。

./bin/$(go env GOOS)/$(go env GOARCH)/kwokctl create cluster \
  --runtime=docker

顺便说一下,你还可以使用podmannerdctl作为构建器和运行时。

从特定于平台的二进制文件开始 #

构建kwokkwokctl二进制文件。

make build

构建成功后,二进制文件将位于./bin/$(go env GOOS)/$(go env GOARCH)

请注意,如果在非 Linux 平台上运行,则需要在本地遵循构建 特定于平台的 Kubernetes 二进制文件

现在,我们可以使用 binary 运行时通过 kwokctl 创建集群。

./bin/$(go env GOOS)/$(go env GOARCH)/kwokctl create cluster \
  --runtime=binary \
  --kwok-controller-binary=./bin/$(go env GOOS)/$(go env GOARCH)/kwok