Mengelola siklus hidup aplikasi pada klaster terkelola menggunakan Azure Resource Manager

Anda memiliki beberapa opsi untuk menyebarkan aplikasi Azure Service Fabric pada kluster terkelola Service Fabric Anda. Anda sebaiknya menggunakan Azure Resource Manager. Jika menggunakan Resource Manager, Anda dapat menjelaskan aplikasi dan layanan di JSON, lalu menerapkannya di templat Resource Manager yang sama dengan kluster Anda. Tidak seperti menggunakan PowerShell atau Azure CLI untuk menerapkan dan mengelola aplikasi, jika menggunakan Resource Manager, Anda tidak perlu menunggu kluster siap; pendaftaran, penyediaan, dan penyebaran aplikasi dapat dilakukan dalam satu langkah. Menggunakan Resource Manager adalah cara terbaik untuk mengelola siklus hidup aplikasi di kluster Anda. Untuk informasi selengkapnya, lihat Praktik terbaik: Infrastruktur sebagai kode.

Mengelola aplikasi sebagai sumber daya di Resource Manager dapat membantu Anda mendapatkan penyempurnaan di area berikut:

  • Jejak audit: Resource Manager mengaudit setiap operasi dan menyimpan log aktivitas terperinci. Log aktivitas dapat membantu Anda melacak perubahan yang dilakukan pada aplikasi dan kluster Anda.
  • Kontrol akses berbasis peran: Anda dapat mengelola akses ke kluster dan ke aplikasi yang diterapkan pada kluster dengan menggunakan templat Resource Manager yang sama.
  • Efisiensi manajemen: Menggunakan Resource Manager memberi Anda satu lokasi (portal Microsoft Azure) untuk mengelola kluster dan penerapan aplikasi penting Anda.

Dalam dokumen ini, Anda akan mempelajari cara:

  • Terapkan sumber daya aplikasi service fabric menggunakan Resource Manager.
  • Tingkatkan sumber daya aplikasi service fabric menggunakan Resource Manager.
  • Hapus sumber daya aplikasi service fabric.

Sebarkan sumber daya aplikasi Service Fabric

Langkah-langkah tingkat tinggi yang Anda ambil untuk menyebarkan aplikasi dan layanannya menggunakan model sumber daya aplikasi Resource Manager adalah:

  1. Kemas kode aplikasi.
  2. Unggah paket.
  3. Referensi lokasi paket dalam templat Resource Manager sebagai sumber daya aplikasi.

Untuk informasi selengkapnya, lihat Mengemas aplikasi.

