我在Google Container Engine上运行我的入口控制器时遇到了困难。我想使用带有Basic Auth的NGINX入口控制器并使用保留的全局静态ip名称(这可以在Google Cloud Admin界面的外部IP地址部分中进行)。当我使用gce类时,除了Basic Auth(我认为gce类不支持它)之外,一切都正常,当我尝试使用入口控制器启动的nginx类时,会听到一个输入代码,但我在Google Cloud Admin界面中保留的IP地址不会附加到入口控制器。有人知道如何让它工作吗?这是我的配置文件:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: webserver
annotations:
kubernetes.io/ingress.global-static-ip-name: "myreservedipname"
kubernetes.io/ingress.class: "nginx"
ingress.kubernetes.io/auth-type: basic
ingress.kubernetes.io/auth-realm: "Auth required"
ingress.kubernetes.io/auth-secret: htpasswd
spec:
tls:
- secretName: tls
backend:
serviceName: webserver
servicePort: 80
这是一个我知道有效的示例,可能是您的语法问题:
kind: Ingress
metadata:
name: nginx
spec:
rules:
- host: nginx.192.168.99.100.nip.io
http:
paths:
- backend:
serviceName: nginx
servicePort: 80
外部IP地址可以连接到负载平衡器,您可以将其指向入口控制器。
一个主要注意事项是,外部IP地址应保留在与Kubernetes集群相同的区域中。
为此,只需使用LoadBalancer类型部署Nginx入口服务,并设置ExternalIP值,如下所示:
kind: Service
apiVersion: v1
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app: ingress-nginx
spec:
loadBalancerIP: <YOUR_EXTERNAL_IP>
type: LoadBalancer
selector:
app: ingress-nginx
ports:
- name: http
port: 80
targetPort: http
- name: https
port: 443
targetPort: https
部署后,库伯内特斯将创建一个新的负载均衡器,其中包含所需的静态IP,这将是您的入口点。
@西贡,正如我所见,你已经试过了,但没有积极的结果。但是,它应该会起作用。如果没有-请再次检查IP地址和配置的区域。
我用helm找到了一个解决方案。
helm install --name nginx-ingress stable/nginx-ingress \
--set controller.service.loadBalancerIP=<YOUR_EXTERNAL_IP>
您应该使用外部ip,而不是您在gcloud中提供的名称。
此外,在本例中,我还添加了set rbac。创建=true以获取权限。
我正在尝试将入口连接到静态ip。我似乎在遵循所有教程,但我似乎仍然无法将静态ip连接到入口。我的入口文件如下(参考静态ip“测试ip”) 然而,当我跑步时 它返回 没有给出地址。在VPC网络[外部IP地址]中,静态ip是存在的,它是全局的,但它一直说:In use by无 给予 我错过了什么?
设置默认的gce入口控制器,使用设置为响应主机名的入口资源 拥有静态ip的好处(在我目前的观点中)是,你永远不会想知道在哪里配置你的域,它将始终保持相同的ip;另一方面,你可以尽可能多地提供服务 我是使用这个gce负载均衡器的新手,我可以像使用静态ip一样依赖它吗(意味着它永远不会改变)?或者是否有一个层要添加以将静态ip指向负载均衡器? 我这么问是因为您可以设置服务资源的ip。但我还不知道如何使
遵循Kubernetes的教程(在我的GKE案例中)https://docs.traefik.io/v2.0/user-guides/crd-acme/我一直在研究如何分配全局静态IP(GKE需要一个转发规则)。我是否遗漏了什么(例如,添加另一个入口)?我知道IngressRoute中不可能有注释。那么,如何分配全局保留IP? 关于这个问题的问题3的答案
与比较
有没有办法在Java中创建一个可以从其他类访问的方法,而不必使该方法成为静态的?正如我在网上看到的所有解决方案所说,使方法成为静态的方法对我不起作用,因为我试图从方法中引用一个非静态变量。我引用的变量是(指它所在的类)。
我正试图在GKE集群上添加一个NGINX入口控制器,使用现有的HAProxy入口控制器(它在重写规则方面有一些问题) 首先,我尝试将控制器的服务公开给LoadBalancer类型。流量可以到达入口和后端,但它不适用于托管证书。 因此,我尝试使用L7负载平衡器(URL映射)将流量转发到GKE群集IP,并为入口控制器本身创建入口对象。 问题是,这个入口对象似乎不绑定到外部IP。路由到域会产生“默认后端