Kubernetes 谷歌容器连接服务

Kubernetes 谷歌容器连接服务,kubernetes,gcloud,google-kubernetes-engine,Kubernetes,Gcloud,Google Kubernetes Engine,我正在学习PluralSight上的一门课程,课程作者在kubernetes上放置了一个docker图像,然后通过他的浏览器访问它。我试图复制他所做的,但我无法访问该网站。我相信我可能连接到了错误的IP 我有一个ReplicationController,它运行10个pods: rc.yml apiVersion: v1 kind: ReplicationController metadata: name: hello-rc spec: replicas: 1

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

我有一个
ReplicationController
,它运行10个
pods

rc.yml

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
然后我试图暴露rc:

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
kubectl expose rc hello rc--name=hello svc--target port=8080--type=NodePort
$kubectl获得服务
名称CLUSTER-IP EXTERNAL-IP端口年龄
你好,svc 10.27.254.160 8080:30488/TCP 30s
kubernetes 10.27.240.1443/TCP 1h
我的google容器端点是:
35.xxx.xx.xxx
运行
kubectl descripe svc hello svc
时,节点端口是
30488


因此,我尝试在
35.xxx.xx.xxx:30488访问该应用程序,但无法访问该站点。

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

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


完成后别忘了删除负载平衡器。

请向我投票,但为了顺利通过Pluralsight课程,我更容易在防火墙上打个洞。在现实世界中,我确信
负载平衡器是一种不错的选择。