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.
- Oturum açmak için kullandığınız Azure kimliğinin Katkıda Bulunan rolüne ve Kullanıcı Erişimi Yönetici istrator rolüne veya geçerli abonelikteki Sahip rolüne sahip olduğundan emin olun. Azure rollerine genel bakış için bkz. Azure rol tabanlı erişim denetimi (Azure RBAC) nedir?
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.
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.
Oturum açtıktan sonra OpenShift'i ve ardından İndirmeler'i seçin.
Tüm kategoriler açılan listesini ve ardından Belirteçler'i seçin.
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.
Aşağıdaki içerik, Red Hat konsol portalından kopyalanan ve kimlik doğrulama kodlarının ile
xxxx...xxx
değ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"}}}
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.
Azure portalı üzerinden Azure hesabınızda oturum açın.
Microsoft Entra Kimlik'i seçin.
Uygulama kayıtları’nı seçin.
Yeni kayıt öğesini seçin.
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.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.
Aşağıdaki adımları izleyerek yeni bir istemci gizli dizisi oluşturun:
- Sertifikalar ve gizli diziler'i seçin.
- İstemci gizli dizileri'ni ve ardından Yeni istemci gizli dizisi'ni seçin.
- Gizli dizi ve sürenin açıklamasını sağlayın. İşiniz bittiğinde Ekle'yi seçin.
- İ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.
- Kayıt Defteri Hizmeti Hesap Yönetimi Uygulaması'nda oturum açmak için Red Hat hesabınızı kullanın.
- Kayıt Defteri Hizmet Hesapları sayfasında Yeni Hizmet Hesabı'nı seçin.
- Hizmet Hesabı için bir ad belirtin. Ad sabit, rastgele bir dizeyle eklenir.
- Açıklama girin.
- oluştur’u seçin.
- Hizmet Hesaplarınıza geri dönün.
- Oluşturduğunuz Hizmet Hesabını seçin.
- Önceden eklenen dize de dahil olmak üzere kullanıcı adını not edin (başka bir ifadeyle
XXXXXXX|username
). oturumu açarkenregistry.redhat.io
bu kullanıcı adını kullanın. - Parolayı not edin. oturumu açarken bu parolayı
registry.redhat.io
kullanın.
- Önceden eklenen dize de dahil olmak üzere kullanıcı adını not edin (başka bir ifadeyle
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 .
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.
Ayrıca doğrudan Azure portalında Azure Red Hat OpenShift üzerinde JBoss EAP teklifine de gidebilirsiniz.
Teklif sayfasında Oluştur'u seçin.
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.
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.
Ö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.
İ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:
Yeni küme oluştur'un altında Evet'i seçin.
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.
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.
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.
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.
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.
Sonraki: Gözden geçirme ve oluşturma’yı seçin.
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.
Oluştur'u belirleyin.
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.
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" }
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.
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
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
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.
Herhangi bir Azure portalı sayfasının köşesinde hamburger menüsünü ve ardından Kaynak grupları'nı seçin.
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.
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.
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.
Gezinti bölmesinde Çıkışlar'ı seçin. Bu liste, dağıtımdan bazı yararlı bilgiler içeren çıkış değerlerini gösterir.
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" }
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.
Ardından, OpenShift CLI kullanarak OpenShift kümesine bağlanmak için aşağıdaki adımları kullanın:
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
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.
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
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:
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}
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 created
gerekir. Bu çıkışı görmüyorsanız devam etmeden önce sorunu giderin ve çözün.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 üzereImagePullBackOff
ErrImagePull
sütun değerlerinin gösterildiğini bile görebilirsinizSTATUS
.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
Çı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:
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: