Membuat pengontrol data Azure Arc menggunakan CLI
Prasyarat
Tinjau topik Merencanakan penyebaran layanan data dengan dukungan Azure Arc untuk informasi gambaran umum.
Menginstal alat
Sebelum memulai, instal arcdata
ekstensi untuk Azure (az) CLI.
Menginstal ekstensi (arcdata
) untuk Azure (az
) CLI
Terlepas dari platform target mana yang Anda pilih, Anda perlu mengatur variabel lingkungan berikut sebelum pembuatan untuk pengontrol data. Variabel lingkungan ini menjadi kredensial yang digunakan untuk mengakses metrik dan dasbor log setelah pembuatan pengontrol data.
Atur variabel lingkungan
Berikut ini adalah dua set variabel lingkungan yang diperlukan untuk mengakses metrik dan dasbor log.
Variabel lingkungan mencakup kata sandi untuk layanan log dan metrik. Panjang kata sandi harus minimal delapan karakter dan berisi karakter dari tiga dari empat kategori berikut: Huruf besar Latin, huruf kecil Latin, angka, dan karakter non-alfanumerik.
## variables for Metrics and Monitoring dashboard credentials
export AZDATA_LOGSUI_USERNAME=<username for Kibana dashboard>
export AZDATA_LOGSUI_PASSWORD=<password for Kibana dashboard>
export AZDATA_METRICSUI_USERNAME=<username for Grafana dashboard>
export AZDATA_METRICSUI_PASSWORD=<password for Grafana dashboard>
Koneksi ke kluster Kubernetes
Koneksi dan autentikasi ke kluster Kubernetes dan memiliki konteks Kubernetes yang ada yang dipilih sebelum memulai pembuatan pengontrol data Azure Arc. Cara terhubung ke kluster atau service Kube berbeda-beda. Lihat dokumentasi untuk distribusi atau layanan Kube yang kamu gunakan tentang cara menyambung ke API server Kube.
Kamu dapat memeriksa untuk melihat bahwa kamu memiliki koneksi Kube saat ini dan mengonfirmasi konteks saat ini dengan perintah-perintah berikut.
kubectl cluster-info
kubectl config current-context
Membuat pengontrol data Azure Arc
Bagian berikut memberikan instruksi untuk jenis platform Kubernetes tertentu. Ikuti instruksi untuk platform Anda.
- Azure Kubernetes Service (AKS)
- AKS di Azure Stack HCI
- Azure Red Hat OpenShift (ARO)
- Platform Kontainer OpenShift Red Hat (OCP)
- Sumber terbuka, Kubernetes hulu (kubeadm)
- Layanan Kubernetes Elastis (EKS) AWS
- Google Cloud Kubernetes Engine Service (GKE)
Tip
Jika tidak memiliki kluster Kubernetes, Anda dapat membuatnya di Azure. Ikuti instruksi di Mulai Cepat: Menyebarkan layanan data dengan dukungan Azure Arc - mode terhubung langsung - portal Azure untuk menelusuri seluruh proses.
Kemudian ikuti petunjuk di bawah Buat di Azure Kubernetes Service (AKS).
Membuat Azure Kubernetes Service (AKS)
Secara default, profil penyebaran AKS menggunakan kelas penyimpanan managed-premium
. Kelas managed-premium
penyimpanan hanya berfungsi jika Anda memiliki VM yang disebarkan menggunakan gambar VM yang memiliki disk premium.
Jika Anda akan menggunakan managed-premium
sebagai kelas penyimpanan, maka Anda dapat menjalankan perintah berikut untuk membuat pengontrol data. Ganti tempat penampung dalam perintah dengan nama grup sumber daya, ID langganan, dan lokasi Azure Anda.
az arcdata dc create --profile-name azure-arc-aks-premium-storage --k8s-namespace <namespace> --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --use-k8s
#Example:
#az arcdata dc create --profile-name azure-arc-aks-premium-storage --k8s-namespace arc --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --use-k8s
Jika Anda tidak yakin kelas penyimpanan apa yang akan digunakan, Anda harus menggunakan kelas penyimpanan default
yang didukung terlepas dari jenis VM mana yang Anda gunakan. Itu hanya tidak akan memberikan performa tercepat.
Jika Anda ingin menggunakan kelas penyimpanan default
, maka Anda dapat menjalankan perintah ini:
az arcdata dc create --profile-name azure-arc-aks-default-storage --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect
#Example:
#az arcdata dc create --profile-name azure-arc-aks-default-storage --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect
Setelah Anda menjalankan perintah, lanjutkan ke Pemantauan status pembuatan.
Membuat AKS di Azure Stack HCI
Mengonfigurasi penyimpanan (Azure Stack HCI with AKS-HCI)
Jika Anda menggunakan Azure Stack HCI dengan AKS-HCI, buat kelas penyimpanan kustom dengan fsType
.
fsType: ext4
Gunakan jenis ini untuk menyebarkan pengontrol data. Lihat petunjuk lengkap di Buat kelas penyimpanan kustom untuk AKS pada disk Azure Stack HCI.
Secara default, profil penyebaran menggunakan kelas penyimpanan bernama default
dan jenis layanan LoadBalancer
.
Anda dapat menjalankan perintah berikut untuk membuat pengontrol data menggunakan kelas penyimpanan default
dan jenis layanan LoadBalancer
.
az arcdata dc create --profile-name azure-arc-aks-hci --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect
#Example:
#az arcdata dc create --profile-name azure-arc-aks-hci --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect
Setelah Anda menjalankan perintah, lanjutkan ke Pemantauan status pembuatan.
Membuat Azure Red Hat OpenShift (ARO)
Membuat profil penyebaran kustom
Gunakan profil azure-arc-azure-openshift
untuk Azure RedHat Open Shift.
az arcdata dc config init --source azure-arc-azure-openshift --path ./custom
Membuat pengontrol data
Anda dapat menjalankan perintah berikut untuk membuat pengontrol data:
az arcdata dc create --profile-name azure-arc-azure-openshift --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect
#Example
#az arcdata dc create --profile-name azure-arc-azure-openshift --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect
Setelah Anda menjalankan perintah, lanjutkan ke Pemantauan status pembuatan.
Membuat Red Hat OpenShift Container Platform (OCP)
Menentukan kelas penyimpanan
Untuk menentukan kelas penyimpanan mana yang akan digunakan, jalankan perintah berikut.
kubectl get storageclass
Membuat profil penyebaran kustom
Buat file profil penyebaran kustom baru berdasarkan profil penyebaran azure-arc-openshift
dengan menjalankan perintah berikut. Perintah ini membuat direktori custom
di direktori kerja Anda saat ini dan file profil penyebaran kustom control.json
di direktori tersebut.
Gunakan profil azure-arc-openshift
untuk OpenShift Container Platform.
az arcdata dc config init --source azure-arc-openshift --path ./custom
Mengatur kelas penyimpanan
Sekarang, atur kelas penyimpanan yang diinginkan dengan mengganti <storageclassname>
pada perintah di bawah ini dengan nama kelas penyimpanan yang ingin Anda gunakan yang ditentukan dengan menjalankan perintah kubectl get storageclass
di atas.
az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.data.className=<storageclassname>"
az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.logs.className=<storageclassname>"
#Example:
#az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.data.className=mystorageclass"
#az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.logs.className=mystorageclass"
Mengatur LoadBalancer (opsional)
Secara default, profil penyebaran azure-arc-openshift
menggunakan NodePort
sebagai jenis layanan. Jika Anda menggunakan kluster OpenShift yang terintegrasi dengan penyeimbang muatan, Anda dapat mengubah konfigurasi untuk menggunakan jenis layanan LoadBalancer
menggunakan perintah berikut:
az arcdata dc config replace --path ./custom/control.json --json-values "$.spec.services[*].serviceType=LoadBalancer"
Membuat pengontrol data
Sekarang Anda siap untuk membuat pengontrol data menggunakan perintah berikut.
Catatan
Parameter --path
harus menunjuk ke direktori yang berisi file control.json bukan ke file control.json itu sendiri.
Catatan
Saat menyebarkan ke Platform Kontainer OpenShift, tentukan --infrastructure
nilai parameter. Opsinya adalah aws
, azure
, alibaba
, gcp
, onpremises
.
az arcdata dc create --path ./custom --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --infrastructure <infrastructure>
#Example:
#az arcdata dc create --path ./custom --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --infrastructure onpremises
Setelah Anda menjalankan perintah, lanjutkan ke Pemantauan status pembuatan.
Membuat sumber terbuka, upstram Kube (kubeadm)
Secara default, profil penyebaran kubeadm menggunakan kelas penyimpanan yang disebut local-storage
dan jenis layanan NodePort
. Jika ini dapat diterima, Anda dapat melewati instruksi di bawah ini yang mengatur kelas penyimpanan dan jenis layanan yang diinginkan dan segera menjalankan perintah az arcdata dc create
di bawah ini.
Jika kamu ingin menyesuaikan profil penyebaran untuk menentukan class storage dan/atau service type tertentu, mulailah dengan membuat file profil kustom penyebaran baru berdasarkan profil penyebaran kubeadm dengan menjalankan perintah berikut. Perintah ini membuat direktori custom
di direktori kerja Anda saat ini dan file profil penyebaran kustom control.json
di direktori tersebut.
az arcdata dc config init --source azure-arc-kubeadm --path ./custom
Anda dapat mencari kelas penyimpanan yang tersedia dengan menjalankan perintah berikut.
kubectl get storageclass
Sekarang, atur kelas penyimpanan yang diinginkan dengan mengganti <storageclassname>
pada perintah di bawah ini dengan nama kelas penyimpanan yang ingin Anda gunakan yang ditentukan dengan menjalankan perintah kubectl get storageclass
di atas.
az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.data.className=<storageclassname>"
az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.logs.className=<storageclassname>"
#Example:
#az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.data.className=mystorageclass"
#az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.logs.className=mystorageclass"
Secara default, profil penyebaran kubeadm menggunakan NodePort
sebagai jenis layanan. Jika Anda menggunakan kluster Kube yang terintegrasi dengan penyeimbang muatan, Anda dapat mengubah konfigurasi menggunakan perintah berikut.
az arcdata dc config replace --path ./custom/control.json --json-values "$.spec.services[*].serviceType=LoadBalancer"
Sekarang Anda siap untuk membuat pengontrol data menggunakan perintah berikut.
Catatan
Saat menyebarkan ke Platform Kontainer OpenShift, tentukan --infrastructure
nilai parameter. Opsinya adalah aws
, azure
, alibaba
, gcp
, onpremises
.
az arcdata dc create --path ./custom --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --infrastructure <infrastructure>
#Example:
#az arcdata dc create --path ./custom - --k8s-namespace <namespace> --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --infrastructure onpremises
Setelah Anda menjalankan perintah, lanjutkan ke Pemantauan status pembuatan.
Membuat AWS Elastic Kubernetes Service (EKS)
Secara default, kelas penyimpanan EKS adalah gp2
dan jenis layanannya adalah LoadBalancer
.
Jalankan perintah berikut untuk membuat pengontrol data menggunakan profil penyebaran EKS yang disediakan.
az arcdata dc create --profile-name azure-arc-eks --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect
#Example:
#az arcdata dc create --profile-name azure-arc-eks --k8s-namespace <namespace> --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect
Setelah Anda menjalankan perintah, lanjutkan ke Pemantauan status pembuatan.
Membuat Google Cloud Kubernetes Engine Service (GKE)
Secara default, kelas penyimpanan GKE adalah standard
dan jenis layanannya adalah LoadBalancer
.
Jalankan perintah berikut untuk membuat pengontrol data menggunakan profil penyebaran GKE yang disediakan.
az arcdata dc create --profile-name azure-arc-gke --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect
#Example:
#az arcdata dc create --profile-name azure-arc-gke --k8s-namespace <namespace> --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect
Setelah Anda menjalankan perintah, lanjutkan ke Pemantauan status pembuatan.
Memantau status pembuatan
Dibutuhkan beberapa menit untuk membuat pengontrol sepenuhnya. Anda dapat memantau kemajuan ini di jendela terminal lain dengan perintah berikut:
Catatan
Contoh perintah di bawah ini mengasumsikan bahwa Anda membuat pengontrol data bernama arc-dc
dan namespace Layanan Kubernetes bernama arc
. Jika Anda menggunakan nilai yang berbeda, perbarui skrip yang sesuai.
kubectl get datacontroller/arc-dc --namespace arc
kubectl get pods --namespace arc
Anda juga dapat memeriksa status pembuatan pod tertentu dengan menjalankan perintah seperti di bawah ini. Langkah ini sangat berguna untuk pemecahan masalah apa pun.
kubectl describe po/<pod name> --namespace arc
#Example:
#kubectl describe po/control-2g7bl --namespace arc
Pemecahan masalah pembuatan
Jika Anda mengalami masalah dengan pembuatan, lihat panduan pemecahan masalah.