Azure Spring Apps'i Azure Kubernetes Service'e geçirme

Not

Temel, Standardve Enterprise planları 17 Mart 2025'te kullanımdan kaldırma dönemine girdi. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.

Bu makale şunlar için geçerlidir:✅ Temel/Standart ✅ Kurumsal

Bu makalede, Azure Spring Apps'ten Azure Kubernetes Service'e (AKS) geçişe genel bir bakış sağlanır.

Azure Spring Apps, Spring Boot uygulamaları için özel olarak tasarlanmış bir hizmet olarak platform (PaaS) çözümüdür. Bu uygulamaları dağıtmayı, çalıştırmayı ve yönetmeyi kolaylaştırır. Azure Spring Apps altyapı, ölçeklendirme ve izleme işlemlerini üstlenerek geliştiricilerin kodlarına odaklanmasını sağlar.

AKS, tam olarak yönetilen bir Kubernetes ortamı sağlayan bir hizmet olarak altyapı (IaaS) teklifidir. AKS, uygulamalarınızın dağıtılma ve yönetilma şekli üzerinde daha fazla denetim sağlar. Geniş bir yelpazede konteyner tabanlı uygulamaları destekler ve belirli ihtiyaçlara uygun özelleştirmeye olanak tanır.

Uygulamaları Azure Spring Apps'ten AKS'ye geçirmek, yönetilen bir ortamdan size daha fazla esneklik sağlayan bir ortama geçmek anlamına gelir. Bu işlem, Azure Spring Apps'te elde ettiğiniz sonuçların aynısını ELDE ETMEK için AKS'de yeni araçlar ve uygulamalar benimsemeyi gerektirir.

Kavram eşleme

Azure Spring Apps ve AKS farklı bulut hizmeti teklifleri olduğundan, Azure Spring Apps kavramlarını doğrudan AKS ile eşlemek tam olarak doğru değildir. Ayrıca Azure Spring Apps, üretim ortamlarında kullanıldığında burada listelenmeyen birçok iç bileşene bağlıdır. Aşağıdaki diyagram ve tablo, temel bilgileri anlamanıza yardımcı olmak için Azure Spring Apps'ten AKS'ye kavramların basit bir eşlemesini sağlar. Gerçek bir üretim ortamında daha güvenli ve güvenilir çözümler düşünmelisiniz.

Azure Spring Apps ile Azure Kubernetes Service arasındaki kavram eşlemesinin diyagramı.

Azure Spring Apps hizmeti Azure Kubernetes Service
Hizmet örneği, uygulamalar ve diğer kaynaklar için bir sınır barındırıp güvenliğini sağlar ve özel bir sanal ağı destekler. Küme, temel dağıtım birimidir. Bir küme içinde Ad Alanı, kaynakları düzenlemek ve yalıtmak için kullanılan sanal bir alt bölümdür. Kümenin sanal ağı tarafından tanımlanan temel ağ altyapısını paylaşır. Ayrılmış küme veya ad alanları olan paylaşılan bir küme arasında seçim, iş gereksinimlerinize bağlıdır.
Uygulama, bir hizmet örneği içinde alt kaynak olarak hizmet veren bir iş uygulamasıdır. Uygulama , Azure Spring Apps'te sanal bir kavramdır ve AKS'deki birden çok kaynaklardan oluşur. Giriş , hizmetlere dış erişimi denetler ve trafiği farklı hizmetlere yönlendirmek için kurallar ayarlar. Hizmet, bir pod kümesine erişimi soyutlar. Etiketleri kullanarak bir hizmeti, dağıtımın farklı bir sürümüne güncelleyip yönlendirerek mavi-yeşil dağıtım geçişini gerçekleştirebilirsiniz.
Dağıtım, bir uygulamanın sürümüdür. Bir uygulamanın bir üretim dağıtımı ve bir hazırlama dağıtımı olabilir. Dağıtım, belirli bir uygulama veya hizmetin dağıtımını ve yaşam döngüsünü yönetir. Ayrıca sıralı güncelleştirmeleri ve geri almaları etkinleştirerek kapalı kalma süresi olmadan denetimli, sorunsuz uygulama değişikliklerine olanak tanır.
Uygulama örneği, hizmet tarafından yönetilen en düşük çalışma zamanı birimidir. Pod, sıkı bir şekilde bağlanmış bir veya daha fazla kapsayıcıyı temsil eder ve çalışan bir uygulamanın veya iş yükünün tek bir örneğini barındırır.

