【发布时间】: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