繁体   English   中英

部署通过docker,kubernetes和Google Cloud Platform传递的应用程序的步骤

[英]Steps to deploy an application passing by docker, kubernetes and google cloud platform

我正在尝试将应用程序部署到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但后端无法执行此操作

在运行Kubernetes服务并对应用程序进行泊坞处理以将其部署到Google Cloud Platform后,应遵循的正确步骤是什么?

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

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

Kubernetes中的POD使用服务进行通信,它们还使用服务将自己暴露于外部世界。 在GCP中,您可以使用LoadBalancer共享HTTP / HTTPS通信和TCP通信。 有关它的更多信息,您可以浏览Codelab Kubernetes,GKE和负载平衡示例。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM