I need to know how to connect my Kubernetes cluster to an external SQL Server database running in a docker image outside of the Kubernetes cluster.
I currently have two pods in my cluster that are running, each has a different image in it created from asp.net core applications. There is a completely separate (outside of Kubernetes but running locally on my machine localhost,1433) docker image that hosts a SQL Server database. I need the applications in my Kubernetes pods to be able to reach and manipulate that database. I have tried creating a YAML file and configuring different ports but I do not know how to get this working, or how to test that it actually is working after setting it up. I need the exact steps/commands to create a service capable of routing a connection from the images in my cluster to the DB and back.
Docker SQL Server creation (elevated powershell/docker desktop):
docker pull mcr.microsoft.com/mssql/server:2017-latest docker run -d -p 1433:1433 --name sql -v "c:/Temp/DockerShared:/host_mount" -e SA_PASSWORD="aPasswordPassword" -e ACCEPT_EULA=Y mcr.microsoft.com/mssql/server:2017-latestdefinitions.yaml
#Pods in the cluster apiVersion: v1 kind: Pod metadata: name: pod-1 labels: app: podnet type: module spec: containers: - name: container1 image: username/image1 --- apiVersion: v1 kind: Pod metadata: name: pod-2 labels: app: podnet type: module spec: containers: - name: container2 image: username/image2 --- #Service created in an attempt to contact external SQL Server DB apiVersion: v1 kind: Service metadata: name: ext-sql-service spec: ports: - port: 1433 targetPort: 1433 type: ClusterIP --- apiVersion: v1 kind: Endpoints metadata: name: ext-sql-service subsets: - addresses: - ip: (Docker IP for DB Instance) ports: - port: 1433
Ideally I would like applications in my kubernetes cluster to be able to manipulate the SQL Server I already have set up (running outside of the cluster but locally on my machine).