Kubernetes 谷歌容器连接服务
我正在学习PluralSight上的一门课程,课程作者在kubernetes上放置了一个docker图像,然后通过他的浏览器访问它。我试图复制他所做的,但我无法访问该网站。我相信我可能连接到了错误的IP 我有一个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
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课程,我更容易在防火墙上打个洞。在现实世界中,我确信负载平衡器是一种不错的选择。