Persisting SQL Server Data in Docker Containers – Part 2

So in my previous post, we discussed Docker Volumes and how they have a lifecycle independent of the container enabling us to service the container image independent of the data inside the container. Now let’s dig into Volumes a little bit more and learn where Docker actually stores that data on the underlying operating system.

This is the second post in a three part series on Persisting SQL Server Data in Docker Containers. The first post introducing Docker Volumes is here. And the third post on mapping base OS directories directly into containers is here.

Persisting SQL Server Data in Docker Containers – Part 1

What’s the number one thing a data professional wants to do with their data…keep it around. Let’s talk about running SQL Server in Containers using Docker Volumes on a Mac

This is the first post in a three part series on Persisting SQL Server Data in Docker Containers. The second post on where Docker actually stores your data is here. And the third post on mapping base OS directories directly into containers is here.

Microsoft Most Valuable Professional – Data Platform for 2019-2020

Today, I’m proud to announce that I have been renewed as an Microsoft MVP – Data Platform for the 2019-2020 award year, my third MVP award. This is an truly an honor and I’m humbled to be included in this group of exceptional data professionals. I really look forward to continuing to work with everyone in the MVP community and continuing to contribute to our unmatched Data Platform Community!

MVP Logo Horizontal Secondary Blue286 CMYK 300ppi****

Speaking at SQL Saturday Dallas

Speaking at SQLSaturday Dallas!

  I’m proud to announce that I will be speaking at <a href="https://www.sqlsaturday.com/841/eventhome.aspx">SQL Saturday Dallas</a> on May 17th 2018! This one won’t let you down! <a href="https://www.sqlsaturday.com/841/Sessions/Schedule.aspx">Check out the amazing schedule</a>!

  If you don’t know what SQLSaturday is, it’s a whole day of free SQL Server training available to you at no cost!

  If you haven’t been to a SQLSaturday, what are you waiting for! <a href="https://www.sqlsaturday.com/841/registernow.aspx">Sign up now</a>!

  My presentation is **“<a href="https://www.sqlsaturday.com/841/Sessions/Details.aspx?sid=92433">Practical Container Scenarios in Azure</a>” **

  <a href="https://www.sqlsaturday.com/841/EventHome.aspx"><img loading="lazy" style="display: block; margin-left: auto; margin-right: auto;" title="NewImage.png" src="/images/2019/05/SQLSATDALLASNewImage.png" alt="NewImage" width="127" height="20" border="0" /></a>

  Here’s the abstract for the talk

<blockquote>

    You’ve heard the buzz about containers and Kubernetes, now let’s start your journey towards rapidly deploying and scaling your container-based applications in Azure. In this session, we will introduce containers and the container orchestrator Kubernetes. Then we’ll dive into how to build a container image, push it into our Azure Container Registry and deploy it our Azure Kubernetes Services cluster. Once deployed, we’ll learn how to keep our applications available and how to scale them using Kubernetes.

    Key topics introduced<br />Building Container based applications<br />Publishing containers to Azure Container Registry<br />Deploying Azure Kubernetes Services Clusters<br />Scaling our container-based applications in Azure Kubernetes Services

</blockquote>

Workshop – Kubernetes Zero to Hero – Installation, Configuration, and Application Deployment

Pre-conference Workshop at SQLSaturday Baton Rouge

I’m proud to announce that I will be be presenting an all day pre-conference workshop at SQL Saturday Baton Rouge on August 16th 2019! This one won’t let you down!

The workshop is **“Kubernetes Zero to Hero – Installation, Configuration, and Application Deployment” **

    <a href="https://www.eventbrite.com/e/kubernetes-zero-to-hero-by-anthony-nocentino-tickets-61845012096"><img loading="lazy" style="display: block; margin-left: auto; margin-right: auto;" title="NewImage.png" src="/images/2019/01/Availability-Group-StatusNewImage-1.png" alt="NewImage" width="129" height="126" border="0" /></a>

    **Here’s the abstract for the workshop**

  <blockquote>

      Modern application deployment needs to be fast and consistent to keep up with business objectives and Kubernetes is quickly becoming the standard for deploying container-based applications, fast. In this day-long session, we will start with an architectural overview of a Kubernetes cluster and how it manages application state. Then we will learn how to build a production-ready cluster. With our cluster up and running, we will learn how to interact with our cluster, common administrative tasks, then wrap up with how to deploy applications and SQL Server. At the end of the session, you will know how to set up a Kubernetes cluster, manage a cluster, deploy applications and databases, and how to keep everything up and running.

  </blockquote>

Session Objectives

New Pluralsight Course – Managing the Kubernetes API Server and Pods

New Pluralsight Course – Managing the Kubernetes API Server and Pods

  My new course&nbsp;**“Managing the Kubernetes API Server and Pods”**&nbsp;in now available on Pluralsight&nbsp;<a href="http://www.pluralsight.com/courses/managing-kubernetes-api-server-pods">here</a>! Check out the trailer&nbsp;<a href="https://www.pluralsight.com/player?course=managing-kubernetes-api-server-pods&author=anthony-nocentino&name=1db2671f-60d7-4221-ac1a-8797cfc3c350&clip=0&mode=live">here</a>&nbsp;or if you want to dive right in go&nbsp;<a href="http://www.pluralsight.com/courses/managing-kubernetes-api-server-pods">here</a>!&nbsp;This course offers practical tips from my experiences managing Kubernetes Clusters and workloads for Centino Systems clients.

  This course targets IT professionals that design and maintain Kubernetes and container based solutions.The course can be used by both the IT pro learning new skills and the system administrator or developer preparing for using Kubernetes both on premises and in the Cloud.

  Let’s take your Kubernetes administration and configuration skills to the next level and get you started&nbsp;<a href="http://www.pluralsight.com/courses/managing-kubernetes-api-server-pods">now</a>!

  The modules of the course are:

