Kubernetes

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.

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.

Using Kubernetes Deployments for Updating SQL Server

In Kubernetes we can leverage Controllers to help manage our application state, keeping them in the desired state. In this blog post, we’re going to look at how to use a Deployment Controller to manage the application state of SQL Server in Kubernetes. We’ll look at deploying SQL Server in a Deployment and using that deployment to upgrade SQL Server and rollback our upgrade.

Deploying SQL Server in a Deployment

Let’s start off with deploying SQL Server in Kubernetes. We can do that with the following YAML file to describe our Deployment.

Speaking at SQLBits 2019

Speaking at SQLBits 2019!

I’m proud to announce that I will be speaking at SQLBits on March 2nd 2019! It’s been a goal of mine to speak at SQLBits for a few years now and I’m VERY excited for the opportunity! This year’s conference won’t let you down. Check out the amazing schedule of Experts and Microsoft MVPs! If you haven’t been to SQLBits before, what are you waiting for! Sign up now! SQLBits Logo Here’s the details on my session! Inside Kubernetes – An Architectural Deep Dive – March 2 2018 – 15:10 – Room 12

New Pluralsight Course – Kubernetes Installation and Configuration Fundamentals

New Pluralsight Course – Kubernetes Installation and Configuration Fundamentals

  My new course **“Kubernetes Installation and Configuration Fundamentals”** in now available on Pluralsight <a href="http://www.pluralsight.com/courses/kubernetes-installation-configuration-fundamentals">here</a>! If you want to learn about the course, check out the trailer <a href="https://www.pluralsight.com/player?course=kubernetes-installation-configuration-fundamentals&author=anthony-nocentino&name=c841b22a-35fa-4260-b592-e1a755760ace&clip=0&mode=live">here</a> or if you want to dive right in check it out <a href="http://www.pluralsight.com/courses/kubernetes-installation-configuration-fundamentals">here</a>! This course offers practical tips from my experiences building Kubernetes Clusters 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 <a href="http://www.pluralsight.com/courses/kubernetes-installation-configuration-fundamentals">now</a>!

  The modules of the course are:

<ul>
  <li>
    **Exploring the Kubernetes Architecture** – In this module we introduce Kubernetes, deep dive into each component and its responsibility in a cluster. We also look at higher level abstractions such as Services, Controllers, and Deployments and how they can be used to ensure the desired state of an application deployed in Kubernetes
  </li>
  <li>
    **Installing and Configuring Kubernetes** – In this module, we learn several ways to install a Kubernetes cluster. We start off simple with an installation using `kubeadm`. Then we head off to the Cloud, we look at the current state of the cloud managed Kubernetes services and installation methods for each of the major cloud providers (Google, AWS, and Azure) and perform an installation using Azure Kubernetes Service (AKS) and Google Kubernetes Engine (GKE).
  </li>
  <li>
    **Working with Your Kubernetes Cluster** – In this module, we learn how to interact with our cluster. We learn how to use and configure the primary tool for communicating with Kubernetes clusters, `kubectl`. We then learn how to perform a simple application (pod) deployment both imperatively and declaratively in our Kubernetes cluster. With our cluster up and running and our first application (pod) deployed in our cluster, we will then explore the internals of our cluster, its components and resources.
  </li>
</ul>

  <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 href="http://www.pluralsight.com/courses/kubernetes-installation-configuration-fundamentals">Check out the course at Pluralsight!</a>

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

Pre-conference Workshop at SQLSaturday Chicago – 825

I’m proud to announce that I will be be presenting an all day pre-conference workshop at SQL Saturday Chicago on March 23rd 2018! 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-installation-configuration-and-application-deployment-tickets-54316807032?aff=BLOG"><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

Installing minikube on CentOS

In this blog post, I’ll show you how to install Minikube on CentOS. Minikube is a platform you can use to test kubernetes clusters on your local machine or in a virtual machine.

Let’s start off with a fresh Install of CentoOS 7 on a virtual machine using a minimal install. If you need some help getting a Linux VM us, check out my Pluralsight course here to help you with that. You will want to ensure this virtual machine has the resource you want to run the container/pods scenarios you’d like to worth with. My configuration is dual vCPU with 10GB of RAM.