gke-cost-analysis — скилл для Claude Code: анализ затрат GKE
Разбирает расходы GKE по данным BigQuery и текущим метрикам кластера. Пригодится, чтобы сравнить стоимость проектов, неймспейсов и нагрузок или найти причины роста счёта.
npx skills add google/skills --skill gke-cost-analysis -a claude-codeЧто делает gke-cost-analysis
Скилл помогает отвечать на вопросы о затратах GKE по подробному экспорту биллинга в BigQuery и данным о распределении расходов. Для разбивки по неймспейсам и нагрузкам на кластере должно быть включено GKE Cost Allocation; метки в экспорте появляются только после включения, без заполнения за прошлые периоды. Для запросов нужен полный путь к таблице BigQuery.
При разборе причин расходов скилл сопоставляет запрошенные ресурсы подов с фактическим использованием через kubectl top. В Autopilot тарификация учитывает запросы CPU и памяти, а в Standard — размер виртуальных машин узлов и плату за управление кластером. Внутри есть шаблоны bq query для разбивки расходов по нагрузкам и неймспейсам, а также команды только для чтения, например gcloud billing budgets list.
Это скилл для анализа и проверки расходов, а не для изменения настроек кластера. Если нужны rightsizing, манифесты VPA или выбор ComputeClasses, используйте gke-cost-optimization.
Какие задачи решает
- сравнить расходы GKE между проектами
- найти самый дорогой неймспейс
- разобрать скачок стоимости кластера
- сопоставить запросы CPU и памяти подов с их использованием
- проверить бюджет и расходы по нагрузкам
Примеры запросов агенту
- Сравни расходы GKE по проектам за последние 30 дней.
- Найди самый дорогой неймспейс и покажи запрос для BigQuery.
- Сравни `kubectl top pods --all-namespaces --containers` с запросами ресурсов подов.
Как установить gke-cost-analysis
1Через Skills CLI (Vercel)
npx skills add google/skills --skill gke-cost-analysis -a claude-code2Вручную: положить файлы
~/.claude/skills/gke-cost-analysis/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/gke-cost-analysis/
1Через Skills CLI (Vercel)
npx skills add google/skills --skill gke-cost-analysis -a codex2Вручную: положить файлы
.agents/skills/gke-cost-analysis/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/gke-cost-analysis/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install google/skills gke-cost-analysis2Вручную: положить файлы
.github/skills/gke-cost-analysis/SKILL.md1Через Skills CLI (Vercel)
npx skills add google/skills --skill gke-cost-analysis -a gemini-cli2Командой платформы
gemini skills install https://github.com/google/skills --path skills/cloud/gke-cost-analysisВручную: положить файлы
.devin/skills/gke-cost-analysis/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора172
Весь набор →Похожие
Вопросы о gke-cost-analysis
Как установить gke-cost-analysis в Claude Code?
Выполните npx skills add google/skills --skill gke-cost-analysis -a claude-code.
Что делает gke-cost-analysis?
Анализирует расходы GKE по экспорту биллинга BigQuery, данным распределения затрат и текущим метрикам кластера. Помогает сравнивать проекты, неймспейсы и нагрузки, а также искать причины расходов.
Что нужно для разбивки стоимости GKE по неймспейсам?
На кластере должен быть включён GKE Cost Allocation, а для запросов нужен полный путь к таблице экспорта биллинга в BigQuery. Метки попадут в экспорт только после включения этой функции.
Исходный текст
SKILL.md · Apache-2.0
---
name: gke-cost-analysis
metadata:
version: "1.0.1"
category: CloudObservabilityAndMonitoring
description: >-
Answer natural language questions and perform analysis on GKE cluster and
workload costs using BigQuery billing exports, cost allocation data, and live
cluster monitoring metrics. Use when querying GKE costs across projects,
namespaces, or workloads, analyzing billing reports in BigQuery (`bq`), checking
cluster cost budgets (`gcloud billing`), or diagnosing cost drivers like pod
requests vs. actual utilization (`kubectl top`). Don't use for applying cost
optimization changes, creating rightsizing manifests (VPA/MPA), or selecting
ComputeClasses (use gke-cost-optimization instead).
---
# GKE Cost Analysis
This skill provides guidance on answering natural language questions about
GKE-related costs, billing reports, and utilization analysis.
## Attribution
**MUST READ**: Before executing any `gcloud`, REST API, or MCP command, you
MUST read [Usage Attribution](references/attribution.md). For commands executed
directly in the terminal (never in generated scripts, Terraform, or user code),
prefix `gcloud` with
`CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:gke-cost-analysis)"`
and append `agent-skills/1.0 (skill:gke-cost-analysis)` to `User-Agent` headers.
## Overview
When users ask about GKE costs (e.g., "What are my costs across projects?",
"What's my most expensive namespace?", "Why is my cluster cost spiking?"), use
this skill to provide a structured and expert response using BigQuery billing
exports, cost allocation metadata, and live cluster metrics.
## Instructions
When handling a cost-related question:
1. **Provide a Direct Answer**: Address the specific cost question or
analytical request clearly and concisely.
2. **Explain BigQuery Integration**: Explain how to query BigQuery for
historical cost breakdown. Note that GKE costs originate from the GCP
Billing Detailed BigQuery Export (`gcp_billing_export_resource_v1_*`).
3. **Check & Verify Cost Allocation**: Explain that GKE Cost Allocation must be
enabled on the cluster (`--enable-cost-allocation`) for namespace, label,
and workload-level billing granularity. If queries return empty labels,
provide the `gcloud` command to enable it.
4. **Analyze Pricing Drivers & Utilization**: When diagnosing cost drivers,
explain whether the cluster is in Autopilot (billed by requested pod
CPU/memory) or Standard mode (billed by underlying VM node size + control
plane fees), and compare live utilization (`kubectl top`) against
provisioned requests.
5. **Provide Actionable Commands/Queries**: Provide concrete BigQuery CLI (`bq
query`) commands or read-only `gcloud`/`kubectl` inspection commands. Prefer
`bq` over BigQuery Studio when available.
## Key Points & Pricing Drivers
- **Data Source**: GKE costs come from GCP Billing Detailed BigQuery Export.
The user must provide the full path to their BigQuery table (dataset name
and table name containing the Billing Account ID).
- **Granularity Requirement**: GKE Cost Allocation
(`--enable-cost-allocation`) must be enabled on the cluster to populate
`goog-k8s-cluster-name`, `k8s-namespace`, `k8s-workload-name`, and
`k8s-workload-type` labels in BigQuery.
- **Autopilot vs. Standard Cost Drivers**:
- **Autopilot Pricing**: Billed directly on pod resource requests
(`requests.cpu`, `requests.memory`, ephemeral storage). Over-requested
pods drive up billing regardless of whether the pod actively uses those
CPU cycles or memory.
- **Standard Pricing**: Billed on provisioned node pool VMs (`e2`, `n4`,
`c3`, etc.). Idle nodes or multiple low-utilization dev clusters drive
excess infrastructure costs.
- **Cluster Management Fee**: ~$0.10/hour per cluster applies to BOTH
Standard and Autopilot modes. The free tier waives it for one eligible
cluster per billing account.
- **Credits & Discounts Impact**: When analyzing `cost` versus
`cost_before_credits`, note that Committed Use Discounts (CUDs) and Spot VMs
appear as credits or reduced rate charges in the billing export.
- **Tools & Syntax**: BigQuery CLI (`bq`) is preferred. When writing Standard
SQL queries, use a dot (`.`) instead of a colon (`:`) to separate the
project ID and dataset name (`{project_id}.{dataset_name}.{table_name}`).
- **Defaults**: Assume last 30 days, row limit 10, ordering by cost descending
(`ORDER BY cost DESC`), unless specified otherwise.
## Live Cluster & Cost Monitoring
Use read-only CLI commands to inspect current cluster budgets, node utilization,
and pod resource consumption vs. requests:
```bash
# View billing budgets for an account (requires Cost Management API)
gcloud billing budgets list --billing-account={billing_account} --quiet
# View live node resource utilization across the cluster
kubectl top nodes
# View pod resource usage across namespaces (compare against requested limits to diagnose waste)
kubectl top pods --all-namespaces --containers
```
> **Warning — cluster mutation, not read-only:** Enabling GKE cost allocation
> modifies the cluster. Get explicit user confirmation before running it, and
> note that namespace/workload labels populate in the billing export only from
> enablement onward (no historical backfill).
>
> ```bash
> gcloud container clusters update {cluster_name} \
> --enable-cost-allocation \
> --region {region}
> ```
## Applying Cost Optimizations
To apply rightsizing changes based on analysis (such as setting up `VPA`
recommendation mode, adjusting CPU/memory to `P95 * 1.2`, configuring Spot VMs
via `nodeSelector` or `ComputeClass`, enforcing `ResourceQuotas`, or selecting
machine types and CUDs), use the **`gke-cost-optimization`** skill.
## BigQuery Query Templates
Ready-to-adapt `bq query` templates — single workload cost, per-workload
per-cluster breakdown, per-namespace breakdown — with the placeholder policy
and defaults (30 days, `LIMIT 10`, `ORDER BY cost DESC`) are in
[references/billing-queries.md](references/billing-queries.md). All parameters
(dataset, table, project, cluster, etc.) must be replaced with user values.
Note: Checking that the `goog-k8s-cluster-name` label exists scopes the total
billing data specifically to GKE costs.
© google · Apache-2.0 · google/skills