在集群中部署 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 和内存使用量分别设置为 1m
和 1Mi
。要覆盖默认值,您可以向伪 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。