【问题标题】:Map service on minikube to host IP将 minikube 上的服务映射到主机 IP
【发布时间】:2019-01-07 13:13:11
【问题描述】:

这是我第一次运行 Kubernetes 教程。 我在无头 Ubuntu 服务器 (18.04) 上安装了 Docker、Kubectl 和 Minikube。 我这样运行 Minikube -

minikube start --vm-driver=none

我有一个在端口 9110 上运行 RESTful 服务的本地 Docker 映像。我创建了一个部署并像这样公开它 -

kubectl run hello-node --image=dbtemplate --port=9110 --image-pull-policy=Never
kubectl expose deployment hello-node --type=NodePort 

我的服务状态 -

# kubectl get services
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
hello-node   NodePort    10.98.104.45   <none>        9110:32651/TCP   39m
kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP          3h2m

# kubectl describe services hello-node
Name:                     hello-node
Namespace:                default
Labels:                   run=hello-node
Annotations:              <none>
Selector:                 run=hello-node
Type:                     NodePort
IP:                       10.98.104.45
Port:                     <unset>  9110/TCP
TargetPort:               9110/TCP
NodePort:                 <unset>  32651/TCP
Endpoints:                172.17.0.5:9110
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

# minikube ip
192.168.1.216

如您所见,该服务在内部 IP 172.17.0.5 上可用。

我有什么方法可以将此服务映射到/公开在父主机的 IP 上,即 192.168.1.216。我想在 192.168.1.216:9110 享受宁静的服务。

【问题讨论】:

  • 您是否知道您的服务已经在192.168.1.216:32651提供?
  • @MatthewLDaniel 这是在来宾实例上,而不是在主机上。
  • @MatthewLDaniel 是的,刚刚想通了。出于某种原因,nmap 没有将这个开放端口视为开放。现在我需要弄清楚我是否可以在静态端口上公开服务。我尝试在暴露命令中传递“--port=9110”参数,但没有成功。

标签: kubernetes ip kubectl minikube


【解决方案1】:

我认为minikube tunnel 可能是您正在寻找的。 https://github.com/kubernetes/minikube/blob/master/docs/networking.md

LoadBalancer 类型的服务可以通过minikube tunnel 命令公开。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 2016-05-07
    • 2017-10-30
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多