Konteyner görüntülerini manuel olarak oluşturmadan bir PHP web uygulaması dağıtmanız gerektiğinde, Enterprise Distributed Application Service (EDAS) doğrudan Git deponuzdan derleme yaparak uygulamayı Container Service for Kubernetes (ACK) kümesine dağıtabilir. Dağıtımdan sonra EDAS; uygulama için ölçeklendirme, izleme ve uyarı, yük dengeleme ile istek sınırlama ve düşürme işlemlerini yönetir.
ACK kümeleri ve ACK Serverless kümeleri için izlenen prosedür benzerdir. Bu konuda örnek olarak bir ACK kümesi kullanılmıştır.
Ön koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
EDAS ve ACK hizmetlerinin etkinleştirildiği bir Alibaba Cloud hesabı
Hesabınıza atanmış ACK varsayılan rolleri
1. Adım: ACK kümesi oluşturun
ACK konsolu üzerinde oturum açın ve yönetilen bir Kubernetes kümesi oluşturun. Ayrıntılar için bkz. Yönetilen Kubernetes kümesi oluşturma.
ACK Serverless kümeleri için: Kümenin EDAS'e aktarıldıktan sonra Alibaba Cloud Service Mesh (ASM) kullanabilmesini sağlamak amacıyla VPC seçeneğini Create VPC olarak ve Service Discovery seçeneğini PrivateZone olarak ayarlayın. VPC seçeneğini Select Existing VPC olarak belirlerseniz, oluşturma işleminden sonra kümenin VPC ve vSwitch kaynaklarına sahip olduğunu doğrulayın. Ayrıntılar için bkz. ACK Serverless kümesi oluşturma.
2. Adım: ACK kümesini EDAS'e aktarın
EDAS, aktarım sırasında aşağıdaki bileşenleri otomatik olarak yükler:
| Bileşen | Amaç |
|---|---|
| ack-ahas-sentinel-pilot | İstek sınırlama ve düşürme (Application High Availability Service) |
| ack-arms-pilot | Application Real-Time Monitoring Service (ARMS) aracısı |
| ack-arms-prometheus | Prometheus izleme |
Bir kümeyi aktarmak için:
EDAS konsolu üzerinde oturum açın. Sol gezinme bölmesinde Resource Management > Container Service Kubernetes Clusters seçeneklerini belirleyin.
Üst gezinme çubuğunda ACK kümenizin bulunduğu bölgeyi seçin ve ardından Synchronize Container Service Kubernetes Cluster seçeneğine tıklayın.
Hedef kümeyi bulun ve Actions sütunundaki Import seçeneğine tıklayın.
Precheck for Import iletişim kutusunda Continue seçeneğine tıklayın.
Import Kubernetes Cluster iletişim kutusunda Microservice Namespace açılır listesinden bir mikro hizmet ad alanı seçin, ihtiyaçlarınıza göre Service Mesh seçeneğini açıp kapatın ve Import seçeneğine tıklayın.
Cluster Status durumu Running ve Import Status durumu Imported olarak göründüğünde aktarım tamamlanır.
3. Adım: PHP uygulamasını dağıtın
Temel bilgileri yapılandırın
EDAS konsolu üzerinde oturum açın.
Sol gezinme bölmesinde Application Management > Applications seçeneklerini belirleyin. Bir bölge ve bir mikro hizmet ad alanı seçin, ardından Create Application seçeneğine tıklayın.
-
Basic Information adımında aşağıdaki ayarları yapılandırın ve Next seçeneğine tıklayın.
Ayar Değer Cluster Type Kubernetes Clusters seçeneğini belirleyin. Application Runtime Environment PHP seçeneğini belirleyin. EDAS tarafından sağlanan görüntü, Apache 2.4 ve yaygın olarak kullanılan PHP eklentileri önceden yüklü olarak PHP 7.3 sürümünü içerir.
Dağıtımı yapılandırın
-
Configurations adımında aşağıdaki ayarları yapılandırın ve Next seçeneğine tıklayın.
Ortam ve ad alanı
Parametre Açıklama Microservice Namespace ACK kümesi için ad alanı. Hiçbiri seçilmezse varsayılan olarak Default kullanılır. Oluşturmak için Create Microservice Namespace seçeneğine tıklayın. Ayrıntılar için bkz. Mikro hizmet ad alanlarını yönetme konusunun "Ad alanı oluşturma" bölümü. Cluster Aktarılan ACK kümesini seçin. Küme henüz aktarılmadıysa, uygulama oluşturma sırasında aktarmak için onay kutusunu işaretleyin. Bu işlem belirli bir süre alır. Onay kutusunu işaretledikten sonra Alibaba Cloud Service Mesh'in etkinleştirildiğini doğrulayın. NotKümenin, uygulama ile aynı mikro hizmet ad alanında olması gerekmez.
K8s Namespace Uygulama için Kubernetes ad alanı. Seçenekler: default, kube-system, kube-public. Çoğu kullanım senaryosu için default seçeneğini belirleyin. Özel bir ad alanı oluşturmak için Create Kubernetes Namespace seçeneğine tıklayın ve bir ad girin (1-63 karakter: küçük harfler, rakamlar ve tireler; harf veya rakamla başlayıp bitmelidir). Uygulama ayarları
Parametre Açıklama Application Name 1-36 karakter: harfler, rakamlar ve tireler. Harfle başlamalıdır. Application Description 1-128 karakter. Source of Deployment Package Source Code olarak sabitlenmiştir. Version Özel bir sürüm numarası belirtin veya Use Timestamp as Version Number seçeneğine tıklayın. Kaynak kodu ayarları
Parametre Açıklama Code Repository URL Git deposu URL'si (HTTPS veya Git protokolü). Authentication Method Özel depolar için gereklidir. Username and Password (bir secret oluşturun veya seçin) ya da SSH Key (EDAS tarafından sağlanan genel anahtarı kullanın) yöntemlerinden birini seçin. SSH kurulumu için bkz. SSH genel anahtarı yapılandırma. Branch or Tag Dağıtılacak dal veya etiket. Kaynak ve gelişmiş kaynak ayarları
Parametre Açıklama Total Pods Dağıtılacak pod sayısı. Single-pod resource quota Pod başına CPU ve bellek sınırları. Varsayılan değer 0sınır olmadığını gösterir.Advanced Configuration (İsteğe bağlı) Aşağıdakileri yapılandırmak için geçiş yapın: Clone Submodule (Git alt modüllerini dahil et), Working Directory (Git çalışma dizinini ayarla) ve Output Path (derleme çıktısının saklanacağı yeri belirt). 
(İsteğe bağlı) Gelişmiş ayarları yapılandırın
-
Aşağıdaki gelişmiş ayarlardan istediklerinizi yapılandırın ve ardından Create Application seçeneğine tıklayın.
Ortam değişkenleri Ortam değişkenleri, konteyner oluşturulurken aktarılır. MySQL tabanlı görüntüler için: Diğer görüntüler için ortam değişkenlerini ihtiyaçlarınıza göre yapılandırın.
Kalıcı depolama Yerel Kubernetes birimleri geçicidir ve pod yaşam döngüsünü paylaşır. Verileri örnek güncellemeleri ve geçişler arasında kalıcı hale getirmek için bir File Storage NAS birimini bağlayın.
NotKalıcı depolamayı yapılandırmadan önce Alibaba Cloud hesabınız için File Storage NAS hizmetini etkinleştirin. Hesabınızın yeterli bakiyesinin bulunduğundan veya kullandıkça öde faturalaması kullandığından emin olun.
NotYAML dosyaları aracılığıyla yapılandırılan PVC'ler Select PVC açılır listesinde görünmez ancak dağıtım sırasında etkin kalır. Görünürlük sağlamak için PVC bağlantılarını EDAS konsolu üzerinden yapılandırın.
Değişken Zorunlu Açıklama MYSQL_ROOT_PASSWORDEvet MySQL kök parolası MYSQL_USER/MYSQL_PASSWORDHayır Ek kullanıcı hesabı kimlik bilgileri MYSQL_DATABASEHayır Konteyner başlatıldığında oluşturulacak veritabanı Parametre Açıklama PVC Mount Elastic Block Storage (EBS), NAS, Cloud Paralleled File System (CPFS), Object Storage Service (OSS) veya yerel diskler tarafından desteklenen kalıcı birim taleplerini (PVC) bağlayın. Önce bir kalıcı birim (PV) oluşturun. Ayrıntılar için bkz. NAS birimine genel bakış, OSS birimine genel bakış ve Yerel depolama birimlerine genel bakış. Select PVC Açılır listeden bir PVC seçin veya PVC oluşturun. Mount Configuration Mount Directory ve Mount Mode ayarlarını belirleyin. Yaşam döngüsü kanca işlevleri ve sağlık probu
Parametre Açıklama PostStart Bir konteyner başladıktan hemen sonra çalışır. İşleyici başarısız olursa, konteyner yeniden başlatma ilkesine göre sonlandırılır ve yeniden başlatılır. Bkz. Container Lifecycle Hooks. PreStop Bir konteyner sonlandırılmadan önce çalışır. Silme isteği gönderilmeden önce işleyicinin tamamlanması gerekir. Docker daemon daha sonra konteyneri durdurmak için bir SIGTERM sinyali gönderir. Bkz. Container Lifecycle Hooks. Liveness Uygulamanın sağlıklı olup olmadığını kontrol eder. Sağlıksız konteynerler sonlandırılır ve yeniden oluşturulur. Bkz. Pod Lifecycle. Readiness Uygulamanın başladığını ve beklendiği gibi çalıştığını kontrol eder. Uygulama beklendiği gibi çalışmıyorsa konteyner durumu güncellenir. Bkz. Pod Lifecycle.
Dağıtımı doğrulayın
Creation Completed adımında Create Application seçeneğine tıklayın. Dağıtım birkaç dakika sürer. İlerlemeyi Change List sayfasından takip edin.
Dağıtım tamamlandıktan sonra Application Overview bölümüne gidin ve pod durumunu kontrol edin. Running durumunda olan bir pod, uygulamanın canlı olduğunu gösterir. Deployment, Pod ve Startup Command ayarları gibi ayrıntıları görüntülemek için pod durumuna tıklayın.
SSS
Dağıtım hata günlüklerini nasıl görüntülerim?
Bir dağıtım başarısız olursa hatayı Change List sayfasındaki hata günlüğünden kontrol edin. Ayrıntılar için bkz. Uygulama değişikliklerini görüntüleme.
Sonraki adımlar
Bir Classic Load Balancer (CLB) örneği bağlayarak uygulamanızı dışa açın:
Genel erişim: İnternet yönelimli bir CLB örneği ekleyin. Bkz. CLB örneklerini bağlama.
Dahili erişim: Aynı VPC'deki düğümlerin uygulamanıza ulaşabilmesi için dahili yönelimli bir CLB örneği ekleyin. Bkz. CLB örneğini yeniden kullanma.