在minikube上映射服务以托管IP

时间:2019-01-07 04:06:09

标签: kubernetes ip kubectl minikube

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

minikube start --vm-driver=none

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

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)上/公开在该IP上。我想在192.168.1.216:9110享受我的宁静服务。

1 个答案:

答案 0 :(得分:1)

我认为minikube tunnel可能就是您想要的。 https://github.com/kubernetes/minikube/blob/master/docs/networking.md

  

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