apiVersion: apps/v1 kind: Deployment metadata: name: node-2-deployment namespace: alex-elixir-demo labels: app: node-2 spec: replicas: 1 selector: matchLabels: app: node-2 template: metadata: labels: app: node-2 spec: containers: - name: node-2 image: alexmickelson/elixir-demo-backend:$GITHUB_RUN_NUMBER ports: - containerPort: 4000 - containerPort: 9000 env: - name: PORT value: "4000" - name: RELEASE_NODE value: "backend@node-2.alex-elixir-demo.svc.cluster.local" - name: RELEASE_DISTRIBUTION value: "name" - name: ERL_DIST_PORT value: "9000" - name: RELEASE_COOKIE valueFrom: secretKeyRef: name: backend-secret key: cookie - name: SECRET_KEY_BASE valueFrom: secretKeyRef: name: backend-secret key: secret_key_base - name: CLUSTER_NODES value: "backend@node-1.alex-elixir-demo.svc.cluster.local,backend@node-2.alex-elixir-demo.svc.cluster.local,backend@node-3.alex-elixir-demo.svc.cluster.local" resources: requests: memory: 256Mi cpu: 100m limits: memory: 512Mi cpu: 500m livenessProbe: httpGet: path: /api/health port: 4000 initialDelaySeconds: 15 periodSeconds: 10 --- apiVersion: v1 kind: Service metadata: namespace: alex-elixir-demo name: node-2 spec: selector: app: node-2 ports: - name: http protocol: TCP port: 4000 targetPort: 4000 - name: dist protocol: TCP port: 9000 targetPort: 9000 type: ClusterIP