<ul>
  <li>
    **Using the Kubernetes API**&nbsp;–&nbsp;In this module we will dive into the Kubernetes API, looking closely at the architecture of the API Server and how exposes and manages Kubernetes API Objects. Then we will learn about API versioning and object maturity. Next, we’ll look at anatomy of an API request, leading us up to debugging interactions with the API Server.
  </li>
  <li>
    **Managing Objects with Labels, Annotations and Namespaces**&nbsp;–&nbsp;In this demo-heavy module, we will learn out to organize and interact with resources in Kubernetes using Labels, Annotations, and Namespaces. We will also learn how to use labels to influence Kubernetes operations in Controllers and Pod scheduling.
  </li>
  <li>
    **Running and Managing Pods**&nbsp;–&nbsp;In this module, we will look at the fundamental unit of work in Kubernetes, the Pod, looking at why the Pod abstraction is needed and design principals for placing your applications in Pods and running those Pods in your cluster. &nbsp;We’ll examine Pod lifecycle and how its state impacts application health and availability. We wrap up with how Controllers interact with Pods and how Pods report their health status with readiness probes and liveness probes.&nbsp;
  </li>
</ul>

  <a href="https://www.pluralsight.com/library/courses/managing-kubernetes-api-server-pods/table-of-contents"><img loading="lazy" style="display: block; margin-left: auto; margin-right: auto;" title="NewImage.png" src="/images/2019/01/Availability-Group-StatusNewImage-3.png" alt="NewImage" width="565" height="128" border="0" /></a>

  <a href="http://www.pluralsight.com/courses/managing-kubernetes-api-server-pods">Check out the course at&nbsp;Pluralsight!</a>

  &nbsp;

Speaking at SQLSaturday Atlanta – 845

Speaking at SQLSaturday Atlanta!

  I’m proud to announce that I will be speaking at <a href="https://www.sqlsaturday.com/845">SQL Saturday Atlanta</a> on May 17th 2018! This one won’t let you down! <a href="https://www.sqlsaturday.com/845/Sessions/Schedule.aspx">Check out the amazing schedule</a>!

  If you don’t know what SQLSaturday is, it’s a whole day of free SQL Server training available to you at no cost!

  If you haven’t been to a SQLSaturday, what are you waiting for! <a href="https://www.sqlsaturday.com/845/RegisterNow.aspx">Sign up now</a>!

  My presentation is **“<a href="https://www.sqlsaturday.com/845/Sessions/Details.aspx?sid=87539">Containers – You Better Get on Board!</a>” **

  <a href="https://www.sqlsaturday.com/845/EventHome.aspx"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://sqlsaturdayfiles.blob.core.windows.net/845/sqlsat845_header.png" alt="SQLSaturday #845 - Atlanta 2019" /></a>

  Here’s the abstract for the talk

<blockquote>

    Containers are taking over, changing the way systems are developed and deployed…and that’s NOT hyperbole. Just imagine if you could deploy SQL Server or even your whole application stack in just minutes. You can do that, leveraging containers! In this session, we’ll get you started on your container journey learning container fundamentals in Docker, then look at some common container scenarios and introduce deployment automation with Kubernetes.

    In this session we’ll look at<br />Container Fundamentals with Docker<br />Common Container Scenarios<br />Automation with Kubernetes

    Prerequisites: Operating system concepts such as command line use and basic networking skills.

</blockquote>

Data Persistency and Advanced SQL Server Disk Topologies in Kubernetes

When working with SQL Server in containers and Kubernetes storage is a key concept. In this post, we’re going to walk through how to deploy SQL Server in Kubernetes with Persistent Volumes for the system and user databases.

One of the key principals of Kubernetes is the ephemerality of Pods. No Pod is every redeployed, a completely new Pod is created. If a Pod dies, for whatever reason, a new Pod is created in its place there is no continuity in the state of that Pod. The newly created Pod will go back to the initial state of the container image defined in the Pod’s spec. This is very valuable for stateless workloads, not so much for stateful workloads like SQL Server.

OpenSSH Resources for Windows and PowerShell

Had a conversation with a good friend in the SQL Community about OpenSSH and how it fits as a transport layer for PowerShell Remoting. I pointed him towards several resources I have online. So here’s a post aggregating those resources.

If you’re looking to get started with OpenSSH on Linux and Windows Systems check out thisPowerShell Summit presentation I did in 2018. This covers OpenSSH in theory and practice.

Session: OpenSSH Internals for PowerShell Pros

Using PowerShell in Containers

The vision for PowerShell Core is to be able to run PowerShell anywhere. In this article, I’m going to discuss how you can use Docker Containers to enable just that. We’ll look at running PowerShell in a container, running cmdlets, running different versions of PowerShell at the same time, and also how to build our own “serverless” computing platform.

Let’s address a few reasons why you would want to run PowerShell in a container.