首页 文章

部署通过docker,kubernetes和google Cloud 平台传递的应用程序的步骤

提问于
浏览
0

我正在尝试将应用程序部署到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服务并将我的应用程序停靠以便将其部署到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:Nodeport但我无法使用后端

1 回答

  • 1

    运行我的Kubernetes服务并将我的应用程序停靠以便将其部署到Google Cloud Platform后,需要遵循哪些正确的步骤?

    在GCP中创建集群后,您需要为前端和后端应用程序创建部署和服务 . 您可以阅读GKE文档以了解如何创建DeploymentServices

    部署后如何链接我的前端和后端服务?

    Kubernetes中的POD使用服务进行通信,他们还使用服务将自己暴露给外部世界 . 在GCP中,您可以使用LoadBalancer来共享HTTP / HTTPS流量和TCP流量 . 有关它的更多信息,您可以查看Codelab Kubernetes, GKE, and Load Balancing示例 .

    我是否应该在Google Cloud Platform中为我的数据库创建部署?

    如果要在Kubernetes中找到数据库,则需要为其添加部署和服务 . 如果不这样做,则需要配置从应用程序到Kubernetes外部数据库的访问 .

相关问题