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.

  1. Unix benzeri işletim sistemi yüklü yerel bir makine hazırlayın (örneğin, Ubuntu, macOS).

  2. Java SE uygulaması, sürüm 17 veya üzeri (örneğin Eclipse Open J9) yükleyin.

  3. Maven 3.5.0 veya üzerini yükleyin.

  4. İşletim sisteminiz için Docker'ı yükleyin.

  5. Azure CLI 2.0.75 veya üzerini yükleyin.

  6. İşletim sisteminize önceden yüklenmemişse denetleyin ve yükleyin envsubst .

  7. Bu örneğin kodunu yerel sisteminizde kopyalayın. Örnek GitHub'dadır.

  8. 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.

  9. 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.

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.

  1. Kimlik bilgilerini kullanarak tarayıcınızdan OpenShift web konsolunda kubeadmin oturum açın.

  2. Operators>OperatorHub'agidin ve Open Liberty araması yapın.

  3. Arama sonuçlarından Özgürlük Aç'ı seçin.

  4. Yükle'yi seçin.

  5. 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:

    Open Liberty İşleci için operatör aboneliği oluşturma işleminin ekran görüntüsü.

  6. Yükle'yi seçin ve yükleme tamamlanana kadar bir veya iki dakika bekleyin.

  7. 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.

    Open Liberty'nin yüklü olduğunu gösteren yüklü Operatörler.

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:

  1. Kimlik bilgilerini kullanarak tarayıcınızdan OpenShift web konsolunda oturum açtığınızdan kubeadmin emin olun.

  2. Yönetici Istration>Ad Alanları>Ad Alanı Oluştur'a gidin.

  3. open-liberty-demo Ad alanını doldurun ve ardından gösterildiği gibi Oluştur'u seçin.

    Ad alanı oluşturma işleminin ekran görüntüsü.

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.

  1. Ş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.

  2. Veritabanınız oluşturulduktan sonra veritabanı> ağınızı açın.

    1. 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.
    2. Azure içindeki herhangi bir Azure hizmetinden bu sunucuya genel erişime izin ver'i seçin.
    3. İstemci IPv4 adresinizin Güvenlik Duvarı kuralları izin verilenler listesinde olduğundan emin olun.

    mysql veritabanı ağını yapılandırma işleminin ekran görüntüsü.

  3. 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}");
    
  4. 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-plugindaha 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/JavaEECafeDBbir 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:devcdaha fazla bilgi için Liberty Eklentisi belgelerine bakın.

  1. 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.

  2. Uygulamayı modda liberty:devc başlatma

    cd <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
    
  3. 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 adresine https://localhost:9443/ gidin ve uygulamanın erişilebilir olduğunu ve tüm işlevlerin çalıştığını doğrulayın.

  4. 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.

  1. Kimlik bilgilerini kullanarak OpenShift CLI'da zaten oturum açtığınızdan kubeadmin emin olun.

  2. 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
    
  3. Projeyi "open-liberty-demo" olarak değiştirin

    oc project open-liberty-demo
    
  4. Bir görüntü akışı oluşturun.

    oc create imagestream ${IMAGE_NAME}
    
  5. 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}
    
  6. 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 OpenLibertyApplicationbir örneğini oluşturmamız gerekir. Operatör, dağıtım için gereken OpenShift kaynaklarını yönetmenin tüm yönlerini üstlenir.

  1. Kimlik bilgilerini kullanarak tarayıcınızdan OpenShift web konsolunda kubeadmin oturum açın.

  2. Giriş'i genişletin, Projeler>open-liberty-demo seçeneğini belirleyin.

  3. İşleçler Yüklü İşleçler'e >gidin.

  4. Sayfanın ortasında Serbestlik Aç'ı seçin.

  5. Sağlanan API'ler'den OpenLibertyApplication'ı seçin. Kullanıcı arabirimindeki öğelerin gezintisi, kullanılan teknolojilerin gerçek kapsama hiyerarşisini yansıtır.

    Azure Red Hat OpenShift Java Kapsama diyagramı.

  6. OpenLibertyApplication Oluştur'u seçin.

  7. Aracılığıyla yapılandır için YAML görünümü'nü seçin.

  8. Oluşturulan yaml değerini, path-to-repo>/3-integration/connect-db/mysql/target/openlibertyapplication.yaml konumunda <bulunan sizinkiyle değiştirin.

  9. Oluştur'u belirleyin. OpenLibertyApplications listesine geri dönersiniz.

  10. İş Yükleri Gizli Dizileri'ne >gidin.

  11. YAML'den Oluştur'u> seçin.

  12. Oluşturulan yaml değerini, path-to-repo>/3-integration/connect-db/mysql/target/db-secret.yaml konumunda <bulunan sizinkiyle değiştirin.

  13. Oluştur'u belirleyin. Gizli dizi ayrıntıları sayfasına geri dönersiniz.

  14. İşleçler Yüklü İşleçler>>Open Liberty>OpenLibertyApplication'a gidin.

  15. javaee-café-mysql öğesini seçin.

  16. Sayfanın ortasında Kaynaklar'ı seçin.

  17. Tabloda Yol Türüile javaee-café-mysql bağlantısını seçin.

  18. 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.

  1. Sol gezinti bölmesinde İşleçler girişini genişletin.
  2. Yüklü İşleçler'i seçin.
  3. Özgürlük Aç'ı seçin.
  4. Sayfanın ortasında OpenLibertyApplication'ı seçin.
  5. javaee-café-mysql için dikey üç noktayı (üç dikey nokta) ve ardından OpenLibertyApplication'ı Sil'i seçin.
  6. Uygulamayı silmek için Sil'i seçin.

Gizli diziyi Open Shift'ten silmek için bu adımları izleyin.

  1. İş Yükleri Gizli Dizileri'ne >gidin.
  2. db-secret-mysql öğesini seçin.
  3. Eylemler>Gizli Diziyi Sil'i seçin.
  4. 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: