Java web uygulamasını kapsayıcıya yükleme ve Azure App Service
Bu makalede, Java web uygulamalarını (Apache Tomcat üzerinde çalışan) kapsayıcılı hale etmeyi ve Azure App Service: Uygulama Kapsayıcıya Azure Geçişi aracını kullanarak Azure App Service geçirmeyi öğrenirsiniz. Kapsayıcılama işlemi, kod tabanınıza erişim gerektirmez ve mevcut uygulamaları kapsayıcılı hale almak için kolay bir yol sağlar. Araç, uygulama bileşenlerini belirlemek için bir sunucuda uygulamaların çalışma durumunu kullanarak çalışır ve bunları bir kapsayıcı görüntüsünde paketleyemelerine yardımcı olur. Kapsayıcılı uygulama daha sonra Azure App Service.
Uygulama Azure Geçişi: Uygulama Kapsayıcısı Aracı şu anda -
- Java'Web Apps Apache Tomcat'de (Linux sunucularında) ve linux kapsayıcılarına dağıtma App Service.
- Java'Web Apps Apache Tomcat'de (Linux sunucularında) ve BUNLARı AKS'de Linux kapsayıcılarına dağıtma. Daha fazla bilgi edinin
- Uygulamaları ASP.NET ve AKS'de Windows kapsayıcılara dağıtma. Daha fazla bilgi edinin
- Uygulamaları ASP.NET kapsayıcılara dağıtma ve bu uygulamaları Windows kapsayıcılara App Service. Daha fazla bilgi edinin
Aşağıdaki Azure Geçişi: Uygulama Kapsayıcıya alama aracı şunları sağlar:
- Uygulamanızı bulma:Araç, Java web uygulamanızı çalıştıran (Apache Tomcat üzerinde çalışan) uygulama sunucularına uzaktan bağlanır ve uygulama bileşenlerini keşfeder. Araç, uygulama için bir kapsayıcı görüntüsü oluşturmak için kullanılan bir Dockerfile oluşturur.
- Kapsayıcı görüntüsünü oluşturma:Uygulama gereksinimlerinize göre Dockerfile'ı inceler ve daha fazla özelleştirebilir ve bunu kullanarak uygulama kapsayıcı görüntülerinizi derlemek için kullanabilirsiniz. Uygulama kapsayıcısı görüntüsü, belirttiğiniz Azure Container Registry görüntüsüne itilir.
- Dağıtım Azure App Service:Araç daha sonra kapsayıcılı uygulamayı dağıtıma dağıtmak için gereken dağıtım dosyalarını Azure App Service.
Not
Uygulama Azure Geçişi Aracı belirli uygulama türlerini (Apache Tomcat üzerinde ASP.NET Java web uygulamaları) ve bunların bileşenlerini bir uygulama sunucusunda bulamanıza yardımcı olur. Sunucuları ve şirket içi makinelerde çalışan uygulama, rol ve özelliklerin envanterini bulmak için Azure Geçişi: Bulma ve değerlendirme özelliğini kullanın. Daha fazla bilgi edinin
Tüm uygulamalar önemli ölçüde yeniden yapılanma olmadan kapsayıcılara doğrudan geçişten yararlanamaz ancak mevcut uygulamaları yeniden yazmadan kapsayıcılara taşımanın avantajlarından bazıları şunlardır:
- Geliştirilmiş altyapı kullanımı: Kapsayıcılarla birden çok uygulama kaynakları paylaşabilir ve aynı altyapıda barındırabilirsiniz. Bu, altyapıyı birleştirmeye ve kullanımı geliştirmeye yardımcı olabilir.
- Basitleştirilmiş yönetim: Uygulamalarınızı AKS ve App Service gibi modern bir yönetilen platformda barındırarak yönetim uygulamalarınızı basitleştirebilirsiniz. Bu işlemi, geleneksel olarak sahip olunan altyapıyla gerçekleştirecekleri altyapı bakım ve yönetim işlemlerini geri düşürerek veya düşürerek gerçekleştirin.
- Uygulama taşınabilirliği: Kapsayıcı belirtimi biçimlerinin ve platformlarının daha fazla benimsenmesi ve standart hale getirilememesiyle birlikte, uygulama taşınabilirliği artık bir sorun değildir.
- DevOps ile modern yönetimi benimseme: Yönetim ve güvenlik için modern uygulamaları benimsemeye ve standart hale DevOps.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Azure hesabı ayarlama.
- Azure Geçişi: Uygulama Kapsayıcıya Yükleme aracını yükleyin.
- Java web uygulamanızı keşfedin.
- Kapsayıcı görüntüsünü oluşturma.
- Kapsayıcılı uygulamayı App Service.
Not
Öğreticiler, bir senaryo için en basit dağıtım yolunu gösterir, böylece hızla kavram kanıtı ayarlayabilirsiniz. Öğreticiler mümkün olduğunca varsayılan seçenekleri kullanır ve tüm olası ayarları ve yolları göstermez.
Önkoşullar
Bu öğreticiye başlamadan önce karşılamanız gereken ön koşullar şunlardır:
|Gereksinim||Ayrıntılar|
|Aracı yüklemek için bir makine tanımlama||Uygulama Windows aracını yüklemek ve çalıştırmak için Azure Geçişi bir makine. Bu Windows bir sunucu (Windows Server 2016 veya sonrası) ya da istemci (Windows 10) işletim sistemi olabilir; başka bir anlama gelir, araç masaüstünüzde de çalışmasına izin verir.


