gcp

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

GCP Skill

GCP 技能组件

Provides comprehensive Google Cloud Platform capabilities for the Golden Armada AI Agent Fleet Platform.
为Golden Armada AI Agent Fleet Platform提供全面的Google Cloud Platform功能支持。

When to Use This Skill

何时使用该技能组件

Activate this skill when working with:
  • GKE cluster management
  • Cloud Run deployments
  • Cloud Storage operations
  • BigQuery data analytics
  • Pub/Sub messaging
在处理以下场景时激活该技能组件:
  • GKE集群管理
  • Cloud Run部署
  • Cloud Storage操作
  • BigQuery数据分析
  • Pub/Sub消息队列

gcloud CLI Quick Reference

gcloud CLI 速查手册

Configuration

配置

```bash
bash
undefined

Initialize

Initialize

gcloud init
gcloud init

Authenticate

Authenticate

gcloud auth login gcloud auth application-default login
gcloud auth login gcloud auth application-default login

Set project

Set project

gcloud config set project PROJECT_ID
gcloud config set project PROJECT_ID

Check config

Check config

gcloud config list gcloud info ```
gcloud config list gcloud info
undefined

GKE (Google Kubernetes Engine)

GKE (Google Kubernetes Engine)

```bash
bash
undefined

Create cluster

Create cluster

gcloud container clusters create golden-armada-cluster
--zone us-central1-a
--num-nodes 3
--machine-type e2-standard-4
--enable-autoscaling --min-nodes 1 --max-nodes 10
gcloud container clusters create golden-armada-cluster
--zone us-central1-a
--num-nodes 3
--machine-type e2-standard-4
--enable-autoscaling --min-nodes 1 --max-nodes 10

Get credentials

Get credentials

gcloud container clusters get-credentials golden-armada-cluster --zone us-central1-a
gcloud container clusters get-credentials golden-armada-cluster --zone us-central1-a

List clusters

List clusters

gcloud container clusters list
gcloud container clusters list

Resize cluster

Resize cluster

gcloud container clusters resize golden-armada-cluster --num-nodes 5 --zone us-central1-a
gcloud container clusters resize golden-armada-cluster --num-nodes 5 --zone us-central1-a

Delete cluster

Delete cluster

gcloud container clusters delete golden-armada-cluster --zone us-central1-a ```
gcloud container clusters delete golden-armada-cluster --zone us-central1-a
undefined

Cloud Run

Cloud Run

```bash
bash
undefined

Deploy service

Deploy service

gcloud run deploy golden-armada-api
--image gcr.io/PROJECT_ID/agent:latest
--platform managed
--region us-central1
--allow-unauthenticated
--set-env-vars "ENV=production"
gcloud run deploy golden-armada-api
--image gcr.io/PROJECT_ID/agent:latest
--platform managed
--region us-central1
--allow-unauthenticated
--set-env-vars "ENV=production"

List services

List services

gcloud run services list
gcloud run services list

Get service URL

Get service URL

gcloud run services describe golden-armada-api --platform managed --region us-central1 --format 'value(status.url)'
gcloud run services describe golden-armada-api --platform managed --region us-central1 --format 'value(status.url)'

Update traffic

Update traffic

gcloud run services update-traffic golden-armada-api
--to-revisions REVISION=100 ```
gcloud run services update-traffic golden-armada-api
--to-revisions REVISION=100
undefined

Cloud Storage

Cloud Storage

```bash
bash
undefined

Create bucket

Create bucket

gsutil mb -l us-central1 gs://golden-armada-data
gsutil mb -l us-central1 gs://golden-armada-data

Copy files

Copy files

gsutil cp local-file.txt gs://bucket-name/ gsutil cp gs://bucket-name/file.txt . gsutil -m cp -r ./local-dir gs://bucket-name/
gsutil cp local-file.txt gs://bucket-name/ gsutil cp gs://bucket-name/file.txt . gsutil -m cp -r ./local-dir gs://bucket-name/

List

List

gsutil ls gs://bucket-name/
gsutil ls gs://bucket-name/

Sync

Sync

gsutil rsync -r ./local-dir gs://bucket-name/dir/
gsutil rsync -r ./local-dir gs://bucket-name/dir/

Set permissions

Set permissions

gsutil iam ch allUsers:objectViewer gs://bucket-name ```
gsutil iam ch allUsers:objectViewer gs://bucket-name
undefined

BigQuery

BigQuery

```bash
bash
undefined

Create dataset

Create dataset

bq mk --dataset PROJECT_ID:agents_dataset
bq mk --dataset PROJECT_ID:agents_dataset

Create table

Create table

bq mk --table agents_dataset.agent_logs schema.json
bq mk --table agents_dataset.agent_logs schema.json

Query

Query

bq query --use_legacy_sql=false
'SELECT * FROM
project.dataset.table
LIMIT 10'
bq query --use_legacy_sql=false
'SELECT * FROM
project.dataset.table
LIMIT 10'

Load data

Load data

bq load --source_format=NEWLINE_DELIMITED_JSON
agents_dataset.logs gs://bucket/logs/*.json
bq load --source_format=NEWLINE_DELIMITED_JSON
agents_dataset.logs gs://bucket/logs/*.json

Export

Export

bq extract --destination_format NEWLINE_DELIMITED_JSON
agents_dataset.logs gs://bucket/export/logs-*.json ```
bq extract --destination_format NEWLINE_DELIMITED_JSON
agents_dataset.logs gs://bucket/export/logs-*.json
undefined

Pub/Sub

Pub/Sub

