Google容器连接到服务

时间:2017-07-07 10:44:46

标签: kubernetes gcloud google-kubernetes-engine

我正在关注PluralSight课程,课程作者将一个docker镜像放到kubernetes上,然后通过他的浏览器访问它。我试图复制他的所作所为,但我无法访问该网站。我相信我可能会连接错误的IP。

我有一个# Assign NaN to vector a <- 0 / 0 # If is NaN assign value 1 a[is.nan(a)] <- 1 正在运行10 ReplicationController

rc.yml

pods

然后我尝试公开rc:

apiVersion: v1
kind: ReplicationController
metadata:
          name: hello-rc
spec:
        replicas: 10
        selector:
                app: hello-world
        template:
             metadata:
                labels:
                        app: hello-world
             spec:
                     containers:
                             - name: hello-pod
                               image: nigelpoulton/pluralsight-docker-ci:latest
                               ports:
                                       - containerPort: 8080

我的Google容器端点为:kubectl expose rc hello-rc --name=hello-svc --target-port=8080 --type=NodePort $ kubectl get services NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-svc 10.27.254.160 <nodes> 8080:30488/TCP 30s kubernetes 10.27.240.1 <none> 443/TCP 1h ,当运行35.xxx.xx.xxx时,NodePort为kubectl describe svc hello-svc

因此,我尝试在30488访问该应用,但无法访问该网站。

1 个答案:

答案 0 :(得分:2)

如果要通过NodePort端口访问服务,则需要为该端口(以及该实例)打开防火墙。

更好的方法是创建一个类型为LoadBalancer(--type=LoadBalancer)的服务,并在Google将为您提供的IP上访问它。

完成后不要忘记删除负载均衡器。