Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, kaynaktan görüntüye (S2I) derlemesini kullanarak bir uygulamayı kaynak koddan Azure Red Hat OpenShift kümesine dağıtacaksınız. Kaynaktan Görüntüye (S2I), kaynak koddan yeniden üretilebilir kapsayıcı görüntüleri oluşturmaya yönelik bir derleme işlemidir. S2I, bir kapsayıcı görüntüsüne kaynak kodu ekleyerek ve kapsayıcının bu kaynak kodu yürütme için hazırlamasına izin vererek çalışmaya hazır görüntüler oluşturur. OpenShift'in dağıtmak için kaynaktan bir uygulama oluşturmasını sağlayabilirsiniz, böylece her değişiklikle el ile bir kapsayıcı oluşturmanız gerekmez. OpenShift, kaynak kod değişiklikleri bildirildiğinde yeni sürümleri otomatik olarak derleyebilir ve dağıtabilir.
Başlamadan önce
Uyarı
Bu makalede bir çekme gizli dizisi ayarladığınız varsayılır. Kümeniz için çekme gizli diziniz yoksa, Red Hat çekme gizli dizinizi eklemek veya güncelleştirmek için belgeleri izleyebilirsiniz.
Küme oluşturma
Azure Red Hat OpenShift kümesi oluşturma öğreticisini izleyin. Komut satırı arabirimini (CLI) yerel olarak yükleyip kullanmayı seçerseniz, bu öğretici için Azure CLI sürüm 2.6.0 veya üzerini kullanmanız gerekir. Geçerli sürümünüzü bulmak için az --version
komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI'yı yükleme.
Kümeye bağlanma
Azure Red Hat OpenShift kümesini yönetmek için OpenShift komut satırı istemcisi olan oc'yi kullanmanız gerekir.
Uyarı
Azure Cloud Shell'deOpenShift komut satırını yüklemenizi ve bu makaledeki tüm komut satırı işlemleri için kullanmanızı öneririz. kabuğunuzu shell.azure.com açın veya bağlantıyı seçin:
CLI'nizi yüklemek, küme kimlik bilgilerinizi almak ve web konsolu ve OpenShift CLI ile kümeye bağlanmak için öğreticiyi izleyin.
Oturum açtıktan sonra projeyi kullandığınızı default
belirten bir ileti görmeniz gerekir.
Login successful.
You have access to 61 projects, the list has been suppressed. You can list all projects with 'oc projects'
Using project "default".
Proje oluştur
adlı demoproject
yeni bir proje oluşturmak için komutunu çalıştırın:
oc new-project demoproject
Şuna benzer bir çıkış görmeniz gerekir:
Now using project "demoproject" on server "https://api.wzy5hg7x.eastus.aroapp.io:6443".
You can add applications to this project with the 'new-app' command. For example, try:
oc new-app django-psql-example
to build a new example application in Python. Or use kubectl to deploy a simple Kubernetes application:
kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node
Web konsolunu başlatma
Şunu çalıştırarak küme web konsolu URL'sini öğrenin:
az aro show \
--name <cluster name> \
--resource-group <resource group> \
--query "consoleProfile.url" -o tsv
Buna benzer bir URL almalısınız.
https://console-openshift-console.apps.wzy5hg7x.eastus.aroapp.io/
Konsol URL'sini bir tarayıcıda başlatın ve kimlik bilgilerini kullanarak kubeadmin
oturum açın.
Sol taraftaki menüde Yönetici perspektifi yerine Geliştirici perspektifine geçin ve proje listesinden öğesini seçindemoproject
. Daha sonra projenin Topoloji sayfasında olmanız gerekir.
Proje boş olduğundan iş yükü bulunmamalıdır ve bir uygulamayı nasıl dağıtabileceğinize ilişkin çeşitli seçenekler sunulur.
Web konsolunu kullanarak dağıtma
Bir uygulamayı dağıtmak için sunulan seçeneklerden Git'ten'i seçin. Bu işlem, Git'ten içeri aktar sayfasına gitmenizi sağlayacaktır. Git Deposu URL'si https://github.com/sclorg/django-ex.git
olarak kullanın. Örnek web uygulaması Python programlama dili kullanılarak uygulanır.
Uyarı
OpenShift bunun bir Python projesi olduğunu algılar ve uygun oluşturucu görüntüsünü seçer.
Ekranı aşağı kaydırarak Gelişmiş Seçenekler'e gelin ve Uygulamaya yol oluştur seçeneğinin işaretli olduğundan emin olun. Bu eylem, bir hizmeti dışarıdan erişilebilen bir konak adı vererek kullanıma sunmanın bir yolu olan bir OpenShift yolu oluşturur.
Hazır olduğunuzda, sayfanın alt kısmında Oluştur'a tıklayın. Bu, uygulamanın derlemesini ve dağıtımını yönetmek için kaynaklar oluşturur. Ardından proje için topolojiye genel bakışa yönlendirilirsiniz.
Topolojiye genel bakış, dağıtmış olduğunuz uygulamanın görsel bir gösterimini sağlar. Bu görünümle, genel uygulama yapısını görebilirsiniz.
Git simgesine tıklayarak sizi uygulamanın kaynak kodunun oluşturulduğu Git deposuna götürebilirsiniz. Sol altta gösterilen simge, uygulamanın derleme durumunu gösterir. Bu simgeye tıkladığınızda derleme ayrıntıları bölümüne gidin. Uygulamada kullanıma sunulan yollar varsa, sağ üstteki simgeye tıklayarak oluşturulan uygulama yolunun URL'sini açabilirsiniz.
Uygulama ölçeği artırma veya azaltma, dağıtımları başlatma ve podları yeniden oluşturma işlemleri sırasında topoloji görünümündeki uygulama gösterimi, size neler olduğuna ilişkin gerçek zamanlı bir görünüm sağlayacak şekilde animasyonlu olacaktır.
Uygulama simgesine tıklanması aşağıda gösterildiği gibi daha fazla ayrıntı getirir.
Oluşturucu günlüklerini görüntüleme
Derleme başladıktan sonra Kaynaklar panelinde gösterilen Günlükleri Görüntüle bağlantısına tıklayın.
Bu, çalıştırılırken derlemenin ilerleme durumunu izlemenize olanak sağlar. Bu örnekte python oluşturucu görüntüsü, uygulama kaynak kodunu OpenShift iç görüntü kayıt defterine göndermeden önce son görüntüye ekler. "Gönderme başarılı" son iletisini gördüğünüzde derleme başarıyla tamamlanmış olur.
Uygulamaya erişme
Uygulama görüntüsünün derlemesi tamamlandıktan sonra dağıtılır.
Projenin topoloji görünümüne dönmek için sol taraftaki menü çubuğunda Topoloji'ye tıklayın. Web konsolunu kullanarak uygulamayı oluşturduğunuzda, uygulama için otomatik olarak bir Yol oluşturulur ve kümenin dışında kullanıma sunulur. Uygulamaya bir web tarayıcısından erişmek için kullanılabilecek URL, daha önce görüntülediğiniz uygulamanın Kaynaklar sekmesinde görünürdü.
Topoloji görünümünden halkanın sağ üst kısmındaki simgeye tıklayarak dağıtılan uygulamanın URL'sine ulaşabilirsiniz. Dağıtım tamamlandığında simgeye tıkladığınızda dağıttığınız uygulamayı görmeniz gerekir.
Komut satırını kullanarak dağıtma
Web konsolunu kullanarak bir uygulamayı dağıtmayı öğrendiniz, şimdi aynı web uygulamasını dağıtalım, ancak bu kez komut satırı aracını kullanarak oc
.
Projeyi silmek ve baştan başlamak için aşağıdaki komutu çalıştırın:
oc delete project demoproject
silindiğini belirten demoproject
bir onay iletisi almalısınız.
project.project.openshift.io "demoproject" deleted
demoproject
komutunu çalıştırarak öğesini yeniden oluşturun:
oc new-project demoproject
Proje içinde, Sağlanan en son Python sürümü için S2I oluşturucusunu belirterek GitHub'da kaynaktan yeni bir uygulama oluşturun.
oc new-app python:latest~https://github.com/sclorg/django-ex.git
Bunun aşağıdakine benzer bir çıkış görüntülemesi gerekir:
--> Found image 8ec6f0d (4 weeks old) in image stream "openshift/python" under tag "latest" for "python:latest"
Python 3.8
----------
[...]
Tags: builder, python, python38, python-38, rh-python38
* A source build using source code from https://github.com/sclorg/django-ex.git will be created
* The resulting image will be pushed to image stream tag "django-ex:latest"
* Use 'oc start-build' to trigger a new build
* This image will be deployed in deployment config "django-ex"
* Port 8080/tcp will be load balanced by service "django-ex"
* Other containers can access this service through the hostname "django-ex"
--> Creating resources ...
imagestream.image.openshift.io "django-ex" created
buildconfig.build.openshift.io "django-ex" created
deploymentconfig.apps.openshift.io "django-ex" created
service "django-ex" created
--> Success
Build scheduled, use 'oc logs -f bc/django-ex' to track its progress.
Application is not exposed. You can expose services to the outside world by executing one or more of the commands below:
'oc expose svc/django-ex'
Run 'oc status' to view your app.
OpenShift, uygulamanın adı olarak Git deposunun adını kullanır. Çalıştırarak derleme ve dağıtımın durumunu gözden geçirin:
oc status
Derleme ve dağıtım tamamlandığında şuna benzer bir çıkış görmeniz gerekir.
In project demoproject on server https://api.wzy5hg7x.eastus.aroapp.io:6443
svc/django-ex - 172.30.200.50:8080
dc/django-ex deploys istag/django-ex:latest <-
bc/django-ex source builds https://github.com/sclorg/django-ex.git on openshift/python:latest
deployment #1 deployed about a minute ago - 1 pod
2 infos identified, use 'oc status --suggest' to see details.
Uygulamayı OpenShift kümesinin dışında kullanıma açmak için aşağıdakini çalıştırarak bir yol oluşturmanız gerekir:
oc expose service/django-ex
Bir onay almalısınız.
route.route.openshift.io/django-ex exposed
Şunu çalıştırarak URL'yi alın:
oc get route django-ex
Dağıtılan uygulamaya göz atmak için kullanabileceğiniz yola atanan ana bilgisayar adını geri almanız gerekir.
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
django-ex django-ex-demoproject.apps.wzy5hg7x.eastus.aroapp.io django-ex 8080-tcp None
Yeni ikili derleme tetikleme
Uygulama üzerinde çalışırken, büyük olasılıkla değişiklikler yapmak ve bunların dağıtılmasını görmek istersiniz. Her kod işlemesiyle yeni bir derleme ve dağıtım tetikleyecek bir web kancasını kolayca ayarlayabilirsiniz. Ancak, bazen her kod değişikliğini depoya göndermek zorunda kalmadan değişiklikleri görmek istediğiniz için bu istenmeyebilir.
Değişiklikleri hızla yinelediğiniz durumlarda ikili derleme olarak adlandırılan sürümü kullanabilirsiniz. Bu senaryoyu göstermek için aşağıdaki komutu çalıştırarak uygulamanın Git deposunu yerel olarak kopyalayın:
git clone https://github.com/sclorg/django-ex.git
Bu, uygulamanın kaynak kodunu içeren bir alt dizin django-ex
oluşturur:
Cloning into 'django-ex'...
remote: Enumerating objects: 980, done.
remote: Total 980 (delta 0), reused 0 (delta 0), pack-reused 980
Receiving objects: 100% (980/980), 276.23 KiB | 4.85 MiB/s, done.
Resolving deltas: 100% (434/434), done.
Alt dizine geçin:
cd django-ex
Tümleşik Azure Cloud Shell düzenleyicisini açın:
code welcome/templates/welcome/index.html
Ekranı aşağı kaydırın ve ifadesinin Welcome to your Django application on OpenShift
olduğu Welcome to Azure Red Hat OpenShift
satırı değiştirin. Dosyayı kaydedin ve sağ üstteki menüden düzenleyiciyi ...
kapatın.
komutunu çalıştırarak yeni bir derleme başlatın:
oc start-build django-ex --from-dir=. --wait
Bayrağı geçirerek --from-dir=.
OpenShift komut satırı belirtilen dizinden kaynak kodu karşıya yükler ve ardından derleme ve dağıtım işlemini başlatır. Aşağıdakine benzer bir çıkış almanız gerekir ve birkaç dakika sonra derleme tamamlanmalıdır.
Uploading directory "." as binary input for the build ...
.
Uploading finished
build.build.openshift.io/django-ex-2 started
Tarayıcıyı uygulamayla yenilerseniz güncelleştirilmiş başlığı görmeniz gerekir.
Kaynakları temizle
Uygulamayla işiniz bittiğinde, projeyi silmek için aşağıdaki komutu çalıştırabilirsiniz:
oc delete project demoproject
Öğretici: Azure Red Hat OpenShift 4 kümesini silme başlığı altındaki yönergeleri izleyerek de kümeyi silebilirsiniz.
Sonraki Adımlar
Bu kılavuzda şunların nasıl yapılacağını öğrendiniz:
- Proje oluştur
- Web konsolunu kullanarak kaynak koddan uygulama dağıtma
- OpenShift komut satırını kullanarak kaynak koddan uygulama dağıtma
- OpenShift komut satırını kullanarak ikili derleme tetikleme
Kaynak-görüntü ve diğer derleme stratejilerini kullanarak uygulama derleme ve dağıtma hakkında daha fazla bilgi edinin.