【发布时间】:2018-08-19 22:40:39
【问题描述】:
出于学习目的,我在谷歌云上的集群中有两个服务:
具有以下 k8 配置的 API 服务:
deployment.yaml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: myapp-api
labels:
app: myapp-api
spec:
replicas: 1
template:
metadata:
labels:
app: myapp-api
spec:
containers:
- image: gcr.io/prefab-basis-213412/myapp-api:0.0.1
name: myapp-api
ports:
- containerPort: 3000
service.yaml
kind: Service
apiVersion: v1
metadata:
name: myapp-api
spec:
selector:
app: myapp-api
ports:
- protocol: TCP
port: 80
targetPort: 3000
还有第二个服务,称为前端,它是公开的:
deployment.yaml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: myappfront-deployment
spec:
replicas: 1
template:
metadata:
labels:
app: myappfront
spec:
containers:
- image: gcr.io/prefab-basis-213412/myappfront:0.0.11
name: myappfront-deployment
ports:
- containerPort: 3000
service.yaml
apiVersion: v1
kind: Service
metadata:
name: myappfront-service
spec:
type: LoadBalancer
selector:
app: myappfront
ports:
- port: 80
targetPort: 3000
前端服务基本上是一个 nodejs 应用程序,它只对 api 服务进行休息调用,如 axios.get('http://myapp-api')。
问题是调用失败并且无法找到请求的端点。我目前是否缺少任何其他配置来发现 API 服务?
附:两个服务都在运行,我可以通过 localhost 代理连接到它们。
【问题讨论】:
-
您是否尝试过这里提到的故障排除:kubernetes.io/docs/tasks/debug-application-cluster/…
-
也许可以尝试部署kubernetes.io/docs/tasks/access-application-cluster/…,就好像这对你有用,问题是你的配置。如果没有,那么您可能遇到了集群问题。
标签: kubernetes google-kubernetes-engine