sql >> Base de Datos >  >> NoSQL >> Redis

¿Cómo implementar un node.js con redis en kubernetes?

Creo que descubrí una solución (usando una implementación y un servicio).

Para mi implementación, utilicé dos contenedores (webapp + redis) dentro de un Pod, ya que no tiene sentido que una aplicación web se ejecute sin una instancia activa de redis y, además, se conecta a redis al iniciar la aplicación. Podría estar equivocado en este razonamiento, así que siéntete libre de corregirme si piensas lo contrario.

Aquí está mi implementación:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
spec:
  selector:
    matchLabels:
      app: my-app-deployment
  template:
    metadata:
      labels:
        app: my-app-deployment
    spec:
      containers:
      - name: redis
        image: redis:latest
        ports:
        - containerPort: 6379
        volumeMounts:
        - mountPath: /srv/www
          name: redis-storage
      - name: my-app
        image: my-app:latest
        imagePullPolicy: Never
        ports:
        - containerPort: 8080
      volumes:
      - name: redis-storage
        emptyDir: {}

Y aquí está la definición de Servicio:

apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  ports:
  - port: 8080
    protocol: TCP
  type: NodePort
  selector:
    app: my-app-deployment

Creo la implementación con:kubectl create -f deployment.yaml Luego, creo el servicio con kubectl create -f service.yaml Leí la IP con minikube ip y extraiga el puerto de la salida de kubectl describe service my-app-service .