```bash
bash
undefined

Create topic

Create topic

gcloud pubsub topics create agent-events
gcloud pubsub topics create agent-events

Create subscription

Create subscription

gcloud pubsub subscriptions create agent-events-sub
--topic agent-events
gcloud pubsub subscriptions create agent-events-sub
--topic agent-events

Publish message

Publish message

gcloud pubsub topics publish agent-events
--message '{"event": "agent_started", "agent_id": "123"}'
gcloud pubsub topics publish agent-events
--message '{"event": "agent_started", "agent_id": "123"}'

Pull messages

Pull messages

gcloud pubsub subscriptions pull agent-events-sub --auto-ack ```
gcloud pubsub subscriptions pull agent-events-sub --auto-ack
undefined

Python SDK

Python SDK

```python from google.cloud import storage, bigquery, pubsub_v1
python
from google.cloud import storage, bigquery, pubsub_v1

Cloud Storage

Cloud Storage

storage_client = storage.Client() bucket = storage_client.bucket('golden-armada-data')
storage_client = storage.Client() bucket = storage_client.bucket('golden-armada-data')

Upload

Upload

blob = bucket.blob('agents/config.json') blob.upload_from_string(json.dumps(config))
blob = bucket.blob('agents/config.json') blob.upload_from_string(json.dumps(config))

Download

Download

blob = bucket.blob('agents/config.json') content = blob.download_as_string()
blob = bucket.blob('agents/config.json') content = blob.download_as_string()

BigQuery

BigQuery

bq_client = bigquery.Client()
query = """ SELECT agent_id, COUNT(*) as task_count FROM
project.dataset.tasks
GROUP BY agent_id ORDER BY task_count DESC """ results = bq_client.query(query) for row in results: print(f"{row.agent_id}: {row.task_count}")
bq_client = bigquery.Client()
query = """ SELECT agent_id, COUNT(*) as task_count FROM
project.dataset.tasks
GROUP BY agent_id ORDER BY task_count DESC """ results = bq_client.query(query) for row in results: print(f"{row.agent_id}: {row.task_count}")

Insert rows

Insert rows

table_ref = bq_client.dataset('agents_dataset').table('logs') errors = bq_client.insert_rows_json(table_ref, rows)
table_ref = bq_client.dataset('agents_dataset').table('logs') errors = bq_client.insert_rows_json(table_ref, rows)

Pub/Sub Publisher

Pub/Sub Publisher

publisher = pubsub_v1.PublisherClient() topic_path = publisher.topic_path('project-id', 'agent-events')
future = publisher.publish( topic_path, json.dumps({"event": "task_completed"}).encode(), agent_id="123" ) message_id = future.result()
publisher = pubsub_v1.PublisherClient() topic_path = publisher.topic_path('project-id', 'agent-events')
future = publisher.publish( topic_path, json.dumps({"event": "task_completed"}).encode(), agent_id="123" ) message_id = future.result()

Pub/Sub Subscriber

Pub/Sub Subscriber

subscriber = pubsub_v1.SubscriberClient() subscription_path = subscriber.subscription_path('project-id', 'agent-events-sub')
def callback(message): print(f"Received: {message.data}") message.ack()
streaming_pull_future = subscriber.subscribe(subscription_path, callback=callback) ```
subscriber = pubsub_v1.SubscriberClient() subscription_path = subscriber.subscription_path('project-id', 'agent-events-sub')
def callback(message): print(f"Received: {message.data}") message.ack()
streaming_pull_future = subscriber.subscribe(subscription_path, callback=callback)
undefined

Terraform GCP Resources

Terraform GCP 资源配置

```hcl provider "google" { project = var.project_id region = var.region }
hcl
provider "google" {
  project = var.project_id
  region  = var.region
}

GKE Cluster

GKE Cluster

resource "google_container_cluster" "primary" { name = "golden-armada-cluster" location = var.zone
remove_default_node_pool = true initial_node_count = 1
network = google_compute_network.vpc.name subnetwork = google_compute_subnetwork.subnet.name }
resource "google_container_node_pool" "primary_nodes" { name = "primary-node-pool" location = var.zone cluster = google_container_cluster.primary.name node_count = 3
node_config { machine_type = "e2-standard-4" oauth_scopes = [ "https://www.googleapis.com/auth/cloud-platform" ] }
autoscaling { min_node_count = 1 max_node_count = 10 } }
resource "google_container_cluster" "primary" { name = "golden-armada-cluster" location = var.zone
remove_default_node_pool = true initial_node_count = 1
network = google_compute_network.vpc.name subnetwork = google_compute_subnetwork.subnet.name }
resource "google_container_node_pool" "primary_nodes" { name = "primary-node-pool" location = var.zone cluster = google_container_cluster.primary.name node_count = 3
node_config { machine_type = "e2-standard-4" oauth_scopes = [ "https://www.googleapis.com/auth/cloud-platform" ] }
autoscaling { min_node_count = 1 max_node_count = 10 } }

Cloud Run Service

Cloud Run Service

resource "google_cloud_run_service" "agent_api" { name = "golden-armada-api" location = var.region
template { spec { containers { image = "gcr.io/${var.project_id}/agent:latest" env { name = "ENV" value = "production" } } } }
traffic { percent = 100 latest_revision = true } }
resource "google_cloud_run_service" "agent_api" { name = "golden-armada-api" location = var.region
template { spec { containers { image = "gcr.io/${var.project_id}/agent:latest" env { name = "ENV" value = "production" } } } }
traffic { percent = 100 latest_revision = true } }

Cloud Storage Bucket

Cloud Storage Bucket

resource "google_storage_bucket" "data" { name = "golden-armada-data" location = var.region
uniform_bucket_level_access = true
lifecycle_rule { condition { age = 30 } action { type = "Delete" } } } ```
resource "google_storage_bucket" "data" { name = "golden-armada-data" location = var.region
uniform_bucket_level_access = true
lifecycle_rule { condition { age = 30 } action { type = "Delete" } } }
undefined