`kwok` 在集群中

在集群中部署 kwok #

本文档将指导您如何在 Kubernetes 集群中部署 kwok

变量准备 #

# KWOK repository
KWOK_REPO=kubernetes-sigs/kwok
# Get latest
KWOK_LATEST_RELEASE=$(curl "https://api.github.com/repos/${KWOK_REPO}/releases/latest" | jq -r '.tag_name')

部署 kwok 并设置自定义资源定义 (CRD) #

kubectl apply -f "https://github.com/${KWOK_REPO}/releases/download/${KWOK_LATEST_RELEASE}/kwok.yaml"

设置阶段的默认自定义资源 (CR)(必需)#

注意:这将配置 Pod/节点仿真行为,如果不这样做,它将不执行任何操作。
kubectl apply -f "https://github.com/${KWOK_REPO}/releases/download/${KWOK_LATEST_RELEASE}/stage-fast.yaml"

设置资源使用情况的默认自定义资源 (CR)(可选)#

这允许模拟节点、Pod 和容器的资源使用情况。

kubectl apply -f "https://github.com/${KWOK_REPO}/releases/download/${KWOK_LATEST_RELEASE}/metrics-usage.yaml"

上述配置将由 kwok 管理的所有容器的 CPU 和内存使用量分别设置为 1m1Mi。要覆盖默认值,您可以向伪 Pod 添加注释 "kwok.x-k8s.io/usage-cpu"(用于 CPU 使用量)和 "kwok.x-k8s.io/usage-memory"(用于内存使用量),其中包含您想要的任何数量值。

上面使用的资源使用模拟基于注释,其配置可在 [此处][注释中的资源使用] 中找到。有关其工作原理和更复杂的资源使用模拟方法的说明,请参阅 [ResourceUsage 配置]。

kwok helm chart 列在 artifact hub 上。

变量准备 #

# Temporary directory
KWOK_WORK_DIR=$(mktemp -d)
# KWOK repository
KWOK_REPO=kubernetes-sigs/kwok
# Get latest
KWOK_LATEST_RELEASE=$(curl "https://api.github.com/repos/${KWOK_REPO}/releases/latest" | jq -r '.tag_name')

渲染 kustomization yaml #

首先,将 kustomization 模板 yaml 生成到之前定义的临时目录。

cat <<EOF > "${KWOK_WORK_DIR}/kustomization.yaml"
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
images:
- name: registry.k8s.io/kwok/kwok
  newTag: "${KWOK_LATEST_RELEASE}"
resources:
- "https://github.com/${KWOK_REPO}/kustomize/kwok?ref=${KWOK_LATEST_RELEASE}"
EOF

接下来,使用准备好的变量渲染它。

kubectl kustomize "${KWOK_WORK_DIR}" > "${KWOK_WORK_DIR}/kwok.yaml"

kwok 部署 #

最后,我们能够部署 kwok

kubectl apply -f "${KWOK_WORK_DIR}/kwok.yaml"

后续步骤 #

现在,您可以使用 kwok 在 Kubernetes 集群中 管理节点和 Pod