特定于平台的二进制文件

特定于平台的 Kubernetes 二进制文件 #

本文档详细介绍了如何构建 Kubernetes 二进制文件并在本地运行 kwokctl

概述 #

使用 binary 运行时运行 kwokctlkwokctl create cluster --runtime=binary)时,kwokctl 将从 dl.k8s.io/ www.downloadkubernetes.com 下载 Kubernetes 二进制文件,并使用它们创建集群。但这仅适用于 Linux。

对于非 Linux #

自构建 #

构建 Kubernetes 二进制文件并将 kwokctl 默认值设置为使用它们

KUBE_VERSION="v1.28.0"
SRC_DIR="${HOME}/.kwok/cache/kubernetes/${KUBE_VERSION}"
mkdir -p "${SRC_DIR}" && cd "${SRC_DIR}" &&
wget "https://dl.k8s.io/${KUBE_VERSION}/kubernetes-src.tar.gz" -O - | tar xz &&
make WHAT="cmd/kube-apiserver cmd/kube-controller-manager cmd/kube-scheduler" &&
cat <<EOF >> ~/.kwok/kwok.yaml
---
kind: KwokctlConfiguration
apiVersion: config.kwok.x-k8s.io/v1alpha1
options:
  kubeBinaryPrefix: $(pwd)/_output/local/bin/$(go env GOOS)/$(go env GOARCH)
---
EOF

二进制文件将位于 ~/.kwok/cache/kubernetes/${KUBE_VERSION}/_output/local/bin/$(go env GOOS)/$(go env GOARCH)

使用非官方二进制文件 #

我们还为 kwok-ci/k8s 上的非 Linux 平台提供非官方二进制文件。

kwokctl 默认值设置为使用它们。

KUBE_VERSION="v1.28.0"
cat <<EOF >> ~/.kwok/kwok.yaml
---
kind: KwokctlConfiguration
apiVersion: config.kwok.x-k8s.io/v1alpha1
options:
  kubeBinaryPrefix: https://github.com/kwok-ci/k8s/releases/download/${KUBE_VERSION}-kwok.0-$(go env GOOS)-$(go env GOARCH)
---
EOF

kwokctlbinary 运行时一起使用 #

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

kwokctl create cluster \
  --runtime=binary