Mesh Layanan Terbuka Azure Arc-diaktifkan

Open Service Mesh (OSM) adalah jala layanan Cloud Asli yang ringan, dapat diperluas, dan memungkinkan pengguna untuk mengelola, mengamankan, dan mendapatkan fitur observabilitas di luar kotak secara seragam untuk lingkungan layanan mikro yang sangat dinamis.

OSM menjalankan sarana kontrol berbasis Envoy pada Kubernetes, dapat dikonfigurasi dengan API SMI, dan bekerja dengan memasukkan proksi Envoy sebagai kontainer sidecar di samping setiap instans aplikasi Anda. Baca selengkapnya tentang skenario mesh layanan yang diaktifkan oleh Open Service Mesh.

Semua komponen OSM dengan dukungan Azure Arc disebarkan pada zona ketersediaan, menjadikannya zona redundan.

Opsi dan persyaratan penginstalan

Open Service Mesh dengan dukungan Azure Arc dapat disebarkan melalui portal Azure, Azure CLI, templat ARM, atau kebijakan Azure bawaan.

Prasyarat

  • Pastikan Anda telah memenuhi semua prasyarat umum untuk ekstensi kluster yang tercantum di sini.
  • Gunakan az k8s-extension versi >ekstensi CLI = v1.0.4

Batasan dukungan saat ini

  • Hanya satu instance Open Service Mesh yang dapat disebarkan pada kluster Kubernetes yang tersambung dengan Azure Arc.
  • Dukungan tersedia untuk dua versi minor terbaru dari Open Service Mesh berkemampuan Arc. Temukan versi terbaru di sini. Versi rilis yang didukung ditambahkan dengan catatan. Abaikan tag yang terkait dengan rilis menengah.
  • Distribusi Kubernetes berikut saat ini didukung:
    • Mesin AKS (Azure Kubernetes Service)
    • Kluster AKS di Azure Stack HCI
    • AKS diaktifkan oleh Azure Arc
    • API Azure Kluster
    • Google Kubernetes Engine
    • Distribusi Kubernetes Kanonis
    • Rancher Kubernetes Engine
    • Distribusi OpenShift Kubernetes
    • Layanan Amazon Elastic Kubernetes
    • VMware Tanzu Kubernetes Grid
  • Integrasi Azure Monitor dengan Open Service Mesh dengan dukungan Azure Arc tersedia dalam pratinjau dengan dukungan terbatas.

Penginstalan dasar menggunakan portal Azure

Untuk menyebarkan menggunakan portal Azure, setelah Anda memiliki kluster yang terhubung dengan Arc, buka bagian Open Service Mesh kluster.

Open Service Mesh located under Settings for Arc enabled Kubernetes cluster

Pilih tombol Instal ekstensi untuk menyebarkan versi terbaru ekstensi.

Atau, Anda dapat menggunakan pengalaman CLI yang diambil di sini. Untuk onboarding dalam skala besar, baca lebih lanjut di artikel ini tentang penyebaran menggunakan templat ARM dan menggunakan Azure Policy.

Penginstalan dasar menggunakan Azure CLI

Langkah-langkah berikut mengasumsikan bahwa Anda sudah memiliki kluster dengan distribusi Kubernetes yang didukung yang terhubung ke Azure Arc. Pastikan variabel lingkungan KUBECONFIG Anda menunjuk ke kubeconfig kluster Kubernetes yang diaktifkan Arc.

Atur variabel lingkungan:

export CLUSTER_NAME=<arc-cluster-name>
export RESOURCE_GROUP=<resource-group-name>

Jika Anda menggunakan kluster OpenShift, lewati ke langkah-langkah penginstalan OpenShift.

Buat ekstensi:

Catatan

Untuk menyematkan versi OSM tertentu, tambahkan --version x.y.z bendera ke create perintah . Perhatikan bahwa ini akan mengatur nilai untuk auto-upgrade-minor-version false.

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm

Anda akan melihat output yang mirip dengan contoh ini. Mungkin perlu waktu 3-5 menit untuk grafik helm OSM yang sebenarnya untuk disebarkan ke kluster. Sampai penyebaran ini terjadi, installState akan tetap Pending.

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T17:50:11.4116524+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Pending",
  "lastModifiedTime": "2021-04-29T17:50:11.4116525+00:00",
  "lastStatusTime": null,
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

Selanjutnya, validasi penginstalan Anda.

Penginstalan kustom

Bagian berikut menjelaskan penginstalan kustom tertentu dari OSM dengan dukungan Azure Arc. Penginstalan kustom memerlukan pengaturan nilai OSM dengan dalam file JSON dan meneruskannya ke k8s-extension create perintah CLI.

Menginstal OSM pada kluster OpenShift

  1. Salin dan simpan konten berikut ke dalam file JSON. Jika Anda telah membuat file pengaturan konfigurasi, tambahkan baris berikut ke file yang sudah ada untuk mempertahankan perubahan Anda sebelumnya.

    {
        "osm.osm.enablePrivilegedInitContainer": "true"
    }
    
  2. Instal OSM dengan nilai kustom.

  3. Tambahkan batasan konteks keamanan istimewa ke setiap akun layanan untuk aplikasi dalam mesh.

    oc adm policy add-scc-to-user privileged -z <service account name> -n <service account namespace>
    

Mungkin perlu waktu 3-5 menit untuk grafik helm OSM yang sebenarnya untuk disebarkan ke kluster. Sampai penyebaran ini terjadi, installState akan tetap Pending.

Untuk memastikan bahwa pengaturan kontainer init istimewa tidak kembali ke default, teruskan "osm.osm.enablePrivilegedInitContainer" : "true" pengaturan konfigurasi ke semua perintah berikutnya az k8s-extension create .

Mengaktifkan fitur Ketersediaan Tinggi pada penginstalan

Komponen sarana kontrol OSM dibangun dengan mengingat Ketersediaan Tinggi dan Toleransi Kesalahan. Bagian ini menjelaskan cara mengaktifkan Horizontal Pod Autoscaling (HPA) dan Pod Disruption Budget (PDB) selama penginstalan. Baca selengkapnya tentang pertimbangan desain Ketersediaan Tinggi pada OSM.

Autoscaling Pod Horizontal (HPA)

HPA secara otomatis meningkatkan atau menurunkan skala pod sarana kontrol berdasarkan pemanfaatan CPU target rata-rata (%) dan pemanfaatan memori target rata-rata (%) yang ditentukan oleh pengguna. Untuk mengaktifkan HPA dan mengatur nilai yang berlaku pada pod sarana kontrol OSM selama penginstalan, buat atau tambahkan ke file pengaturan JSON yang ada seperti yang ditunjukkan di sini, ulangi pasangan kunci/nilai untuk setiap pod sarana kontrol (osmController, injector) yang ingin Anda aktifkan HPA-nya.

{
  "osm.osm.<control_plane_pod>.autoScale.enable" : "true",
  "osm.osm.<control_plane_pod>.autoScale.minReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.maxReplicas" : "<allowed values: 1-10>",
  "osm.osm.<control_plane_pod>.autoScale.cpu.targetAverageUtilization" : "<allowed values 0-100>",
  "osm.osm.<control_plane_pod>.autoScale.memory.targetAverageUtilization" : "<allowed values 0-100>"
}

Sekarang, instal OSM dengan nilai kustom.

Anggaran Gangguan Pod (PDB)

Untuk mencegah gangguan selama pemadaman yang direncanakan, pod osm-controller sarana kontrol dan osm-injector memiliki PDB yang memastikan selalu ada setidaknya satu pod yang sesuai dengan setiap aplikasi sarana kontrol.

Untuk mengaktifkan PDB, buat atau tambahkan ke file pengaturan JSON yang ada sebagai berikut untuk setiap pod sarana kontrol yang diinginkan (osmController, injector):

