我在谷歌云上设置了这个设置:
mysql服务器和 redis服务器的kubernetes配置文件几乎相同,只有名称,端口和图像不同。
我可以从网络应用连接 mysql服务器,但我无法连接 redis服务器。< / p>
此外无法在其服务CLUSTER-IP上从网络应用>连接 redis服务器,但我可以连接 redis服务器在其pod IP上。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: redis
spec:
replicas: 1
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: launcher.gcr.io/google/redis4
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 6379
env:
---
apiVersion: v1
kind: Service
metadata:
name: redis
labels:
app: redis
role: master
tier: backend
spec:
selector:
app: redis
role: master
tier: backend
ports:
- port: 6379
targetPort: 6379
答案 0 :(得分:3)
部署规范缺少某些标签,因此服务没有选择它。
当前部署规范:
metadata:
labels:
app: redis
包括服务所需的其他标签:
metadata:
labels:
app: redis
role: metadata
tier: backend
或者根据您要查看的方式,服务规范正在尝试不存在的匹配标签,您可以从以下位置更改服务:
selector:
app: redis
role: master
tier: backend
为:
selector:
app: redis