谷歌云代理商:谷歌云服务器如何部署代码?‌

110 阅读3分钟

本文由【云老大】 TG@yunlaoda360 撰写

一、准备工作

  1. 创建项目:在Google Cloud Console中创建一个项目,为部署代码做好准备。
  2. 启用服务:根据需要启用相应的服务,如Compute Engine、App Engine、Kubernetes Engine等。
  3. 设置认证:创建服务账号并下载JSON密钥文件,用于后续的认证和授权。
  4. 安装工具:安装Google Cloud SDK,以便在本地环境中使用gcloud命令行工具。

二、部署到Compute Engine

  1. 创建虚拟机实例

    • 在Google Cloud Console中,选择 “计算” > “计算引擎” > “实例” ,点击 “创建实例”
    • 配置实例的名称、区域、机器类型、启动磁盘等参数。
    • 点击 “创建” 完成实例的创建。
  2. 连接到实例

    • 在实例列表中,点击实例名称,选择 “连接” > “SSH” ,通过SSH连接到实例。
  3. 部署代码

    • 使用git clone命令将代码从版本控制系统克隆到实例中:

      bash

      git clone https://github.com/your-username/your-repository.git
      
    • 或者使用rsync命令将本地代码同步到实例中:

      bash

      rsync -avz -e "ssh -i ~/.ssh/google_compute_engine" /local/path/to/code/ username@instance-ip:/remote/path/
      
    • 安装代码运行所需的依赖库和环境,例如使用pip安装Python库:

      bash

      pip install -r requirements.txt
      
  4. 运行代码:启动应用程序,例如运行Python脚本:

    bash

    python app.py
    
  5. 设置自动启动(可选) :为了确保实例重启后代码能自动运行,可以设置开机启动项。以下是在Ubuntu系统上设置的方法:

    • 创建一个服务文件/etc/systemd/system/myapp.service

      ini

      [Unit]
      Description=My Application
      After=network.target
      
      [Service]
      ExecStart=/usr/bin/python3 /path/to/app.py
      Restart=always
      User=root
      
      [Install]
      WantedBy=multi-user.target
      
    • 重新加载systemd配置并启动服务:

      bash

      systemctl daemon-reload
      systemctl start myapp
      systemctl enable myapp
      

三、部署到App Engine

  1. 创建App Engine应用

    • 在Google Cloud Console中,选择 “应用引擎” > “概览” ,点击 “创建应用” ,选择应用的位置。
  2. 准备代码

    • 确保代码符合App Engine的目录结构和命名规范。例如,Python应用的目录结构如下:

      myapp/
          app.yaml
          main.py
          requirements.txt
      
  3. 部署应用

    • 在本地终端中,导航到应用目录,运行以下命令部署应用:

      bash

      gcloud app deploy app.yaml
      
  4. 访问应用:部署完成后,使用以下命令获取应用的URL并访问应用:

    bash

    gcloud app browse
    

四、部署到Kubernetes Engine

  1. 创建集群

    • 在Google Cloud Console中,选择 “容器引擎” > “集群” ,点击 “创建集群”
    • 配置集群的名称、区域、节点配置等参数。
    • 点击 “创建” 完成集群的创建。
  2. 部署应用

    • 创建一个Docker容器镜像并将其推送到Container Registry:

      bash

      docker build -t gcr.io/PROJECT_ID/IMAGE_NAME .
      docker push gcr.io/PROJECT_ID/IMAGE_NAME
      
    • 创建一个Kubernetes部署文件deployment.yaml

      yaml

      apiVersion: apps/v1
      kind: Deployment
      metadata:
          name: myapp-deployment
      spec:
          replicas: 3
          selector:
              matchLabels:
                  app: myapp
          template:
              metadata:
                  labels:
                      app: myapp
              spec:
                  containers:
                  - name: myapp-container
                    image: gcr.io/PROJECT_ID/IMAGE_NAME
                    ports:
                    - containerPort: 80
      ---
      apiVersion: v1
      kind: Service
      metadata:
          name: myapp-service
      spec:
          type: LoadBalancer
          selector:
              app: myapp
          ports:
              - protocol: TCP
                port: 80
                targetPort: 80
      
    • 使用kubectl命令部署应用:

      bash

      kubectl apply -f deployment.yaml
      

五、部署到Cloud Run

  1. 创建服务

    • 在Google Cloud Console中,选择 “无服务器” > “Cloud Run” > “服务” ,点击 “创建服务”
    • 配置服务的名称、区域、源代码等参数。
    • 如果选择从容器镜像部署,可以使用现有的Docker镜像或新建一个镜像。
    • 点击 “创建并部署” 完成服务的创建和部署。
  2. 访问服务:部署完成后,使用服务的URL访问应用。