{
  "osm.osm.<control_plane_pod>.enablePodDisruptionBudget" : "true"
}

Sekarang, instal OSM dengan nilai kustom.

Menginstal OSM dengan cert-manager untuk manajemen sertifikat

cert-manager adalah penyedia yang dapat digunakan untuk menerbitkan sertifikat yang ditandatangani ke OSM tanpa perlu menyimpan kunci privat di Kubernetes. Lihat dokumentasi dan demo cert-manager OSM untuk mempelajari lebih lanjut.

Catatan

Gunakan perintah yang disediakan dalam dokumentasi OSM GitHub dengan hati-hati. Pastikan Anda menggunakan namespace yang benar dalam perintah atau tentukan dengan bendera --osm-namespace arc-osm-system.

Untuk menginstal OSM dengan cert-manager sebagai penyedia sertifikat, buat atau tambahkan ke file pengaturan JSON yang ada, nilai yang certificateProvider.kind diatur ke cert-manager seperti yang ditunjukkan di sini. Untuk mengubah dari nilai cert-manager default yang ditentukan dalam dokumentasi OSM, sertakan juga dan perbarui baris berikutnya certmanager.issuer .

{
  "osm.osm.certificateProvider.kind" : "cert-manager",
  "osm.osm.certmanager.issuerName" : "<issuer name>",
  "osm.osm.certmanager.issuerKind" : "<issuer kind>",
  "osm.osm.certmanager.issuerGroup" : "<issuer group>"
}

Sekarang, instal OSM dengan nilai kustom.

Menginstal OSM dengan Contour untuk ingress

OSM menyediakan beberapa opsi untuk mengekspos layanan jala secara eksternal menggunakan ingress. OSM dapat menggunakan Contour, yang bekerja dengan pengontrol ingress yang dipasang di luar jala dan disediakan dengan sertifikat untuk berpartisipasi dalam jala. Lihat dokumentasi dan demo masuk OSM untuk mempelajari lebih lanjut.

Catatan

Gunakan perintah yang disediakan dalam dokumentasi OSM GitHub dengan hati-hati. Pastikan Anda menggunakan namespace yang benar dalam perintah atau tentukan dengan bendera --osm-namespace arc-osm-system. Untuk mengatur nilai yang diperlukan untuk mengonfigurasi Contour selama penginstalan OSM, tambahkan nilai berikut ke file pengaturan JSON Anda:

{
  "osm.osm.osmNamespace" : "arc-osm-system",
  "osm.contour.enabled" : "true",
  "osm.contour.configInline.tls.envoy-client-certificate.name" : "osm-contour-envoy-client-cert", 
  "osm.contour.configInline.tls.envoy-client-certificate.namespace" : "arc-osm-system"
}

Mengatur nilai selama penginstalan OSM

Nilai apa pun yang perlu diatur selama penginstalan OSM perlu disimpan ke satu file JSON dan diteruskan melalui perintah penginstalan Azure CLI.

Setelah Anda membuat file JSON dengan nilai yang berlaku seperti yang dijelaskan di bagian penginstalan kustom, atur jalur file sebagai variabel lingkungan:

export SETTINGS_FILE=<json-file-path>

Jalankan az k8s-extension create perintah untuk membuat ekstensi OSM, meneruskan file pengaturan menggunakan --configuration-settings-file bendera:

az k8s-extension create --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm --configuration-settings-file $SETTINGS_FILE

Menginstal OSM berkemampuan Azure Arc menggunakan template ARM

