我尝试创建一个容器组并希望将这些容器日志推送到 Loganalytics 中。
apiVersion: 2019-12-01
location: eastus2
name: mycontainergroup003
properties:
containers:
- name: mycontainer003
properties:
environmentVariables: []
image: fluent/fluentd
ports: []
resources:
requests:
cpu: 1.0
memoryInGB: 1.5
osType: Linux
restartPolicy: Always
diagnostics:
logAnalytics:
workspaceId: /subscriptions/f446b796-978f-4fa0-8462-......../resourcegroups/v_deployment-docker_us/providers/microsoft.operationalinsights/workspaces/deployment-docker-logs
workspaceKey: nEZSOUGe1huaCksRB2ahsFz/ibcaQr3WPdAHiLc............
tags: null
type: Microsoft.ContainerInstance/containerGroups
现在每当我尝试运行时:
az container create --resource-group rg-deployment-docker --name mycontainergroup003 --file .\azure-deploy-aci.yaml
然后我会得到错误:
(InvalidLogAnalyticsWorkspaceId) The log analytics setting is invalid. WorkspaceId contains invalid character, e.g. '/', '.', etc.
Code: InvalidLogAnalyticsWorkspaceId
Message: The log analytics setting is invalid. WorkspaceId contains invalid character, e.g. '/', '.', etc.
现在我希望借助 URL 中提到的参数 json 文件创建这样的参数类型:
https://learn.microsoft.com/en-us/azure/azure-monitor/logs/resource-manager-workspace
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceId": {
"type": "string"
}
},
}
现在我将运行以下命令:
az container create --resource-group rg-deployment-docker --name mycontainergroup003 --file .\azure-deploy-aci.yaml --parameters parameters.json
但出现错误:
unrecognized arguments: --parameters parameters.json
这些参数似乎对 az container create 命令无效。有人可以建议替代方案吗?
最佳答案
您需要传递日志分析工作区 GUID,而不是在 Yaml 文件中传递整个 ResourceId
,并且按照 documentation az container create cmdlet 没有任何参数来传递 --parameter
标志。
进行上述更改后,我能够毫无问题地部署容器。
以下是供引用的示例屏幕截图输出:
关于json - Loganalytics 工作区 ID 参数模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72464924/