将 ACR 集成到 AKS 的预期方式是什么?
What is the expected way to integrate ACR to AKS?
正在寻找将 ACR 与 AKS 集成用于生产环境的最佳方法,似乎有多种方法,例如在安装期间和安装后使用服务主体,以及使用映像拉取密码等。
因此对于我们的生产环境寻找最推荐的选项,其中要求如下。
- 创建 aks 时是否必须附加 acr
- 如果我们将 ACR 与 AKS 安装本身集成在一起,会有什么好处。 (似乎,在这种情况下,我们不想将图像拉取秘密传递给 pod 规范,对于我们需要的其他选项)
- 在这种情况下,将 ACR 与 AKS ( az aks update) 命令集成的另一种方法是什么?如果是的话,与我们之前在安装AKS时集成的方法有什么不同。
- 如果我想在另一个区域设置辅助 AKS 集群,但需要连接 ACR 主实例的 ACR 地理复制实例,我该如何完成?在这种情况下,是否必须在 AKS 安装期间或以后安装 tge ACR post 安装也很好?
恕我直言,最好的方法是 Azure RBAC。创建 AKS 时不需要附加 ACR。您可以利用 Azure RBAC 并将角色“AcrPull”分配给节点池的 Kubelet 身份。这可以为您拥有的每个 ACR 完成:
export KUBE_ID=$(az aks show -g <resource group> -n <aks cluster name> --query identityProfile.kubeletidentity.objectId -o tsv)
export ACR_ID=$(az acr show -g <resource group> -n <acr name> --query id -o tsv)
az role assignment create --assignee $KUBE_ID --role "AcrPull" --scope $ACR_ID
地形:
resource "azurerm_role_assignment" "example" {
scope = azurerm_container_registry.acr.id
role_definition_name = "AcrPull"
principal_id = azurerm_kubernetes_cluster.aks.kubelet_identity[0].object_id
}
正在寻找将 ACR 与 AKS 集成用于生产环境的最佳方法,似乎有多种方法,例如在安装期间和安装后使用服务主体,以及使用映像拉取密码等。
因此对于我们的生产环境寻找最推荐的选项,其中要求如下。
- 创建 aks 时是否必须附加 acr
- 如果我们将 ACR 与 AKS 安装本身集成在一起,会有什么好处。 (似乎,在这种情况下,我们不想将图像拉取秘密传递给 pod 规范,对于我们需要的其他选项)
- 在这种情况下,将 ACR 与 AKS ( az aks update) 命令集成的另一种方法是什么?如果是的话,与我们之前在安装AKS时集成的方法有什么不同。
- 如果我想在另一个区域设置辅助 AKS 集群,但需要连接 ACR 主实例的 ACR 地理复制实例,我该如何完成?在这种情况下,是否必须在 AKS 安装期间或以后安装 tge ACR post 安装也很好?
恕我直言,最好的方法是 Azure RBAC。创建 AKS 时不需要附加 ACR。您可以利用 Azure RBAC 并将角色“AcrPull”分配给节点池的 Kubelet 身份。这可以为您拥有的每个 ACR 完成:
export KUBE_ID=$(az aks show -g <resource group> -n <aks cluster name> --query identityProfile.kubeletidentity.objectId -o tsv)
export ACR_ID=$(az acr show -g <resource group> -n <acr name> --query id -o tsv)
az role assignment create --assignee $KUBE_ID --role "AcrPull" --scope $ACR_ID
地形:
resource "azurerm_role_assignment" "example" {
scope = azurerm_container_registry.acr.id
role_definition_name = "AcrPull"
principal_id = azurerm_kubernetes_cluster.aks.kubelet_identity[0].object_id
}