Öğretici: Aks için uygulama hazırlama
Şunlar için geçerlidir: Azure Stack HCI 22H2 üzerinde AKS, Windows Server'da AKS
Yedinin birinci bölümü olan bu öğreticide, Azure Arc tarafından etkinleştirilen Azure Kubernetes Service kullanırken kubernetes kümesinde kullanılmak üzere çok kapsayıcılı bir uygulama hazırlanmıştır. Docker Compose gibi mevcut geliştirme araçları, bir uygulamayı yerel olarak derlemek ve test etmek için kullanılır.
Aşağıdakileri nasıl yapacağınızı öğrenirsiniz:
- Örnek bir uygulama kaynağını GitHub’dan kopyalama
- Örnek uygulama kaynağından kapsayıcı görüntüsü oluşturma
- Çok kapsayıcılı uygulamayı yerel bir Docker ortamında test etme
Tamamlandıktan sonra, aşağıdaki uygulama yerel geliştirme ortamınızda çalışacaktır:
Sonraki öğreticilerde kapsayıcı görüntüsü bir Azure Container Registry yüklenir ve ardından kubernetes kümesine dağıtılır.
Başlamadan önce
Bu öğreticide kapsayıcılar, kapsayıcı görüntüleri ve docker
komutları gibi temel Docker kavramları hakkında bilgi sahibi olduğunuz varsayılmıştır. Kapsayıcı temelleri hakkında bilgi için bkz. Docker ile çalışmaya başlama.
Bu öğreticiyi tamamlamak için Linux kapsayıcılarını çalıştıran yerel bir Docker geliştirme ortamı gerekir. Docker, Windows üzerinde Docker'ı yapılandıran paketler sağlar.
Not
AKS, bu öğreticilerdeki her adımı tamamlamak için gereken Docker bileşenlerini içermez. Bu yüzden, eksiksiz bir Docker geliştirme ortamı kullanmanızı öneririz.
Uygulama kodunu alma
Bu öğreticide kullanılan örnek uygulama , ön uç web bileşeni ve arka uç Redis örneğinden oluşan temel bir oylama uygulamasıdır. Web bileşeni, özel kapsayıcı görüntüsüne paketlenmiştir. Redis örneği, Docker Hub’dan alınan değiştirilmemiş bir görüntü kullanır.
Örnek uygulamayı geliştirme ortamınıza kopyalamak için GitHub'ı kullanın:
git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
Kopyalanan dizine geçin:
cd azure-voting-app-redis
Dizinin içinde uygulama kaynak kodu, önceden oluşturulmuş Docker Compose dosyası ve Kubernetes bildirim dosyası bulunur. Bu dosyalar öğretici kümesi boyunca kullanılır. Dizinin içeriği ve yapısı aşağıdaki gibidir:
azure-voting-app-redis
│ azure-vote-all-in-one-redis.yaml
│ docker-compose.yaml
│ LICENSE
│ README.md
│
├───azure-vote
│ │ app_init.supervisord.conf
│ │ Dockerfile
│ │ Dockerfile-for-app-service
│ │ sshd_config
│ │
│ └───azure-vote
│ │ config_file.cfg
│ │ main.py
│ │
│ ├───static
│ │ default.css
│ │
│ └───templates
│ index.html
│
└───jenkins-tutorial
config-jenkins.sh
deploy-jenkins-vm.sh
Kapsayıcı görüntüleri oluşturma
Kapsayıcı görüntüleri oluşturmayı ve çok kapsayıcılı uygulamaların dağıtımını otomatikleştirmek için Docker Compose'u kullanabilirsiniz.
Kapsayıcı görüntüsünü oluşturmak için örnek docker-compose.yaml
dosyasını çalıştırın, Redis görüntüsünü indirin ve uygulamayı başlatın:
docker-compose up -d
Tamamlandığında, oluşturulan görüntüleri görmek için docker images komutunu kullanın. Üç görüntü indirildi veya oluşturuldu. azure-vote-front görüntüsü ön uç uygulamasını içerir ve nginx-flask görüntüsünü temel olarak kullanır. Redis görüntüsü redis örneğini başlatmak için kullanılır.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mcr.microsoft.com/azuredocs/azure-vote-front v1 84b41c268ad9 9 seconds ago 944MB
mcr.microsoft.com/oss/bitnami/redis 6.0.8 3a54a920bb6c 2 days ago 103MB
tiangolo/uwsgi-nginx-flask python3.6 a16ce562e863 6 weeks ago 944MB
Çalışan kapsayıcıları görmek için docker ps komutunu çalıştırın:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d10e5244f237 mcr.microsoft.com/azuredocs/azure-vote-front:v1 "/entrypoint.sh /sta…" 3 minutes ago Up 3 minutes 443/tcp, 0.0.0.0:8080->80/tcp azure-vote-front
21574cb38c1f mcr.microsoft.com/oss/bitnami/redis:6.0.8 "/opt/bitnami/script…" 3 minutes ago Up 3 minutes 0.0.0.0:6379->6379/tcp azure-vote-back
Uygulamayı yerel olarak test etme
Çalışan uygulamayı görmek için yerel web tarayıcısına http://localhost:8080
yazın. Örnek uygulama aşağıdaki örnekte gösterilen şekilde yüklenir:
Kaynakları temizleme
Uygulamanın işlevselliği doğrulandığından, çalışan kapsayıcılar durdurulabilir ve kaldırılabilir. Kapsayıcı görüntülerini silmeyin. Sonraki öğreticide azure-vote-front görüntüsü bir Azure Container Registry örneğine yüklenir.
docker-compose down komutuyla kapsayıcı örneklerini ve kaynakları durdurabilir ve kaldırabilirsiniz:
docker-compose down
Yerel uygulamayı kaldırdığınızda, sonraki öğreticide kullanmak üzere Azure Vote uygulamasını ( azure-vote-front) içeren bir Docker görüntüye sahip olursunuz.
Sonraki adımlar
Bu öğreticide bir uygulama test edildi ve bu uygulamaya yönelik kapsayıcı görüntüleri oluşturuldu. Şunları öğrendiniz:
- Örnek bir uygulama kaynağını GitHub’dan kopyalama
- Örnek uygulama kaynağından kapsayıcı görüntüsü oluşturma
- Çok kapsayıcılı uygulamayı yerel bir Docker ortamında test etme
Kapsayıcı görüntülerini Azure Container Registry’de depolamayı öğrenmek için sonraki öğreticiye geçin.