我想连接我的服务

I want to connect my service

What happened

: 无法在浏览器上连接成为我的服务

What you expected to happen

:连接到我的服务

How to reproduce it (as minimally and precisely as possible)

: 首先,我把'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 。但它不起作用。 我该怎么办?

Environment :

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

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

OS(例如来自 /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_64x86_64GNU/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 和 kubernetes 上的 Web 服务示例吗?

在我的例子中,外部 IP 是由 GCE 自动分配的。它不需要在 yaml 配置中手动设置。因此,如果您发现 EXTERNAL-IP 在命令 "kubectl get svc ${service-name}" 的输出中处于状态,则可能意味着按您的预期工作。

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

PS。我猜你正试图在大韩民国 "Let's starting Docker" 测试内容,如果你这样做,请通过电子邮件地址或推特与我联系 :D 我可以直接回复你,因为我是那本书的作者。