Ağ konuları

AKS kümesini sağlamadan önce ağ ayarlarını dikkatli bir şekilde göz önünde bulundurmanız önemlidir. Bu kararlar uygulamalarınızın performansını, ölçeklenebilirliğini ve güvenliğini önemli ölçüde etkileyebilir.

AKS, kümelerindeki ağı yönetmek için Kapsayıcı Ağ Arabirimi (CNI) eklentilerine dayanır. Bu eklentiler podlara IP adresleri atama, aralarındaki trafiği yönlendirme ve Kubernetes Services aracılığıyla iletişimi etkinleştirme gibi kritik görevleri işler. AKS, farklı ağ gereksinimlerine göre uyarlanmış birden çok CNI eklentisini destekleyerek küme tasarımında esneklik sağlar.

AKS iki birincil ağ modeli sunar: katman ağları ve düz ağlar. Katman ağları, AKS düğümlerinin Azure Sanal Ağ alt ağından ayrı olarak podlara özel IP adresleri atar. Bu model ölçeklenebilir ve sanal ağ IP adreslerini korur, ancak kümeden ayrılan trafik için Ağ Adresi Çevirisi (NAT) kullanır. Buna karşılık düz ağlar pod IP adreslerini düğümlerle doğrudan aynı Azure Sanal Ağ alt ağından atar ve dış hizmetlerin NAT olmadan podlara erişmesini sağlar. Düz ağlar doğrudan pod iletişimi sağlarken, daha kapsamlı sanal ağ IP adresi alanı gerektirir.

Düzgün bir AKS işlemi için doğru IP planlaması gereklidir. Alt ağların tüm kaynaklar için yeterli IP adresine sahip olduğundan emin olmak, çakışan aralıklardan kaçınmak ve bağlantı sorunlarını ve kesintilerini önlemek için gelecekteki büyüme için yer bırakmak önemlidir. Daha fazla bilgi için bkz . Azure Kubernetes Service CNI ağına genel bakış.

AKS'de gelen trafiği işlemek için yük dengeleyicileri veya giriş denetleyicilerini kullanabilirsiniz. Yük dengeleyiciler Katman 4'te çalışarak trafiği protokollere ve bağlantı noktalarına göre dağıtırken giriş denetleyicileri katman 7'de çalışır ve URL tabanlı yönlendirme ve TLS/SSL sonlandırma gibi gelişmiş özellikler sunar. Giriş denetleyicileri, birden çok uygulamaya yönelik trafiği tek bir IP üzerinden yöneterek birden çok genel IP'ye olan ihtiyacı azaltır. Web uygulamaları için giriş denetleyicileri, Kubernetes kaynaklarıyla daha iyi trafik yönetimi ve tümleştirme sağladığı için tercih edilir. Daha fazla bilgi için bkz . Uygulama yönlendirme eklentisiyle yönetilen NGINX girişi.

AKS'de ağ trafiğinin güvenliğini sağlamak için, trafik yönlendirme ve TLS/SSL sonlandırmayı yönetirken, siteler arası betik saldırıları ve tanımlama bilgisi zehirlenmesi gibi saldırılara karşı koruma sağlamak amacıyla Azure Application Gateway gibi bir Web Uygulaması Güvenlik Duvarı (WAF) kullanın. Ayrıca YAML bildirimlerinde etiketlere, ad alanlarına veya bağlantı noktalarına göre kurallar tanımlayarak poddan poda iletişimi denetlemek için ağ ilkeleri uygulayın. Yalnızca Linux tabanlı düğümler için kullanılabilen bu ilkeler, küme içinde daha iyi trafik denetimi ve güvenlik sağlar. Daha fazla bilgi için bkz . AKS'de ağ ilkelerini kullanarak podlar arasındaki trafiğin güvenliğini sağlama.

