Odkazování na aplikace Kubernetes v aplikaci Azure pomocí ukázky spravované aplikace
Tento článek poskytuje technické zdroje a doporučení, které vám pomůžou odkazovat na aplikace Kubernetes v aplikaci Azure pomocí ukázky spravované aplikace.
Omezení
Nabídka spravované aplikace nebude fungovat s existujícím spravovaným clusterem AKS a clusterem Kubernetes s podporou Azure Arc. Nabídka musí vytvořit nový spravovaný cluster AKS a nainstalovat aplikaci do clusteru, jinak se nabídka nepodaří nasadit.
Požadavky
Potřebujete nastavit nabídku Kubernetes na Azure Marketplace, na kterou chcete odkazovat v nabídce spravované aplikace. Pokud chcete vytvořit nabídku Kubernetes, podívejte se na příručku Začínáme.
Definice uživatelského rozhraní a šablona ARM v této nabídce můžou být opravdu jednoduché, protože ji rozšíříte v nabídce spravované aplikace.
V tomto příkladu začneme ze složky k8s-offer-azure-vote a vytvoříme sadu CNAB pro základní nabídku Kubernetes.
Jakmile bude vaše nabídka publikovaná a dostupná ve fázi Preview na Azure Marketplace, můžete začít vytvářet nabídku spravovaných aplikací.
Nabídka spravovaných aplikací
Začněte s mainTemplate a vytvořte souboryUIDefinition v této složce.
Nejprve aktualizujte oddíl proměnných:
"variables": {
"plan-name": "DONOTMODIFY",
"plan-publisher": "DONOTMODIFY",
"plan-offerID": "DONOTMODIFY",
"releaseTrain": "DONOTMODIFY",
"clusterExtensionTypeName": "DONOTMODIFY"
},
Pokud chcete načíst hodnotu přímo z nabídky Kubernetes, postupujte podle příručky: Nasazení aplikace Azure Kubernetes pomocí šablony ARM.
Příprava mainTemplate.json
V této ukázce mainTemplate jsme přidali další komponenty, abychom ukázali, jak do nabídky spravované aplikace přidat další komponenty.
Identita přiřazená uživatelem:
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"name": "[concat(parameters('clusterResourceName'), '-identity')]",
"apiVersion": "2023-01-31",
"location": "[resourceGroup().location]"
},
- Keyvault, zásady přístupu a tajný kód:
{
"name": "[uniqueString(resourceGroup().id, resourceGroup().location, 'keyvault')]",
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2019-09-01",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "keyVault1"
},
"properties": {
"enabledForDeployment": true,
"enabledForTemplateDeployment": true,
"enabledForDiskEncryption": true,
"tenantId": "[subscription().tenantId]",
"accessPolicies": [
{
"tenantId": "[subscription().tenantId]",
"objectId": "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', concat(parameters('clusterResourceName'), '-identity')), '2023-01-31').principalId]",
"permissions": {
"keys": [
"Get"
],
"secrets": [
"List",
"Get",
"Set"
]
}
}
],
"sku": {
"name": "standard",
"family": "A"
}
},
"resources": [
{
"type": "secrets",
"name": "secretExample1",
"apiVersion": "2016-10-01",
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', uniqueString(resourceGroup().id, resourceGroup().location, 'keyvault'))]"
],
"properties": {
"value": "secretValue"
}
}
],
"dependsOn": [
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', concat(parameters('clusterResourceName'), '-identity'))]"
]
}
- Přiřazení identity k uzlu clusteru a závisí na:
"type": "Microsoft.ContainerService/managedClusters",
"apiVersion": "2022-11-01",
"name": "[parameters('clusterResourceName')]",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', concat(parameters('clusterResourceName'), '-identity'))]"
],
"tags": {},
"sku": {
"name": "Basic",
"tier": "Free"
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', concat(parameters('clusterResourceName'), '-identity'))]": {}
}
},
UiDefinition
V této ukázce createUiDefinition jsme odebrali další komponenty, které se nevztahují na nabídku spravovaných aplikací.
Zabalení souborů
Přidejte dva soubory mainTemplate.json
a createUiDefinition.json
do souboru ZIP.
Vytvoření nabídky spravovaných aplikací
Teď, když máte požadované artefakty, můžete postupovat podle průvodce: Vytvoření nabídky aplikací Azure na Azure Marketplace k vytvoření nabídky spravovaných aplikací.