菜单
开源

安装 k6 Operator

本指南提供安装 k6 Operator 的分步说明。

开始之前

要安装 k6 Operator,您需要

  • 一个 Kubernetes 集群,并具有访问权限。
  • kubectl.

部署 Operator

您可以使用三种不同的选项来部署 k6 Operator。

使用 bundle 部署

使用 bundle 是安装 Operator 最简单的方式

bash
curl https://raw.githubusercontent.com/grafana/k6-operator/main/bundle.yaml | kubectl apply -f -

Bundle 包含 k6 Operator 的默认 manifests,包括一个 k6-operator-system 命名空间和一个使用最新标记 Docker 镜像的 k6 Operator 部署。可以根据需要在此 manifests 的基础上进行定制,例如使用 kustomize

使用 Helm 部署

k6 Operator 的 Helm 版本与其他 Grafana Helm charts 一起发布。您可以使用以下命令安装它

bash
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
helm install k6-operator grafana/k6-operator

您还可以使用 values.yaml 文件传递额外的配置选项

bash
helm install k6-operator grafana/k6-operator -f values.yaml

请参考 k6 Operator 示例文件夹查看示例文件。

您可以在 k6 Operator charts 文件夹中找到完整的 Helm 选项列表。

使用 Makefile 部署

要使用 Makefile 安装 Operator,您需要

一种更手动、低层级的方式安装 k6 Operator 是通过运行以下命令

bash
make deploy

这种方法对于 k6 Operator 的开发可能更有用,具体取决于设置的详细情况。

安装 CRD

k6 Operator 包括名为 TestRunPrivateLoadZoneK6 的自定义资源。当您进行部署或安装 bundle 时,它们会自动安装,但您也可以通过运行以下命令手动安装它们

bash
make install

监听命名空间

默认情况下,k6 Operator 会观察所有命名空间中的 TestRunPrivateLoadZone 自定义资源。您也可以通过为 Operator 的部署设置 WATCH_NAMESPACE 环境变量来配置 k6 Operator 观察特定的命名空间

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: k6-operator-controller-manager
  namespace: k6-operator-system
spec:
  template:
    spec:
      containers:
        - name: manager
          image: ghcr.io/grafana/k6-operator:controller-v0.0.14
          env:
            - name: WATCH_NAMESPACE
              value: 'some-ns'
# ...

卸载 k6 Operator

您可以使用 bundle 移除 k6 Operator 创建的所有资源

bash
curl https://raw.githubusercontent.com/grafana/k6-operator/main/bundle.yaml | kubectl delete -f -

或者使用 make 命令

bash
make delete