hüküm

AKS kümesi sağlamak için Azure portalını, Azure CLI'yı veya ARM şablonlarını kullanabilirsiniz. İşlem genellikle istenen bölgeyi seçmeyi, düğüm havuzu boyutunu ve türünü tanımlamayı ve ağ modelini (Azure CNI veya Kubenet) seçmeyi içerir. Kullanıcı erişim denetimi için Microsoft Entra ID tümleştirmesi gibi kimlik doğrulama seçeneklerini de yapılandırmanız gerekir. İzleme ve ölçeklendirme için Azure İzleyici'yi etkinleştirebilir ve kaynak kullanımına göre otomatik ölçeklendirmeyi yapılandırabilirsiniz. Sağlamadan sonra kubectl veya Azure CLI kullanarak kümeyi yönetebilirsiniz. AKS sağlama hakkında ayrıntılı yönergeler için AKS kümesi oluşturma bölümünü ziyaret edin.

Erişim ve kimlik

AKS, Kubernetes kümeleri için kimlik doğrulama, yetkilendirme ve erişim denetimini yönetmek için çeşitli yollar sunar. Kullanıcılara, gruplara ve hizmet hesaplarına yalnızca ihtiyaç duydukları kaynaklara erişim vermek için Kubernetes rol tabanlı erişim denetimini (RBAC) kullanabilirsiniz. Daha fazla bilgi için bkz. RBAC yetkilendirmesini kullanma. AKS, güvenlik ve denetimi geliştirmek için Microsoft Entra Id ve Azure RBAC'yi de destekleyerek izinleri daha kolay bir şekilde atamanızı ve yönetmenizi sağlar.

En iyi güvenlik için AKS'yi Microsoft Entra ID ile tümleştirmenizi öneririz. Bu tümleştirme, kimlik doğrulaması için OpenID Connect ve OAuth 2.0 protokollerini kullanır. Kullanıcılar AKS kümesiyle etkileşim kurarken Microsoft Entra kimlik bilgilerini kullanarak kimlik doğrulaması yapar ve erişim izinleri küme yöneticisi tarafından yönetilir. Daha fazla bilgi için bkz . Kubernetes kümeleri için kubelogin ile Azure yönetilen kimlik kimlik doğrulamasını etkinleştirme

Microsoft Entra İş Yükü Kimliği, OpenID Connect (OIDC) federasyonu aracılığıyla Kubernetes'in yerel özelliklerini dış kimlik sağlayıcılarıyla tümleştirir. Not eklenmiş hizmet hesapları aracılığıyla podlara Kubernetes kimlikleri atamak için Hizmet Hesabı Belirteci Birim Projeksiyonunu kullanır. Bu belirteçlerle Kubernetes uygulamaları Microsoft Entra Id kullanarak Azure kaynaklarının kimliğini doğrulayabilir ve bunlara güvenli bir şekilde erişebilir. Bu kurulum, iş yüklerinizin kimlik doğrulamasını kolaylaştırmak için Azure Identity istemci kitaplıkları (Azure.Identity) veya Microsoft Authentication Library (MSAL) gibi kitaplıklarla sorunsuz çalışır. Bir kümeyi ayarlamayı ve uygulama podunuzu iş yüklerini tanımlayarak yapılandırmayı öğrenmek için bkz . İş yükü kimliğini dağıtma ve yapılandırma.

Uygulamaları kapsayıcıya alma

Uygulamaların kapsayıcı görüntülerine dönüştürülmesi, AKS'de dağıtım için gereklidir. Dağıtımların tutarlı, taşınabilir ve ölçeklenebilir olmasını sağlar. Kapsayıcı görüntülerinin kullanılması, uygulamaların farklı sürümlerini yönetme esnekliği sağlar. Güncellemeleri ve geri almaları kolaylaştırır ve birden fazla kapsayıcının tek bir ana bilgisayarda çalışmasına izin vererek kaynak verimliliğini artırır.

