好人 让我们看看是否有人可以帮助我。 我已经在1.13版中配置了Azure Kubernetes(AKS) 我正在尝试使用静态IP创建一个Ingress,但这对我来说是不可能的。
我正在使用kubectl create -f static-ip-svc.yaml
#File
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress-lb
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
externalTrafficPolicy: Local
type: LoadBalancer
loadBalancerIP: 40.121.219.126
ports:
- port: 80
name: http
targetPort: 80
- port: 443
name: https
targetPort: 443
selector:
# Selects nginx-ingress-controller pods
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
并显示错误:
键入原因年龄自
信息 - - - - - - - - - -------正常EnsuringLoadBalancer 8s(x4 over 43s)服务控制器确保负载均衡器警告 CreationLoadBalancerFailed 7s(x4 over 43s)服务控制器 创建负载均衡器时出错(将重试):无法确保负载 服务默认值/ nginx-ingress-lb的平衡器:等待超时 条件
答案 0 :(得分:1)
对于您来说,要创建具有静态IP的Ingress,有两种方法可以实现它。但是首先,您需要了解Azure Kubernetes服务及其基础结构的资源组的信息。
信息为Why are two resource groups created with AKS?,它说明存在两个资源组,一个资源组用于Azure Kubernetes服务本身,另一个资源组用于其基础结构。因此,有两种方法可以使用静态IP创建Ingress。
以下两种方式:
使用在名为MC_xxxx_xxxx_location
的组中创建的静态IP。
使用在另一个组中创建的静态IP,但组MC_xxxx_xxxx_location
除外。这样,您需要为AKS的服务主体分配足够的权限,至少是“网络贡献者”。
您将获得有关“与Azure Kubernetes服务(AKS)负载平衡器一起使用静态公共IP地址” here的更多详细信息。我认为您使用第二种方法,但是您没有分配足够的权限,因此您收到了错误消息。检查步骤,然后按照步骤重试。