Connect to local SQL Server Express database from inside minikube cluster

6/21/2020

I'm trying to access my SQL Server Express database hosted on my local machine from inside a minikube pod. I tried to follow the idea describe on kubernetes official doc. While I am inspecting my container I found out that my application got crashed every time I am creating POD because the application is unable to connect to the local database.

This is my config:

apiVersion: v1
kind: Service
metadata:
    name: sqlserver-svc
spec:
    ports:
        - protocol: TCP
          port: 1443
          targetPort: 1433
===========================

apiVersion: v1
kind: Endpoints
metadata:
    name: sqlserver-svc
subsets:
  - addresses:
      - ip: 192.168.0.101
    ports:
      - port: 1433

======== Application container ==========
apiVersion: v1
kind: Pod  # object type -> that will reside kubernetes cluster
metadata: 
    name: api-pod
    labels:
        component: web
spec:
    containers:
        - name: api
          image: nayan2/simptekapi
          ports:
            - containerPort: 5000
          env:
            - name: DATABASE_HOST
              value: "sqlserver-svc:1443\\SQLEXPRESS"
            - name: DATABASE_PORT
              value: '1433'
            - name: DATABASE_USER
              value: sa
            - name: DATABASE_PW
              value: 1234
            - name: JWT_SECRET
              value: sec
            - name: NODE_ENV
              value: production

================================

apiVersion: v1
kind: Service
metadata:
    name: api-node-port
spec:
    type: NodePort
    ports:
        - port: 4200
        targetPort: 5000
        nodePort: 31515
    selector:
        component: web

It is obvious that I am doing something wrong. I am relatively new with docker/container and Kubernetes technology. Still learning. Can anybody help me with this??

-- Amjad
docker
kubernetes
sql-server

0 Answers