我有一个运行在minikube(已启用加载项)中的nginx ingress,它有几个吊舱和服务,ingress具有以下配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx
spec:
rules:
- host: api.info
http:
paths:
- backend:
serviceName: api-service
servicePort: 80
- host: web.info
http:
paths:
- backend:
serviceName: web-service
servicePort: 80
当我在集群之外时,以下各项工作正常:
curl --header 'Host: api.info' $(minikube ip)/health
但是,当我在集群内时,我希望容器能够使用我的入口模板中列出的主机名相互通信。例如,我希望以下方法可以工作,但事实并非如此:
$ kubectl exec -it web-6c656c58d5-lpxsk /bin/bash
root@web-6c656c58d5-lpxsk:/web# curl api.info/health
相反,它返回实际api的结果。信息网站,我没有隶属关系。首先,有人能确认这是可行的吗?
非常感谢。
首先,<代码>。info是一个通用TLD,这会使DNS解析变得混乱
考虑使用受保护的TLD或您自己注册的TLD,例如api。实例com
您应该使用类似于以下内容的行编辑您的主机:
或更改解决方案。conf以确定内部DNS的优先级。
我有一个复合服务S.c,它使用两个原子服务S.a和S.b,其中所有三个服务都在Kubernetes集群中运行。更好的模式是什么 1)将Sa、Sb创建为无头服务,并让Sc通过NGINX等外部负载均衡器与它们集成(使用DNS解析器来维护更新的后端pod) 2) 使用clusterIP创建Sa、Sb,并让Sc通过群集DNS(skyDNS加载项)访问/解析它们。这将在内部利用基于IP表的负载平衡来实现PO
在我有一个vm(centos 7.4,主机名kube-2.novalocal,ip
我使用的是infra team(不是mini kube)提供的kubernetes集群,我已经创建了带有所有配置的traefik入口控制器,入口容器,我们的应用程序正在集群中运行。现在我想使用域名或IP地址访问应用程序,为此,我创建了一个入口资源,如下所示 这里我没有得到的是主机名,因为应用程序在集群中运行,这个主机名应该是集群主节点名吗?实际prod环境中的主机名或ip地址应该是什么。 注意:我
我目前的k8s设置面临一个问题。在生产中,我启动了我们每个服务的三个副本并将它们放在一个pod中。当pod相互通信时,我们希望pod以循环方式与pod中的每个容器通信。不幸的是,由于TLS保持活动,pod之间的连接永远不会终止——我们不想专门更改该部分——但我们确实希望pod中的每个容器都能正常通信。这就是我们现在所拥有的: 如果API试图与pod OSS通信,它将仅与第一个容器通信。我希望API
我不知道如何在Kubernetes集群(不是minikube)上设置入口控制器。我遵循的每一个nginx入口设置都产生了一个错误,控制器设置不正确。基本上,我想要一个与minikube插件等效的命令来启用入口。谢谢 编辑1- 我正在遵循中提到的安装步骤https://kubernetes.github.io/ingress-nginx/deploy/我已经尝试了baremetal、cloud和其他
404 GKE入口错误。我在Google Kubernetes集群上。 创建了一个部署 Kubectl创建部署我的部署--image=nginx kubectl公开部署my-部署--name=my-svc--type=NodePort--port=80 入口描述 这会自动创建一个负载平衡器,IP为34.95.98.151 添加了一个条目到我的Windows主机文件位于“C:\Windows\Sys