Aracılığıyla paylaş


Hızlı Başlangıç: Azure Red Hat OpenShift üzerinde JBoss EAP dağıtma

Bu makalede, Azure portalını kullanarak Azure Red Hat OpenShift (ARO) üzerinde JBoss Kurumsal Uygulama Platformu'nun (EAP) nasıl hızlı bir şekilde ayakta durabileceğiniz gösterilmektedir.

Bu makalede, ARO yolculuğunuzu hızlandırmak için JBoss EAP için Azure Market teklifi kullanılır. Teklif, yerleşik OpenShift Container Registry (OCR), JBoss EAP İşleci ve isteğe bağlı olarak Kaynak-Görüntü (S2I) kullanarak JBoss EAP ve uygulamanız dahil olmak üzere bir kapsayıcı görüntüsü içeren bir ARO kümesi dahil olmak üzere kaynakları otomatik olarak sağlar. Teklifi görmek için Azure portalını ziyaret edin. Teklifin etkinleştirdiği otomasyonu kullanmayan JBoss EAP'yi ARO üzerinde çalıştırmak için el ile adım adım kılavuzu tercih ediyorsanız bkz . Azure Red Hat OpenShift 4 kümesinde Red Hat JBoss Enterprise Application Platform (JBoss EAP) ile Java uygulaması dağıtma.

Önkoşullar

  • Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

  • Tam profili olan bir Red Hat hesabı. Aboneliğiniz yoksa, Red Hat Bireysel Geliştirici Aboneliği aracılığıyla ücretsiz geliştirici aboneliğine kaydolabilirsiniz.

  • Ubuntu, macOS veya Linux için Windows Alt Sistemi gibi UNIX benzeri bir komut ortamı ve Azure CLI yüklü yerel geliştirici komut satırı. Azure CLI'nın nasıl yükleneceğini öğrenmek için bkz . Azure CLI'yi yükleme.

  • The mysql CLI. CLI'yi aşağıdaki komutları kullanarak yükleyebilirsiniz:

sudo apt update
sudo apt install mysql-server

Not

Bu kılavuzu Azure Cloud Shell'den de yürütebilirsiniz. Bu yaklaşımda tüm önkoşul araçları önceden yüklenmiş durumdadır.

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.

Red Hat çekme gizli dizisi alma

Bu makalede kullanılan Azure Market teklifi red hat çekme gizli dizisi gerektirir. Bu bölümde, Azure Red Hat OpenShift için Red Hat çekme gizli dizisi alma adımları gösterilmektedir. Red Hat çekme gizli dizisinin ne olduğunu ve neden ihtiyacınız olduğunu öğrenmek için Öğretici: Azure Red Hat OpenShift 4 kümesi oluşturma bölümündeki Red Hat çekme gizli dizisini alma bölümüne bakın.

Çekme gizli dizisini almak için aşağıdaki adımları kullanın.

  1. Red Hat OpenShift Karma Bulut Konsolu'nu açın, ardından OpenShift küme yöneticisi portalında oturum açmak için Red Hat hesabınızı kullanın. Aşağıdaki ekran görüntüsünde gösterildiği gibi daha fazla hüküm kabul etmeniz ve hesabınızı güncelleştirmeniz gerekebilir. Hesabı oluştururken kullandığınız parolanın aynısını kullanın.

    Red Hat Hesabınızı Güncelleştir sayfasının ekran görüntüsü.

  2. Oturum açtıktan sonra OpenShift'i ve ardından İndirmeler'i seçin.

  3. Tüm kategoriler açılan listesini ve ardından Belirteçler'i seçin.

  4. Aşağıdaki ekran görüntüsünde gösterildiği gibi değeri almak için Çekme gizli dizisi'nin altında Kopyala veya İndir'i seçin.

    Çekme gizli dizisini gösteren Red Hat konsol portalının ekran görüntüsü.

    Aşağıdaki içerik, Red Hat konsol portalından kopyalanan ve kimlik doğrulama kodlarının ile xxxx...xxxdeğiştirildiği bir örnektir.

    {"auths":{"cloud.openshift.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"quay.io":{"auth":"xxx...xxx","email":"contoso-user@test.com"},"registry.connect.redhat.com":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"},"registry.redhat.io":{"auth":"xxxx...xxx","email":"contoso-user@contoso.com"}}}
    
  5. Daha sonra kullanabilmek için gizli diziyi bir dosyaya kaydedin.

Azure portalından Microsoft Entra hizmet sorumlusu oluşturma

Bu makalede kullanılan Azure Market teklifi, Azure Red Hat OpenShift kümenizi dağıtmak için bir Microsoft Entra hizmet sorumlusu gerektirir. Teklif, hizmet sorumlusuna dağıtım sırasında uygun ayrıcalıklar atar ve rol ataması gerekmez. Kullanıma hazır bir hizmet sorumlunuz varsa, bu bölümü atlayın ve Red Hat Container Registry hizmet hesabı oluşturduğunuz sonraki bölüme geçin.

Hizmet sorumlusunu dağıtmak ve Azure portalından Uygulama (istemci) kimliğini ve gizli dizisini almak için aşağıdaki adımları kullanın. Daha fazla bilgi için bkz . Azure Red Hat OpenShift kümesi dağıtmak için hizmet sorumlusu oluşturma ve kullanma.

Not

Bir uygulamayı Microsoft Entra kiracınıza kaydetmek için yeterli izinlere sahip olmanız gerekir. Bir sorunla karşılaşırsanız, hesabınızın kimliği oluşturadığından emin olmak için gerekli izinleri denetleyin. Daha fazla bilgi için, Kaynaklara erişebilen bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturmak için portalı kullanma bölümünün Uygulama kaydetmek için gereken izinler bölümüne bakın.

  1. Azure portalı üzerinden Azure hesabınızda oturum açın.

  2. Microsoft Entra Kimlik'i seçin.

  3. Uygulama kayıtları’nı seçin.

  4. Yeni kayıt öğesini seçin.

  5. Uygulamayı adlandırın, örneğin, jboss-eap-on-aro-app. Uygulamayı kimlerin kullanabileceğini belirleyen desteklenen bir hesap türü seçin. Değerleri ayarladıktan sonra, aşağıdaki ekran görüntüsünde gösterildiği gibi Kaydet'i seçin. Uygulamanın sağlanması birkaç saniye sürer. Devam etmeden önce dağıtımın tamamlanmasını bekleyin.

    Uygulama kaydetme sayfasını gösteren Azure portalının ekran görüntüsü.

  6. Aşağıdaki ekran görüntüsünde gösterildiği gibi genel bakış sayfasından Uygulama (istemci) Kimliğini kaydedin. İşaretçiyi ekran görüntüsünde yeniden işlenen değerin üzerine getirin ve görüntülenen kopyala simgesini seçin. Araç ipucunda Panoya kopyala yazıyor. Bu bölümdeki diğer değerler de kopyalama simgelerine sahip olduğundan doğru değeri kopyalamaya dikkat edin. Daha sonra kullanabilmek için Uygulama Kimliğini bir dosyaya kaydedin.

    Hizmet sorumlusu istemci kimliğini gösteren Azure portalının ekran görüntüsü.

  7. Aşağıdaki adımları izleyerek yeni bir istemci gizli dizisi oluşturun:

    1. Sertifikalar ve gizli diziler'i seçin.
    2. İstemci gizli dizileri'ni ve ardından Yeni istemci gizli dizisi'ni seçin.
    3. Gizli dizi ve sürenin açıklamasını sağlayın. İşiniz bittiğinde Ekle'yi seçin.
    4. İstemci gizli dizisi eklendikten sonra, istemci gizli dizisinin değeri görüntülenir. Bu değeri daha sonra alamadığınız için kopyalayın. Gizli Dizi Kimliğini değil, Değeri kopyaladığınızdan emin olun.

Microsoft Entra uygulamanızı, hizmet sorumlunuzu ve istemci gizli dizinizi oluşturdunuz.

Red Hat Container Registry hizmet hesabı oluşturma

