Kubernetes留言簿流浪者前端服务EXTERNAL_IP问题

时间:2015-12-18 09:14:18

标签: vagrant kubernetes

有人可以解释如何在'前端设置外部Ip'服务。我知道Vagrant不支持"输入:LoadBalancer"而且我不知道如何向主人公开Ip。感谢

2 个答案:

答案 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地址。