Kubernetes üzerinde küme altyapısını doğrudan yönetmeden Java uygulamaları çalıştırmanız gerektiğinde, Enterprise Distributed Application Service (EDAS), Container Service for Kubernetes (ACK) üzerine tam yaşam döngüsü yönetimi sağlar. Konteyner görüntüleri oluşturup Kubernetes manifestlerini manuel olarak yazmak yerine bir JAR veya WAR paketi yüklersiniz; EDAS konteynerleştirme ve dağıtım işlemlerini sizin yerinize yürütür.
Bu konuda, bir ACK kümesi oluşturma, bunu EDAS'e aktarma ve demo bir JAR veya WAR paketi kullanarak Java uygulaması dağıtma adımları açıklanmaktadır.
İş akışı
| Adım | Görev | Açıklama |
|---|---|---|
| 1 | Ön koşullar | EDAS ve ACK hizmetlerini etkinleştirin, mikro hizmet ad alanı oluşturun, gerekli rolleri atayın |
| 2 | ACK kümesi oluşturma | ACK konsolunda yönetilen bir Kubernetes kümesi oluşturun |
| 3 | Küme EDAS'e aktarma | EDAS'in dağıtımları yönetebilmesi için kümeyi senkronize edip aktarın |
| 4 | Uygulama dağıtımı | Bir JAR veya WAR paketi kullanarak Java uygulamasını yapılandırıp dağıtın |
| 5 | Dağıtımı doğrulama | Pod'ların çalıştığını teyit edin |
| 6 | Sonraki adımlar | Yük dengeleyici aracılığıyla uygulamayı dışa açın |

Ön koşullar
Başlamadan önce aşağıdaki şartları sağladığınızdan emin olun:
EDAS etkinleştirilmiş ve ACK etkinleştirilmiş bir Alibaba Cloud hesabınız bulunmalıdır
Mikro hizmet ad alanı oluşturulmuş olmalıdır
Hesabınıza ACK varsayılan rolleri atanmış olmalıdır
1. Adım: ACK kümesi oluşturma
ACK konsoluna giriş yapın ve yönetilen bir Kubernetes kümesi oluşturun. Talimatlar için bkz. Yönetilen Kubernetes kümesi oluşturma.
EDAS'e aktarıldıktan sonra Alibaba Cloud Service Mesh (ASM) desteğine sahip bir ACK Serverless kümesi oluşturmak için VPC seçeneğini Create VPC olarak, Service Discovery seçeneğini ise PrivateZone olarak ayarlayın. VPC seçeneğini Select Existing VPC olarak belirlediyseniz, oluşturma sonrası 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 aktarma
Bir ACK kümesini aktardığınızda EDAS aşağıdaki bileşenleri otomatik olarak yükler:
| Bileşen | Amaç |
|---|---|
| ack-ahas-sentinel-pilot | Uygulama koruması (kısıtlama ve düşürme) |
| ack-arms-pilot | Application Real-Time Monitoring Service (ARMS) aracısı |
| ack-arms-prometheus | Prometheus izleme aracısı |
Kümeyi aktarmak için şu adımları izleyin:
EDAS konsoluna giriş yapın. Sol gezinme bölmesinde Resource Management > Container Service Kubernetes Clusters seçeneklerini seçin.
Üst gezinme çubuğundan ACK kümenizin bulunduğu bölgeyi seçin ve ardından Synchronize Container Service Kubernetes Cluster düğmesine tıklayın.
Senkronize edilen kümeyi bulun ve Actions sütunundaki Import bağlantısına tıklayın.
Precheck for Import iletişim kutusunda Continue düğmesine tıklayın.
Import Kubernetes Cluster iletişim kutusunda Microservice Namespace açılır listesinden bir mikro hizmet ad alanı seçin. Gereksinimlerinize göre Service Mesh özelliğini açıp kapatın ve ardından Import düğmesine tıklayın.
Cluster Status sütununda Running ve Import Status sütununda Imported durumu görüntülendiğinde aktarma işlemi tamamlanır.
3. Adım: Uygulamayı dağıtma
Dağıtım yordamı JAR ve WAR paketleri için aynıdır. Aşağıdaki adımlarda örnek olarak bir JAR paketi kullanılmıştır.
3a. Uygulama oluşturma
EDAS konsoluna giriş yapın. Sol gezinme bölmesinde Application Management > Applications seçeneklerini seçin.
Üst gezinme çubuğundan bir bölge seçin. Sayfanın üst kısmından bir mikro hizmet ad alanı belirleyin. Applications sayfasının sol üst köşesindeki Create Application düğmesine tıklayın.
3b. Temel bilgileri yapılandırma
Basic Information adımında aşağıdaki parametreleri yapılandırın ve ardından Next düğmesine tıklayın.
| Parametre | Açıklama |
|---|---|
| Cluster Type | Kubernetes Clusters seçeneğini belirleyin. |
| Application Source Type | Default seçeneğini belirleyin. |
| Hosted Applications | Programlama dilini seçin. Bu örnek için Java seçeneğini belirleyin. PHP veya çok dilli uygulamalar için bkz. PHP uygulamalarını kaynaktan derleme ve ACK kümelerine dağıtma. |
| Select Application | Uygulama türünüze uygun bir çalışma zamanı ortamı seçin. Seçenekler aşağıda listelenmiştir. |
Çalışma zamanı ortamı seçenekleri:
| Seçenek | Kullanım durumu | Yapılandırılabilir parametreler |
|---|---|---|
| Java | Evrensel bir JAR paketiyle Dubbo veya Spring Boot uygulaması dağıtma | Java Environment |
| Tomcat | Evrensel bir WAR paketiyle Dubbo veya Spring uygulaması dağıtma | Java Environment, Container Version |
| EDAS-Container (HSF) | Yüksek Hızlı Hizmet Çerçevesi (HSF) uygulamasını WAR veya FatJar paketiyle dağıtma | Java Environment, Pandora Version, Ali-Tomcat Version |
Görüntü tabanlı dağıtım için bkz. Kubernetes kümesinde Java mikro hizmet uygulamasını görüntü ile dağıtma.
OpenJDK 17, Dubbo 2.7.14 ve sonraki sürümlerle veya Dubbo 3.0.6 ve sonraki sürümlerle uyumludur. Uyumluluk matrisi aşağıda verilmiştir.
3c. Dağıtımı yapılandırma
Configurations adımında ortamı, dağıtım yöntemini ve kaynak parametrelerini ayarlayın, ardından Next düğmesine tıklayın.
Ortam ve küme ayarları
| Parametre | Açıklama |
|---|---|
| Microservice Namespace | Oluşturduğunuz ad alanını seçin. Belirtilmemesi durumunda varsayılan olarak Default seçilir. Yeni bir tane oluşturmak için Create Microservice Namespace bağlantısına tıklayın. Bkz. Mikro hizmet ad alanlarını yönetme konusundaki "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 This cluster is used for the first time in EDAS seçeneğini işaretleyin. Ardından Alibaba Cloud Service Mesh'in etkin olup olmadığını kontrol edin. İlk kez yapılan aktarma ek süre gerektirir. |
| K8s Namespace | Kaynak yalıtımı için bir Kubernetes ad alanı seçin. Seçenekler: default (belirtilmezse kullanılır), kube-system (sistem tarafından oluşturulan nesneler), kube-public (kimliği doğrulanmamış kullanıcılar dahil tüm kullanıcılar tarafından okunabilir). Özel bir ad alanı oluşturmak için Create Kubernetes Namespace bağlantısına tıklayın. Ad 1–63 karakter uzunluğunda olmalı; küçük harf, rakam ve tire (-) içermeli, harf veya rakamla başlayıp bitmelidir. |
Küme ve uygulamanın aynı mikro hizmet ad alanında olması gerekmez.
Uygulama ayarları
| Parametre | Açıklama |
|---|---|
| Application Name | Bir harfle başlamalıdır. Harf, rakam ve tire (-) içerebilir, en fazla 36 karakter olabilir. |
| Application Description | İsteğe bağlıdır. En fazla 128 karakter olabilir. |
Dağıtım paketi
| Parametre | Açıklama |
|---|---|
| Source of Deployment Package | Aşağıdaki seçeneklerden birini seçin: |
-
Custom Program: Bir JAR paketi yükleyin veya paket URL'si sağlayın.
Upload JAR Package: Yerel bir paketi seçip yükleyin.
JAR Package Address: Dağıtım paketinizin URL'sini girin.
Official Demo: Bir demo uygulama türü seçin — Spring Cloud Server Application, Spring Cloud Client Application, Dubbo Server Application veya Dubbo Client Application.
Konteyner kayıt defteri (yalnızca ACK kümeleri)
Container Registry Repository Type parametresi yalnızca ACK kümelerindeki Java, Tomcat veya EDAS-Container (HSF) uygulamaları için kullanılabilir. ACK Serverless kümeleri için kullanılamaz.
Konteyner kayıt defterini kullanmadan önce şunlardan emin olun:
aliyun-acr-credential-helper bileşeni yüklüdür
Container Registry Enterprise Edition için VPC erişimi yapılandırılmıştır
Oluşturulan görüntüyü depolamak için Container Registry Personal Edition veya Container Registry Enterprise Edition seçeneğini belirleyin. Görüntü oluşturma görevi kümenizde aşağıdaki zamanlama kurallarıyla yürütülür:
| Düğüm etiketi veya tolerans kısıtlaması | Davranış |
|---|---|
edas.image.build=disable (etiket) |
EDAS, oluşturma görevlerini bu düğümlerde zamanlamaz |
edas.image.build=enable (etiket) |
EDAS, oluşturma görevlerini tercihen bu düğümlerde zamanlar ancak etiketsiz düğümleri de kullanabilir |
key=edas.image.build, effect=NoSchedule (tolerans kısıtlaması) |
Oluşturma görevleri bu tolerans kısıtlamasına izin verir |
Oluşturma görevlerinin belirli düğümlerde çalışmasını önlemek için edas.image.build=disable etiketini ekleyin. Özel bir oluşturma düğümü oluşturmak için hem edas.image.build=enable etiketini hem de key=edas.image.build, effect=NoSchedule tolerans kısıtlamasını ekleyin.
Tek bir görüntü oluşturma görevi için varsayılan kaynak sınırı çekirdek başına 1 GB'tır. Bu sınırı ayarlamak için bkz. Görüntü oluşturma için kaynak sınırlarını nasıl ayarlarım?
Container Registry Enterprise Edition parametreleri:
| Parametre | Açıklama |
|---|---|
| Region of Container Registry | Container Registry görüntünüzün bulunduğu bölgeyi seçin. |
| Container Registry | Konteyner görüntünüzü seçin. |
| Image Repository Namespace | Bir ad alanı seçin veya yeni bir tane oluşturmak için + Create Namespace bağlantısına tıklayın. |
Kaynak ve çalışma zamanı ayarları
| Parametre | Açıklama |
|---|---|
| Version | Özel bir sürüm numarası belirtin veya otomatik oluşturmak için Use Timestamp as Version Number seçeneğine tıklayın. |
| Time Zone | Uygulama saat dilimini seçin. |
| OpenJDK Base Image | Yalnızca Temel Bilgiler adımında Java Environment seçeneği Custom OpenJDK olarak ayarlandığında kullanılabilir. Görüntü kaynağını yapılandırın: Alibaba Cloud Container Registry seçeneğini Current Account olarak ayarlarsanız Region, Container Registry, Image Repository Namespace ve Image Repository Name parametrelerini yapılandırıp bir görüntü sürümü seçin. Other Alibaba Cloud Accounts olarak ayarlarsanız Full Image Address değerini belirtin. Yalnızca JDK 7 ve JDK 8 desteklenir. Farklı bir JDK sürümü kullanmak uygulama izleme özelliğinde beklenmeyen durumlara neden olabilir. EDAS sunucusu, uygulama görüntüsü oluşturmak için temel görüntüyü çeker. Temel görüntünün genel çekme izinlerine sahip olduğundan emin olun. |
| Total Pods | Dağıtılacak pod sayısı. Maksimum değer küme kapasitesine bağlıdır. |
| Single-pod Resource Quota | Pod başına CPU, bellek ve geçici depolama sınırları. 0 değeri sınır olmadığını gösterir. Maksimum değerler küme kapasitesine bağlıdır. |
3d. Gelişmiş ayarları yapılandırma (isteğe bağlı)
Advanced Settings adımında ihtiyaç duyduğunuz aşağıdaki öğelerden herhangi birini yapılandırabilirsiniz:
3e. Dağıtımı başlatma
Create Application düğmesine tıklayın. Creation Completed adımında tekrar Create Application düğmesine tıklayın.
Confirm Application Change Precheck iletişim kutusunda Start Precheck düğmesine tıklayın.
Ön kontrol sonuçlarını inceleyin ve Continue düğmesine tıklayın. Ön kontrol öğelerinde değişiklik yaptıysanız devam etmeden önce Check Again düğmesine tıklayın.
Dağıtımı doğrulama
Dağıtım birkaç dakika sürer. İlerlemeyi izlemek ve başarıyı onaylamak için:
Dağıtım durumunu gerçek zamanlı takip etmek için Change List sayfasına gidin.
Dağıtım tamamlandıktan sonra Application Management > Applications yolunu izleyerek uygulamanızı açın. Application Overview sayfasında pod durumunu kontrol edin.
Tüm pod'lar running durumunda görünüyorsa dağıtım başarılı olmuştur. Her uygulama örneği için Deployments, pods ve gelişmiş yapılandırma ayrıntılarını görüntülemek üzere pod durumuna tıklayın.
Sonraki adımlar
Uygulamayı dağıttıktan sonra onu dışa açmak için bir Classic Load Balancer (CLB) örneği bağlayın:
İnternet erişimi: Harici kullanıcıların uygulamaya genel ağ üzerinden erişebilmesi için internete bakan bir CLB örneği ekleyin.
Dahili erişim: Aynı Virtual Private Cloud (VPC) içindeki diğer hizmetlerin uygulamaya ulaşabilmesi için dahili yönlendirmeli bir CLB örneği ekleyin.
Talimatlar için bkz. CLB örnekleri bağlama veya CLB örneğini yeniden kullanma.