Add /ultraresearch-local for structured research combining local codebase analysis with external knowledge via parallel agent swarms. Produces research briefs with triangulation, confidence ratings, and source quality assessment. New command: /ultraresearch-local with modes --quick, --local, --external, --fg. New agents: research-orchestrator (opus), docs-researcher, community-researcher, security-researcher, contrarian-researcher, gemini-bridge (all sonnet). New template: research-brief-template.md. Integration: --research flag in /ultraplan-local accepts pre-built research briefs (up to 3), enriches the interview and exploration phases. Planning orchestrator cross-references brief findings during synthesis. Design principle: Context Engineering — right information to right agent at right time. Research briefs are structured artifacts in the pipeline: ultraresearch → brief → ultraplan --research → plan → ultraexecute. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
385 lines
14 KiB
Markdown
385 lines
14 KiB
Markdown
# 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/<sub>/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.
|