Geliştirici araçlarına genel bakış
Projelerinizi REST API ve API belirteçleriyle ya da uygulama kimlik bilgileriyle Terraform ve openstack CLI gibi OpenStack araçları üzerinden otomatikleştirin.
Projelerinizi koddan iki şekilde yönetebilirsiniz. REST API, platformun kendi HTTP API’sidir; konsolun kullandığı API ile aynıdır ve onu bir API belirteci veya servis hesabı anahtarıyla çağırırsınız. OpenStack API’leri ise openstack CLI, Terraform ve Kubernetes bulut entegrasyonları gibi, uygulama kimlik bilgisiyle giriş yapan OpenStack araçlarına hizmet eder.
Temel özellikler
- Konsolun kendi API’si. Konsol isteklerini REST API’ye gönderir; aynı istekleri siz de kodunuzdan gönderebilirsiniz. Bkz. REST API’ye genel bakış.
- Kapsamla sınırlı kimlik bilgileri. API belirteçleri kapsamlar, isteğe bağlı bir sona erme tarihi ve isteğe bağlı bir IP izin listesi taşır. Servis hesabı anahtarları, bir servis hesabının rolleriyle işlem yapar. Bkz. API belirteçleriyle kimlik doğrulama.
- Kopyalanabilir istekler. Sanal makine oluşturma sihirbazının son adımındaki REST eşdeğeri bölümü, isteği bir
curlkomutu olarak gösterir. Yönetici parolası yazdırılmaz,ADMIN_PASSWORDortam değişkeninden okunur. Bkz. Sanal makine oluşturma. - İzleyebileceğiniz eşzamansız işler. Uzun süren istekler, bitene kadar okuyabileceğiniz bir işlem döndürür. Bkz. Eşzamanlı ve eşzamansız istekler.
- Güvenli yeniden denemeler. Idempotency anahtarı, yeniden denenen bir yazma isteğinin değişikliği tekrarlamak yerine ilk sonucu döndürmesini sağlar. Bkz. Idempotent istekler.
- API referansı. Her ürünün işlemleri, parametreleri ve yanıtlarıyla birlikte. Bkz. API referansı.
- OpenStack uyumlu araçlar. openstack CLI, Terraform ve Kubernetes için OCCM ile Cinder CSI projelerinizle çalışır. Bkz. OpenStack uyumlu araçlar.
Nasıl çalışır
İki API türü de aynı kaynaklar üzerinde işlem yapar. Terraform ile oluşturduğunuz bir sanal makine konsolda görünür ve konsolda oluşturduğunuz bir sanal makine gibi faturalandırılır. Hangi API üzerinden oluşturulursa oluşturulsun kaynaklar aynı kotalardan düşer.
REST API, konsolun ana bilgisayar adında değil, API ana bilgisayar adında /api/v1 altında sunulur. Yolların çoğu bir projenin ID’siyle başlar. Her istek, bir hizmete ulaşmadan önce API ağ geçidinin denetlediği bir taşıyıcı (bearer) kimlik bilgisi taşır. Platformun bulutta gerçekleştirdiği yazma işlemleri (örneğin sanal makine oluşturma) 202 Accepted döndürür ve arka planda devam eder; bunları bir işlem veya kaynağın durumu üzerinden izlersiniz. REST API üzerinden başlattığınız işlemler (örneğin kaynak oluşturma veya silme), onları başlatan kullanıcı veya servis hesabıyla birlikte Activity Log kayıtlarında görünür. Bkz. Denetim ve etkinlik kayıtları.
REST API’nin kendine ait bir komut satırı aracı veya Terraform sağlayıcısı yoktur: API’yi HTTP üzerinden, örneğin curl ile çağırırsınız. Kod olarak altyapı için Terraform’un OpenStack sağlayıcısını bir uygulama kimlik bilgisiyle kullanın.
Uygulama kimlik bilgisi tek bir projeye aittir ve projedeki rolünüzün size verdiği OpenStack rolleriyle işlem yapar. Onu konsolda oluşturursunuz; oluştururken her araç için yapılandırma dosyalarını indirebilirsiniz. API belirteçleri OpenStack araçlarıyla, uygulama kimlik bilgileri de REST API ile çalışmaz.
Kullanım senaryoları
- CI/CD işlem hatları. Bir kişinin hesabına bağlı olmayan bir servis hesabı anahtarıyla, bir işlem hattından test ortamları oluşturun ve silin.
- Kod olarak altyapı. Ağları, sanal makineleri ve diskleri Terraform’da tanımlayın ve bir uygulama kimlik bilgisiyle uygulayın.
- Sanal makinelerinizde Kubernetes. Sanal makinelerinizde çalıştırdığınız bir cluster’ı OCCM ve Cinder CSI ile buluta bağlayın.
- Raporlama. Maliyet verilerini ve etkinlik kayıtlarını kendi araçlarınıza aktarın.
Faturalandırma
API’ler kaynakların nasıl faturalandırıldığını değiştirmez: bir API üzerinden oluşturduğunuz kaynak, konsolda oluşturduğunuz kaynakla aynı kalemler üzerinden faturalandırılır. Her ürünün kalemleri için bkz. Faturalandırma nasıl çalışır.
Limitler
- API ağ geçidi, her kimlik bilgisinin ne kadar hızlı istek gönderebileceğini sınırlar ve limiti aştığınızda
429 Too Many Requestsyanıtını verir. Bkz. Hız sınırlama. - Listelerin çoğu sayfa başına en fazla 200 öğe döndürür. Bkz. Sayfalama.
- Platform bir idempotency anahtarını en az 24 saat saklar. Bkz. Idempotent istekler.
- Bazı işlemler, kapsam doğru olsa bile API belirteci veya servis hesabı anahtarı için reddedilir; örneğin konsol oturumu gerektirenler. Bkz. API belirtecinin çağıramadıkları.
- Uygulama kimlik bilgilerinin kendi limitleri vardır. Bkz. OpenStack API limitleri.
İlgili hizmetler
- Identity & Access Management: servis hesapları, API belirteçleri ve roller.
- OpenStack API Access: OpenStack araçları için uygulama kimlik bilgileri.
- Activity Log: projelerinizdeki işlemlerin kaydı.
Sonraki adımlar
REST API’ye genel bakış
Temel URL, kapsamlar, eşzamansız işlemler ve hatalar.
API belirteçleriyle kimlik doğrulama
Bir kimlik bilgisi gönderin ve nelere erişebildiğini öğrenin.
API referansı
Her işlem, parametreleri ve yanıtlarıyla birlikte.
OpenStack uyumlu araçlar
openstack CLI, Terraform ve Kubernetes entegrasyonları.