Sign inSign up

michaelkedey/vote

By michaelkedey

•Updated over 2 years ago

vote app

Image
Web servers
Databases & storage
0

263

michaelkedey/vote repository overview

⁠USAGE

Access Ports
vote-app-svc: 5004 result-app-svc: 5003

Access Paths
vote-svc: ip:5004 result-svc: ip:5003 vote-container: ip:8080 result-container: ip:8081

⁠Docker
$ docker compose up -d

docker-compose.yaml

version: '3'

services:
  db:
    image: postgres:15-alpine
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres

  redis:
    image: redis:alpine

  vote-app:
    image: michaelkedey/vote:vote-app
    ports:
      - "8080:80"
    depends_on:
      - redis

  result-app:
    image: michaelkedey/vote:result-app
    ports:
      - "8081:80"
    depends_on:
      - db

  worker:
    image: dockersamples/examplevotingapp_worker
    depends_on:
      - vote-app
      - result-app

⁠K8s
$ kubectl apply -f vote-app.yaml

vote-app.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: db
  name: db
spec:
  replicas: 1
  selector:
    matchLabels:
      app: db
  template:
    metadata:
      labels:
        app: db
    spec:
      containers:
      - image: postgres:15-alpine
        name: postgres
        env:
        - name: POSTGRES_USER
          value: postgres
        - name: POSTGRES_PASSWORD
          value: postgres
        ports:
        - containerPort: 5432
          name: postgres
        volumeMounts:
        - mountPath: /var/lib/postgresql/data
          name: db-data
      volumes:
      - name: db-data
        emptyDir: {} 

---

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: redis
  name: redis
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
    spec:
      containers:
      - image: redis:alpine
        name: redis
        ports:
        - containerPort: 6379
          name: redis
        volumeMounts:
        - mountPath: /data
          name: redis-data
      volumes:
      - name: redis-data
        emptyDir: {} 

---

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: result
  name: result
spec:
  replicas: 1
  selector:
    matchLabels:
      app: result
  template:
    metadata:
      labels:
        app: result
    spec:
      containers:
      - image: michaelkedey/vote:result-app
        name: result
        ports:
        - containerPort: 80
          name: result

---

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: vote
  name: vote
spec:
  replicas: 1
  selector:
    matchLabels:
      app: vote
  template:
    metadata:
      labels:
        app: vote
    spec:
      containers:
      - image: michaelkedey/vote:vote-app
        name: vote
        ports:
        - containerPort: 80
          name: vote

---

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: worker
  name: worker
spec:
  replicas: 1
  selector:
    matchLabels:
      app: worker
  template:
    metadata:
      labels:
        app: worker
    spec:
      containers:
      - image: dockersamples/examplevotingapp_worker
        name: worker

---

apiVersion: v1
kind: Service
metadata:
  labels:
    app: db
  name: db
spec:
  type: ClusterIP
  ports:
  - name: "db-service"
    port: 5432
    targetPort: 5432
  selector:
    app: db
  
---

apiVersion: v1
kind: Service
metadata:
  labels:
    app: redis
  name: redis
spec:
  type: ClusterIP
  ports:
  - name: "redis-service"
    port: 6379
    targetPort: 6379
  selector:
    app: redis
  
---

apiVersion: v1
kind: Service
metadata:
  labels:
    app: result
  name: result
spec:
  type: NodePort
  ports:
  - name: "result-service"
    port: 5003
    targetPort: 80
    nodePort: 31003
  selector:
    app: result

---

apiVersion: v1
kind: Service
metadata:
  labels:
    app: vote
  name: vote
spec:
  type: NodePort
  ports:
  - name: "vote-service"
    port: 5004
    targetPort: 80
    nodePort: 31004
  selector:
    app: vote
  

Tag summary

Content type

Image

Digest

sha256:928bc4429…

Size

52.8 MB

Last updated

over 2 years ago

docker pull michaelkedey/vote