Kubernetes Ingress在试图用它公开Kubernetesdashboard时不起作用



我正试图通过nginxingress公开kubernetes仪表板。kubernetes仪表板还不可用,但我已经使用kubernete官方文件上共享的以下.yaml文件初始化了所有资源。

所有资源都得到了相应的调配。以下是我为检查kubectl get all -n kubernetes-dashboard而运行的以下命令的输出

输出:

NAME                                            READY   STATUS    RESTARTS      AGE
pod/dashboard-metrics-scraper-8c47d4b5d-7dptt   1/1     Running   1 (78m ago)   9h
pod/kubernetes-dashboard-6c75475678-4c9n2       1/1     Running   0             9h
NAME                                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
service/dashboard-metrics-scraper   ClusterIP   10.105.70.143    <none>        8000/TCP        14h
service/kubernetes-dashboard        NodePort    10.111.136.242   <none>        443:32361/TCP   14h
NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/dashboard-metrics-scraper   1/1     1            1           9h
deployment.apps/kubernetes-dashboard        1/1     1            1           9h
NAME                                                  DESIRED   CURRENT   READY   AGE
replicaset.apps/dashboard-metrics-scraper-8c47d4b5d   1         1         1       9h
replicaset.apps/kubernetes-dashboard-6c75475678       1         1         1       9h

我还将service/kubernetesdashboard的服务类型从ClusterIP更改为NodePort,如输出中所示。

以下是我用来创建入口资源的yaml文件:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dashboard-ingress
namespace: kubernetes-dashboard
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: test.ml
http:
paths:
- path: /
pathType: Exact
backend:
service:
name: kubernetes-dashboard
port:
number: 443

我似乎仍然无法访问kubernetes仪表板。上述yaml中的主机不是合法的主机名,但我在/etc/hosts文件中添加了以下主机名解析为192.168.49.2 test.ml

以下是运行命令kubectl get ingress -n kubernetes-dashboard后我的入口的详细信息

输出:

NAME                CLASS    HOSTS     ADDRESS        PORTS   AGE
dashboard-ingress   <none>   test.ml   192.168.49.2   80      14h

每当我试图访问IP地址或通过主机名访问时,我仍然无法访问我的kubernetes仪表板。我使用在本地主机上运行的minikube和VM驱动程序podman,容器运行时是docker。

请选择一个入口控制器并为服务创建NodePort以访问仪表板应用程序。以下是先决条件的详细信息。

先决条件你必须有一个Ingress控制器才能满足Ingress。仅创建Ingress资源没有任何效果。

您可能需要部署Ingress控制器,例如Ingress nginx。您可以从多个Ingress控制器中进行选择。

理想情况下,所有Ingress控制器都应符合参考规范。实际上,各种Ingress控制器的操作略有不同。

相关内容

  • 没有找到相关文章

最新更新