Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Como implantar um node.js com redis no kubernetes?


Acho que descobri uma solução (usando uma implantação e um serviço).

Para minha implantação, usei dois contêineres (webapp + redis) em um Pod, pois não faz sentido que um webapp seja executado sem uma instância redis ativa e, além disso, ele se conecta ao redis na inicialização do aplicativo. Posso estar errado nesse raciocínio, então sinta-se à vontade para me corrigir se achar o contrário.

Segue minha implantação:
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: {}

E aqui está a definição de serviço:
apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  ports:
  - port: 8080
    protocol: TCP
  type: NodePort
  selector:
    app: my-app-deployment

Eu crio a implantação com:kubectl create -f deployment.yaml Em seguida, crio o serviço com kubectl create -f service.yaml Eu li o IP com minikube ip e extraia a porta da saída de kubectl describe service my-app-service .