【发布时间】:2018-06-13 14:33:35
【问题描述】:
我正在尝试将应用程序部署到 Google Cloud Platform。 我的后端和前端在单独的 docker 容器中运行,每个项目都有自己的 Docker-Compose 和 Dockerfile ,我正在为我的 Postgres 数据库使用容器。我将容器部署到 Dockerhub,并创建了 Kubernetes 服务和部署。 (使用 Kubernetes Kompose:所以我先将 docker-compose 转换为 deployments.yaml 文件)
现在我想将我的应用程序部署到 Google Cloud Platform
我创建了一个集群
-
我为前端和后端创建了两个单独的部署
kubectl run backendapp --image=docker.io/[dockerhub username]/backendapp --port=9000 kubectl run frontendapp --image=docker.io/[dockerhub username]/frontendapp --port=3000
当我通过外部IP地址访问我的前端时,它似乎工作(有一个接口)并且无法通过外部IP访问我的后端。
所以我的问题是:
- 运行我的 Kubernetes 服务后要遵循的正确步骤是什么? 将我的应用程序 docker 化以将其部署到 Google Cloud Platform 上?
- 部署后如何链接我的前端和后端服务?
- 我是否也应该在 Google Cloud Platform 中为我的数据库创建部署?
这是我的后端服务的描述
> Name: backendapp Namespace: default
> Labels: run=backendapp Annotations:
> <none> Selector: run=backendapp Type:
> LoadBalancer IP: 10.111.73.214 Port:
> <unset> 9000/TCP TargetPort: 9000/TCP NodePort:
> <unset> 32449/TCP Endpoints: Session Affinity:
> None External Traffic Policy: Cluster Events:
> <none>
这是我的前端服务的描述
Name: frontendapp
Namespace: default
Labels: run=frontendapp
Annotations: <none>
Selector: run=frontendapp
Type: LoadBalancer
IP: 10.110.133.172
Port: <unset> 3000/TCP
TargetPort: 3000/TCP
NodePort: <unset> 30016/TCP
Endpoints:
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
我可以通过
访问我的前端服务clusterIp:节点端口 但我无法在后端这样做
【问题讨论】:
标签: docker kubernetes google-cloud-platform docker-compose