Fra*_*ron 2 azure kubernetes azure-aks nginx-ingress
我有一个带有 Web 应用程序的 AKS 集群。我想配置一个 nginx Ingress 控制器以将应用程序公开到互联网,然后启用 TLS。
我一直在关注官方文档
https://learn.microsoft.com/en-us/azure/aks/ingress-basic
和
https://learn.microsoft.com/en-us/azure/aks/ingress-static-ip
但我总是以悬而未决的 nginx-ingress 服务结束并出现此错误
reason: SyncLoadBalancerFailed
message: >-
Error syncing load balancer: failed to ensure load balancer: instance not
found
Run Code Online (Sandbox Code Playgroud)
我见过
并用谷歌搜索了错误,但到目前为止还没有运气
有谁知道它会是什么?
或者,有一些我可以开始的工作示例吗?
我相信您正在使用 NGINX Ingress 控制器服务的静态 IP 地址。如果云控制器管理器在 NGINX 入口控制器的服务注释中提到的包含资源组中找不到静态 Azure 公共 IP 地址资源(如果没有使用服务注释显式指定资源组,它将查找 Azure AKS 群集的节点资源组中的公共 IP 地址资源)
如果您已在节点资源组中创建静态 Azure 公共 IP 地址资源,请确保 Azure 公共 IP 地址资源存在。
如果您已在不同的资源组中创建静态 Azure 公共 IP 地址资源,则:
请确保 AKS 群集使用的群集标识已将权限委托给其他资源组,例如 Network Contributor。
az role assignment create \
--assignee <Client ID of cluster identity> \
--role "Network Contributor" \
--scope /subscriptions/<subscription id>/resourceGroups/<Public IP address resource group name>
Run Code Online (Sandbox Code Playgroud)
在helm install部署 NGINX Ingress Controller 的命令中,请添加以下参数:
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-resource-group"=$PublicIpAddressResourceGroupName
因此,如果您遵循本文档, helm install 命令应类似于:
# Use Helm to deploy an NGINX ingress controller
helm install nginx-ingress ingress-nginx/ingress-nginx \
--namespace ingress-basic \
--set controller.replicaCount=2 \
--set controller.nodeSelector."kubernetes\.io/os"=linux \
--set controller.image.registry=$ACR_URL \
--set controller.image.image=$CONTROLLER_IMAGE \
--set controller.image.tag=$CONTROLLER_TAG \
--set controller.image.digest="" \
--set controller.admissionWebhooks.patch.nodeSelector."kubernetes\.io/os"=linux \
--set controller.admissionWebhooks.patch.image.registry=$ACR_URL \
--set controller.admissionWebhooks.patch.image.image=$PATCH_IMAGE \
--set controller.admissionWebhooks.patch.image.tag=$PATCH_TAG \
--set defaultBackend.nodeSelector."kubernetes\.io/os"=linux \
--set defaultBackend.image.registry=$ACR_URL \
--set defaultBackend.image.image=$DEFAULTBACKEND_IMAGE \
--set defaultBackend.image.tag=$DEFAULTBACKEND_TAG \
--set controller.service.loadBalancerIP=$STATIC_IP \
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-dns-label-name"=$DNS_LABEL
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-resource-group"=$PublicIpAddressResourceGroupName
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息,请查看此处。
| 归档时间: |
|
| 查看次数: |
2431 次 |
| 最近记录: |