Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment déployer un node.js avec redis sur kubernetes ?

Je pense avoir trouvé une solution (en utilisant un déploiement et un service).

Pour mon déploiement, j'ai utilisé deux conteneurs (webapp + redis) dans un pod, car il n'est pas logique qu'une webapp s'exécute sans instance redis active, et en plus elle se connecte à redis au démarrage de l'application. Je peux me tromper dans ce raisonnement, alors n'hésitez pas à me corriger si vous pensez le contraire.

Voici mon déploiement :

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: {}

Et voici la définition du service :

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

Je crée le déploiement avec :kubectl create -f deployment.yaml Ensuite, je crée le service avec kubectl create -f service.yaml Je lis l'IP avec minikube ip et extrayez le port de la sortie de kubectl describe service my-app-service .