SQL Server in Kubernetes on Docker for Windows

Andrew Pruski, 2018-02-07

Last week Docker announced a feature that I’ve been looking forward to for a while: –

And sure enough, when I opened Docker for Windows, there was the update: –

Let’s run through the steps to get this setup. First of all, enable the feature in settings: –

Once installed, you’ll be able to confirm that Kubernetes is up and running: –

Awesome stuff, but how do we interact with it?

Now, if this is the first time working with Kubernetes you won’t have to perform the next couple of steps but just to confirm, run the following: –

kubectl config current-context

If your shell cannot find the kubectl command, add
C:\Program Files\Docker\Docker\Resources\bin\

to your PATH environment variable and restart your shell.

If the command outputs anything other than docker-for-desktop you will need to switch to the desktop cluster. To do this run: –

kubectl config use-context docker-for-desktop-cluster

In the above screenshot I switched from my mySQLK8sCluster1 (my AKS cluster) to docker-for-desktop and then ran: –

kubectl get nodes

Now we are ready to go and build a pod running SQL Server in Kubernetes on Docker for Windows ??

So in C:\temp create a file called sqlserver.yml and drop in: –

apiVersion: v1
kind: Pod
metadata:
  name: sqlserver
  labels:
    name: sqlserver
spec:
  containers:
  - name: sqlserver
    image: microsoft/mssql-server-linux:latest
    ports:
    - containerPort: 1433
    env:
    - name: SA_PASSWORD
      value: "Testing1122"
    - name: ACCEPT_EULA
      value: "Y"

This is a very simple .yml file to create one pod running SQL Server. To create the pod: –

kubectl create -f C:\temp\sqlserver.yml
kubectl get pods

And boom! There we have a pod running SQL Server.

Now, unfortunately I haven’t had time to work out how to connect to the instance externally. I’ll work on that and update this post once I get it working (if I can).

For now, we can verify that SQL is up and running in the pod by remoting into it: –

kubectl exec -it sqlserver /bin/bash
ps aux | grep sql

And there’s SQL running in the pod! Cool!

Ok, not particularly handy without being able to connect with SSMS on your desktop but I think it’s pretty interesting to run through these steps to get a handle on how Kubernetes on Docker for Windows works.

Thanks for reading

Rate

Share

Share

Rate

Related content

Database Mirroring FAQ: Can a 2008 SQL instance be used as the witness for a 2005 database mirroring setup?

Question: Can a 2008 SQL instance be used as the witness for a 2005 database mirroring setup? This question was sent to me via email. My reply follows. Can a 2008 SQL instance be used as the witness for a 2005 database mirroring setup? Databases to be mirrored are currently running on 2005 SQL instances but will be upgraded to 2008 SQL in the near future.

Robert Davis

2009-02-23

1,567 reads

Networking – Part 4

You may want to read Part 1 , Part 2 , and Part 3 before continuing. This time around I’d like to talk about social networking. We’ll start with social networking. Facebook, MySpace, and Twitter are all good examples of using technology to let…

Andy Warren

2009-02-17

1,530 reads

Speaking at Community Events – More Thoughts

Last week I posted Speaking at Community Events – Time to Raise the Bar?, a first cut at talking about to what degree we should require experience for speakers at events like SQLSaturday as well as when it might be appropriate to add additional focus/limitations on the presentations that are accepted. I’ve got a few more thoughts on the topic this week, and I look forward to your comments.

Andy Warren

2009-02-13

360 reads