**已关闭。**此问题为not about programming or software development。目前不接受回答。
此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
上个月就关门了。
Improve this question的
我在我的机器上有一个小k8s集群,我试图做一些学习的东西,但我现在堆叠。
我有2个应用程序,mysql和另一个WordPress的一个,他们都工作得很好。当我给予WordPress的LoadBalancer类型,它需要一个IP,我可以在我的浏览器中看到.
所以我想创建一个Ingress,并通过主机名调用,但Ingress不需要负载均衡器IP。我做错了什么吗?
这是我的Ingress配置
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: wp-ingress
kubernetes.io/ingress.class: nginx
labels:
name: wp-ingress
spec:
rules:
- host: wordpress.pandora.local
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: wp-svc
port:
number: 80
- host: phpmyadmin.pandora.local
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: phpmyadmin-svc
port:
number: 80
字符串
和问题
# kg ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
wp-ingress <none> wordpress.pandora.local,phpmyadmin.pandora.local 80 38m
型
我使用Metallb的负载均衡器,我知道这是工作,因为WordPress的,但如果你想看看
kg svc -A
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
calico-apiserver calico-api ClusterIP 10.108.149.243 <none> 443/TCP 45h
calico-system calico-kube-controllers-metrics ClusterIP 10.100.211.40 <none> 9094/TCP 45h
calico-system calico-typha ClusterIP 10.107.217.253 <none> 5473/TCP 45h
default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 45h
default mysql-svc ClusterIP 10.103.110.242 <none> 3306/TCP 3h1m
default phpmyadmin-svc ClusterIP 10.105.195.144 <none> 80/TCP 156m
default wp-svc ClusterIP 10.100.96.37 <none> 80/TCP 126m
ingress-nginx ingress-nginx-controller LoadBalancer 10.99.196.206 192.168.188.20 80:30986/TCP,443:32709/TCP 49m
ingress-nginx ingress-nginx-controller-admission ClusterIP 10.99.212.249 <none> 443/TCP 49m
kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 45h
型
我如何解决这种情况
2条答案
按热度按时间vxqlmq5t1#
我解决了。谢谢帮助:)这个问题是关于进入类。
字符串
我添加了最后一行 ingressClassName:nginx 定义,它的工作!
型
sdnqo3pr2#
尽管这里已经有了一个公认的答案,但我还是想展示一下解决这个问题的步骤。
here完整源代码。
第一步
检查入口
字符串
您将看到控制器没有为主机名分配任何地址。
的数据
第二步
确保您已安装Ingress Controller。请按照说明here操作。
第三步
检查入口控制器日志。我在这里使用Kubernetes Jmeter 板。如果你愿意,你可以使用
kubectl
。错误将告诉你问题。的
这是在日志中看到的错误:
型
第四步
找到
IngressClass
。您可以通过运行以下命令获得此信息:kubectl get ingressclasses
或通过K8s Jmeter 板找到它。命令方式:
的
** Jmeter 板方式:**
的
第五步
更新您的入口
型
第六步
部署应用程序。此时,您将能够看到控制器分配的地址。