这是一个很长的问题,对不起。
我正在做一个Git的课程,我们正在把一个应用程序推到AKS。已通过PluralSight请求支持,但尚未收到回复。我一个人在这里。
结果应该是成功展开至AKS。我的帐户没有理由会升起这个标志。
已尝试查看我的帐户权限,但我确实具有全局管理员权限。该帐户应适用于在错误中描述得相当模糊得范围内列出凭据得操作.
完整的错误是,我的帐户GUID和订阅GUID已编辑:
错误:“错误”:“代码”:“授权失败”,“消息”:“对象ID为”“的客户端”"无权在范围“/订阅//资源组//提供者/Microsoft.ContainerService/managedClusters//访问配置文件/群集管理员”上执行操作“Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action",或者该范围无效。”如果访问权限是最近授予的,请刷新您的凭据。"**
我很惊讶地使用对象ID(guid)并在Azure门户中搜索它,发现它是我的帐户,并分配了全局管理员角色。全局管理员角色应该能够完成所有操作。
env和secrets变量都在第一个作业中使用,并且这些变量都有效。第一个作业build-deploy-image可以完美地运行。
工作流程中第二个工作的YAML为:
部署到aks:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
needs: build-deploy-image
#env:
#NAMESPACE: dummy
steps:
- uses: actions/checkout@main
# Set the target Azure Kubernetes Service (AKS) cluster.
- uses: azure/aks-set-context@v1
with:
creds: '${{ secrets.AZURE_CREDENTIALS_DEMO }}'
cluster-name: ${{ secrets.AKS_NAME_DEMO }}
resource-group: ${{ secrets.AKS_RESOURCE_GROUP }}
# Create namespace if doesn't exist
# - run: |
# kubectl create namespace ${{ env.NAMESPACE }} --dry-run -o json | kubectl apply -f -
# Create image pull secret for ACR
- uses: azure/k8s-create-secret@v1
with:
container-registry-url: ${{ env.ACR_LOGON_SERVER }}
container-registry-username: ${{ secrets.SERVICE_PRINCIPAL_ID_DEMO }}
container-registry-password: ${{ secrets.SERVICE_PRINCIPAL_PASSWORD_DEMO }}
secret-name: ${{ secrets.AKS_SECRET }}
# namespace: ${{ env.NAMESPACE }}
# Deploy app to AKS
- uses: azure/k8s-deploy@v1
with:
manifests: |
manifests/deployment.yml
manifests/service.yml
images: |
${{ env.IMAGE_NAME }}
imagepullsecrets: |
${{ secrets.AKS_SECRET }}
#namespace: ${{ env.NAMESPACE }}
字符串
1条答案
按热度按时间8fsztsew1#
有两种Azure角色可以应用于Azure Active Directory(Azure AD)用户或组:
Azure Kubernetes服务群集管理员角色
允许访问
Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action API调用。此API调用将列出群集管理员凭据。为clusterAdmin角色下载kubeconfig。
Azure Kubernetes服务集群用户角色
允许访问Microsoft.ContainerService/managedClusters/listClusterUserCredential/action API调用。此API调用将列出群集用户凭据。为clusterUser角色下载kubeconfig。
注意事项:
1.在使用Azure AD的群集上,具有clusterUser角色的用户具有提示登录的空kubeconfig文件。登录后,用户可以根据其Azure AD用户或组设置进行访问。具有clusterAdmin角色的用户具有管理员访问权限。
1.在不使用Azure AD的群集上,clusterUser角色与clusterAdmin角色具有相同的效果。
当您为Azure Kubernetes使用基于Azure AD的RBAC时,您需要通过引用此Document为您的Kubernetes启用Azure AD集成的rbac。
您可以使用以下命令或从门户创建具有Azure AD RBAC的群集:-
字符串
然后将Azure Kubernetes服务RBAC群集管理员角色分配给Azure AD用户或服务主体,如下所示:
型
您可以在github操作工作流中运行Azure CLI命令来创建和管理kubernetes集群,而不是使用
型
任务如下:-
Github动作工作流脚本:-
型