簡體   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