Daha sonra bu makalede, Bir uygulamayı Kaynak-Görüntü (S2I) kullanarak OpenShift'e el ile nasıl dağıtabileceğiniz gösterilmektedir. Uygulamanızın çalıştırıldığı JBoss EAP kapsayıcı görüntüsünü çekmek için Red Hat Container Registry hizmet hesabı gereklidir. Kullanıma hazır bir Red Hat Container Registry hizmet hesabınız varsa bu bölümü atlayın ve teklifi dağıttığınız sonraki bölüme geçin.

Red Hat Container Registry hizmet hesabı oluşturmak ve kullanıcı adı ile parolasını almak için aşağıdaki adımları kullanın. Daha fazla bilgi için Red Hat belgelerindeki Kayıt Defteri Hizmet Hesapları Oluşturma bölümüne bakın.

  1. Kayıt Defteri Hizmeti Hesap Yönetimi Uygulaması'nda oturum açmak için Red Hat hesabınızı kullanın.
  2. Kayıt Defteri Hizmet Hesapları sayfasında Yeni Hizmet Hesabı'nı seçin.
  3. Hizmet Hesabı için bir ad belirtin. Ad sabit, rastgele bir dizeyle eklenir.
    • Açıklama girin.
    • oluştur’u seçin.
  4. Hizmet Hesaplarınıza geri dönün.
  5. Oluşturduğunuz Hizmet Hesabını seçin.
    • Önceden eklenen dize de dahil olmak üzere kullanıcı adını not edin (başka bir ifadeyleXXXXXXX|username). oturumu açarken registry.redhat.iobu kullanıcı adını kullanın.
    • Parolayı not edin. oturumu açarken bu parolayı registry.redhat.iokullanın.

Red Hat Container Registry hizmet hesabınızı oluşturdunuz.

Azure Red Hat OpenShift üzerinde JBoss EAP dağıtma

Bu bölümdeki adımlar, Azure Red Hat OpenShift üzerinde JBoss EAP dağıtmanızı sağlar.

Aşağıdaki adımlarda teklifi nasıl bulacağınız ve Temel Bilgiler bölmesini nasıl doldurabileceğiniz gösterilmektedir .

  1. Azure portalının üst kısmındaki arama çubuğuna JBoss EAP yazın. Aşağıdaki ekran görüntüsünde gösterildiği gibi, arama sonuçlarında Market bölümünde Azure Red Hat OpenShift üzerinde JBoss EAP'yi seçin.

    Arama sonuçlarında Azure Red Hat OpenShift üzerinde JBoss EAP'nin gösterildiği Azure portalının ekran görüntüsü.

    Ayrıca doğrudan Azure portalında Azure Red Hat OpenShift üzerinde JBoss EAP teklifine de gidebilirsiniz.

  2. Teklif sayfasında Oluştur'u seçin.

  3. Temel Bilgiler bölmesinde, Abonelik alanında gösterilen değerin önkoşullar bölümünde listelenen rollere sahip değerle aynı olduğundan emin olun.

  4. Teklifi boş bir kaynak grubuna dağıtmanız gerekir. Kaynak grubu alanında Yeni oluştur'u seçin ve kaynak grubu için bir değer girin. Kaynak gruplarının bir abonelik içinde benzersiz olması gerektiğinden, benzersiz bir ad seçin. Benzersiz adlara sahip olmak için, baş harflerinizin, bugünün tarihinin ve bazı tanımlayıcıların birleşimini kullanmak kolay bir yoldur. Örneğin, eaparo033123rg.

  5. Örnek ayrıntıları'nın altında dağıtım için bölgeyi seçin. OpenShift'in çalıştığı Azure bölgelerinin listesi için bkz . Azure'da Red Hat OpenShift 4.x bölgeleri.

  6. İleri: ARO'ya tıklayın.

Aşağıdaki adımlar, aşağıdaki ekran görüntüsünde gösterilen ARO bölmesini nasıl doldurabileceğinizi gösterir:

Azure Red Hat OpenShift ARO bölmesinde JBoss EAP'nin gösterildiği Azure portalının ekran görüntüsü.

  1. Yeni küme oluştur'un altında Evet'i seçin.

  2. Yeni küme oluşturmak için bilgi sağlayın bölümünde Red Hat çekme gizli dizisi için Red Hat çekme gizli dizisi alma bölümünde elde ettiğiniz Red Hat çekme gizli dizisini doldurun. Gizli diziyi onayla için aynı değeri kullanın.

  3. Hizmet sorumlusu istemci kimliğini, Azure portalından Microsoft Entra hizmet sorumlusu oluşturma bölümünde aldığınız hizmet sorumlusu Uygulaması (istemci) kimliğiyle doldurun.

  4. Hizmet sorumlusu istemci gizli dizisini, Azure portalından Microsoft Entra hizmet sorumlusu oluşturma bölümünde edindiğiniz hizmet sorumlusu Uygulama gizli dizisiyle doldurun. Gizli diziyi onayla için aynı değeri kullanın.

  5. Sonraki EAP Uygulaması'nı seçin.

Aşağıdaki adımlarda, aşağıdaki ekran görüntüsünde gösterilen EAP Uygulaması bölmesini doldurma ve ardından dağıtımı başlatma adımları gösterilmektedir.

Azure Red Hat OpenShift EAP Uygulaması bölmesinde JBoss EAP'nin gösterildiği Azure portalının ekran görüntüsü.

  1. Kaynaktan Görüntüye (S2I) kullanarak OpenShift'e uygulama dağıtma için varsayılan Hayırseçeneğini değiştirmeyin.

    Not

    Daha sonra, bu hızlı başlangıçta veritabanı bağlantısı olan bir uygulamayı el ile nasıl dağıtabileceğiniz gösterilmektedir.

  2. Sonraki: Gözden geçirme ve oluşturma’yı seçin.

  3. Gözden geçir ve oluştur’u seçin. Yeşil Doğrulama Başarılı iletisinin en üstte göründüğünden emin olun. İleti görünmüyorsa doğrulama sorunlarını düzeltin ve gözden geçir ve yeniden oluştur'u seçin.

  4. Oluştur'u belirleyin.

  5. Dağıtım devam ediyor sayfasında dağıtımın ilerleme durumunu izleyin.

Seçtiğiniz bölgedeki ağ koşullarına ve diğer etkinliklere bağlı olarak dağıtımın tamamlanması 35 dakika kadar sürebilir.

Beklerken veritabanını ayarlayabilirsiniz.

MySQL için Azure Veritabanı Ayarlama - Esnek Sunucu

Aşağıdaki bölümlerde MySQL için Azure Veritabanı - Esnek Sunucu'MySQL için Azure Veritabanı nasıl ayarlanacağı gösterilmektedir.

Komut satırı kabuğunda ortam değişkenlerini ayarlama

Örnek, MySQL veritabanı tarafından desteklenen bir Java uygulamasıdır ve Kaynak-Görüntü (S2I) kullanılarak OpenShift kümesine dağıtılır. S2I hakkında daha fazla bilgi için S2I Belgeleri'ne bakın.

Bir kabuk açın ve aşağıdaki ortam değişkenlerini ayarlayın. Değiştirmeleri uygun şekilde değiştirin.

RG_NAME=<resource-group-name>
SERVER_NAME=<database-server-name>
DB_DATABASE_NAME=testdb
ADMIN_USERNAME=myadmin
ADMIN_PASSWORD=Secret123456
DB_USERNAME=testuser
DB_PASSWORD=Secret123456
PROJECT_NAME=eaparo-sample
CON_REG_SECRET_NAME=eaparo-sample-pull-secret
CON_REG_ACC_USER_NAME="<red-hat-container-registry-service-account-username>"
CON_REG_ACC_PWD="<red-hat-container-registry-service-account-password>"
APPLICATION_NAME=javaee-cafe
APP_REPLICAS=3

Yer tutucuları, makalenin geri kalanında kullanılan aşağıdaki değerlerle değiştirin:

  • <resource-group-name>: Daha önce oluşturduğunuz kaynak grubunun adı; örneğin, eaparo033123rg.
  • <database-server-name>: MySQL sunucunuzun adıdır ve azure genelinde benzersiz olmalıdır. Örneğin, eaparo033123mysql.
  • ADMIN_PASSWORD: MySQL veritabanı sunucunuzun yönetici parolası. Bu makale, gösterilen parola kullanılarak test edilmiştir. Parola kuralları için veritabanı belgelerine bakın.
  • <red-hat-container-registry-service-account-username> ve <red-hat-container-registry-service-account-password>: Daha önce oluşturduğunuz Red Hat Container Registry hizmet hesabının kullanıcı adı ve parolası.