Aracı Windows çalıştıran makine, kapsayıcılı haleilecek Java web uygulamalarını barındıran sunuculara/sanal makinelere ağ bağlantısına sahip olmalıdır.
Uygulama yapıtlarını depolamak için Windows: Azure Geçişi aracı çalıştıran Azure Geçişi makinede 6 GB'lık alan olduğundan emin olun.
Windows makinesinin doğrudan veya ara sunucu üzerinden İnternet erişimi olmalıdır.
|Uygulama sunucuları||- Kapsayıcılı Secure Shell Java uygulamasını çalıştıran sunucularda bağlantı noktası 22'de bir ağ (SSH) bağlantısı etkinleştirin.


|Java Web uygulaması||Araç şu anda


- Tomcat 8 veya sonraki bir üzerinde çalışan uygulamalar.
- Ubuntu Linux 16.04/18.04/20.04, Debian 7/8, CentOS 6/7, Red Hat Enterprise Linux 5/6/7'de uygulama sunucuları.
- Java sürüm 7 veya sonraki sürümünü kullanan uygulamalar.
Araç şu anda desteklemez
- Birden çok Tomcat örneği çalıştıran uygulama sunucuları
Azure kullanıcı hesabı hazırlama
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Aboneliğiniz ayar verdiktan sonra şu şekilde bir Azure kullanıcı hesabına ihtiyacınız olacak:
- Azure aboneliği üzerinde sahip izinleri
- Uygulama kaydetme Azure Active Directory izinleri
Ücretsiz Azure hesabı oluşturduysanız aboneliğinizin sahibi siz olursunuz. Abonelik sahibi değilseniz, izinleri atamak için aşağıdaki gibi sahiple birlikte çalışabilirsiniz:
Hizmet Azure portal "abonelikler" araması ve Hizmetler altında Abonelikler'i seçin.
Abonelikler sayfasında, bir proje oluşturmak istediğiniz aboneliği Azure Geçişi seçin.
Abonelikte Erişim denetimi (IAM) Erişimidenetleme'yi seçin.
Erişimi denetleme'deilgili kullanıcı hesabını arayın.
Rol ataması ekle'deEkle'ye tıklayın.
Rol ataması ekle'deSahip rolünü seçin ve hesabı (örneğimizde azmigrateuser) seçin. Daha sonra Kaydet'e tıklayın.
Azure hesabınız, uygulamaları kaydetmek için de Azure Active Directory gerekir.
Bu Azure portal Kullanıcı Azure Active Directory'egidin Ayarlar.
Kullanıcı ayarları'nıniçinde, Azure AD kullanıcılarının uygulamaları kaydede çalıştığını doğrulayın (varsayılan olarak Evet olarak ayarlanır).
'Uygulama kayıtları' ayarları 'Hayır' olarak ayarlanmışsa, kiracıdan/genel yöneticiden gerekli izni atamasını talep edin. Alternatif olarak, kiracı/genel yönetici uygulama uygulamasının kaydına izin vermek için bir hesaba Uygulama Geliştiricisi rolünü Azure Active Directory olabilir. Daha fazla bilgi edinin.
Uygulama Kapsayıcıya Azure Geçişi aracı indirme ve yükleme
Azure Geçişi: Uygulama Kapsayıcıya Yükleme yükleyicisini bir Windows indirin.
PowerShell'i yönetici modunda başlatın ve PowerShell dizinini yükleyiciyi içeren klasöre geçin.
komutunu kullanarak yükleme betiği çalıştırma
.\AppContainerizationInstaller.ps1
Uygulama Kapsayıcısı Aracı'nı başlatma
Uygulama Kapsayıcısı Aracı'nı çalıştıran Windows makineye bağlana bir tarayıcı açın ve araç URL'sini açın: https:// makine adı veya IP adresi:44369.
Alternatif olarak, uygulama kısayolunu seçerek uygulamayı masaüstünden açabilirsiniz.
Bağlantının özel olmadığını belirten bir uyarı görüyorsanız Gelişmiş'e tıklayın ve web sitesine devam edin. Web arabirimi otomatik olarak imzalanan TLS/SSL sertifikası kullandığı için bu uyarı görüntülenir.
Oturum açma ekranında, oturum açma için makinede yerel yönetici hesabını kullanın.
Kapsayıcıya almak istediğiniz uygulama türü olarak Tomcat'de Java web uygulamaları'ı seçin.
Hedef Azure hizmetini belirtmek için Kapsayıcılar'ı Azure App Service.
Araç önkullarını tamamlama
- lisans koşullarını kabuledin ve üçüncü taraf bilgilerini okuyun.
- Araç web uygulamasında >>aşağıdaki adımları uygulayın:
- Bağlantı:Araç, Windows internet erişimine sahip olduğunu denetler. Makine bir ara sunucu kullanıyorsa:
- Ara sunucu adresini (IP adresi veya FQDN şeklinde) ve dinleme bağlantı noktasını belirtmek için Proxy'yi ayarla'ya tıklayın.
- Proxy için kimlik doğrulaması gerekiyorsa kimlik bilgilerini gerekin.
- Yalnızca HTTP proxy’si desteklenir.
- Proxy ayrıntılarını eklediyseniz veya proxy ve/veya kimlik doğrulamasını devre dışı bırakırsanız, bağlantıyı tetiklemek için Kaydet 'e tıklayarak bağlantı denetimini yeniden başlatın.
- Güncelleştirmeleri yükler: araç, en son güncelleştirmeleri otomatik olarak denetler ve yükler. Aracın en son sürümünü buradanel ile de yükleyebilirsiniz.
- Secure Shell (SSH) etkinleştir: araç, Java Web uygulamalarını çalıştıran uygulama sunucularında Kapsayıcılı hale getirmek için Secure Shell (SSH) etkin olduğundan emin olmak için sizi bilgilendirir.
- Bağlantı:Araç, Windows internet erişimine sahip olduğunu denetler. Makine bir ara sunucu kullanıyorsa:
Azure'da oturum açma
Azure hesabınızda oturum açmak Için oturum aç ' a tıklayın.
Azure ile kimlik doğrulaması yapmak için bir cihaz kodu gerekir. Oturum açma seçeneğine tıkladığınızda cihaz koduyla kalıcı olarak açılır.
Cihaz kodunu kopyalamak ve yeni bir tarayıcı sekmesinde bir Azure oturum açma istemi açmak için kodu Kopyala oturum aç ' a tıklayın. Görünmüyorsa, tarayıcıda açılır pencere engelleyicisini devre dışı bırakmış olduğunuzdan emin olun.
Yeni sekmede, cihaz kodunu yapıştırın ve Azure hesabı kimlik bilgilerinizi kullanarak oturum açın. Oturum açma tamamlandıktan sonra tarayıcı sekmesini kapatabilir ve uygulama Kapsayıcılama aracının Web arabirimine geri dönün.
Kullanmak istediğiniz Azure kiracısını seçin.
Kullanmak istediğiniz Azure aboneliğini belirtin.
Java Web uygulamalarını bulma
Uygulama Kapsayıcılama Yardımcısı Aracı, belirtilen kimlik bilgilerini kullanarak uygulama sunucularına uzaktan bağlanır ve uygulama sunucularında barındırılan Java Web uygulamalarını (Apache Tomcat üzerinde çalışır) bulmaya çalışır.
Uygulama bulma için sunucuya uzaktan bağlanmak üzere kullanılması gereken Java Web uygulamasını çalıştıran sunucunun IP adresini/FQDN 'sini ve kimlik bilgilerini belirtin.
- Belirtilen kimlik bilgileri, uygulama sunucusunda bir kök hesap (Linux) için olmalıdır.
- Etki alanı hesapları için (kullanıcının uygulama sunucusunda bir yönetici olması gerekir), Kullanıcı adını etkialanı \ >kullanıcıadı biçiminde etki alanı adıyla önek olarak ekleyin.
- Uygulama bulmayı aynı anda en fazla beş sunucu için çalıştırabilirsiniz.
Uygulama sunucusuna aracı çalıştıran makineden erişilebildiğini ve kimlik bilgilerinin geçerli olduğunu doğrulamak için Doğrula ' ya tıklayın. Doğrulama başarıyla tamamlandığında durum sütunu, durumu eşlendiolarak gösterir.
Seçili uygulama sunucularında uygulama bulmayı başlatmak için devam ' a tıklayın.
Uygulama bulmayı başarıyla tamamladıktan sonra, Kapsayıcılı uygulamalar listesini seçebilirsiniz.
Konteynize yapılacak uygulamaları seçmek için onay kutusunu kullanın.
Kapsayıcı adı belirtin: seçili her uygulama için hedef kapsayıcı için bir ad belirtin. Kapsayıcı adı, < etiketin kapsayıcı görüntüsü için kullanıldığı < olarak belirtilmelidir > . Örneğin, hedef kapsayıcı adını appname: v1olarak belirtebilirsiniz.
Uygulama yapılandırmasını Parametreleştirme
Yapılandırma parametreleştirilmesi, bir dağıtım süresi parametresi olarak kullanılabilir hale gelir. Bu, kapsayıcıyı kapsayıcı görüntüsündeki belirli bir değere sabit olarak kodlanması aksine, uygulamayı dağıttığınızda yapılandırmanıza olanak tanır. Örneğin, bu seçenek veritabanı bağlantı dizeleri gibi parametreler için yararlıdır.
Algılanan konfigürasyonları gözden geçirmek için uygulama yapılandırması ' na tıklayın.
Algılanan uygulama yapılandırmasını parametreleştirmek için onay kutusunu seçin.
Parametreleştirme yapılandırması ' nı seçtikten sonra Uygula ' ya tıklayın.
Externalize dosya sistemi bağımlılıkları
Uygulamanızın kullandığı diğer klasörleri ekleyebilirsiniz. Kapsayıcı görüntüsünün bir parçası olup olmadığını veya Azure dosya paylaşımında kalıcı depolama için externalized olması gerektiğini belirtin. Dış kalıcı depolama kullanmak, durumu kapsayıcının dışında depolayan veya dosya sisteminde başka bir statik içeriğe sahip olan durum bilgisi olan uygulamalar için harika bir şekilde kullanılır.
Algılanan uygulama klasörlerini gözden geçirmek için uygulama klasörleri bölümünde Düzenle ' ye tıklayın. Algılanan uygulama klasörleri, uygulamanın gerektirdiği zorunlu yapıtlar olarak tanımlandı ve kapsayıcı görüntüsüne kopyalanacaktır.
Klasör Ekle ' ye tıklayın ve eklenecek klasör yollarını belirtin.
Aynı birime birden çok klasör eklemek için, virgül (
,) ayrılmış değerler sağlayın.
Klasörlerin kalıcı depolamada kapsayıcının dışında depolanmasını istiyorsanız depolama seçeneği olarak Azure dosya paylaşma ' yı seçin.
Uygulama klasörlerini gözden geçirdikten sonra Kaydet ' e tıklayın.
Kapsayıcı görüntüsü oluşturma aşamasına geçmek için devam ' a tıklayın.
Kapsayıcı görüntüsü oluşturma
Azure Container Registry seçin: açılan listeyi kullanarak uygulamalar için kapsayıcı görüntülerini derlemek ve depolamak için kullanılacak bir Azure Container Registry seçin. Mevcut bir Azure Container Registry kullanabilir veya yeni kayıt defteri oluştur seçeneğini kullanarak yeni bir tane oluşturmayı seçebilirsiniz.
Not
Yalnızca Yönetici Kullanıcı etkinleştirilmiş Azure Container Registry defterleri görüntülenir. Yönetici hesabı şu anda bir Azure Container Registry 'den Azure App Service bir görüntü dağıtmak için gereklidir. Daha fazla bilgi edinin
Dockerfile dosyasını gözden geçirin: seçili her uygulama için kapsayıcı görüntülerini oluşturmak Için gereken dockerfile, derleme adımının başlangıcında oluşturulur. Dockerfile dosyasını gözden geçirmek için gözden geçir ' e tıklayın. Ayrıca, gözden geçirme adımındaki Dockerfile dosyasına gerekli özelleştirmeleri ekleyebilir ve derleme işlemini başlatmadan önce değişiklikleri kaydedebilirsiniz.
Application Insights yapılandırma: kodunuzu seçmeden, App Service çalıştıran Java uygulamalarınız için izlemeyi etkinleştirebilirsiniz. Araç, kapsayıcı görüntüsünün parçası olarak Java tek başına aracısını yükler. dağıtım sırasında yapılandırıldıktan sonra Java aracısı, uygulamanız için Application Insights ile izleme için kullanılabilecek çok sayıda istek, bağımlılık, günlük ve ölçüm otomatik olarak toplar. Bu seçenek, tüm Java uygulamaları için varsayılan olarak etkindir.
Derleme Işlemini Tetikle: görüntüleri derlemek için uygulamaları seçin ve Oluştur' a tıklayın. Derleme ' ye tıkladığınızda her uygulama için kapsayıcı görüntüsü oluşturma başlatılır. Araç derleme durumunu sürekli olarak izlemeye devam eder ve derlemeyi başarılı bir şekilde tamamladıktan sonra bir sonraki adıma devam etmenize olanak tanır.
Derleme durumunu izleyin: Durum sütununun altında, devam eden yapı bağlantısına tıklayarak derleme adımının ilerlemesini de izleyebilirsiniz. Yapı işlemini tetikledikten sonra bağlantının etkin olması birkaç dakika sürer.
Oluşturma işlemi tamamlandıktan sonra, dağıtım ayarlarını belirtmek için devam ' a tıklayın.
Kapsayıcılı uygulamayı Azure App Service dağıtma
Kapsayıcı görüntüsü oluşturulduktan sonra, bir sonraki adım, uygulamayı Azure App Servicebir kapsayıcı olarak dağıtmaktır.
Azure App Service planı seçin: uygulamanın kullanması gereken Azure App Service planını belirtin.
- App Service planınız yoksa veya kullanılacak yeni bir App Service planı oluşturmak istiyorsanız yeni App Service planı oluştur' a tıklayarak aracından üzerinde oluşturmayı seçebilirsiniz.
- App Service planını seçtikten sonra devam ' a tıklayın.
Gizli depo ve izleme çalışma alanını belirtin: uygulama yapılandırmasını parametrelemeyi tercih ettiyseniz, uygulama için kullanılacak gizli depoyu belirtin. Uygulama sırlarınızı yönetmek için Azure Key Vault veya App Service uygulama ayarları ' nı seçebilirsiniz. Daha fazla bilgi edinin
- Gizli dizileri yönetmek için uygulama ayarları App Service seçtiyseniz devam' a tıklayın.
- Uygulama gizliliklerinizi yönetmek için bir Azure Key Vault kullanmak istiyorsanız, kullanmak istediğiniz Azure Key Vault belirleyin.
- Azure Key Vault yoksa veya yeni bir Key Vault oluşturmak istiyorsanız Yeni oluştur' a tıklayarak araç üzerinde oluşturmayı seçebilirsiniz.
- Araç, Key Vault ile gizli dizileri yönetmek için gerekli izinleri otomatik olarak atayacaktır.
- izleme çalışma alanı: Application Insights ile izlemeyi etkin olarak seçtiyseniz, kullanmak istediğiniz Application Insights kaynağını belirtin. İzleme tümleştirmesini devre dışı bırakmış olmanız durumunda bu seçenek görünmez.
- Application Insights kaynağınız yoksa veya yeni bir kaynak oluşturmak isterseniz, yeni oluştur' a tıklayarak araç üzerinde oluşturmayı seçebilirsiniz.
Azure dosya paylaşımının belirtin: daha fazla dizin/klasör eklediyseniz ve kalıcı depolama için Azure dosya paylaşma seçeneğini belirlediyseniz, Azure geçişi tarafından kullanılacak Azure dosya paylaşımından, dağıtım Işlemi sırasında uygulama kapsayıcılama Aracı ' nı belirtin. Araç, Azure dosyaları için yapılandırılmış uygulama dizinleri/klasörlerinin üzerine kopyalanır ve dağıtım sırasında bunları uygulama kapsayıcısına bağlayabilir.
- azure dosya paylaşımınız yoksa veya yeni bir azure dosya paylaşımının oluşturulmasını istiyorsanız yeni Depolama hesabı ve dosya paylaşma oluştur' a tıklayarak araçtan üzerinde oluşturmayı seçebilirsiniz.
Uygulama dağıtımı yapılandırması: Yukarıdaki adımları tamamladıktan sonra uygulamanın dağıtım yapılandırmasını belirtmeniz gerekir. Uygulamanın dağıtımını özelleştirmek için Yapılandır ' a tıklayın. Yapılandırma adımında aşağıdaki özelleştirmeleri sağlayabilirsiniz:
- Ad: uygulama için benzersiz bir uygulama adı belirtin. Bu ad, uygulama URL 'sini oluşturmak ve bu dağıtımın bir parçası olarak oluşturulan diğer kaynakların ön eki olarak kullanılması için kullanılacaktır.
- Uygulama yapılandırması: parametreli olan herhangi bir uygulama yapılandırması için, geçerli dağıtım için kullanılacak değerleri sağlayın.
- Depolama yapılandırması: kalıcı depolama için yapılandırılmış tüm uygulama dizinleri/klasörleri için bilgileri gözden geçirin.
Uygulamayı dağıtma: uygulamanın dağıtım yapılandırması kaydedildikten sonra, araç uygulama Için Kubernetes DAĞıTıM YAML 'sini oluşturur.
Uygulamalar için dağıtım yapılandırmasını gözden geçirmek için gözden geçir ' e tıklayın.
Dağıtılacak uygulamayı seçin.
Seçili uygulamalar için dağıtımları başlatmak üzere Dağıt ' a tıklayın
Uygulama dağıtıldıktan sonra, uygulama için dağıtılan kaynakları izlemek için dağıtım durumu sütununa tıklayabilirsiniz.
-
Sorunları giderme
araçla ilgili sorunları gidermek için, uygulama kapsayıcılama aracı 'nı çalıştıran Windows makinedeki günlük dosyalarına bakabilirsiniz. araç günlük dosyaları c:\programdata\ Microsoft Azure Migrate App containerization\logs klasöründe bulunur.
Sonraki adımlar
- Java Web uygulamalarını Apache Tomcat (Linux sunucularında) üzerinde kapsayıyor ve bunları AKS 'deki Linux kapsayıcılarına dağıtma. Daha fazla bilgi edinin
- Web ASP.NET kapsayıcılara dağıtma ve AKS'de Windows kapsayıcılara dağıtma. Daha fazla bilgi edinin
- Web ASP.NET kapsayıcılarını kapsayıcılı olarak oluşturma ve Windows kapsayıcılara dağıtma Azure App Service. Daha fazla bilgi