grenierdev / dapr-pubsub

Dapr + Kubernetes example

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Based on https://github.com/vfarcic/dapr-demo/tree/main

1. Install Rootless Docker

Install

curl -o rootless-install.sh -fsSL https://get.docker.com/rootless
sh rootless-install.sh
export PATH=$HOME/bin:$PATH
sudo mkdir -p /etc/systemd/system/user@.service.d
cat <<EOF | sudo tee /etc/systemd/system/user@.service.d/delegate.conf
[Service]
Delegate=cpu cpuset io memory pids
EOF
sudo systemctl daemon-reload
docker context use rootless
export DOCKER_HOST=unix:///run/user/1000/docker.sock

Service

systemctl --user start docker
systemctl --user stop docker
systemctl --user status docker

2. Install Minikube (Kubernetes)

Install

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start --driver=docker --container-runtime=containerd

Dashboard

minikube dashboard

3. Install Helm

Install

curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm

Install Helm repos

helm repo add dapr https://dapr.github.io/helm-charts
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

4. Install Dapr with Redis backend

Install

wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash
kubectl create namespace dapr-test
helm upgrade --install dapr dapr/dapr --namespace dapr-test --wait
helm upgrade --install dapr-dashboard dapr/dapr-dashboard --namespace dapr-test --wait

Dashboard

dapr dashboard -k -n dapr-test

5. Deploy Services

kubectl create namespace dapr-apps
helm upgrade --install redis bitnami/redis --namespace dapr-apps --wait
kubectl --namespace dapr-apps apply --filename redis-dapr.yaml
docker build ./publisher -t dapr-deno-publisher
docker build ./worker -t dapr-deno-worker
minikube image load dapr-deno-publisher
minikube image load dapr-deno-worker
kubectl --namespace dapr-apps apply --filename apps.yaml

About

Dapr + Kubernetes example


Languages

Language:JavaScript 71.7%Language:Dockerfile 28.3%