LogoLogo
CloudDiscordGitHub
  • 👉Getting Started
    • Introduction
    • Quick start
    • Learn by example
    • Case studies
    • How to contribute?
  • ⭐Memphis Broker
    • Architecture
    • Key concepts
      • Message broker
      • Station
      • Producer API
      • Consumer API
      • Consumer Group
      • Storage and Redundancy
      • Security/Authentication
      • Scaling
      • Ordering
      • Dead-letter Station (DLS)
      • Delayed messages
      • Data exchange
      • Idempotency (Duplicate processing)
      • Failover Scenarios
      • Troubleshooting process
      • Connectors
    • Best practices
      • Producer optimization
      • Compression
    • Memphis configuration
    • Comparisons
      • NATS Jetstream vs Memphis
      • RabbitMQ vs Memphis
      • AWS SQS vs Memphis
      • Apache Kafka vs Memphis
      • Apache Pulsar vs Memphis
      • ZeroMQ vs Memphis
      • Apache NiFi vs Memphis
    • Privacy Policy
  • ⭐Memphis Schemaverse
    • Overview
    • Getting started
      • Management
      • Produce/Consume
        • Protobuf
        • JSON Schema
        • GraphQL
        • Avro
    • Comparison
    • KB
  • 📦Open-Source Installation
    • Kubernetes
      • 1 - Installation
      • 2 - Access
      • 3 - Upgrade
      • Terraform
        • Deploy on AWS
        • Deploy on GCP
        • Deploy on DigitalOcean
      • Guides
        • Deploy/Upgrade Memphis utilizing predefined secrets
        • Monitoring/Alerts Recommendations
        • Production Best Practices
        • NGINX Ingress Controller and Cloud-Agnostic Memphis Deployments
        • Migrate Memphis storage between storageClass's
        • Expanding Memphis Disk Storage
        • Scale-out Memphis cluster
        • TLS - Deploy Memphis with TLS Connection to Metadata Frontend
        • TLS - Memphis TLS websocket configuration
        • TLS - Securing Memphis Client with TLS
        • Installing Memphis with an External Metadata Database
    • Docker
      • 1 - Installation
      • 2 - Access
      • 3 - Upgrade
    • Open-source Support
  • Client Libraries
    • REST (Webhook)
    • Node.js / TypeScript / NestJS
    • Go
    • Python
    • Kotlin (Community)
    • .NET
    • Java
    • Rust (Community)
    • NATS
    • Scala
  • 🔌Integrations Center
    • Index
    • Processing
      • Zapier
    • Change data Capture (CDC)
      • Debezium
    • Monitoring
      • Datadog
      • Grafana
    • Notifications
      • Slack
    • Storage tiering
      • S3-Compatible Object Storage
    • Source code
      • GitHub
    • Other platforms
      • Argo
  • 🗒️Release notes
    • KB
    • Releases
      • v1.4.3 - latest/stable
      • v1.4.2
      • v1.4.1
      • v1.4.0
      • v1.3.1
      • v1.3.0
      • v1.2.0
      • v1.1.1
      • v1.1.0
      • v1.0.3
      • v1.0.2
      • v1.0.1
      • V1.0.0 - GA
      • v0.4.5 - beta
      • v0.4.4 - beta
      • v0.4.3 - beta
      • v0.4.2 - beta
      • v0.4.1 - beta
      • v0.4.0 - beta
      • v0.3.6 - beta
      • v0.3.5 - beta
      • v0.3.0 - beta
      • v0.2.2 - beta
      • v0.2.1 - beta
      • v0.2.0 - beta
      • v0.1.0 - beta
Powered by GitBook
LogoLogo

Legal

  • Terms of Service
  • Privacy Policy

All rights reserved to Memphis.dev 2023

On this page
  • Introduction
  • Prerequisites
  • Terraform Installation Flow
  • Step 0: Clone Memphis-Terraform repo
  • Step 1: Deploy GKE Cluster using Terraform
  • Step 2: Deploy Memphis
  • Step 3: Login to Memphis
  • Appendix A: Clean (Remove) Memphis Terraform deployment

Was this helpful?

  1. Open-Source Installation
  2. Kubernetes
  3. Terraform

Deploy on GCP

Using Terraform

Last updated 2 years ago

Was this helpful?

Introduction

is one of the world's three most popular cloud providers. It offers a high-performance infrastructure for cloud computing, data analytics & machine learning. Secure, reliable, and high-performance cloud services.

At the moment, memphis utilizing to automate the entire deployment process from VPC creation, to K8S, to memphis deployment.

Terraform codifies cloud APIs into declarative configuration files.

Prerequisites

  • A

  • A + GCP

  • gcloud SDK + CLI , configuration depends on station OS.

  • Authorize the SDK to access GCP using your user account credentials

gcloud auth application-default login
  • Enable API services:

gcloud config set project YOUR_PROJECT_ID
gcloud services enable compute.googleapis.com container.googleapis.com
  • quota according to your region. (Default is 8, increase to at least 12)

  • Terraform is

  • Kubectl is

  • helm is

Terraform Installation Flow

Step 0: Clone Memphis-Terraform repo

git clone git@github.com:memphisdev/memphis-terraform.git && \
cd memphis-terraform/GCP/GKE

Step 1: Deploy GKE Cluster using Terraform

In this step, you will need your projectID.

make infra

Memphis uses "makefile" instead of running three terraform commands

Step 2: Deploy Memphis

make cluster

Once deployment is complete, the Memphis Load Balancer URL will be revealed.

Step 3: Login to Memphis

Display memphis load balancer public IP by running the following -

kubectl get svc -n memphis

The UI will be available through https://<Public IP>:9000

Appendix A: Clean (Remove) Memphis Terraform deployment

Destroy Memphis App -

make destroymemphis

It might take a few minutes for the ALB to be deleted.

Destroy Memphis GKE Cluster -

make destroyinfra
Google Cloud Platform
Terraform
GCP Account
GCP Project
Service Account Key
installed
Adjust the "N2_CPUS"
installed
installed
installed
📦
Page cover image