Rychlý start: Nasazení připojeného rozšíření Arc registru (Preview)
V tomto rychlém startu se dozvíte, jak nasadit rozšíření Připojeného registru Arc pomocí uživatelského rozhraní příkazového řádku s výchozím nastavením zabezpečeného zabezpečení, abyste zajistili robustní zabezpečení a provozní integritu.
Připojený registr je kontingenční nástroj pro hraniční zákazníky, který umožňuje efektivní správu a přístup ke kontejnerizovaným úlohám, ať už místně nebo ve vzdálených lokalitách. Díky integraci se službou Azure Arc zajišťuje služba bezproblémové a jednotné prostředí pro správu životního cyklu pro kontejnerizované úlohy založené na Kubernetes. Nasazení připojeného rozšíření Registru Arc v clusterech Kubernetes s podporou Arc zjednodušuje správu a přístup k těmto úlohám.
Požadavky
Nastavte Azure CLI pro připojení k Azure a Kubernetes.
Vytvořte nebo použijte existující službu Azure Container Registry (ACR) s rychlým startem .
Nastavte přístup k bráně firewall a komunikaci mezi ACR a připojeným registrem povolením vyhrazených datových koncových bodů.
V tomto kurzu vytvořte nebo použijte existující cluster Azure KubernetesService (AKS).
Podle rychlého startu nastavte připojení mezi Kubernetescluster a Azure Arc.
Ke správě Kubernetesextensions použijte příkaz k8s-extension.
az extension add --name k8s-extension
Zaregistrujte požadované poskytovatele prostředků Azure ve vašem předplatném a použijte Kubernetes s podporou Azure Arc:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocation
Poskytovatel prostředků Azure je sada operací REST, které umožňují funkce pro konkrétní službu Azure.
Úložiště v registru ACR pro synchronizaci s připojeným registrem.
az acr import --name myacrregistry --source mcr.microsoft.com/mcr/hello-world:latest --image hello-world:latest
Úložiště
hello-world
se vytvoří v registrumyacrregistry
ACR pro synchronizaci s připojeným registrem.
Nasazení připojeného rozšíření Registru Arc s výchozím nastavením zabezpečení
Jakmile jsou splněné požadavky a nezbytné podmínky a komponenty, postupujte podle zjednodušeného přístupu k bezpečnému nasazení připojeného rozšíření registru do clusteru Kubernetes s podporou Arc pomocí následujících nastavení. Tato nastavení definují následující konfiguraci pomocí protokolu HTTPS, jen pro čtení, distribuce důvěryhodnosti a služby Cert Manager. Postupujte podle kroků pro úspěšné nasazení:
- Vytvořte připojený registr.
- Nasaďte připojené rozšíření Registru Arc.
- Ověřte nasazení připojeného rozšíření registru.
- Nasaďte pod, který používá image z připojeného registru.
Vytvoření připojeného registru a synchronizace s ACR
Vytvoření připojeného registru pro synchronizaci s ACR je základním krokem pro nasazení připojeného rozšíření registru Arc.
Vytvořte připojený registr, který se synchronizuje s registrem ACR:
Pokud chcete vytvořit připojený registr
myconnectedregistry
, který se synchronizuje s registremmyacrregistry
ACR ve skupiněmyresourcegroup
prostředků a úložištihello-world
, můžete spustit příkaz az acr connected-registry create :az acr connected-registry create --registry myacrregistry \ --name myconnectedregistry \ --resource-group myresourcegroup \ --repository "hello-world"
- Příkaz az acr connected-registry create vytvoří připojený registr se zadaným úložištěm.
- Příkaz az acr connected-registry create přepíše akce, pokud mapování oboru synchronizace s názvem
myscopemap
existuje, a přepíše vlastnosti, pokud existuje tokenmysynctoken
synchronizace. - Příkaz az acr connected-registry create během vytváření připojeného registru ověří vyhrazený datový koncový bod a poskytne příkaz, který povolí vyhrazený datový koncový bod v registru ACR.
Nasazení připojeného rozšíření Registru Arc v clusteru Kubernetes s podporou Arc
Nasazením připojeného rozšíření Registry Arc můžete synchronizovat image kontejnerů a další artefakty OCI (Open Container Initiative) s registrem ACR. Nasazení pomáhá urychlit přístup k artefaktům registru a umožňuje vytváření pokročilých scénářů. Nasazení rozšíření zajišťuje zabezpečenou distribuci důvěryhodnosti mezi připojeným registrem a všemi klientskými uzly v clusteru a nainstaluje službu cert-manager pro šifrování TLS (Transport Layer Security).
Vygenerování souboru JSON připojovacího řetězce a chráněného nastavení
Pro zabezpečené nasazení připojeného rozšíření registru vygenerujte připojovací řetězec, včetně nového hesla, přenosového protokolu a vytvořte
protected-settings-extension.json
soubor potřebný pro nasazení rozšíření pomocí příkazu az acr connected-registry get-settings:
cat << EOF > protected-settings-extension.json
{
"connectionString": "$(az acr connected-registry get-settings \
--name myconnectedregistry \
--registry myacrregistry \
--parent-protocol https \
--generate-password 1 \
--query ACR_REGISTRY_CONNECTION_STRING --output tsv --yes)"
}
EOF
cat << EOF > protected-settings-extension.json
{
"connectionString": "$(az acr connected-registry get-settings \
--name myconnectedregistry \
--registry myacrregistry \
--parent-protocol https \
--generate-password 1 \
--query ACR_REGISTRY_CONNECTION_STRING --output tsv --yes)"
}
EOF
echo "{\"connectionString\":\"$(az acr connected-registry get-settings \
--name myconnectedregistry \
--registry myacrregistry \
--parent-protocol https \
--generate-password 1 \
--query ACR_REGISTRY_CONNECTION_STRING \
--output tsv \
--yes | tr -d '\r')\" }" > settings.json
Poznámka:
Příkazy cat a echo vytvoří protected-settings-extension.json
soubor s podrobnostmi připojovací řetězec a vloží do souboru obsah připojovací řetězecprotected-settings-extension.json
, nezbytný krok pro nasazení rozšíření. Příkaz az acr connected-registry get-settings vygeneruje připojovací řetězec, včetně vytvoření nového hesla a specifikace přenosového protokolu.
Nasazení připojeného rozšíření registru
Nasaďte připojené rozšíření registru se zadanými podrobnostmi konfigurace pomocí příkazu az k8s-extension create :
az k8s-extension create --cluster-name myarck8scluster \
--cluster-type connectedClusters \
--extension-type Microsoft.ContainerRegistry.ConnectedRegistry \
--name myconnectedregistry \
--resource-group myresourcegroup \
--config service.clusterIP=192.100.100.1 \
--config-protected-file protected-settings-extension.json
- Příkaz az k8s-extension create nasadí připojené rozšíření registru na Kubernetescluster se zadanými parametry konfigurace a souborem chráněných nastavení.
- Zajišťuje zabezpečenou distribuci důvěryhodnosti mezi připojeným registrem a všemi klientskými uzly v clusteru a nainstaluje službu cert-manager pro šifrování TLS (Transport Layer Security).
- Ip adresa clusteru musí být z rozsahu IP adres podsítě clusteru AKS. Parametr
service.clusterIP
určuje IP adresu připojené služby registru v rámci clusteru. Je nezbytné nastavitservice.clusterIP
rozsah platných IP adres služby pro Kubernetescluster. Ujistěte se, že IP adresa zadaná proservice.clusterIP
spadá do určeného rozsahu IP adres služby definovaného během počáteční konfigurace clusteru, obvykle se nachází v nastavení sítě clusteru.service.clusterIP
Pokud tento rozsah není v tomto rozsahu, musí být aktualizován na IP adresu, která je v platném rozsahu a aktuálně ji nepoužívá jiná služba.
Ověření nasazení připojeného rozšíření registru
Pokud chcete ověřit nasazení připojeného rozšíření registru v Kubernetescluster s podporou Arc, postupujte takto:
Ověření stavu nasazení
Spuštěním příkazu az k8s-extension show zkontrolujte stav nasazení připojeného rozšíření registru:
az k8s-extension show --name myconnectedregistry \
--cluster-name myarck8scluster \
--resource-group myresourcegroup \
--cluster-type connectedClusters
Příklad výstupu
{
"aksAssignedIdentity": null,
"autoUpgradeMinorVersion": true,
"configurationProtectedSettings": {
"connectionString": ""
},
"configurationSettings": {
"pvc.storageClassName": "standard",
"pvc.storageRequest": "250Gi",
"service.clusterIP": "[your service cluster ip]"
},
"currentVersion": "0.11.0",
"customLocationSettings": null,
"errorInfo": null,
"extensionType": "microsoft.containerregistry.connectedregistry",
"id": "/subscriptions/[your subscription id]/resourceGroups/[your resource group name]/providers/Microsoft.Kubernetes/connectedClusters/[your arc cluster name]/providers/Microsoft.KubernetesConfiguration/extensions/[your extension name]",
"identity": {
"principalId": "[identity principal id]",
"tenantId": null,
"type": "SystemAssigned"
},
"isSystemExtension": false,
"name": "[your extension name]",
"packageUri": null,
"plan": null,
"provisioningState": "Succeeded",
"releaseTrain": "preview",
"resourceGroup": "[your resource group]",
"scope": {
"cluster": {
"releaseNamespace": "connected-registry"
},
"namespace": null
},
"statuses": [],
"systemData": {
"createdAt": "2024-07-12T18:17:51.364427+00:00",
"createdBy": null,
"createdByType": null,
"lastModifiedAt": "2024-07-12T18:22:42.156799+00:00",
"lastModifiedBy": null,
"lastModifiedByType": null
},
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": null
}
Ověření stavu a stavu připojeného registru
Pro každý připojený registr můžete pomocí příkazu az acr connected-registry list zobrazit stav a stav připojeného registru:
az acr connected-registry list --registry myacrregistry \ --output table
Příklad výstupu
| NAME | MODE | CONNECTION STATE | PARENT | LOGIN SERVER | LAST SYNC(UTC) |
|------|------|------------------|--------|--------------|----------------|
| myconnectedregistry | ReadWrite | online | myacrregistry | myacrregistry.azurecr.io | 2024-05-09 12:00:00 |
| myreadonlyacr | ReadOnly | offline | myacrregistry | myacrregistry.azurecr.io | 2024-05-09 12:00:00 |
Ověření konkrétních podrobností připojeného registru
Podrobnosti o konkrétním připojeném registru najdete pomocí příkazu az acr connected-registry show :
az acr connected-registry show --registry myacrregistry \
--name myreadonlyacr \
--output table
Příklad výstupu
| NAME | MODE | CONNECTION STATE | PARENT | LOGIN SERVER | LAST SYNC(UTC) | SYNC SCHEDULE | SYNC WINDOW |
| ------------------- | --------- | ---------------- | ------------- | ------------------------ | ------------------- | ------------- | ----------------- |
| myconnectedregistry | ReadWrite | online | myacrregistry | myacrregistry.azurecr.io | 2024-05-09 12:00:00 | 0 0 * * * | 00:00:00-23:59:59 |
- Příkaz az k8s-extension show ověří stav nasazení rozšíření.
- Příkaz také poskytuje podrobnosti o stavu připojení připojeného registru, poslední synchronizaci, okně synchronizace, plánu synchronizace a dalších.
Nasazení podu, který používá image z připojeného registru
Pokud chcete nasadit pod, který používá image z připojeného registru v clusteru, musí být operace provedena přímo v samotném uzlu clusteru. Postupujte následovně:
- Vytvořte v clusteru tajný klíč pro ověření pomocí připojeného registru:
Spuštěním příkazu kubectl create secret docker-registry vytvořte v clusteru tajný kód pro ověření pomocí připojeného registru:
kubectl create secret docker-registry regcred --docker-server=192.100.100.1 --docker-username=mytoken --docker-password=mypassword
Nasaďte pod, který používá požadovanou image z připojeného registru, pomocí hodnoty service.clusterIP adresy
192.100.100.1
připojeného registru a názevhello-world
image se značkoulatest
:kubectl apply -f - <<EOF apiVersion: apps/v1 kind: Deployment metadata: name: hello-world-deployment labels: app: hello-world spec: selector: matchLabels: app: hello-world replicas: 1 template: metadata: labels: app: hello-world spec: imagePullSecrets: - name: regcred containers: - name: hello-world image: 192.100.100.1/hello-world:latest EOF
Vyčištění prostředků
Odstraněním nasazeného připojeného rozšíření registru odeberete odpovídající připojené pody registru a nastavení konfigurace.
Odstranění připojeného rozšíření registru
Spuštěním příkazu az k8s-extension delete odstraňte připojené rozšíření registru:
az k8s-extension delete --name myconnectedregistry --cluster-name myarcakscluster \ --resource-group myresourcegroup \ --cluster-type connectedClusters
Odstraněním nasazeného připojeného registru odeberete připojenou instanci cloudu registru a její podrobnosti o konfiguraci.
Odstranění připojeného registru
Spuštěním příkazu az acr connected-registry delete odstraňte připojený registr:
az acr connected-registry delete --registry myacrregistry \ --name myconnectedregistry \ --resource-group myresourcegroup