在此tutorial
之后,我用几个Raspberry Pi创建了一个集群我遇到了问题。
我有一个主节点和一个从节点。我为Nginx创建部署和服务(用于测试)。
这是部署文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
这是服务文件
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
type: NodePort
ports:
- port: 80
protocol: TCP
selector:
app: nginx
我无法从群集外部访问该服务。
这是IP配置(全部在wifi上):
Master : 192.168.1.200
Slave : 192.168.1.201
我可以通过从属服务器上的SSH,“ curl 127.0.0.1:30187”以及“ curl 192.168.1.201:30187”,但是从主计算机或我的个人计算机上,它无法获取Nginix默认页面。相反,我有这个问题:“卷曲:(7)无法连接到192.168.1.201端口30187:连接超时”
有人可以帮我吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
我认为您应该在service.yaml中指定targetPort
和nodePort
>
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
type: NodePort
ports:
- port: 80
- targetPort : 80
- nodePort: 32080
protocol: TCP
selector:
app: nginx
现在, targetPort nginx 中容器 nginx 的 port 端口80 > 80多亏了这项服务。但是它在端口32080上也暴露于外界。
然后,您应该可以访问192.168.1.200:32080
答案 2 :(得分:0)
NodePort服务。 创建NodePort服务后,您应该可以从本地访问它,但是如果您使用云,则外部世界将无法访问它。这是因为有防火墙规则。
例如,如果您使用的是Google Cloud Platform,则需要更改防火墙规则。这样外部IP便可以访问群集。
因此,要访问群集,应启用端口转发。 因此,请检查防火墙设置,然后重试。 如果仍然无法访问它。发表评论。
谢谢。