Komutları yürütmeyi bitirmeden önce kabuğun çıkması durumunda, tam olarak doldurulmuş ad/değer çiftlerini bir metin dosyasına kaydetmek iyi bir fikirdir. Bu şekilde, bunları kabuğun yeni bir örneğine yapıştırabilir ve kolayca devam edebilirsiniz.

Bu ad/değer çiftleri temelde "gizli diziler" olarak adlandırılır. Gizli dizi yönetimi dahil olmak üzere Azure Red Hat OpenShift'in güvenliğini sağlamanın üretime hazır bir yolu için bkz . Azure Red Hat OpenShift giriş bölgesi hızlandırıcısı için güvenlik.

Veritabanını oluşturma ve başlatma

Ardından, MySQL için Azure Veritabanı - Esnek Sunucu oluşturmak ve belirli bir veritabanından/veritabanından okuma/yazma izinlerine sahip bir kullanıcı oluşturmak için aşağıdaki adımları kullanın.

  1. MySQL için Azure Veritabanı - Esnek Sunucu oluşturmak için aşağıdaki komutu kullanın:

    az mysql flexible-server create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --database-name ${DB_DATABASE_NAME} \
        --public-access 0.0.0.0  \
        --admin-user ${ADMIN_USERNAME} \
        --admin-password ${ADMIN_PASSWORD} \
        --yes
    

    Bu komutun tamamlanması on veya daha fazla dakika sürebilir. Komut başarıyla tamamlandığında aşağıdaki örneğe benzer bir çıktı görürsünüz:

    {
      "connectionString": "mysql testdb --host ejb010406adb.mysql.database.azure.com --user myadmin --password=Secret#123345",
      "databaseName": "testdb",
      "firewallName": "AllowAllAzureServicesAndResourcesWithinAzureIps_2023-4-6_21-21-3",
      "host": "ejb010406adb.mysql.database.azure.com",
      "id": "/subscriptions/redacted/resourceGroups/ejb010406a/providers/Microsoft.DBforMySQL/flexibleServers/ejb010406adb",
      "location": "East US",
      "password": "Secret#123345",
      "resourceGroup": "ejb010406a",
      "skuname": "Standard_B1ms",
      "username": "myadmin",
      "version": "5.7"
    }
    
  2. Oluşturulan MySQL sunucusunun ana bilgisayarını almak için aşağıdaki komutları kullanın:

    DB_HOST=$(az mysql flexible-server show \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --query "fullyQualifiedDomainName" \
        --output tsv)
    echo $DB_HOST
    

    Ad/değer çiftini metin dosyanıza kaydedin.

  3. Genel İnternet'ten MySQL sunucusuna bağlantı sağlamak üzere geçici bir güvenlik duvarı kuralı oluşturmak için aşağıdaki komutu kullanın:

    az mysql flexible-server firewall-rule create \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME} \
        --rule-name "AllowAllIPs" \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 255.255.255.255
    
  4. Belirli bir veritabanını okuma ve yazma izinlerine sahip yeni bir veritabanı kullanıcısı oluşturmak için aşağıdaki komutu kullanın. Bu komut SQL'i doğrudan veritabanına göndermek için kullanışlıdır.

    mysql --host ${DB_HOST} --user ${ADMIN_USERNAME} --password=${ADMIN_PASSWORD} << EOF
    CREATE USER '${DB_USERNAME}'@'%' IDENTIFIED BY '${DB_PASSWORD}';
    GRANT ALL PRIVILEGES ON ${DB_DATABASE_NAME} . * TO '${DB_USERNAME}'@'%';
    FLUSH PRIVILEGES;
    EOF
    
  5. Geçici güvenlik duvarı kuralını silmek için aşağıdaki komutu kullanın:

    az mysql flexible-server firewall-rule delete \
        --resource-group ${RG_NAME} \
        --name ${SERVER_NAME}  \
        --rule-name "AllowAllIPs" \
        --yes
    

