本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Grafana k6 Operator是一个Kubernetes Operator,能够在集群中运行分布式k6负载测试,自动化测试执行和扩展以进行性能验证。
Grafana k6 Operator 概述
商标:本软件列表由Bitnami打包。产品中提及的 respective 商标归各自公司所有,使用这些商标并不意味着任何关联或认可。
helm install my-release oci://registry-1.docker.io/bitnamicharts/grafana-k6-operator
想在生产环境中使用Grafana k6 Operator?试试VMware Tanzu Application Catalog,Bitnami目录的商业版。
从2025年8月28日开始,Bitnami将改进其公共目录,在新的Bitnami Secure Images计划下提供精选的强化、安全聚焦的镜像。作为此过渡的一部分:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提高所有Bitnami用户的安全态势。有关更多详细信息,请访问Bitnami Secure Images公告。
此chart使用Helm包管理器在Kubernetes集群上引导Grafana k6 Operator部署。
要使用发布名称“my-release”安装chart:
helm install my-release REGISTRY_NAME/REPOSITORY_NAME/grafana-k6-operator
注意:您需要将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为Helm chart仓库和存储库的引用。例如,对于Bitnami,需要使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
该命令使用默认配置在Kubernetes集群上部署Grafana k6 Operator。参数部分列出了可在安装过程中配置的参数。
提示:使用
helm list列出所有发布
强烈建议在生产环境中使用不可变标签。这可确保如果相同标签使用不同镜像更新,您的部署不会自动更改。
如果主容器有新版本、重大变更或严重漏洞,Bitnami将发布新chart来更新其容器。
Bitnami chart允许为chart部署内的所有容器设置资源请求和限制。这些在resources值中配置(参见参数表)。为生产工作负载设置请求至关重要,应根据您的具体用例进行调整。
为简化此过程,chart包含resourcesPreset值,可根据不同预设自动设置resources部分。在bitnami/common chart中查看这些预设。然而,在生产工作负载中不建议使用resourcesPreset,因为它可能无法完全适应您的特定需求。有关容器资源管理的更多信息,请参见官方Kubernetes文档。
通过将metrics.enabled设置为true,此chart可与Prometheus集成。这将在metrics服务中公开Grafana k6 Operator原生Prometheus端点,可在metrics.service部分下配置。它将具有必要的注解,以便被Prometheus自动抓取。
通过设置authProxy.enabled=true,可以为此端点设置基于RBAC的身份验证,这将部署带有kube-rbac-proxy的边车,只有授权的ServiceAccount能够访问指标。
集成工作需要安装Prometheus或Prometheus Operator。安装Bitnami Prometheus helm chart或Bitnami Kube Prometheus helm chart,以便在集群中轻松拥有可用的Prometheus。
该chart可以部署ServiceMonitor对象,用于与Prometheus Operator安装集成。要实现此目的,将值metrics.serviceMonitor.enabled=true。确保集群中安装了Prometheus Operator CustomResourceDefinitions,否则将失败并显示以下错误:
no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
安装Bitnami Kube Prometheus helm chart以获取必要的CRD和Prometheus Operator。
如果在grafana-k6-operator的同一pod中需要额外的容器(例如额外的指标或日志导出器),可以使用sidecars参数定义它们:
sidecars: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
如果这些边车导出额外的端口,可以使用service.extraPorts参数(如可用)添加额外的端口定义,如下例所示:
service: extraPorts: - name: extraPort port: 11311 targetPort: 11311
如果同一pod中需要额外的初始化容器,可以使用initContainers参数定义它们。例如:
initContainers: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
了解更多关于边车容器和初始化容器。
除了Operator之外,您可能还想部署TestRun对象。为此,chart允许使用extraDeploy参数添加其他对象的完整规范。以下示例创建一个TestRun对象和一个包含测试代码的ConfigMap:
extraDeploy: - apiVersion: k6.io/v1alpha1 kind: TestRun metadata: name: testrun-sample spec: parallelism: 2 script: configMap: name: k6-test file: test.js - apiVersion: v1 kind: ConfigMap metadata: name: k6-test data: test.js: | import http from 'k6/http'; import { Rate } from 'k6/metrics'; import { check, sleep } from 'k6'; const failRate = new Rate('failed_requests'); export let options = { stages: [ { target: 200, duration: '30s' }, { target: 0, duration: '30s' }, ], thresholds: { failed_requests: ['rate<=0'], http_req_duration: ['p(95)<500'], }, }; export default function () { const result = http.get('[***] check(result, { 'http response status code is 200': result.status === 200, }); failRate.add(result.status !== 200); sleep(1); }
查看Grafana k6 Operator官方文档获取可用对象列表。
此chart允许使用affinity参数设置自定义亲和性。有关Pod亲和性的更多信息,请参见kubernetes文档。
作为替代方案,使用bitnami/common chart中可用的pod亲和性、pod反亲和性和节点亲和性的预设配置之一。为此,在operator、apiserver和cluster部分中设置podAffinityPreset、podAntiAffinityPreset或nodeAffinityPreset参数。
| 名称 | 描述 | 值 |
|---|---|---|
global.imageRegistry | 全局Docker镜像仓库 | "" |
global.imagePullSecrets | 全局Docker仓库密钥名称数组 | [] |
global.defaultStorageClass | 持久卷的全局默认StorageClass | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 调整部署的securityContext部分,使其与Openshift restricted-v2 SCC兼容:删除runAsUser、runAsGroup和fsGroup,让平台使用其允许的默认ID。可能的值:auto(如果检测到运行的集群是Openshift则应用)、force(始终执行调整)、disabled(不执行调整) | auto |
| 名称 | 描述 | 值 |
|---|---|---|
kubeVersion | 覆盖Kubernetes版本 | "" |
apiVersions | 覆盖.Capabilities报告的Kubernetes API版本 | [] |
nameOverride | 部分覆盖common.names.name的字符串 | "" |
fullnameOverride | 完全覆盖common.names.fullname的字符串 | "" |
namespaceOverride | 完全覆盖common.names.namespace的字符串 | "" |
commonLabels | 添加到所有部署对象的标签 | {} |
commonAnnotations | 添加到所有部署对象的注解 | {} |
clusterDomain | Kubernetes集群域名 | cluster.local |
extraDeploy | 要与发布一起部署的额外对象数组 | [] |
image.registry | Grafana k6 Operator镜像仓库 | REGISTRY_NAME |
image.repository | Grafana k6 Operator镜像存储库 | REPOSITORY_NAME/grafana-k6-operator |
image.digest | Grafana k6 Operator镜像摘要,格式为sha256:aa....请注意,如果设置此参数,将覆盖标签镜像标签(建议使用不可变标签) | "" |
image.pullPolicy | Grafana k6 Operator镜像拉取策略 | IfNotPresent |
image.pullSecrets | Grafana k6 Operator镜像拉取密钥 | [] |
starterImage.registry | os-shell镜像仓库 | REGISTRY_NAME |
starterImage.repository | os-shell镜像存储库 | REPOSITORY_NAME/os-shell |
starterImage.digest | os-shell镜像摘要,格式为sha256:aa....请注意,如果设置此参数,将覆盖标签镜像标签(建议使用不可变标签) | "" |
runnerImage.registry | Grafana k6镜像仓库 | REGISTRY_NAME |
runnerImage.repository | Grafana k6镜像存储库 | REPOSITORY_NAME/grafana-k6 |
runnerImage.digest | Grafana k6镜像摘要,格式为sha256:aa....请注意,如果设置此参数,将覆盖标签 | "" |
replicaCount | 要部署的Grafana k6 Operator副本数 | 1 |
containerPorts.metrics | 指标容器端口 | 8080 |
containerPorts.health | 健康检查容器端口 | 8081 |
livenessProbe.enabled | 在Grafana k6 Operator容器上启用livenessProbe | true |
livenessProbe.initialDelaySeconds | livenessProbe的初始延迟秒数 | 5 |
livenessProbe.periodSeconds | livenessProbe的周期秒数 | 10 |
livenessProbe.timeoutSeconds | livenessProbe的超时秒数 | 5 |
livenessProbe.failureThreshold | livenessProbe的失败阈值 | 5 |
livenessProbe.successThreshold | livenessProbe的成功阈值 | 1 |
readinessProbe.enabled | 在Grafana k6 Operator容器上启用readinessProbe | true |
readinessProbe.initialDelaySeconds | readinessProbe的初始延迟秒数 | 5 |
readinessProbe.periodSeconds | readinessProbe的周期秒数 | 10 |
readinessProbe.timeoutSeconds | readinessProbe的超时秒数 | 5 |
readinessProbe.failureThreshold | readinessProbe的失败阈值 | 5 |
readinessProbe.successThreshold | readinessProbe的成功阈值 | 1 |
startupProbe.enabled | 在Grafana k6 Operator容器上启用startupProbe | false |
startupProbe.initialDelaySeconds | startupProbe的初始延迟秒数 | (原文未完整显示,完整内容请参见官方文档) |
注意:此chart的README超出了DockerHub的25000字符限制,因此已被截断。完整README可在[***]
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429