gpt4 book ai didi

docker - 通过docker、kubernetes和google云平台部署应用的步骤

转载 作者:行者123 更新时间:2023-12-02 12:20:40 25 4
gpt4 key购买 nike

我正在尝试将应用程序部署到 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 地址访问我的前端时,它似乎工作(有一个接口(interface))并且无法通过外部 IP 访问我的后端。

    所以我的问题是:
  • 运行我的 Kubernetes 服务后要遵循的正确步骤是什么?
    dockerizing 我的应用程序以便将其部署在 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 But I am unable to do so with the backend

    最佳答案

    what are the correct steps to follow after running my Kubernetes services and dockerizing my application in order to deploy it on Google Cloud Platform?



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

    how to link my front-end and my back-end services once deployed?



    Kubernetes 中的 POD 使用服务进行通信,它们也使用服务将自己暴露给外部世界。在 GCP 中,您可以使用 LoadBalancer 来共享 HTTP/HTTPS 流量和 TCP 流量。关于它的更多信息,你可以浏览 Codelab Kubernetes, GKE, and Load Balancing例子。

    should I create a deployment for my database also in Google Cloud Platform?



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

    关于docker - 通过docker、kubernetes和google云平台部署应用的步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50839873/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com