我已经设置了一些服务和入口来尝试SSL终止。我对作为后端的负载平衡器和节点端口服务没有任何问题,但它与ClusterIP服务完全不起作用。
尽管入口的后端被描述为正常,但我得到的HTTP错误不是来自我的应用程序。
$ kubectl describe ing nginx-cluster-ssl-ingress
Name: nginx-cluster-ssl-ingress
Namespace: default
Address: X.X.X.X
Default backend: nginx-cluster-svc:80 (...)
TLS:
ssl-certificate terminates
Rules:
Host Path Backends
---- ---- --------
Annotations:
https-target-proxy: k8s-tps-default-nginx-cluster-ssl-ingress
static-ip: k8s-fw-default-nginx-cluster-ssl-ingress
target-proxy: k8s-tp-default-nginx-cluster-ssl-ingress
url-map: k8s-um-default-nginx-cluster-ssl-ingress
backends: {"k8s-be-30825":"HEALTHY"}
forwarding-rule: k8s-fw-default-nginx-cluster-ssl-ingress
https-forwarding-rule: k8s-fws-default-nginx-cluster-ssl-ingress
Events:
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
28m 28m 1 {loadbalancer-controller } Normal ADD default/nginx-cluster-ssl-ingress
27m 27m 1 {loadbalancer-controller } Normal CREATE ip: X.X.X.X
HTTP错误如下:
$ curl http://X.X.X.X/
default backend - 404%
我的问题很简单:它应该与ClusterIP服务一起工作吗?如果它应该或多或少地写在文档中,我应该在哪里解决这个问题?
非常感谢。
如果您使用的是GKE集群,并且您使用的是容器本机负载平衡(通过在ClusterIP服务中添加cloud.google.com/neg:{“ingres”:true}注释来启用),那么您的GKE/GCE ingres可以直接与ClusterIP服务对话,而不需要它是NodePort服务。
参考:https://cloud.google.com/kubernetes-engine/docs/concepts/ingress#:~: text=除非您使用容器本机负载平衡
如果一组条件为真,GKE会自动添加cloud.google.com/neg:'{"ingress": true}'
注释。然后您不需要手动添加此注释来获得容器本机负载平衡。否则,您将需要添加此注释来获得容器本机负载平衡;这使您的入口能够直接与ClusterIP服务通信。
参考号:https://cloud.google.com/kubernetes-engine/docs/concepts/ingress#:~:text=在这些情况下,服务将被自动注释
GKE上的Nginx入口控制器与ClusterIp一起工作。但是本机GKE入口控制器并不像@samuel-roze提到的那样
所以只需像这样使用Nginx入口:
kubernetes.io/ingress.class: nginx
本机GKE入口控制器不支持群集,只有节点端口工作。
nginx one等非本机入口控制器可与ClusterIP服务配合使用。
类型:LoadBalancer IP: 25.0.162.225 LoadBalancer Ingress:internal-a9716e.....us-west-2.elb.amazonaws.com 据我所知,我使用的发布类型是“LoadBalancer”,它帮助我将服务公开给外部IP地址(参见https://kubernetes.io/docs/concepts/services-netwo
来自服务器的错误(InternalError):创建“stdin”时出错:出现内部错误:调用webhook“validate.nginx.ingress.kubernetes.io”失败:Post https://Ingress-nginx-controller-accemsion.Ingress-nginx.controller.svc:443/extensions/v1beta1/Ingres
我们在AWS EKS上运行两种类型的服务: null
我正在尝试使用三个虚拟机(Master–10.x.x.4、Node1–10.x.x.150、Node2–10.x.x.160)创建Kubernetes集群。 我能够通过此链接成功创建留言簿应用程序:http://kubernetes.io/v1.0/examples/guestbook/.我只对frontend-service.yaml做了一个更改:使用NodePort。我可以使用节点IP和端口号
我正在寻求帮助,以解决这个基本方案无法正常工作的问题: 在运行在MacBook上的VirtualBox VM上安装了kubeadm的三个节点: Virtualbox VM有2个适配器:1)主机专用2)NAT。来自客户计算机的节点IP是: 我将它们公开为ClusterIP服务: 现在问题来了: 我ssh到kubernetes-node1并使用集群IP卷曲服务: 如果我ssh到kubernetes-n
作为将微服务连接在一起并使其工作的机制,通常建议使用API和服务发现。但它们通常作为自己的微服务工作,但这些微服务显然应该“硬编码”到其他微服务中,因为每个微服务都应该向它们注册并查询其他微服务的位置。这是否打破了松耦合的思想,因为发现服务的丢失意味着其他服务无法通信?