Setelah menyambungkan kluster Anda ke Azure Arc, buat file JSON dengan format berikut, pastikan untuk memperbarui <cluster-name> nilai dan <osm-arc-version> :

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "ConnectedClusterName": {
            "defaultValue": "<cluster-name>",
            "type": "String",
            "metadata": {
                "description": "The Connected Cluster name."
            }
        },
        "ExtensionInstanceName": {
            "defaultValue": "osm",
            "type": "String",
            "metadata": {
                "description": "The extension instance name."
            }
        },
        "ExtensionVersion": {
            "defaultValue": "<osm-arc-version>",
            "type": "String",
            "metadata": {
                "description": "The extension type version."
            }
        },
        "ExtensionType": {
            "defaultValue": "Microsoft.openservicemesh",
            "type": "String",
            "metadata": {
                "description": "The extension type."
            }
        },
        "ReleaseTrain": {
            "defaultValue": "Stable",
            "type": "String",
            "metadata": {
                "description": "The release train."
            }
        }
    },
    "functions": [],
    "resources": [
        {
            "type": "Microsoft.KubernetesConfiguration/extensions",
            "apiVersion": "2020-07-01-preview",
            "name": "[parameters('ExtensionInstanceName')]",
            "properties": {
                "extensionType": "[parameters('ExtensionType')]",
                "releaseTrain": "[parameters('ReleaseTrain')]",
                "version": "[parameters('ExtensionVersion')]"
            },
            "scope": "[concat('Microsoft.Kubernetes/connectedClusters/', parameters('ConnectedClusterName'))]"
        }
    ]
}

Atur variabel lingkungan:

export TEMPLATE_FILE_NAME=<template-file-path>
export DEPLOYMENT_NAME=<desired-deployment-name>

Jalankan perintah ini untuk menginstal ekstensi OSM:

az deployment group create --name $DEPLOYMENT_NAME --resource-group $RESOURCE_GROUP --template-file $TEMPLATE_FILE_NAME

Anda sekarang dapat melihat sumber daya OSM dan menggunakan ekstensi OSM di kluster Anda.

Menginstal OSM dengan dukungan Azure Arc menggunakan kebijakan bawaan

Kebijakan bawaan tersedia di portal Azure di bawah kategori Kubernetes: Kluster Kubernetes dengan dukungan Azure Arc harus menginstal ekstensi Open Service Mesh. Kebijakan ini dapat ditetapkan pada cakupan langganan atau grup sumber daya.

Tindakan default dari kebijakan ini adalah Sebarkan jika tidak ada. Namun, Anda dapat memilih untuk mengaudit kluster untuk penginstalan ekstensi dengan mengubah parameter selama penugasan. Anda juga diminta untuk menentukan versi yang ingin Anda instal (v1.0.0-1 atau lebih tinggi) sebagai parameter.

Memvalidasi penginstalan

Jalankan perintah berikut.

az k8s-extension show --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm

Anda akan melihat output JSON yang mirip dengan:

{
  "autoUpgradeMinorVersion": true,
  "configurationSettings": {},
  "creationTime": "2021-04-29T19:22:00.7649729+00:00",
  "errorInfo": {
    "code": null,
    "message": null
  },
  "extensionType": "microsoft.openservicemesh",
  "id": "/subscriptions/<subscription-id>/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Kubernetes/connectedClusters/$CLUSTER_NAME/providers/Microsoft.KubernetesConfiguration/extensions/osm",
  "identity": null,
  "installState": "Installed",
  "lastModifiedTime": "2021-04-29T19:22:00.7649731+00:00",
  "lastStatusTime": "2021-04-29T19:23:27.642+00:00",
  "location": null,
  "name": "osm",
  "releaseTrain": "stable",
  "resourceGroup": "$RESOURCE_GROUP",
  "scope": {
    "cluster": {
      "releaseNamespace": "arc-osm-system"
    },
    "namespace": null
  },
  "statuses": [],
  "type": "Microsoft.KubernetesConfiguration/extensions",
  "version": "x.y.z"
}

Untuk perintah lainnya yang dapat Anda gunakan untuk memvalidasi dan memecahkan masalah penyebaran komponen ekstensi Open Service Mesh (OSM) pada kluster Anda, lihat panduan pemecahan masalah kami

Konfigurasi pengontrol OSM

