Azure Red Hat OpenShift kümesinde Open Liberty/WebSphere Liberty ile java uygulaması dağıtma
Bu kılavuzda Java, Java EE , Jakarta EE veya MicroProfile uygulamanızı Open Liberty/WebSphere Liberty çalışma zamanında nasıl çalıştırabileceğiniz gösterilir. Kılavuzda daha sonra open liberty işlecini kullanarak kapsayıcılı uygulamanın Azure Red Hat OpenShift 4 kümesine nasıl dağıtılacağı gösterilmektedir. Bu makalede bir Liberty uygulaması hazırlama, uygulama Docker görüntüsü oluşturma ve kapsayıcılı uygulamayı Azure Red Hat OpenShift 4 kümesinde çalıştırma adımları açıklanmaktadır. Open Liberty hakkında daha fazla bilgi için Open Liberty proje sayfasına bakın. WebSphere Liberty hakkında daha fazla bilgi için Bkz . WebSphere Liberty ürün sayfası.
Bu makale, Bir Azure Red Hat OpenShift 4 kümesinde Open/WebSphere Liberty çalıştırmaya yönelik adım adım el ile yönergelerdir. Azure Red Hat OpenShift 4 kümesine yolculuğunuzu hızlandıran daha otomatik bir çözüm için bkz . Azure Red Hat OpenShift'te IBM WebSphere Liberty ve Open Liberty'yi dağıtma.
Bu makale, dağıtıma hızlı bir şekilde başlamanıza yardımcı olmak için tasarlanmıştır. Üretime geçmeden önce Tuning Liberty'yi keşfetmeniz gerekir.
Önemli
Azure Red Hat OpenShift tümleşik bir destek deneyimi sağlamak için Red Hat ve Microsoft tarafından birlikte tasarlanmış, çalıştırılmış ve desteklenmektedir ancak bu makalede açıklananlar da dahil olmak üzere Azure Red Hat OpenShift'in üzerinde çalıştırdığınız yazılımlar kendi destek ve lisans koşullarına tabidir. Azure Red Hat OpenShift desteği hakkında daha fazla bilgi için bkz . Azure Red Hat OpenShift 4 için destek yaşam döngüsü. Bu makalede açıklanan yazılım desteği hakkında daha fazla bilgi için, makalede listelenen yazılımın ana sayfalarına bakın.
Önkoşullar
Not
Azure Red Hat OpenShift, OpenShift kümesi oluşturmak ve çalıştırmak için en az 40 çekirdeğe ihtiyaç duyar. Yeni bir Azure aboneliği için varsayılan Azure kaynak kotası bu gereksinimi karşılamaz. Kaynak sınırınızda artış istemek için bkz . Standart kota: VM serisine göre sınırları artırma. Ücretsiz deneme aboneliğinin kota artışı için uygun olmadığını unutmayın. Kota artışı istemeden önce Kullandıkça Öde aboneliğine yükseltin.
Bu kılavuzu başarıyla kullanmak için aşağıdaki önkoşulları tamamlayın.
Unix benzeri işletim sistemi yüklü yerel bir makine hazırlayın (örneğin, Ubuntu, macOS).
Java SE uygulaması, sürüm 17 veya üzeri (örneğin Eclipse Open J9) yükleyin.
Maven 3.5.0 veya üzerini yükleyin.
İşletim sisteminiz için Docker'ı yükleyin.
Azure CLI 2.0.75 veya üzerini yükleyin.
İşletim sisteminize önceden yüklenmemişse denetleyin ve yükleyin
envsubst
.Bu örneğin kodunu yerel sisteminizde kopyalayın. Örnek GitHub'dadır.
Azure Red Hat OpenShift 4 kümesi oluşturma başlığı altındaki yönergeleri izleyin.
"Red Hat çekme gizli dizisini al" adımı isteğe bağlı olarak etiketlenmiş olsa da, bu makale için gereklidir. Çekme gizli dizisi, Azure Red Hat OpenShift kümenizin Open Liberty operatörünü bulmasını sağlar.
Kümede yoğun bellek kullanan uygulamalar çalıştırmayı planlıyorsanız parametresini kullanarak
--worker-vm-size
çalışan düğümleri için uygun sanal makine boyutunu belirtin. Örneğin,Standard_E4s_v3
elasticsearch işlecini bir kümeye yüklemek için en düşük sanal makine boyutudur. Daha fazla bilgi için bkz.Azure Red Hat OpenShift 4 kümesine Bağlan adımlarını izleyerek kümeye Bağlan.
- Bu makalenin devamında komutunu kullandığımız için "OpenShift CLI'yı Yükleme" başlığındaki
oc
adımları izlediğinizden emin olun. - Küme konsolu URL'sini not edin. gibi
https://console-openshift-console.apps.<random>.<region>.aroapp.io/
görünmelidir. - Kimlik bilgilerini not
kubeadmin
alın. - Kimlik bilgileriyle "OpenShift CLI kullanarak Bağlan" içindeki adımları izlediğinden
kubeadmin
emin olun.
- Bu makalenin devamında komutunu kullandığımız için "OpenShift CLI'yı Yükleme" başlığındaki
Open Liberty OpenShift İşlecini Yükleme
Kümeyi oluşturduktan ve kümeye bağlandıktan sonra Open Liberty İşleci'ni yükleyin. Open Liberty Operatörünün ana başlangıç sayfası GitHub'dadır.
Kimlik bilgilerini kullanarak tarayıcınızdan OpenShift web konsolunda
kubeadmin
oturum açın.Operators>OperatorHub'agidin ve Open Liberty araması yapın.
Arama sonuçlarından Özgürlük Aç'ı seçin.
Yükle'yi seçin.
Yükleme İşleci sayfasında Güncelleştirme kanalı için v1.2, Yükleme modu için kümedeki tüm ad alanları (varsayılan) ve Güncelleştirme onayı için Otomatik'i denetleyin:
Yükle'yi seçin ve yükleme tamamlanana kadar bir veya iki dakika bekleyin.
Open Liberty Operatörünün başarıyla yüklendiğini ve kullanıma hazır olduğunu gözlemleyin. Aksi takdirde devam etmeden önce sorunu tanılayın ve çözün.
Java uygulaması için OpenShift ad alanı oluşturma
Uygulamanızla kullanmak üzere bir OpenShift ad alanı oluşturmak için aşağıdaki adımları kullanın:
Kimlik bilgilerini kullanarak tarayıcınızdan OpenShift web konsolunda oturum açtığınızdan
kubeadmin
emin olun.Yönetici Istration>Ad Alanları>Ad Alanı Oluştur'a gidin.
open-liberty-demo
Ad alanını doldurun ve ardından gösterildiği gibi Oluştur'u seçin.
MySQL için Azure Veritabanı oluşturma
Uygulamanızla kullanmak üzere bir MySQL için Azure Veritabanı ayarlamak için aşağıdaki adımları kullanın. Uygulamanız için veritabanı gerekmiyorsa bu bölümü atlayabilirsiniz.
Şu adımları izleyerek MySQL için Azure Veritabanı esnek bir sunucu oluşturun: Hızlı Başlangıç: MySQL için Azure Veritabanı - Esnek Sunucu oluşturmak için Azure portalını kullanma. Veritabanını oluşturduktan sonra bu belgeye dönün.
Not
Temel Bilgiler adımında Sunucu adı.mysql.database.azure.com, Yönetici kullanıcı adı ve Parola değerlerini yazın.
Veritabanınız oluşturulduktan sonra veritabanı> ağınızı açın.
- Genel erişim'in altında, Genel IP adresi kullanarak İnternet üzerinden bu kaynağa genel erişime izin ver'in seçili olduğundan emin olun.
- Azure içindeki herhangi bir Azure hizmetinden bu sunucuya genel erişime izin ver'i seçin.
- İstemci IPv4 adresinizin Güvenlik Duvarı kuralları izin verilenler listesinde olduğundan emin olun.
Veritabanınızı> açın Bağlan> Uygulama>JDBC'nizden Bağlan seçin. Veritabanı sunucusu adresinin ardından bağlantı noktası numarasını yazın. Örneğin, 3306 aşağıdaki örnekteki bağlantı noktası numarasıdır.
String url="jdbc:mysql://<Server name>.mysql.database.azure.com:3306/{your_database}?useSSL=true";myDbConn=DriverManager.getConnection(url, "<Server admin username>", "{your_password}");
Veritabanı>> veritabanlarınızı açın Ekle'yi seçin. Ad için bir değer girin ve kaydet'i seçerek yeni bir veritabanı oluşturun. Bu veritabanının Scheme türü Kullanıcı olarakdır ve uygulama için daha sonra kullanılır.
Not
Oluşturduğunuz veritabanının Adını yazın.
Liberty uygulamasını hazırlama
Bu kılavuzda örneğimiz olarak bir Java EE 8 uygulaması kullanıyoruz. Open Liberty, uygulamayı kolayca çalıştırabilmesi için Java EE 8 tam profil uyumlu bir sunucudur. Open Liberty ayrıca Jakarta EE 8 tam profil ile uyumludur.
Uygulamayı Open Liberty'de çalıştırma
Uygulamayı Open Liberty'de çalıştırmak için, Liberty Maven eklentisinin uygulamayı dağıtım için paketleyebilmesi için bir Open Liberty sunucu yapılandırma dosyası oluşturmanız gerekir. Uygulamayı OpenShift'e dağıtmak için Liberty Maven eklentisi gerekli değildir. Ancak, bu örnekte Open Liberty'nin geliştirici (geliştirme) moduyla birlikte kullanırız. Geliştirici modu, uygulamayı yerel olarak kolayca çalıştırmanıza olanak tanır. hakkında liberty-maven-plugin
daha fazla bilgi edinmek için bkz . Maven ile web uygulaması oluşturma.
Örnek uygulamayı bu makalede daha sonra kullanmak üzere hazırlamak için bu bölümdeki adımları izleyin. Bu adımlarda Maven ve kullanılır liberty-maven-plugin
.
Uygulamayı gözden geçirin
Bu kılavuz için örnek kodu kopyalayın. Örnek GitHub'dadır.
git clone https://github.com/Azure-Samples/open-liberty-on-aro.git
cd open-liberty-on-aro
git checkout 20231026
"Ayrılmış HEAD" durumunda olduğunu belirten bir ileti görürseniz, bu iletiyi yoksaymak güvenlidir. Bu yalnızca bir etiketi kullanıma almış olduğunuz anlamına gelir.
Depoda birkaç örnek vardır. Open-liberty-on-aro/3-integration/connect-db/mysql kullanıyoruz. Uygulamanın dosya yapısı aşağıdadır:
open-liberty-on-aro/3-integration/connect-db/mysql
├─ src/main/
│ ├─ aro/
│ │ ├─ db-secret.yaml
│ │ ├─ openlibertyapplication.yaml
│ ├─ liberty/config/
│ │ ├─ server.xml
│ ├─ java/
│ ├─ resources/
│ ├─ webapp/
├─ Dockerfile
├─ Dockerfile-wlp
├─ pom.xml
Java, resources ve webapp dizinleri örnek uygulamanın kaynak kodunu içerir. Kod adlı jdbc/JavaEECafeDB
bir veri kaynağı bildirir ve kullanır.
aro dizinine iki dağıtım dosyası yerleştirdik. db-secret.xml, VERITABANı bağlantı kimlik bilgileriyle Gizli Diziler oluşturmak için kullanılır. Uygulama görüntüsünü dağıtmak için openlibertyapplication.yaml dosyası kullanılır.
Kök dizine iki Dockerfile yerleştirdik. Dockerfile ve Dockerfile-wlp , yerel hata ayıklama için ve sırasıyla Open Liberty ve WebSphere Liberty ile çalışan bir Azure Red Hat OpenShift dağıtımı için görüntü oluşturmak için kullanılır.
Liberty/config dizininde server.xml, Open Liberty ve WebSphere Liberty kümesi için VERITABANı bağlantısını yapılandırmak için kullanılır.
Proje oluşturma
Artık gerekli özellikleri topladığınıza göre uygulamayı oluşturabilirsiniz. Projenin POM dosyası ortamdan birçok özelliği okur.
cd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql
# The following variables are used for deployment file generation
export DB_SERVER_NAME=<Server name>.mysql.database.azure.com
export DB_PORT_NUMBER=3306
export DB_NAME=<Database name>
export DB_USER=<Server admin username>
export DB_PASSWORD=<Server admin password>
export NAMESPACE=open-liberty-demo
mvn clean install
Uygulamanızı yerel olarak test edin
liberty:devc
Herhangi bir Azure karmaşıklığıyla ilgilenmeden önce projeyi yerel olarak çalıştırmak ve test etmek için komutunu kullanın. hakkında liberty:devc
daha fazla bilgi için Liberty Eklentisi belgelerine bakın.
Henüz yapmadıysanız yerel docker ortamınızı başlatın. Bunu yapma yönergeleri, konak işletim sistemine bağlı olarak değişir.
Uygulamayı modda
liberty:devc
başlatmacd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql # If you are running with Open Liberty mvn liberty:devc -DcontainerRunOpts="-e DB_SERVER_NAME=${DB_SERVER_NAME} -e DB_PORT_NUMBER=${DB_PORT_NUMBER} -e DB_NAME=${DB_NAME} -e DB_USER=${DB_USER} -e DB_PASSWORD=${DB_PASSWORD}" -Dcontainerfile=Dockerfile # If you are running with WebSphere Liberty mvn liberty:devc -DcontainerRunOpts="-e DB_SERVER_NAME=${DB_SERVER_NAME} -e DB_PORT_NUMBER=${DB_PORT_NUMBER} -e DB_NAME=${DB_NAME} -e DB_USER=${DB_USER} -e DB_PASSWORD=${DB_PASSWORD}" -Dcontainerfile=Dockerfile-wlp
Uygulamanın beklendiği gibi çalıştığını doğrulayın. Başarılı olursa komut çıkışında şuna benzer
[INFO] [AUDIT] CWWKZ0003I: The application javaee-cafe updated in 1.930 seconds.
bir ileti görmeniz gerekir. Tarayıcınızda adresinehttps://localhost:9443/
gidin ve uygulamanın erişilebilir olduğunu ve tüm işlevlerin çalıştığını doğrulayın.Modu durdurmak için Control+C tuşuna basın.
liberty:devc
Uygulama görüntüsünü hazırlama
Liberty uygulamanızı bir Azure Red Hat OpenShift 4 kümesinde dağıtmak ve çalıştırmak için Open Liberty kapsayıcı görüntülerini veya WebSphere Liberty kapsayıcı görüntülerini kullanarak uygulamanızı Docker görüntüsü olarak kapsayıcıya alın.
Uygulama görüntüsünü derlemek için aşağıdaki adımları tamamlayın:
Uygulamayı oluşturma ve görüntü akışına gönderme
Uygulamayı Liberty Docker kapsayıcısında başarıyla çalıştırdığınızdan, aşağıdaki komutları yürüterek görüntüyü kümede uzaktan oluşturacaksınız.
Kimlik bilgilerini kullanarak OpenShift CLI'da zaten oturum açtığınızdan
kubeadmin
emin olun.Kaynak dizini ve Dockerfile'ı belirleyin.
cd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql # Fetch maven artifactId as image name, maven build version as image version export IMAGE_NAME=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.artifactId}' --non-recursive exec:exec) export IMAGE_VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec) # If you are building with Open Liberty base image, the existing Dockerfile is ready for you # If you are building with WebSphere Liberty base image, uncomment and execute the following two commands to rename Dockerfile-wlp to Dockerfile # mv Dockerfile Dockerfile.backup # mv Dockerfile-wlp Dockerfile
Projeyi "open-liberty-demo" olarak değiştirin
oc project open-liberty-demo
Bir görüntü akışı oluşturun.
oc create imagestream ${IMAGE_NAME}
Derleme çıkışının görüntü akışı etiketini belirten bir derleme yapılandırması oluşturun.
oc new-build --name ${IMAGE_NAME}-config --binary --strategy docker --to ${IMAGE_NAME}:${IMAGE_VERSION}
Yerel içerikleri karşıya yüklemek, kapsayıcıya almak ve daha önce belirtilen görüntü akışı etiketine çıkış yapmak için derlemeyi başlatın.
oc start-build ${IMAGE_NAME}-config --from-dir . --follow
Azure Red Hat OpenShift 4 kümesinde uygulama dağıtma
Şimdi, önkoşullar üzerinde çalışırken örnek Liberty uygulamasını daha önce oluşturduğunuz Azure Red Hat OpenShift 4 kümesine dağıtabilirsiniz.
Uygulamayı web konsolundan dağıtma
Liberty uygulamalarını yönetmek için Open Liberty Operatörünü kullandığımızdan, özel kaynak tanımının türünde OpenLibertyApplication
bir örneğini oluşturmamız gerekir. Operatör, dağıtım için gereken OpenShift kaynaklarını yönetmenin tüm yönlerini üstlenir.
Kimlik bilgilerini kullanarak tarayıcınızdan OpenShift web konsolunda
kubeadmin
oturum açın.Giriş'i genişletin, Projeler>open-liberty-demo seçeneğini belirleyin.
İşleçler Yüklü İşleçler'e >gidin.
Sayfanın ortasında Serbestlik Aç'ı seçin.
Sağlanan API'ler'den OpenLibertyApplication'ı seçin. Kullanıcı arabirimindeki öğelerin gezintisi, kullanılan teknolojilerin gerçek kapsama hiyerarşisini yansıtır.
OpenLibertyApplication Oluştur'u seçin.
Aracılığıyla yapılandır için YAML görünümü'nü seçin.
Oluşturulan yaml değerini, path-to-repo>/3-integration/connect-db/mysql/target/openlibertyapplication.yaml konumunda <bulunan sizinkiyle değiştirin.
Oluştur'u belirleyin. OpenLibertyApplications listesine geri dönersiniz.
İş Yükleri Gizli Dizileri'ne >gidin.
YAML'den Oluştur'u> seçin.
Oluşturulan yaml değerini, path-to-repo>/3-integration/connect-db/mysql/target/db-secret.yaml konumunda <bulunan sizinkiyle değiştirin.
Oluştur'u belirleyin. Gizli dizi ayrıntıları sayfasına geri dönersiniz.
İşleçler Yüklü İşleçler>>Open Liberty>OpenLibertyApplication'a gidin.
javaee-café-mysql öğesini seçin.
Sayfanın ortasında Kaynaklar'ı seçin.
Tabloda Yol Türüile javaee-café-mysql bağlantısını seçin.
Açılan sayfada Konum'un altındaki bağlantıyı seçin.
Tarayıcıda açılan uygulama giriş sayfası gösterilir.
Uygulamayı web konsolundan silme
Uygulamayla işiniz bittiğinde, uygulamayı Open Shift'ten silmek için bu adımları izleyin.
- Sol gezinti bölmesinde İşleçler girişini genişletin.
- Yüklü İşleçler'i seçin.
- Özgürlük Aç'ı seçin.
- Sayfanın ortasında OpenLibertyApplication'ı seçin.
- javaee-café-mysql için dikey üç noktayı (üç dikey nokta) ve ardından OpenLibertyApplication'ı Sil'i seçin.
- Uygulamayı silmek için Sil'i seçin.
Gizli diziyi Open Shift'ten silmek için bu adımları izleyin.
- İş Yükleri Gizli Dizileri'ne >gidin.
- db-secret-mysql öğesini seçin.
- Eylemler>Gizli Diziyi Sil'i seçin.
- Gizli diziyi silmek için Sil'i seçin.
Kaynakları temizleme
Öğretici: Azure Red Hat OpenShift 4 kümesini silme altındaki adımları izleyerek Azure Red Hat OpenShift kümesini silme
Sonraki adımlar
Bu kılavuzda şunların nasıl yapılacağını öğrendiniz:
- Liberty uygulamasını hazırlama
- Uygulama görüntüsünü oluşturma
- KAPSAYıCıLı uygulamayı GUI ve CLI kullanarak Azure Red Hat OpenShift 4 kümesinde çalıştırma
Bu kılavuzda kullanılan başvurulardan daha fazla bilgi edinebilirsiniz:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin