![](/img/trans.png)
[英]How to mount a host volume in Kubernetes running on Docker Desktop (Windows 10) backed by WSL2?
[英]Exposing kubernetes ingress to host machine running KinD on Windows and WSL2
我通過在 WSL2 上運行的 Docker Destop 在 Windows 上使用 KinD,並嘗試設置入口以在我的主機上公開端口。
我按照指南安裝了集群,配置如下所示: https://kind.sigs.k8s.io/docs/user/ingress/ ,以及 Ingress NGINX 控制器(來自 helm)和一個自定義 Ingress ressource 重定向到我的服務具有正確的類名。
apiVersion: kind.x-k8s.io/v1alpha4
kind: Cluster
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 80
hostPort: 5180
protocol: TCP
- containerPort: 443
hostPort: 51443
protocol: TCP
如果我 kubectl 端口轉發到入口服務,它工作正常,我可以訪問服務網站。
但是我無法通過沒有端口轉發(http://localhost:5180)的集群配置上設置的hostPort
設置直接訪問它。 KinD 似乎沒有將外部 IP 分配給入口控制器,它保持在 <Pending> 狀態。
知道為什么以及如何進一步診斷嗎? 謝謝!
pod/ingress-nginx-controller-6bf7bc7f94-2r74v 1/1 Running 0 15h
service/ingress-nginx-controller LoadBalancer 10.96.1.208 <pending> 80:30674/TCP,443:30800/TCP 15h
service/ingress-nginx-controller-admission ClusterIP 10.96.103.184 <none> 443/TCP 15h
my-ingress nginx * 80 16h
唔。 我不了解 KinD,但作為一般原則,入口創建具有外部 IP(全局可用)的公共負載均衡器。 同樣在入口(vanilla/nginx 入口)的配置中,您必須配置端點(路徑)。 也嘗試檢查這些東西: https ://kubernetes.io/docs/concepts/services-networking/ingress/#name-based-virtual-hosting
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.