Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ikhtisar panduan pengukuran
Saat merencanakan penyebaran layanan data Azure Arc, rencanakan jumlah yang benar:
- Menghitung
- Memori
- Penyimpanan
Sumber daya ini diperlukan untuk:
- Pengontrol data
- Instans SQL yang dikelola
- Server PostgreSQL
Karena layanan data yang didukung Azure Arc di-deploy di Kubernetes, Anda memiliki fleksibilitas untuk menambah kapasitas ke kluster Kubernetes dari waktu ke waktu melalui node komputasi atau penyimpanan. Panduan ini menjelaskan persyaratan minimum dan merekomendasikan ukuran untuk beberapa persyaratan umum.
Persyaratan pengukuran umum
Catatan
Jika tidak terbiasa dengan konsep dalam artikel ini, Anda dapat membaca selengkapnya tentang Tata kelola sumber daya Kubernetes dan Notasi ukuran Kubernetes.
Angka inti harus berupa nilai bilangan bulat yang lebih besar dari atau sama dengan satu.
Saat Anda menyebarkan dengan Azure CLI (az), gunakan kekuatan dua angka untuk mengatur nilai memori. Secara khusus, gunakan akhiran:
Ki
Mi
Gi
Nilai batas harus selalu lebih besar daripada nilai permintaan, jika ditentukan.
Nilai batas untuk inti adalah metrik yang dapat ditagih pada instans terkelola SQL dan server PostgreSQL.
Persyaratan penyebaran minimum
Penyebaran layanan data dengan dukungan Azure Arc ukuran minimum dapat dianggap sebagai pengontrol data Azure Arc ditambah satu instans terkelola SQL ditambah satu server PostgreSQL. Untuk konfigurasi ini, Anda memerlukan setidaknya RAM 16 GB dan 4 core kapasitas yang tersedia pada kluster Kubernetes Anda. Anda harus memastikan bahwa Anda memiliki ukuran node Kube minimum RAM 8-GB dan 4 core dan kapasitas total RAM 16 GB yang tersedia di semua simpul Kubernetes Anda. Misalnya, Anda dapat memiliki 1 simpul pada RAM 32 GB dan 4 core atau Anda dapat memiliki 2 simpul dengan RAM 16 GB dan masing-masing 4 core.
Lihat artikel konfigurasi penyimpanan untuk detail tentang pengukuran penyimpanan.
Rincian ukuran pengontrol data
Pengontrol data merupakan kumpulan pod yang disebarkan ke kluster Kubernets untuk menyediakan API, layanan pengontrol, bootstrapper, serta pemantauan database dan dasbor. Tabel ini menjelaskan nilai default untuk permintaan dan batas memori dan CPU.
Nama pod | Permintaan CPU | Permintaan memori | Batas CPU | Batas memori |
---|---|---|---|---|
bootstrapper |
100m |
100Mi |
200m |
200Mi |
control |
400m |
2Gi |
1800m |
2Gi |
controldb |
200m |
4Gi |
800m |
6Gi |
logsdb |
200m |
1600Mi |
2 |
1600Mi |
logsui |
100m |
500Mi |
2 |
2Gi |
metricsdb |
200m |
800Mi |
400m |
2Gi |
metricsdc |
100m |
200Mi |
200m |
300Mi |
metricsui |
20m |
200Mi |
500m |
200Mi |
metricsdc
adalah daemonset
, yang dibuat pada setiap node Kubernetes di kluster Anda. Angka dalam tabel adalah per simpul. Jika Anda mengatur allowNodeMetricsCollection = false
dalam file profil penyebaran sebelum membuat pengontrol data, maka daemonset
tidak akan dibuat.
Anda dapat mengambil alih pengaturan default untuk controldb
dan pod kontrol dalam file YAML pengontrol data Anda. Contoh:
resources:
controller:
limits:
cpu: "1000m"
memory: "3Gi"
requests:
cpu: "800m"
memory: "2Gi"
controllerDb:
limits:
cpu: "800m"
memory: "8Gi"
requests:
cpu: "200m"
memory: "4Gi"
Lihat artikel konfigurasi penyimpanan untuk detail tentang pengukuran penyimpanan.
Detail-detail ukuran instans terkelola SQL
Setiap instans terkelola SQL harus memiliki permintaan minimum dan batas sumber daya berikut:
Tingkat layanan | Tujuan Umum | Bisnis Kritis |
---|---|---|
Permintaan Sumber Daya CPU | Minimum: 1 Maksimum: 24 Bawaan: 2 |
Minimum: 3 Maksimum: tidak terbatas Bawaan: 4 |
Batas CPU | Minimum: 1 Maksimum: 24 Standar: 2 |
Minimum: 3 Maksimum: tidak terbatas Bawaan: 4 |
Permintaan memori | Minimum: 2Gi Maksimum: 128Gi Bawaan: 4Gi |
Minimum: 2Gi Maksimum: tidak terbatas Bawaan: 4Gi |
Batas memori | Minimum: 2Gi Maksimum: 128Gi Default: 4Gi |
Minimum: 2Gi Maksimum: tidak terbatas Bawaan: 4Gi |
Setiap pod instans terkelola SQL yang dibuat memiliki tiga kontainer:
Nama kontainer | Permintaan CPU | Permintaan Memori | Batas CPU | Batas Memori | Catatan |
---|---|---|---|---|---|
fluentbit |
100m |
100Mi |
Tidak ditentukan | Tidak ditentukan | Permintaan sumber daya untuk kontainer fluentbit adalah di samping permintaan yang sudah ditentukan untuk instans yang dikelola SQL. |
arc-sqlmi |
Ditentukan pengguna atau tidak ditentukan. | Ditentukan atau tidak ditentukan pengguna. | Ditentukan atau tidak ditentukan pengguna. | Ditentukan pengguna atau tidak ditentukan. | |
collectd |
Tidak ditentukan | Tidak ditentukan | Tidak ditentukan | Tidak ditentukan |
Ukuran volume default untuk semua volume persisten adalah 5Gi
.
Detail ukuran server PostgreSQL
Setiap simpul server PostgreSQL harus memiliki permintaan sumber daya minimum berikut:
- Memori:
256Mi
- Inti: 1
Setiap pod server PostgreSQL yang dibuat memiliki tiga kontainer:
Nama kontainer | Permintaan CPU | Permintaan Memori | Batas CPU | Batas Memori | Catatan |
---|---|---|---|---|---|
fluentbit |
100m |
100Mi |
Tidak ditentukan | Tidak ditentukan |
fluentbit Permintaan sumber daya kontainer adalah selain permintaan yang ditentukan untuk server PostgreSQL. |
postgres |
Ditentukan pengguna atau tidak ditentukan. | Ditentukan oleh pengguna atau 256Mi (bawaan). |
Ditentukan pengguna atau tidak ditentukan. | Ditentukan atau tidak ditentukan pengguna. | |
arc-postgresql-agent |
Tidak ditentukan | Tidak ditentukan | Tidak ditentukan | Tidak ditentukan |
Ukuran kumulatif
Ukuran keseluruhan lingkungan yang diperlukan untuk layanan data dengan dukungan Azure Arc terutama merupakan fungsi dari jumlah dan ukuran instans database. Ukuran keseluruhan dapat sulit diprediksi sebelumnya mengetahui bahwa jumlah instans dapat bertambah dan menyusut dan jumlah sumber daya yang diperlukan untuk setiap instans database dapat berubah.
Ukuran garis besar untuk lingkungan layanan data dengan dukungan Azure Arc tertentu adalah ukuran pengontrol data, yang memerlukan 4 core dan RAM 16 GB. Dari sana, tambahkan total kumulatif inti dan memori yang diperlukan untuk instans database. SQL Managed Instance memerlukan satu pod untuk setiap instans. Server PostgreSQL membuat satu pod untuk setiap server.
Di samping inti dan memori yang Anda minta untuk setiap instans database, tambahkanlah 250m
inti dan 250Mi
RAM untuk kontainer agen.
Contoh perhitungan ukuran
Persyaratan:
- "SQL1": 1 instans terkelola SQL dengan RAM 16 GB, 4 core
- "SQL2": 1 instans terkelola SQL dengan RAM 256 GB, 16 core
- "Postgres1": 1 Server PostgreSQL pada RAM 12 GB, 4 core
Perhitungan ukuran
Ukuran "SQL1" adalah:
1 pod * ([16Gi RAM, 4 cores] + [250Mi RAM, 250m cores])
. Untuk agen per pod, gunakan16.25 Gi
RAM dan 4,25 inti.Ukuran "SQL2" adalah:
1 pod * ([256Gi RAM, 16 cores] + [250Mi RAM, 250m cores])
. Untuk agen per pod, gunakan256.25 Gi
RAM dan 16.25 core.Ukuran total SQL 1 dan SQL 2 adalah:
(16.25 GB + 256.25 Gi) = 272.5-GB RAM
(4.25 cores + 16.25 cores) = 20.5 cores
Ukuran "Postgres1" adalah:
1 pod * ([12Gi RAM, 4 cores] + [250Mi RAM, 250m cores])
. Untuk agen per pod, gunakan12.25 Gi
RAM dan4.25
inti.Total kapasitas yang diperlukan:
- Untuk instans database:
- RAM 272,5 GB
- 20.5 inti
- Untuk SQL:
- RAM 12,25 GB
- 4,25 inti
- Untuk server PostgreSQL
- RAM 284,75 GB
- 24,75 inti
- Untuk instans database:
Total kapasitas yang diperlukan untuk instans database ditambah pengontrol data adalah:
- Untuk instans database
- RAM 284,75 GB
- 24.75 core
- Untuk pengontrol data
- RAM 16 GB
- 4 inti
- Jumlah keseluruhan:
- RAM 300,75 GB
- 28,75 inti.
- Untuk instans database
Lihat artikel konfigurasi penyimpanan untuk detail tentang pengukuran penyimpanan.
Pertimbangan lain
Perlu diingat bahwa permintaan ukuran instans database tertentu untuk inti atau RAM tidak dapat melebihi kapasitas node Kubernetes yang tersedia di klaster. Misalnya, jika node Kubernetes terbesar yang Anda miliki di kluster Kubernetes adalah RAM 256 GB dan 24 core, Anda tidak dapat membuat instans database dengan permintaan RAM 512 GB dan 48 core.
Pertahankan setidaknya 25% kapasitas yang tersedia di seluruh node Kubernetes. Kapasitas ini memungkinkan Kubernetes untuk:
- Jadwalkan secara efisien pembuatan pod
- Mengaktifkan penskalaan elastis
- Mendukung pembaruan bertahap node Kubernetes
- Memfasilitasi pertumbuhan jangka panjang sesuai permintaan
Dalam perhitungan ukuran Anda, tambahkan persyaratan sumber daya pod sistem Kubernetes dan beban kerja lainnya, yang mungkin berbagi kapasitas dengan layanan data dengan dukungan Azure Arc pada kluster Kubernetes yang sama.
Untuk mempertahankan ketersediaan tinggi selama pemeliharaan terencana dan kelangsungan bencana, rencanakan setidaknya salah satu node Kubernetes di kluster Anda tidak tersedia pada titik waktu tertentu. Kubernetes mencoba menjadwalkan ulang pod-pod yang berjalan pada simpul tertentu yang diambil alih untuk pemeliharaan atau karena kerusakan. Jika tidak ada kapasitas yang tersedia pada simpul yang tersisa, pod tersebut tidak akan dijadwalkan ulang untuk pembuatan sampai ada kapasitas yang tersedia lagi. Berhati-hatilah dengan instance basis data yang besar. Misalnya, jika hanya ada satu simpul Kubernetes yang cukup besar untuk memenuhi persyaratan sumber daya instans database besar dan simpul tersebut gagal, maka Kubernetes tidak akan menjadwalkan pod instans database tersebut ke simpul Kubernetes lain.
Ingatlah batasan maksimum untuk ukuran klaster Kubernetes.
Administrator Kubernetes Anda mungkin telah menyiapkan kuota sumber daya pada namespace/project. Ingatlah kuota ini saat merencanakan ukuran instans database Anda.