Azure Spring Apps, kullanıcıların kapsayıcı görüntüleri oluşturmalarını ve uygulamaları farklı şekillerde dağıtmalarını sağlar. Kaynak kodundan, JAR veya WAR dosyaları gibi yerleşik yapıtlardan veya doğrudan bir kapsayıcı görüntüsünden dağıtabilirsiniz. JAR veya WAR dosyasından dağıtmayı öğrenmek için JAR veya WAR'dan bir kapsayıcı görüntüsü oluşturma bölümüne bakın. Kaynak koddan dağıtmayı öğrenmek için Paketo Buildpacks kullanarak bir uygulamayı kapsayıcı haline getirme konusuna bakın.

AKS'de dağıtılan uygulamaların performansını izlemek için kapsayıcı oluşturma işlemi sırasında Application Performans İzleyicisi ing (APM) aracısını tümleştirebilirsiniz. Daha fazla bilgi için, Uygulama performansı izlemeyi kapsayıcı imajlarla tümleştirme bölümüne bakın.

Uygulamaları ve Spring Cloud bileşenlerini dağıtma

UYGULAMALARı AKS'ye dağıtmak için, uygulamanızın gereksinimlerine bağlı olarak Azure Spring Apps veya StatefulSets tarafından kullanılan Dağıtımları kullanabilirsiniz. Mikro hizmetler gibi durum bilgisi olmayan uygulamalar için genellikle uygulamanızın çoğaltmalarını yöneten ve sorunsuz çalışmasını sağlayan bir Dağıtım kullanırsınız. Bu tür, Azure Spring Apps tarafından kullanılır. Öte yandan StatefulSets, durum bilgisi olan veritabanları veya hizmetler gibi kalıcı depolama veya kararlı kimlik gerektiren uygulamalar için idealdir.

Uygulama dağıtımının yanı sıra arka uç podlarınızı kullanıma sunan bir Hizmet de tanımlamanız gerekir. Hizmet, mantıksal bir pod kümesi tanımlamanıza ve bunlara ağ erişimine olanak tanıyan bir soyutlamadır. Bu özellik, podlar arasındaki yük dengeleme ve iletişim için çok önemlidir.

Spring Cloud Config veya Spring Cloud Gateway gibi Spring Cloud bileşenlerini dağıtırken genellikle durum bilgisi olmayan hizmetler için Dağıtımları kullanırsınız. Kararlı depolama veya durum gerektiren arka uç hizmetleri için StatefulSets'i seçebilirsiniz.

Aşağıdaki bağlantılarda Açık Kaynak kitaplıklarını temel alan Java bileşen projelerini ayarlama, kapsayıcı görüntüleri oluşturma ve AKS'ye bileşen dağıtma hakkında başvuru örnekleri verilmiştir:

Monitör

İzleme, AKS'de dağıtılan uygulamaları yönetmenin önemli bir parçasıdır. AKS, Azure İzleyici, Azure Log Analytics ve Prometheus gibi tümleşik çözümler dahil olmak üzere kümenizin ve iş yüklerinizin durumunu izlemek ve analiz etmek için çeşitli araçlar sağlar. Daha fazla bilgi için aşağıdaki makaleleri inceleyin:

Azure İzleyici ve Prometheus'a ek olarak Datadog, New Relic veya Elastic Stack (ELK) gibi diğer izleme çözümlerini de kullanabilirsiniz. Günlükleri, ölçümleri ve izlemeleri toplamak için bu araçları AKS ile tümleştirebilir ve küme performansıyla ilgili çeşitli içgörüler sağlayabilirsiniz.

Eğitim

AKS'de uygulamaları çalıştırmanın uçtan uca deneyimini göstermek için aşağıdaki öğreticileri sağlıyoruz. Bu öğreticiler başvuru amaçlıdır ve AKS son derece esnek olduğundan, özel gereksinimlerinize göre yapılandırmaları ve özelleştirmeleri seçmeniz gerekir.