# Azure Arc for AI Management **Last updated:** 2026-02 **Status:** GA **Category:** Hybrid Cloud & Edge AI --- ## Introduksjon Azure Arc er Microsofts svar på utfordringen med å administrere AI-arbeidsbelastninger på tvers av hybride og multicloud-miljøer. For norsk offentlig sektor, der data kan befinne seg i egne datasentre, på Azure Local-klynger eller hos tredjeparts skyleverandorer, gir Arc en sentralisert kontrollflate som gjor det mulig å behandle alle Kubernetes-klynger som forsteklasses Azure-ressurser. Med Azure Arc-enabled Kubernetes kan organisasjoner koble sammen klynger som kjorer lokalt, i Azure eller hos andre skyleverandorer, og administrere dem fra Azure Portal med ensartede policyer, overvaking og sikkerhetskontroller. Dette er spesielt verdifullt for AI-arbeidsbelastninger som krever GPU-akselerasjon, modellversjonering og sentralisert governance. For offentlige virksomheter i Norge betyr dette at man kan overholde krav til datasuverenitet og plassering av data, samtidig som man drar nytte av Azures ML-plattform for trening og inferens pa tvers av distribuerte miljoer. --- ## Arkitekturoversikt Azure Arc for AI Management bygger pa tre lag: ``` ┌─────────────────────────────────────────────────┐ │ Azure Control Plane │ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ Azure │ │ Azure │ │ Azure Machine │ │ │ │ Policy │ │ Monitor │ │ Learning │ │ │ └────┬─────┘ └────┬─────┘ └───────┬──────────┘ │ │ │ │ │ │ │ └─────────────┼───────────────┘ │ │ │ Azure Arc │ └─────────────────────┼───────────────────────────-┘ │ ┌─────────────┼──────────────┐ │ │ │ ┌────▼───┐ ┌────▼───┐ ┌─────▼──────┐ │ On-prem│ │ Azure │ │ Multi-cloud│ │ K8s │ │ AKS │ │ K8s │ │ Cluster│ │ Cluster│ │ Cluster │ └────────┘ └────────┘ └────────────┘ ``` --- ## Arc-enabled Kubernetes for AI ### Tilkobling av klynger Azure Arc-enabled Kubernetes lar deg koble eksisterende Kubernetes-klynger til Azure for sentralisert administrasjon. Klynger kan kjore pa: | Plattform | Stotte | Beskrivelse | |-----------|--------|-------------| | AKS i Azure | Innebygd | Fullt administrert Kubernetes i skyen | | AKS pa Azure Local | GA | Kubernetes pa egne servere med Azure-integrasjon | | Arc-enabled K8s (on-prem) | GA | Alle CNCF-sertifiserte klynger lokalt | | Arc-enabled K8s (multicloud) | GA | AWS EKS, Google GKE, etc. | | Edge-enheter | GA | Azure Stack Edge, IoT Edge-enheter | ### Tilkobling med Azure CLI ```bash # Koble en on-premises klynge til Azure Arc az connectedk8s connect \ --name my-ai-cluster \ --resource-group ai-rg \ --location norwayeast # Verifiser tilkobling az connectedk8s show \ --name my-ai-cluster \ --resource-group ai-rg ``` ### Arc-agenter Nar en klynge kobles til Arc, installeres flere agenter: | Agent | Funksjon | |-------|----------| | `clusteridentityoperator` | Administrerer managed identity for klyngen | | `clusterconnectoperator` | Hndterer klynge-tilkobling | | `configoperator` | Overvaker konfigurasjonsendringer | | `controlleroperator` | Orkestrerer andre agenter | | `fluxoperator` | GitOps-basert konfigurasjonsadministrasjon | | `extensionoperator` | Installerer og administrerer klynge-extensions | --- ## Sentralisert ML-modellforvaltning ### Azure Machine Learning Extension Azure Machine Learning-extensionen er kjernen i AI-forvaltning pa Arc-enabled klynger. Den lar deg bruke Arc-klynger som compute targets for bade trening og inferens. **Installasjon:** ```bash # Installer ML-extension pa Arc-enabled klynge az k8s-extension create \ --name aml-extension \ --extension-type Microsoft.AzureML.Kubernetes \ --cluster-type connectedClusters \ --cluster-name my-ai-cluster \ --resource-group ai-rg \ --scope cluster \ --configuration-settings \ enableTraining=True \ enableInference=True \ inferenceRouterServiceType=LoadBalancer \ allowInsecureConnections=True ``` **Koble til ML workspace:** ```bash # Attach klynge til Azure ML workspace az ml compute attach \ --resource-group ai-workspace-rg \ --workspace-name ai-workspace \ --type Kubernetes \ --name arc-compute \ --resource-id "/subscriptions//resourceGroups/ai-rg/providers/Microsoft.Kubernetes/connectedClusters/my-ai-cluster" \ --namespace ai-workloads ``` ### Bruksmonster for Kubernetes Compute | Monster | Data | Trening | Inferens | Bruksomrade | |---------|------|---------|----------|-------------| | Sky-forst | Sky | Azure | Azure | Standard ML-pipeline | | Hybrid trening | Lokalt | Lokalt | Sky | Datasuverenitiet, global tilgang | | Hybrid inferens | Sky | Sky | Lokalt | Latens, compliance | | Full lokal | Lokalt | Lokalt | Lokalt | Strengt regulert | | Multi-sky | Distribuert | Begge | Begge | Elastisitet + kontroll | ### KAITO - Kubernetes AI Toolchain Operator KAITO forenkler deployment av open-source LLM-er pa Arc-enabled Kubernetes: ```yaml # workspace-phi4.yaml - Deploy Phi-4-mini pa Arc-klynge apiVersion: kaito.sh/v1alpha1 kind: Workspace metadata: name: workspace-phi-4-mini spec: resource: instanceType: Standard_NC4_A2 labelSelector: matchLabels: apps: llm-inference inference: preset: name: phi-4-mini-instruct ``` **Stottede GPU-modeller for KAITO pa Azure Local:** | GPU | VM SKU | Stottede modeller | |-----|--------|-------------------| | NVIDIA T4 | Standard_NK6 | Phi-3-mini-4k | | NVIDIA A2 | Standard_NC4, NC8 | Phi-3-mini, Phi-3.5-mini | | NVIDIA A16 | Standard_NC16, NC32 | Phi-4-mini, Mistral-7B, Qwen2.5 | --- ## Policy og Compliance Enforcement ### Azure Policy for Kubernetes Azure Policy kan handheve governance-regler pa tvers av alle Arc-enabled klynger. For AI-arbeidsbelastninger er dette kritisk for a sikre: - Konsistente sikkerhetsinnstillinger pa tvers av klynger - Modell-deployment kun til godkjente noder - Overholdelse av dataklassifisering og suverenitetskrav - Standardiserte konfigurasjoner for GPU-ressurser **Installasjon av Policy-extension:** ```bash # Installer Azure Policy pa Arc-klynge az k8s-extension create \ --cluster-type connectedClusters \ --cluster-name my-ai-cluster \ --resource-group ai-rg \ --extension-type Microsoft.PolicyInsights \ --name azurepolicy ``` ### Innebygde policyer for AI-governance | Policy | Kategori | Effekt | |--------|----------|--------| | Kubernetes-klynger bor ikke tillate privilegerte containere | Sikkerhet | Deny | | Kubernetes-klynger bor bruke interne lastbalanserere | Nettverk | Deny | | Kubernetes-klynger bor ha Azure Policy-addon | Compliance | Audit | | Kubernetes-klynger bor kun bruke godkjente container images | Supply chain | Deny | | Kubernetes-klynger bor ha resursgrenser | Ressurs | Audit | ### Tilpassede policyer for AI ```json { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Kubernetes/connectedClusters" }, { "field": "tags['ai-workload']", "exists": true } ] }, "then": { "effect": "auditIfNotExists", "details": { "type": "Microsoft.KubernetesConfiguration/extensions", "existenceCondition": { "field": "Microsoft.KubernetesConfiguration/extensions/extensionType", "equals": "Microsoft.AzureML.Kubernetes" } } } } ``` --- ## Multi-cluster AI Governance ### Azure Kubernetes Fleet Manager For organisasjoner med mange AI-klynger gir Fleet Manager sentralisert koordinering: | Funksjon | Beskrivelse | |----------|-------------| | Cluster grouping | Grupper klynger etter formål (trening, inferens, edge) | | Update orchestration | Koordinerte oppdateringer pa tvers av klynger | | Configuration propagation | Distribuer GitOps-konfigurasjoner til mange klynger | | Multi-cluster networking | Service discovery pa tvers av klynger | ### GitOps-basert AI-modell-distribusjon Bruk Flux v2 for a distribuere AI-modeller og konfigurasjoner: ```bash # Konfigurer GitOps med Flux v2 for modell-deployment az k8s-configuration flux create \ --name ai-model-config \ --cluster-name my-ai-cluster \ --resource-group ai-rg \ --cluster-type connectedClusters \ --namespace ai-models \ --scope namespace \ --url https://github.com/org/ai-model-configs \ --branch main \ --kustomization name=models path=./models prune=true ``` ### Overvaking med Azure Monitor ```bash # Aktiver Container Insights pa Arc-klynge az k8s-extension create \ --name azuremonitor-containers \ --cluster-name my-ai-cluster \ --resource-group ai-rg \ --cluster-type connectedClusters \ --extension-type Microsoft.AzureMonitor.Containers ``` **Viktige metrikker a overvake for AI-klynger:** | Metrikk | Beskrivelse | Terskel | |---------|-------------|---------| | GPU-utnyttelse | Prosent GPU-bruk per node | >80% = skaler opp | | GPU-minne | VRAM-forbruk | >90% = advarsel | | Inferens-latens | P95 responstid | <500ms for real-time | | Modell-versjon | Aktiv modellversjon | Match med registeret | | Pod-restarts | Antall omstarter | >3 = undersok | --- ## Sikkerhetsarkitektur for Arc AI ### Defense in Depth ``` ┌────────────────────────────────────────┐ │ 1. Azure RBAC │ │ ┌──────────────────────────────────┐ │ │ │ 2. Kubernetes RBAC │ │ │ │ ┌────────────────────────────┐ │ │ │ │ │ 3. Network Policy │ │ │ │ │ │ ┌──────────────────────┐ │ │ │ │ │ │ │ 4. Pod Security │ │ │ │ │ │ │ │ ┌────────────────┐ │ │ │ │ │ │ │ │ │ 5. Container │ │ │ │ │ │ │ │ │ │ Security │ │ │ │ │ │ │ │ │ └────────────────┘ │ │ │ │ │ │ │ └──────────────────────┘ │ │ │ │ │ └────────────────────────────┘ │ │ │ └──────────────────────────────────┘ │ └────────────────────────────────────────┘ ``` ### Microsoft Defender for Kubernetes Defender gir trusselbeskyttelse for alle Arc-enabled klynger: - Runtime-trusselbeskyttelse - Sarbarhetsskanning av container images - Sikkerhetskonfigurasjonskontroller - Integrasjon med Microsoft Sentinel for SIEM ### Hemmelighetshaandtering ```bash # Installer Azure Key Vault Secrets Provider az k8s-extension create \ --cluster-type connectedClusters \ --cluster-name my-ai-cluster \ --resource-group ai-rg \ --extension-type Microsoft.AzureKeyVaultSecretsProvider \ --name akvsecretsprovider ``` --- ## Relevans for norsk offentlig sektor ### Datasuverenitetshensyn | Krav | Arc-losning | |------|-------------| | Data ma forbli i Norge | On-prem klynge med Arc management | | Sentralisert policy | Azure Policy handheves fra Norway East | | Auditlog | Azure Monitor med lokal lagring | | Kryptering | Key Vault med CMK i Norway East | | Tilgangskontroll | Azure RBAC + Kubernetes RBAC | ### Anbefalte Azure-regioner | Region | Bruk | Data residency | |--------|------|----------------| | Norway East | Primaer kontrollflate | Norge | | Norway West | DR/backup | Norge | | West Europe | Fallback, utvidede tjenester | EU/EFTA | ### NSM-krav og Arc Nasjonal sikkerhetsmyndighet (NSM) sine grunnprinsipper for IKT-sikkerhet kan mappes mot Arc-kapabiliteter: | NSM-prinsipp | Arc-kontroll | |--------------|--------------| | Kartlegg enheter og programvare | Arc inventory og tagging | | Ha kontroll pa nettverk og systemer | Azure Policy, Network Policy | | Beskytt data | Kryptering, Key Vault | | Overlapp/overvak | Azure Monitor, Defender | | Styring og kontroll | RBAC, governance hierarki | --- ## Begrensninger og hensyn | Begrensning | Beskrivelse | Workaround | |-------------|-------------|------------| | Outbound connectivity | Arc krever utgaende HTTPS | Proxy-stotte tilgjengelig | | Extension-kompatibilitet | Ikke alle extensions stotter alle distribusjoner | Sjekk kompatibilitetsmatrise | | GPU-stotte | KAITO pa Arc kun for Azure Local (preview) | Bruk Azure ML extension for andre | | Skalering | Ingen auto-scaling for Kubernetes compute i ML | Manuell skalering | | Modellkatalog | Model Catalog ikke stottet pa Kubernetes endpoints | Bruk custom modeller | --- ## For Cosmo - **Azure Arc er brokken mellom lokale AI-klynger og Azures skybaserte administrasjon** — alle Kubernetes-klynger blir forsteklasses Azure-ressurser med policy, overvaking og ML-integrasjon. - **KAITO (Kubernetes AI Toolchain Operator) forenkler LLM-deployment** pa Arc-enabled klynger, spesielt pa Azure Local med GPU-stotte for Phi-4, Mistral og Qwen-modeller. - **Azure Policy for Kubernetes handhever governance pa tvers av alle klynger** — fra on-prem til multicloud — med innebygde og tilpassede policyer for AI-arbeidsbelastninger. - **For norsk offentlig sektor er Arc losningen for "data forblir lokalt, styring fra skyen"** — kontrollflaten i Norway East, data pa egne servere, med full auditlog og kryptering. - **Multi-cluster governance med Fleet Manager og GitOps** gir skalerbar, deklarativ modell- og konfigurasjonsstyring for distribuerte AI-miljoer.