SQL Server on Kubernetes with Ubuntu OS

minikube service mssql-deployment --url

These steps to be followed after the installation of Minikube on the Ubuntu server.
Please refer the below link to do the same(https://linuxhint.com/install-minikube-ubuntu/)

Post installation of Minikube start and check the status as in below.

Minikube Start and Status :

SQL Server and Kubernetes
This assumes that you have minikube up and running. The first thing you’re going to do is build a secret to pass into your deployment, for your SA password.

kubectl create secret generic mssql --from-literal=SA_PASSWORD="MyC0m9l&xP@ssw0rd"

The next thing you are going to do is build you persistent volume claim.

kind: PersistentVolumeClaim
 apiVersion: v1
   name: mssql-data-claim
   - ReadWriteOnce
     storage: 10Gi
You will save this text in a file. For the purposes of this posts, we will call it pv-claim.yaml. You will then run the kubectl apply -f pv-claim.yaml command. You will see the message “persistentvolumeclaim “mssql-data-claim” created
Next we are going to build our deployment and our load balancer.
apiVersion: v1
 kind: Service
   name: mssql-deployment
     app: mssql
     - protocol: TCP
       port: 1433
       targetPort: 1433
   type: LoadBalancer
 apiVersion: apps/v1beta1
 kind: Deployment
   name: mssql-deployment
   replicas: 1
        app: mssql
      terminationGracePeriodSeconds: 10
      - name: mssql
        image: microsoft/mssql-server-linux
        - containerPort: 1433
        - name: ACCEPT_EULA
          value: "Y"
        - name: SA_PASSWORD
              name: mssql
              key: SA_PASSWORD
        - name: mssql-persistent-storage
          mountPath: /var/opt/mssql
      - name: mssql-persistent-storage
          claimName: mssql-data-claim

We’re defining our service and load balancer at the beginning of the code. Next, we are defining our deployment, which specifies the container we’re going to use, which in this case it is the latest release of SQL Server 2017, and it picks up our predefined SA password. Finally, we are defining our volume mount and its path for where it will be mounted in the VM. Save this off to a file called sqldeployment.yaml. You will run the same kubectl apply -f sqldeployment.yaml to deploy this. You will see service “mssql-deployment” created and deployment “mssql-deployment” created. You can verify the deployments by running the below commands:

You’ll make note of that IP address and port for your SQL deployment. You do need to make note of that port, however, that IP address is not routable within that cluster. There is some weirdness here to running minikube. I’d like to thank the Database Avenger for this post which showed me how to connect to the kube.  Run the following command, which will give the IP address to connect to

Now you can connect to SQL Server using your SSMS using the SA password created at the top or use your sqlcmd after installing the mssql-tools on the Ubuntu machine. Have created a test database in this connection.

No comments:
Write comments

Please do not enter spam links

Meet US


More Services