OSM menyebarkan sumber daya osm-mesh-config MeshConfig sebagai bagian dari sarana kontrolnya di arc-osm-system namespace layanan. Tujuan dari MeshConfig ini adalah untuk memberikan pemilik mesh / operator kemampuan untuk memperbarui beberapa konfigurasi mesh berdasarkan kebutuhan mereka. Untuk melihat nilai default, gunakan perintah berikut.

kubectl describe meshconfig osm-mesh-config -n arc-osm-system

Output menunjukkan nilai default:

  Certificate:
    Cert Key Bit Size:               2048
    Service Cert Validity Duration:  24h
  Feature Flags:
    Enable Async Proxy Service Mapping:  false
    Enable Egress Policy:                true
    Enable Envoy Active Health Checks:   false
    Enable Ingress Backend Policy:       true
    Enable Multicluster Mode:            false
    Enable Retry Policy:                 false
    Enable Snapshot Cache Mode:          false
    Enable WASM Stats:                   true
  Observability:
    Enable Debug Server:  false
    Osm Log Level:        info
    Tracing:
      Enable:  false
  Sidecar:
    Config Resync Interval:            0s
    Enable Privileged Init Container:  false
    Log Level:                         error
    Resources:
  Traffic:
    Enable Egress:                          false
    Enable Permissive Traffic Policy Mode:  true
    Inbound External Authorization:
      Enable:              false
      Failure Mode Allow:  false
      Stat Prefix:         inboundExtAuthz
      Timeout:             1s
    Inbound Port Exclusion List:
    Outbound IP Range Exclusion List:
    Outbound Port Exclusion List:

Untuk informasi selengkapnya, lihat referensi Config API. Perhatikan bahwa spec.traffic.enablePermissiveTrafficPolicyMode diatur ke true. Ketika OSM berada dalam mode kebijakan lalu lintas permisif, penegakan kebijakan lalu lintas SMI dilewati. Dalam mode ini, OSM secara otomatis menemukan layanan yang merupakan bagian dari layanan jala dan program aturan kebijakan lalu lintas pada setiap sidecar proksi Utusan untuk dapat berkomunikasi dengan layanan ini.

osm-mesh-configjuga dapat dilihat di portal Azure dengan memilih Edit konfigurasi di bagian Open Service Mesh kluster.

Edit configuration button located on top of the Open Service Mesh section

Membuat perubahan pada konfigurasi pengontrol OSM

Catatan

Nilai di MeshConfig osm-mesh-config dipertahankan di seluruh peningkatan versi.

osm-mesh-config Perubahan yang dapat dilakukan menggunakan kubectl patch perintah . Dalam contoh berikut, mode kebijakan lalu lintas permisif diubah menjadi salah.

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enablePermissiveTrafficPolicyMode":false}}}' --type=merge

Jika nilai yang salah digunakan, validasi pada MeshConfig CRD mencegah perubahan dengan pesan kesalahan yang menjelaskan mengapa nilai tidak valid. Misalnya, perintah ini menunjukkan apa yang terjadi jika kita melakukan patch enableEgress ke nilai non-boolean:

kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enableEgress":"no"}}}'  --type=merge
# Validations on the CRD will deny this change
The MeshConfig "osm-mesh-config" is invalid: spec.traffic.enableEgress: Invalid value: "string": spec.traffic.enableEgress in body must be of type boolean: "string"

Atau, untuk mengedit osm-mesh-config di portal Azure, pilih Edit konfigurasi di bagian Open Service Mesh kluster.

Edit configuration button in the Open Service Mesh section

Menggunakan OSM dengan dukungan Azure Arc

Untuk mulai menggunakan kemampuan OSM, Anda harus terlebih dahulu onboarding namespace aplikasi ke mesh layanan. Unduh OSM CLI dari halaman rilis OSM GitHub. Setelah namespace ditambahkan ke mesh, Anda dapat mengonfigurasi kebijakan SMI untuk mencapai kemampuan OSM yang diinginkan.

