我正在关注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
访问该应用,但无法访问该网站。
答案 0 :(得分:2)
如果要通过NodePort端口访问服务,则需要为该端口(以及该实例)打开防火墙。
更好的方法是创建一个类型为LoadBalancer(--type=LoadBalancer
)的服务,并在Google将为您提供的IP上访问它。
完成后不要忘记删除负载均衡器。