有人可以解释如何在'前端设置外部Ip'服务。我知道Vagrant不支持"输入:LoadBalancer"而且我不知道如何向主人公开Ip。感谢
答案 0 :(得分:1)
首先,您应该在留言簿服务定义中更改您的服务类型:
diff --git a/guestbook-service.json b/guestbook-service.json
index cc7640e..fadef78 100644
--- a/guestbook-service.json
+++ b/guestbook-service.json
@@ -17,6 +17,6 @@
"selector":{
"app":"guestbook"
},
- "type": "LoadBalancer"
+ "type": "NodePort"
}
}
然后停止并重启服务:
kubectl delete -f guestbook-service.json
kubectl create -f guestbook-service.json
使用以下命令查看您的节点IP地址:
kubectl get nodes
例如,对我来说,这就是结果:
$ kubectl get nodes
NAME LABELS STATUS AGE
172.17.4.99 kubernetes.io/hostname=172.17.4.99 Ready 3h
最后,您可以通过以下方式找到您的服务nodeport:
kubectl describe services guestbook
例如,对我来说,这就是结果:
$ kubectl describe services guestbook
Name: guestbook
Namespace: default
Labels: app=guestbook
Selector: app=guestbook
Type: NodePort
IP: 10.3.0.47
Port: <unnamed> 3000/TCP
NodePort: <unnamed> 32757/TCP
Endpoints: 10.2.76.12:3000,10.2.76.8:3000,10.2.76.9:3000
Session Affinity: None
No events.
此时,使用您之前获得的节点IP和您刚刚找到的NodePort,您应该可以连接:
$ curl 172.17.4.99:32757
<!DOCTYPE html>
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta charset="utf-8">
<meta content="width=device-width" name="viewport">
<link href="/style.css" rel="stylesheet">
<title>Guestbook</title>
[...]
注意:NodePort通常从标志配置的范围分配,默认情况下为30000-32767。
答案 1 :(得分:0)
尝试输入&#34; NodePort&#34;代替:
https://github.com/kubernetes/kubernetes/blob/master/docs/user-guide/services.md#type-nodeport
然后在分配的端口使用流浪的VM的IP地址。