Mengonboard namespace ke mesh layanan

Tambahkan namespace ke mesh dengan menjalankan perintah berikut:

osm namespace add <namespace_name>

Namespace dapat di-onboarding dari portal Azure juga dengan memilih +Tambahkan di bagian Open Service Mesh kluster.

+Add button located on top of the Open Service Mesh section

Untuk informasi selengkapnya tentang layanan onboarding, lihat dokumentasi Open Service Mesh.

Mengonfigurasi OSM dengan kebijakan Service Mesh Interface (SMI)

Anda dapat memulai dengan aplikasi sampel atau menggunakan lingkungan pengujian Anda untuk mencoba kebijakan SMI.

Catatan

Jika Anda menggunakan aplikasi sampel, pastikan versinya cocok dengan versi ekstensi OSM yang diinstal pada kluster Anda. Misalnya, jika Anda menggunakan ekstensi OSM v1.0.0, gunakan manifes bookstore dari cabang release-v1.0 repositori upstream OSM.

Mengonfigurasi instans Jaeger, Prometheus, dan Grafana Anda sendiri

Ekstensi OSM tidak menginstal add-on seperti Jaeger, Prometheus, Grafana , dan Flagger. Anda dapat mengintegrasikan OSM dengan instans alat tersebut yang sedang berjalan. Untuk berintegrasi dengan instans Anda sendiri, lihat dokumentasi berikut:

Catatan

Gunakan perintah yang disediakan dalam dokumentasi OSM GitHub dengan hati-hati. Pastikan Anda menggunakan nama arc-osm-system namespace yang benar saat membuat perubahan ke osm-mesh-config.

Memantau aplikasi menggunakan Azure Monitor dan Application Insights (pratinjau)

Azure Monitor dan Azure Application Insights membantu Anda memaksimalkan ketersediaan dan performa aplikasi dan layanan Anda dengan memberikan solusi komprehensif untuk mengumpulkan, menganalisis, dan bertindak berdasarkan telemetri dari lingkungan cloud dan lokal Anda. Open Service Mesh dengan dukungan Azure Arc memiliki integrasi mendalam ke kedua layanan Azure ini. Integrasi ini memberikan pengalaman Azure yang mulus untuk melihat dan merespons KPI penting yang disediakan oleh metrik OSM.

Penting

Fitur pratinjau Kubernetes yang mendukung Azure Arc tersedia berdasarkan layanan mandiri dan keikutsertaan. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," dan mereka dikecualikan dari perjanjian tingkat layanan dan garansi terbatas. Pratinjau Kubernetes yang mendukung Azure Arc sebagian tercakup oleh dukungan pelanggan berdasarkan upaya terbaik.

Ikuti langkah-langkah ini untuk memungkinkan Azure Monitor mengikis titik akhir Prometheus untuk mengumpulkan metrik aplikasi.

  1. Ikuti panduan yang tersedia di sini untuk memastikan bahwa namespace layanan aplikasi yang ingin Anda pantau di-onboarding ke jala.

  2. Mengekspos titik akhir Prometheus untuk namespace aplikasi.

    osm metrics enable --namespace <namespace1>
    osm metrics enable --namespace <namespace2>
    
  3. Instal ekstensi Azure Monitor menggunakan panduan yang tersedia di sini.

  4. Buat Configmap di namespace kube-system yang memungkinkan Azure Monitor memantau namespace Anda. Misalnya, buat container-azm-ms-osmconfig.yaml dengan yang berikut ini untuk memantau <namespace1> dan <namespace2>:

    kind: ConfigMap
    apiVersion: v1
    data:
      schema-version: v1
      config-version: ver1
      osm-metric-collection-configuration: |-
        # OSM metric collection settings
        [osm_metric_collection_configuration]
          [osm_metric_collection_configuration.settings]
              # Namespaces to monitor
              monitor_namespaces = ["<namespace1>", "<namespace2>"]
    metadata:
      name: container-azm-ms-osmconfig
      namespace: kube-system
    
  5. Menjalankan perintah kubectl berikut ini

    kubectl apply -f container-azm-ms-osmconfig.yaml
    

