feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command
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>
This commit is contained in:
commit
baa2d0220b
488 changed files with 213221 additions and 0 deletions
|
|
@ -0,0 +1,385 @@
|
|||
# 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue