【发布时间】:2023-02-25 04:22:35
【问题描述】:
一般来说,我可以像这样访问 pod 的任何容器:
kubectl exec -it POD_NAME -- sh
因此我只能看到这个 pod 的容器中有什么,如果它是一个多容器我使用 -c 标志然后我访问一个特定的容器。
是否存在任何进入 kubernetes 入口的方法?例如,在 nginx minikube 的情况下,我想访问它并查看路由和日志的样子,并且可能会在它上面玩一下,以确保正确定义事物。
【问题讨论】:
一般来说,我可以像这样访问 pod 的任何容器:
kubectl exec -it POD_NAME -- sh
因此我只能看到这个 pod 的容器中有什么,如果它是一个多容器我使用 -c 标志然后我访问一个特定的容器。
是否存在任何进入 kubernetes 入口的方法?例如,在 nginx minikube 的情况下,我想访问它并查看路由和日志的样子,并且可能会在它上面玩一下,以确保正确定义事物。
【问题讨论】:
在 Kubernetes 中,入口不是容器或 pod,而是定义将外部流量路由到集群中服务的规则的 Kubernetes 对象。因此,您不能像访问 pod 或容器那样直接访问入口。
但是,如果您的集群中部署了入口控制器(例如 nginx 或 Traefik),您可以访问控制器的日志和配置以更深入地了解入口规则的工作方式。
例如,要访问 nginx 入口控制器的日志,您可以使用以下命令:
kubectl logs -n <namespace> <nginx-ingress-controller-pod-name>
要访问 nginx 入口控制器的配置,您可以运行以下命令:
kubectl exec -it <nginx-ingress-controller-pod-name> -n <namespace> -- /nginx-ingress-controller --version
这将显示用于启动 nginx 入口控制器的版本和配置标志。
请记住,确切的命令和标志可能会有所不同,具体取决于您使用的入口控制器以及它在集群中的部署方式。
【讨论】: