这是我第一次阅读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享受我的宁静服务。
答案 0 :(得分:1)
我认为minikube tunnel
可能就是您想要的。 https://github.com/kubernetes/minikube/blob/master/docs/networking.md
可以通过
LoadBalancer
命令公开minikube tunnel
类型的服务。