Artık çalışan ve uygulamanızla bağlanmaya hazır bir MySQL veritabanı sunucunuz var.

Dağıtımın işlevselliğini doğrulama

Bu bölümdeki adımlar, dağıtımın başarıyla tamamlandığını nasıl doğrulayacağınızı gösterir.

Dağıtım devam ediyor sayfasından uzaklaştıysanız, aşağıdaki adımlarda bu sayfaya nasıl geri döndüğünüz gösterilir. Hala Dağıtımınızın tamamlandığını gösteren sayfadaysanız 5. adıma atlayabilirsiniz.

  1. Herhangi bir Azure portalı sayfasının köşesinde hamburger menüsünü ve ardından Kaynak grupları'nı seçin.

  2. Herhangi bir alan için Filtre uygula metnini içeren kutuya, daha önce oluşturduğunuz kaynak grubunun ilk birkaç karakterini girin. Önerilen kuralı uyguladıysanız baş harflerinizi girin ve uygun kaynak grubunu seçin.

  3. Gezinti bölmesindeki Ayarlar bölümünde Dağıtımlar'ı seçin. Bu kaynak grubuna yapılan dağıtımların sıralı bir listesini ve en son dağıtımları görürsünüz.

  4. Bu listedeki en eski girdiye kaydırın. Bu giriş, önceki bölümde başlattığınız dağıtıma karşılık gelir. Aşağıdaki ekran görüntüsünde gösterildiği gibi en eski dağıtımı seçin.

    Azure Red Hat OpenShift dağıtımlarında en eski dağıtımın vurgulandığı JBoss EAP'yi gösteren Azure portalının ekran görüntüsü.

  5. Gezinti bölmesinde Çıkışlar'ı seçin. Bu liste, dağıtımdan bazı yararlı bilgiler içeren çıkış değerlerini gösterir.

  6. Kabuğu açın, cmdToGetKubeadminCredentials alanındaki değeri yapıştırın ve yürütür. OpenShift kümesi konsol portalında oturum açmak için yönetici hesabını ve kimlik bilgilerini görürsünüz. Aşağıdaki örnekte bir yönetici hesabı gösterilmektedir:

    az aro list-credentials --resource-group eaparo033123rg --name clusterf9e8b9
    

    Bu komut aşağıdaki örneğe benzer bir çıktı oluşturur:

    {
      "kubeadminPassword": "xxxxx-xxxxx-xxxxx-xxxxx",
      "kubeadminUsername": "kubeadmin"
    }
    
  7. consoleUrl alanındaki değeri İnternet'e bağlı bir web tarayıcısına yapıştırın ve enter tuşuna basın. Yönetici kullanıcı adını ve parolasını girin, ardından Oturum aç'ı seçin. Azure Red Hat OpenShift'in yönetici konsolunda, aşağıdaki ekran görüntüsünde gösterildiği gibi JBoss EAP işlecinin başarıyla yüklendiğini bulabileceğiniz İşleçler>Yüklü İşleçler'i seçin.

    Yüklü işleçler sayfasını gösteren Red Hat OpenShift kümesi konsol portalının ekran görüntüsü.

Ardından, OpenShift CLI kullanarak OpenShift kümesine bağlanmak için aşağıdaki adımları kullanın:

  1. Kabukta, GNU/Linux için en son OpenShift 4 CLI'yi indirmek için aşağıdaki komutları kullanın. GNU/Linux dışında bir işletim sistemi üzerinde çalışıyorsanız ilgili işletim sistemi için uygun ikiliyi indirin.

    cd ~
    wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/openshift-client-linux.tar.gz
    
    mkdir openshift
    tar -zxvf openshift-client-linux.tar.gz -C openshift
    echo 'export PATH=$PATH:~/openshift' >> ~/.bashrc && source ~/.bashrc
    
  2. cmdToLoginWithKubeadmin alanındaki değeri kabuğa yapıştırın ve yürütür. İletiyi login successful ve kullandığınız projeyi görmeniz gerekir. Aşağıdaki içerik, OpenShift CLI kullanarak OpenShift kümesine bağlanma komutunun bir örneğidir.

    oc login \
        $(az aro show \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query apiserverProfile.url \
            --output tsv) \
        -u $(az aro list-credentials \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query kubeadminUsername \
            --output tsv) \
        -p $(az aro list-credentials \
            --resource-group ${RG_NAME} \
            --name aro-cluster \
            --query kubeadminPassword \
            --output tsv)
    

    Bu komut aşağıdaki örneğe benzer bir çıktı oluşturur:

    Login successful.
    
    You have access to 68 projects, the list has been suppressed. You can list all projects with 'oc projects'
    
    Using project "default".
    

OpenShift kümesine JBoss EAP uygulaması dağıtma

Bu bölümdeki adımlarda, kümede bir uygulamanın nasıl dağıtılacağı gösterilmektedir.

Uygulamayı kümeye dağıtma

Uygulamayı kümeye dağıtmak için aşağıdaki adımları kullanın. Uygulama, GitHub deposunda rhel-jboss-templates/eap-coffee-app barındırılır.

  1. Kabukta aşağıdaki komutları çalıştırın. Komutlar bir proje oluşturur, S2I'nin çalışmasını sağlamak için bir izin uygular, çekme gizli dizisini görüntüler ve görüntü çekmeyi etkinleştirmek için gizli diziyi projedeki göreli hizmet hesaplarına bağlar. "'ayrılmış HEAD' durumu" hakkındaki git uyarısını göz ardı edin.

    git clone https://github.com/Azure/rhel-jboss-templates.git
    cd rhel-jboss-templates
    git checkout 20230615
    cd ..
    oc new-project ${PROJECT_NAME}
    oc adm policy add-scc-to-user privileged -z default --namespace ${PROJECT_NAME}
    w0=-w0
    if [[ $OSTYPE == 'darwin'* ]]; then
      w0=
    fi
    
    CON_REG_ACC_USER_NAME_BASE64=$(echo ${CON_REG_ACC_USER_NAME} | base64 $w0)
    CON_REG_ACC_PWD_BASE64=$(echo ${CON_REG_ACC_PWD} | base64 $w0)
    

    Sonraki bölümde HEREDOC biçimi kullanıldığı için, bunu kendi kod alıntısına eklemek ve yürütmek en iyisidir.

    
    cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: ${CON_REG_SECRET_NAME}
    type: Opaque
    data:
      username: ${CON_REG_ACC_USER_NAME_BASE64}
      password: ${CON_REG_ACC_PWD_BASE64}
    stringData:
      hostname: registry.redhat.io
    EOF
    

    Gizli dizi oluşturma işleminin başarılı olduğunu belirtmek için görmeniz secret/eaparo-sample-pull-secret created gerekir. Bu çıkışı görmüyorsanız devam etmeden önce sorunu giderin ve çözün. Son olarak, kümenin çalıştırabilmesi için kapsayıcı görüntülerini indirmek için gizli diziyi varsayılan hizmet hesabına bağlayın.

    oc secrets link default ${CON_REG_SECRET_NAME} --for=pull
    oc secrets link builder ${CON_REG_SECRET_NAME} --for=pull
    
  2. Görüntü akışını jboss-eap74-openjdk11-openshiftçekmek için aşağıdaki komutları kullanın. Ardından, görüntüye kaynak işlemini başlatın ve tamamlanana kadar bekleyin.

    oc apply -f https://raw.githubusercontent.com/jboss-container-images/jboss-eap-openshift-templates/eap74/eap74-openjdk11-image-stream.json
    oc new-build --name=${APPLICATION_NAME} --binary --image-stream=jboss-eap74-openjdk11-openshift:7.4.0 -e CUSTOM_INSTALL_DIRECTORIES=extensions
    oc start-build ${APPLICATION_NAME} --from-dir=rhel-jboss-templates/eap-coffee-app --follow
    

Başarılı çıktı aşağıdaki örneğe benzer bir şeyle bitmelidir:

Writing manifest to image destination
Storing signatures
Successfully pushed image-registry.openshift-image-registry.svc:5000/eaparo-sample/javaee-cafe@sha256:754587c33c03bf42ba4f3ce5a11526bbfc82aea94961ce1179a415c2bfa73449
Push successful

Benzer bir çıkış görmüyorsanız devam etmeden önce sorunu giderin ve çözün.

Veritabanı parolası için gizli dizi oluşturma

Ardından, gizli dizi oluşturmak için aşağıdaki adımları kullanın:

  1. Veritabanının parolasını tutmak için bir gizli dizi oluşturmak için aşağıdaki komutu kullanın:

    oc create secret generic db-secret --from-literal=password=${DB_PASSWORD}
    
  2. Kümede kapsayıcılı uygulamanın üç çoğaltmasını dağıtmak ve çalıştırmak için aşağıdaki komutları kullanın:

    cat <<EOF | oc apply -f -
    apiVersion: wildfly.org/v1alpha1
    kind: WildFlyServer
    metadata:
      name: ${APPLICATION_NAME}
    spec:
      applicationImage: ${APPLICATION_NAME}:latest
      replicas: ${APP_REPLICAS}
      env:
        - name: DB_SERVICE_PREFIX_MAPPING
          value: TEST-MYSQL=DS1
        - name: TEST_MYSQL_SERVICE_HOST
          value: ${DB_HOST}
        - name: TEST_MYSQL_SERVICE_PORT
          value: '3306'
        - name: DS1_JNDI
          value: java:jboss/datasources/JavaEECafeDB
        - name: DS1_URL
          value: jdbc:mysql://${DB_HOST}:3306/${DB_DATABASE_NAME}
        - name: DS1_DRIVER
          value: mysql
        - name: DS1_DATABASE
          value: ${DB_DATABASE_NAME}
        - name: DS1_USERNAME
          value: ${DB_USERNAME}
        - name: DS1_PASSWORD
          valueFrom:
            secretKeyRef:
              name: db-secret
              key: password
      secrets:
        - db-secret
    EOF
    

    Komut başarıyla tamamlandıysa ifadesini görmeniz wildflyserver.wildfly.org/javaee-cafe createdgerekir. Bu çıkışı görmüyorsanız devam etmeden önce sorunu giderin ve çözün.

  3. Uygulamanın tüm podlarının çalışıp çalışmadığını izlemek için komutunu çalıştırın oc get pod -w | grep 1/1 . Aşağıdaki örneğe benzer bir çıktı gördüğünüzde, izlemeyi durdurmak için Ctrl + C tuşuna basın:

    javaee-cafe-2         1/1     Running             0          31s
    javaee-cafe-1         1/1     Running             0          30s
    javaee-cafe-0         1/1     Running             0          30s
    

    Uygun duruma ulaşmak birkaç dakika sürebilir. Ve öncesi Running de dahil olmak üzere ImagePullBackOffErrImagePull sütun değerlerinin gösterildiğini bile görebilirsinizSTATUS.

  4. Uygulamanın URL'sini döndürmek için aşağıdaki komutu çalıştırın. Dağıtılan örnek uygulamaya erişmek için bu URL'yi kullanabilirsiniz. Çıktıyı panoya kopyalayın.

    echo http://$(oc get route ${APPLICATION_NAME}-route -o=jsonpath='{.spec.host}')/javaee-cafe
    
  5. Çıkışı İnternet'e bağlı bir web tarayıcısına yapıştırın ve enter tuşuna basın. Java EE Cafe uygulamasının kullanıcı arabirimini aşağıdaki ekran görüntüsüne benzer şekilde görmeniz gerekir:

    Java EE Cafe uygulaması kullanıcı arabiriminin ekran görüntüsü.

  6. Veritabanı bağlantısının düzgün çalıştığını doğrulamak için bazı satırları ekleyin ve silin.

Kaynakları temizleme

OpenShift kümesini kullanmaya devam etmeyecekseniz, çalışma kaynak grubunuza geri dönün. Sayfanın üst kısmındaki Kaynak grubu metninin altında kaynak grubunu seçin. Ardından Kaynak grubunu sil'i seçin.

Sonraki adımlar

Şu bağlantıları izleyerek Azure'da JBoss EAP dağıtma hakkında daha fazla bilgi edinin: