Bagikan melalui


Dukungan penerapan Docker Compose di Azure Service Fabric (Pratinjau)

Docker menggunakan file docker-compose.yml untuk mendefinisikan aplikasi multi-kontainer. Untuk memudahkan pelanggan yang akrab dengan Docker untuk mengatur aplikasi kontainer yang ada di Azure Service Fabric, kami telah menyertakan dukungan pratinjau untuk penyebaran Docker Compose secara asli di platform. Service Fabric dapat menerima file versi 3 dan yang lebih docker-compose.yml baru.

Karena dukungan ini dalam pratinjau, hanya subkumpulan direktif Compose yang didukung.

Untuk menggunakan pratinjau ini, buat klaster Anda dengan versi 5.7 atau yang lebih besar dari runtime Service Fabric melalui portal Azure bersama dengan SDK yang sesuai.

Catatan

Fitur ini dalam pratinjau dan tidak didukung dalam produksi. Contoh di bawah ini didasarkan pada runtime versi 6.0 dan SDK versi 2.8.

Menyebarkan file Docker Compose pada Service Fabric

Perintah berikut membuat aplikasi Service Fabric (bernama fabric:/TestContainerApp), yang dapat Anda pantau dan kelola seperti aplikasi Service Fabric lainnya. Anda dapat menggunakan nama aplikasi yang ditentukan untuk kueri kesehatan. Service Fabric mengenali "DeploymentName" sebagai pengidentifikasi penyebaran Compose.

Menggunakan PowerShell

Buat penyebaran Service Fabric Compose dari file docker-compose.yml dengan menjalankan perintah berikut di PowerShell:

New-ServiceFabricComposeDeployment -DeploymentName TestContainerApp -Compose docker-compose.yml [-RegistryUserName <>] [-RegistryPassword <>] [-PasswordEncrypted]

RegistryUserName dan RegistryPassword lihat nama pengguna dan kata sandi registri kontainer. Setelah menyelesaikan penyebaran, Anda dapat memeriksa statusnya dengan menggunakan perintah berikut:

Get-ServiceFabricComposeDeploymentStatus -DeploymentName TestContainerApp

Untuk menghapus penyebaran Compose melalui PowerShell, gunakan perintah berikut ini:

Remove-ServiceFabricComposeDeployment  -DeploymentName TestContainerApp

Untuk memulai peningkatan penyebaran Compose melalui PowerShell, gunakan perintah berikut:

Start-ServiceFabricComposeDeploymentUpgrade -DeploymentName TestContainerApp -Compose docker-compose-v2.yml -Monitored -FailureAction Rollback

Untuk mengembalikan peningkatan penyebaran Compose melalui PowerShell, gunakan perintah berikut:

Start-ServiceFabricComposeDeploymentRollback -DeploymentName TestContainerApp

Setelah peningkatan diterima, progres peningkatan dapat dilacak menggunakan perintah berikut:

Get-ServiceFabricComposeDeploymentUpgrade -DeploymentName TestContainerApp

Gunakan Azure Service Fabric CLI (sfctl)

Atau, Anda dapat menggunakan perintah Service Fabric CLI:

sfctl compose create --deployment-name TestContainerApp --file-path docker-compose.yml [ [ --user --encrypted-pass ] | [ --user --has-pass ] ] [ --timeout ]

Setelah membuat penyebaran, Anda dapat memeriksa statusnya dengan menggunakan perintah berikut:

sfctl compose status --deployment-name TestContainerApp [ --timeout ]

Untuk menghapus penyebaran Compose, gunakan perintah berikut:

sfctl compose remove  --deployment-name TestContainerApp [ --timeout ]

Untuk memulai peningkatan penyebaran Compose, gunakan perintah berikut:

sfctl compose upgrade --deployment-name TestContainerApp --file-path docker-compose-v2.yml [ [ --user --encrypted-pass ] | [ --user --has-pass ] ] [--upgrade-mode Monitored] [--failure-action Rollback] [ --timeout ]

Untuk mengembalikan peningkatan penyebaran Compose, gunakan perintah berikut:

sfctl compose upgrade-rollback --deployment-name TestContainerApp [ --timeout ]

Setelah peningkatan diterima, progres peningkatan dapat dilacak menggunakan perintah berikut:

sfctl compose upgrade-status --deployment-name TestContainerApp

Direktif Compose yang didukung

Pratinjau ini mendukung subkumpulan opsi konfigurasi dari format Compose version 3, termasuk primitif berikut:

  • Layanan > Sebarkan > Replicas
  • Layanan > Sebarkan > Penempatan > Batasan
  • Layanan > Menyebarkan > Batas Sumber Daya >
    • -cpu-shares
    • -memory
    • -memory-swap
  • Perintah > Layanan
  • Perintah > Lingkungan
  • Perintah > Port
  • Perintah > Gambar
  • Layanan > Isolasi (hanya untuk Windows)
  • Layanan > Logging > Driver
  • Layanan > Logging > Driver > Opsi
  • Volume & Sebarkan > Volume

Siapkan klaster untuk memberlakukan batas sumber daya, seperti yang dijelaskan dalam tata kelola sumber daya Service Fabric. Semua arahan Docker Compose lainnya tidak didukung untuk pratinjau ini.

Bagian Port

Tentukan protokol http atau https di bagian Port yang akan digunakan oleh pendengar layanan Service Fabric. Ini akan memastikan bahwa protokol endpoint diterbitkan dengan benar dengan layanan penamaan untuk memungkinkan proksi terbalik meneruskan permintaan:

  • Untuk rute ke layanan Service Fabric Compose yang tidak aman, tentukan /http. Contohnya, - "80:80/http".
  • Untuk rute ke layanan Service Fabric Compose yang aman, tentukan /https. Contohnya, - "443:443/https".

Catatan

Sintaks bagian /http dan /https Ports khusus untuk Service Fabric untuk mendaftarkan URL pendengar Service Fabric yang benar. Jika sintaks file compose Docker divalidasi secara terprogram, itu dapat menyebabkan kesalahan validasi.

omputasi ServiceDnsName

Jika nama layanan yang Anda tentukan dalam file Compose adalah nama domain yang sepenuhnya memenuhi syarat (yaitu, berisi titik [.]), nama DNS yang didaftarkan oleh Service Fabric adalah <ServiceName> (termasuk titik). Jika tidak, setiap segmen jalur dalam nama aplikasi menjadi label domain di nama DNS layanan, dengan segmen jalur pertama menjadi label domain tingkat atas.

Contohnya, jika nama aplikasi yang ditentukan adalah fabric:/SampleApp/MyComposeApp, <ServiceName>.MyComposeApp.SampleApp akan menjadi nama DNS terdaftar.

Penyebaran compose (definisi instans) versus model aplikasi Service Fabric (definisi tipe)

File docker-compose.yml menjelaskan serangkaian kontainer yang dapat disebarkan, termasuk properti dan konfigurasinya. Contohnya, file dapat berisi variabel lingkungan dan port. Anda juga dapat menentukan parameter penyebaran, seperti batasan penempatan, batas sumber daya, dan nama DNS, dalam file docker-compose.yml.

Model aplikasi Service Fabric menggunakan jenis layanan dan jenis aplikasi, di mana Anda dapat memiliki banyak instans aplikasi dengan jenis yang sama. Misalnya, Anda dapat memiliki satu instans aplikasi per pelanggan. Model berbasis tipe ini mendukung beberapa versi dari jenis aplikasi yang sama yang terdaftar dengan runtime.

Misalnya, pelanggan A dapat memiliki aplikasi yang instansiasi dengan tipe 1.0 dari AppTypeA, dan pelanggan B dapat memiliki aplikasi lain yang di-instansiasi dengan jenis dan versi yang sama. Anda menentukan jenis aplikasi dalam manifes aplikasi, dan Anda menentukan nama aplikasi dan parameter penyebaran saat Anda membuat aplikasi.

Meskipun model ini menawarkan fleksibilitas, kami juga berencana untuk mendukung model penyebaran berbasis instans yang lebih sederhana di mana jenisnya implisit dari file manifes. Dalam model ini, setiap aplikasi mendapatkan manifes independennya sendiri. Kami mempratinjau upaya ini dengan menambahkan dukungan untuk docker-compose.yml, yang merupakan format penyebaran berbasis instans.

Langkah berikutnya