在 Azure 云上安装 Jenkins

Installing Jenkins on Azure cloud

我正在尝试使用下面的 link 在 Azure 门户上安装 jenkins: https://docs.microsoft.com/en-us/azure/developer/jenkins/configure-on-linux-vm

在要求创建 VM 的步骤中,

az vm create \
--resource-group QuickstartJenkins-rg \
--name QuickstartJenkins-vm \
--image UbuntuLTS \
--admin-username "azureuser" \
--generate-ssh-keys \
--custom-data cloud-init-jenkins.txt

它抛出此错误消息:

Azure Error: InvalidTemplateDeployment
Message: The template deployment failed because of policy violation. Please see details for more information.
Exception Details:
        Error Code: RequestDisallowedByPolicy
        Message: Resource 'Jenkins-vmNSG' was disallowed by policy. Policy identifiers: '[{"policyAssignment":{"name":"Security groups shall not contain Internet ingress 0.0.0.0/0 rules for blocklisted ports - SSH"

知道如何解决这个问题。

@trailmax 是对的。上述命令创建一个默认的 Ubuntu 虚拟机,具有自动 SSH 身份验证,向所有互联网开放端口 22

出于安全或合规性原因,您的订阅管理员已分配策略来限制资源部署到您的订阅的方式,这会阻止您使用默认配置部署 VM。因此 RequestDisallowedByPolicy 错误。

解决方案:要解决此问题,您可以部署通过 --nsg-rule NONE 的 VM,这将创建没有默认 NSG 规则的 VM:

az vm create \
--resource-group QuickstartJenkins-rg \
--name QuickstartJenkins-vm \
--image UbuntuLTS \
--admin-username "azureuser" \
--generate-ssh-keys \
--custom-data cloud-init-jenkins.txt
--nsg-rule NONE

然后您可以 configure NSG rules 只允许从您的客户端 IP 进行 SSH。