【发布时间】:2020-02-05 11:22:12
【问题描述】:
这是我当前的入口:
$ kubectl get ingress -o wide
NAME HOSTS ADDRESS PORTS AGE
chart-1580851873-dev feedly.local 172.18.0.2 80 3m21s
我已将其添加到我的/etc/hosts:
172.18.0.2 *.local
这是我的节点 ip:
$ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k3d-k3s-worker-1 Ready <none> 6d3h v1.17.0+k3s.1 172.18.0.3 <none> Unknown 5.3.0-28-generic containerd://1.3.0-k3s.5
k3d-k3s-worker-0 Ready <none> 6d3h v1.17.0+k3s.1 172.18.0.4 <none> Unknown 5.3.0-28-generic containerd://1.3.0-k3s.5
k3d-k3s-server Ready master 6d3h v1.17.0+k3s.1 172.18.0.2 <none> Unknown 5.3.0-28-generic containerd://1.3.0-k3s.5
我正试图在feedly.local 后面联系我的服务...
这些是我的服务和正在运行的 pod:
$ kubectl get services -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
chart-1580851873-dev ClusterIP 10.43.17.2 <none> 8080/TCP 7m26s app.kubernetes.io/instance=chart-1580851873,app.kubernetes.io/name=dev
$ kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
chart-1580851873-dev-79f8df5858-bp9wx 1/1 Running 0 7m48s 10.42.2.35 k3d-k3s-worker-0 <none> <none>
重要提示:我不想运行 kubectl proxy 也不想运行 port-forwarding。我想访问内部 kubernetes dns 服务,以便访问入口后面的服务。
有什么想法吗?
【问题讨论】:
-
除非您使用
NodePort或type=LoadBalancer,否则通常无法在集群外部访问服务。你能更详细地描述一下你的环境吗?你在什么上运行k3s?是否涉及VM?您是否部署了默认的 traefik 入口? -
第一件事是
/etc/hosts不支持通配符,所以您放置的这个条目将不起作用。您能否发布您的入口和入口服务 yaml 定义?
标签: kubernetes