我想连接我的服务

时间:2017-11-01 00:54:54

标签: web-services ubuntu docker service connection

  

发生了什么

:无法连接在Web浏览器上创建我的服务。

  

您期望发生什么

:连接我的服务

  

如何重现它(尽可能最小和最精确)

: 首先,我像这样制作了'my-deploy.yaml'。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
 name: my-deploy-name
spec:
 replicas: 3
 template:
  metadata:
   labels:
    app: my-deploy
  spec:
   containers:
   - name: mycontainer
     image: alicek106/composetest:balanced_web
     ports:
     - containerPort: 80

然后,我像这样做了'my-service.yaml'

apiVersion: v1
kind: Service
metadata:
 name: my-service-name
spec:
 ports:
  - name: my-deploy-svc
    port: 8080
    targetPort: 80
 type: LoadBalancer
 externalIPs:
  - 104.196.161.33
 selector:
  app: my-deploy

所以,我创建了部署和服务,

NAME              TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)          AGE
kubernetes        ClusterIP      10.96.0.1       <none>           443/TCP          6d
my-service-name   LoadBalancer   10.106.31.254   104.196.161.33   8080:32508/TCP   5d

NAME               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
my-deploy-name     3         3         3            3           6d

并尝试在Chrome浏览器上连接104.196.161.33:8080,104.196.161.33:32508。但它不起作用。 我该怎么办?

  

环境   :

Kubernetes版本: 客户端版本:version.Info {Major:“1”,Minor:“8”,GitVersion:“v1.8.1”,GitCommit:“f38e43b221d08850172a9a4ea785a86a3ffa3b3a”,GitTreeState:“clean”,BuildDate:“2017-10-11T23:27: 35Z“,GoVersion:”go1.8.3“,编译器:”gc“,平台:”linux / amd64“} 服务器版本:version.Info {Major:“1”,Minor:“8”,GitVersion:“v1.8.1”,GitCommit:“f38e43b221d08850172a9a4ea785a86a3ffa3b3a”,GitTreeState:“clean”,BuildDate:“2017-10-11T23:16: 41Z“,GoVersion:”go1.8.3“,编译:”gc“,平台:”linux / amd64“}

云提供商或硬件配置:ubuntu 16.04.LTS上的VM

操作系统(例如来自/ etc / os-release):ubuntu 16.04.LTS

内核:Linux master 4.10.0-37-generic#41~16.04.1-Ubuntu SMP Fri Oct 6 22:42:59 UTC 2017 x86_64 x86_64 x86_64 GNU / Linux

安装工具:Docker-CE v17.06

其他:

kubectl get node
NAME      STATUS    ROLES     AGE       VERSION
master    Ready     master    6d        v1.8.1
node1     Ready     <none>    6d        v1.8.1
node2     Ready     <none>    6d        v1.8.1

ifconfig
docker0   Link encap:Ethernet  HWaddr 02:42:ba:93:a2:f2
          inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ens160    Link encap:Ethernet  HWaddr 00:50:56:80:ab:14
          inet addr:39.119.118.176  Bcast:39.119.118.255  Mask:255.255.255.128
          inet6 addr: fe80::250:56ff:fe80:ab14/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9581474 errors:0 dropped:473 overruns:0 frame:0
          TX packets:4928331 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1528509917 (1.5 GB)  TX bytes:4020347835 (4.0 GB)

flannel.1 Link encap:Ethernet  HWaddr c6:b5:ef:90:ea:8f
          inet addr:10.244.0.0  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:184 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:44750027 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44750027 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:13786966091 (13.7 GB)  TX bytes:13786966091 (13.7 GB)

※P.S:你能推荐一个关于docker&amp;的Web服务示例吗? kubernetes给我?

1 个答案:

答案 0 :(得分:0)

就我而言,外部IP是由GCE自动分配的。它不需要在yaml配置中手动设置。因此,如果您发现EXTERNAL-IP是命令输出中的状态&#34; kubectl获取svc $ {service-name}&#34;,那么它可能意味着您的意图。

(但我不确定在配置中指定外部IP是否有效..) 据我所知,LoadBalancer类型的服务仅适用于支持此类功能的云集成。

PS。我想你正在尝试测试内容&#34;让我们开始使用Docker&#34;在大韩民国,如果你这样,请通过电子邮件地址或推特联系我:D 我可以直接回复你,因为我是该书的作者。