Mungkin perlu waktu hingga 15 menit agar metrik muncul di Analisis Log. Anda bisa mencoba mengkueri tabel InsightsMetrics.

InsightsMetrics
| where Name contains "envoy"
| extend t=parse_json(Tags)
| where t.app == "namespace1"
  1. Akses kluster Kubernetes Anda yang terhubung dengan Arc menggunakan tautan ini.
  2. Buka Azure Monitor dan navigasi ke tab Laporan untuk mengakses buku kerja OSM.
  3. Pilih rentang waktu & namespace untuk ruang lingkup layanan Anda.

OSM workbook

Tab Permintaan

Tab Permintaan memperlihatkan ringkasan semua permintaan http yang dikirim melalui layanan ke layanan di OSM.

  • Anda dapat melihat semua layanan dengan memilih layanan di kisi.
  • Anda dapat melihat total permintaan, tingkat kesalahan permintaan & latensi P90.
  • Anda dapat menelusuri hingga ke tujuan dan melihat tren untuk kode kesalahan/keberhasilan HTTP, tingkat keberhasilan, pemanfaatan sumber daya pod, dan latencies pada persentil yang berbeda.

Tab Koneksi

Tab Koneksi ions memperlihatkan ringkasan semua koneksi antara layanan Anda di Open Service Mesh.

  • Koneksi keluar: jumlah total koneksi antara layanan Sumber dan tujuan.
  • Koneksi aktif keluar: jumlah terakhir koneksi aktif antara sumber dan tujuan dalam rentang waktu yang dipilih.
  • Koneksi gagal keluar: jumlah total koneksi yang gagal antara layanan sumber dan tujuan.

Meningkatkan ke versi OSM tertentu

Mungkin ada beberapa downtime dari control plane selama upgrade. Bidang data hanya terpengaruh selama peningkatan CRD.

Peningkatan yang didukung

Ekstensi OSM dapat ditingkatkan secara manual di seluruh versi minor dan utama. Namun, peningkatan otomatis (jika diaktifkan) hanya berfungsi di seluruh versi minor.

Meningkatkan ke versi OSM tertentu secara manual

Perintah berikut meningkatkan ekstensi OSM-Arc ke versi tertentu:

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --version x.y.z

Mengaktifkan peningkatan otomatis

Jika peningkatan otomatis tidak diaktifkan secara default, perintah berikut dapat dijalankan untuk mengaktifkannya. Nilai --auto-upgrade-minor-version saat ini dapat diverifikasi dengan menjalankan az k8s-extension show perintah sebagaimana dirinci dalam langkah Validasi penginstalan .

az k8s-extension update --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --cluster-type connectedClusters --release-train stable --name osm --auto-upgrade-minor-version true

Menghapus instalan OSM dengan dukungan Azure Arc

Gunakan perintah berikut:

az k8s-extension delete --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name osm -y

Verifikasi bahwa instans ekstensi telah dihapus:

az k8s-extension list --cluster-type connectedClusters --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Output ini tidak boleh mencakup OSM. Jika Anda tidak memiliki ekstensi lain yang diinstal pada kluster Anda, itu hanya array kosong.

Saat Anda menggunakan az k8s-extension perintah untuk menghapus ekstensi OSM, arc-osm-system namespace tidak dihapus, dan sumber daya aktual dalam namespace (seperti bermutasi konfigurasi webhook dan pod pengontrol osm) membutuhkan waktu sekitar 10 menit untuk dihapus.

Catatan

Gunakan CLI az k8s-extension untuk menghapus instalasi komponen OSM yang dikelola oleh Arc. Menggunakan OSM CLI untuk menghapus instalasi tidak didukung oleh Arc dan dapat mengakibatkan perilaku yang tidak diinginkan.

Langkah berikutnya