İçeriğe geç
0850 554 5439 [email protected]

Size nasıl yardımcı olabiliriz?

Rehberlerimizde ve eğitimlerimizde arama yapın ya da aşağıdaki kategorilere göz atın.

Gyro Kapsayıcı'yı API, gyro CLI ve Terraform ile yönetin

Gyro Kapsayıcı (ECS) 21 görüntülenme Kullanım rehberi Son doğrulama: Markdown
Bu rehberde ne öğreneceksinizPanelde yaptığınız her kapsayıcı işleminin API, gyro container komutları ve Terraform karşılığını; servis oluşturma, yayınlama, ölçekleme, geri alma, alan adı, gizli değer ve imaj deposu için örnekleri.
Süre12 dakika
Kimin içinDağıtımı otomatikleştiren geliştiriciler.
GerekenlerAPI anahtarı (Gyro API ile ilk adım); gyro 1.10 ya da üstü (kurulum); Terraform için sağlayıcı 0.9 ya da üstü (Terraform rehberi).

1. Önce: kimlik ve ortam numarası

API anahtarı oluştururken izinleri işaretleyin: hizmet okuma (services_read) ve hizmet yazma (services_write); harcama bilgisi için faturalama okuma (billing_read). Güvenlik için anahtarı yalnız CI sunucunuzun IP'sine kısıtlayın.

Komutlardaki {id} / 12345, kapsayıcı ortamınızın hizmet numarasıdır. Bulmak için:

bash
gyro configure                  # bir kez: anahtarı kaydeder
gyro service list               # tüm hizmetleriniz; kapsayıcı ortamının numarasını bulun

2. Komut özeti

İşlem Komut
Servisleri listele / ayrıntı gyro container service list ID · gyro container service get ID AD
Servis oluştur gyro container service create ID --name AD --image İMAJ --port 8080 --public
Yeni sürüm yayınla gyro container service update ID AD --image İMAJ --reason "not"
Ölçekle gyro container service scale ID AD --replicas N
Yeniden başlat gyro container service restart ID AD
Sürümler / geri al gyro container service revisions ID AD · gyro container service rollback ID AD [--revision N]
Servis sil gyro container service delete ID AD
Ortam değişkenleri gyro container env set ID AD --data '{"set":{"K":"V"}}' · --unset K · --replace 1
Gizli değerler gyro container secret set ID AD --data @- · gyro container secret delete ID AD --keys K
Alan adı gyro container domain add|list|verify|remove
Loglar / grafik / olaylar gyro container logs ID AD · gyro container metrics ID AD · gyro container events ID
Düğüm havuzu gyro container nodes ID
Gyro imaj deposu gyro container registry get|images|credentials|rotate|policy|image-delete ID
Özel dış depo gyro container external-registry set|delete ID

Yıkıcı işlemler (silme, geri alma, parola yenileme) onay ister; betiklerde --yes kullanın. Çıktı için -o json, tek alan için --query kullanabilirsiniz.

3. gyro CLI örnekleri

bash
# Servis oluştur
gyro container service create 12345 --name api \
  --image registry.ist.gyrohosting.com/<kodunuz>/api:1.0 --port 8080 \
  --replicas 2 --cpu-m 250 --memory-mi 256 --health-path /healthz --public

# Gizli değer (stdin ile, komut geçmişine yazılmaz)
echo '{"set":{"DB_PASSWORD":"çok-gizli"}}' | gyro container secret set 12345 api --data @-

# Yeni sürüm, sonra geri alma
gyro container service update 12345 api --image registry.ist.gyrohosting.com/<kodunuz>/api:1.1 --reason "release 1.1"
gyro container service rollback 12345 api --yes

# Alan adı bağla
gyro container domain add 12345 api --domain api.ornekfirma.com
gyro container domain verify 12345 api

# Loglar ve harcama
gyro container logs 12345 api --since-minutes 30
gyro billing balance get

4. REST API örnekleri

Taban adres https://www.gyrohosting.com/api/v1/client; kimlik Authorization: Bearer $GYRO_TOKEN.

bash
B=https://www.gyrohosting.com/api/v1/client
H=(-H "Authorization: Bearer $GYRO_TOKEN" -H "Content-Type: application/json")

# Servisleri listele
curl -s "$B/cloud/containers/12345/services" "${H[@]}"

# Servis oluştur
curl -s -X POST "$B/cloud/containers/12345/services" "${H[@]}" -d '{
  "name":"api","image":"registry.ist.gyrohosting.com/<kodunuz>/api:1.0","port":8080,
  "replicas":2,"cpu_m":250,"memory_mi":256,"health_path":"/healthz","public":true}'

# Yeni sürüm
curl -s -X PATCH "$B/cloud/containers/12345/services/api" "${H[@]}" \
  -d '{"image":"registry.ist.gyrohosting.com/<kodunuz>/api:1.1","reason":"release 1.1"}'

# Ölçekle
curl -s -X POST "$B/cloud/containers/12345/services/api/scale" "${H[@]}" -d '{"replicas":3}'

# Geri al (onay ister)
curl -s -X POST "$B/cloud/containers/12345/services/api/rollback" "${H[@]}" -d '{"confirm":true}'

# Gizli değer
curl -s -X PUT "$B/cloud/containers/12345/services/api/secrets" "${H[@]}" -d '{"set":{"DB_PASSWORD":"çok-gizli"}}'

Tüm uçlar /developers sayfasındaki API başvurusundadır (/cloud/containers/{id}/…: services, env, secrets, domains, logs, metrics, nodes, events, registry, external-registry).

5. Terraform ile

terraform
variable "db_password" {
  type      = string
  sensitive = true
}

resource "gyro_container_service" "web" {
  service_id  = 12345                  # kapsayıcı ortamınızın hizmet numarası
  name        = "web"
  image       = "registry.ist.gyrohosting.com/<kodunuz>/web:1.4"
  port        = 8080
  replicas    = 2
  cpu_m       = 500
  memory_mi   = 512
  public      = true
  health_path = "/healthz"

  env     = { MODE = "prod" }
  secrets = { DB_PASSWORD = var.db_password }   # yalnız yazılır, geri okunmaz

  # Önce alan adınızdan gyro_container_service.web.host adresine CNAME yazın.
  domains = ["app.ornekfirma.com"]
}

output "web_url" {
  value = gyro_container_service.web.url
}
  • Her değişiklik (kopya sayısı hariç) yeni sürüm oluşturur ve kesintisiz yayınlanır.
  • Gizli değerler yalnız yazılır; dışarıdan silinirse sonraki planda fark görünür.
  • İçe aktarma: terraform import gyro_container_service.web 12345/web. (İçe aktarmadan sonra ilk planda gizli değerler için bir fark görünmesi beklenir.)

6. Otomasyon ipuçları

  • CI/CD için ayrı bir API anahtarı ve ayrı bir imaj deposu parolası kullanın; ikisini de gizli değişken olarak saklayın.
  • Yayında imajı sürüm etiketi ya da commit numarasıyla verin (latest değil); --reason ile sürüm geçmişine commit numarasını yazın.
  • Tam örnek: GitHub Actions ile otomatik deploy.

7. Sık sorulan sorular

Ortam numarasını nereden bulurum?

Müşteri panelinde hizmetin sayfa adresindeki numaradır ya da gyro service list çıktısında kapsayıcı ortamının numarasıdır.

quota_exceeded hatası alıyorum, ne yapmalıyım?

Havuz kapasitenizi aşıyorsunuz: kopya sayısını ya da boyutu azaltın, ya da üst pakete geçin.

Sürüm yayını bitti mi nasıl anlarım?

gyro container service get ID AD çıktısındaki durum running ve hazır kopya sayısı istenen sayıya eşit olunca bitmiştir.

Terraform her planda fark gösteriyor, ne yapmalıyım?

Çoğunlukla gizli değerler ya da dışarıdan yapılan değişikliklerdir; panelden değiştirdiğiniz alanları Terraform dosyasına da yansıtın.

Sıradaki adım

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.