gcp
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGCP 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
undefinedInitialize
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
undefinedGKE (Google Kubernetes Engine)
GKE (Google Kubernetes Engine)
```bash
bash
undefinedCreate 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
--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
--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
undefinedCloud Run
Cloud Run
```bash
bash
undefinedDeploy 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"
--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"
--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 ```
--to-revisions REVISION=100 ```
gcloud run services update-traffic golden-armada-api
--to-revisions REVISION=100
--to-revisions REVISION=100
undefinedCloud Storage
Cloud Storage
```bash
bash
undefinedCreate 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
undefinedBigQuery
BigQuery
```bash
bash
undefinedCreate 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 LIMIT 10'
'SELECT * FROM
project.dataset.tablebq query --use_legacy_sql=false
'SELECT * FROM LIMIT 10'
'SELECT * FROM
project.dataset.tableLoad data
Load data
bq load --source_format=NEWLINE_DELIMITED_JSON
agents_dataset.logs gs://bucket/logs/*.json
agents_dataset.logs gs://bucket/logs/*.json
bq load --source_format=NEWLINE_DELIMITED_JSON
agents_dataset.logs gs://bucket/logs/*.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 ```
agents_dataset.logs gs://bucket/export/logs-*.json ```
bq extract --destination_format NEWLINE_DELIMITED_JSON
agents_dataset.logs gs://bucket/export/logs-*.json
agents_dataset.logs gs://bucket/export/logs-*.json
undefinedPub/Sub
Pub/Sub
```bash
bash
undefinedCreate 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
--topic agent-events
gcloud pubsub subscriptions create agent-events-sub
--topic agent-events
--topic agent-events
Publish message
Publish message
gcloud pubsub topics publish agent-events
--message '{"event": "agent_started", "agent_id": "123"}'
--message '{"event": "agent_started", "agent_id": "123"}'
gcloud pubsub topics publish agent-events
--message '{"event": "agent_started", "agent_id": "123"}'
--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
undefinedPython SDK
Python SDK
```python
from google.cloud import storage, bigquery, pubsub_v1
python
from google.cloud import storage, bigquery, pubsub_v1Cloud 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
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}")
project.dataset.tasksbq_client = bigquery.Client()
query = """
SELECT agent_id, COUNT(*) as task_count
FROM
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}")
project.dataset.tasksInsert 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)
undefinedTerraform 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