Kemudian, Anda membuat templat Resource Manager, memperbarui {i>file Jelajahi sampel.

Buat akun penyimpanan

Untuk menyebarkan aplikasi dari templat Resource Manager, Anda harus memiliki akun penyimpanan. Akun penyimpanan digunakan untuk menampilkan citra aplikasi.

Anda dapat menggunakan kembali akun penyimpanan yang ada membuat akun penyimpanan baru untuk menampilkan aplikasi Anda. Jika menggunakan akun penyimpanan yang sudah ada, Anda dapat melewati langkah ini.

Create a storage account

Perhatian

Akses publik anonim ke data blob di akun penyimpanan Anda menimbulkan risiko keamanan. Saat Anda membuat akun penyimpanan, kami sarankan Anda menonaktifkan akses publik anonim ke data blob di tingkat akun, dengan mengatur properti AllowBlobPublicAccess ke false. Untuk informasi selengkapnya, lihat Memulihkan akses baca publik anonim ke data blob (penyebaran Azure Resource Manager).

Mencadangkan akun penyimpanan Anda

Setelah akun penyimpanan dibuat, Anda membuat kontainer blob tempat aplikasi dapat ditampilkan. Di portal Microsoft Azure, buka akun Azure Storage tempat Anda ingin menyimpan aplikasi. Pilih Blob>Tambahkan Kontainer.

Anda dapat memberikan akses ke kontainer dengan salah satu cara berikut:

  • Anda dapat menetapkan peran Azure RBAC yang memberikan izin ke kontainer kepada perwakilan keamanan, sehingga prinsip keamanan dapat mengakses data dalam kontainer melalui otorisasi Microsoft Entra. Untuk informasi selengkapnya, lihat Mengotorisasi akses ke blob menggunakan ID Microsoft Entra.
  • Anda dapat mendelegasikan akses ke kontainer dengan tanda tangan akses bersama untuk memberikan akses klien ke blob dalam kontainer untuk jangka waktu terbatas dan dengan izin tertentu. Untuk informasi selengkapnya, lihat Berikan akses terbatas ke sumber daya Azure Storage menggunakan tanda tangan akses bersama (SAS).
  • Anda dapat menggunakan kunci akses akun untuk mengotorisasi akses ke data blob. Pendekatan ini paling tidak aman dan tidak disarankan.

Letakkan aplikasi di akun penyimpanan Anda

Sebelum dapat menyebarkan aplikasi, Anda harus meletakkan aplikasi dalam penyimpanan blob. Dalam tutorial ini, kita membuat paket aplikasi secara manual. Perlu diingat bahwa langkah ini dapat dilakukan secara otomatis. Untuk informasi selengkapnya, lihat Mengemas aplikasi.

Dalam tutorial ini, kita menggunakan aplikasi sampel Pemungutan Suara.

  1. Di Visual Studio, klik kanan proyek Pemungutan Suara, lalu pilih Paket.

    Package Application

  2. Buka direktori .\service-fabric-dotnet-quickstart\Voting\pkg\Debu. Zip konten ke dalam file yang disebut Voting.zip. File ApplicationManifest.xml harus berada di root dalam file zip.

    Zip Application

  3. Ganti nama file untuk mengubah ekstensi dari .zip menjadi .sfpkg.

  4. Di portal Microsoft Azure, di kontainer aplikasi untuk akun penyimpanan Anda, pilih Unggah, lalu unggah Voting.sfpkg.

    Upload App Package

Sekarang, aplikasi kini diletakkan dan Anda dapat membuat templat Resource Manager untuk menyebarkan aplikasi.

Buat templat Resource Manager

Aplikasi sampel berisi templat Azure Resource Manager yang dapat Anda gunakan untuk menyebarkan aplikasi. Nama file templat UserApp.json dan UserApp.Parameters.json.

Catatan

Daftar file UserApp.Parameters.json harus diperbarui dengan nama kluster Anda.

Parameter Deskripsi Contoh Komentar
clusterName Nama kluster tempat Anda menyebarkan sf-cluster123
aplikasi Nama aplikasi Pemungutan suara
versi ID sumber daya, jenis aplikasi, dan versi aplikasi. /providers/Microsoft.ServiceFabric/managedClusters/sf-cluster-123/applicationTypes/VotingType/versions/1.0.0 Harus cocok dengan ApplicationManifest.xml
serviceName Nama layanan VotingWeb Harus dalam format ServiceType
serviceTypeName Nama jenis layanan VotingWebType Harus cocok dengan ServiceManifest.xml
appPackageUrl URL penyimpanan blob aplikasi https://servicefabricapps.blob.core.windows.net/apps/Voting.sfpkg URL paket aplikasi dalam penyimpanan blob (prosedur untuk mengatur URL dijelaskan nanti dalam artikel)
{
    "apiVersion": "2021-05-01",
    "type": "Microsoft.ServiceFabric/managedclusters/applications",
    "name": "[concat(parameters('clusterName'), '/', parameters('applicationName'))]",
    "location": "[variables('clusterLocation')]",
},
{
    "apiVersion": "2021-05-01",
    "type": "Microsoft.ServiceFabric/managedclusters/applicationTypes",
    "name": "[concat(parameters('clusterName'), '/', parameters('applicationTypeName'))]",
    "location": "[variables('clusterLocation')]",
},
{
    "apiVersion": "2021-05-01",
    "type": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions",
    "name": "[concat(parameters('clusterName'), '/', parameters('applicationTypeName'), '/', parameters('applicationTypeVersion'))]",
    "location": "[variables('clusterLocation')]",
},
{
    "apiVersion": "2021-05-01",
    "type": "Microsoft.ServiceFabric/managedclusters/applications/services",
    "name": "[concat(parameters('clusterName'), '/', parameters('applicationName'), '/', parameters('serviceName'))]",
    "location": "[variables('clusterLocation')]"
}

Sebarkan aplikasi Service Fabric

Jalankan cmdlet New-AzResourceGroupDeployment untuk menyebarkan aplikasi ke grup sumber daya yang berisi kluster Anda:

New-AzResourceGroupDeployment -ResourceGroupName "sf-cluster-rg" -TemplateParameterFile ".\UserApp.Parameters.json" -TemplateFile ".\UserApp.json" -Verbose

Tingkatkan aplikasi Service Fabric menggunakan Resource Manager

Penting

Layanan apa pun yang disebarkan melalui templat Azure Resource Manager (ARM) harus dihapus dari bagian DefaultServices dari {i>file

Anda dapat meningkatkan aplikasi yang sudah disebarkan ke kluster Service Fabric karena salah satu alasan berikut:

  • Layanan baru ditambahkan ke aplikasi. Definisi layanan harus ditambahkan ke file service-manifest.xml dan application-manifest.xml saat layanan ditambahkan ke aplikasi. Untuk mencerminkan versi baru aplikasi, Anda juga harus mengubah versi jenis aplikasi dari 1.0.0 ke 1.0.1 di UserApp.Parameters.json:

    "applicationTypeVersion": {
        "value": "1.0.1"
    },
    "serviceName2": {
        "value": "VotingData"
    },
    "serviceTypeName2": {
        "value": "VotingDataType"
    }
    
  • Versi baru dari layanan yang ada ditambahkan ke aplikasi. Contohnya mencakup perubahan kode aplikasi dan pembaruan untuk versi dan nama jenis aplikasi. Untuk peningkatan ini, UserApp.Parameters.json seperti ini:

     "applicationTypeVersion": {
        "value": "1.0.1"
    }
    

Hapus sumber daya aplikasi Service Fabric

Catatan

Aplikasi tidak boleh dihapus melalui templat Azure Resource Manager (ARM) karena tidak ada cara deklaratif untuk membersihkan sumber daya individu

Untuk menghapus aplikasi service fabric yang disebarkan menggunakan model sumber daya aplikasi di Resource Manager:

  1. Gunakan cmdlet Get-AzResource untuk mendapatkan ID sumber daya untuk aplikasi:

    Get-AzResource  -Name <String> | f1
    
  2. Gunakan cmdlet Remove-AzServiceFabricApplication untuk menghapus sumber daya aplikasi:

    Remove-AzServiceFabricApplication -ResourceId <String> [-Force]
    

Migrasi dari kluster klasik ke yang dikelola

Jika Anda memigrasikan aplikasi dari kluster klasik ke yang dikelola, Anda harus memastikan untuk memvalidasi jenis ditentukan dengan benar atau Anda akan mengalami kesalahan.

Item berikut dipanggil secara khusus karena frekuensi penggunaan, tetapi tidak dimaksudkan sebagai daftar perbedaan eksklusif.

  • upgradeReplicaSetCheckTimeout sekarang menjadi bilangan bulat untuk dikelola, tetapi untaian pada SFRP klasik.

Lihat jenis sumber daya aplikasi kluster terkelola untuk daftar lengkap properti dan jenis

Langkah berikutnya

Pelajari lebih lanjut tentang penyebaran aplikasi kluster terkelola: