Introduction
DigitalOcean simplifies cloud computing so builders can spend more time creating software that changes the world.
DigitalOcean offers easy-to-use and configure cloud services like servers, kubernetes, object storage, serverless functions, a marketplace of applications, and much more.
Memphis.dev chose DigitalOcean Kubernetes Marketplace to offer both DO and Memphis users a
1-click installation of memphis cluster in a production kubernetes environment.
Prerequisites
Step 1: Create DigitalOcean Kubernetes Cluster
Nodes are the servers that provide the Kubernetes compute and storage resources
Step 2: Connect to the Kubernetes cluster
Follow the below instructions to communicate with the newly created cluster
Step 3: Install Memphis
We need to create two different load balancers, one for data (the broker itself) and one for the UI .
Step 4: Expose Memphis for data using a load balancer
Run the following YAML
Copy apiVersion : v1
kind : Service
metadata :
annotations :
meta.helm.sh/release-name : memphis
meta.helm.sh/release-namespace : memphis
creationTimestamp : "2022-07-19T16:25:00Z"
finalizers :
- service.kubernetes.io/load-balancer-cleanup
labels :
app.kubernetes.io/instance : memphis
app.kubernetes.io/managed-by : Helm
app.kubernetes.io/name : memphis
app.kubernetes.io/version : 1.16.0
helm.sh/chart : memphis-0.1.0
name : memphis-cluster
namespace : memphis
spec :
allocateLoadBalancerNodePorts : true
externalTrafficPolicy : Cluster
internalTrafficPolicy : Cluster
ipFamilies :
- IPv4
ipFamilyPolicy : SingleStack
ports :
- name : memphis-cp-management
nodePort : 30794
port : 5555
protocol : TCP
targetPort : 5555
- name : memphis-cp-tcp
nodePort : 31534
port : 6666
protocol : TCP
targetPort : 6666
- name : client
nodePort : 30363
port : 7766
protocol : TCP
targetPort : 7766
selector :
app.kubernetes.io/instance : memphis
app.kubernetes.io/name : memphis
sessionAffinity : None
type : LoadBalancer
The above will create a digitalocean load balancer with a public ip.
Step 5: Expose Memphis UI using a load balancer
Run the following YAML
Copy kubectl expose deployment memphis-ui --port=80 --target-port=80 \
--name=memphis-ui --type=LoadBalancer
Step 6: Connect your 1st app
To get the public IPs of the load balancers we created before, run