代码之家  ›  专栏  ›  技术社区  ›  MoonKnight

MongoDB副本集-参数linuxConfiguration的值。ssh。公钥。密钥数据无效

  •  0
  • MoonKnight  · 技术社区  · 4 年前

    mongodb-replica-set-centos .

    当我运行推荐的部署命令来部署副本集时,即

    az group create --name <resource-group-name> --location <resource-group-location> # Use this command when you need to create a new resource group for your deployment.
    az deployment group create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/migr8/AzureDeploymentTemplates/main/mongo/mongodb-replica-set-centos/azuredeploy.json
    

    {
      "status": "Failed",
      "error": {
        "code": "DeploymentFailed",
        "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.",
        "details": [
          {
            "code": "Conflict",
            "message": "{\r\n  \"status\": \"Failed\",\r\n  \"error\": {\r\n    \"code\": \"ResourceDeploymentFailure\",\r\n    \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.\",\r\n    \"details\": [\r\n      {\r\n        \"code\": \"DeploymentFailed\",\r\n        \"message\": \"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.\",\r\n        \"details\": [\r\n          {\r\n            \"code\": \"BadRequest\",\r\n  \"message\": \"{\\r\\n  \\\"error\\\": {\\r\\n    \\\"code\\\": \\\"InvalidParameter\\\",\\r\\n    \\\"message\\\": \\\"The value of parameter linuxConfiguration.ssh.publicKeys.keyData is invalid.\\\",\\r\\n    \\\"target\\\": \\\"linuxConfiguration.ssh.publicKeys.keyData\\\"\\r\\n  }\\r\\n}\"\r\n          }\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n}"
          },
          {
            "code": "Conflict",
            "message": "{\r\n  \"status\": \"Failed\",\r\n  \"error\": {\r\n    \"code\": \"ResourceDeploymentFailure\",\r\n    \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.\",\r\n    \"details\": [\r\n      {\r\n        \"code\": \"DeploymentFailed\",\r\n        \"message\": \"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.\",\r\n        \"details\": [\r\n          {\r\n            \"code\": \"BadRequest\",\r\n            \"message\": \"{\\r\\n  \\\"error\\\": {\\r\\n    \\\"code\\\": \\\"InvalidParameter\\\",\\r\\n    \\\"message\\\": \\\"The value of parameter linuxConfiguration.ssh.publicKeys.keyData is invalid.\\\",\\r\\n    \\\"target\\\": \\\"linuxConfiguration.ssh.publicKeys.keyData\\\"\\r\\n  }\\r\\n}\"\r\n          }\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n}"
          }
        ]
      }
    }
    

        "variables": {
            "subnetRef": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('subnet').vnet, parameters('subnet').name)]",
            "securityGroupName": "[concat(parameters('namespace'), parameters('vmbasename'), 'nsg')]",
            "linuxConfiguration": {
                "disablePasswordAuthentication": true,
                "ssh": {
                    "publicKeys": [
                        {
                            "path": "[concat('/home/', parameters('adminUsername'), '/.ssh/authorized_keys')]",
                            "keyData": "[parameters('adminPasswordOrKey')]"
                        }
                    ]
                }
            }
        },
    

    adminPasswordOrKey . 我已经尝试将其更改为标准密码和不同位深度的SSH密钥,但运气不好。。。

    我怎样才能解决这个问题?

    复制步骤

    1. az group create --name <resource-group-name> --location <resource-group-location> 资源组存在的位置。
    2. az deployment group create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/migr8/AzureDeploymentTemplates/main/mongo/mongodb-replica-set-centos/azuredeploy.json 并逐步完成提示
    3. 输入相关信息。

    进一步调查

    https://stackoverflow.com/a/60860498/626442 )具体来说

    注意:请注意,唯一允许的路径是/home/。由于Azure的限制,ssh/authorized_密钥。

    0 回复  |  直到 4 年前
        1
  •  1
  •   Alex Blex    4 年前

    您忘记传入参数 az deployment group create .... --parameters azuredeploy.parameters.json azuredeploy.parameters.json 并根据需要更改值。看见 https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-tutorial-use-parameter-file?tabs=azure-cli#deploy-template 详细信息。

    具体来说,问题中的错误在于 adminUsername 参数为空。请记住,这个用户名也在主目录路径中使用,因此请将自己限制为小写ASCII a-z、数字和下划线。没有空格,没有特殊字符,没有utf。

    https://www.mongodb.com/support-policy/lifecycles . 考虑到他们向互联网开放,如果你真的部署它,你可能会遇到更多的问题。

    更新

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "adminUsername": {
          "value": "yellow"
        },
        "mongoAdminUsername": {
          "value": "phrase"
        },
        "mongoAdminPassword": {
          "value": "settle#SING"
        },
        "secondaryNodeCount": {
          "value": 2
        },
        "sizeOfDataDiskInGB": {
          "value": 2
        },
        "dnsNamePrefix": {
          "value": "written"
        },
        "centOsVersion": {
          "value": "7.7"
        },
        "primaryNodeVmSize": {
          "value": "Standard_D1_v2"
        },
        "secondaryNodeVmSize": {
          "value": "Standard_D1_v2"
        },
        "zabbixServerIPAddress": {
          "value": "Null"
        },
        "adminPasswordOrKey": {
          "value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDdNRTU0XF3xazhhDmwXXWGG7wp4AaQC1r89K7sZFRXp9VSUtydV59DHr67mV5/0DWI5Co1yWK713QJ00BPlBIHNMNLuoBBq8IkOx8fBZF1g9YFm5Zy4ay+CF4WgDITAsyxhKvUWL6jwG5M3XIdVYm49K+EFOCWSSaNtCk8tHhi3v6/5HFkwc2r0UL/WWWbbt5AmpJ8QOCDk/x+XcgCjP9vE5jYYGsFz9F6V1FdOpjVfDwi13Ibivj/w2wOZh2lQGskC+qDjd2upK13+RfWYHY3rr+ulNRPckHRhOqmZ2vlUapO4T0X9mM6ugSh1FprLP5nHdVCUls2yw4BAcSoM9NMiyafE56Xkp9h3bTAfx5Ufpe5mjwQp+j15np1pVpwDaEgk7ZeaPoZPhbalpvZGyg9KiKfs9+KUYHfGklIOHKJ3RUoPE286rg1U4LGswil5RARRSf86kBBHXaIPxy1X0N6QryeWhk0aM6LWEdl7mVbQksa7ilANnsaVMl7FSdY/Cc="
        }
      }
    }
    

    危险 :它将使用可公开访问的凭据部署可公开访问的mongodb副本集,因此请在您对测试/调试满意后立即删除资源

    这是门户上的部署情况: enter image description here